Hardware Mapping: Difference between revisions
(Created page with "= Mapping of hardware interfaces of the OMAP = == UARTs == UART1 = n/a UART2 = Bluetooth (with RTS/CTS) UART3 = Console (FTDI) UART4 = n/a UART5 = n/a == MMCs ==...") |
(Add notes about inconsistency) |
||
Line 1: | Line 1: | ||
= Mapping of hardware interfaces of the OMAP = | = Mapping of hardware interfaces of the OMAP = | ||
Caution: TI annoyingly decided to use 1-based numbering for peripherals, even though operating systems and programmers tend to use 0-based numbering, resulting in a mess: | |||
I2C 1 -- omap5 documentation | |||
i2c dev 0 -- u-boot | |||
&i2c1 -- DT label reference | |||
"i2c1" -- DT ti,hwmods property | |||
i2c0 = &i2c1; -- DT alias definition | |||
/dev/i2c-0 -- linux device | |||
Proposal for a tiny bit of sanity: the documentation tends to use uppercase names for peripherals while software uses lowercase. Therefore use lowercase 0-based labels and uppercase 1-based labels (and avoid the latter as much as possible) ? The DT labels can be easily fixed with a big search/replace and hwmods are not something one commonly has to deal with. [[User:Zmatt|Zmatt]] ([[User talk:Zmatt|talk]]) 08:29, 4 March 2017 (CET) | |||
== UARTs == | == UARTs == | ||
Line 8: | Line 20: | ||
UART5 = n/a | UART5 = n/a | ||
== | == MMC (eMMC/SD/SDIO) == | ||
Note: for some reason the cpu board schematic uses ''yet again' a different numbering. | |||
MMC1 (sdcard @ 0x4809c000) = left SD slot (4 bit, "MMC2", mmc2-vdd) | MMC1 (sdcard @ 0x4809c000) = left SD slot (4 bit, "MMC2", mmc2-vdd) | ||
MMC2 (emmc @ 0x480b4000) = eMMC/µSD (8/4 bit, "EMMC", mmc1-vdd) | MMC2 (emmc @ 0x480b4000) = eMMC/µSD (8/4 bit, "EMMC", mmc1-vdd) | ||
MMC3 (wlsdio @ 0x480ad000) = WL183x SDIO for WLAN | MMC3 (wlsdio @ 0x480ad000) = WL183x SDIO for WLAN | ||
MMC4 (sdio4 @ 0x480d1000) = right SD slot (4 bit, "MMC3", ldo2) | MMC4 (sdio4 @ 0x480d1000) = right SD slot (4 bit, "MMC3", ldo2) | ||
MMC5 (sdio5 @ 0x480d5000) =n/a (OMAP5430 only) | MMC5 (sdio5 @ 0x480d5000) =n/a (OMAP5430 only) | ||
== | == I²C == | ||
I2C1 (0x48070000) = CPU (CPU board only) | I2C1 (0x48070000) = CPU (CPU board only) |
Latest revision as of 07:29, 4 March 2017
Mapping of hardware interfaces of the OMAP
Caution: TI annoyingly decided to use 1-based numbering for peripherals, even though operating systems and programmers tend to use 0-based numbering, resulting in a mess:
I2C 1 -- omap5 documentation i2c dev 0 -- u-boot &i2c1 -- DT label reference "i2c1" -- DT ti,hwmods property i2c0 = &i2c1; -- DT alias definition /dev/i2c-0 -- linux device
Proposal for a tiny bit of sanity: the documentation tends to use uppercase names for peripherals while software uses lowercase. Therefore use lowercase 0-based labels and uppercase 1-based labels (and avoid the latter as much as possible) ? The DT labels can be easily fixed with a big search/replace and hwmods are not something one commonly has to deal with. Zmatt (talk) 08:29, 4 March 2017 (CET)
UARTs
UART1 = n/a UART2 = Bluetooth (with RTS/CTS) UART3 = Console (FTDI) UART4 = n/a UART5 = n/a
MMC (eMMC/SD/SDIO)
Note: for some reason the cpu board schematic uses yet again' a different numbering.
MMC1 (sdcard @ 0x4809c000) = left SD slot (4 bit, "MMC2", mmc2-vdd) MMC2 (emmc @ 0x480b4000) = eMMC/µSD (8/4 bit, "EMMC", mmc1-vdd) MMC3 (wlsdio @ 0x480ad000) = WL183x SDIO for WLAN MMC4 (sdio4 @ 0x480d1000) = right SD slot (4 bit, "MMC3", ldo2) MMC5 (sdio5 @ 0x480d5000) =n/a (OMAP5430 only)
I²C
I2C1 (0x48070000) = CPU (CPU board only) I2C2 (0x48072000) = Peripheral (Mainboard) I2C3 (0x48060000) = Sensor (Mainboard) I2C4 (0x4807a000) = Display (Displayboard) I2C5 (0x4807c000) = System (Mainboard)
add table here with chips and addresses
USB HSIC2
USB1 = left USB Host USB2 = right USB Host USB3 = WWAN
GPIOs
add table here with exact function, pinmux modes, connector pin numbers