]> git.sur5r.net Git - u-boot/blobdiff - drivers/mmc/omap_hsmmc.c
pinctrl: uniphier: fix NAND and SD pin-mux settings for PH1-LD11/LD20
[u-boot] / drivers / mmc / omap_hsmmc.c
index 7ee8283ae2dcc20a2ff4ed45de9d34729ce4bd60..85a832bd420f6d706df9912b0eb3c161915c2469 100644 (file)
@@ -96,7 +96,7 @@ static int omap_mmc_setup_gpio_in(int gpio, const char *label)
 }
 #endif
 
-#if defined(CONFIG_OMAP44XX) && defined(CONFIG_TWL6030_POWER)
+#if defined(CONFIG_OMAP44XX)
 static void omap4_vmmc_pbias_config(struct mmc *mmc)
 {
        u32 value = 0;
@@ -104,8 +104,6 @@ static void omap4_vmmc_pbias_config(struct mmc *mmc)
        value = readl((*ctrl)->control_pbiaslite);
        value &= ~(MMC1_PBIASLITE_PWRDNZ | MMC1_PWRDNZ);
        writel(value, (*ctrl)->control_pbiaslite);
-       twl6030_power_mmc_init(0);
-       twl6030_power_mmc_init(1);
        value = readl((*ctrl)->control_pbiaslite);
        value |= MMC1_PBIASLITE_VMODE | MMC1_PBIASLITE_PWRDNZ | MMC1_PWRDNZ;
        writel(value, (*ctrl)->control_pbiaslite);
@@ -175,7 +173,7 @@ static unsigned char mmc_board_init(struct mmc *mmc)
                &prcm_base->iclken1_core);
 #endif
 
-#if defined(CONFIG_OMAP44XX) && defined(CONFIG_TWL6030_POWER)
+#if defined(CONFIG_OMAP44XX)
        /* PBIAS config needed for MMC1 only */
        if (mmc->block_dev.devnum == 0)
                omap4_vmmc_pbias_config(mmc);
@@ -775,7 +773,8 @@ static int omap_hsmmc_ofdata_to_platdata(struct udevice *dev)
        struct mmc_config *cfg;
        int val;
 
-       priv->base_addr = (struct hsmmc *)dev_get_addr(dev);
+       priv->base_addr = map_physmem(dev_get_addr(dev), sizeof(struct hsmmc *),
+                                     MAP_NOCACHE);
        cfg = &priv->cfg;
 
        cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS;
@@ -821,6 +820,11 @@ static int omap_hsmmc_probe(struct udevice *dev)
        if (mmc == NULL)
                return -1;
 
+#ifdef OMAP_HSMMC_USE_GPIO
+       gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio, GPIOD_IS_IN);
+       gpio_request_by_name(dev, "wp-gpios", 0, &priv->wp_gpio, GPIOD_IS_IN);
+#endif
+
        upriv->mmc = mmc;
 
        return 0;