2023-07-24 16:29:55

by Xiaolei Wang

[permalink] [raw]
Subject: [PATCH v3] ARM: dts: imx: Set default tuning step for imx7d usdhc

If the tuning step is not set, the tuning step is set to 1.
For some sd cards, the following Tuning timeout will occur.

Tuning failed, falling back to fixed sampling clock
mmc0: Tuning failed, falling back to fixed sampling clock

So set the default tuning step. This refers to the NXP vendor's
commit below:

https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/
arch/arm/boot/dts/imx7s.dtsi#L1216-L1217

Fixes: 1e336aa0c025 ("mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting")
Signed-off-by: Xiaolei Wang <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>
---

v3:
* Add the timeout message to commit log

v2:
* Refer to https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/arch/arm/boot/dts/imx7s.dtsi#L1216-L1217
and add the following attributes for all usdhc of imx7:
fsl,tuning-step = <2>;
fsl,tuning-start-tap = <20>;

arch/arm/boot/dts/nxp/imx/imx7s.dtsi | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/nxp/imx/imx7s.dtsi b/arch/arm/boot/dts/nxp/imx/imx7s.dtsi
index 54026c2c93fa..6ffb428dc939 100644
--- a/arch/arm/boot/dts/nxp/imx/imx7s.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx7s.dtsi
@@ -1184,6 +1184,8 @@ usdhc1: mmc@30b40000 {
<&clks IMX7D_USDHC1_ROOT_CLK>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
+ fsl,tuning-step = <2>;
+ fsl,tuning-start-tap = <20>;
status = "disabled";
};

@@ -1196,6 +1198,8 @@ usdhc2: mmc@30b50000 {
<&clks IMX7D_USDHC2_ROOT_CLK>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
+ fsl,tuning-step = <2>;
+ fsl,tuning-start-tap = <20>;
status = "disabled";
};

@@ -1208,6 +1212,8 @@ usdhc3: mmc@30b60000 {
<&clks IMX7D_USDHC3_ROOT_CLK>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
+ fsl,tuning-step = <2>;
+ fsl,tuning-start-tap = <20>;
status = "disabled";
};

--
2.25.1



2023-07-30 14:13:13

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v3] ARM: dts: imx: Set default tuning step for imx7d usdhc

On Mon, Jul 24, 2023 at 11:45:10PM +0800, Xiaolei Wang wrote:
> If the tuning step is not set, the tuning step is set to 1.
> For some sd cards, the following Tuning timeout will occur.
>
> Tuning failed, falling back to fixed sampling clock
> mmc0: Tuning failed, falling back to fixed sampling clock
>
> So set the default tuning step. This refers to the NXP vendor's
> commit below:
>
> https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/
> arch/arm/boot/dts/imx7s.dtsi#L1216-L1217
>
> Fixes: 1e336aa0c025 ("mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting")
> Signed-off-by: Xiaolei Wang <[email protected]>
> Reviewed-by: Fabio Estevam <[email protected]>

Applied, thanks!