SD/MMC/SDIO Registers: Difference between revisions
No edit summary |
|||
| 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 == | ||