SWRU626 December 2025 CC3501E , CC3551E
This device contains one instance of the Secure Digital Multimedia Card (SDMMC) high speed interface. The controller provides an interface to a SD memory card.
The application interface is responsible for managing transaction semantics; the SDMMC host controller deals with SD protocol at transmission level, packing data, adding CRC, start/end bit and checking for syntactical correctness.
The general connectivity attributes for the three MMCHS modules are shown in Table 20-1.
| Attributes | Type |
|---|---|
| Power Domain | Host Domain |
| Clock Domain | Peripherals clock |
| Reset Signals | Host_rstn |
| Interrupt Requests | 1 interrupt per instance to Host MCU |
| DMA Requests | 2 DMA requests per instance to single DMA channel (RX and TX request) |
The SDMMC interface pins are summarized in Table 20-2.
| Pin | Type | Description |
|---|---|---|
| SDMMC_CLK | I/O(1) | SD serial clock input |
| SDMMC_CMD | I/O | SD command signal |
| SDMMC_DAT0 | I/O | SD data signal |
| SDMMC_DAT1 | I/O | SD data signal |
| SDMMC_DAT2 | I/O | SD data signal |
| SDMMC_DAT3 | I/O | SD data signal |
| SDMMC_POW | O | SD power supply control |
| SDMMC_CD | I | SD card detect (from connector) |
| SDMMC_WP | I | SD write protect (from connector) |
The direction of the data lines depends on the selected data transfer mode as summarized in Table 20-3.
| SD 1-bit mode | SD 4-bit mode | |
|---|---|---|
| DAT[0] | I/O | I/O |
| DAT[1] | I(1) | I/O |
| DAT[2] | I(1) | I/O |
| DAT[3] | I(1) | I/O |
The direction of the SDMMC data buffers are controlled by ADPDATDIROQ signals. ADPDATDIROQ[i] =1 sets the corresponding DAT signal(s) in read position (input) and ADPDATDIROQ[i] = 0 sets thecorresponding DAT signal(s) in write position (output). Additionally, the ADPDATDIRLS signals areprovided (with opposite polarity) to control the direction of external level shifters. The value of thesecontrol signals for the various data modes are summarized in Table 20-4.
| SD 1-bit mode | SD 4-bit mode | |
|---|---|---|
| DAT[0] | ADPDATDIRLS[0] =0 / 1 ADPDATDIROQ[0]= 1 / 0 | ADPDATDIRLS[0] =0 / 1 ADPDATDIROQ[0]= 1 / 0 |
| DAT[2] | ADPDATDIRLS[2] =0 ADPDATDIROQ[2]= 1 | ADPDATDIRLS[2] =0 / 1 ADPDATDIROQ[2]= 1 / 0 |
| DAT[1] | ADPDATDIRLS[1] =0 ADPDATDIROQ[1]= 1 | ADPDATDIRLS[1] =0 / 1 ADPDATDIROQ[1]= 1 / 0 |
| DAT[3] |