mmc: sdhci-brcmstb: Fix incorrect capability
authorJaedon Shin <jaedon.shin@gmail.com>
Fri, 9 Sep 2016 02:08:40 +0000 (11:08 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 26 Sep 2016 19:31:28 +0000 (21:31 +0200)
Clear incorrect SDHCI_CAN_64BIT capability on Broadcom MIPS based SoCs.
The MIPS based SoCs are using ADMA only, but the several SoCs have the
incorrect capability bit about ADMA 64-bit. The "brcm,bcm7425-sdhci" is
compatible string for MIPS based SoC.

Signed-off-by: Jaedon Shin <jaedon.shin@gmail.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-brcmstb.c

index 609ba5b6dd4e911644f88f103756b2e7c42f1587..159f6f64c68e78fb11cd86c9472df97aae9e6ad8 100644 (file)
@@ -98,6 +98,8 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
         * properties through mmc_of_parse().
         */
        host->caps = sdhci_readl(host, SDHCI_CAPABILITIES);
+       if (of_device_is_compatible(pdev->dev.of_node, "brcm,bcm7425-sdhci"))
+               host->caps &= ~SDHCI_CAN_64BIT;
        host->caps1 = sdhci_readl(host, SDHCI_CAPABILITIES_1);
        host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_SDR104 |
                        SDHCI_SUPPORT_DDR50);
@@ -121,6 +123,7 @@ err_clk:
 
 static const struct of_device_id sdhci_brcm_of_match[] = {
        { .compatible = "brcm,bcm7425-sdhci" },
+       { .compatible = "brcm,bcm7445-sdhci" },
        {},
 };
 MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match);