On qcom SD host controllers voltage switching be done after the HW is ready for it. The HW informs its readiness through power irq. The voltage switching should happen only then. So added support to register voltage regulators from the msm driver and use them. This patchset was posted long back but not actively pursued https://lore.kernel.org/linux-arm-msm/1539004739-32060-1-git-send-email-vbadigan@xxxxxxxxxxxxxx/ So posting it as fresh patchset. Veerabhadrarao Badiganti (1): dt-bindings: mmc: Supply max load for mmc supplies Vijay Viswanath (2): mmc: sdhci-msm: Use internal voltage control mmc: sdhci: Allow platform controlled voltage switching .../devicetree/bindings/mmc/mmc-controller.yaml | 16 ++ drivers/mmc/host/sdhci-msm.c | 215 ++++++++++++++++++++- drivers/mmc/host/sdhci.c | 32 +-- drivers/mmc/host/sdhci.h | 1 + 4 files changed, 243 insertions(+), 21 deletions(-) -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project