mmc: fsl_esdhc: Migrate ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE to Kconfig
authorTom Rini <trini@konsulko.com>
Thu, 27 Feb 2025 15:29:42 +0000 (09:29 -0600)
committerFabio Estevam <festevam@gmail.com>
Thu, 13 Mar 2025 18:15:50 +0000 (15:15 -0300)
The flag for enabling the ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE quirk can be
handled easily enough in Kconfig. This lets us remove a function but not
obviously correct usage of the IS_ENABLED() macro.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
arch/powerpc/include/asm/config_mpc85xx.h
drivers/mmc/Kconfig
drivers/mmc/fsl_esdhc_imx.c
include/configs/imxrt1020-evk.h
include/configs/imxrt1050-evk.h
include/configs/imxrt1170-evk.h

index 819250f..abdaffb 100644 (file)
 #define CFG_FM_PLAT_CLK_DIV    1
 #define CFG_SYS_FM1_CLK                CFG_FM_PLAT_CLK_DIV
 #define CFG_SYS_FM_MURAM_SIZE  0x30000
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
 #define QE_MURAM_SIZE                  0x6000UL
 #define MAX_QE_RISC                    1
 #define QE_NUM_OF_SNUM                 28
 #define CFG_SYS_FM1_CLK                0
 #define CFG_QBMAN_CLK_DIV              1
 #define CFG_SYS_FM_MURAM_SIZE  0x30000
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
 #define QE_MURAM_SIZE                  0x6000UL
 #define MAX_QE_RISC                    1
 #define QE_NUM_OF_SNUM                 28
 #define CFG_SYS_PME_CLK                CFG_PME_PLAT_CLK_DIV
 #define CFG_SYS_FM1_CLK                0
 #define CFG_SYS_FM_MURAM_SIZE  0x28000
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
 
 #elif defined(CONFIG_ARCH_C29X)
 #define CFG_SYS_FSL_SEC_IDX_OFFSET     0x20000
index ab56bd3..6740591 100644 (file)
@@ -928,6 +928,12 @@ config ESDHC_DETECT_QUIRK
        bool "QIXIS-based eSDHC quirk detection"
        depends on FSL_ESDHC && FSL_QIXIS
 
+config ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
+       bool
+       depends on FSL_ESDHC || FSL_ESDHC_IMX
+       def_bool y if ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || ARCH_T2080 \
+               || FSL_ESDHC_IMX
+
 config FSL_ESDHC_IMX
        bool "Freescale/NXP i.MX eSDHC controller support"
        help
index d7a45ef..926113f 100644 (file)
 #include <linux/iopoll.h>
 #include <linux/dma-mapping.h>
 
-#ifndef ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
-#ifdef CONFIG_FSL_USDHC
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE      1
-#endif
-#endif
-
 DECLARE_GLOBAL_DATA_PTR;
 
 #define SDHCI_IRQ_EN_BITS              (IRQSTATEN_CC | IRQSTATEN_TC | \
@@ -376,7 +370,7 @@ static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc,
            (timeout == 4 || timeout == 8 || timeout == 12))
                timeout++;
 
-       if (IS_ENABLED(ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE))
+       if (IS_ENABLED(CONFIG_ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE))
                timeout = 0xE;
 
        esdhc_clrsetbits32(&regs->sysctl, SYSCTL_TIMEOUT_MASK, timeout << 16);
index cd6af93..aec1208 100644 (file)
@@ -9,8 +9,6 @@
 
 #include <asm/arch/imx-regs.h>
 
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE      1
-
 #define PHYS_SDRAM                     0x80000000
 #define PHYS_SDRAM_SIZE                        (32 * 1024 * 1024)
 
index c520c2f..5b8d6a7 100644 (file)
@@ -9,8 +9,6 @@
 
 #include <asm/arch/imx-regs.h>
 
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE      1
-
 #define PHYS_SDRAM                     0x80000000
 #define PHYS_SDRAM_SIZE                        (32 * 1024 * 1024)
 
index 1ccaa15..f821212 100644 (file)
@@ -10,8 +10,6 @@
 
 #include <asm/arch/imx-regs.h>
 
-#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE      1
-
 /*
  * Configuration of the external SDRAM memory
  */