CORE: Core module interconnects all the sub-modules in the eMMC SDIO Host Controller IIP. Ports of core module are the top level ports for the eMMC SDIO Host Controller IIP
GENCLK: This module has MMC clock generator logic. The clock divider value is loaded from the register CLOCK_TIMEOUT_CONTROL. This value is from the MMC clock frequency select (either via driver programmed or selected preset value)
CDET: Card Detect State Machine is either the External i_sdif_cd_n or the Internal Signal (Card Detect Test Level) is muxed for Card Detect Logic. The selection is based on the Card Detect Signal Select.
CSR: This module includes all the registers like block size, block count, address,argument ...etc and also it includes card interrupt logic. The contents of the registers are decoded and assigned to its respective output ports based on its functionality. The registers can get its data from both the internal and external system interface. Likewise, it can be retrieved by both the internal and external system interface.
MMC: This module consist of Command generation,Data transmission and Data recieve, Response check, tuning operations
TIMEOUT: For data timeout, when the TXD control or RXD control enables the counting of timeout value, the counter start counting. When the counting is disabled, the counts are reset to zero.
DMA: This module suports three types of DMA. SDMA (Single Operation DMA) performs a read / write SD command operation. ADMA2 performs a read / write SD command operation at a time. ADMA3 can program multiple read / write SD commands operation in a Descriptor Table. ADMA3 is suitable to perform very large data transfer.
CQCT: This module contains task queue logic. The contents of the doorbell FIFO are read out and the tasks to be executed are queued in a task queue FIFO from where the CQ engine works on task. As multiple task bits are set in the doorbell entry, this will be split into individual tasks and enqueued