SRS01
SRS01 - Block Size / Block Count
Module Instance | Base Address | Register Address |
---|---|---|
i_sdmmc__sdmmc_apb_slv__10808000____SRS____SEG_L4_MP_sdmmc_s_0x0_0x1000
|
0x10808200
|
0x10808204
|
Size: 32
Offset: 0x4
Access: RW
Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
|
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
|
|
SRS01 Fields
Bit | Name | Description | Access | Reset |
---|---|---|---|---|
31:16 |
BCCT
|
BCCT - Block Count For Current Transfer\n With this field, the number of data blocks can be defined for next transfer.\n This register is used when SRS03.BCE is set 1, and SRS15.HV4E is set to 0 or SRS15.H4VE is set to 1 and this field is different than 0, otherwise it will be ignored.\n When SRS15.HV4E==1 and this field == 0. 32-bit block count register is selected (SRS00.SAAR).\n The value is decremented after each block transfer. When this field is set 0, no data blocks will be transferred.\n During data transfer read operation may return invalid value, and write operations are ignored.\n [list] [*] 0000h - no block transfer [*] 0001h..FFFFh - 1..65535 block(s) transfer. [/list] |
RW
|
0x0
|
15 |
Reserved_2
|
Reserved bitfield added by Magillem |
RO
|
0x0
|
14:12 |
SDMABB
|
SDMABB - SDMA Buffer Boundary\n In this field, the system address boundary can be set for SDMA engine.\n The SDMA transfer stops crossing the address boundary and generates the DMA Interrupt (SRS12.DMAINT).\n After the DMA Interrupt, when the SRS15.HV4E is 0, the software should write new SDMA System Address (SRS00.SAAR / SRS22.DMASA1) in order to resume the SDMA transaction.\n [list] [*] 0 - 4k bytes address boundary [*] 1 - 8k bytes address boundary [*] 2 - 16k bytes address boundary [*] 3 - 32k bytes address boundary [*] 4 - 64k bytes address boundary [*] 5 - 128k bytes address boundary [*] 6 - 256k bytes address boundary [*] 7 - 512k bytes address boundary [/list] |
RW
|
0x0
|
11:0 |
TBS
|
TBS - Transfer Block Size\n This field defines block size for block data transfers. During data transfer, read operations may return an invalid value, and write operations are ignored.\n The software will not set value that exceeds the physically implemented internal FIFO buffer size. The buffer size is equal to 2^FIFODEPTH, where FIFODEPTH is the generic parameter of the core.\n The SD/MMC (memory) uses block size up to 512 bytes.\n The SDIO can use up to 2048 bytes.\n [list] [*] 000h - not used [*] 001h - 1 data byte [*] 002h - 2 data bytes [*] 003h - 3 data bytes [*] ... [*] 1FFh - 511 data bytes [*] 200h - 512 data bytes [*] ... [*] 800h - 2048 data bytes [*] others - not used. [/list] Note: It is recommended for the software to use native data block size (512B) in case of multiple data block transfer (SRS03.MSBS==1). Using smaller block may cause unexpected response error when flow control is activated (i.e. SDCLK is disabled) during response transfer. |
RW
|
0x0
|