浏览代码

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>
Jerome Brunet 8 年之前
父节点
当前提交
bac135da21
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      drivers/mmc/host/meson-gx-mmc.c

+ 7 - 1
drivers/mmc/host/meson-gx-mmc.c

@@ -1156,8 +1156,14 @@ static int meson_mmc_probe(struct platform_device *pdev)
 	if (ret)
 	if (ret)
 		goto free_host;
 		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.core_phase = 180;
-	host->tp.tx_phase = 0;
+	host->tp.tx_phase = 270;
 	host->tp.rx_phase = 0;
 	host->tp.rx_phase = 0;
 
 
 	ret = meson_mmc_clk_init(host);
 	ret = meson_mmc_clk_init(host);