xref: /openbmc/u-boot/drivers/mmc/mv_sdhci.c (revision e75787d9)
1*e75787d9SLei Wen #include <common.h>
2*e75787d9SLei Wen #include <malloc.h>
3*e75787d9SLei Wen #include <sdhci.h>
4*e75787d9SLei Wen 
5*e75787d9SLei Wen static char *MVSDH_NAME = "mv_sdh";
6*e75787d9SLei Wen int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks)
7*e75787d9SLei Wen {
8*e75787d9SLei Wen 	struct sdhci_host *host = NULL;
9*e75787d9SLei Wen 	host = (struct sdhci_host *)malloc(sizeof(struct sdhci_host));
10*e75787d9SLei Wen 	if (!host) {
11*e75787d9SLei Wen 		printf("sdh_host malloc fail!\n");
12*e75787d9SLei Wen 		return 1;
13*e75787d9SLei Wen 	}
14*e75787d9SLei Wen 
15*e75787d9SLei Wen 	host->name = MVSDH_NAME;
16*e75787d9SLei Wen 	host->ioaddr = (void *)regbase;
17*e75787d9SLei Wen 	host->quirks = quirks;
18*e75787d9SLei Wen 	host->version = sdhci_readw(host, SDHCI_HOST_VERSION);
19*e75787d9SLei Wen 	add_sdhci(host, max_clk, min_clk);
20*e75787d9SLei Wen 	return 0;
21*e75787d9SLei Wen }
22