Information
Enhanced Secure Digital Host Controller
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 11-65
11.7 Software Restrictions
This section discusses the software restrictions.
11.7.1 Initialization Active
The driver should not set INITA bit in System Control register when any of the command line or data lines
is active, so the driver should ensure both CDIHB and CIHB bits are cleared. In order to auto clear the
INITA bit, the SDCLKEN bit must be ‘1’, otherwise no clocks can go out to the card and INITA never
clears.
11.7.2 Software Polling Procedure
When polling read or write, once the software begins a buffer read or write, it must access exactly the
number of times as set in the watermark level register, as if a DMA burst occurred.
11.7.3 Suspend Operation
In order to suspend the data transfer, the software must inform eSDHC that the suspend command is
successfully accepted. To achieve this, after the Suspend command is accepted by the SDIO card, software
must send another normal command marked as suspend command (CMDTYP bits set as ‘01’) to inform
eSDHC that the transfer is suspended.
If software needs resume the suspended transfer, it should read the value in BLKCNT register to save the
remained number of blocks before sending the normal command marked as suspend, otherwise on sending
such ‘suspend’ command, eSDHC regards the current transfer as aborted and change BLKCNT register to
its original value, instead of keeping the remained number of blocks.
11.7.4 Data Port Access
When the internal DMA is not enabled and a write transaction is in operation, DATPORT (described in
Section 11.4.6, “Buffer Data Port Register (DATPORT)”) must not be read. DATPORT also must not be
used to read (or write) data by the CPU if the data will be written (or read) by the eSDHC internal DMA.
11.7.5 Multi-block Read
For pre-defined multi-block read operation, that is, the number of blocks to read has been defined by
previous CMD23 for MMC, or pre-defined number of blocks in CMD53 for SDIO/SDCombo, or whatever
multi-block read without abort command at card side, soft reset for data is required by eSDHC to drive the
internal state machine to idle mode. Then use reset mechanism. For information on reset mechanism, see
Section 3-10, “Error Recovery” in SD Host Controller Specifications, Ver 2.0 (Jan 2007).