Lines Matching refs:ios
382 mmc->ops->set_ios(mmc, &mmc->ios); in sdhci_init()
937 struct mmc_ios *ios = &mmc->ios; in sdhci_calc_sw_timeout() local
938 unsigned char bus_width = 1 << ios->bus_width; in sdhci_calc_sw_timeout()
2307 static bool sdhci_presetable_values_change(struct sdhci_host *host, struct mmc_ios *ios) in sdhci_presetable_values_change() argument
2315 (sdhci_preset_needed(host, ios->timing) || host->drv_type != ios->drv_type); in sdhci_presetable_values_change()
2318 void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdhci_set_ios() argument
2327 if (ios->power_mode == MMC_POWER_UNDEFINED) in sdhci_set_ios()
2332 ios->power_mode == MMC_POWER_OFF) in sdhci_set_ios()
2341 if (ios->power_mode == MMC_POWER_OFF) { in sdhci_set_ios()
2347 (ios->power_mode == MMC_POWER_UP) && in sdhci_set_ios()
2351 if (!ios->clock || ios->clock != host->clock) { in sdhci_set_ios()
2352 turning_on_clk = ios->clock && !host->clock; in sdhci_set_ios()
2354 host->ops->set_clock(host, ios->clock); in sdhci_set_ios()
2355 host->clock = ios->clock; in sdhci_set_ios()
2371 host->ops->set_power(host, ios->power_mode, ios->vdd); in sdhci_set_ios()
2373 sdhci_set_power(host, ios->power_mode, ios->vdd); in sdhci_set_ios()
2376 host->ops->platform_send_init_74_clocks(host, ios->power_mode); in sdhci_set_ios()
2378 host->ops->set_bus_width(host, ios->bus_width); in sdhci_set_ios()
2386 host->timing == ios->timing && in sdhci_set_ios()
2388 !sdhci_presetable_values_change(host, ios)) in sdhci_set_ios()
2394 if (ios->timing == MMC_TIMING_SD_HS || in sdhci_set_ios()
2395 ios->timing == MMC_TIMING_MMC_HS || in sdhci_set_ios()
2396 ios->timing == MMC_TIMING_MMC_HS400 || in sdhci_set_ios()
2397 ios->timing == MMC_TIMING_MMC_HS200 || in sdhci_set_ios()
2398 ios->timing == MMC_TIMING_MMC_DDR52 || in sdhci_set_ios()
2399 ios->timing == MMC_TIMING_UHS_SDR50 || in sdhci_set_ios()
2400 ios->timing == MMC_TIMING_UHS_SDR104 || in sdhci_set_ios()
2401 ios->timing == MMC_TIMING_UHS_DDR50 || in sdhci_set_ios()
2402 ios->timing == MMC_TIMING_UHS_SDR25) in sdhci_set_ios()
2432 if (ios->drv_type == MMC_SET_DRIVER_TYPE_A) in sdhci_set_ios()
2434 else if (ios->drv_type == MMC_SET_DRIVER_TYPE_B) in sdhci_set_ios()
2436 else if (ios->drv_type == MMC_SET_DRIVER_TYPE_C) in sdhci_set_ios()
2438 else if (ios->drv_type == MMC_SET_DRIVER_TYPE_D) in sdhci_set_ios()
2447 host->drv_type = ios->drv_type; in sdhci_set_ios()
2450 host->ops->set_uhs_signaling(host, ios->timing); in sdhci_set_ios()
2451 host->timing = ios->timing; in sdhci_set_ios()
2453 if (sdhci_preset_needed(host, ios->timing)) { in sdhci_set_ios()
2458 ios->drv_type = FIELD_GET(SDHCI_PRESET_DRV_MASK, in sdhci_set_ios()
2460 host->drv_type = ios->drv_type; in sdhci_set_ios()
2594 struct mmc_ios *ios) in sdhci_start_signal_voltage_switch() argument
2609 switch (ios->signal_voltage) { in sdhci_start_signal_voltage_switch()
2618 ret = mmc_regulator_set_vqmmc(mmc, ios); in sdhci_start_signal_voltage_switch()
2641 ret = mmc_regulator_set_vqmmc(mmc, ios); in sdhci_start_signal_voltage_switch()
2673 ret = mmc_regulator_set_vqmmc(mmc, ios); in sdhci_start_signal_voltage_switch()
2699 static int sdhci_prepare_hs400_tuning(struct mmc_host *mmc, struct mmc_ios *ios) in sdhci_prepare_hs400_tuning() argument
2794 mmc->ios.bus_width == MMC_BUS_WIDTH_8) in sdhci_send_tuning()
3785 mmc->ops->set_ios(mmc, &mmc->ios); in sdhci_resume_host()
3842 if (mmc->ios.power_mode != MMC_POWER_UNDEFINED && in sdhci_runtime_resume_host()
3843 mmc->ios.power_mode != MMC_POWER_OFF) { in sdhci_runtime_resume_host()
3848 mmc->ops->start_signal_voltage_switch(mmc, &mmc->ios); in sdhci_runtime_resume_host()
3849 mmc->ops->set_ios(mmc, &mmc->ios); in sdhci_runtime_resume_host()
3860 mmc->ops->hs400_enhanced_strobe(mmc, &mmc->ios); in sdhci_runtime_resume_host()