[PATCH 08/15] mci: bcm2835: add bcm2711-emmc2 (Rpi4) support
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu May 5 01:01:45 PDT 2022
From: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
While older Raspberry Pis didn't mind the POWER_CONTROL register being
0x00, the BCM2711 on the Raspberry Pi 4 does mind, so initialize it for
3.3V like we do in many other SDHCI drivers. With the compatible added,
this can access the SD-Card on the Raspberry Pi 4. Change tested on both
Raspberry Pi 3b and Raspberry Pi 4b.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
drivers/mci/mci-bcm2835.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c
index 3380fa2afc18..f092156f9a83 100644
--- a/drivers/mci/mci-bcm2835.c
+++ b/drivers/mci/mci-bcm2835.c
@@ -324,7 +324,7 @@ static int bcm2835_mci_reset(struct mci_host *mci, struct device_d *mci_dev)
sdhci_write32(&host->sdhci,
SDHCI_HOST_CONTROL__POWER_CONTROL__BLOCK_GAP_CONTROL,
- 0x00);
+ (SDHCI_BUS_VOLTAGE_330 | SDHCI_BUS_POWER_EN) << 8);
sdhci_write32(&host->sdhci, SDHCI_ACMD12_ERR__HOST_CONTROL2,
0x00);
sdhci_write32(&host->sdhci,
@@ -423,6 +423,8 @@ static int bcm2835_mci_probe(struct device_d *hw_dev)
static __maybe_unused struct of_device_id bcm2835_mci_compatible[] = {
{
.compatible = "brcm,bcm2835-sdhci",
+ }, {
+ .compatible = "brcm,bcm2711-emmc2",
}, {
/* sentinel */
}
--
2.30.2
More information about the barebox
mailing list