Lines Matching full:ios
1328 const struct mmc_ios *ios; local
1335 ios = &slot->host.ios;
1339 if (ios->clock > SD_SDR50_MAX) {
1340 if (ios->timing == bus_timing_mmc_hs400 ||
1341 ios->timing == bus_timing_mmc_hs400es)
1346 else if (ios->clock > SD_SDR25_MAX)
1348 else if (ios->clock > SD_SDR12_MAX) {
1349 if (ios->timing == bus_timing_uhs_ddr50 ||
1350 ios->timing == bus_timing_mmc_ddr52)
1354 } else if (ios->clock > SD_MMC_CARD_ID_FREQUENCY)
1357 sdhci_set_clock(slot, ios->clock);
1364 struct mmc_ios *ios = &slot->host.ios; local
1368 if (ios->power_mode == power_off) {
1373 sdhci_set_clock(slot, ios->clock);
1374 sdhci_set_power(slot, (ios->power_mode == power_off) ? 0 : ios->vdd);
1375 if (ios->bus_width == bus_width_8) {
1378 } else if (ios->bus_width == bus_width_4) {
1381 } else if (ios->bus_width == bus_width_1) {
1385 panic("Invalid bus width: %d", ios->bus_width);
1387 if (ios->clock > SD_SDR12_MAX &&
1415 vccq = slot->host.ios.vccq;
1453 sdhci_set_clock(slot, slot->host.ios.clock);
1462 const struct mmc_ios *ios = &slot->host.ios; local
1474 switch (ios->timing) {
1510 ios->bus_width == bus_width_8) ? MMC_TUNING_LEN_HS200 :
1541 if (slot->host.ios.timing == bus_timing_mmc_hs400)
2443 *result = slot->host.ios.bus_mode;
2446 *result = slot->host.ios.bus_width;
2449 *result = slot->host.ios.chip_select;
2452 *result = slot->host.ios.clock;
2470 *result = slot->host.ios.power_mode;
2473 *result = slot->host.ios.vdd;
2489 *result = slot->host.ios.vccq;
2495 *result = slot->host.ios.timing;
2534 slot->host.ios.bus_mode = value;
2537 slot->host.ios.bus_width = value;
2540 slot->host.ios.chip_select = value;
2563 slot->host.ios.clock = clock;
2565 slot->host.ios.clock = 0;
2574 slot->host.ios.power_mode = value;
2577 slot->host.ios.vdd = value;
2580 slot->host.ios.vccq = value;
2583 slot->host.ios.timing = value;
2692 memcpy(&cts->proto_specific.mmc.ios, &slot->host.ios, sizeof(struct mmc_ios));
2765 struct mmc_ios *ios; local
2769 ios = &slot->host.ios;
2771 new_ios = &cts->ios;
2775 ios->clock = sdhci_cam_get_possible_host_clock(slot, new_ios->clock);
2777 slot_printf(slot, "Clock => %d\n", ios->clock);
2780 ios->vdd = new_ios->vdd;
2782 slot_printf(slot, "VDD => %d\n", ios->vdd);
2785 ios->chip_select = new_ios->chip_select;
2787 slot_printf(slot, "CS => %d\n", ios->chip_select);
2790 ios->bus_width = new_ios->bus_width;
2792 slot_printf(slot, "Bus width => %d\n", ios->bus_width);
2795 ios->power_mode = new_ios->power_mode;
2797 slot_printf(slot, "Power mode => %d\n", ios->power_mode);
2800 ios->timing = new_ios->timing;
2802 slot_printf(slot, "Timing => %d\n", ios->timing);
2805 ios->bus_mode = new_ios->bus_mode;
2807 slot_printf(slot, "Bus mode => %d\n", ios->bus_mode);
2810 ios->vccq = new_ios->vccq;
2812 slot_printf(slot, "VCCQ => %d\n", ios->vccq);
2815 /* XXX Provide a way to call a chip-specific IOS update, required for TI */
2822 struct mmc_ios *ios = &slot->host.ios; local
2826 __func__, ios->power_mode, ios->clock, ios->bus_width, ios->timing);
2829 if (ios->power_mode == power_off) {
2834 sdhci_set_clock(slot, ios->clock);
2835 sdhci_set_power(slot, (ios->power_mode == power_off) ? 0 : ios->vdd);
2836 if (ios->bus_width == bus_width_8) {
2839 } else if (ios->bus_width == bus_width_4) {
2842 } else if (ios->bus_width == bus_width_1) {
2846 panic("Invalid bus width: %d", ios->bus_width);
2848 if (ios->timing == bus_timing_hs &&