From 4cc08258758c4d7f5a624aa99cb2435022def761 Mon Sep 17 00:00:00 2001 From: Eugen Hristev Date: Thu, 27 Aug 2020 12:04:41 +0300 Subject: mmc: atmel-sdhci: add sama7g5-sdhci compatibility string Add new compatibility string for matching sama7g5 product. Signed-off-by: Eugen Hristev Reviewed-by: Peng Fan --- drivers/mmc/atmel_sdhci.c | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/mmc/atmel_sdhci.c') diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index 0c53caf448..f03c0457e1 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -113,6 +113,7 @@ static int atmel_sdhci_bind(struct udevice *dev) static const struct udevice_id atmel_sdhci_ids[] = { { .compatible = "atmel,sama5d2-sdhci" }, { .compatible = "microchip,sam9x60-sdhci" }, + { .compatible = "microchip,sama7g5-sdhci" }, { } }; -- cgit From 2e00608ca4cde8b39a92740539a7417814d851b4 Mon Sep 17 00:00:00 2001 From: Eugen Hristev Date: Thu, 27 Aug 2020 12:16:15 +0300 Subject: mmc: atmel-sdhci: do not check clk_set_rate return value clk_set_rate will return rate in case of success and zero in case of error, however it can also return -ev, but it's an ulong function. To avoid any issues, disregard the return value of this call. In case this call actually fails, nothing much we can do anyway, but we can at least try with the previous values (or DT assigned-clocks) Signed-off-by: Eugen Hristev --- drivers/mmc/atmel_sdhci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'drivers/mmc/atmel_sdhci.c') diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index f03c0457e1..54b660c34a 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -79,9 +79,7 @@ static int atmel_sdhci_probe(struct udevice *dev) if (ret) return ret; - ret = clk_set_rate(&clk, ATMEL_SDHC_GCK_RATE); - if (ret) - return ret; + clk_set_rate(&clk, ATMEL_SDHC_GCK_RATE); max_clk = clk_get_rate(&clk); if (!max_clk) -- cgit From 81f16438d48f4690339ae47adc72dfcd4aa63ba0 Mon Sep 17 00:00:00 2001 From: Eugen Hristev Date: Thu, 27 Aug 2020 12:25:56 +0300 Subject: mmc: atmel-sdhci: enable the required generic clock The second clock of the IP block (the generic clock), must be explicitly enabled. Signed-off-by: Eugen Hristev Reviewed-by: Peng Fan --- drivers/mmc/atmel_sdhci.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/mmc/atmel_sdhci.c') diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index 54b660c34a..c67b065061 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -85,6 +85,10 @@ static int atmel_sdhci_probe(struct udevice *dev) if (!max_clk) return -EINVAL; + ret = clk_enable(&clk); + if (ret) + return ret; + host->max_clk = max_clk; host->mmc = &plat->mmc; host->mmc->dev = dev; -- cgit From 3710b464e43abe27ed9ab40c39f98a309a7db055 Mon Sep 17 00:00:00 2001 From: Eugen Hristev Date: Thu, 27 Aug 2020 12:25:57 +0300 Subject: mmc: atmel-sdhci: use mmc_of_parse to get the DT properties Call mmc_of_parse at probe time to fetch all the host properties from the DT. Signed-off-by: Eugen Hristev Reviewed-by: Peng Fan --- drivers/mmc/atmel_sdhci.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/mmc/atmel_sdhci.c') diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c index c67b065061..f56ae63bc2 100644 --- a/drivers/mmc/atmel_sdhci.c +++ b/drivers/mmc/atmel_sdhci.c @@ -89,6 +89,10 @@ static int atmel_sdhci_probe(struct udevice *dev) if (ret) return ret; + ret = mmc_of_parse(dev, &plat->cfg); + if (ret) + return ret; + host->max_clk = max_clk; host->mmc = &plat->mmc; host->mmc->dev = dev; -- cgit