[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