Difference between revisions of "IO Registers"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
+ | ! Old3DS | ||
! A9/A11 | ! A9/A11 | ||
! Category | ! Category | ||
Line 8: | Line 9: | ||
! Comments | ! Comments | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[CONFIG Registers]] | | [[CONFIG Registers]] | ||
Line 14: | Line 16: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[IRQ Registers]] | | [[IRQ Registers]] | ||
Line 20: | Line 23: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[NDMA Registers]] | | [[NDMA Registers]] | ||
Line 26: | Line 30: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[TIMER Registers]] | | [[TIMER Registers]] | ||
Line 32: | Line 37: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[CTRCARD Registers]] | | [[CTRCARD Registers]] | ||
Line 38: | Line 44: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[EMMC Registers]] | | [[EMMC Registers]] | ||
Line 44: | Line 51: | ||
| 0x10007000 is apparently not used on retail | | 0x10007000 is apparently not used on retail | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[PXI Registers]] | | [[PXI Registers]] | ||
Line 50: | Line 58: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[AES Registers]] | | [[AES Registers]] | ||
Line 56: | Line 65: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[SHA Registers]] | | [[SHA Registers]] | ||
Line 62: | Line 72: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[RSA Registers]] | | [[RSA Registers]] | ||
Line 68: | Line 79: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[XDMA Registers]] | | [[XDMA Registers]] | ||
Line 74: | Line 86: | ||
| 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] | ||
|- | |- | ||
+ | | Yes | ||
| A9 | | A9 | ||
| [[SPICARD Registers]] | | [[SPICARD Registers]] | ||
Line 80: | Line 93: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| ? | | ? | ||
| [[CONFIG Registers]] | | [[CONFIG Registers]] | ||
Line 86: | Line 100: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| ? | | ? | ||
| [[CONFIG Registers]] | | [[CONFIG Registers]] | ||
Line 92: | Line 107: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| ? | | ? | ||
| ? | | ? | ||
| 0x10012000 | | 0x10012000 | ||
− | | | + | | NewProcess9 |
| | | | ||
|- | |- | ||
+ | | Yes | ||
| ? | | ? | ||
| ? | | ? | ||
Line 104: | Line 121: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| ? | | ? | ||
| | | | ||
Line 110: | Line 128: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[HASH Registers]] | | [[HASH Registers]] | ||
Line 116: | Line 135: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| ? | | ? | ||
Line 122: | Line 142: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[CSND Registers]] / DSP | | [[CSND Registers]] / DSP | ||
Line 128: | Line 149: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| ? | | ? | ||
Line 134: | Line 156: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| ? | | ? | ||
Line 140: | Line 163: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| ? | | ? | ||
Line 147: | Line 171: | ||
|- | |- | ||
| A11/A9 | | A11/A9 | ||
+ | | Yes | ||
| ? | | ? | ||
| 0x10121000 | | 0x10121000 | ||
Line 152: | Line 177: | ||
| Mirror of 0x10120000? | | Mirror of 0x10120000? | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| ? | | ? | ||
Line 158: | Line 184: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| ? | | ? | ||
Line 164: | Line 191: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | ? | ||
| A11/A9 | | A11/A9 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 170: | Line 198: | ||
| New3DS only? | | New3DS only? | ||
|- | |- | ||
+ | | ? | ||
| A11/A9 | | A11/A9 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 176: | Line 205: | ||
| New3DS only? | | New3DS only? | ||
|- | |- | ||
+ | | ? | ||
| A11/A9 | | A11/A9 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 182: | Line 212: | ||
| New3DS only? | | New3DS only? | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| | | | ||
Line 188: | Line 219: | ||
| Power management | | Power management | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[PDN Registers]] / [[CODEC Registers]] | | [[PDN Registers]] / [[CODEC Registers]] | ||
Line 194: | Line 226: | ||
| Power management | | Power management | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[SPI Registers]] | | [[SPI Registers]] | ||
Line 200: | Line 233: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[SPI Registers]] | | [[SPI Registers]] | ||
Line 206: | Line 240: | ||
| Only used under TWL_FIRM? | | Only used under TWL_FIRM? | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[I2C Registers]] | | [[I2C Registers]] | ||
Line 212: | Line 247: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[CODEC Registers]] | | [[CODEC Registers]] | ||
Line 218: | Line 254: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[HID Registers]] | | [[HID Registers]] | ||
Line 224: | Line 261: | ||
| See [[PAD]]. | | See [[PAD]]. | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[GPIO Registers]] | | [[GPIO Registers]] | ||
Line 230: | Line 268: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[I2C Registers]] | | [[I2C Registers]] | ||
Line 236: | Line 275: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[SPI Registers]] | | [[SPI Registers]] | ||
Line 242: | Line 282: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[I2C Registers]] | | [[I2C Registers]] | ||
Line 248: | Line 289: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MIC Registers]] | | [[MIC Registers]] | ||
Line 254: | Line 296: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[PXI Registers]] | | [[PXI Registers]] | ||
Line 260: | Line 303: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[NTRCARD Registers]] | | [[NTRCARD Registers]] | ||
Line 266: | Line 310: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 272: | Line 317: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 278: | Line 324: | ||
| NTR WIFI Registers, see [http://problemkaputt.de/gbatek.htm#dswirelesscommunications GBATek]. | | NTR WIFI Registers, see [http://problemkaputt.de/gbatek.htm#dswirelesscommunications GBATek]. | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 284: | Line 331: | ||
| NTR WIFI Registers (mirror) | | NTR WIFI Registers (mirror) | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| | | | ||
Line 290: | Line 338: | ||
| NTR WIFI Unused? | | NTR WIFI Unused? | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| | | | ||
Line 296: | Line 345: | ||
| NTR WIFI Unused? | | NTR WIFI Unused? | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 302: | Line 352: | ||
| NTR WIFI RAM | | NTR WIFI RAM | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 308: | Line 359: | ||
| NTR WIFI RAM | | NTR WIFI RAM | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 314: | Line 366: | ||
| NTR WIFI Registers (mirror) | | NTR WIFI Registers (mirror) | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 320: | Line 373: | ||
| NTR WIFI Registers (mirror) | | NTR WIFI Registers (mirror) | ||
|- | |- | ||
+ | | Yes | ||
| A11/A9 | | A11/A9 | ||
| [[MP Registers]] | | [[MP Registers]] | ||
Line 326: | Line 380: | ||
| Wifi WS1 Region | | Wifi WS1 Region | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11 | | A11 | ||
| CDMA | | CDMA | ||
Line 332: | Line 387: | ||
| 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] | ||
|- | |- | ||
+ | | Yes | ||
| A11 | | A11 | ||
| ? | | ? | ||
Line 338: | Line 394: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11 | | A11 | ||
| DSP | | DSP | ||
Line 344: | Line 401: | ||
| | | | ||
|- | |- | ||
+ | | ? | ||
| A11 | | A11 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 350: | Line 408: | ||
| New3DS only? | | New3DS only? | ||
|- | |- | ||
+ | | Yes | ||
| A11 | | A11 | ||
| GPU? | | GPU? | ||
Line 356: | Line 415: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11 | | A11 | ||
| [[HASH Registers]] | | [[HASH Registers]] | ||
Line 362: | Line 422: | ||
| | | | ||
|- | |- | ||
+ | | ? | ||
| A11 | | A11 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 368: | Line 429: | ||
| New3DS only? | | New3DS only? | ||
|- | |- | ||
+ | | ? | ||
| A11 | | A11 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 374: | Line 436: | ||
| New3DS only? | | New3DS only? | ||
|- | |- | ||
+ | | ? | ||
| A11 | | A11 | ||
| [[MVD Registers]] | | [[MVD Registers]] | ||
Line 380: | Line 443: | ||
| New3DS only? | | New3DS only? | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11 | | A11 | ||
| ? | | ? | ||
Line 386: | Line 450: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11 | | A11 | ||
| ? | | ? | ||
Line 392: | Line 457: | ||
| | | | ||
|-style="border-top: double" | |-style="border-top: double" | ||
+ | | Yes | ||
| A11 | | A11 | ||
| [[LCD Registers]] | | [[LCD Registers]] | ||
Line 398: | Line 464: | ||
| | | | ||
|- | |- | ||
+ | | Yes | ||
| A11 | | A11 | ||
| [[LCD Registers]] | | [[LCD Registers]] | ||
Line 403: | Line 470: | ||
| [[GSP Services]] | | [[GSP Services]] | ||
| | | | ||
− | |||
|} | |} | ||
Revision as of 21:30, 7 October 2014
Overview
Old3DS | A9/A11 | Category | Physical address start | Used by | Comments |
---|---|---|---|---|---|
Yes | A9 | CONFIG Registers | 0x10000000 | Boot9, Process9 | |
Yes | A9 | IRQ Registers | 0x10001000 | Boot9, Process9, Kernel9 | |
Yes | A9 | NDMA Registers | 0x10002000 | Boot9, Process9 | |
Yes | A9 | TIMER Registers | 0x10003000 | Boot9, Process9 | |
Yes | A9 | CTRCARD Registers | 0x10004000 / 0x10005000 | Process9 | |
Yes | A9 | EMMC Registers | 0x10006000 / 0x10007000 | Boot9, Process9 | 0x10007000 is apparently not used on retail |
Yes | A9 | PXI Registers | 0x10008000 | Boot9, Process9 | |
Yes | A9 | AES Registers | 0x10009000 | Boot9, Process9 | |
Yes | A9 | SHA Registers | 0x1000A000 | Boot9, Process9 | |
Yes | A9 | RSA Registers | 0x1000B000 | Boot9, Process9 | |
Yes | A9 | XDMA Registers | 0x1000C000 | Boot9, Kernel9 | CoreLink™ DMA-330. Info |
Yes | A9 | SPICARD Registers | 0x1000D800 | Process9 | |
Yes | ? | CONFIG Registers | 0x10010000 | Process9 | |
Yes | ? | CONFIG Registers | 0x10011000 | Process9 | |
Yes | ? | ? | 0x10012000 | NewProcess9 | |
Yes | ? | ? | 0x10018000 | TwlProcess9 | |
Yes | ? | 0x10100000 | |||
Yes | A11/A9 | HASH Registers | 0x10101000 | Filesystem services | |
Yes | A11/A9 | ? | 0x10102000 | ||
Yes | A11/A9 | CSND Registers / DSP | 0x10103000 | TwlBg, Codec Services, CSND Services, DSP Services | |
Yes | A11/A9 | ? | 0x10110000 | ||
Yes | A11/A9 | ? | 0x10111000 | TwlBg | |
Yes | A11/A9 | ? | 0x10120000 | ||
A11/A9 | Yes | ? | 0x10121000 | Mirror of 0x10120000? | |
Yes | A11/A9 | ? | 0x10122000 | NWM Services | |
Yes | A11/A9 | ? | 0x10123000 | NWM Services | |
? | A11/A9 | MVD Registers | 0x10130000 | MVD Services | New3DS only? |
? | A11/A9 | MVD Registers | 0x10131000 | MVD Services | New3DS only? |
? | A11/A9 | MVD Registers | 0x10132000 | MVD Services | New3DS only? |
Yes | A11/A9 | 0x10140000 | Process9, Boot11, Kernel11, TwlBg, DSP Services, NWM Services, SPI Services | Power management | |
Yes | A11/A9 | PDN Registers / CODEC Registers | 0x10141000 | Process9, Boot11, Kernel11, TwlBg, Codec Services, NWM Services, SPI Services | Power management |
Yes | A11/A9 | SPI Registers | 0x10142000 | TwlBg, SPI Services | |
Yes | A11/A9 | SPI Registers | 0x10143000 | TwlBg | Only used under TWL_FIRM? |
Yes | A11/A9 | I2C Registers | 0x10144000 | Boot11, Kernel11, TwlBg, I2C Services | |
Yes | A11/A9 | CODEC Registers | 0x10145000 | TwlBg, Codec Services | |
Yes | A11/A9 | HID Registers | 0x10146000 | Boot11, Kernel11, TwlBg, HID Services | See PAD. |
Yes | A11/A9 | GPIO Registers | 0x10147000 | Boot11, TwlBg, GPIO Services | |
Yes | A11/A9 | I2C Registers | 0x10148000 | TwlBg, I2C Services | |
Yes | A11/A9 | SPI Registers | 0x10160000 | Boot9, TwlBg, SPI Services | |
Yes | A11/A9 | I2C Registers | 0x10161000 | Boot11, TwlBg, I2C Services | |
Yes | A11/A9 | MIC Registers | 0x10162000 | MIC Services | |
Yes | A11/A9 | PXI Registers | 0x10163000 | Boot11, Kernel11, TwlBg, PXI Services | |
Yes | A11/A9 | NTRCARD Registers | 0x10164000 | Boot9, Process9 | |
Yes | A11/A9 | MP Registers | 0x10165000 | MP Services | |
Yes | A11/A9 | MP Registers | 0x10170000 | MP Services | NTR WIFI Registers, see GBATek. |
Yes | A11/A9 | MP Registers | 0x10171000 | MP Services | NTR WIFI Registers (mirror) |
Yes | A11/A9 | 0x10172000 | NTR WIFI Unused? | ||
Yes | A11/A9 | 0x10173000 | NTR WIFI Unused? | ||
Yes | A11/A9 | MP Registers | 0x10174000 | MP Services | NTR WIFI RAM |
Yes | A11/A9 | MP Registers | 0x10175000 | NTR WIFI RAM | |
Yes | A11/A9 | MP Registers | 0x10176000 | NTR WIFI Registers (mirror) | |
Yes | A11/A9 | MP Registers | 0x10177000 | NTR WIFI Registers (mirror) | |
Yes | A11/A9 | MP Registers | 0x10178000 - 0x10180000 | MP Services | Wifi WS1 Region |
Yes | A11 | CDMA | 0x10200000 | Boot11, Kernel11 | CoreLink™ DMA-330. Info |
Yes | A11 | ? | 0x10202000 | TwlBg, Kernel11, GSP Services | |
Yes | A11 | DSP | 0x10203000 | ||
? | A11 | MVD Registers | 0x10207000 | MVD Services | New3DS only? |
Yes | A11 | GPU? | 0x1020F000 | TwlBg, GSP Services | |
Yes | A11 | HASH Registers | 0x10301000 | Filesystem services | |
? | A11 | MVD Registers | 0x10330000 | MVD services | New3DS only? |
? | A11 | MVD Registers | 0x10331000 | MVD services | New3DS only? |
? | A11 | MVD Registers | 0x10332000 | MVD services | New3DS only? |
Yes | A11 | ? | 0x10322000 | NWM Services | |
Yes | A11 | ? | 0x10323000 | NWM Services | |
Yes | A11 | LCD Registers | 0x10400000 | Boot11, Kernel11, GSP Services | |
Yes | 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.