mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
mmc: pic32_sdhci: move the code to pic32_sdhci.c
This code is used for only pic32_sdhci controller. To remove the "#ifdef", moves to pic32_sdhci.c. And use the get_cd callback function. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
parent
62358a988e
commit
5e96217f04
2 changed files with 17 additions and 6 deletions
|
@ -15,6 +15,20 @@
|
|||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static int pci32_sdhci_get_cd(struct sdhci_host *host)
|
||||
{
|
||||
/* PIC32 SDHCI CD errata:
|
||||
* - set CD_TEST and clear CD_TEST_INS bit
|
||||
*/
|
||||
sdhci_writeb(host, SDHCI_CTRL_CD_TEST, SDHCI_HOST_CONTROL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct sdhci_ops pic32_sdhci_ops = {
|
||||
.get_cd = pci32_sdhci_get_cd,
|
||||
};
|
||||
|
||||
static int pic32_sdhci_probe(struct udevice *dev)
|
||||
{
|
||||
struct sdhci_host *host = dev_get_priv(dev);
|
||||
|
@ -33,6 +47,7 @@ static int pic32_sdhci_probe(struct udevice *dev)
|
|||
host->quirks = SDHCI_QUIRK_NO_HISPD_BIT | SDHCI_QUIRK_NO_CD;
|
||||
host->bus_width = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
|
||||
"bus-width", 4);
|
||||
host->ops = &pic32_sdhci_ops;
|
||||
|
||||
ret = fdtdec_get_int_array(gd->fdt_blob, dev->of_offset,
|
||||
"clock-freq-min-max", f_min_max, 2);
|
||||
|
|
|
@ -485,12 +485,8 @@ static int sdhci_init(struct mmc *mmc)
|
|||
sdhci_set_power(host, fls(mmc->cfg->voltages) - 1);
|
||||
|
||||
if (host->quirks & SDHCI_QUIRK_NO_CD) {
|
||||
#if defined(CONFIG_PIC32_SDHCI)
|
||||
/* PIC32 SDHCI CD errata:
|
||||
* - set CD_TEST and clear CD_TEST_INS bit
|
||||
*/
|
||||
sdhci_writeb(host, SDHCI_CTRL_CD_TEST, SDHCI_HOST_CONTROL);
|
||||
#endif
|
||||
if (host->ops->get_cd)
|
||||
host->ops->get_cd(host);
|
||||
}
|
||||
|
||||
/* Enable only interrupts served by the SD controller */
|
||||
|
|
Loading…
Reference in a new issue