aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYifeng Zhao <yifeng.zhao@rock-chips.com>2021-10-15 16:41:27 +0800
committerKever Yang <kever.yang@rock-chips.com>2021-10-15 20:57:41 +0800
commit022f552704b6467966e4fad39c85a6aca9204c94 (patch)
tree36b6fb5cdbb5a82de60437e8e39573a89a799265
parentf2cdd44adb9f06f455185b4882cfd91e8d75d58a (diff)
downloadu-boot-022f552704b6467966e4fad39c85a6aca9204c94.zip
u-boot-022f552704b6467966e4fad39c85a6aca9204c94.tar.gz
u-boot-022f552704b6467966e4fad39c85a6aca9204c94.tar.bz2
mmc: rockchip_sdhci: enable strobe line for HS400
The default configuration of rk3399 EMMC PHY does not enable the strobe line, and EMMC controller will got data transmission error at HS400 mode. Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
-rw-r--r--drivers/mmc/rockchip_sdhci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c
index 1ac0058..2784738 100644
--- a/drivers/mmc/rockchip_sdhci.c
+++ b/drivers/mmc/rockchip_sdhci.c
@@ -143,6 +143,9 @@ static void rk3399_emmc_phy_power_on(struct rockchip_emmc_phy *phy, u32 clock)
writel(RK_CLRSETBITS(3 << 12, freqsel << 12), &phy->emmcphy_con[0]);
writel(RK_CLRSETBITS(1 << 1, 1 << 1), &phy->emmcphy_con[6]);
+ /* REN Enable on STRB Line for HS400 */
+ writel(RK_CLRSETBITS(0, 1 << 9), &phy->emmcphy_con[2]);
+
read_poll_timeout(readl, &phy->emmcphy_status, dllrdy,
PHYCTRL_DLL_LOCK_WO_TMOUT(dllrdy), 1, 5000);
}