openwrt/target/linux/bcm27xx/patches-6.6/950-0718-drivers-mmc-sdhci-of-dwcmshc-add-RP1-dt-ID-and-quirk.patch

43 lines
1.4 KiB
Diff
Raw Normal View History

From b738234962a27e365a2490cc6ca3321de2363db8 Mon Sep 17 00:00:00 2001
From: Jonathan Bell <jonathan@raspberrypi.com>
Date: Wed, 8 Nov 2023 16:12:59 +0000
Subject: [PATCH 0718/1085] drivers: mmc: sdhci-of-dwcmshc: add RP1 dt ID and
quirks
Differentiate the RP1 variant of the Designware MSHC controller(s).
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
---
drivers/mmc/host/sdhci-of-dwcmshc.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -386,6 +386,15 @@ static const struct sdhci_pltfm_data sdh
};
#endif
+static const struct sdhci_pltfm_data sdhci_dwcmshc_rp1_pdata = {
+ .ops = &sdhci_dwcmshc_ops,
+ .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
+ SDHCI_QUIRK_BROKEN_CARD_DETECTION,
+ .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
+ SDHCI_QUIRK2_BROKEN_HS200 |
+ SDHCI_QUIRK2_SPURIOUS_INT_RESP,
+};
+
static const struct sdhci_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
.ops = &sdhci_dwcmshc_rk35xx_ops,
.quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
@@ -454,6 +463,10 @@ static void dwcmshc_rk35xx_postinit(stru
static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
{
+ .compatible = "raspberrypi,rp1-dwcmshc",
+ .data = &sdhci_dwcmshc_rp1_pdata,
+ },
+ {
.compatible = "rockchip,rk3588-dwcmshc",
.data = &sdhci_dwcmshc_rk35xx_pdata,
},