On 26 September 2012 20:38, Kevin Liu <keyuan.liu@xxxxxxxxx> wrote: > From: Kevin Liu <kliu5@xxxxxxxxxxx> > > Host controller must enable 1.8v signal for UHS modes. > Otherwise UHS modes won't take effect. > But mmc core does NOT switch to 1.8v for DDR50 mode. > So enable the 1.8v signal for mmc DDR50 mode in host > driver. > > Signed-off-by: Kevin Liu <kliu5@xxxxxxxxxxx> > --- > drivers/mmc/host/sdhci.c | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index 50e7a54..e3de041 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -1529,8 +1529,15 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) > ctrl_2 |= SDHCI_CTRL_UHS_SDR50; > else if (ios->timing == MMC_TIMING_UHS_SDR104) > ctrl_2 |= SDHCI_CTRL_UHS_SDR104; > - else if (ios->timing == MMC_TIMING_UHS_DDR50) > + else if (ios->timing == MMC_TIMING_UHS_DDR50) { > + struct mmc_card *card; > + > ctrl_2 |= SDHCI_CTRL_UHS_DDR50; > + card = container_of(&(host->mmc), > + struct mmc_card, host); > + if (mmc_card_mmc(card)) > + ctrl_2 |= SDHCI_CTRL_VDD_180; > + } If you want to set the voltage to 1.8. It has to be done from the core layer using the api mmc_set_signal_voltage during the mmc card init. as it is done for 1.2 volts switch. In the comment (mmc_card_init function) it is explicitly mentioned * 1.8V vccq at 3.3V core voltage (vcc) is not required * in the JEDEC spec for DDR. can you please check it. Still if you feel its necessary to change the voltage to 1.8 v, you can do it from mmc_init_card function > sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2); > } > if (!(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN) && > -- > 1.7.0.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html