ctrl

Sets various operating condiitions.
Module Instance Base Address Register Address
sdmmc 0xFF704000 0xFF704000

Offset: 0x0

Access: RW

Important: To prevent indeterminate system behavior, reserved areas of memory must not be accessed by software or hardware. Any area of the memory map that is not explicitly defined as a register space or accessible memory is considered reserved.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Reserved

use_internal_dmac

RW 0x0

Reserved

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Reserved

ceata_device_interrupt_status

RW 0x0

send_auto_stop_ccsd

RW 0x0

send_ccsd

RW 0x0

abort_read_data

RW 0x0

send_irq_response

RW 0x0

read_wait

RW 0x0

Reserved

int_enable

RW 0x0

Reserved

dma_reset

RW 0x0

fifo_reset

RW 0x0

controller_reset

RW 0x0

ctrl Fields

Bit Name Description Access Reset
25 use_internal_dmac

Enable and Disable Internal DMA transfers.

Value Description
0x0 The host performs data transfers thru slave interface
0x1 Internal DMAC used for data transfer
RW 0x0
11 ceata_device_interrupt_status

Software should appropriately write to this bit after power-on reset or any other reset to CE-ATA device. After reset, usually CE-ATA device interrupt is disabled (nIEN = 1). If the host enables CE-ATA device interrupt, then software should set this bit.

Value Description
0x0 Interrupts not enabled in CE-ATA device
0x1 Interrupts are enabled in CE-ATA device
RW 0x0
10 send_auto_stop_ccsd

Always set send_auto_stop_ccsd and send_ccsd bits together; send_auto_stop_ccsd should not be set independent of send_ccsd. When set, SD/MMC automatically sends internally generated STOP command (CMD12) to CE-ATA device. After sending internally-generated STOP command, Auto Command Done (ACD) bit in RINTSTS is set and generates interrupt to host if Auto CommandDone interrupt is not masked. After sending the CCSD, SD/MMC automatically clears send_auto_stop_ccsd bit.

Value Description
0x0 Clear bit if SD/MMC does not reset the bit
0x1 Send internally generated STOP.
RW 0x0
9 send_ccsd

When set, SD/MMC sends CCSD to CE-ATA device. Software sets this bit only if current command is expecting CCS (that is, RW_BLK) and interrupts are enabled in CE-ATA device. Once the CCSD pattern is sent to device, SD/MMC automatically clears send_ccsd bit. It also sets Command Done (CD) bit in RINTSTS register and generates interrupt to host if Command Done interrupt is not masked. NOTE: Once send_ccsd bit is set, it takes two card clock cycles to drive the CCSD on the CMD line. Due to this, during the boundary conditions it may happen that CCSD is sent to the CE-ATA device, even if the device signalled CCS.

Value Description
0x0 Clear bit if SD/MMC does not reset the bit
0x1 Send Command Completion Signal Disable (CCSD) to CE-ATA device
RW 0x0
8 abort_read_data

After suspend command is issued during read-transfer, software polls card to find when suspend happened. Once suspend occurs software sets bit to reset data state-machine, which is waiting for next block of data. Bit automatically clears once data statemachine resets to idle. Used in SDIO card suspend sequence.

Value Description
0x0 No change
0x1 Abort Read
RW 0x0
7 send_irq_response

Bit automatically clears once response is sent. To wait for MMC card interrupts, host issues CMD40, and SD/MMC waits for interrupt response from MMC card(s). In meantime, if host wants SD/MMC to exit waiting for interrupt state, it can set this bit, at which time SD/MMC command state-machine sends CMD40 response on bus and returns to idle state.

Value Description
0x0 No change
0x1 Send auto IRQ response
RW 0x0
6 read_wait

For sending read-wait to SDIO cards.

Value Description
0x0 Read Wait
0x1 Assert Read Wait
RW 0x0
4 int_enable

This bit enables and disable interrupts if one or more unmasked interrupts are set.

Value Description
0x0 Disable Interrupts
0x1 Enable interrupts
RW 0x0
2 dma_reset

This bit resets the DMA interface control logic

Value Description
0x0 No change
0x1 Reset internal DMA interface control logic
RW 0x0
1 fifo_reset

This bit resets the FIFO. This bit is auto-cleared after completion of reset operation.

Value Description
0x0 No change
0x1 Reset to data FIFO To reset FIFO pointers
RW 0x0
0 controller_reset

This bit resets the controller. This bit is auto-cleared after two l4_mp_clk and two sdmmc_clk clock cycles. This resets: - BIU/CIU interface - CIU and state machines - abort_read_data, send_irq_response, and read_wait bits of control register -start_cmd bit of command register Does not affect any registers, DMA interface, FIFO or host interrupts.

Value Description
0x0 No change -default
0x1 Reset SD/MMC controller
RW 0x0