[U-Boot] [PATCH] mmc: add Faraday FTSDC021 SDHCI controller support

Pantelis Antoniou pantelis.antoniou at gmail.com
Sun Dec 8 13:19:52 CET 2013


Hi Kuo-Jung,

On Nov 25, 2013, at 4:51 AM, Kuo-Jung Su wrote:

> From: Kuo-Jung Su <dantesu at faraday-tech.com>
> 
> 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 at faraday-tech.com>
> CC: Andy Fleming <afleming at gmail.com>
> ---
> drivers/mmc/Makefile         |    1 +
> drivers/mmc/ftsdc021_sdhci.c |   33 +++++++++++++++++++++++++++++++++
> include/faraday/ftsdc021.h   |   13 +++++++++++++
> 3 files changed, 47 insertions(+)
> create mode 100644 drivers/mmc/ftsdc021_sdhci.c
> create mode 100644 include/faraday/ftsdc021.h
> 
> diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile
> index a7ae38d..1ed26ca 100644
> --- a/drivers/mmc/Makefile
> +++ b/drivers/mmc/Makefile
> @@ -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
> diff --git a/drivers/mmc/ftsdc021_sdhci.c b/drivers/mmc/ftsdc021_sdhci.c
> new file mode 100644
> index 0000000..1f6cdba
> --- /dev/null
> +++ b/drivers/mmc/ftsdc021_sdhci.c
> @@ -0,0 +1,33 @@
> +/*
> + * (C) Copyright 2013 Faraday Technology
> + * Kuo-Jung Su <dantesu at 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;
> +}
> diff --git a/include/faraday/ftsdc021.h b/include/faraday/ftsdc021.h
> new file mode 100644
> index 0000000..de8e250
> --- /dev/null
> +++ b/include/faraday/ftsdc021.h
> @@ -0,0 +1,13 @@
> +/*
> + * (C) Copyright 2013 Faraday Technology
> + * Dante Su <dantesu at faraday-tech.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + */
> +
> +#ifndef __FTSDC021_H
> +#define __FTSDC021_H
> +
> +int ftsdc021_sdhci_init(u32 regbase);
> +
> +#endif /* __FTSDC021_H */
> --
> 1.7.9.5

Acked-by; Pantelis Antoniou <panto at antoniou-consulting.com>

Thanks

-- Pantelis



More information about the U-Boot mailing list