diff options
Diffstat (limited to 'drivers/mmc/ftsdc021_sdhci.c')
| -rw-r--r-- | drivers/mmc/ftsdc021_sdhci.c | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/drivers/mmc/ftsdc021_sdhci.c b/drivers/mmc/ftsdc021_sdhci.c new file mode 100644 index 000000000..1f6cdba17 --- /dev/null +++ b/drivers/mmc/ftsdc021_sdhci.c @@ -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; +} |