From: Eugen Hristev <eugen.hris...@microchip.com> commit 7871aa60ae0086fe4626abdf5ed13eeddf306c61 upstream.
HS200 is not implemented in the driver, but the controller claims it through caps. Remove it via a quirk, to make sure the mmc core do not try to enable HS200, as it causes the eMMC initialization to fail. Signed-off-by: Eugen Hristev <eugen.hris...@microchip.com> Acked-by: Ludovic Desroches <ludovic.desroc...@microchip.com> Acked-by: Adrian Hunter <adrian.hun...@intel.com> Fixes: bb5f8ea4d514 ("mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC") Cc: sta...@vger.kernel.org # v4.4+ Signed-off-by: Ulf Hansson <ulf.hans...@linaro.org> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- drivers/mmc/host/sdhci-of-at91.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/mmc/host/sdhci-of-at91.c +++ b/drivers/mmc/host/sdhci-of-at91.c @@ -364,6 +364,9 @@ static int sdhci_at91_probe(struct platf pm_runtime_set_autosuspend_delay(&pdev->dev, 50); pm_runtime_use_autosuspend(&pdev->dev); + /* HS200 is broken at this moment */ + host->quirks2 = SDHCI_QUIRK2_BROKEN_HS200; + ret = sdhci_add_host(host); if (ret) goto pm_runtime_disable;