Lines Matching defs:host
3 * linux/drivers/mmc/host/sdhci_f_sdh30.c
29 static void *sdhci_f_sdhost_priv(struct sdhci_host *host)
31 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
36 static void sdhci_f_sdh30_soft_voltage_switch(struct sdhci_host *host)
38 struct f_sdhost_priv *priv = sdhci_f_sdhost_priv(host);
42 ctrl = sdhci_readl(host, F_SDH30_IO_CONTROL2);
44 sdhci_writel(host, ctrl, F_SDH30_IO_CONTROL2);
46 sdhci_writel(host, ctrl, F_SDH30_IO_CONTROL2);
49 sdhci_writel(host, ctrl, F_SDH30_IO_CONTROL2);
54 ctrl = sdhci_readl(host, F_SDH30_ESD_CONTROL);
56 sdhci_writel(host, ctrl, F_SDH30_ESD_CONTROL);
59 ctrl = sdhci_readl(host, F_SDH30_TUNING_SETTING);
61 sdhci_writel(host, ctrl, F_SDH30_TUNING_SETTING);
64 static unsigned int sdhci_f_sdh30_get_min_clock(struct sdhci_host *host)
69 static void sdhci_f_sdh30_reset(struct sdhci_host *host, u8 mask)
71 struct f_sdhost_priv *priv = sdhci_f_sdhost_priv(host);
74 if (sdhci_readw(host, SDHCI_CLOCK_CONTROL) == 0)
75 sdhci_writew(host, 0xBC01, SDHCI_CLOCK_CONTROL);
77 sdhci_reset(host, mask);
80 ctl = sdhci_readl(host, F_SDH30_ESD_CONTROL);
82 sdhci_writel(host, ctl, F_SDH30_ESD_CONTROL);
105 struct sdhci_host *host;
112 host = sdhci_pltfm_init(pdev, &sdhci_f_sdh30_pltfm_data,
114 if (IS_ERR(host))
115 return PTR_ERR(host);
117 pltfm_host = sdhci_priv(host);
124 ret = mmc_of_parse(host->mmc);
153 ctrl = sdhci_readw(host, F_SDH30_AHB_CONFIG);
157 sdhci_writew(host, ctrl, F_SDH30_AHB_CONFIG);
159 reg = sdhci_readl(host, F_SDH30_ESD_CONTROL);
160 sdhci_writel(host, reg & ~F_SDH30_EMMC_RST, F_SDH30_ESD_CONTROL);
162 sdhci_writel(host, reg | F_SDH30_EMMC_RST, F_SDH30_ESD_CONTROL);
164 reg = sdhci_readl(host, SDHCI_CAPABILITIES);
169 host->quirks |= SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK;
171 ret = sdhci_add_host(host);
189 struct sdhci_host *host = platform_get_drvdata(pdev);
190 struct f_sdhost_priv *priv = sdhci_f_sdhost_priv(host);