Intel PXA255 manual MMC Controller Registers, Mmcstrpcl Register

Models: PXA255

1 600
Download 600 pages 33.14 Kb
Page 526
Image 526

MultiMediaCard Controller

Set MMC_BLKLEN register to the number of bytes per block.

Update the MMC_CMDAT register as:

Write 0x01 to the MMC_CMDAT[RESPONSE_FORMAT].

Set the MMC_CMDAT[DATA_EN] bit.

Clear the MMC_CMDAT[WRITE/READ] bit.

Set the MMC_CMDAT[STREAM_BLOCK] bit.

Clear the MMC_CMDAT[BUSY] bit.

Clear the MMC_CMDAT[INIT] bit.

Turn the clock on.

After it turns the clock on, the software must perform these steps:

1.Wait for the response as described in Section 15.4.4.

2.Read data from the MMC_RXFIFO FIFO and continue until all of the data has been read from the FIFO.

3.Set the command registers for a stop transaction command (CMD12). If the DMA is being used, the last descriptor must set the DMA to send an interrupt to signal that all the data has been read.

4.Wait for a response to the stop transaction command as described in Section 15.4.4.

5.Set MMC_I_MASK to 0x1e.

6.Wait for MMC_I_REG[DATA_TRAN_DONE] interrupt.

7.Read the MMC_STAT register to verify the status of the transaction (i.e. CRC error status).

15.5MMC Controller Registers

The MMC controller is controlled by a set of registers that software configures before every command sequence on the MMC bus.

Table 15-5through Table 15-23describe the registers and FIFOs.

15.5.1MMC_STRPCL Register

The MMC_STRPCL, shown in Table 15-5, allows the software to start and stop the MMC bus clock. Reads from this register are unpredictable.

This is a write-only register. Write zeros to reserved bits.

15-22

Intel® PXA255 Processor Developer’s Manual

Page 526
Image 526
Intel PXA255 manual MMC Controller Registers, Mmcstrpcl Register