[PATCH v2 4/4] mci: bcm2835: set timeout value to 100ms
Sebastien Bourdelin
sebastien.bourdelin at gmail.com
Wed Nov 6 07:25:25 PST 2024
From: Sebastien Bourdelin <sebastien.bourdelin at rtone.fr>
As mentionned in the Raspberry Pi4 bootrom Changelog [1]:
"Increase timeout of early SD/EMMC commands to 100ms".
The BCM2711 SDHCI can take up to 100ms to complete a command.
Without this change, we had noticed that Barebox sometime stay stucked
on a timeout error while trying to boot Linux from the eMMC.
[1] https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware-2711/release-notes.md#2022-03-10---promote-the-2022-03-10-beta-release-to-lateststable
Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin at rtone.fr>
---
Changes v1 -> v2:
- cmd can't be null, remove the check (suggested by Sascha Hauer)
Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin at gmail.com>
---
drivers/mci/mci-bcm2835.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c
index cbf99ee7ca..ff4c6d803c 100644
--- a/drivers/mci/mci-bcm2835.c
+++ b/drivers/mci/mci-bcm2835.c
@@ -128,6 +128,9 @@ static int bcm2835_mci_request(struct mci_host *mci, struct mci_cmd *cmd,
block_data |= data->blocksize;
}
+ /* BCM2xxx SDHCI might take up to 100ms to complete a command */
+ cmd->busy_timeout = 100;
+
ret = sdhci_wait_idle_data(&host->sdhci, cmd);
if (ret)
return ret;
--
2.47.0
More information about the barebox
mailing list