SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
In UHS-I mode the SD bus operates in high clock frequency mode and the data window from the card on CMD and DAT lines get smaller. The position of the data window varies depending on the card and the host system. To adjust the sampling clock when SDR104/HS200 operation mode is used the eMMC/SD/SDIOi host controller supports a tuning circuit. This tuning circuit is a dedicated DLL which delays the clock signal used for data sampling. The DLL is not part of the eMMC/SD/SDIOi host controller. It is instantiated at top level between the IOs and the host controller. There are two DLLs. One for MMC1 when SDR104 mode is used and one for MMC2 when HS200 mode is used.
In the default, lower frequency operation, a fixed sampling clock is used to receive signals on CMD and DAT lines. Before using the SDR104/HS200 or SDR50 (if MMCHS_CAPA2[13] TSDR50 = 0x1) modes software must execute the tuning procedure at the initialization sequence regardless of MMCHS_CAPA2[15:14] RTM value.
The software starts the tuning sequence by setting MMCHS_DLL[20] SWT to 1. Then it issues CMD19 for a SD card or CMD21 for an eMMC device repeatedly while cycling through 32 DLL ratios and recording pass/fail results for each. Thereafter the MMCHS_AC12[23] SCLK_SEL bit is checked and if it is set to 0 this indicates that the tuning procedure has failed. When MMCHS_AC12[23] SCLK_SEL is set to 1, this indicates that the tuning procedure has completed successfully. For more information about the DLL tuning procedure, see Section 25.5.1.2.4, SDR104/HS200 DLL Tuning Procedure.
The eMMC/SD/SDIO controller supports a Conflict Error (CFT Error) on the CMD line. This error detection logic must be disabled for SDR104/HS200 mode by setting the MMCHS_DLL[20] SWT bit to 0x1 during the DLL tuning procedure. This value (0x1) must be kept while SDR104/HS200 mode is used.
The eMMC/SD/SDIO controller generates a CFT error when it detects that the value sent on the CMD line is not the same as the value returned, indicating an external source is overriding the value.