Commit c6888983 authored by Himanshu Bhavani's avatar Himanshu Bhavani Committed by Shawn Guo
Browse files

arm64: dts: imx8mp-var-som: Fix LDO5 shutdown causing SD card timeout



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: 6c2a1f4f ("arm64: dts: imx8mp-var-som-symphony: Add Variscite Symphony board and VAR-SOM-MX8MP SoM")
Signed-off-by: default avatarHimanshu Bhavani <himanshu.bhavani@siliconsignals.io>
Acked-by: default avatarTarang Raval <tarang.raval@siliconsignals.io>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 9379508f
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ memory@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 = <&reg_usdhc2_vmmc>;
	vqmmc-supply = <&reg_usdhc2_vqmmc>;
        bus-width = <4>;
        status = "okay";
};