return;
 
        misc_ctrl = sdhci_readl(host, SDHCI_TEGRA_VENDOR_MISC_CTRL);
-       /* Erratum: Enable SDHCI spec v3.00 support */
-       if (soc_data->nvquirks & NVQUIRK_ENABLE_SDHCI_SPEC_300)
-               misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDHCI_SPEC_300;
-       /* Advertise UHS modes as supported by host */
-       if (soc_data->nvquirks & NVQUIRK_ENABLE_SDR50)
-               misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDR50;
-       else
-               misc_ctrl &= ~SDHCI_MISC_CTRL_ENABLE_SDR50;
-       if (soc_data->nvquirks & NVQUIRK_ENABLE_DDR50)
-               misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_DDR50;
-       else
-               misc_ctrl &= ~SDHCI_MISC_CTRL_ENABLE_DDR50;
-       if (soc_data->nvquirks & NVQUIRK_ENABLE_SDR104)
-               misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDR104;
-       else
-               misc_ctrl &= ~SDHCI_MISC_CTRL_ENABLE_SDR104;
-       sdhci_writel(host, misc_ctrl, SDHCI_TEGRA_VENDOR_MISC_CTRL);
-
        clk_ctrl = sdhci_readl(host, SDHCI_TEGRA_VENDOR_CLOCK_CTRL);
+
+       misc_ctrl &= ~(SDHCI_MISC_CTRL_ENABLE_SDHCI_SPEC_300 |
+                      SDHCI_MISC_CTRL_ENABLE_SDR50 |
+                      SDHCI_MISC_CTRL_ENABLE_DDR50 |
+                      SDHCI_MISC_CTRL_ENABLE_SDR104);
+
        clk_ctrl &= ~SDHCI_CLOCK_CTRL_SPI_MODE_CLKEN_OVERRIDE;
-       if (soc_data->nvquirks & SDHCI_MISC_CTRL_ENABLE_SDR50)
-               clk_ctrl |= SDHCI_CLOCK_CTRL_SDR50_TUNING_OVERRIDE;
+
+       /*
+        * If the board does not define a regulator for the SDHCI
+        * IO voltage, then don't advertise support for UHS modes
+        * even if the device supports it because the IO voltage
+        * cannot be configured.
+        */
+       if (!IS_ERR(host->mmc->supply.vqmmc)) {
+               /* Erratum: Enable SDHCI spec v3.00 support */
+               if (soc_data->nvquirks & NVQUIRK_ENABLE_SDHCI_SPEC_300)
+                       misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDHCI_SPEC_300;
+               /* Advertise UHS modes as supported by host */
+               if (soc_data->nvquirks & NVQUIRK_ENABLE_SDR50)
+                       misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDR50;
+               if (soc_data->nvquirks & NVQUIRK_ENABLE_DDR50)
+                       misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_DDR50;
+               if (soc_data->nvquirks & NVQUIRK_ENABLE_SDR104)
+                       misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDR104;
+               if (soc_data->nvquirks & SDHCI_MISC_CTRL_ENABLE_SDR50)
+                       clk_ctrl |= SDHCI_CLOCK_CTRL_SDR50_TUNING_OVERRIDE;
+       }
+
+       sdhci_writel(host, misc_ctrl, SDHCI_TEGRA_VENDOR_MISC_CTRL);
        sdhci_writel(host, clk_ctrl, SDHCI_TEGRA_VENDOR_CLOCK_CTRL);
 
        if (soc_data->nvquirks & NVQUIRK_HAS_PADCALIB)