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: Kuo-Jung Su <dantesu@faraday-tech.com> Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com> CC: Andy Fleming <afleming@gmail.com>
This commit is contained in:
parent
4520a2f28e
commit
adebb98ba1
@ -9,6 +9,7 @@ obj-$(CONFIG_BFIN_SDH) += bfin_sdh.o
|
|||||||
obj-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
|
obj-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
|
||||||
obj-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o
|
obj-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o
|
||||||
obj-$(CONFIG_FTSDC010) += ftsdc010_mci.o
|
obj-$(CONFIG_FTSDC010) += ftsdc010_mci.o
|
||||||
|
obj-$(CONFIG_FTSDC021) += ftsdc021_sdhci.o
|
||||||
obj-$(CONFIG_GENERIC_MMC) += mmc.o
|
obj-$(CONFIG_GENERIC_MMC) += mmc.o
|
||||||
obj-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o
|
obj-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o
|
||||||
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
|
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
|
||||||
|
33
drivers/mmc/ftsdc021_sdhci.c
Normal file
33
drivers/mmc/ftsdc021_sdhci.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* (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;
|
||||||
|
}
|
13
include/faraday/ftsdc021.h
Normal file
13
include/faraday/ftsdc021.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/*
|
||||||
|
* (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 */
|
Loading…
Reference in New Issue
Block a user