[PATCH] 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 ---
drivers/mmc/rockchip_sdhci.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c index 1ac00587d4..278473899c 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); }

On 2021/10/15 下午4:41, Yifeng Zhao wrote:
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
Thanks, - Kever
drivers/mmc/rockchip_sdhci.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c index 1ac00587d4..278473899c 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); }

On 10/15/21 5:41 PM, Yifeng Zhao wrote:
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
drivers/mmc/rockchip_sdhci.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c index 1ac00587d4..278473899c 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]);
Just wonder about doesn't it affect to other mode?
Best Regards, Jaehoon Chung
read_poll_timeout(readl, &phy->emmcphy_status, dllrdy, PHYCTRL_DLL_LOCK_WO_TMOUT(dllrdy), 1, 5000); }

Hi Jaehoon
Just wonder about doesn't it affect to other mode?
The strobe line will only be used in hs400 mode and will not affect other modes.
Best Regards, Yifeng Zhao
On 10/15/21 5:41 PM, Yifeng Zhao wrote:
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
drivers/mmc/rockchip_sdhci.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c index 1ac00587d4..278473899c 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]);
Just wonder about doesn't it affect to other mode?
Best Regards, Jaehoon Chung
read_poll_timeout(readl, &phy->emmcphy_status, dllrdy, PHYCTRL_DLL_LOCK_WO_TMOUT(dllrdy), 1, 5000); }

Hi Yifeng,
On 10/18/21 10:08 AM, 赵仪峰 wrote:
Hi Jaehoon
Just wonder about doesn't it affect to other mode?
The strobe line will only be used in hs400 mode and will not affect other modes.
Best Regards, Yifeng Zhao
On 10/15/21 5:41 PM, Yifeng Zhao wrote:
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: Jaehoon Chung jh80.chung@samsung.com
Best Regards, Jaehoon Chung
drivers/mmc/rockchip_sdhci.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c index 1ac00587d4..278473899c 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]);
Just wonder about doesn't it affect to other mode?
Best Regards, Jaehoon Chung
read_poll_timeout(readl, &phy->emmcphy_status, dllrdy, PHYCTRL_DLL_LOCK_WO_TMOUT(dllrdy), 1, 5000); }
participants (4)
-
Jaehoon Chung
-
Kever Yang
-
Yifeng Zhao
-
赵仪峰