Commit e9acc77d authored by yangbo lu's avatar yangbo lu Committed by Ulf Hansson

mmc: sdhci-of-esdhc: remove default broken-cd for ARM

Initially all QorIQ platforms were PowerPC architecture and they didn't
support card detection except several platforms. The driver added the
quirk SDHCI_QUIRK_BROKEN_CARD_DETECTION as default and this made broken-cd
property in dts node didn't work. Now QorIQ platform turns to ARM
architecture and most of them could support card detection. However it's
a large number of dts trees that need to be fixed with broken-cd if we
remove the default SDHCI_QUIRK_BROKEN_CARD_DETECTION in driver. And the
users don't want to see this. So this patch is to remove this default
quirk just for ARM and keep it for PowerPC.(Note, QorIQ PowerPC platform
only has big-endian eSDHC while QorIQ ARM platform has big-endian or
little-endian eSDHC) This makes broken-cd property work again for ARM.
Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent a6b44888
...@@ -569,16 +569,19 @@ static const struct sdhci_ops sdhci_esdhc_le_ops = { ...@@ -569,16 +569,19 @@ static const struct sdhci_ops sdhci_esdhc_le_ops = {
}; };
static const struct sdhci_pltfm_data sdhci_esdhc_be_pdata = { static const struct sdhci_pltfm_data sdhci_esdhc_be_pdata = {
.quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_BROKEN_CARD_DETECTION .quirks = ESDHC_DEFAULT_QUIRKS |
| SDHCI_QUIRK_NO_CARD_NO_RESET #ifdef CONFIG_PPC
| SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC, SDHCI_QUIRK_BROKEN_CARD_DETECTION |
#endif
SDHCI_QUIRK_NO_CARD_NO_RESET |
SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
.ops = &sdhci_esdhc_be_ops, .ops = &sdhci_esdhc_be_ops,
}; };
static const struct sdhci_pltfm_data sdhci_esdhc_le_pdata = { static const struct sdhci_pltfm_data sdhci_esdhc_le_pdata = {
.quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_BROKEN_CARD_DETECTION .quirks = ESDHC_DEFAULT_QUIRKS |
| SDHCI_QUIRK_NO_CARD_NO_RESET SDHCI_QUIRK_NO_CARD_NO_RESET |
| SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC, SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
.ops = &sdhci_esdhc_le_ops, .ops = &sdhci_esdhc_le_ops,
}; };
...@@ -643,8 +646,7 @@ static int sdhci_esdhc_probe(struct platform_device *pdev) ...@@ -643,8 +646,7 @@ static int sdhci_esdhc_probe(struct platform_device *pdev)
of_device_is_compatible(np, "fsl,p5020-esdhc") || of_device_is_compatible(np, "fsl,p5020-esdhc") ||
of_device_is_compatible(np, "fsl,p4080-esdhc") || of_device_is_compatible(np, "fsl,p4080-esdhc") ||
of_device_is_compatible(np, "fsl,p1020-esdhc") || of_device_is_compatible(np, "fsl,p1020-esdhc") ||
of_device_is_compatible(np, "fsl,t1040-esdhc") || of_device_is_compatible(np, "fsl,t1040-esdhc"))
of_device_is_compatible(np, "fsl,ls1021a-esdhc"))
host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION; host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
if (of_device_is_compatible(np, "fsl,ls1021a-esdhc")) if (of_device_is_compatible(np, "fsl,ls1021a-esdhc"))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment