diff options
-rw-r--r-- | drivers/mmc/fsl_esdhc.c | 5 | ||||
-rw-r--r-- | include/fsl_esdhc.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index d41a8a7..6bf061b 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -644,6 +644,9 @@ static int esdhc_init(struct mmc *mmc) esdhc_setbits32(®s->vendorspec, ESDHC_VENDORSPEC_VSELECT); #endif + if (cfg->vs18_enable) + esdhc_setbits32(®s->vendorspec, ESDHC_VENDORSPEC_VSELECT); + return 0; } @@ -712,6 +715,8 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg) esdhc_setbits32(®s->vendorspec, VENDORSPEC_PEREN | VENDORSPEC_HCKEN | VENDORSPEC_IPGEN | VENDORSPEC_CKEN); #endif + if (cfg->vs18_enable) + esdhc_setbits32(®s->vendorspec, ESDHC_VENDORSPEC_VSELECT); writel(SDHCI_IRQ_EN_BITS, ®s->irqstaten); memset(&cfg->cfg, 0, sizeof(cfg->cfg)); diff --git a/include/fsl_esdhc.h b/include/fsl_esdhc.h index 539064c..55cfac1 100644 --- a/include/fsl_esdhc.h +++ b/include/fsl_esdhc.h @@ -182,6 +182,7 @@ struct fsl_esdhc_cfg { u32 sdhc_clk; u8 max_bus_width; u8 wp_enable; + u8 vs18_enable; /*default use 1.8v if this var is not 0*/ struct mmc_config cfg; }; |