Line 1: |
Line 1: |
| SD_xxx is used to access onboard eMMC and external SD card slot (as selected via SD_CARD_PORT_SELECT).<br> | | SD_xxx is used to access onboard eMMC and external SD card slot (as selected via SD_CARD_PORT_SELECT).<br> |
| SDIO_xxx is used to access the Atheros Wifi unit. | | SDIO_xxx is used to access the Atheros Wifi unit. |
| + | |
| + | == DSi SD/MMC I/O Map == |
| + | |
| + | '''ARM7 DSi SD/MMC Registers for Memory Card access (SD Card and onboard eMMC)''' |
| + | 4004800h 2 SD_CMD Command and Response/Data Type |
| + | 4004802h 2 SD_CARD_PORT_SELECT (SD/MMC:020Fh, SDIO:010Fh) |
| + | 4004804h 4 SD_CMD_PARAM0-1 Argument (32bit, 2 halfwords) |
| + | 4004808h 2 SD_STOP_INTERNAL_ACTION |
| + | 400480Ah 2 SD_DATA16_BLK_COUNT "Transfer Block Count" |
| + | 400480Ch 16 SD_RESPONSE0-7 (128bit, 8 halfwords) |
| + | 400481Ch 4 SD_IRQ_STATUS0-1 ;IRQ Status (0=ack, 1=req) |
| + | 4004820h 4 SD_IRQ_MASK0-1 ;IRQ Disable (0=enable, 1=disable) |
| + | 4004824h 2 SD_CARD_CLK_CTL Card Clock Control |
| + | 4004826h 2 SD_DATA16_BLK_LEN Memory Card Transfer Data Length |
| + | 4004828h 2 SD_CARD_OPTION Memory Card Option Setup (can be C0FFh) |
| + | 400482Ah 2 Fixed always zero? |
| + | 400482Ch 4 SD_ERROR_DETAIL_STATUS0-1 Error Detail Status |
| + | 4004830h 2 SD_DATA16_FIFO Data Port (SD_FIFO?) |
| + | 4004832h 2 Fixed always zero? ;(TC6371AF:BUF1 Data MSBs?) |
| + | 4004834h 2 ? SD_TRANSACTION_CTL Transaction Control |
| + | 4004836h 2 ? SD_CARD_INTERRUPT_CONTROL ;4004A36h used in SDIO IRQ handler |
| + | 4004838h 2 ? SD_CLK_AND_WAIT_CTL ;4004A38h used in SDIO IRQ handler |
| + | 400483Ah 2 Fixed always zero? ;(SDCTL_SDIO_HOST_INFORMATION) |
| + | 400483Ch 2 Fixed always zero? ;(SDCTL_ERROR_CONTROL) |
| + | 400483Eh 2 Fixed always zero? ;(TC6387XB: LED_CONTROL) |
| + | 4004840h 2 Fixed always 003Fh? |
| + | 4004842h 2 Fixed always 002Ah? |
| + | 4004844h 6Eh Fixed always zerofilled? |
| + | 40048B2h 2 Fixed always FFFFh? |
| + | 40048B4h 6 Fixed always zerofilled? |
| + | 40048BAh 2 Fixed always 0200h? |
| + | 40048BCh 1Ch Fixed always zerofilled? |
| + | 40048D8h 2 SD_DATA_CTL |
| + | 40048DAh 6 Fixed always zerofilled? |
| + | 40048E0h 2 SD_SOFT_RESET Software Reset (bit0=SRST=0=reset) |
| + | 40048E2h 2 Fixed always 0009h? ;(RESERVED2/9, TC6371AF:CORE_REV) |
| + | 40048E4h 2 Fixed always zero? |
| + | 40048E6h 2 Fixed always zero? ;(RESERVED3, TC6371AF:BUF_ADR) |
| + | 40048E8h 2 Fixed always zero? ;(TC6371AF:Resp_Header) |
| + | 40048EAh 6 Fixed always zerofilled? |
| + | 40048F0h 2 Fixed always zero? ;(RESERVED10) |
| + | 40048F2h 2 ? Can be 0003h |
| + | 40048F4h 2 ? Can be 0770h |
| + | 40048F6h 2 ? Firmware tests bit0 (but, always 0?) (RESERVED4) |
| + | 40048F8h 2 Fixed always 0004h? (nonzero, unlike SDIO) (RESERVED5) |
| + | 40048FAh 2 ? Can be 0004h..0007h (nonzero, unlike SDIO) (RESERVED6) |
| + | 40048FCh 2 ? Can be 0024h..00FFh? (RESERVED7) |
| + | 40048FEh 2 ? Can be 0024h..00FFh? (RESERVED8 / TC6371AF:Revision) |
| + | 4004900h 2 SD_DATA32_IRQ |
| + | 4004902h 2 Fixed always zero? |
| + | 4004904h 2 SD_DATA32_BLK_LEN |
| + | 4004906h 2 Fixed always zero? |
| + | 4004908h 2 SD_DATA32_BLK_COUNT |
| + | 400490Ah 2 Fixed always zero? |
| + | 400490Ch 4 SD_DATA32_FIFO |
| + | 4004910h F0h Fixed always zerofilled? |
| + | '''ARM7 DSi SD/MMC Registers for SDIO access (for Atheros Wifi)''' |
| + | 4004A00h 200h SDIO_xxx (same as SD_xxx at 4004800h..40049FFh, see there) |
| + | 4004A02h 2 SDIO_CARD_PORT_SELECT (slightly different than 4004802h) |
| + | 4004AF8h 2 Fixed always zero? (unlike SD_xxx at 40048F8h) (RESERVED5) |
| + | 4004AFAh 2 Fixed always zero? (unlike SD_xxx at 40048FAh) (RESERVED6) |
| | | |
| == DSi SD/MMC I/O Ports: Command/Param/Response/Data == | | == DSi SD/MMC I/O Ports: Command/Param/Response/Data == |