imx8mm-somdevices: Change usdhc2 cd gpio.
authorJosep Orga <jorga@somdevices.com>
Thu, 2 Sep 2021 15:06:10 +0000 (17:06 +0200)
committerJosep Orga <jorga@somdevices.com>
Thu, 2 Sep 2021 15:06:10 +0000 (17:06 +0200)
Signed-off-by: Josep Orga <jorga@somdevices.com>
arch/arm/dts/imx8mm-somdevices.dts
board/somdevices/imx8mm_somdevices/spl.c

index d2f35de..d5a1a08 100644 (file)
        pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
        pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
        pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
-       cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+       cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
        bus-width = <4>;
        vmmc-supply = <&reg_usdhc2_vmmc>;
        status = "okay";
 
        pinctrl_usdhc2_gpio: usdhc2grpgpiogrp {
                fsl,pins = <
-                       MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15      0x1c4
+                       MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12        0x1c4
                >;
        };
 
index 4ca63ff..066cee7 100644 (file)
@@ -75,7 +75,7 @@ struct i2c_pads_info i2c_pad_info1 = {
        },
 };
 
-#define USDHC2_CD_GPIO IMX_GPIO_NR(2, 18)
+#define USDHC2_CD_GPIO IMX_GPIO_NR(2, 12)
 #define USDHC2_PWR_GPIO IMX_GPIO_NR(2, 19)
 
 #define USDHC_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE |PAD_CTL_PE | \
@@ -105,17 +105,8 @@ static iomux_v3_cfg_t const usdhc2_pads[] = {
        IMX8MM_PAD_SD2_RESET_B_GPIO2_IO19 | MUX_PAD_CTRL(USDHC_GPIO_PAD_CTRL),
 };
 
-/*
- * The evk board uses DAT3 to detect CD card plugin,
- * in u-boot we mux the pin to GPIO when doing board_mmc_getcd.
- */
 static iomux_v3_cfg_t const usdhc2_cd_pad =
-       IMX8MM_PAD_SD2_DATA3_GPIO2_IO18 | MUX_PAD_CTRL(USDHC_GPIO_PAD_CTRL);
-
-static iomux_v3_cfg_t const usdhc2_dat3_pad =
-       IMX8MM_PAD_SD2_DATA3_USDHC2_DATA3 |
-       MUX_PAD_CTRL(USDHC_PAD_CTRL);
-
+       IMX8MM_PAD_SD2_CD_B_GPIO2_IO12 | MUX_PAD_CTRL(USDHC_GPIO_PAD_CTRL);
 
 static struct fsl_esdhc_cfg usdhc_cfg[2] = {
        {USDHC2_BASE_ADDR, 0, 4},
@@ -177,13 +168,7 @@ int board_mmc_getcd(struct mmc *mmc)
                gpio_request(USDHC2_CD_GPIO, "usdhc2 cd");
                gpio_direction_input(USDHC2_CD_GPIO);
 
-               /*
-                * Since it is the DAT3 pin, this pin is pulled to
-                * low voltage if no card
-                */
-               ret = gpio_get_value(USDHC2_CD_GPIO);
-
-               imx_iomux_v3_setup_pad(usdhc2_dat3_pad);
+               ret = !gpio_get_value(USDHC2_CD_GPIO);
                return ret;
        }