mirror of
https://github.com/LineageOS/android_kernel_samsung_msm8226.git
synced 2026-10-13 00:00:48 +02:00
SDR104 (supported by SD/SDIO 3.0 spec compliant cards) bus speed mode requires DLL (Delay Locked Loop for sampling clock generation) HW block to be tuned if clock rate is >100MHz. To help the sampling clock tuning, SD/SDIO 3.0 specification has added support for tuning commands (CMD19). During card initialization, driver uses these tuning commands to search for optimal sampling point and then configures the DLL HW with this optimal sampling point. In addition, our SDCC controller's DLL HW has a mechanism of data tracking (CDR) which can be enabled during read transaction so the host will not lose the sampling point as a result of voltage and, especially, temperature variations. Tuning pattern commands (CMD19) can be sent automatically by HW (by using AUTO_CMD19 bit) before any RX transaction for helping the CDR to track after the correct sampling point. Although sending CMD19 automatically before every read commands is overhead and reduces read performance by some amount. SD/SDIO spec does not mandate the host to send tuning command before every read operations. CRs-Fixed: 424685 Change-Id: I806317b86f38ed94c6d399fc18caede4f610cf6a Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>