Patchwork [U-Boot,2/2] powerpc/esdhc: hack t4240 host capabilities register for VS33 bit

login
register
mail settings
Submitter Haijun.Zhang
Date Oct. 25, 2013, 1:54 a.m.
Message ID <1382666083-2287-2-git-send-email-Haijun.Zhang@freescale.com>
Download mbox | patch
Permalink /patch/286066/
State Superseded
Delegated to: York Sun
Headers show

Comments

Haijun.Zhang - Oct. 25, 2013, 1:54 a.m.
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(+)
sun york-R58495 - Oct. 25, 2013, 3:24 a.m.
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
Scott Wood - Oct. 29, 2013, 6:34 p.m.
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

Patch

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)