Lines Matching defs:host

46 static inline void esdhc_clrset_be(struct sdhci_host *host,
49 void __iomem *base = host->ioaddr + (reg & ~3);
65 static void esdhc_mcf_writeb_be(struct sdhci_host *host, u8 val, int reg)
67 void __iomem *base = host->ioaddr + (reg & ~3);
74 u8 tmp = readb(host->ioaddr + SDHCI_HOST_CONTROL + 1);
85 writel(host_ctrl, host->ioaddr + SDHCI_HOST_CONTROL);
93 static void esdhc_mcf_writew_be(struct sdhci_host *host, u16 val, int reg)
95 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
97 void __iomem *base = host->ioaddr + (reg & ~3);
106 if (host->cmd->opcode == MMC_STOP_TRANSMISSION)
114 host->ioaddr + SDHCI_TRANSFER_MODE);
121 static void esdhc_mcf_writel_be(struct sdhci_host *host, u32 val, int reg)
123 writel(val, host->ioaddr + reg);
126 static u8 esdhc_mcf_readb_be(struct sdhci_host *host, int reg)
129 u8 __iomem *base = host->ioaddr + (reg & ~3);
140 return readb(host->ioaddr + (reg ^ 0x3));
143 static u16 esdhc_mcf_readw_be(struct sdhci_host *host, int reg)
152 return readw(host->ioaddr + (reg ^ 0x2));
155 static u32 esdhc_mcf_readl_be(struct sdhci_host *host, int reg)
159 val = readl(host->ioaddr + reg);
178 static unsigned int esdhc_mcf_get_max_timeout_count(struct sdhci_host *host)
183 static void esdhc_mcf_set_timeout(struct sdhci_host *host,
187 esdhc_clrset_be(host, ESDHC_SYS_CTRL_DTOCV_MASK, 0xE,
191 static void esdhc_mcf_reset(struct sdhci_host *host, u8 mask)
193 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
196 sdhci_reset(host, mask);
198 esdhc_clrset_be(host, ESDHC_CTRL_BUSWIDTH_MASK,
201 sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
202 sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
205 static unsigned int esdhc_mcf_pltfm_get_max_clock(struct sdhci_host *host)
207 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
212 static unsigned int esdhc_mcf_pltfm_get_min_clock(struct sdhci_host *host)
214 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
219 static void esdhc_mcf_pltfm_set_clock(struct sdhci_host *host,
222 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
230 host->mmc->actual_clock = 0;
274 esdhc_clrset_be(host, 0x0000fff7, temp, SDHCI_CLOCK_CONTROL);
276 host->mmc->actual_clock = clock;
281 static void esdhc_mcf_pltfm_set_bus_width(struct sdhci_host *host, int width)
283 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
295 esdhc_clrset_be(host, ESDHC_CTRL_BUSWIDTH_MASK,
299 static void esdhc_mcf_request_done(struct sdhci_host *host,
324 mmc_request_done(host->mmc, mrq);
327 static void esdhc_mcf_copy_to_bounce_buffer(struct sdhci_host *host,
332 host->bounce_buffer, length);
334 esdhc_mcf_buffer_swap32((u32 *)host->bounce_buffer,
368 static int esdhc_mcf_plat_init(struct sdhci_host *host,
372 struct device *dev = mmc_dev(host->mmc);
386 host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
389 host->mmc->caps |= MMC_CAP_NONREMOVABLE;
397 host->mmc->caps |= MMC_CAP_4_BIT_DATA;
401 host->quirks |= SDHCI_QUIRK_FORCE_1_BIT_DATA;
410 struct sdhci_host *host;
415 host = sdhci_pltfm_init(pdev, &sdhci_esdhc_mcf_pdata,
418 if (IS_ERR(host))
419 return PTR_ERR(host);
421 pltfm_host = sdhci_priv(host);
424 host->sdma_boundary = 0;
426 host->flags |= SDHCI_AUTO_CMD12;
454 err = esdhc_mcf_plat_init(host, mcf_data);
458 err = sdhci_setup_host(host);
462 if (!host->bounce_buffer) {
468 err = __sdhci_add_host(host);
475 sdhci_cleanup_host(host);
487 struct sdhci_host *host = platform_get_drvdata(pdev);
488 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
491 sdhci_remove_host(host, 0);