diff options
| -rw-r--r-- | drivers/mmc/host/sdhci.c | 3 | ||||
| -rw-r--r-- | include/linux/mmc/sdhci.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index cc00bed3e200..ec3eb30845c7 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c | |||
| @@ -3016,7 +3016,8 @@ int sdhci_add_host(struct sdhci_host *host) | |||
| 3016 | /* SD3.0: SDR104 is supported so (for eMMC) the caps2 | 3016 | /* SD3.0: SDR104 is supported so (for eMMC) the caps2 |
| 3017 | * field can be promoted to support HS200. | 3017 | * field can be promoted to support HS200. |
| 3018 | */ | 3018 | */ |
| 3019 | mmc->caps2 |= MMC_CAP2_HS200; | 3019 | if (!(host->quirks2 & SDHCI_QUIRK2_BROKEN_HS200)) |
| 3020 | mmc->caps2 |= MMC_CAP2_HS200; | ||
| 3020 | } else if (caps[1] & SDHCI_SUPPORT_SDR50) | 3021 | } else if (caps[1] & SDHCI_SUPPORT_SDR50) |
| 3021 | mmc->caps |= MMC_CAP_UHS_SDR50; | 3022 | mmc->caps |= MMC_CAP_UHS_SDR50; |
| 3022 | 3023 | ||
diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h index 3e781b8c0be7..362927c48f97 100644 --- a/include/linux/mmc/sdhci.h +++ b/include/linux/mmc/sdhci.h | |||
| @@ -98,6 +98,8 @@ struct sdhci_host { | |||
| 98 | #define SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON (1<<4) | 98 | #define SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON (1<<4) |
| 99 | /* Controller has a non-standard host control register */ | 99 | /* Controller has a non-standard host control register */ |
| 100 | #define SDHCI_QUIRK2_BROKEN_HOST_CONTROL (1<<5) | 100 | #define SDHCI_QUIRK2_BROKEN_HOST_CONTROL (1<<5) |
| 101 | /* Controller does not support HS200 */ | ||
| 102 | #define SDHCI_QUIRK2_BROKEN_HS200 (1<<6) | ||
| 101 | 103 | ||
| 102 | int irq; /* Device IRQ */ | 104 | int irq; /* Device IRQ */ |
| 103 | void __iomem *ioaddr; /* Mapped address */ | 105 | void __iomem *ioaddr; /* Mapped address */ |
