\n
address_offset : 0x0 Bytes (0x0)
size : 0x4 byte (0x0)
mem_usage : registers
protection : not protected
address_offset : 0x400 Bytes (0x0)
size : 0x4 byte (0x0)
mem_usage : registers
protection : not protected
address_offset : 0x408 Bytes (0x0)
size : 0x10 byte (0x0)
mem_usage : registers
protection : not protected
address_offset : 0x800 Bytes (0x0)
size : 0xC byte (0x0)
mem_usage : registers
protection : not protected
address_offset : 0x820 Bytes (0x0)
size : 0x20 byte (0x0)
mem_usage : registers
protection : not protected
SDH Receiving/Transmit Flash Buffer
address_offset : 0x0 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA : SDH Receiving/Transmit Flash Buffer\nThis buffer is used to receive/transmit data. It can be accessed by CPU or DMAC.
bits : 0 - 31 (32 bit)
access : read-write
DMAC Control and Status Register
address_offset : 0x400 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DMAEN : DMAC Engine Enable Control\nNote1: If this bit is cleared, DMAC will ignore all DMA request and force Bus Master into IDLE state.\nNote2: If a target abort occurs, DMAEN will be cleared.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
DMAC Disabled
#1 : 1
DMAC Enabled
End of enumeration elements list.
DMARST : Software Engine Reset\nNote: Software resets DMA region.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect
#1 : 1
Reset internal state machine and pointers. The contents of control register will not be cleared. This bit will auto be cleared after few clock cycles
End of enumeration elements list.
SGEN : Scatter-gather Function Enable Control\n
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
#0 : 0
Scatter-gather function Disabled (DMAC will treat the starting address in SDH_DMASA as starting pointer of a single block memory)
#1 : 1
Scatter-gather function Enabled (DMAC will treat the starting address in SDH_DMASA as a starting address of Physical Address Descriptor (PAD) table. The format of these PADs' will be described later)
End of enumeration elements list.
DMABUSY : DMA Transfer in Progress\nThis bit indicates that the DMA is transferred or not.\n
bits : 9 - 9 (1 bit)
access : read-write
Enumeration:
#0 : 0
DMA transfer is not in progress
#1 : 1
DMA transfer is in progress
End of enumeration elements list.
DMAC Transfer Starting Address Register
address_offset : 0x408 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ORDER : Determined to the PAD Table Fetching in Order or Out of Order\n
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
PAD table is fetched in order
#1 : 1
PAD table is fetched out of order
End of enumeration elements list.
DMASA : DMA Transfer Starting Address \nThis field pads 0 as least significant bit indicates a 32-bit starting address of system memory (SRAM) for DMAC to retrieve or fill in data.\nIf DMAC is not in Normal mode, this field will be interpreted as a starting address of Physical Address Descriptor (PAD) table.\nNote: The address can't be set smaller than 0x2000_0000.
bits : 1 - 31 (31 bit)
access : read-write
DMAC Transfer Byte Count Register
address_offset : 0x40C Bytes (0x0)
access : read-only
reset_value : 0x0
reset_Mask : 0x0
BCNT : DMA Transfer Byte Count (Read Only)
This field indicates the remained byte count of DMAC transfer. The value of this field is valid only when DMAC is busy otherwise, it is 0.
bits : 0 - 25 (26 bit)
access : read-only
DMAC Interrupt Enable Control Register
address_offset : 0x410 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ABORTIEN : DMA Read/Write Target Abort Interrupt Enable Control\n
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
Target abort interrupt generation Disabled during DMA transfer
#1 : 1
Target abort interrupt generation Enabled during DMA transfer
End of enumeration elements list.
WEOTIEN : Wrong EOT Encountered Interrupt Enable Control\n
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
Interrupt generation Disabled when wrong EOT is encountered
#1 : 1
Interrupt generation Enabled when wrong EOT is encountered
End of enumeration elements list.
DMAC Interrupt Status Register
address_offset : 0x414 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ABORTIF : DMA Read/Write Target Abort Interrupt Flag\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
No bus ERROR response received
#1 : 1
Bus ERROR response received
End of enumeration elements list.
WEOTIF : Wrong EOT Encountered Interrupt Flag\nWhen DMA Scatter-Gather function is enabled, and EOT of the descriptor is encountered before DMA transfer finished (that means the total sector count of all PAD is less than the sector count of DMAC), this bit will be set.\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
No EOT encountered before DMA transfer finished
#1 : 1
EOT encountered before DMA transfer finished
End of enumeration elements list.
Global Control and Status Register
address_offset : 0x800 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
GCTLRST : Software Engine Reset\n
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect
#1 : 1
Reset all SDH engines. The contents of control registers will not be cleared. This bit will auto cleared after few clock cycles
End of enumeration elements list.
SDEN : Secure-digital Functionality Enable Control\n
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
SD functionality Disabled
#1 : 1
SD functionality Enabled
End of enumeration elements list.
Global Interrupt Control Register
address_offset : 0x804 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DTAIEN : DMAC READ/WRITE Target Abort Interrupt Enable Control\n
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
DMAC READ/WRITE target abort interrupt generation Disabled
#1 : 1
DMAC READ/WRITE target abort interrupt generation Enabled
End of enumeration elements list.
Global Interrupt Status Register
address_offset : 0x808 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DTAIF : DMAC READ/WRITE Target Abort Interrupt Flag (Read Only)\nThis bit indicates DMAC received an ERROR response from internal AHB bus during DMA read/write operation. When Target Abort is occurred, please reset all engines.\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
#0 : 0
No bus ERROR response received
#1 : 1
Bus ERROR response received
End of enumeration elements list.
SD Control and Status Register
address_offset : 0x820 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
COEN : Command Output Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, SD host will output a command to SD card
End of enumeration elements list.
RIEN : Response Input Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, SD host will wait to receive a response from SD card
End of enumeration elements list.
DIEN : Data Input Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, SD host will wait to receive block data and the CRC-16 value from SD card
End of enumeration elements list.
DOEN : Data Output Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, SD host will transfer block data and the CRC-16 value to SD card
End of enumeration elements list.
R2EN : Response R2 Input Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, SD host will wait to receive a response R2 from SD card and store the response data into DMAC's flash buffer (exclude CRC-7)
End of enumeration elements list.
CLK74OEN : Generating 74 Clock Cycles Output Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, SD host will output 74 clock cycles to SD card
End of enumeration elements list.
CLK8OEN : Generating 8 Clock Cycles Output Enable Control\nNote: When operation is finished, this bit will be cleared automatically. Thus, don't write 0 to this bit (the controller will be abnormal).
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect. (Please use SDH_CTL[CTLRST] to clear this bit.)
#1 : 1
Enabled, and SD host will output 8 clock cycles
End of enumeration elements list.
CLKKEEP0 : SD Clock Enable Control for Port 0\n
bits : 7 - 7 (1 bit)
access : read-write
Enumeration:
#0 : 0
SD host decides when to output clock and when to disable clock output automatically
#1 : 1
SD clock always keeps free running
End of enumeration elements list.
CMDCODE : SD Command Code\nThis register contains the SD command code (0x00 - 0x3F).
bits : 8 - 13 (6 bit)
access : read-write
CTLRST : Software Engine Reset\n
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect
#1 : 1
Reset the internal state machine and counters. The contents of control register will not be cleared (but RIEN, DIEN, DOEN and R2EN will be cleared). This bit will be auto cleared after few clock cycles
End of enumeration elements list.
DBW : SD Data Bus Width (for 1-bit / 4-bit Selection)\n
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
#0 : 0
Data bus width is 1-bit
#1 : 1
Data bus width is 4-bit
End of enumeration elements list.
BLKCNT : Block Counts to Be Transferred or Received\nThis field contains the block counts for data-in and data-out transfer. For READ_MULTIPLE_BLOCK and WRITE_MULTIPLE_BLOCK command, software can use this function to accelerate data transfer and improve performance. Don't fill 0x0 to this field.\nFor READ_MULTIPLE_BLOCK and WRITE_MULTIPLE_BLOCK command, the actual total length is BLKCNT * (BLKLEN +1).
bits : 16 - 23 (8 bit)
access : read-write
SDNWR : NWR Parameter for Block Write Operation\nThis value indicates the NWR parameter for data block write operation in SD clock counts. The actual clock cycle will be SDNWR+1.
bits : 24 - 27 (4 bit)
access : read-write
SD Command Argument Register
address_offset : 0x824 Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ARGUMENT : SD Command Argument\nThis register contains a 32-bit value specifies the argument of SD command from host controller to SD card. Before triggering SDH_CTL [COEN], software should fill argument in this field.
bits : 0 - 31 (32 bit)
access : read-write
SD Interrupt Control Register
address_offset : 0x828 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BLKDIEN : Block Transfer Done Interrupt Enable Control\n
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
SD host will not generate interrupt when data-in (out) transfer done
#1 : 1
SD host will generate interrupt when data-in (out) transfer done
End of enumeration elements list.
CRCIEN : CRC7, CRC16 and CRC Status Error Interrupt Enable Control\n
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
SD host will not generate interrupt when CRC7, CRC16 and CRC status is error
#1 : 1
SD host will generate interrupt when CRC7, CRC16 and CRC status is error
End of enumeration elements list.
CDIEN0 : SD0 Card Detection Interrupt Enable Control\nEnable/Disable interrupt generation of SD controller when card 0 is inserted or removed.\n
bits : 8 - 8 (1 bit)
access : read-write
Enumeration:
#0 : 0
SD0 Card Detection Interrupt Disabled
#1 : 1
SD0 Card Detection Interrupt Enabled
End of enumeration elements list.
SDHIEN0 : SDH Interrupt Enable Control for Port 0\nEnable/Disable interrupt generation of SD host when SDH card 0 issues an interrupt via DAT [1] to host.\n
bits : 10 - 10 (1 bit)
access : read-write
Enumeration:
#0 : 0
SDH Port 0 Interrupt Disabled
#1 : 1
SDH Port 0 Interrupt Enabled
End of enumeration elements list.
RTOIEN : Response Time-out Interrupt Enable Control\nEnable/Disable interrupt generation of SD controller when receiving response or R2 time-out. Time-out value is specified at TOUT.\n
bits : 12 - 12 (1 bit)
access : read-write
Enumeration:
#0 : 0
Response Time-out Interrupt Disabled
#1 : 1
Response Time-out Interrupt Enabled
End of enumeration elements list.
DITOIEN : Data Input Time-out Interrupt Enable Control\nEnable/Disable interrupt generation of SD controller when data input time-out. Time-out value is specified at TOUT.\n
bits : 13 - 13 (1 bit)
access : read-write
Enumeration:
#0 : 0
Data Input Time-out Interrupt Disabled
#1 : 1
Data Input Time-out Interrupt Enabled
End of enumeration elements list.
CDSRC0 : SD0 Card Detect Source Selection\n
bits : 30 - 30 (1 bit)
access : read-write
Enumeration:
#0 : 0
From SD0 card's DAT3 pin
#1 : 1
From GPIO pin
End of enumeration elements list.
SD Interrupt Status Register
address_offset : 0x82C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BLKDIF : Block Transfer Done Interrupt Flag (Read Only)\nThis bit indicates that SD host has finished all data-in or data-out block transfer. If there is a CRC16 error or incorrect CRC status during multiple block data transfer, the transfer will be broken and this bit will also be set.\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
#0 : 0
Not finished yet
#1 : 1
Done
End of enumeration elements list.
CRCIF : CRC7, CRC16 and CRC Status Error Interrupt Flag (Read Only)
This bit indicates that SD host has occurred CRC error during response in, data-in or data-out (CRC status error) transfer. When CRC error occurred, software should reset SD engine. Some responses (e.g. R3) do not have CRC-7 information with it the SD host will still calculate CRC-7, get CRC error and set this flag. In this condition, software should ignore CRC error and clear this bit manually.
Note: This bit is read only, but can be cleared by writing '1' to it.
bits : 1 - 1 (1 bit)
access : read-only
Enumeration:
#0 : 0
No CRC error is occurred
#1 : 1
CRC error is occurred
End of enumeration elements list.
CRC7 : CRC-7 Check Status (Read Only)\nSD host will check CRC-7 correctness during each response in. If that response does not contain CRC-7 information (e.g. R3), then software should turn off CRCIEN (SDH_INTEN[1]) and ignore this bit.\n
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
#0 : 0
CRC-7 Transfer incorrectness
#1 : 1
CRC-7 Transfer correctness
End of enumeration elements list.
CRC16 : CRC-16 Check Status of Data-in Transfer (Read Only)\nSD host will check CRC-16 correctness after data-in transfer.\n
bits : 3 - 3 (1 bit)
access : read-only
Enumeration:
#0 : 0
CRC-16 Transfer incorrectness
#1 : 1
CRC-16 Transfer correctness
End of enumeration elements list.
CRCSTS : CRC Status Value of Data-out Transfer (Read Only)\nSD host will record CRC status of data-out transfer. Software could use this value to identify what type of error is during data-out transfer.\n
bits : 4 - 6 (3 bit)
access : read-only
Enumeration:
#010 : 2
Positive CRC status
#101 : 5
Negative CRC status
#111 : 7
SD card programming error occurs
End of enumeration elements list.
DAT0STS : DAT0 Pin Status of Current Selected SD Port (Read Only)\nThis bit is the DAT0 pin status of current selected SD port.
bits : 7 - 7 (1 bit)
access : read-only
CDIF0 : SD0 Card Detection Interrupt Flag (Read Only)\nThis bit indicates that SD card 0 is inserted or removed. Only when CDIEN0 (SDH_INTEN[8]) is set to 1, this bit is active.\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 8 - 8 (1 bit)
access : read-only
Enumeration:
#0 : 0
No card is inserted or removed
#1 : 1
There is a card inserted in or removed from SD0
End of enumeration elements list.
SDHIF0 : SDH 0 Interrupt Flag (Read Only)\nThis bit indicates that SDH card 0 issues an interrupt to host. This interrupt is designed to level sensitive. Before clearing it, turn off SDHIEN0 (SDH_INTEN[10]) first.\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 10 - 10 (1 bit)
access : read-only
Enumeration:
#0 : 0
No interrupt is issued by SDH card 0
#1 : 1
an interrupt is issued by SDH card 0
End of enumeration elements list.
RTOIF : Response Time-out Interrupt Flag (Read Only)\nThis bit indicates that SD host counts to time-out value when receiving response or R2 (waiting start bit).\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 12 - 12 (1 bit)
access : read-only
Enumeration:
#0 : 0
No time-out
#1 : 1
Response time-out
End of enumeration elements list.
DITOIF : Data Input Time-out Interrupt Flag (Read Only)\nThis bit indicates that SD host counts to time-out value when receiving data (waiting start bit).\nNote: This bit is read only, but can be cleared by writing '1' to it.
bits : 13 - 13 (1 bit)
access : read-only
Enumeration:
#0 : 0
No time-out
#1 : 1
Data input time-out
End of enumeration elements list.
CDSTS0 : Card Detect Status of SD0 (Read Only)\nThis bit indicates the card detect pin status of SD0, and is used for card detection. When there is a card inserted in or removed from SD0, software should check this bit to confirm if there is really a card insertion or removal.\n
bits : 16 - 16 (1 bit)
access : read-only
Enumeration:
#0 : 0
Card removed.\nCard inserted
#1 : 1
Card inserted.\nCard removed
End of enumeration elements list.
DAT1STS : DAT1 Pin Status of SD Port (Read Only)\nThis bit indicates the DAT1 pin status of SD port.
bits : 18 - 18 (1 bit)
access : read-only
SD Receiving Response Token Register 0
address_offset : 0x830 Bytes (0x0)
access : read-only
reset_value : 0x0
reset_Mask : 0x0
RESPTK0 : SD Receiving Response Token 0\nSD host controller will receive a response token for getting a reply from SD card when RIEN (SDH_CTL[1]) is set. This field contains response bit 47-16 of the response token.
bits : 0 - 31 (32 bit)
access : read-only
SD Receiving Response Token Register 1
address_offset : 0x834 Bytes (0x0)
access : read-only
reset_value : 0x0
reset_Mask : 0x0
RESPTK1 : SD Receiving Response Token 1\nSD host controller will receive a response token for getting a reply from SD card when RIEN (SDH_CTL[1]) is set. This register contains the bit 15-8 of the response token.
bits : 0 - 7 (8 bit)
access : read-only
SD Block Length Register
address_offset : 0x838 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BLKLEN : SD BLOCK LENGTH in Byte Unit\nAn 11-bit value specifies the SD transfer byte count of a block. The actual byte count is equal to BLKLEN +1.\nNote: The default SD block length is 512 bytes.
bits : 0 - 10 (11 bit)
access : read-write
SD Response/Data-in Time-out Register
address_offset : 0x83C Bytes (0x0)
access : read-write
reset_value : 0x0
reset_Mask : 0x0
TOUT : SD Response/Data-in Time-out Value\nA 24-bit value specifies the time-out count of response and data input. SD host controller will wait the start bit of response or data-in until this value reached. The time period depends on SD engine clock frequency. Do not write a small number into this field, or you may never get response or data due to time-out.\nNote: Filling 0x0 into this field will disable hardware time-out function.
bits : 0 - 23 (24 bit)
access : read-write
Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !
This website is sponsored by Embeetle, an IDE designed from scratch for embedded software developers.