Lines Matching defs:host
18 #include <linux/mmc/host.h>
53 static void pxav2_reset(struct sdhci_host *host, u8 mask)
55 struct platform_device *pdev = to_platform_device(mmc_dev(host->mmc));
58 sdhci_reset(host, mask);
68 tmp = readw(host->ioaddr + SD_CLOCK_BURST_SIZE_SETUP);
76 writew(tmp, host->ioaddr + SD_CLOCK_BURST_SIZE_SETUP);
80 tmp = readw(host->ioaddr + SD_FIFO_PARAM);
82 writew(tmp, host->ioaddr + SD_FIFO_PARAM);
84 tmp = readw(host->ioaddr + SD_FIFO_PARAM);
87 writew(tmp, host->ioaddr + SD_FIFO_PARAM);
92 static u16 pxav1_readw(struct sdhci_host *host, int reg)
96 return readl(host->ioaddr + SDHCI_HOST_VERSION - 2) >> 16;
98 return readw(host->ioaddr + reg);
101 static u32 pxav1_irq(struct sdhci_host *host, u32 intmask)
103 struct sdhci_pxav2_host *pxav2_host = sdhci_pltfm_priv(sdhci_priv(host));
108 sdhci_writel(host, intmask & SDHCI_INT_CMD_MASK, SDHCI_INT_STATUS);
117 mmc_request_done(host->mmc, sdio_mrq);
123 static void pxav1_request_done(struct sdhci_host *host, struct mmc_request *mrq)
133 tmp = readw(host->ioaddr + SDHCI_TIMEOUT_CONTROL);
135 writew(tmp, host->ioaddr + SDHCI_TIMEOUT_CONTROL);
138 pxav2_host = sdhci_pltfm_priv(sdhci_priv(host));
145 sdhci_writel(host, 0, SDHCI_ARGUMENT);
146 sdhci_writew(host, 0, SDHCI_TRANSFER_MODE);
147 sdhci_writew(host, SDHCI_MAKE_CMD(MMC_GO_IDLE_STATE, SDHCI_CMD_RESP_NONE),
154 mmc_request_done(host->mmc, mrq);
157 static void pxav2_mmc_set_bus_width(struct sdhci_host *host, int width)
162 ctrl = readb(host->ioaddr + SDHCI_HOST_CONTROL);
163 tmp = readw(host->ioaddr + SD_CE_ATA_2);
174 writew(tmp, host->ioaddr + SD_CE_ATA_2);
175 writeb(ctrl, host->ioaddr + SDHCI_HOST_CONTROL);
258 struct sdhci_host *host = NULL;
264 host = sdhci_pltfm_init(pdev, NULL, sizeof(*pxav2_host));
265 if (IS_ERR(host))
266 return PTR_ERR(host);
268 pltfm_host = sdhci_priv(host);
288 host->quirks = SDHCI_QUIRK_BROKEN_ADMA
301 host->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION;
302 host->mmc->caps |= MMC_CAP_NONREMOVABLE;
307 host->mmc->caps |= MMC_CAP_8_BIT_DATA;
310 host->quirks |= pdata->quirks;
312 host->mmc->caps |= pdata->host_caps;
314 host->mmc->pm_caps |= pdata->pm_caps;
317 host->quirks |= variant->extra_quirks;
318 host->ops = variant->ops;
335 ret = sdhci_add_host(host);