mmc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag
authorJaehoon Chung <jh80.chung@samsung.com>
Mon, 20 Jan 2020 09:50:45 +0000 (18:50 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 20 Oct 2020 06:13:48 +0000 (15:13 +0900)
RPI4 is used device-tree that taken from firmware.
mmcnr@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@7e30000 - probe failed: -22

Change-Id: Icb1cbebf9172d8bf6d14bd167e28eb3d570a21cd
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/bcm2835_sdhci.c

index 7a410d1dd361b97cf38d7bb1d2aa5826f81e8e85..88fda92279e0632e4e3f0b7a70ecae522f9b6320 100644 (file)
@@ -212,7 +212,8 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
        host->name = dev->name;
        host->ioaddr = (void *)(uintptr_t)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;