Lines Matching refs:host
131 struct sdhci_host *host) in armada_38x_quirks() argument
134 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in armada_38x_quirks()
138 host->quirks &= ~SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN; in armada_38x_quirks()
139 host->quirks |= SDHCI_QUIRK_MISSING_CAPS; in armada_38x_quirks()
153 host->caps1 = sdhci_readl(host, SDHCI_CAPABILITIES_1); in armada_38x_quirks()
154 host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_DDR50); in armada_38x_quirks()
164 host->caps = sdhci_readl(host, SDHCI_CAPABILITIES); in armada_38x_quirks()
166 host->caps &= ~SDHCI_CAN_VDD_180; in armada_38x_quirks()
167 host->mmc->caps &= ~MMC_CAP_1_8V_DDR; in armada_38x_quirks()
169 host->caps &= ~SDHCI_CAN_VDD_330; in armada_38x_quirks()
171 host->caps1 &= ~(SDHCI_SUPPORT_SDR104 | SDHCI_USE_SDR50_TUNING); in armada_38x_quirks()
176 static void pxav3_reset(struct sdhci_host *host, u8 mask) in pxav3_reset() argument
178 struct platform_device *pdev = to_platform_device(mmc_dev(host->mmc)); in pxav3_reset()
181 sdhci_reset(host, mask); in pxav3_reset()
191 tmp = readw(host->ioaddr + SD_CLOCK_BURST_SIZE_SETUP); in pxav3_reset()
195 writew(tmp, host->ioaddr + SD_CLOCK_BURST_SIZE_SETUP); in pxav3_reset()
201 static void pxav3_gen_init_74_clocks(struct sdhci_host *host, u8 power_mode) in pxav3_gen_init_74_clocks() argument
203 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in pxav3_gen_init_74_clocks()
211 dev_dbg(mmc_dev(host->mmc), in pxav3_gen_init_74_clocks()
219 tmp = readw(host->ioaddr + SD_CE_ATA_2); in pxav3_gen_init_74_clocks()
221 writew(tmp, host->ioaddr + SD_CE_ATA_2); in pxav3_gen_init_74_clocks()
224 tmp = readw(host->ioaddr + SD_CFG_FIFO_PARAM); in pxav3_gen_init_74_clocks()
226 writew(tmp, host->ioaddr + SD_CFG_FIFO_PARAM); in pxav3_gen_init_74_clocks()
233 if ((readw(host->ioaddr + SD_CE_ATA_2) in pxav3_gen_init_74_clocks()
240 dev_warn(mmc_dev(host->mmc), "74 clock interrupt not cleared\n"); in pxav3_gen_init_74_clocks()
243 tmp = readw(host->ioaddr + SD_CE_ATA_2); in pxav3_gen_init_74_clocks()
245 writew(tmp, host->ioaddr + SD_CE_ATA_2); in pxav3_gen_init_74_clocks()
250 static void pxav3_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs) in pxav3_set_uhs_signaling() argument
252 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in pxav3_set_uhs_signaling()
260 ctrl_2 = sdhci_readw(host, SDHCI_HOST_CONTROL2); in pxav3_set_uhs_signaling()
304 sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2); in pxav3_set_uhs_signaling()
305 dev_dbg(mmc_dev(host->mmc), in pxav3_set_uhs_signaling()
368 struct sdhci_host *host = NULL; in sdhci_pxav3_probe() local
377 host = sdhci_pltfm_init(pdev, &sdhci_pxav3_pdata, 0); in sdhci_pxav3_probe()
378 if (IS_ERR(host)) in sdhci_pxav3_probe()
379 return PTR_ERR(host); in sdhci_pxav3_probe()
381 pltfm_host = sdhci_priv(host); in sdhci_pxav3_probe()
400 host->mmc->caps |= MMC_CAP_1_8V_DDR; in sdhci_pxav3_probe()
403 ret = armada_38x_quirks(pdev, host); in sdhci_pxav3_probe()
413 ret = mmc_of_parse(host->mmc); in sdhci_pxav3_probe()
422 host->mmc->caps |= MMC_CAP_NONREMOVABLE; in sdhci_pxav3_probe()
426 host->mmc->caps |= MMC_CAP_8_BIT_DATA; in sdhci_pxav3_probe()
429 host->quirks |= pdata->quirks; in sdhci_pxav3_probe()
431 host->quirks2 |= pdata->quirks2; in sdhci_pxav3_probe()
433 host->mmc->caps |= pdata->host_caps; in sdhci_pxav3_probe()
435 host->mmc->caps2 |= pdata->host_caps2; in sdhci_pxav3_probe()
437 host->mmc->pm_caps |= pdata->pm_caps; in sdhci_pxav3_probe()
440 ret = mmc_gpio_request_cd(host->mmc, pdata->ext_cd_gpio, in sdhci_pxav3_probe()
443 dev_err(mmc_dev(host->mmc), in sdhci_pxav3_probe()
457 ret = sdhci_add_host(host); in sdhci_pxav3_probe()
463 platform_set_drvdata(pdev, host); in sdhci_pxav3_probe()
465 if (host->mmc->pm_caps & MMC_PM_WAKE_SDIO_IRQ) in sdhci_pxav3_probe()
487 struct sdhci_host *host = platform_get_drvdata(pdev); in sdhci_pxav3_remove() local
488 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in sdhci_pxav3_remove()
495 sdhci_remove_host(host, 1); in sdhci_pxav3_remove()
509 struct sdhci_host *host = dev_get_drvdata(dev); in sdhci_pxav3_suspend() local
512 ret = sdhci_suspend_host(host); in sdhci_pxav3_suspend()
522 struct sdhci_host *host = dev_get_drvdata(dev); in sdhci_pxav3_resume() local
525 ret = sdhci_resume_host(host); in sdhci_pxav3_resume()
536 struct sdhci_host *host = dev_get_drvdata(dev); in sdhci_pxav3_runtime_suspend() local
537 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in sdhci_pxav3_runtime_suspend()
541 ret = sdhci_runtime_suspend_host(host); in sdhci_pxav3_runtime_suspend()
554 struct sdhci_host *host = dev_get_drvdata(dev); in sdhci_pxav3_runtime_resume() local
555 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in sdhci_pxav3_runtime_resume()
562 return sdhci_runtime_resume_host(host); in sdhci_pxav3_runtime_resume()