summary refs log tree commit diff
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2017-08-28 16:29:14 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2017-08-30 15:03:51 +0200
commitbac135da21878282bf1368cdd26c542db731743e (patch)
tree3a07e84cb61042b27c2c5e3ad9141385f26f2bd5
parentb1231b2f7305ade10694a59ffbcfa92357b49a0a (diff)
downloadlinux-bac135da21878282bf1368cdd26c542db731743e.tar.gz
mmc: meson-gx: change default tx phase
Initial default tx phase was set to 0 while the datasheet recommends 270.
Some cards fails to initialize with this setting and eMMC mode DDR52 does
not work.

Changing this setting to 270 fixes these issues, without any regression
so far

Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/host/meson-gx-mmc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index 0cffc705bfe3..efffd36c8d77 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -1156,8 +1156,14 @@ static int meson_mmc_probe(struct platform_device *pdev)
 	if (ret)
 		goto free_host;
 
+	/*
+	 * Set phases : These values are mostly the datasheet recommended ones
+	 * except for the Tx phase. Datasheet recommends 180 but some cards
+	 * fail at initialisation with it. 270 works just fine, it fixes these
+	 * initialisation issues and enable eMMC DDR52 mode.
+	 */
 	host->tp.core_phase = 180;
-	host->tp.tx_phase = 0;
+	host->tp.tx_phase = 270;
 	host->tp.rx_phase = 0;
 
 	ret = meson_mmc_clk_init(host);