Difference between revisions of "IO Registers"

From 3dbrew
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 22: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.