OSDN Git Service

mmc: sdhci-omap: Workaround errata regarding SDR104/HS200 tuning failures (i929)
authorFaiz Abbas <faiz_abbas@ti.com>
Tue, 11 Dec 2018 14:22:53 +0000 (19:52 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 10:55:51 +0000 (11:55 +0100)
commit971d1725572158c9df4427b42070d3ccdd7ae6fd
tree070e2ec63264480c38d28907d0508624191ca03e
parent6811f1727af00233db22f67559b9e924e6c19593
mmc: sdhci-omap: Workaround errata regarding SDR104/HS200 tuning failures (i929)

[ Upstream commit 961de0a856e3a30c0238d1269c0b17f9b179b6c3 ]

Errata i929 in certain OMAP5/DRA7XX/AM57XX silicon revisions
(SPRZ426D - November 2014 - Revised February 2018 [1]) mentions
unexpected tuning pattern errors. A small failure band may be present
in the tuning range which may be missed by the current algorithm.
Furthermore, the failure bands vary with temperature leading to
different optimum tuning values for different temperatures.

As suggested in the related Application Report (SPRACA9B - October 2017
- Revised July 2018 [2]), tuning should be done in two stages.
In stage 1, assign the optimum ratio in the maximum pass window for the
current temperature. In stage 2, if the chosen value is close to the
small failure band, move away from it in the appropriate direction.

References:
[1] http://www.ti.com/lit/pdf/sprz426
[2] http://www.ti.com/lit/pdf/SPRACA9

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/Kconfig
drivers/mmc/host/sdhci-omap.c