mmc: sdhci-msm: Add dual voltage capability
SDCC5 controller doesn't advertise 1.8v capability by default. Dual voltage capability is required for SD3.0 support. Add this capability for controllers that support this based on device tree configuration. Change-Id: Ie4cd6db2e7230bc22cd393c8e37d99f49c777cd0 Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
This commit is contained in:
parent
9ce1e0b186
commit
9e36f69ea1
1 changed files with 11 additions and 2 deletions
|
@ -2746,11 +2746,20 @@ static void sdhci_set_default_hw_caps(struct sdhci_msm_host *msm_host,
|
|||
|
||||
/*
|
||||
* Starting with SDCC 5 controller (core major version = 1)
|
||||
* controller won't advertise 3.0v and 8-bit features except for
|
||||
* some targets.
|
||||
* controller won't advertise 3.0v, 1.8v and 8-bit features
|
||||
* except for some targets.
|
||||
*/
|
||||
if (major >= 1 && minor != 0x11 && minor != 0x12) {
|
||||
struct sdhci_msm_reg_data *vdd_io_reg;
|
||||
caps = CORE_3_0V_SUPPORT;
|
||||
/*
|
||||
* Enable 1.8V support capability on controllers that
|
||||
* support dual voltage
|
||||
*/
|
||||
vdd_io_reg = msm_host->pdata->vreg_data->vdd_io_data;
|
||||
if (vdd_io_reg &&
|
||||
(vdd_io_reg->low_vol_level != vdd_io_reg->high_vol_level))
|
||||
caps |= CORE_1_8V_SUPPORT;
|
||||
if (msm_host->pdata->mmc_bus_width == MMC_CAP_8_BIT_DATA)
|
||||
caps |= CORE_8_BIT_SUPPORT;
|
||||
writel_relaxed(
|
||||
|
|
Loading…
Add table
Reference in a new issue