arm64: dts: imx8mm-verdin: add sd1 sleep pinctrl
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>
Thu, 24 Mar 2022 15:56:49 +0000 (16:56 +0100)
committerShawn Guo <shawnguo@kernel.org>
Mon, 11 Apr 2022 01:39:13 +0000 (09:39 +0800)
Add SD1 sleep pinctrl to avoid backfeeding during sleep.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi

index 97dd7a0..eafa88d 100644 (file)
        bus-width = <4>;
        cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
        disable-wp;
-       pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
        pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_cd>;
        pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_cd>;
        pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_cd>;
+       pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_cd_sleep>;
        vmmc-supply = <&reg_usdhc2_vmmc>;
 };
 
                        <MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12               0x6>;   /* SODIMM 84 */
        };
 
+       pinctrl_usdhc2_cd_sleep: usdhc2cdslpgrp {
+               fsl,pins =
+                       <MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12               0x0>;   /* SODIMM 84 */
+       };
+
        pinctrl_usdhc2_pwr_en: usdhc2pwrengrp {
                fsl,pins =
                        <MX8MM_IOMUXC_NAND_CLE_GPIO3_IO5                0x6>;   /* SODIMM 76 */
                        <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3            0x96>;
        };
 
+       /* Avoid backfeeding with removed card power */
+       pinctrl_usdhc2_sleep: usdhc2slpgrp {
+               fsl,pins =
+                       <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT         0x0>,
+                       <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK                0x0>,
+                       <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD                0x0>,
+                       <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0            0x0>,
+                       <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1            0x0>,
+                       <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2            0x0>,
+                       <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3            0x0>;
+       };
+
        /*
         * On-module Wi-Fi/BT or type specific SDHC interface
         * (e.g. on X52 extension slot of Verdin Development Board)