/linux-master/drivers/mmc/core/ |
H A D | debugfs.c | 59 struct mmc_ios *ios = &host->ios; local 62 seq_printf(s, "clock:\t\t%u Hz\n", ios->clock); 65 seq_printf(s, "vdd:\t\t%u ", ios->vdd); 66 if ((1 << ios->vdd) & MMC_VDD_165_195) 68 else if (ios->vdd < (ARRAY_SIZE(vdd_str) - 1) 69 && vdd_str[ios->vdd] && vdd_str[ios->vdd + 1]) 70 seq_printf(s, "(%s ~ %s V)\n", vdd_str[ios->vdd], 71 vdd_str[ios [all...] |
H A D | host.h | 68 return card->host->ios.timing == MMC_TIMING_MMC_HS200; 73 return card->host->ios.timing == MMC_TIMING_MMC_DDR52; 78 return card->host->ios.timing == MMC_TIMING_MMC_HS400; 83 return card->host->ios.enhanced_strobe; 88 return host->ios.timing == MMC_TIMING_SD_EXP || 89 host->ios.timing == MMC_TIMING_SD_EXP_1_2V;
|
H A D | core.c | 688 if (card->host->ios.clock) 690 (card->host->ios.clock / 1000); 885 * Internal function that does the actual ios call to the host driver, 890 struct mmc_ios *ios = &host->ios; local 894 mmc_hostname(host), ios->clock, ios->bus_mode, 895 ios->power_mode, ios->chip_select, ios [all...] |
H A D | regulator.c | 95 * mmc_regulator_set_ocr - set regulator to match host->ios voltage 98 * @vdd_bit: zero for power off, else a bit number (host->ios.vdd) 164 * mmc_regulator_set_vqmmc - Set VQMMC as per the ios 166 * @ios: io bus settings 182 int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios) argument 191 switch (ios->signal_voltage) { 199 ret = mmc_ocrbitnum_to_vdd(mmc->ios.vdd, &volt, &max_uV);
|
/linux-master/drivers/mmc/host/ |
H A D | dw_mmc-starfive.c | 26 static void dw_mci_starfive_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 31 if (ios->timing == MMC_TIMING_MMC_DDR52 || ios->timing == MMC_TIMING_UHS_DDR50) { 32 clock = (ios->clock > 50000000 && ios->clock <= 52000000) ? 100000000 : ios->clock; 35 dev_dbg(host->dev, "Use an external frequency divider %uHz\n", ios->clock);
|
H A D | dw_mmc-k3.c | 102 static void dw_mci_k3_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 106 ret = clk_set_rate(host->ciu_clk, ios->clock); 108 dev_warn(host->dev, "failed to set rate %uHz\n", ios->clock); 141 static int dw_mci_hi6220_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios) argument 155 if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) { 160 } else if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_180) { 188 static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 193 clock = (ios->clock <= 25000000) ? 25000000 : ios->clock; 297 static void dw_mci_hi3660_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 401 dw_mci_hi3660_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | dw_mmc-hi3798cv200.c | 26 static void dw_mci_hi3798cv200_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 32 if (ios->timing == MMC_TIMING_MMC_DDR52 || 33 ios->timing == MMC_TIMING_UHS_DDR50) 40 if (ios->timing == MMC_TIMING_MMC_DDR52) 47 if (ios->timing == MMC_TIMING_MMC_HS400) 53 if (ios->timing == MMC_TIMING_MMC_HS || 54 ios->timing == MMC_TIMING_LEGACY) 56 else if (ios->timing == MMC_TIMING_MMC_HS200)
|
H A D | dw_mmc-hi3798mv200.c | 36 static void dw_mci_hi3798mv200_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 39 struct mmc_clk_phase phase = priv->phase_map.phase[ios->timing]; 43 if (ios->timing == MMC_TIMING_MMC_DDR52 44 || ios->timing == MMC_TIMING_UHS_DDR50) 51 if (ios->timing == MMC_TIMING_MMC_HS400) 57 if (clk_set_rate(host->ciu_clk, ios->clock)) 58 dev_warn(host->dev, "Failed to set rate to %u\n", ios->clock); 73 ios->timing);
|
H A D | dw_mmc-rockchip.c | 29 static void dw_mci_rk3288_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument 36 if (ios->clock == 0) 43 * ios->clock = (div == 0) ? bus_hz : (bus_hz / (2 * div)) 48 if (ios->bus_width == MMC_BUS_WIDTH_8 && 49 ios->timing == MMC_TIMING_MMC_DDR52) 50 cclkin = 2 * ios->clock * RK3288_CLKGEN_DIV; 52 cclkin = ios->clock * RK3288_CLKGEN_DIV; 66 if (!IS_ERR(priv->sample_clk) && ios->timing <= MMC_TIMING_SD_HS) 106 switch (ios->timing) { 113 if (ios [all...] |
H A D | sdhci-pci-arasan.c | 250 if (arasan_host->chg_clk == host->mmc->ios.clock) 253 arasan_host->chg_clk = host->mmc->ios.clock; 254 if (host->mmc->ios.clock == 200000000) 256 else if (host->mmc->ios.clock == 100000000) 258 else if (host->mmc->ios.clock == 50000000) 267 switch (host->mmc->ios.timing) { 280 host->mmc->ios.drv_type, 0x0, 290 host->mmc->ios.drv_type, 0xa,
|
H A D | owl-mmc.c | 427 static void owl_mmc_set_clk(struct owl_mmc_host *owl_host, struct mmc_ios *ios) argument 429 if (!ios->clock) 432 owl_host->clock = ios->clock; 433 owl_mmc_set_clk_rate(owl_host, ios->clock); 437 struct mmc_ios *ios) 443 switch (ios->bus_width) { 485 static void owl_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 489 switch (ios->power_mode) { 518 if (ios->clock != owl_host->clock) 519 owl_mmc_set_clk(owl_host, ios); 436 owl_mmc_set_bus_width(struct owl_mmc_host *owl_host, struct mmc_ios *ios) argument 533 owl_mmc_start_signal_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | alcor.c | 692 static void alcor_set_timing(struct mmc_host *mmc, struct mmc_ios *ios) argument 696 if (ios->timing == MMC_TIMING_LEGACY) { 705 static void alcor_set_bus_width(struct mmc_host *mmc, struct mmc_ios *ios) argument 710 if (ios->bus_width == MMC_BUS_WIDTH_1) { 712 } else if (ios->bus_width == MMC_BUS_WIDTH_4) { 845 static void alcor_set_power_mode(struct mmc_host *mmc, struct mmc_ios *ios) argument 850 switch (ios->power_mode) { 852 alcor_set_clock(host, ios->clock); 880 alcor_set_clock(host, ios->clock); 887 alcor_set_clock(host, ios 906 alcor_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 927 alcor_signal_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | sunxi-mmc.c | 723 struct mmc_ios *ios, u32 rate) 741 if (ios->timing != MMC_TIMING_UHS_DDR50 && 742 ios->timing != MMC_TIMING_MMC_DDR52) { 744 } else if (ios->bus_width == MMC_BUS_WIDTH_8) { 761 struct mmc_ios *ios) 765 u32 rval, clock = ios->clock, div = 1; 775 if (!ios->clock) 787 if (ios->timing == MMC_TIMING_MMC_DDR52 && 789 ios->bus_width == MMC_BUS_WIDTH_8)) { 843 ret = sunxi_mmc_clk_set_phase(host, ios, rat 722 sunxi_mmc_clk_set_phase(struct sunxi_mmc_host *host, struct mmc_ios *ios, u32 rate) argument 760 sunxi_mmc_clk_set_rate(struct sunxi_mmc_host *host, struct mmc_ios *ios) argument 885 sunxi_mmc_set_clk(struct sunxi_mmc_host *host, struct mmc_ios *ios) argument 902 sunxi_mmc_card_power(struct sunxi_mmc_host *host, struct mmc_ios *ios) argument 948 sunxi_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 957 sunxi_mmc_volt_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | omap_hsmmc.c | 220 struct mmc_ios *ios = &mmc->ios; local 223 ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, ios->vdd); 520 static u16 calc_divisor(struct omap_hsmmc_host *host, struct mmc_ios *ios) argument 524 if (ios->clock) { 525 dsor = DIV_ROUND_UP(clk_get_rate(host->fclk), ios->clock); 535 struct mmc_ios *ios = &host->mmc->ios; local 540 dev_vdbg(mmc_dev(host->mmc), "Set clock to %uHz\n", ios->clock); 546 clkdiv = calc_divisor(host, ios); 585 struct mmc_ios *ios = &host->mmc->ios; local 613 struct mmc_ios *ios = &host->mmc->ios; local 631 struct mmc_ios *ios = &host->mmc->ios; local 1452 omap_hsmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | dw_mmc-bluefield.c | 23 static void dw_mci_bluefield_set_ios(struct dw_mci *host, struct mmc_ios *ios) argument
|
H A D | sdhci-xenon.h | 84 * record the current ios setting of Xenon SDHC. 86 * ios affects PHY timing. 104 int xenon_phy_adj(struct sdhci_host *host, struct mmc_ios *ios);
|
H A D | mmci_stm32_sdmmc.c | 301 if (host->mmc->ios.timing == MMC_TIMING_MMC_DDR52 || 302 host->mmc->ios.timing == MMC_TIMING_UHS_DDR50) 330 if (host->mmc->ios.power_mode == MMC_POWER_ON) 335 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4) 337 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_8) 344 if (host->mmc->ios.timing >= MMC_TIMING_UHS_SDR50) 361 struct mmc_ios ios = host->mmc->ios; local 370 if (ios.power_mode == MMC_POWER_OFF) { 383 } else if (ios 664 sdmmc_post_sig_volt_switch(struct mmci_host *host, struct mmc_ios *ios) argument [all...] |
H A D | sdhci-msm.c | 339 struct mmc_ios ios = host->mmc->ios; local 346 if (ios.timing == MMC_TIMING_UHS_DDR50 || 347 ios.timing == MMC_TIMING_MMC_DDR52 || 348 ios.timing == MMC_TIMING_MMC_HS400 || 359 struct mmc_ios curr_ios = host->mmc->ios; 823 struct mmc_ios ios = host->mmc->ios; local 839 if ((msm_host->tuning_done || ios.enhanced_strobe) && 892 struct mmc_ios ios local 1125 struct mmc_ios *ios = &host->mmc->ios; local 1192 struct mmc_ios ios = host->mmc->ios; local 1298 sdhci_msm_hs400(struct sdhci_host *host, struct mmc_ios *ios) argument 1418 struct mmc_ios ios; local 2196 sdhci_msm_start_signal_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | sdhci.c | 382 mmc->ops->set_ios(mmc, &mmc->ios); 937 struct mmc_ios *ios = &mmc->ios; local 938 unsigned char bus_width = 1 << ios->bus_width; 2307 static bool sdhci_presetable_values_change(struct sdhci_host *host, struct mmc_ios *ios) argument 2315 (sdhci_preset_needed(host, ios->timing) || host->drv_type != ios->drv_type); 2318 void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 2327 if (ios->power_mode == MMC_POWER_UNDEFINED) 2332 ios 2609 sdhci_start_signal_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument 2715 sdhci_prepare_hs400_tuning(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | sdhci-xenon.c | 278 static void xenon_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 292 if ((ios->timing == MMC_TIMING_MMC_HS400) || 293 (ios->timing == MMC_TIMING_MMC_HS200) || 294 (ios->timing == MMC_TIMING_MMC_HS)) { 306 sdhci_set_ios(mmc, ios); 307 xenon_phy_adj(host, ios); 314 struct mmc_ios *ios) 330 xenon_soc_pad_ctrl(host, ios->signal_voltage); 340 return sdhci_start_signal_voltage_switch(mmc, ios); 313 xenon_start_signal_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument
|
H A D | sdhci-sprd.c | 377 if (!mmc->ios.enhanced_strobe) 495 static int sdhci_sprd_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) argument 502 ret = mmc_regulator_set_vqmmc(mmc, ios); 513 switch (ios->signal_voltage) { 547 struct mmc_ios *ios) 554 if (!ios->enhanced_strobe) 650 dll_dly = p[mmc->ios.timing]; 677 p[mmc->ios.timing] &= ~SDHCI_SPRD_CMD_DLY_MASK; 678 p[mmc->ios.timing] |= ((best_clk_sample << 8) & SDHCI_SPRD_CMD_DLY_MASK); 680 p[mmc->ios 546 sdhci_sprd_hs400_enhanced_strobe(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
H A D | mmc_spi.c | 1036 static void mmc_spi_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 1040 if (host->power_mode != ios->power_mode) { 1046 mmc_powerstring(ios->power_mode), 1047 ios->vdd, 1054 switch (ios->power_mode) { 1058 ios->vdd); 1059 if (ios->power_mode == MMC_POWER_UP) 1065 if (ios->power_mode == MMC_POWER_ON) 1077 if (canpower && ios->power_mode == MMC_POWER_OFF) { 1110 host->power_mode = ios [all...] |
/linux-master/include/linux/mmc/ |
H A D | host.h | 141 * ios->clock might be 0. For some controllers, setting 0Hz 146 void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); 173 int (*start_signal_voltage_switch)(struct mmc_host *host, struct mmc_ios *ios); 182 int (*prepare_hs400_tuning)(struct mmc_host *host, struct mmc_ios *ios); 204 struct mmc_ios *ios); 220 int (*init_sd_express)(struct mmc_host *host, struct mmc_ios *ios); 447 struct mmc_ios ios; /* current io bus settings */ member in struct:mmc_host 592 int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios); 602 struct mmc_ios *ios) 630 return card->host->ios 601 mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |
/linux-master/drivers/net/wireless/rsi/ |
H A D | rsi_91x_sdio.c | 186 host->ios.chip_select = MMC_CS_DONTCARE; 187 host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN; 188 host->ios.power_mode = MMC_POWER_UP; 189 host->ios.bus_width = MMC_BUS_WIDTH_1; 190 host->ios.timing = MMC_TIMING_LEGACY; 191 host->ops->set_ios(host, &host->ios); 199 host->ios.clock = host->f_min; 200 host->ios.power_mode = MMC_POWER_ON; 201 host->ops->set_ios(host, &host->ios); 210 host->ios [all...] |
/linux-master/drivers/staging/greybus/ |
H A D | sdio.c | 588 static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) argument 601 request.clock = cpu_to_le32(ios->clock); 603 if (ios->vdd) 604 vdd = 1 << (ios->vdd - GB_SDIO_VDD_SHIFT); 607 request.bus_mode = ios->bus_mode == MMC_BUSMODE_OPENDRAIN ? 611 switch (ios->power_mode) { 628 switch (ios->bus_width) { 642 switch (ios->timing) { 680 switch (ios->signal_voltage) { 694 switch (ios 749 gb_mmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios) argument [all...] |