diff mbox series

[v2,15/16] mmc: meson-gx: change default tx phase

Message ID 20170821160301.21899-16-jbrunet@baylibre.com
State Accepted
Commit bac135da21878282bf1368cdd26c542db731743e
Headers show
Series mmc: meson-gx: driver fixups and upgrades | expand

Commit Message

Jerome Brunet Aug. 21, 2017, 4:03 p.m. UTC
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

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>

---
 drivers/mmc/host/meson-gx-mmc.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

-- 
2.9.5

Comments

Kevin Hilman Aug. 25, 2017, 12:05 a.m. UTC | #1
Jerome Brunet <jbrunet@baylibre.com> writes:

> 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

>

> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>


Reviewed-by: Kevin Hilman <khilman@baylibre.com>
diff mbox series

Patch

diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index 3167f561e1a6..290631d46a4b 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -1158,8 +1158,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);