\n

EMMC

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x400 byte (0x0)
mem_usage : registers
protection :

Registers

R32_EMMC_ARGUMENT

R32_EMMC_RESPONSE2

R32_EMMC_RESPONSE3

R32_EMMC_WRITE_CONT

R8_EMMC_CONTROL

R8_EMMC_TIMEOUT

R32_EMMC_STATUS

R16_EMMC_INT_FG

R16_EMMC_INT_EN

R32_EMMC_DMA_BEG1

R32_EMMC_BLOCK_CFG

R32_EMMC_TRAN_MODE

R16_EMMC_CLK_DIV

R32_EMMC_DMA_BEG2

R16_EMMC_CMD_SET

R32_EMMC_RESPONSE0

R32_EMMC_RESPONSE1


R32_EMMC_ARGUMENT

SD 32bits command argument register
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_ARGUMENT R32_EMMC_ARGUMENT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EMMC_ARGUMENT

EMMC_ARGUMENT : 32 bit command parameter register
bits : 0 - 31 (32 bit)


R32_EMMC_RESPONSE2

SD 128bits response register, [95:64] 32bits
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_RESPONSE2 R32_EMMC_RESPONSE2 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R32_EMMC_RESPONSE2

R32_EMMC_RESPONSE2 : response parameter register
bits : 0 - 31 (32 bit)


R32_EMMC_RESPONSE3

SD 128bits response register, [127:96] 32bits
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_RESPONSE3 R32_EMMC_RESPONSE3 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R32_EMMC_RESPONSE3

R32_EMMC_RESPONSE3 : response parameter register
bits : 0 - 31 (32 bit)


R32_EMMC_WRITE_CONT

Multiplexing register of the EMMC_RESPONSE3,[127:96] 32bits
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_WRITE_CONT R32_EMMC_WRITE_CONT write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R32_EMMC_WRITE_CONT

R32_EMMC_WRITE_CONT : response parameter register
bits : 0 - 31 (32 bit)


R8_EMMC_CONTROL

SD 8bits control register
address_offset : 0x18 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R8_EMMC_CONTROL R8_EMMC_CONTROL read-write 0 1 2 3 4 5 6 7 Resets to 0 0 0 0 0 0 0 0 RB_EMMC_LW_MASK RB_EMMC_ALL_CLR RB_EMMC_DMAEN RB_EMMC_RST_LGC RB_EMMC_NEGSMP

RB_EMMC_LW_MASK : effctive data width for sending or receiving data
bits : 0 - 1 (2 bit)

RB_EMMC_ALL_CLR : reset all the inner logic, default is valid
bits : 2 - 2 (1 bit)

RB_EMMC_DMAEN : enable the dma
bits : 3 - 3 (1 bit)

RB_EMMC_RST_LGC : reset the data tran/recv logic
bits : 4 - 4 (1 bit)

RB_EMMC_NEGSMP : controller use nagedge sample cmd
bits : 5 - 5 (1 bit)


R8_EMMC_TIMEOUT

SD 8bits data timeout value
address_offset : 0x1C Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R8_EMMC_TIMEOUT R8_EMMC_TIMEOUT read-write 0 1 2 3 4 5 6 7 Resets to 0 0 0 0 0 0 0 0 RB_EMMC_TOCNT_MASK

RB_EMMC_TOCNT_MASK : response data timeout configuration
bits : 0 - 3 (4 bit)


R32_EMMC_STATUS

SD status
address_offset : 0x20 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_STATUS R32_EMMC_STATUS read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MASK_BLOCK_NUM RB_EMMC_CMDSTA RB_EMMC_DAT0STA

MASK_BLOCK_NUM : the number of blocks successfully transmitted in the current multi-block transmission
bits : 0 - 15 (16 bit)

RB_EMMC_CMDSTA : indicate cmd line is high level now
bits : 16 - 16 (1 bit)

RB_EMMC_DAT0STA : indicate dat[0] line is high level now
bits : 17 - 17 (1 bit)


R16_EMMC_INT_FG

SD 16bits interrupt flag register
address_offset : 0x24 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R16_EMMC_INT_FG R16_EMMC_INT_FG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_IF_RE_TMOUT RB_EMMC_IF_RECRC_WR RB_EMMC_IF_REIDX_ER RB_EMMC_IF_CMDDONE RB_EMMC_IF_DATTMO RB_EMMC_IF_TRANERR RB_EMMC_IF_TRANDONE RB_EMMC_IF_BKGAP RB_EMMC_IF_FIFO_OV RB_EMMC_IF_SDIOINT

RB_EMMC_IF_RE_TMOUT : indicate when expect the response, timeout
bits : 0 - 0 (1 bit)

RB_EMMC_IF_RECRC_WR : indicate CRC error of the response
bits : 1 - 1 (1 bit)

RB_EMMC_IF_REIDX_ER : indicate INDEX error of the response
bits : 2 - 2 (1 bit)

RB_EMMC_IF_CMDDONE : when cmd hasn't response, indicate cmd has been sent, when cmd has a response, indicate cmd has bee sent and has received the response
bits : 3 - 3 (1 bit)

RB_EMMC_IF_DATTMO : data line busy timeout
bits : 4 - 4 (1 bit)

RB_EMMC_IF_TRANERR : last block have encountered a CRC error
bits : 5 - 5 (1 bit)

RB_EMMC_IF_TRANDONE : all the blocks have been tran/recv successfully
bits : 6 - 6 (1 bit)

RB_EMMC_IF_BKGAP : every block gap interrupt when multiple read/write, allow drive change the DMA address at this moment
bits : 7 - 7 (1 bit)

RB_EMMC_IF_FIFO_OV : fifo overflow, when write sd, indicate empty overflow, when read sd, indicate full overflow
bits : 8 - 8 (1 bit)

RB_EMMC_IF_SDIOINT : interrupt from SDIO card inside
bits : 9 - 9 (1 bit)


R16_EMMC_INT_EN

SD 16bits interrupt enable register
address_offset : 0x28 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R16_EMMC_INT_EN R16_EMMC_INT_EN read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_IE_RE_TMOUT RB_EMMC_IE_RECRC_WR RB_EMMC_IE_REIDX_ER RB_EMMC_IE_CMDDONE RB_EMMC_IE_DATTMO RB_EMMC_IE_TRANERR RB_EMMC_IE_TRANDONE RB_EMMC_IE_BKGAP RB_EMMC_IE_FIFO_OV RB_EMMC_IE_SDIOINT

RB_EMMC_IE_RE_TMOUT : command response timeout interrupt enable
bits : 0 - 0 (1 bit)

RB_EMMC_IE_RECRC_WR : response CRC check error interrupt enable
bits : 1 - 1 (1 bit)

RB_EMMC_IE_REIDX_ER : response index check error interrupt enable
bits : 2 - 2 (1 bit)

RB_EMMC_IE_CMDDONE : command completion interrupt enable
bits : 3 - 3 (1 bit)

RB_EMMC_IE_DATTMO : data timeout interrupt enable
bits : 4 - 4 (1 bit)

RB_EMMC_IE_TRANERR : blocks transfer CRC error interrupt enable
bits : 5 - 5 (1 bit)

RB_EMMC_IE_TRANDONE : all blocks transfer complete interrupt enable
bits : 6 - 6 (1 bit)

RB_EMMC_IE_BKGAP : single block transmission completion interrupt enable
bits : 7 - 7 (1 bit)

RB_EMMC_IE_FIFO_OV : FIFO overflow interrupt enable
bits : 8 - 8 (1 bit)

RB_EMMC_IE_SDIOINT : SDIO card interrupt enable
bits : 9 - 9 (1 bit)


R32_EMMC_DMA_BEG1

SD 16bits DMA start address register when to operate
address_offset : 0x2C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_DMA_BEG1 R32_EMMC_DMA_BEG1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_DMAAD1_MASK

RB_EMMC_DMAAD1_MASK : start address of read-write data buffer,the lower 4 bits are fixed to 0
bits : 0 - 16 (17 bit)


R32_EMMC_BLOCK_CFG

SD 32bits data counter, [15:0] number of blocks this time will tran/recv, [27:16] block sise(byte number) of every block in this time tran/recv
address_offset : 0x30 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_BLOCK_CFG R32_EMMC_BLOCK_CFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_BKNUM_MASK RB_EMMC_BKSIZE_MASK

RB_EMMC_BKNUM_MASK : the number of blocks to be transferred
bits : 0 - 15 (16 bit)

RB_EMMC_BKSIZE_MASK : single block transfer size
bits : 16 - 27 (12 bit)


R32_EMMC_TRAN_MODE

SD TRANSFER MODE register
address_offset : 0x34 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_TRAN_MODE R32_EMMC_TRAN_MODE read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_DMA_DIR RB_EMMC_GAP_STOP RB_EMMC_MODE_BOOT RB_EMMC_AUTOGAPSTOP RB_EMMC_FIFO_RDY RB_EMMC_DMATN_CNT RB_EMMC_DULEDMA_EN

RB_EMMC_DMA_DIR : set DMA direction is controller to emmc card
bits : 0 - 0 (1 bit)

RB_EMMC_GAP_STOP : clock stop mode after block completion
bits : 1 - 1 (1 bit)

RB_EMMC_MODE_BOOT : enable emmc boot mode
bits : 2 - 2 (1 bit)

RB_EMMC_AUTOGAPSTOP : enable auto set bTM_GAP_STOP when tran start
bits : 4 - 4 (1 bit)

RB_EMMC_FIFO_RDY : FIFO ready select signal when writing EMMC
bits : 6 - 7 (2 bit)

RB_EMMC_DMATN_CNT : in double buffer mode,set the block count value of buffer switch
bits : 8 - 14 (7 bit)

RB_EMMC_DULEDMA_EN : enable double buffer dma
bits : 16 - 16 (1 bit)


R16_EMMC_CLK_DIV

SD clock divider register
address_offset : 0x38 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R16_EMMC_CLK_DIV R16_EMMC_CLK_DIV read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_DIV_MASK RB_EMMC_CLKOE RB_EMMC_CLKMode RB_EMMC_PHASEINV

RB_EMMC_DIV_MASK : clk div
bits : 0 - 4 (5 bit)

RB_EMMC_CLKOE : chip output sdclk oe
bits : 8 - 8 (1 bit)

RB_EMMC_CLKMode : EMMC clock frequency mode selection bit
bits : 9 - 9 (1 bit)

RB_EMMC_PHASEINV : invert chip output sdclk phase
bits : 10 - 10 (1 bit)


R32_EMMC_DMA_BEG2

SD 16bits DMA start address register when to operate
address_offset : 0x3C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_DMA_BEG2 R32_EMMC_DMA_BEG2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_DMAAD2_MASK

RB_EMMC_DMAAD2_MASK : start address of read-write data buffer,the lower 4 bits are fixed to 0
bits : 0 - 16 (17 bit)


R16_EMMC_CMD_SET

SD 16bits cmd setting register
address_offset : 0x4 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

R16_EMMC_CMD_SET R16_EMMC_CMD_SET read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RB_EMMC_CMDIDX_MASK RB_EMMC_RPTY_MASK RB_EMMC_CKCRC RB_EMMC_CKIDX

RB_EMMC_CMDIDX_MASK : the index number of the currently sent command
bits : 0 - 5 (6 bit)

RB_EMMC_RPTY_MASK : current respone type
bits : 8 - 9 (2 bit)

RB_EMMC_CKCRC : check the response CRC
bits : 10 - 10 (1 bit)

RB_EMMC_CKIDX : check the response command index
bits : 11 - 11 (1 bit)


R32_EMMC_RESPONSE0

SD 128bits response register, [31:0] 32bits
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_RESPONSE0 R32_EMMC_RESPONSE0 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R32_EMMC_RESPONSE0

R32_EMMC_RESPONSE0 : response parameter register
bits : 0 - 31 (32 bit)


R32_EMMC_RESPONSE1

SD 128bits response register, [63:32] 32bits
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

R32_EMMC_RESPONSE1 R32_EMMC_RESPONSE1 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R32_EMMC_RESPONSE1

R32_EMMC_RESPONSE1 : response parameter register
bits : 0 - 31 (32 bit)



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.