mmc: sdhci_am654: Add support for software tuning
authorFaiz Abbas <faiz_abbas@ti.com>
Wed, 23 Sep 2020 10:52:05 +0000 (16:22 +0530)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 28 Sep 2020 10:31:07 +0000 (12:31 +0200)
commit13ebeae68ac9830fb8e6e8dfc84f55dba5aab58b
tree18d02784ec6aa8da5d54bb0600fff3509877c8d6
parenta0a62497f6aac0f9ba25e7befb334046c98fdf92
mmc: sdhci_am654: Add support for software tuning

With the new SW tuning App note[1], a custom tuning algorithm is
required for eMMC HS200, HS400 and SD card UHS modes. The algorithm
involves running through the 32 possible input tap delay values and
sending the appropriate tuning command (CMD19/21) for each of them
to get a fail or pass result for each of the values. Typically, the
range will have a small contiguous failing window. Considering the
tuning range as a circular buffer, the algorithm then sets a final
tuned value directly opposite to the failing window.

[1] https://www.ti.com/lit/pdf/spract9

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20200923105206.7988-6-faiz_abbas@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci_am654.c