Index: sys/dev/mmc/mmc_fdt_helpers.c =================================================================== --- sys/dev/mmc/mmc_fdt_helpers.c +++ sys/dev/mmc/mmc_fdt_helpers.c @@ -159,6 +159,23 @@ } if (helper->vqmmc_supply != NULL) { + int uvolt; + if (regulator_get_voltage(helper->vqmmc_supply, &uvolt) == 0) { + switch (uvolt) { + case 1200000: + host->ios.vccq = vccq_120; + break; + case 1800000: + host->ios.vccq = vccq_180; + break; + case 3300000: + host->ios.vccq = vccq_330; + break; + } + if (bootverbose) + device_printf(dev, + "vqmmc current voltage: %d uV\n", uvolt); + } if (regulator_check_voltage(helper->vqmmc_supply, 1200000) == 0) host->caps |= MMC_CAP_SIGNALING_120; else