aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Karlman <jonas@kwiboo.se>2023-07-19 21:21:00 +0000
committerTom Rini <trini@konsulko.com>2023-08-14 09:14:41 -0400
commit01b2917a1973b804338d3edbbd46198c540ba9f5 (patch)
tree99340a83103530a83c49b59a9280cc833bd1bec3
parent9a2e9cc659a2ea6c7219fa86339dfef47d0b1516 (diff)
downloadu-boot-01b2917a1973b804338d3edbbd46198c540ba9f5.zip
u-boot-01b2917a1973b804338d3edbbd46198c540ba9f5.tar.gz
u-boot-01b2917a1973b804338d3edbbd46198c540ba9f5.tar.bz2
mmc: dw_mmc: Keep vqmmc-supply enable count in balance
With the commit 4fcba5d556b4 ("regulator: implement basic reference counter"), keeping regulator enablement in balance become more important. Disable vqmmc-supply before signal voltage is changed to keep regulator enable counter in balance. Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
-rw-r--r--drivers/mmc/dw_mmc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index 5085a3b..400066f 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -509,6 +509,10 @@ 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)
regulator_set_value(mmc->vqmmc_supply, 1800000);
else