From: Greg Kroah-Hartman Date: Tue, 31 Mar 2026 06:48:51 +0000 (+0200) Subject: 6.6-stable patches X-Git-Tag: v6.6.131~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4e8f8a39bad9cd3e1b20b971abb8af8d97028ea;p=thirdparty%2Fkernel%2Fstable-queue.git 6.6-stable patches added patches: arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch --- diff --git a/queue-6.6/arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch b/queue-6.6/arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch new file mode 100644 index 0000000000..94d3642260 --- /dev/null +++ b/queue-6.6/arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch @@ -0,0 +1,113 @@ +From 8adc841d43ebceabec996c9dcff6e82d3e585268 Mon Sep 17 00:00:00 2001 +From: Markus Niebel +Date: Tue, 16 Dec 2025 14:39:25 +0100 +Subject: arm64: dts: imx8mn-tqma8mqnl: fix LDO5 power off + +From: Markus Niebel + +commit 8adc841d43ebceabec996c9dcff6e82d3e585268 upstream. + +Fix SD card removal caused by automatic LDO5 power off after boot + +To prevent this, add vqmmc regulator for USDHC, using a GPIO-controlled +regulator that is supplied by LDO5. Since this is implemented on SoM but +used on baseboards with SD-card interface, implement the functionality +on SoM part and optionally enable it on baseboards if needed. + +Signed-off-by: Markus Niebel +Signed-off-by: Alexander Stein +Signed-off-by: Shawn Guo +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dts | 13 ++++---- + arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi | 22 ++++++++++++++ + 2 files changed, 29 insertions(+), 6 deletions(-) + +--- a/arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dts ++++ b/arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dts +@@ -63,6 +63,10 @@ + }; + }; + ++®_usdhc2_vqmmc { ++ status = "okay"; ++}; ++ + &sai3 { + assigned-clocks = <&clk IMX8MN_CLK_SAI3>; + assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; +@@ -207,8 +211,7 @@ + , + , + , +- , +- ; ++ ; + }; + + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { +@@ -217,8 +220,7 @@ + , + , + , +- , +- ; ++ ; + }; + + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { +@@ -227,8 +229,7 @@ + , + , + , +- , +- ; ++ ; + }; + + pinctrl_usdhc2_gpio: usdhc2-gpiogrp { +--- a/arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi ++++ b/arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi +@@ -30,6 +30,20 @@ + regulator-max-microvolt = <3300000>; + }; + ++ reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc { ++ compatible = "regulator-gpio"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_reg_usdhc2_vqmmc>; ++ regulator-name = "V_SD2"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3300000>; ++ gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; ++ states = <1800000 0x1>, ++ <3300000 0x0>; ++ vin-supply = <&ldo5_reg>; ++ status = "disabled"; ++ }; ++ + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; +@@ -219,6 +233,10 @@ + }; + }; + ++&usdhc2 { ++ vqmmc-supply = <®_usdhc2_vqmmc>; ++}; ++ + &usdhc3 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc3>; +@@ -273,6 +291,10 @@ + fsl,pins = ; + }; + ++ pinctrl_reg_usdhc2_vqmmc: regusdhc2vqmmcgrp { ++ fsl,pins = ; ++ }; ++ + pinctrl_usdhc3: usdhc3grp { + fsl,pins = , + , diff --git a/queue-6.6/series b/queue-6.6/series index 5315131e87..ed6ee1da17 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -139,3 +139,4 @@ ext4-fix-use-after-free-in-update_super_work-when-racing-with-umount.patch ext4-fix-the-might_sleep-warnings-in-kvfree.patch ext4-fix-iloc.bh-leak-in-ext4_fc_replay_inode-error-paths.patch ext4-always-drain-queued-discard-work-in-ext4_mb_release.patch +arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch