diff options
| -rw-r--r-- | drivers/mmc/fsl_esdhc.c | 4 | ||||
| -rw-r--r-- | include/configs/T4240QDS.h | 5 | 
2 files changed, 9 insertions, 0 deletions
| diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index e3cd0c777..f79f167a7 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -500,6 +500,10 @@ static int esdhc_getcd(struct mmc *mmc)  	struct fsl_esdhc *regs = (struct fsl_esdhc *)cfg->esdhc_base;  	int timeout = 1000; +#ifdef CONFIG_ESDHC_DETECT_QUIRK +	if (CONFIG_ESDHC_DETECT_QUIRK) +		return 1; +#endif  	while (!(esdhc_read32(®s->prsstat) & PRSSTAT_CINS) && --timeout)  		udelay(1000); diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h index 22019dcd2..5b1ed6397 100644 --- a/include/configs/T4240QDS.h +++ b/include/configs/T4240QDS.h @@ -165,6 +165,8 @@ unsigned long get_board_ddr_clk(void);  #define QIXIS_RCFG_CTL_RECONFIG_IDLE	0x20  #define QIXIS_RCFG_CTL_RECONFIG_START	0x21  #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE	0x08 +#define QIXIS_BRDCFG5			0x55 +#define QIXIS_MUX_SDHC			2  #define QIXIS_BASE_PHYS		(0xf00000000ull | QIXIS_BASE)  #define CONFIG_SYS_CSPR3_EXT	(0xf) @@ -466,6 +468,9 @@ unsigned long get_board_ddr_clk(void);  #define CONFIG_CMD_FAT  #define CONFIG_DOS_PARTITION  #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 +#define CONFIG_ESDHC_DETECT_QUIRK \ +	(!(readb(QIXIS_BASE + QIXIS_BRDCFG5) & QIXIS_MUX_SDHC) || \ +	IS_SVR_REV(get_svr(), 1, 0))  #endif  #define CONFIG_BOOTDELAY	10	/* -1 disables auto-boot */ |