Difference between revisions of "EMMC Registers"
Jump to navigation
Jump to search
WulfyStylez (talk | contribs) |
|||
Line 1: | Line 1: | ||
+ | =Registers= | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
− | ! | + | ! Old3DS |
− | ! | + | ! Name |
− | ! | + | ! Address |
+ | ! Width | ||
+ | ! Used by | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_CMD | ||
| 0x10006000 | | 0x10006000 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | ? | ||
| 0x10006002 | | 0x10006002 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_CMDARG0 | ||
| 0x10006004 | | 0x10006004 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_CMDARG1 | ||
| 0x10006006 | | 0x10006006 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_STOP | ||
| 0x10006008 | | 0x10006008 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_BLKCOUNT | ||
| 0x1000600a | | 0x1000600a | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_RESP0-7 | ||
| 0x1000600c | | 0x1000600c | ||
| 2*8 | | 2*8 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_STATUS0 | ||
| 0x1000601c | | 0x1000601c | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_STATUS1 | ||
| 0x1000601e | | 0x1000601e | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | ? | ||
| 0x10006020 | | 0x10006020 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | ? | ||
| 0x10006022 | | 0x10006022 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_CLKCTL | ||
| 0x10006024 | | 0x10006024 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_BLKLEN | ||
| 0x10006026 | | 0x10006026 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_OPT | ||
| 0x10006028 | | 0x10006028 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_FIFO | ||
| 0x10006030 | | 0x10006030 | ||
| 2 | | 2 | ||
+ | | | ||
|- | |- | ||
− | | | + | | style="background: green" | Yes |
+ | | EMMC_RESET | ||
| 0x100060E0 | | 0x100060E0 | ||
| 2 | | 2 | ||
+ | | | ||
|} | |} | ||
Revision as of 22:49, 19 March 2015
Registers
Old3DS | Name | Address | Width | Used by |
---|---|---|---|---|
Yes | EMMC_CMD | 0x10006000 | 2 | |
Yes | ? | 0x10006002 | 2 | |
Yes | EMMC_CMDARG0 | 0x10006004 | 2 | |
Yes | EMMC_CMDARG1 | 0x10006006 | 2 | |
Yes | EMMC_STOP | 0x10006008 | 2 | |
Yes | EMMC_BLKCOUNT | 0x1000600a | 2 | |
Yes | EMMC_RESP0-7 | 0x1000600c | 2*8 | |
Yes | EMMC_STATUS0 | 0x1000601c | 2 | |
Yes | EMMC_STATUS1 | 0x1000601e | 2 | |
Yes | ? | 0x10006020 | 2 | |
Yes | ? | 0x10006022 | 2 | |
Yes | EMMC_CLKCTL | 0x10006024 | 2 | |
Yes | EMMC_BLKLEN | 0x10006026 | 2 | |
Yes | EMMC_OPT | 0x10006028 | 2 | |
Yes | EMMC_FIFO | 0x10006030 | 2 | |
Yes | EMMC_RESET | 0x100060E0 | 2 |
The IO interface for SDMC/NAND seems to be very similar to the DSi; see libnds for sample code and 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.