Commit adebb98b authored by Kuo-Jung Su's avatar Kuo-Jung Su Committed by Pantelis Antoniou
Browse files

mmc: add Faraday FTSDC021 SDHCI controller support



Faraday FTSDC021 is a controller which is compliant with
SDHCI v3.0, SDIO v2.0 and MMC v4.3.

However this driver is only verified with SD memory cards.
Signed-off-by: default avatarKuo-Jung Su <dantesu@faraday-tech.com>
Acked-by: default avatarPantelis Antoniou <panto@antoniou-consulting.com>
CC: Andy Fleming <afleming@gmail.com>
parent 4520a2f2
......@@ -9,6 +9,7 @@ obj-$(CONFIG_BFIN_SDH) += bfin_sdh.o
obj-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
obj-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o
obj-$(CONFIG_FTSDC010) += ftsdc010_mci.o
obj-$(CONFIG_FTSDC021) += ftsdc021_sdhci.o
obj-$(CONFIG_GENERIC_MMC) += mmc.o
obj-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
......
/*
* (C) Copyright 2013 Faraday Technology
* Kuo-Jung Su <dantesu@faraday-tech.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <malloc.h>
#include <sdhci.h>
#ifndef CONFIG_FTSDC021_CLOCK
#define CONFIG_FTSDC021_CLOCK clk_get_rate("MMC")
#endif
int ftsdc021_sdhci_init(u32 regbase)
{
struct sdhci_host *host = NULL;
uint32_t freq = CONFIG_FTSDC021_CLOCK;
host = calloc(1, sizeof(struct sdhci_host));
if (!host) {
puts("sdh_host malloc fail!\n");
return 1;
}
host->name = "FTSDC021";
host->ioaddr = (void __iomem *)regbase;
host->quirks = 0;
add_sdhci(host, freq, 0);
return 0;
}
/*
* (C) Copyright 2013 Faraday Technology
* Dante Su <dantesu@faraday-tech.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __FTSDC021_H
#define __FTSDC021_H
int ftsdc021_sdhci_init(u32 regbase);
#endif /* __FTSDC021_H */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment