mmc: sdhci-sirf: add sirf tuning function (cmd 19)
authorMinda Chen <Minda.Chen@csr.com>
Thu, 4 Dec 2014 12:09:20 +0000 (20:09 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 19 Jan 2015 08:56:06 +0000 (09:56 +0100)
commitfc0b638a038adbf2d94192451a1e745ef9241bfe
treebff5acee6d6ba0ac875dc861ee72d79efb023ce3
parentf8c58c1136349fdfa9b605c501f2f911622d3a9a
mmc: sdhci-sirf: add sirf tuning function (cmd 19)

Add manual tuning function in CSR atlas7 SoC. It is mainly used
for the UHS-I SD card working SDR50 SDR104 mode.

The tuning principle can be seen in SD spec part1 v3.01 4.2.4.5
(tuning command).

SD host send the cmd19 and set the delay value(0-127).
and the sdcard return 64 bytes data. If the data is same with
the tuning data. The delay value is valid. Execute this commmand
128 times. And calculate the longest window of the valid values.
The value in the middle of this window is the best value.

Signed-off-by: Minda Chen <Minda.Chen@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-sirf.c