From: Sebastien Bourdelin <sebastien.bourdelin@xxxxxxxx> 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@xxxxxxxx> --- drivers/mci/mci-bcm2835.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c index cbf99ee7ca..3b086ed22c 100644 --- a/drivers/mci/mci-bcm2835.c +++ b/drivers/mci/mci-bcm2835.c @@ -128,6 +128,10 @@ 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 */ + if (cmd != NULL) + cmd->busy_timeout = 100; + ret = sdhci_wait_idle_data(&host->sdhci, cmd); if (ret) return ret; -- 2.46.2