Hardware Mapping: Difference between revisions - Pyra Wiki

(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


== MMCs ==
== 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)


== I2Cs ==
== 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

Back
Top