Home
last modified time | relevance | path

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

12345

/kernel/linux/linux-5.10/drivers/mmc/core/
Ddebugfs.c55 struct mmc_ios *ios = &host->ios; in mmc_ios_show() local
58 seq_printf(s, "clock:\t\t%u Hz\n", ios->clock); in mmc_ios_show()
61 seq_printf(s, "vdd:\t\t%u ", ios->vdd); in mmc_ios_show()
62 if ((1 << ios->vdd) & MMC_VDD_165_195) in mmc_ios_show()
64 else if (ios->vdd < (ARRAY_SIZE(vdd_str) - 1) in mmc_ios_show()
65 && vdd_str[ios->vdd] && vdd_str[ios->vdd + 1]) in mmc_ios_show()
66 seq_printf(s, "(%s ~ %s V)\n", vdd_str[ios->vdd], in mmc_ios_show()
67 vdd_str[ios->vdd + 1]); in mmc_ios_show()
71 switch (ios->bus_mode) { in mmc_ios_show()
82 seq_printf(s, "bus mode:\t%u (%s)\n", ios->bus_mode, str); in mmc_ios_show()
[all …]
Dcore.c683 if (card->host->ios.clock) in mmc_set_data_timeout()
685 (card->host->ios.clock / 1000); in mmc_set_data_timeout()
885 struct mmc_ios *ios = &host->ios; in mmc_set_ios() local
889 mmc_hostname(host), ios->clock, ios->bus_mode, in mmc_set_ios()
890 ios->power_mode, ios->chip_select, ios->vdd, in mmc_set_ios()
891 1 << ios->bus_width, ios->timing); in mmc_set_ios()
893 host->ops->set_ios(host, ios); in mmc_set_ios()
901 host->ios.chip_select = mode; in mmc_set_chip_select()
916 host->ios.clock = hz; in mmc_set_clock()
956 host->ios.bus_mode = mode; in mmc_set_bus_mode()
[all …]
Dhost.h62 return card->host->ios.timing == MMC_TIMING_MMC_HS200; in mmc_card_hs200()
67 return card->host->ios.timing == MMC_TIMING_MMC_DDR52; in mmc_card_ddr52()
72 return card->host->ios.timing == MMC_TIMING_MMC_HS400; in mmc_card_hs400()
77 return card->host->ios.enhanced_strobe; in mmc_card_hs400es()
Dregulator.c179 int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_regulator_set_vqmmc() argument
188 switch (ios->signal_voltage) { in mmc_regulator_set_vqmmc()
196 ret = mmc_ocrbitnum_to_vdd(mmc->ios.vdd, &volt, &max_uV); in mmc_regulator_set_vqmmc()
/kernel/linux/linux-5.10/drivers/mmc/host/
Ddw_mmc-k3.c102 static void dw_mci_k3_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_k3_set_ios() argument
106 ret = clk_set_rate(host->ciu_clk, ios->clock); in dw_mci_k3_set_ios()
108 dev_warn(host->dev, "failed to set rate %uHz\n", ios->clock); in dw_mci_k3_set_ios()
141 static int dw_mci_hi6220_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios) in dw_mci_hi6220_switch_voltage() argument
155 if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) { in dw_mci_hi6220_switch_voltage()
160 } else if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_180) { in dw_mci_hi6220_switch_voltage()
188 static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_hi6220_set_ios() argument
193 clock = (ios->clock <= 25000000) ? 25000000 : ios->clock; in dw_mci_hi6220_set_ios()
297 static void dw_mci_hi3660_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_hi3660_set_ios() argument
304 if (!ios->clock || ios->clock == priv->cur_speed) in dw_mci_hi3660_set_ios()
[all …]
Ddw_mmc-hi3798cv200.c32 static void dw_mci_hi3798cv200_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_hi3798cv200_set_ios() argument
38 if (ios->timing == MMC_TIMING_MMC_DDR52 || in dw_mci_hi3798cv200_set_ios()
39 ios->timing == MMC_TIMING_UHS_DDR50) in dw_mci_hi3798cv200_set_ios()
46 if (ios->timing == MMC_TIMING_MMC_DDR52) in dw_mci_hi3798cv200_set_ios()
53 if (ios->timing == MMC_TIMING_MMC_HS400) in dw_mci_hi3798cv200_set_ios()
59 if (ios->timing == MMC_TIMING_MMC_HS || in dw_mci_hi3798cv200_set_ios()
60 ios->timing == MMC_TIMING_LEGACY) in dw_mci_hi3798cv200_set_ios()
62 else if (ios->timing == MMC_TIMING_MMC_HS200) in dw_mci_hi3798cv200_set_ios()
Ddw_mmc-rockchip.c27 static void dw_mci_rk3288_set_ios(struct dw_mci *host, struct mmc_ios *ios) in dw_mci_rk3288_set_ios() argument
34 if (ios->clock == 0) in dw_mci_rk3288_set_ios()
46 if (ios->bus_width == MMC_BUS_WIDTH_8 && in dw_mci_rk3288_set_ios()
47 ios->timing == MMC_TIMING_MMC_DDR52) in dw_mci_rk3288_set_ios()
48 cclkin = 2 * ios->clock * RK3288_CLKGEN_DIV; in dw_mci_rk3288_set_ios()
50 cclkin = ios->clock * RK3288_CLKGEN_DIV; in dw_mci_rk3288_set_ios()
54 dev_warn(host->dev, "failed to set rate %uHz\n", ios->clock); in dw_mci_rk3288_set_ios()
104 switch (ios->timing) { in dw_mci_rk3288_set_ios()
111 if (ios->bus_width == MMC_BUS_WIDTH_8) in dw_mci_rk3288_set_ios()
Dmmci_stm32_sdmmc.c199 if (host->mmc->ios.timing == MMC_TIMING_MMC_DDR52 || in mmci_sdmmc_set_clkreg()
200 host->mmc->ios.timing == MMC_TIMING_UHS_DDR50) in mmci_sdmmc_set_clkreg()
228 if (host->mmc->ios.power_mode == MMC_POWER_ON) in mmci_sdmmc_set_clkreg()
233 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4) in mmci_sdmmc_set_clkreg()
235 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_8) in mmci_sdmmc_set_clkreg()
246 if (host->mmc->ios.timing >= MMC_TIMING_UHS_SDR50) { in mmci_sdmmc_set_clkreg()
248 if (host->mmc->ios.timing == MMC_TIMING_UHS_SDR104) { in mmci_sdmmc_set_clkreg()
268 struct mmc_ios ios = host->mmc->ios; in mmci_sdmmc_set_pwrreg() local
276 if (ios.power_mode == MMC_POWER_OFF) { in mmci_sdmmc_set_pwrreg()
289 } else if (ios.power_mode == MMC_POWER_ON) { in mmci_sdmmc_set_pwrreg()
[all …]
Dowl-mmc.c427 static void owl_mmc_set_clk(struct owl_mmc_host *owl_host, struct mmc_ios *ios) in owl_mmc_set_clk() argument
429 if (!ios->clock) in owl_mmc_set_clk()
432 owl_host->clock = ios->clock; in owl_mmc_set_clk()
433 owl_mmc_set_clk_rate(owl_host, 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()
485 static void owl_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in owl_mmc_set_ios() argument
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()
[all …]
Dalcor.c692 static void alcor_set_timing(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_timing() argument
696 if (ios->timing == MMC_TIMING_LEGACY) { in alcor_set_timing()
705 static void alcor_set_bus_width(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_bus_width() argument
710 if (ios->bus_width == MMC_BUS_WIDTH_1) { in alcor_set_bus_width()
712 } else if (ios->bus_width == MMC_BUS_WIDTH_4) { in alcor_set_bus_width()
845 static void alcor_set_power_mode(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_power_mode() argument
850 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()
[all …]
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()
Dsunxi-mmc.c718 struct mmc_ios *ios, u32 rate) in sunxi_mmc_clk_set_phase() argument
736 if (ios->timing != MMC_TIMING_UHS_DDR50 && in sunxi_mmc_clk_set_phase()
737 ios->timing != MMC_TIMING_MMC_DDR52) { in sunxi_mmc_clk_set_phase()
739 } else if (ios->bus_width == MMC_BUS_WIDTH_8) { in sunxi_mmc_clk_set_phase()
756 struct mmc_ios *ios) in sunxi_mmc_clk_set_rate() argument
760 u32 rval, clock = ios->clock, div = 1; in sunxi_mmc_clk_set_rate()
770 if (!ios->clock) in sunxi_mmc_clk_set_rate()
782 if (ios->timing == MMC_TIMING_MMC_DDR52 && in sunxi_mmc_clk_set_rate()
784 ios->bus_width == MMC_BUS_WIDTH_8)) { in sunxi_mmc_clk_set_rate()
838 ret = sunxi_mmc_clk_set_phase(host, ios, rate); in sunxi_mmc_clk_set_rate()
[all …]
Dsdhci-msm.c335 struct mmc_ios ios = host->mmc->ios; in msm_get_clock_rate_for_bus_mode() local
342 if (ios.timing == MMC_TIMING_UHS_DDR50 || in msm_get_clock_rate_for_bus_mode()
343 ios.timing == MMC_TIMING_MMC_DDR52 || in msm_get_clock_rate_for_bus_mode()
344 ios.timing == MMC_TIMING_MMC_HS400 || in msm_get_clock_rate_for_bus_mode()
355 struct mmc_ios curr_ios = host->mmc->ios; in msm_set_clock_rate_for_bus_mode()
803 struct mmc_ios ios = host->mmc->ios; in msm_hc_select_hs400() local
819 if ((msm_host->tuning_done || ios.enhanced_strobe) && in msm_hc_select_hs400()
872 struct mmc_ios ios = host->mmc->ios; in sdhci_msm_hc_select_mode() local
874 if (ios.timing == MMC_TIMING_MMC_HS400 || in sdhci_msm_hc_select_mode()
1009 if (mmc->ios.enhanced_strobe) { in sdhci_msm_cm_dll_sdc4_calibration()
[all …]
Domap_hsmmc.c220 struct mmc_ios *ios = &mmc->ios; in omap_hsmmc_enable_supply() local
223 ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, ios->vdd); in omap_hsmmc_enable_supply()
520 static u16 calc_divisor(struct omap_hsmmc_host *host, struct mmc_ios *ios) in calc_divisor() argument
524 if (ios->clock) { in calc_divisor()
525 dsor = DIV_ROUND_UP(clk_get_rate(host->fclk), ios->clock); in calc_divisor()
535 struct mmc_ios *ios = &host->mmc->ios; in omap_hsmmc_set_clock() local
540 dev_vdbg(mmc_dev(host->mmc), "Set clock to %uHz\n", ios->clock); in omap_hsmmc_set_clock()
546 clkdiv = calc_divisor(host, ios); in omap_hsmmc_set_clock()
568 (ios->timing != MMC_TIMING_MMC_DDR52) && in omap_hsmmc_set_clock()
569 (ios->timing != MMC_TIMING_UHS_DDR50) && in omap_hsmmc_set_clock()
[all …]
Dsdhci-xenon.c265 static void xenon_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in xenon_set_ios() argument
279 if ((ios->timing == MMC_TIMING_MMC_HS400) || in xenon_set_ios()
280 (ios->timing == MMC_TIMING_MMC_HS200) || in xenon_set_ios()
281 (ios->timing == MMC_TIMING_MMC_HS)) { in xenon_set_ios()
293 sdhci_set_ios(mmc, ios); in xenon_set_ios()
294 xenon_phy_adj(host, ios); in xenon_set_ios()
301 struct mmc_ios *ios) in xenon_start_signal_voltage_switch() argument
317 xenon_soc_pad_ctrl(host, ios->signal_voltage); in xenon_start_signal_voltage_switch()
327 return sdhci_start_signal_voltage_switch(mmc, ios); in xenon_start_signal_voltage_switch()
Dsdhci.c343 mmc->ops->set_ios(mmc, &mmc->ios); in sdhci_init()
912 struct mmc_ios *ios = &mmc->ios; in sdhci_calc_sw_timeout() local
913 unsigned char bus_width = 1 << ios->bus_width; in sdhci_calc_sw_timeout()
2282 static bool sdhci_presetable_values_change(struct sdhci_host *host, struct mmc_ios *ios) in sdhci_presetable_values_change() argument
2290 (sdhci_preset_needed(host, ios->timing) || host->drv_type != ios->drv_type); in sdhci_presetable_values_change()
2293 void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdhci_set_ios() argument
2302 if (ios->power_mode == MMC_POWER_UNDEFINED) in sdhci_set_ios()
2307 ios->power_mode == MMC_POWER_OFF) in sdhci_set_ios()
2316 if (ios->power_mode == MMC_POWER_OFF) { in sdhci_set_ios()
2322 (ios->power_mode == MMC_POWER_UP) && in sdhci_set_ios()
[all …]
Dmvsdio.c598 static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in mvsd_set_ios() argument
604 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()
[all …]
Dmeson-mx-sdhc-mmc.c269 static int meson_mx_sdhc_set_clk(struct mmc_host *mmc, struct mmc_ios *ios) in meson_mx_sdhc_set_clk() argument
277 if (ios->clock) { in meson_mx_sdhc_set_clk()
278 ret = clk_set_rate(host->sd_clk, ios->clock); in meson_mx_sdhc_set_clk()
282 ios->clock, host->error); in meson_mx_sdhc_set_clk()
300 if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) in meson_mx_sdhc_set_clk()
325 static void meson_mx_sdhc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in meson_mx_sdhc_set_ios() argument
328 unsigned short vdd = ios->vdd; in meson_mx_sdhc_set_ios()
330 switch (ios->power_mode) { in meson_mx_sdhc_set_ios()
350 host->error = meson_mx_sdhc_set_clk(mmc, ios); in meson_mx_sdhc_set_ios()
354 switch (ios->bus_width) { in meson_mx_sdhc_set_ios()
[all …]
Dpxamci.c441 static void pxamci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in pxamci_set_ios() argument
445 if (ios->clock) { in pxamci_set_ios()
447 unsigned int clk = rate / ios->clock; in pxamci_set_ios()
452 if (ios->clock == 26000000) { in pxamci_set_ios()
465 if (rate / clk > ios->clock) in pxamci_set_ios()
481 if (host->power_mode != ios->power_mode) { in pxamci_set_ios()
484 host->power_mode = ios->power_mode; in pxamci_set_ios()
486 ret = pxamci_set_power(host, ios->power_mode, ios->vdd); in pxamci_set_ios()
498 if (ios->power_mode == MMC_POWER_ON) in pxamci_set_ios()
502 if (ios->bus_width == MMC_BUS_WIDTH_4) in pxamci_set_ios()
Dusdhi6rol0.c727 static void usdhi6_clk_set(struct usdhi6_host *host, struct mmc_ios *ios) in usdhi6_clk_set() argument
729 unsigned long rate = ios->clock; in usdhi6_clk_set()
750 if (ios->timing != MMC_TIMING_UHS_DDR50) { in usdhi6_clk_set()
794 static void usdhi6_set_power(struct usdhi6_host *host, struct mmc_ios *ios) in usdhi6_set_power() argument
801 ios->power_mode ? ios->vdd : 0); in usdhi6_set_power()
818 static void usdhi6_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in usdhi6_set_ios() argument
825 ios->clock, ios->vdd, ios->power_mode, ios->bus_width, ios->timing); in usdhi6_set_ios()
827 switch (ios->power_mode) { in usdhi6_set_ios()
829 usdhi6_set_power(host, ios); in usdhi6_set_ios()
841 usdhi6_set_power(host, ios); in usdhi6_set_ios()
[all …]
Dmeson-gx-mmc.c548 struct mmc_ios *ios) in meson_mmc_prepare_ios_clock() argument
552 switch (ios->timing) { in meson_mmc_prepare_ios_clock()
563 return meson_mmc_clk_set(host, ios->clock, ddr); in meson_mmc_prepare_ios_clock()
567 struct mmc_ios *ios) in meson_mmc_check_resampling() argument
569 switch (ios->timing) { in meson_mmc_check_resampling()
579 static void meson_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in meson_mmc_set_ios() argument
589 switch (ios->power_mode) { in meson_mmc_set_ios()
603 mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, ios->vdd); in meson_mmc_set_ios()
622 switch (ios->bus_width) { in meson_mmc_set_ios()
634 ios->bus_width); in meson_mmc_set_ios()
[all …]
Dtmio_mmc_core.c688 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4 || in tmio_mmc_start_data()
689 host->mmc->ios.bus_width == MMC_BUS_WIDTH_8) { in tmio_mmc_start_data()
894 static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in tmio_mmc_set_ios() argument
908 ios->clock, ios->power_mode); in tmio_mmc_set_ios()
927 switch (ios->power_mode) { in tmio_mmc_set_ios()
936 tmio_mmc_power_on(host, ios->vdd); in tmio_mmc_set_ios()
937 host->set_clock(host, ios->clock); in tmio_mmc_set_ios()
938 tmio_mmc_set_bus_width(host, ios->bus_width); in tmio_mmc_set_ios()
941 host->set_clock(host, ios->clock); in tmio_mmc_set_ios()
942 tmio_mmc_set_bus_width(host, ios->bus_width); in tmio_mmc_set_ios()
[all …]
/kernel/linux/linux-5.10/include/linux/mmc/
Dhost.h113 void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios);
140 int (*start_signal_voltage_switch)(struct mmc_host *host, struct mmc_ios *ios);
149 int (*prepare_hs400_tuning)(struct mmc_host *host, struct mmc_ios *ios);
162 struct mmc_ios *ios);
394 struct mmc_ios ios; /* current io bus settings */ member
531 int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios);
541 struct mmc_ios *ios) in mmc_regulator_set_vqmmc() argument
567 return card->host->ios.timing == MMC_TIMING_SD_HS || in mmc_card_hs()
568 card->host->ios.timing == MMC_TIMING_MMC_HS; in mmc_card_hs()
574 return card->host->ios.timing >= MMC_TIMING_UHS_SDR12 && in mmc_card_uhs()
[all …]
/kernel/linux/linux-5.10/drivers/net/wireless/rsi/
Drsi_91x_sdio.c187 host->ios.chip_select = MMC_CS_DONTCARE; in rsi_reset_card()
188 host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN; in rsi_reset_card()
189 host->ios.power_mode = MMC_POWER_UP; in rsi_reset_card()
190 host->ios.bus_width = MMC_BUS_WIDTH_1; in rsi_reset_card()
191 host->ios.timing = MMC_TIMING_LEGACY; in rsi_reset_card()
192 host->ops->set_ios(host, &host->ios); in rsi_reset_card()
200 host->ios.clock = host->f_min; in rsi_reset_card()
201 host->ios.power_mode = MMC_POWER_ON; in rsi_reset_card()
202 host->ops->set_ios(host, &host->ios); in rsi_reset_card()
211 host->ios.chip_select = MMC_CS_HIGH; in rsi_reset_card()
[all …]
/kernel/linux/linux-5.10/drivers/staging/greybus/
Dsdio.c589 static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in gb_mmc_set_ios() argument
602 request.clock = cpu_to_le32(ios->clock); in gb_mmc_set_ios()
604 if (ios->vdd) in gb_mmc_set_ios()
605 vdd = 1 << (ios->vdd - GB_SDIO_VDD_SHIFT); in gb_mmc_set_ios()
608 request.bus_mode = ios->bus_mode == MMC_BUSMODE_OPENDRAIN ? in gb_mmc_set_ios()
612 switch (ios->power_mode) { in gb_mmc_set_ios()
629 switch (ios->bus_width) { in gb_mmc_set_ios()
643 switch (ios->timing) { in gb_mmc_set_ios()
681 switch (ios->signal_voltage) { in gb_mmc_set_ios()
695 switch (ios->drv_type) { in gb_mmc_set_ios()
[all …]

12345