[RFC 3/4] mmc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag

Jaehoon Chung jh80.chung at samsung.com
Mon Jan 20 11:20:28 CET 2020


RPI4 is used device-tree that taken from firmware.
mmcnr at 73e00000 is enabled on device-tree, so it's probed on u-boot side.
Because it's for SDIO interface, it doesn't need to probe.
When SDMA is enabled, mmcnr's probe is always failed.

Below log is unnecessary :
  sdhci_setup_cfg: Your controller doesn't support SDMA!!
  mmcnr at 7e30000 - probe failed: -22

Signed-off-by: Jaehoon Chung <jh80.chung at samsung.com>
---
 drivers/mmc/bcm2835_sdhci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c
index 222ba22d66..f763c9a36e 100644
--- a/drivers/mmc/bcm2835_sdhci.c
+++ b/drivers/mmc/bcm2835_sdhci.c
@@ -216,7 +216,8 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
 	host->name = dev->name;
 	host->ioaddr = (void *)base;
 	host->quirks = SDHCI_QUIRK_BROKEN_VOLTAGE | SDHCI_QUIRK_BROKEN_R1B |
-		SDHCI_QUIRK_WAIT_SEND_CMD | SDHCI_QUIRK_NO_HISPD_BIT;
+		SDHCI_QUIRK_WAIT_SEND_CMD | SDHCI_QUIRK_NO_HISPD_BIT |
+		SDHCI_QUIRK_BROKEN_SDMA;
 	host->max_clk = emmc_freq;
 	host->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;
 	host->ops = &bcm2835_ops;
-- 
2.25.0



More information about the U-Boot mailing list