diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2020-06-23 12:08:46 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-06-23 12:16:10 +0200 |
commit | 611a2629b9f9176f46e98d3eb40b19dbbc3f3005 (patch) | |
tree | c231c575b479837bba7c0e3fe64c1d169fc7332d /drivers | |
parent | 302c7425e7decca5e501409aa77fa71bbc1d7ed2 (diff) | |
download | barebox-611a2629b9f9176f46e98d3eb40b19dbbc3f3005.tar.gz barebox-611a2629b9f9176f46e98d3eb40b19dbbc3f3005.tar.xz |
mci: sdhci: atmel: avoid buggy SDHCI_RESET_ALL
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@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mci/atmel-sdhci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mci/atmel-sdhci.c b/drivers/mci/atmel-sdhci.c index 70d3cd4091..59cd002aae 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; |