From: T Karthik Reddy Date: Wed, 5 Jun 2019 18:40:57 +0000 (+0530) Subject: mmc: sdhci: Read sdhci card detect properties from DT X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f9a216c72d3d8621e2501d2bee2b0406d8dabc0;p=thirdparty%2Fu-boot.git mmc: sdhci: Read sdhci card detect properties from DT This patch reads card detect properties from device tree. Signed-off-by: T Karthik Reddy Signed-off-by: Michal Simek --- diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index e13f47c2c65..7cb256b8b4b 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -509,7 +509,22 @@ static int sdhci_set_ios(struct mmc *mmc) static int sdhci_init(struct mmc *mmc) { struct sdhci_host *host = mmc->priv; +#if CONFIG_IS_ENABLED(DM_MMC) + struct udevice *dev = mmc->dev; + if (dev_read_bool(dev, "non-removable")) { + host->host_caps |= MMC_CAP_NONREMOVABLE; + } else { + if (dev_read_bool(dev, "cd-inverted")) + host->host_caps |= MMC_CAP_CD_ACTIVE_HIGH; + if (dev_read_bool(dev, "broken-cd")) + host->host_caps |= MMC_CAP_NEEDS_POLL; +#if CONFIG_IS_ENABLED(DM_GPIO) + gpio_request_by_name(dev, "cd-gpio", 0, + &host->cd_gpio, GPIOD_IS_IN); +#endif + } +#endif sdhci_reset(host, SDHCI_RESET_ALL); if ((host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR) && !aligned_buffer) {