UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
593 of 1441
NXP Semiconductors
UM10503
Chapter 22: LPC43xx/LPC43Sxx SD/MMC interface
•
In case of a write abort, only the current descriptor during which an abort occurred is
closed by the SD/MMC DMA . The remaining unread descriptors are not closed by the
IDMAC.
•
In case of a read abort, the SD/MMC DMA pops the data out of the FIFO and writes
them to the corresponding descriptor data buffers. The remaining unread descriptors
are not closed.
22.7.6.10 FBE scenarios
An FBE occurs due to an AHB error response on the AHB bus. This is a system error, so
the software driver should not perform any further programming to the SD/MMC The only
recovery mechanism from such scenarios is to do one of the following:
•
Issue a hard reset by asserting the reset_n signal .
•
Do a program controller reset by writing to the CTRL[0] register .
22.7.6.11 FIFO overflow and underflow
During normal data transfer conditions, FIFO overflow and underflow will not occur.
However if there is a programming error, then FIFO overflow/underflow can result. For
example, consider the following scenarios.
For transmit: PBL=4, Tx watermark = 1. For these programming values, if the FIFO has
only one location empty, it issues a dw_dma_req to DMA state machine. Due to PBL
value=4, the DMA performs 4 pushes into the FIFO. This will result in a FIFO overflow
interrupt.
For receive: PBL=4, Rx watermark = 1. For these programming values, if the FIFO has
only one location filled, it issues a dw_dma_req to the DMA state machine. Due to PBL
value=4, the DMA performs 4 pops to the FIFO. This will result in a FIFO underflow
interrupt.
The driver should ensure that the number of bytes to be transferred as indicated in the
descriptor should be a multiple of 4 bytes. For example, if the BYTCNT = 13, the number
of bytes indicated in the descriptor should be 16.
22.7.6.12 Programming of PBL and watermark levels
The SD/MMC DMA performs data transfers depending on the programmed PBL and
threshold values.
lists the allowed programming values.
Table 409. PBL and watermark levels
PBL (number of transfers)
Transmit/receive watermark value
1
greater than or equal to 1
4
greater than or equal to 4
8
greater than or equal to 8
16
greater than or equal to 16
32
greater than or equal to 32
64
greater than or equal to 64
128
greater than or equal to 128
256
greater than or equal to 256