[PATCH v2 3/3] mci: sdhci: atmel: avoid buggy SDHCI_RESET_ALL

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Jun 23 06:08:46 EDT 2020


On the sama5d27, currently only the MCI used for boot is operational.
The other one errors out when failing to reset the card.

Changing the RESET_ALL to RESET_CMD | RESET_DATA fixes this.
This might be due to the SoC's "11.1   Software 'Reset For all'
command may not execute properly" erratum[1]:
> The software 'Reset For All' command may not execute properly, and, as
> a result, some registers of the host controller may not reset properly.
> The setting of the different registers must be checked beforere
> initializing the SD card.

[1]: DS80000827A

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
v1 -> v2:
  no change
---
 drivers/mci/atmel-sdhci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mci/atmel-sdhci.c b/drivers/mci/atmel-sdhci.c
index 70d3cd4091ff..59cd002aae9e 100644
--- a/drivers/mci/atmel-sdhci.c
+++ b/drivers/mci/atmel-sdhci.c
@@ -48,7 +48,7 @@ static int at91_sdhci_mci_init(struct mci_host *mci, struct device_d *dev)
 
 	priv->host.dev = dev;
 
-	ret = sdhci_reset(sdhci, SDHCI_RESET_ALL);
+	ret = sdhci_reset(sdhci, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
 	if (ret)
 		return ret;
 
-- 
2.27.0




More information about the barebox mailing list