mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-21 01:12:11 +01:00
mmc: enable/disable VQMMC regulator only during MMC power cycle
Disrupting the regulator voltage during ios configuration messes with the MMC initialization sequence. Move the VQMMC regulator enable/disable functions to the MMC power cycle function, similar to how its done for the VMMC regulator. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
0b75109b6a
commit
0f425edd10
@ -644,20 +644,12 @@ static int dwmci_set_ios(struct mmc *mmc)
|
||||
if (mmc->vqmmc_supply) {
|
||||
int ret;
|
||||
|
||||
ret = regulator_set_enable_if_allowed(mmc->vqmmc_supply, false);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (mmc->signal_voltage == MMC_SIGNAL_VOLTAGE_180)
|
||||
ret = regulator_set_value(mmc->vqmmc_supply, 1800000);
|
||||
else
|
||||
ret = regulator_set_value(mmc->vqmmc_supply, 3300000);
|
||||
if (ret && ret != -ENOSYS)
|
||||
return ret;
|
||||
|
||||
ret = regulator_set_enable_if_allowed(mmc->vqmmc_supply, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@ -2844,6 +2844,16 @@ static int mmc_power_on(struct mmc *mmc)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if (mmc->vqmmc_supply) {
|
||||
int ret = regulator_set_enable_if_allowed(mmc->vqmmc_supply,
|
||||
true);
|
||||
|
||||
if (ret && ret != -ENOSYS) {
|
||||
printf("Error enabling VQMMC supply : %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
@ -2861,6 +2871,16 @@ static int mmc_power_off(struct mmc *mmc)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if (mmc->vqmmc_supply) {
|
||||
int ret = regulator_set_enable_if_allowed(mmc->vqmmc_supply,
|
||||
false);
|
||||
|
||||
if (ret && ret != -ENOSYS) {
|
||||
pr_debug("Error disabling VQMMC supply : %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user