Message ID | 1382666083-2287-2-git-send-email-Haijun.Zhang@freescale.com |
---|---|
State | Superseded |
Delegated to: | York Sun |
Headers | show |
On Oct 24, 2013, at 6:54 PM, Haijun Zhang wrote: > T4240 eSDHC host capabilities reigster should have VS33 bit define. > hack the code to add the 3.3 voltage support Shall we call it quirk rather than hack? Native English speakers, please chime in. York
On Fri, 2013-10-25 at 09:54 +0800, Haijun Zhang wrote: > T4240 eSDHC host capabilities reigster should have VS33 bit define. > hack the code to add the 3.3 voltage support > > Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> > Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com> > --- > arch/powerpc/include/asm/config_mpc85xx.h | 1 + > drivers/mmc/fsl_esdhc.c | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h > index 946ea97..84e79c8 100644 > --- a/arch/powerpc/include/asm/config_mpc85xx.h > +++ b/arch/powerpc/include/asm/config_mpc85xx.h > @@ -596,6 +596,7 @@ > #define CONFIG_SYS_FSL_SRIO_LIODN > #define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE > #define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY > +#define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 > #define CONFIG_SYS_FSL_ERRATUM_A004468 > #define CONFIG_SYS_FSL_ERRATUM_A_004934 > #define CONFIG_SYS_FSL_ERRATUM_A005871 > diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c > index d4c1eef..b8b2907 100644 > --- a/drivers/mmc/fsl_esdhc.c > +++ b/drivers/mmc/fsl_esdhc.c > @@ -545,6 +545,12 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg) > caps = caps & ~(ESDHC_HOSTCAPBLT_SRS | > ESDHC_HOSTCAPBLT_VS18 | ESDHC_HOSTCAPBLT_VS30); > #endif > + > +/* T4240 host controller capabilities register should have VS33 bit */ > +#ifdef CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 > + caps = caps | ESDHC_HOSTCAPBLT_VS33; > +#endif Is there an erratum associated with this? Is this that t4240qds-specific bug, or a different bug that affects all t4240? -Scott
diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h index 946ea97..84e79c8 100644 --- a/arch/powerpc/include/asm/config_mpc85xx.h +++ b/arch/powerpc/include/asm/config_mpc85xx.h @@ -596,6 +596,7 @@ #define CONFIG_SYS_FSL_SRIO_LIODN #define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE #define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY +#define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 #define CONFIG_SYS_FSL_ERRATUM_A004468 #define CONFIG_SYS_FSL_ERRATUM_A_004934 #define CONFIG_SYS_FSL_ERRATUM_A005871 diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index d4c1eef..b8b2907 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -545,6 +545,12 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg) caps = caps & ~(ESDHC_HOSTCAPBLT_SRS | ESDHC_HOSTCAPBLT_VS18 | ESDHC_HOSTCAPBLT_VS30); #endif + +/* T4240 host controller capabilities register should have VS33 bit */ +#ifdef CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 + caps = caps | ESDHC_HOSTCAPBLT_VS33; +#endif + if (caps & ESDHC_HOSTCAPBLT_VS18) voltage_caps |= MMC_VDD_165_195; if (caps & ESDHC_HOSTCAPBLT_VS30)