[PATCH v2] arm64: dts: imx8mp-var-som: Fix LDO5 shutdown causing SD card timeout
Tarang Raval
tarang.raval at siliconsignals.io
Sun May 4 23:30:30 PDT 2025
Hi Himanshu,
> Fix SD card timeout issue caused by LDO5 regulator getting disabled
> after boot.
>
> The kernel log shows LDO5 being disabled, which leads to a timeout
> on USDHC2:
> [ 33.760561] LDO5: disabling
> [ 81.119861] mmc1: Timeout waiting for hardware interrupt.
>
> To prevent this, set regulator-boot-on and regulator-always-on for
> LDO5. Also add the vqmmc regulator to properly support 1.8V/3.3V
> signaling for USDHC2 using a GPIO-controlled regulator.
>
> Fixes: 6c2a1f4f71258 ("arm64: dts: imx8mp-var-som-symphony: Add Variscite
> Symphony board and VAR-SOM-MX8MP SoM")
> Signed-off-by: Himanshu Bhavani <himanshu.bhavani at siliconsignals.io>
Acked-by: Tarang Raval <tarang.raval at siliconsignals.io>
Best Regards,
Tarang
> ---
> arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi
> index b2ac2583a592..b59da91fdd04 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi
> @@ -35,7 +35,6 @@ memory at 40000000 {
> <0x1 0x00000000 0 0xc0000000>;
> };
>
> -
> reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
> compatible = "regulator-fixed";
> regulator-name = "VSD_3V3";
> @@ -46,6 +45,16 @@ reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
> startup-delay-us = <100>;
> off-on-delay-us = <12000>;
> };
> +
> + reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc {
> + compatible = "regulator-gpio";
> + regulator-name = "VSD_VSEL";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> + gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
> + states = <3300000 0x0 1800000 0x1>;
> + vin-supply = <&ldo5>;
> + };
> };
>
> &A53_0 {
> @@ -205,6 +214,7 @@ &usdhc2 {
> pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
> cd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
> vmmc-supply = <®_usdhc2_vmmc>;
> + vqmmc-supply = <®_usdhc2_vqmmc>;
> bus-width = <4>;
> status = "okay";
> };
> --
> 2.34.1
More information about the linux-arm-kernel
mailing list