diff options
-rw-r--r-- | drivers/mmc/fsl_esdhc.c | 4 | ||||
-rw-r--r-- | include/configs/P1_P2_RDB.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index ed14b2f42b..662359127a 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -217,6 +217,10 @@ static int esdhc_setup_data(struct mmc *mmc, struct mmc_data *data) if (timeout < 0) timeout = 0; +#ifdef CONFIG_SYS_FSL_ESDHC_BROKEN_TIMEOUT + timeout = 14; +#endif + clrsetbits_be32(®s->sysctl, SYSCTL_TIMEOUT_MASK, timeout << 16); return 0; diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index ebbdf15299..f45390f70e 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -557,6 +557,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_FSL_ESDHC #define CONFIG_GENERIC_MMC #define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC85xx_ESDHC_ADDR +#define CONFIG_SYS_FSL_ESDHC_BROKEN_TIMEOUT #endif #define CONFIG_USB_EHCI |