UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2012. All rights reserved.
User manual
Rev. 1.3 — 6 July 2012
463 of 1269
NXP Semiconductors
UM10503
Chapter 20: LPC43xx SD/MMC interface
20.7.6.6 Transmission
The SD/MMC transmission occurs as follows:
1. The Host sets up the Descriptor (DES0-DES3) for transmission and sets the OWN bit
(DES0[31]). The Host also prepares the data buffer.
2. The Host programs the write data command in the CMD register in BIU.
3. The Host will also program the required transmit threshold level (TX_WMark field in
FIFOTH register).
4. The SD/MMC DMA determines that a write data transfer needs to be done as a
consequence of step 2.
5. The SD/MMC DMA engine fetches the descriptor and checks the OWN bit. If the
OWN bit is not set, it means that the host owns the descriptor. In this case the
SD/MMC DMA enters suspend state and asserts the Descriptor Unable interrupt in
the SD/MMC DMA status register (IDSTS). In such a case, the host needs to release
the SD/MMC DMA by writing any value to the poll demand register.
6. It will then wait for Command Done (CD) bit and no errors from BIU which indicates
that a transfer can be done.
7. The SD/MMC DMA engine will now wait for a DMA interface request from BIU. This
request will be generated based on the programmed transmit threshold value. For the
last bytes of data which can’t be accessed using a burst, SINGLE transfers are
performed on AHB Master Interface.
8. The SD/MMC DMA fetches the Transmit data from the data buffer in the Host memory
and transfers to the FIFO for transmission to card.
9. When data spans across multiple descriptors, the SD/MMC DMA will fetch the next
descriptor and continue with its operation with the next descriptor. The Last Descriptor
bit in the descriptor indicates whether the data spans multiple descriptors or not.
10. When data transmission is complete, status information is updated in SD/MMC DMA
status register (IDSTS) by setting Transmit Interrupt, if enabled. Also, the OWN bit is
cleared by the SD/MMC DMA by performing a write transaction to DES0.
20.7.6.7 Reception
The SD/MMC reception occurs as follows:
1. The Host sets up the Descriptor (DES0-DES3) for reception, sets the OWN
(DES0[31]).
2. The Host programs the read data command in the CMD register in BIU.
3. The Host will program the required receive threshold level (RX_WMark field in
FIFOTH register).
4. The SD/MMC DMA determines that a read data transfer needs to be done as a
consequence of step 2.
5. The SD/MMC DMA engine fetches the descriptor and checks the OWN bit. If the
OWN bit is not set, it means that the host owns the descriptor. In this case the DMA
enters suspend state and asserts the Descriptor Unable interrupt in the SD/MMC
DMA status register (IDSTS). In such a case, the host needs to release the SD/MMC
DMA by writing any value to the poll demand register.
6. It will then wait for Command Done (CD) bit and no errors from BIU which indicates
that a transfer can be done.