Hardware Mapping

From Pyra Wiki
Revision as of 07:29, 4 March 2017 by Seijuro (talk | contribs) (Add notes about inconsistency)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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