Lines Matching refs:host

52 static void sdhci_f_sdh30_soft_voltage_switch(struct sdhci_host *host)  in sdhci_f_sdh30_soft_voltage_switch()  argument
54 struct f_sdhost_priv *priv = sdhci_priv(host); in sdhci_f_sdh30_soft_voltage_switch()
58 ctrl = sdhci_readl(host, F_SDH30_IO_CONTROL2); in sdhci_f_sdh30_soft_voltage_switch()
60 sdhci_writel(host, ctrl, F_SDH30_IO_CONTROL2); in sdhci_f_sdh30_soft_voltage_switch()
62 sdhci_writel(host, ctrl, F_SDH30_IO_CONTROL2); in sdhci_f_sdh30_soft_voltage_switch()
65 sdhci_writel(host, ctrl, F_SDH30_IO_CONTROL2); in sdhci_f_sdh30_soft_voltage_switch()
70 ctrl = sdhci_readl(host, F_SDH30_ESD_CONTROL); in sdhci_f_sdh30_soft_voltage_switch()
72 sdhci_writel(host, ctrl, F_SDH30_ESD_CONTROL); in sdhci_f_sdh30_soft_voltage_switch()
75 ctrl = sdhci_readl(host, F_SDH30_TUNING_SETTING); in sdhci_f_sdh30_soft_voltage_switch()
77 sdhci_writel(host, ctrl, F_SDH30_TUNING_SETTING); in sdhci_f_sdh30_soft_voltage_switch()
80 static unsigned int sdhci_f_sdh30_get_min_clock(struct sdhci_host *host) in sdhci_f_sdh30_get_min_clock() argument
85 static void sdhci_f_sdh30_reset(struct sdhci_host *host, u8 mask) in sdhci_f_sdh30_reset() argument
87 if (sdhci_readw(host, SDHCI_CLOCK_CONTROL) == 0) in sdhci_f_sdh30_reset()
88 sdhci_writew(host, 0xBC01, SDHCI_CLOCK_CONTROL); in sdhci_f_sdh30_reset()
90 sdhci_reset(host, mask); in sdhci_f_sdh30_reset()
104 struct sdhci_host *host; in sdhci_f_sdh30_probe() local
117 host = sdhci_alloc_host(dev, sizeof(struct f_sdhost_priv)); in sdhci_f_sdh30_probe()
118 if (IS_ERR(host)) in sdhci_f_sdh30_probe()
119 return PTR_ERR(host); in sdhci_f_sdh30_probe()
121 priv = sdhci_priv(host); in sdhci_f_sdh30_probe()
124 host->quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC | in sdhci_f_sdh30_probe()
126 host->quirks2 = SDHCI_QUIRK2_SUPPORT_SINGLE | in sdhci_f_sdh30_probe()
129 ret = mmc_of_parse(host->mmc); in sdhci_f_sdh30_probe()
133 platform_set_drvdata(pdev, host); in sdhci_f_sdh30_probe()
136 host->hw_name = "f_sdh30"; in sdhci_f_sdh30_probe()
137 host->ops = &sdhci_f_sdh30_ops; in sdhci_f_sdh30_probe()
138 host->irq = irq; in sdhci_f_sdh30_probe()
141 host->ioaddr = devm_ioremap_resource(&pdev->dev, res); in sdhci_f_sdh30_probe()
142 if (IS_ERR(host->ioaddr)) { in sdhci_f_sdh30_probe()
143 ret = PTR_ERR(host->ioaddr); in sdhci_f_sdh30_probe()
168 ctrl = sdhci_readw(host, F_SDH30_AHB_CONFIG); in sdhci_f_sdh30_probe()
172 sdhci_writew(host, ctrl, F_SDH30_AHB_CONFIG); in sdhci_f_sdh30_probe()
174 reg = sdhci_readl(host, F_SDH30_ESD_CONTROL); in sdhci_f_sdh30_probe()
175 sdhci_writel(host, reg & ~F_SDH30_EMMC_RST, F_SDH30_ESD_CONTROL); in sdhci_f_sdh30_probe()
177 sdhci_writel(host, reg | F_SDH30_EMMC_RST, F_SDH30_ESD_CONTROL); in sdhci_f_sdh30_probe()
179 reg = sdhci_readl(host, SDHCI_CAPABILITIES); in sdhci_f_sdh30_probe()
183 ret = sdhci_add_host(host); in sdhci_f_sdh30_probe()
194 sdhci_free_host(host); in sdhci_f_sdh30_probe()
200 struct sdhci_host *host = platform_get_drvdata(pdev); in sdhci_f_sdh30_remove() local
201 struct f_sdhost_priv *priv = sdhci_priv(host); in sdhci_f_sdh30_remove()
203 sdhci_remove_host(host, readl(host->ioaddr + SDHCI_INT_STATUS) == in sdhci_f_sdh30_remove()
209 sdhci_free_host(host); in sdhci_f_sdh30_remove()