IO Registers
Overview
Category | Physical address start | Used by | Comments |
---|---|---|---|
CONFIG | 0x10000000 | Boot9 | |
IRQ | 0x10001000 | Kernel9 | |
NDMA | 0x10002000 | Process9 | |
TIMER | 0x10003000 | Process9 | |
CTRCARD | 0x10004000 / 0x10005000 | Process9 | |
SDMC / NAND | 0x10006000 / 0x10007000 | Boot9, Process9 | 0x10007000 is apparently not used on retail |
PXI | 0x10008000 | Boot9 | |
AES | 0x10009000 | Boot9, Process9 | |
SHA | 0x1000A000 | Process9 | |
RSA | 0x1000B000 | Boot9, Process9 | |
XDMA | 0x1000C000 | Kernel9 | CoreLink™ DMA-330. Info |
SPICARD | 0x1000D800 | ||
CONFIG | 0x10010000 | ||
? | 0x10011000 | ||
? | 0x10012000 | ||
? | 0x10018000 | TWL_FIRM | |
? | 0x10100000 | ||
HASH | 0x10101000 | ||
? | 0x10102000 | ||
CSND / DSP | 0x10103000 | ||
? | 0x10110000 | ||
? | 0x10111000 | TwlBg | |
DSP | 0x10140000 | Kernel11 | |
PDN / CODEC | 0x10141000 | Kernel11 | |
SPI | 0x10142000 | ||
SPI | 0x10143000 | Only used under TWL_FIRM? | |
I2C | 0x10144000 | Kernel11 | |
CODEC | 0x10145000 | ||
PAD / HID / PTM | 0x10146000 | Kernel11 | |
GPIO | 0x10147000 | ||
I2C | 0x10148000 | ||
SPI | 0x10160000 | ||
I2C | 0x10161000 | ||
MIC | 0x10162000 | ||
PXI | 0x10163000 | Boot11, Kernel11 | |
NTRCARD | 0x10164000 | ||
MP | 0x10165000 | ||
MP | 0x10170000 / 0x10171000 | Mirrored? | |
? | 0x10172000 | ||
? | 0x10173000 | ||
MP | 0x10174000 | ||
MP | 0x10176000 / 0x10177000 | Mirrored. Same as 0x10170000. | |
MP | 0x10178000 - 0x10180000 | Mirror of 0x10170000-0x10178000. | |
CDMA | 0x10200000 | Kernel11 | CoreLink™ DMA-330. Info |
? | 0x10202000 | Kernel11 | |
DSP | 0x10203000 | ||
GPU? | 0x1020F000 | ||
HASH | 0x10301000 | ||
LCD | 0x10400000 | Kernel11 |
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.