OSDN Git Service

mmc: sdhci-iproc: Apply caps from bcm2835-mmc driver
authorStefan Wahren <stefan.wahren@i2se.com>
Fri, 30 Dec 2016 15:24:32 +0000 (15:24 +0000)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 13 Feb 2017 12:19:54 +0000 (13:19 +0100)
Since the mmc module on bcm2835 neither provide a capabilities register nor
free documentation we must rely on the downstream implementation [1].

So enable the following capabilities for bcm2835:

MMC_CAP_MMC_HIGHSPEED
MMC_CAP_SD_HIGHSPEED
MMC_CAP_DRIVER_TYPE_A
MMC_CAP_DRIVER_TYPE_C

[1] - https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/mmc/host/bcm2835-mmc.c

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-iproc.c

index d7046d6..30b3fdf 100644 (file)
@@ -211,14 +211,17 @@ static const struct sdhci_iproc_data iproc_data = {
 static const struct sdhci_pltfm_data sdhci_bcm2835_pltfm_data = {
        .quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION |
                  SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
-                 SDHCI_QUIRK_MISSING_CAPS,
+                 SDHCI_QUIRK_MISSING_CAPS |
+                 SDHCI_QUIRK_NO_HISPD_BIT,
        .ops = &sdhci_iproc_32only_ops,
 };
 
 static const struct sdhci_iproc_data bcm2835_data = {
        .pdata = &sdhci_bcm2835_pltfm_data,
-       .caps = SDHCI_CAN_VDD_330,
-       .caps1 = 0x00000000,
+       .caps = SDHCI_CAN_VDD_330 |
+               SDHCI_CAN_DO_HISPD,
+       .caps1 = SDHCI_DRIVER_TYPE_A |
+                SDHCI_DRIVER_TYPE_C,
        .mmc_caps = 0x00000000,
 };