Hardware Mapping
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