Message ID | 20200729153121.29548-5-walter.lozano@collabora.com |
---|---|
State | Accepted |
Commit | 7142ff9ec23a3dc496b43b284595bfa25ab668bf |
Delegated to: | Stefano Babic |
Headers | show |
Series | mx6cuboxi: enable OF_PLATDATA with MMC support | expand |
> After enabling OF_PLATDATA support to both MMC and GPIO drivers add the > support for card detection. > Signed-off-by: Walter Lozano <walter.lozano@collabora.com> > Reviewed-by: Simon Glass <sjg@chromium.org> Applied to u-boot-imx, master, thanks ! Best regards, Stefano Babic
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index 2713682cf7..788677984b 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -1498,7 +1498,30 @@ static int fsl_esdhc_probe(struct udevice *dev) priv->bus_width = 4; else priv->bus_width = 1; - priv->non_removable = 1; + + if (dtplat->non_removable) + priv->non_removable = 1; + else + priv->non_removable = 0; + + if (CONFIG_IS_ENABLED(DM_GPIO) && !priv->non_removable) { + struct udevice *gpiodev; + struct driver_info *info; + + info = (struct driver_info *)dtplat->cd_gpios->node; + + ret = device_get_by_driver_info(info, &gpiodev); + + if (ret) + return ret; + + ret = gpio_dev_request_index(gpiodev, gpiodev->name, "cd-gpios", + dtplat->cd_gpios->arg[0], GPIOD_IS_IN, + dtplat->cd_gpios->arg[1], &priv->cd_gpio); + + if (ret) + return ret; + } #endif if (data)