Lines Matching refs:host
23 static int init_kona_mmc_core(struct sdhci_host *host) in init_kona_mmc_core() argument
28 if (sdhci_readb(host, SDHCI_SOFTWARE_RESET) & SDHCI_RESET_ALL) { in init_kona_mmc_core()
34 mask = sdhci_readl(host, SDHCI_CORECTRL_OFFSET) | SDHCI_CORECTRL_RESET; in init_kona_mmc_core()
35 sdhci_writel(host, mask, SDHCI_CORECTRL_OFFSET); in init_kona_mmc_core()
47 (sdhci_readl(host, SDHCI_CORECTRL_OFFSET) & in init_kona_mmc_core()
52 sdhci_writel(host, mask, SDHCI_CORECTRL_OFFSET); in init_kona_mmc_core()
55 mask = sdhci_readl(host, SDHCI_CORECTRL_OFFSET); in init_kona_mmc_core()
56 sdhci_writel(host, mask | SDHCI_CORECTRL_EN, SDHCI_CORECTRL_OFFSET); in init_kona_mmc_core()
59 sdhci_writel(host, SDHCI_COREIMR_IP, SDHCI_COREIMR_OFFSET); in init_kona_mmc_core()
62 mask = sdhci_readl(host, SDHCI_CORESTAT_OFFSET); in init_kona_mmc_core()
63 sdhci_writel(host, mask | SDHCI_CORESTAT_CD_SW, SDHCI_CORESTAT_OFFSET); in init_kona_mmc_core()
67 while (!(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) { in init_kona_mmc_core()
83 struct sdhci_host *host = NULL; in kona_sdhci_init() local
85 host = (struct sdhci_host *)malloc(sizeof(struct sdhci_host)); in kona_sdhci_init()
86 if (!host) { in kona_sdhci_init()
117 free(host); in kona_sdhci_init()
121 host->name = "kona-sdhci"; in kona_sdhci_init()
122 host->ioaddr = reg_base; in kona_sdhci_init()
123 host->quirks = quirks; in kona_sdhci_init()
124 host->max_clk = max_clk; in kona_sdhci_init()
126 if (init_kona_mmc_core(host)) { in kona_sdhci_init()
127 free(host); in kona_sdhci_init()
131 add_sdhci(host, 0, min_clk); in kona_sdhci_init()