Difference between revisions of "IO Registers"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
+ | ! A9/A11 | ||
! Category | ! Category | ||
! Physical address start | ! Physical address start | ||
Line 7: | Line 8: | ||
! Comments | ! Comments | ||
|- | |- | ||
+ | | A9 | ||
| [[CONFIG Registers]] | | [[CONFIG Registers]] | ||
| 0x10000000 | | 0x10000000 | ||
Line 12: | Line 14: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[IRQ Registers]] | | [[IRQ Registers]] | ||
| 0x10001000 | | 0x10001000 | ||
Line 17: | Line 20: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[NDMA Registers]] | | [[NDMA Registers]] | ||
| 0x10002000 | | 0x10002000 | ||
Line 22: | Line 26: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[TIMER Registers]] | | [[TIMER Registers]] | ||
| 0x10003000 | | 0x10003000 | ||
Line 27: | Line 32: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[CTRCARD Registers]] | | [[CTRCARD Registers]] | ||
| 0x10004000 / 0x10005000 | | 0x10004000 / 0x10005000 | ||
Line 32: | Line 38: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[EMMC Registers]] | | [[EMMC Registers]] | ||
| 0x10006000 / 0x10007000 | | 0x10006000 / 0x10007000 | ||
Line 37: | Line 44: | ||
| 0x10007000 is apparently not used on retail | | 0x10007000 is apparently not used on retail | ||
|- | |- | ||
+ | | A9 | ||
| [[PXI Registers]] | | [[PXI Registers]] | ||
| 0x10008000 | | 0x10008000 | ||
Line 42: | Line 50: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[AES Registers]] | | [[AES Registers]] | ||
| 0x10009000 | | 0x10009000 | ||
Line 47: | Line 56: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[SHA Registers]] | | [[SHA Registers]] | ||
| 0x1000A000 | | 0x1000A000 | ||
Line 52: | Line 62: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[RSA Registers]] | | [[RSA Registers]] | ||
| 0x1000B000 | | 0x1000B000 | ||
Line 57: | Line 68: | ||
| | | | ||
|- | |- | ||
+ | | A9 | ||
| [[XDMA Registers]] | | [[XDMA Registers]] | ||
| 0x1000C000 | | 0x1000C000 | ||
Line 62: | Line 74: | ||
| CoreLink™ DMA-330. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html Info] | | CoreLink™ DMA-330. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html Info] | ||
|- | |- | ||
+ | | A9 | ||
| [[SPICARD Registers]] | | [[SPICARD Registers]] | ||
| 0x1000D800 | | 0x1000D800 | ||
Line 67: | Line 80: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | ? | ||
| [[CONFIG Registers]] | | [[CONFIG Registers]] | ||
| 0x10010000 | | 0x10010000 | ||
Line 72: | Line 86: | ||
| | | | ||
|- | |- | ||
+ | | ? | ||
| [[CONFIG Registers]] | | [[CONFIG Registers]] | ||
| 0x10011000 | | 0x10011000 | ||
Line 77: | Line 92: | ||
| | | | ||
|- | |- | ||
+ | | ? | ||
| ? | | ? | ||
| 0x10012000 | | 0x10012000 | ||
Line 82: | Line 98: | ||
| | | | ||
|- | |- | ||
+ | | ? | ||
| ? | | ? | ||
| 0x10018000 | | 0x10018000 | ||
Line 92: | Line 109: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[HASH Registers]] | | [[HASH Registers]] | ||
| 0x10101000 | | 0x10101000 | ||
Line 97: | Line 115: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| ? | | ? | ||
| 0x10102000 | | 0x10102000 | ||
Line 102: | Line 121: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[CSND Registers]] / DSP | | [[CSND Registers]] / DSP | ||
| 0x10103000 | | 0x10103000 | ||
Line 112: | Line 132: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| ? | | ? | ||
| 0x10111000 | | 0x10111000 | ||
Line 117: | Line 138: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | A11/A9 | ||
| DSP | | DSP | ||
| 0x10140000 | | 0x10140000 | ||
Line 122: | Line 144: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[PDN Registers]] / [[CODEC Registers]] | | [[PDN Registers]] / [[CODEC Registers]] | ||
| 0x10141000 | | 0x10141000 | ||
Line 127: | Line 150: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[SPI Registers]] | | [[SPI Registers]] | ||
| 0x10142000 | | 0x10142000 | ||
Line 132: | Line 156: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[SPI Registers]] | | [[SPI Registers]] | ||
| 0x10143000 | | 0x10143000 | ||
Line 137: | Line 162: | ||
| Only used under TWL_FIRM? | | Only used under TWL_FIRM? | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[I2C Registers]] | | [[I2C Registers]] | ||
| 0x10144000 | | 0x10144000 | ||
Line 142: | Line 168: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[CODEC Registers]] | | [[CODEC Registers]] | ||
| 0x10145000 | | 0x10145000 | ||
Line 147: | Line 174: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[HID Registers]] | | [[HID Registers]] | ||
| 0x10146000 | | 0x10146000 | ||
Line 152: | Line 180: | ||
| See [[PAD]]. | | See [[PAD]]. | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[GPIO Registers]] | | [[GPIO Registers]] | ||
| 0x10147000 | | 0x10147000 | ||
Line 157: | Line 186: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[I2C Registers]] | | [[I2C Registers]] | ||
| 0x10148000 | | 0x10148000 | ||
Line 162: | Line 192: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | A11/A9 | ||
| [[SPI Registers]] | | [[SPI Registers]] | ||
| 0x10160000 | | 0x10160000 | ||
Line 167: | Line 198: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[I2C Registers]] | | [[I2C Registers]] | ||
| 0x10161000 | | 0x10161000 | ||
Line 172: | Line 204: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[MIC Registers]] | | [[MIC Registers]] | ||
| 0x10162000 | | 0x10162000 | ||
Line 177: | Line 210: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[PXI Registers]] | | [[PXI Registers]] | ||
| 0x10163000 | | 0x10163000 | ||
Line 182: | Line 216: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[NTRCARD Registers]] | | [[NTRCARD Registers]] | ||
| 0x10164000 | | 0x10164000 | ||
Line 187: | Line 222: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
| 0x10165000 | | 0x10165000 | ||
Line 192: | Line 228: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
| 0x10170000 / 0x10171000 | | 0x10170000 / 0x10171000 | ||
Line 197: | Line 234: | ||
| Mirrored? | | Mirrored? | ||
|- | |- | ||
+ | | A11/A9 | ||
| ? | | ? | ||
| 0x10172000 | | 0x10172000 | ||
Line 202: | Line 240: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| ? | | ? | ||
| 0x10173000 | | 0x10173000 | ||
Line 207: | Line 246: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
| 0x10174000 | | 0x10174000 | ||
Line 212: | Line 252: | ||
| | | | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
| 0x10176000 / 0x10177000 | | 0x10176000 / 0x10177000 | ||
Line 217: | Line 258: | ||
| Mirrored. Same as 0x10170000. | | Mirrored. Same as 0x10170000. | ||
|- | |- | ||
+ | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
| 0x10178000 - 0x10180000 | | 0x10178000 - 0x10180000 | ||
Line 222: | Line 264: | ||
| Mirror of 0x10170000-0x10178000. | | Mirror of 0x10170000-0x10178000. | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | A11 | ||
| CDMA | | CDMA | ||
| 0x10200000 | | 0x10200000 | ||
Line 227: | Line 270: | ||
| CoreLink™ DMA-330. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html Info] | | CoreLink™ DMA-330. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html Info] | ||
|- | |- | ||
+ | | A11 | ||
| ? | | ? | ||
| 0x10202000 | | 0x10202000 | ||
Line 232: | Line 276: | ||
| | | | ||
|- | |- | ||
+ | | A11 | ||
| DSP | | DSP | ||
| 0x10203000 | | 0x10203000 | ||
Line 237: | Line 282: | ||
| | | | ||
|- | |- | ||
+ | | A11 | ||
| GPU? | | GPU? | ||
| 0x1020F000 | | 0x1020F000 | ||
Line 242: | Line 288: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | A11 | ||
| [[HASH Registers]] | | [[HASH Registers]] | ||
| 0x10301000 | | 0x10301000 | ||
Line 247: | Line 294: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | A11 | ||
| [[LCD Registers]] | | [[LCD Registers]] | ||
| 0x10400000 | | 0x10400000 | ||
Line 252: | Line 300: | ||
| | | | ||
|- | |- | ||
− | | | + | | A11 |
+ | | [[LCD Registers]] | ||
| 0x10420000 | | 0x10420000 | ||
| [[GSP Services]] | | [[GSP Services]] |
Revision as of 12:52, 28 September 2014
Overview
A9/A11 | Category | Physical address start | Used by | Comments |
---|---|---|---|---|
A9 | CONFIG Registers | 0x10000000 | Boot9 | |
A9 | IRQ Registers | 0x10001000 | Kernel9 | |
A9 | NDMA Registers | 0x10002000 | Process9 | |
A9 | TIMER Registers | 0x10003000 | 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 | Process9 | |
A9 | RSA Registers | 0x1000B000 | Boot9, Process9 | |
A9 | XDMA Registers | 0x1000C000 | Kernel9 | CoreLink™ DMA-330. Info |
A9 | SPICARD Registers | 0x1000D800 | Process9 | |
? | CONFIG Registers | 0x10010000 | Process9 | |
? | CONFIG Registers | 0x10011000 | Process9 | |
? | ? | 0x10012000 | ||
? | ? | 0x10018000 | TWL_FIRM | |
? | 0x10100000 | |||
A11/A9 | HASH Registers | 0x10101000 | ||
A11/A9 | ? | 0x10102000 | ||
A11/A9 | CSND Registers / DSP | 0x10103000 | Codec Services, CSND Services, DSP Services | |
? | 0x10110000 | |||
A11/A9 | ? | 0x10111000 | TwlBg | |
A11/A9 | DSP | 0x10140000 | Process9, Kernel11, DSP Services | |
A11/A9 | PDN Registers / CODEC Registers | 0x10141000 | Process9, Kernel11, Codec Services | |
A11/A9 | SPI Registers | 0x10142000 | ||
A11/A9 | SPI Registers | 0x10143000 | Only used under TWL_FIRM? | |
A11/A9 | I2C Registers | 0x10144000 | Kernel11, I2C Services | |
A11/A9 | CODEC Registers | 0x10145000 | Codec Services | |
A11/A9 | HID Registers | 0x10146000 | Kernel11, HID Services | See PAD. |
A11/A9 | GPIO Registers | 0x10147000 | GPIO Services | |
A11/A9 | I2C Registers | 0x10148000 | I2C Services | |
A11/A9 | SPI Registers | 0x10160000 | ||
A11/A9 | I2C Registers | 0x10161000 | I2C Services | |
A11/A9 | MIC Registers | 0x10162000 | MIC Services | |
A11/A9 | PXI Registers | 0x10163000 | Boot11, Kernel11 | |
A11/A9 | NTRCARD Registers | 0x10164000 | Process9 | |
A11/A9 | MP Registers | 0x10165000 | ||
A11/A9 | MP Registers | 0x10170000 / 0x10171000 | Mirrored? | |
A11/A9 | ? | 0x10172000 | ||
A11/A9 | ? | 0x10173000 | ||
A11/A9 | MP Registers | 0x10174000 | ||
A11/A9 | MP Registers | 0x10176000 / 0x10177000 | Mirrored. Same as 0x10170000. | |
A11/A9 | MP Registers | 0x10178000 - 0x10180000 | Mirror of 0x10170000-0x10178000. | |
A11 | CDMA | 0x10200000 | Kernel11 | CoreLink™ DMA-330. Info |
A11 | ? | 0x10202000 | Kernel11, GSP Services | |
A11 | DSP | 0x10203000 | ||
A11 | GPU? | 0x1020F000 | GSP Services | |
A11 | HASH Registers | 0x10301000 | ||
A11 | LCD Registers | 0x10400000 | 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.