Changes

Jump to navigation Jump to search
348 bytes added ,  01:42, 8 July 2020
Add EMMC_PORTSEL
Line 1: Line 1: −
These registers are used to access the system [[Flash_Filesystem|NAND]] and the inserted SD card. Both devices use the same interface.
+
These registers are used to access the system [[Flash_Filesystem|NAND]] and the inserted SD card. Both devices use the same interface. HCLK of the SDMMC controller is 67.027964 MHz (double of the DSi HCLK).
    
=Registers=
 
=Registers=
Line 14: Line 14:  
| 0x10006000
 
| 0x10006000
 
| 2
 
| 2
|
+
| Boot9, NewKernel9Loader, Process9
 
|-
 
|-
 
| style="background: green" | Yes
 
| style="background: green" | Yes
| ?
+
| EMMC_PORTSEL
 
| 0x10006002
 
| 0x10006002
 
| 2
 
| 2
|
+
| Port selection, 0 = SD card, 1 = NAND
 
|-
 
|-
 
| style="background: green" | Yes
 
| style="background: green" | Yes
Line 53: Line 53:  
|-
 
|-
 
| style="background: green" | Yes
 
| style="background: green" | Yes
| EMMC_STATUS0
+
| [[#EMMC_STATUS0|EMMC_STATUS0]]
 
| 0x1000601c
 
| 0x1000601c
 
| 2
 
| 2
Line 108: Line 108:  
|}
 
|}
   −
The IO interface for SDMC/NAND seems to be very similar to the DSi; see libnds for [https://github.com/devkitPro/libnds/blob/master/source/arm7/sdmmc.c sample code] and [https://github.com/devkitPro/libnds/blob/master/include/nds/arm7/sdmmc.h documentation], and GBATEK for [http://problemkaputt.de/gbatek.htm#dsisdmmcioportscommandparamresponsedata better documentation].
+
The IO interface for SDMC/NAND seems to be very similar to the DSi; see libnds for [https://github.com/devkitPro/libnds/blob/master/source/arm7/sdmmc.twl.c sample code] and [https://github.com/devkitPro/libnds/blob/master/include/nds/arm7/sdmmc.h documentation], and GBATEK for [http://problemkaputt.de/gbatek.htm#dsisdmmcioportscommandparamresponsedata better documentation].
    
3DS SDMC/NAND IO registers are located at 0x10006000 and apparently mirrored at 0x10007000. It seems the 0x10007000 mirror is never used on retail units.
 
3DS SDMC/NAND IO registers are located at 0x10006000 and apparently mirrored at 0x10007000. It seems the 0x10007000 mirror is never used on retail units.
Line 125: Line 125:  
|-
 
|-
 
| 5
 
| 5
| SD card insertion status (?) (0 = missing, 1 = inserted)
+
| SD card insertion status (0 = missing, 1 = inserted)
 
|-
 
|-
 
|}
 
|}
 +
 +
===SD card insertion status===
 +
Assertion happens around 250 ms after SD card insertion and/or enabling the EMMC hardware (delay could possibly be due to an SD bus timeout?).
20

edits

Navigation menu