]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: imx91-11x11-evk: change usdhc tuning step for eMMC and SD
authorLuke Wang <ziniu.wang_1@nxp.com>
Tue, 3 Feb 2026 11:23:10 +0000 (19:23 +0800)
committerFrank Li <Frank.Li@nxp.com>
Tue, 24 Feb 2026 23:09:15 +0000 (18:09 -0500)
During system resume, the following errors occurred:

  [  430.638625] mmc1: error -84 writing Cache Enable bit
  [  430.643618] mmc1: error -84 doing runtime resume

For eMMC and SD, there are two tuning pass windows and the gap between
those two windows may only have one cell. If tuning step > 1, the gap may
just be skipped and host assumes those two windows as a continuous
windows. This will cause a wrong delay cell near the gap to be selected.

Set the tuning step to 1 to avoid selecting the wrong delay cell.

For SDIO, the gap is sufficiently large, so the default tuning step does
not cause this issue.

Fixes: 6772c4cffd87 ("arm64: dts: freescale: add i.MX91 11x11 EVK basic support")
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts

index 03f460d62f7a5887731eea07cdbbb3a29a39f893..6a066a0d86bc2958b301c44c305a39cec3f28efe 100644 (file)
        pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
        pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
        pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       fsl,tuning-step = <1>;
        status = "okay";
 };
 
        pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_gpio_sleep>;
        pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
        vmmc-supply = <&reg_usdhc2_vmmc>;
+       fsl,tuning-step = <1>;
        status = "okay";
 };