NDMA Registers: Difference between revisions

No edit summary
Add device to device modes
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
3DS NDMA has 8 channels. The first 0x100-bytes of this IO mem is mirrored at 0x10002100, repeated every 0x100-bytes until the end of the 0x1000-byte IO mem. NDMA can access the (unprotected) part of the bootrom.
3DS NDMA has 8 channels. The first 0x100-bytes of this IO mem is mirrored at 0x10002100, repeated every 0x100-bytes until the end of the 0x1000-byte IO mem. NDMA can access the Arm9 bootrom, including the protected part before it is locked out.


= Registers =
= Registers =
Line 136: Line 136:
!  Bit
!  Bit
!  Description
!  Description
|-
|  4-0
|  Device to device startup mode
|-
|-
|  11-10
|  11-10
Line 168: Line 171:
|}
|}


== Startup modes (27-24) ==
== Startup modes (4-0) ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Value
!  Value
Line 174: Line 177:
|-
|-
| 0
| 0
| TIMER0?
| TIMER0
|-
|-
| 1
| 1
| TIMER1?
| TIMER1
|-
|-
| 2
| 2
| TIMER2?
| TIMER2
|-
|-
| 3
| 3
| TIMER3?
| TIMER3
|-
|-
| 4
| 4
Line 192: Line 195:
|-
|-
| 6
| 6
| ?
| SDIO1
|-
|-
| 7
| 7
| EMMC
| SDIO3
|-
|-
| 8
| 8
| AES WD FREE
| AES in ([[AES_Registers#AES_WRFIFO.2FAES_RDFIFO|WRFIFO]])
|-
|-
| 9
| 9
| AES RD FREE
| AES out ([[AES_Registers#AES_WRFIFO.2FAES_RDFIFO|RDFIFO]])
|-
|-
| 10
| 10
| SHA
| SHA in ([[SHA_Registers#SHA_FIFO|INFIFO]])
|-
|-
| 11
| 11
| ?
| SHA out ([[SHA_Registers#SHA_FIFO|INFIFO]], source data readback mode)
|-
|-
| 12
| 12
| ?
| NTRCARD
|-
|-
| 13
| 13
Line 219: Line 222:
|-
|-
| 15
| 15
| AES + SHA COMBINED?
| Device to device (subclassed by bits 4-0)
|}
 
== Device to device startup modes (4-0) ==
{| class="wikitable" border="1"
!  Value
!  Description
|-
| 0
| CTRCARD0 -> AES
|-
| 1
| CTRCARD1 -> AES
|-
| 2
| AES -> CTRCARD0
|-
| 3
| AES -> CTRCARD1
|-
| 4
| CTRCARD0 -> SHA
|-
| 5
| CTRCARD1 -> SHA
|-
| 6
| SHA -> CTRCARD0
|-
| 7
| SHA -> CTRCARD1
|-
| 8
| SDIO1 -> AES
|-
| 9
| SDIO3 -> AES
|-
| 10
| AES -> SDIO1
|-
| 11
| AES -> SDIO3
|-
| 12
| SDIO1 -> SHA
|-
| 13
| SDIO3 -> SHA
|-
| 14
| SHA -> SDIO1
|-
| 15
| SHA -> SDIO3
|-
| 16
| AES -> SHA
|-
| 17
| SHA -> AES
|}
|}