Lines Matching full:sdhci
2 * drivers/mmc/host/sdhci-spear.c
4 * Support of SDHCI platform devices for spear soc family
9 * Inspired by sdhci-pltfm.c
29 #include "sdhci.h"
35 /* sdhci ops */
46 struct spear_sdhci *sdhci; in sdhci_probe() local
51 host = sdhci_alloc_host(dev, sizeof(*sdhci)); in sdhci_probe()
54 dev_dbg(&pdev->dev, "cannot allocate memory for sdhci\n"); in sdhci_probe()
65 host->hw_name = "sdhci"; in sdhci_probe()
74 sdhci = sdhci_priv(host); in sdhci_probe()
77 sdhci->clk = devm_clk_get(&pdev->dev, NULL); in sdhci_probe()
78 if (IS_ERR(sdhci->clk)) { in sdhci_probe()
79 ret = PTR_ERR(sdhci->clk); in sdhci_probe()
84 ret = clk_prepare_enable(sdhci->clk); in sdhci_probe()
90 ret = clk_set_rate(sdhci->clk, 50000000); in sdhci_probe()
93 clk_get_rate(sdhci->clk)); in sdhci_probe()
96 * It is optional to use GPIOs for sdhci card detection. If we in sdhci_probe()
112 clk_disable_unprepare(sdhci->clk); in sdhci_probe()
116 dev_err(&pdev->dev, "spear-sdhci probe failed: %d\n", ret); in sdhci_probe()
123 struct spear_sdhci *sdhci = sdhci_priv(host); in sdhci_remove() local
132 clk_disable_unprepare(sdhci->clk); in sdhci_remove()
140 struct spear_sdhci *sdhci = sdhci_priv(host); in sdhci_suspend() local
148 clk_disable(sdhci->clk); in sdhci_suspend()
156 struct spear_sdhci *sdhci = sdhci_priv(host); in sdhci_resume() local
159 ret = clk_enable(sdhci->clk); in sdhci_resume()
172 { .compatible = "st,spear300-sdhci" },
179 .name = "sdhci",