If a board DT describes a cd-gpios property, but also marks the storage
as non-removable, we must ignore the GPIO (as Linux does).

Teach the DM_MMC part of the Allwinner MMC driver about the
non-removable DT property, to fix DM_MMC access on the SoPine and
Pine64-LTS board.

Signed-off-by: Andre Przywara <andre.przyw...@arm.com>
---
 drivers/mmc/sunxi_mmc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
index 87424c23dc..374775194d 100644
--- a/drivers/mmc/sunxi_mmc.c
+++ b/drivers/mmc/sunxi_mmc.c
@@ -658,7 +658,8 @@ static int sunxi_mmc_probe(struct udevice *dev)
                return ret;
 
        /* This GPIO is optional */
-       if (!gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio,
+       if (!dev_read_bool(dev, "non-removable") &&
+           !gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio,
                                  GPIOD_IS_IN)) {
                int cd_pin = gpio_get_number(&priv->cd_gpio);
 
-- 
2.14.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to