mmc: sdhci: add quirk for broken HS200 support
This patch defines a quirk for platforms unable to enable HS200 support. Signed-off-by: David Cohen <david.a.cohen@linux.intel.com> Reviewed-by: Chuanxiao Dong <chuanxiao.dong@intel.com> Acked-by: Dong Aisheng <b29396@freescale.com> Cc: stable <stable@vger.kernel.org> # [3.13] Signed-off-by: Chris Ball <chris@printf.net>
This commit is contained in:
parent
e3ec3a3d11
commit
13868bf20f
|
@ -3016,7 +3016,8 @@ int sdhci_add_host(struct sdhci_host *host)
|
||||||
/* SD3.0: SDR104 is supported so (for eMMC) the caps2
|
/* SD3.0: SDR104 is supported so (for eMMC) the caps2
|
||||||
* field can be promoted to support HS200.
|
* field can be promoted to support HS200.
|
||||||
*/
|
*/
|
||||||
mmc->caps2 |= MMC_CAP2_HS200;
|
if (!(host->quirks2 & SDHCI_QUIRK2_BROKEN_HS200))
|
||||||
|
mmc->caps2 |= MMC_CAP2_HS200;
|
||||||
} else if (caps[1] & SDHCI_SUPPORT_SDR50)
|
} else if (caps[1] & SDHCI_SUPPORT_SDR50)
|
||||||
mmc->caps |= MMC_CAP_UHS_SDR50;
|
mmc->caps |= MMC_CAP_UHS_SDR50;
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,8 @@ struct sdhci_host {
|
||||||
#define SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON (1<<4)
|
#define SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON (1<<4)
|
||||||
/* Controller has a non-standard host control register */
|
/* Controller has a non-standard host control register */
|
||||||
#define SDHCI_QUIRK2_BROKEN_HOST_CONTROL (1<<5)
|
#define SDHCI_QUIRK2_BROKEN_HOST_CONTROL (1<<5)
|
||||||
|
/* Controller does not support HS200 */
|
||||||
|
#define SDHCI_QUIRK2_BROKEN_HS200 (1<<6)
|
||||||
|
|
||||||
int irq; /* Device IRQ */
|
int irq; /* Device IRQ */
|
||||||
void __iomem *ioaddr; /* Mapped address */
|
void __iomem *ioaddr; /* Mapped address */
|
||||||
|
|
Loading…
Reference in New Issue