Home
last modified time | relevance | path

Searched refs:ios (Results 1 – 25 of 123) sorted by relevance

12345

/linux-6.15/drivers/mmc/core/
H A Ddebugfs.c59 struct mmc_ios *ios = &host->ios; in mmc_ios_show() local
69 && vdd_str[ios->vdd] && vdd_str[ios->vdd + 1]) in mmc_ios_show()
71 vdd_str[ios->vdd + 1]); in mmc_ios_show()
75 switch (ios->bus_mode) { in mmc_ios_show()
88 switch (ios->chip_select) { in mmc_ios_show()
104 switch (ios->power_mode) { in mmc_ios_show()
120 ios->bus_width, 1 << ios->bus_width); in mmc_ios_show()
122 switch (ios->timing) { in mmc_ios_show()
163 switch (ios->signal_voltage) { in mmc_ios_show()
179 switch (ios->drv_type) { in mmc_ios_show()
[all …]
H A Dhost.h68 return card->host->ios.timing == MMC_TIMING_MMC_HS200; in mmc_card_hs200()
73 return card->host->ios.timing == MMC_TIMING_MMC_DDR52; in mmc_card_ddr52()
78 return card->host->ios.timing == MMC_TIMING_MMC_HS400; in mmc_card_hs400()
83 return card->host->ios.enhanced_strobe; in mmc_card_hs400es()
88 return host->ios.timing == MMC_TIMING_SD_EXP || in mmc_card_sd_express()
89 host->ios.timing == MMC_TIMING_SD_EXP_1_2V; in mmc_card_sd_express()
H A Dcore.c896 struct mmc_ios *ios = &host->ios; in mmc_set_ios() local
900 mmc_hostname(host), ios->clock, ios->bus_mode, in mmc_set_ios()
901 ios->power_mode, ios->chip_select, ios->vdd, in mmc_set_ios()
902 1 << ios->bus_width, ios->timing); in mmc_set_ios()
927 host->ios.clock = hz; in mmc_set_clock()
1000 host->ios.drv_type = 0; in mmc_set_initial_state()
1196 clock = host->ios.clock; in mmc_host_set_uhs_voltage()
1197 host->ios.clock = 0; in mmc_host_set_uhs_voltage()
1205 host->ios.clock = clock; in mmc_host_set_uhs_voltage()
1379 host->ios.clock = 0; in mmc_power_off()
[all …]
H A Dregulator.c182 int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_regulator_set_vqmmc() argument
191 switch (ios->signal_voltage) { in mmc_regulator_set_vqmmc()
199 ret = mmc_ocrbitnum_to_vdd(mmc->ios.vdd, &volt, &max_uV); in mmc_regulator_set_vqmmc()
241 int mmc_regulator_set_vqmmc2(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_regulator_set_vqmmc2() argument
246 switch (ios->vqmmc2_voltage) { in mmc_regulator_set_vqmmc2()
H A Dsd_uhs2.c51 if (host->ios.power_mode == MMC_POWER_ON) in sd_uhs2_power_up()
54 host->ios.vdd = fls(host->ocr_avail) - 1; in sd_uhs2_power_up()
55 host->ios.clock = host->f_init; in sd_uhs2_power_up()
56 host->ios.timing = MMC_TIMING_UHS2_SPEED_A; in sd_uhs2_power_up()
57 host->ios.power_mode = MMC_POWER_ON; in sd_uhs2_power_up()
66 if (host->ios.power_mode == MMC_POWER_OFF) in sd_uhs2_power_off()
69 host->ios.vdd = 0; in sd_uhs2_power_off()
70 host->ios.clock = 0; in sd_uhs2_power_off()
71 host->ios.power_mode = MMC_POWER_OFF; in sd_uhs2_power_off()
79 host->ios.timing = MMC_TIMING_LEGACY; in sd_uhs2_power_off()
[all …]
/linux-6.15/drivers/mmc/host/
H A Ddw_mmc-k3.c106 ret = clk_set_rate(host->ciu_clk, ios->clock); in dw_mci_k3_set_ios()
155 if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) { in dw_mci_hi6220_switch_voltage()
193 clock = (ios->clock <= 25000000) ? 25000000 : ios->clock; in dw_mci_hi6220_set_ios()
304 if (!ios->clock || ios->clock == priv->cur_speed) in dw_mci_hi3660_set_ios()
307 wanted = ios->clock * (GENCLK_DIV + 1); in dw_mci_hi3660_set_ios()
315 dw_mci_hs_set_timing(host, ios->timing, -1); in dw_mci_hi3660_set_ios()
380 dw_mci_hs_set_timing(host, mmc->ios.timing, smpl_phase); in dw_mci_hi3660_execute_tuning()
402 struct mmc_ios *ios) in dw_mci_hi3660_switch_voltage() argument
418 if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) in dw_mci_hi3660_switch_voltage()
420 else if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_180) in dw_mci_hi3660_switch_voltage()
[all …]
H A Ddw_mmc-starfive.c26 static void dw_mci_starfive_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_starfive_set_ios() argument
31 if (ios->timing == MMC_TIMING_MMC_DDR52 || ios->timing == MMC_TIMING_UHS_DDR50) { in dw_mci_starfive_set_ios()
32 clock = (ios->clock > 50000000 && ios->clock <= 52000000) ? 100000000 : ios->clock; in dw_mci_starfive_set_ios()
35 dev_dbg(host->dev, "Use an external frequency divider %uHz\n", ios->clock); in dw_mci_starfive_set_ios()
H A Ddw_mmc-hi3798cv200.c26 static void dw_mci_hi3798cv200_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_hi3798cv200_set_ios() argument
32 if (ios->timing == MMC_TIMING_MMC_DDR52 || in dw_mci_hi3798cv200_set_ios()
33 ios->timing == MMC_TIMING_UHS_DDR50) in dw_mci_hi3798cv200_set_ios()
40 if (ios->timing == MMC_TIMING_MMC_DDR52) in dw_mci_hi3798cv200_set_ios()
47 if (ios->timing == MMC_TIMING_MMC_HS400) in dw_mci_hi3798cv200_set_ios()
53 if (ios->timing == MMC_TIMING_MMC_HS || in dw_mci_hi3798cv200_set_ios()
54 ios->timing == MMC_TIMING_LEGACY) in dw_mci_hi3798cv200_set_ios()
56 else if (ios->timing == MMC_TIMING_MMC_HS200) in dw_mci_hi3798cv200_set_ios()
H A Dsdhci-uhs2.c279 if (ios->power_mode != MMC_POWER_OFF && in __sdhci_uhs2_set_ios()
288 host->timing = ios->timing; in __sdhci_uhs2_set_ios()
294 host->ops->set_power(host, ios->power_mode, ios->vdd); in __sdhci_uhs2_set_ios()
296 sdhci_uhs2_set_power(host, ios->power_mode, ios->vdd); in __sdhci_uhs2_set_ios()
306 mmc_hostname(mmc), ios->clock, ios->power_mode, ios->vdd, ios->timing); in sdhci_uhs2_set_ios()
309 sdhci_set_ios(mmc, ios); in sdhci_uhs2_set_ios()
319 mmc_regulator_set_vqmmc2(mmc, ios); in sdhci_uhs2_set_ios()
324 sdhci_set_ios_common(mmc, ios); in sdhci_uhs2_set_ios()
326 __sdhci_uhs2_set_ios(mmc, ios); in sdhci_uhs2_set_ios()
517 struct mmc_ios *ios = &mmc->ios; in sdhci_uhs2_control() local
[all …]
H A Ddw_mmc-hi3798mv200.c36 static void dw_mci_hi3798mv200_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_hi3798mv200_set_ios() argument
39 struct mmc_clk_phase phase = priv->phase_map.phase[ios->timing]; in dw_mci_hi3798mv200_set_ios()
43 if (ios->timing == MMC_TIMING_MMC_DDR52 in dw_mci_hi3798mv200_set_ios()
44 || ios->timing == MMC_TIMING_UHS_DDR50) in dw_mci_hi3798mv200_set_ios()
51 if (ios->timing == MMC_TIMING_MMC_HS400) in dw_mci_hi3798mv200_set_ios()
57 if (clk_set_rate(host->ciu_clk, ios->clock)) in dw_mci_hi3798mv200_set_ios()
58 dev_warn(host->dev, "Failed to set rate to %u\n", ios->clock); in dw_mci_hi3798mv200_set_ios()
73 ios->timing); in dw_mci_hi3798mv200_set_ios()
H A Dmmci_stm32_sdmmc.c302 if (host->mmc->ios.timing == MMC_TIMING_MMC_DDR52 || in mmci_sdmmc_set_clkreg()
303 host->mmc->ios.timing == MMC_TIMING_UHS_DDR50) in mmci_sdmmc_set_clkreg()
331 if (host->mmc->ios.power_mode == MMC_POWER_ON) in mmci_sdmmc_set_clkreg()
336 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4) in mmci_sdmmc_set_clkreg()
338 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_8) in mmci_sdmmc_set_clkreg()
345 if (host->mmc->ios.timing >= MMC_TIMING_UHS_SDR50) in mmci_sdmmc_set_clkreg()
362 struct mmc_ios ios = host->mmc->ios; in mmci_sdmmc_set_pwrreg() local
371 if (ios.power_mode == MMC_POWER_OFF) { in mmci_sdmmc_set_pwrreg()
384 } else if (ios.power_mode == MMC_POWER_ON) { in mmci_sdmmc_set_pwrreg()
666 struct mmc_ios *ios) in sdmmc_post_sig_volt_switch() argument
[all …]
H A Dowl-mmc.c429 if (!ios->clock) in owl_mmc_set_clk()
432 owl_host->clock = ios->clock; in owl_mmc_set_clk()
437 struct mmc_ios *ios) in owl_mmc_set_bus_width() argument
443 switch (ios->bus_width) { in owl_mmc_set_bus_width()
489 switch (ios->power_mode) { in owl_mmc_set_ios()
518 if (ios->clock != owl_host->clock) in owl_mmc_set_ios()
519 owl_mmc_set_clk(owl_host, ios); in owl_mmc_set_ios()
521 owl_mmc_set_bus_width(owl_host, ios); in owl_mmc_set_ios()
524 if (ios->timing == MMC_TIMING_UHS_DDR50) { in owl_mmc_set_ios()
534 struct mmc_ios *ios) in owl_mmc_start_signal_voltage_switch() argument
[all …]
H A Dalcor.c850 switch (ios->power_mode) { in alcor_set_power_mode()
852 alcor_set_clock(host, ios->clock); in alcor_set_power_mode()
880 alcor_set_clock(host, ios->clock); in alcor_set_power_mode()
887 alcor_set_clock(host, ios->clock); in alcor_set_power_mode()
913 ios->bus_width, ios->power_mode); in alcor_set_ios()
916 alcor_set_power_mode(mmc, ios); in alcor_set_ios()
919 alcor_set_timing(mmc, ios); in alcor_set_ios()
920 alcor_set_bus_width(mmc, ios); in alcor_set_ios()
921 alcor_set_clock(host, ios->clock); in alcor_set_ios()
928 struct mmc_ios *ios) in alcor_signal_voltage_switch() argument
[all …]
H A Dsdhci-pci-arasan.c250 if (arasan_host->chg_clk == host->mmc->ios.clock) in arasan_select_phy_clock()
253 arasan_host->chg_clk = host->mmc->ios.clock; in arasan_select_phy_clock()
254 if (host->mmc->ios.clock == 200000000) in arasan_select_phy_clock()
256 else if (host->mmc->ios.clock == 100000000) in arasan_select_phy_clock()
258 else if (host->mmc->ios.clock == 50000000) in arasan_select_phy_clock()
267 switch (host->mmc->ios.timing) { in arasan_select_phy_clock()
280 host->mmc->ios.drv_type, 0x0, in arasan_select_phy_clock()
290 host->mmc->ios.drv_type, 0xa, in arasan_select_phy_clock()
H A Dsunxi-mmc.c723 struct mmc_ios *ios, u32 rate) in sunxi_mmc_clk_set_phase() argument
761 struct mmc_ios *ios) in sunxi_mmc_clk_set_rate() argument
765 u32 rval, clock = ios->clock, div = 1; in sunxi_mmc_clk_set_rate()
775 if (!ios->clock) in sunxi_mmc_clk_set_rate()
892 ios->timing == MMC_TIMING_MMC_DDR52) in sunxi_mmc_set_clk()
903 struct mmc_ios *ios) in sunxi_mmc_card_power() argument
907 switch (ios->power_mode) { in sunxi_mmc_card_power()
914 ios->vdd); in sunxi_mmc_card_power()
952 sunxi_mmc_card_power(host, ios); in sunxi_mmc_set_ios()
954 sunxi_mmc_set_clk(host, ios); in sunxi_mmc_set_ios()
[all …]
H A Ddw_mmc-rockchip.c174 static void dw_mci_rk3288_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_rk3288_set_ios() argument
181 if (ios->clock == 0) in dw_mci_rk3288_set_ios()
193 if (ios->bus_width == MMC_BUS_WIDTH_8 && in dw_mci_rk3288_set_ios()
194 ios->timing == MMC_TIMING_MMC_DDR52) in dw_mci_rk3288_set_ios()
195 cclkin = 2 * ios->clock * RK3288_CLKGEN_DIV; in dw_mci_rk3288_set_ios()
197 cclkin = ios->clock * RK3288_CLKGEN_DIV; in dw_mci_rk3288_set_ios()
211 if (!IS_ERR(priv->sample_clk) && ios->timing <= MMC_TIMING_SD_HS) in dw_mci_rk3288_set_ios()
251 switch (ios->timing) { in dw_mci_rk3288_set_ios()
258 if (ios->bus_width == MMC_BUS_WIDTH_8) in dw_mci_rk3288_set_ios()
H A Dsdhci-msm.c348 struct mmc_ios ios = host->mmc->ios; in msm_get_clock_mult_for_bus_mode() local
832 struct mmc_ios ios = host->mmc->ios; in msm_hc_select_hs400() local
901 struct mmc_ios ios = host->mmc->ios; in sdhci_msm_hc_select_mode() local
1038 if (mmc->ios.enhanced_strobe) { in sdhci_msm_cm_dll_sdc4_calibration()
1134 struct mmc_ios *ios = &host->mmc->ios; in sdhci_msm_is_tuning_needed() local
1144 ios->enhanced_strobe) in sdhci_msm_is_tuning_needed()
1201 struct mmc_ios ios = host->mmc->ios; in sdhci_msm_execute_tuning() local
1464 struct mmc_ios ios; in msm_toggle_vqmmc() local
1722 mmc->ios.signal_voltage, mmc->ios.vdd, in sdhci_msm_handle_pwr_irq()
2303 struct mmc_ios *ios) in sdhci_msm_start_signal_voltage_switch() argument
[all …]
H A Domap_hsmmc.c220 struct mmc_ios *ios = &mmc->ios; in omap_hsmmc_enable_supply() local
524 if (ios->clock) { in calc_divisor()
535 struct mmc_ios *ios = &host->mmc->ios; in omap_hsmmc_set_clock() local
546 clkdiv = calc_divisor(host, ios); in omap_hsmmc_set_clock()
585 struct mmc_ios *ios = &host->mmc->ios; in omap_hsmmc_set_bus_width() local
594 switch (ios->bus_width) { in omap_hsmmc_set_bus_width()
613 struct mmc_ios *ios = &host->mmc->ios; in omap_hsmmc_set_bus_mode() local
631 struct mmc_ios *ios = &host->mmc->ios; in omap_hsmmc_context_restore() local
1458 switch (ios->power_mode) { in omap_hsmmc_set_ios()
1469 host->power_mode = ios->power_mode; in omap_hsmmc_set_ios()
[all …]
H A Dsdhci.c941 struct mmc_ios *ios = &mmc->ios; in sdhci_calc_sw_timeout() local
2355 (sdhci_preset_needed(host, ios->timing) || host->drv_type != ios->drv_type); in sdhci_presetable_values_change()
2376 if (!ios->clock || ios->clock != host->clock) { in sdhci_set_ios_common()
2378 host->clock = ios->clock; in sdhci_set_ios_common()
2414 turning_on_clk = ios->clock != host->clock && ios->clock && !host->clock; in sdhci_set_ios()
2416 sdhci_set_ios_common(mmc, ios); in sdhci_set_ios()
2419 host->ops->set_power(host, ios->power_mode, ios->vdd); in sdhci_set_ios()
2421 sdhci_set_power(host, ios->power_mode, ios->vdd); in sdhci_set_ios()
2499 host->timing = ios->timing; in sdhci_set_ios()
2642 struct mmc_ios *ios) in sdhci_start_signal_voltage_switch() argument
[all …]
H A Dsdhci-sprd.c376 if (!mmc->ios.enhanced_strobe) in sdhci_sprd_set_uhs_signaling()
501 ret = mmc_regulator_set_vqmmc(mmc, ios); in sdhci_sprd_voltage_switch()
512 switch (ios->signal_voltage) { in sdhci_sprd_voltage_switch()
546 struct mmc_ios *ios) in sdhci_sprd_hs400_enhanced_strobe() argument
553 if (!ios->enhanced_strobe) in sdhci_sprd_hs400_enhanced_strobe()
649 dll_dly = p[mmc->ios.timing]; in sdhci_sprd_tuning()
676 p[mmc->ios.timing] &= ~SDHCI_SPRD_CMD_DLY_MASK; in sdhci_sprd_tuning()
677 p[mmc->ios.timing] |= ((best_clk_sample << 8) & SDHCI_SPRD_CMD_DLY_MASK); in sdhci_sprd_tuning()
679 p[mmc->ios.timing] &= ~(SDHCI_SPRD_POSRD_DLY_MASK); in sdhci_sprd_tuning()
684 mmc_hostname(host->mmc), best_clk_sample, p[mmc->ios.timing]); in sdhci_sprd_tuning()
[all …]
H A Dmmc_spi.c1037 if (host->power_mode != ios->power_mode) { in mmc_spi_set_ios()
1043 mmc_powerstring(ios->power_mode), in mmc_spi_set_ios()
1044 ios->vdd, in mmc_spi_set_ios()
1051 switch (ios->power_mode) { in mmc_spi_set_ios()
1055 ios->vdd); in mmc_spi_set_ios()
1056 if (ios->power_mode == MMC_POWER_UP) in mmc_spi_set_ios()
1062 if (ios->power_mode == MMC_POWER_ON) in mmc_spi_set_ios()
1074 if (canpower && ios->power_mode == MMC_POWER_OFF) { in mmc_spi_set_ios()
1107 host->power_mode = ios->power_mode; in mmc_spi_set_ios()
1110 if (host->spi->max_speed_hz != ios->clock && ios->clock != 0) { in mmc_spi_set_ios()
[all …]
H A Dmvsdio.c604 if (ios->power_mode == MMC_POWER_UP) in mvsd_set_ios()
607 if (ios->clock == 0) { in mvsd_set_ios()
612 } else if (ios->clock != host->clock) { in mvsd_set_ios()
613 u32 m = DIV_ROUND_UP(host->base_clock, ios->clock) - 1; in mvsd_set_ios()
617 host->clock = ios->clock; in mvsd_set_ios()
620 ios->clock, host->base_clock / (m+1), m); in mvsd_set_ios()
631 if (ios->bus_mode == MMC_BUSMODE_PUSHPULL) in mvsd_set_ios()
634 if (ios->bus_width == MMC_BUS_WIDTH_4) in mvsd_set_ios()
645 if (ios->timing == MMC_TIMING_MMC_HS || in mvsd_set_ios()
646 ios->timing == MMC_TIMING_SD_HS) in mvsd_set_ios()
[all …]
/linux-6.15/include/linux/mmc/
H A Dhost.h250 struct mmc_ios *ios);
483 struct mmc_ios ios; /* current io bus settings */ member
647 struct mmc_ios *ios) in mmc_regulator_set_vqmmc() argument
653 struct mmc_ios *ios) in mmc_regulator_set_vqmmc2() argument
681 return card->host->ios.timing == MMC_TIMING_SD_HS || in mmc_card_hs()
682 card->host->ios.timing == MMC_TIMING_MMC_HS; in mmc_card_hs()
689 card->host->ios.timing <= MMC_TIMING_UHS_DDR50; in mmc_card_uhs()
694 return host->ios.timing == MMC_TIMING_UHS2_SPEED_A || in mmc_card_uhs2()
696 host->ios.timing == MMC_TIMING_UHS2_SPEED_B || in mmc_card_uhs2()
697 host->ios.timing == MMC_TIMING_UHS2_SPEED_B_HD; in mmc_card_uhs2()
[all …]
/linux-6.15/drivers/net/wireless/rsi/
H A Drsi_91x_sdio.c188 host->ios.power_mode = MMC_POWER_UP; in rsi_reset_card()
190 host->ios.timing = MMC_TIMING_LEGACY; in rsi_reset_card()
191 host->ops->set_ios(host, &host->ios); in rsi_reset_card()
199 host->ios.clock = host->f_min; in rsi_reset_card()
200 host->ios.power_mode = MMC_POWER_ON; in rsi_reset_card()
201 host->ops->set_ios(host, &host->ios); in rsi_reset_card()
210 host->ios.chip_select = MMC_CS_HIGH; in rsi_reset_card()
211 host->ops->set_ios(host, &host->ios); in rsi_reset_card()
219 host->ops->set_ios(host, &host->ios); in rsi_reset_card()
311 host->ios.clock = clock; in rsi_reset_card()
[all …]
/linux-6.15/drivers/staging/greybus/
H A Dsdio.c588 static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in gb_mmc_set_ios() argument
601 request.clock = cpu_to_le32(ios->clock); in gb_mmc_set_ios()
603 if (ios->vdd) in gb_mmc_set_ios()
604 vdd = 1 << (ios->vdd - GB_SDIO_VDD_SHIFT); in gb_mmc_set_ios()
607 request.bus_mode = ios->bus_mode == MMC_BUSMODE_OPENDRAIN ? in gb_mmc_set_ios()
611 switch (ios->power_mode) { in gb_mmc_set_ios()
628 switch (ios->bus_width) { in gb_mmc_set_ios()
642 switch (ios->timing) { in gb_mmc_set_ios()
680 switch (ios->signal_voltage) { in gb_mmc_set_ios()
694 switch (ios->drv_type) { in gb_mmc_set_ios()
[all …]

12345