From: Greg Kroah-Hartman Date: Tue, 31 Mar 2026 06:49:59 +0000 (+0200) Subject: 6.19-stable patches X-Git-Tag: v6.6.131~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81a557a648d616579ca69523b6c5d3ed0f200a16;p=thirdparty%2Fkernel%2Fstable-queue.git 6.19-stable patches added patches: arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch --- diff --git a/queue-6.19/arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch b/queue-6.19/arm64-dts-imx8mn-tqma8mqnl-fix-ldo5-power-off.patch new file mode 100644 index 0000000000..39ac73b7c0 --- /dev/null +++ b/queue-6.19/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 +@@ -69,6 +69,10 @@ + samsung,esc-clock-frequency = <20000000>; + }; + ++®_usdhc2_vqmmc { ++ status = "okay"; ++}; ++ + &sai3 { + assigned-clocks = <&clk IMX8MN_CLK_SAI3>; + assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; +@@ -216,8 +220,7 @@ + , + , + , +- , +- ; ++ ; + }; + + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { +@@ -226,8 +229,7 @@ + , + , + , +- , +- ; ++ ; + }; + + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { +@@ -236,8 +238,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>; +@@ -233,6 +247,10 @@ + vddio-supply = <&ldo3_reg>; + }; + ++&usdhc2 { ++ vqmmc-supply = <®_usdhc2_vqmmc>; ++}; ++ + &usdhc3 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc3>; +@@ -287,6 +305,10 @@ + fsl,pins = ; + }; + ++ pinctrl_reg_usdhc2_vqmmc: regusdhc2vqmmcgrp { ++ fsl,pins = ; ++ }; ++ + pinctrl_usdhc3: usdhc3grp { + fsl,pins = , + , diff --git a/queue-6.19/series b/queue-6.19/series index 410055b125..15c4dcf783 100644 --- a/queue-6.19/series +++ b/queue-6.19/series @@ -305,3 +305,4 @@ ext4-fix-the-might_sleep-warnings-in-kvfree.patch ext4-handle-wraparound-when-searching-for-blocks-for-indirect-mapped-blocks.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