www.ti.com
SD-HOST Registers
379
SWRU543–January 2019
Submit Documentation Feedback
Copyright © 2019, Texas Instruments Incorporated
SD Host Controller Interface
11.7.3 MMCHS_BLK Register (Offset = 204h) [reset = 0h]
Transfer Length Configuration register
MMCHS_BLK is shown in Figure 11-4 and described in Table 11-7.
Return to Summary Table.
This register shall be used for any card.
Figure 11-4. MMCHS_BLK Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
NBLK
R/W-0h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESERVED BLEN
R-0h R/W-0h
LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset
Table 11-7. MMCHS_BLK Register Field Descriptions
Bit Field Type Reset Description
31-16 NBLK R/W 0h
Blocks count for current transfer
This register is enabled when the Block count Enable
(MMCi.MMCHS_CMD[1] BCE bit) is set to 1 and is valid only for
multiple block transfers. Setting the block count to 0 results no data
blocks being transferred. Note: The host controller decrements the
block count after each block transfer and stops when the count
reaches zero. This register can be accessed only if no transaction is
executing (such as after a transaction has stopped). Read
operations during transfers may return an invalid value and write
operation will be ignored. In suspend context, the number of blocks
yet to be transferred can be determined by reading this register.
When restoring transfer context prior to issuing a Resume command,
The local host shall restore the previously saved block count.
0h = Stop count
1h = 1 block
2h = 2 blocks
FFFFh = 65535 blocks
15-11 RESERVED R 0h
10-0 BLEN R/W 0h
Transfer Block Size
This register specifies the block size for block data transfers. Read
operations during transfers may return an invalid value, and write
operations are ignored. When a CMD12 command is issued to stop
the transfer, a read of the BLEN field after transfer completion
(MMCi.MMCHS_STAT[1] TC bit set to 1) will not return the true byte
number of data length while the stop occurs but the value written in
this register before transfer is launched.
0h = No data transfer
1h = 1 byte block length
2h = 2 bytes block length
3h = 3 bytes block length
1FFh = 511 bytes block length
200h = 512 bytes block length
3FFh = 1023 bytes block length
400h = 1024 bytes block length