modified on 30 September 2014 at 19:17 ••• 6,554 views

IO Registers

From 3dbrew

(Redirected from IO)
Jump to: navigation, search

[edit] Overview

A9/A11 Category Physical address start Used by Comments
A9 CONFIG Registers 0x10000000 Boot9, Process9
A9 IRQ Registers 0x10001000 Boot9, Process9, Kernel9
A9 NDMA Registers 0x10002000 Boot9, Process9
A9 TIMER Registers 0x10003000 Boot9, Process9
A9 CTRCARD Registers 0x10004000 / 0x10005000 Process9
A9 EMMC Registers 0x10006000 / 0x10007000 Boot9, Process9 0x10007000 is apparently not used on retail
A9 PXI Registers 0x10008000 Boot9, Process9
A9 AES Registers 0x10009000 Boot9, Process9
A9 SHA Registers 0x1000A000 Boot9, Process9
A9 RSA Registers 0x1000B000 Boot9, Process9
A9 XDMA Registers 0x1000C000 Boot9, Kernel9 CoreLinkā„¢ DMA-330. Info
A9 SPICARD Registers 0x1000D800 Process9
 ? CONFIG Registers 0x10010000 Process9
 ? CONFIG Registers 0x10011000 Process9
 ?  ? 0x10012000
 ?  ? 0x10018000 TwlProcess9
 ? 0x10100000
A11/A9 HASH Registers 0x10101000 Filesystem services
A11/A9  ? 0x10102000
A11/A9 CSND Registers / DSP 0x10103000 TwlBg, Codec Services, CSND Services, DSP Services
A11/A9  ? 0x10110000
A11/A9  ? 0x10111000 TwlBg
A11/A9  ? 0x10120000
A11/A9  ? 0x10121000 Mirror of 0x10120000?
A11/A9  ? 0x10122000 NWM Services
A11/A9  ? 0x10123000 NWM Services
A11/A9 DSP 0x10140000 Process9, Boot11, Kernel11, TwlBg, DSP Services, NWM Services, SPI Services
A11/A9 PDN Registers / CODEC Registers 0x10141000 Process9, Boot11, Kernel11, TwlBg, Codec Services, NWM Services, SPI Services
A11/A9 SPI Registers 0x10142000 TwlBg, SPI Services
A11/A9 SPI Registers 0x10143000 TwlBg Only used under TWL_FIRM?
A11/A9 I2C Registers 0x10144000 Boot11, Kernel11, TwlBg, I2C Services
A11/A9 CODEC Registers 0x10145000 TwlBg, Codec Services
A11/A9 HID Registers 0x10146000 Boot11, Kernel11, TwlBg, HID Services See PAD.
A11/A9 GPIO Registers 0x10147000 Boot11, TwlBg, GPIO Services
A11/A9 I2C Registers 0x10148000 TwlBg, I2C Services
A11/A9 SPI Registers 0x10160000 Boot9, TwlBg, SPI Services
A11/A9 I2C Registers 0x10161000 Boot11, TwlBg, I2C Services
A11/A9 MIC Registers 0x10162000 MIC Services
A11/A9 PXI Registers 0x10163000 Boot11, Kernel11, TwlBg, PXI Services
A11/A9 NTRCARD Registers 0x10164000 Boot9, Process9
A11/A9 MP Registers 0x10165000 MP Services
A11/A9 MP Registers 0x10170000 / 0x10171000 MP Services Mirrored?
A11/A9  ? 0x10172000
A11/A9  ? 0x10173000
A11/A9 MP Registers 0x10174000 MP Services
A11/A9 MP Registers 0x10176000 / 0x10177000 Mirrored. Same as 0x10170000.
A11/A9 MP Registers 0x10178000 - 0x10180000 MP Services Mirror of 0x10170000-0x10178000.
A11 CDMA 0x10200000 Boot11, Kernel11 CoreLinkā„¢ DMA-330. Info
A11  ? 0x10202000 TwlBg, Kernel11, GSP Services
A11 DSP 0x10203000
A11 GPU? 0x1020F000 TwlBg, GSP Services
A11 HASH Registers 0x10301000 Filesystem services
A11  ? 0x10322000 NWM Services
A11  ? 0x10323000 NWM Services
A11 LCD Registers 0x10400000 Boot11, Kernel11, GSP Services
A11 LCD Registers 0x10420000 GSP Services

IO registers starting at physical address 0x10200000 are not accessible from the ARM9(which includes all LCD/GPU registers).

ARM11 kernel virtual address mappings for these registers varies for different builds.