[U-Boot] [PATCH 2/2] fsl_esdhc: Remove cache snooping for i.MX

Stefano Babic sbabic at denx.de
Mon Aug 13 16:24:01 CEST 2012


On 13/08/2012 16:18, Benoît Thébaudeau wrote:
> The cache snooping feature of Freescale's eSDHC IP is not available on i.MX, so
> disable it globally for this architecture. This avoids setting no_snoop for all
> i.MX boards, and it prevents setting a reserved bit of a reserved register if
> fsl_esdhc_mmc_init() were used for an i.MX board.
> 
> Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>
> Cc: Andy Fleming <afleming at gmail.com>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Kim Phillips <kim.phillips at freescale.com>
> ---
>  .../board/efikamx/efikamx.c                        |    4 ++--
>  .../board/esg/ima3-mx53/ima3-mx53.c                |    2 +-
>  .../board/freescale/mx51evk/mx51evk.c              |    4 ++--
>  .../board/freescale/mx53ard/mx53ard.c              |    4 ++--
>  .../board/freescale/mx53evk/mx53evk.c              |    4 ++--
>  .../board/freescale/mx53loco/mx53loco.c            |    4 ++--
>  .../board/freescale/mx53smd/mx53smd.c              |    2 +-
>  .../board/freescale/mx6qarm2/mx6qarm2.c            |    4 ++--
>  .../board/freescale/mx6qsabrelite/mx6qsabrelite.c  |    4 ++--
>  .../board/ttcontrol/vision2/vision2.c              |    2 +-
>  .../drivers/mmc/fsl_esdhc.c                        |    2 ++
>  .../include/fsl_esdhc.h                            |    3 +++
>  12 files changed, 22 insertions(+), 17 deletions(-)
> 

Hi Benoît,


> diff --git u-boot-4d3c95f.orig/drivers/mmc/fsl_esdhc.c u-boot-4d3c95f/drivers/mmc/fsl_esdhc.c
> index b6c969d..efdc6be 100644
> --- u-boot-4d3c95f.orig/drivers/mmc/fsl_esdhc.c
> +++ u-boot-4d3c95f/drivers/mmc/fsl_esdhc.c
> @@ -479,9 +479,11 @@ static int esdhc_init(struct mmc *mmc)
>  	while ((esdhc_read32(&regs->sysctl) & SYSCTL_RSTA) && --timeout)
>  		udelay(1000);
>  
> +#ifndef ARCH_IMX
>  	/* Enable cache snooping */
>  	if (cfg && !cfg->no_snoop)
>  		esdhc_write32(&regs->scr, 0x00000040);
> +#endif
>  
>  	esdhc_write32(&regs->sysctl, SYSCTL_HCKEN | SYSCTL_IPGEN);
>  
> diff --git u-boot-4d3c95f.orig/include/fsl_esdhc.h u-boot-4d3c95f/include/fsl_esdhc.h
> index 0e26558..44f9f06 100644
> --- u-boot-4d3c95f.orig/include/fsl_esdhc.h
> +++ u-boot-4d3c95f/include/fsl_esdhc.h
> @@ -26,6 +26,7 @@
>  #ifndef  __FSL_ESDHC_H__
>  #define	__FSL_ESDHC_H__
>  
> +#include <config.h>
>  #include <asm/errno.h>
>  #include <asm/byteorder.h>
>  
> @@ -167,7 +168,9 @@
>  
>  struct fsl_esdhc_cfg {
>  	u32	esdhc_base;
> +#ifndef ARCH_IMX
>  	u32	no_snoop;
> +#endif
>  };

Why don't you get rid of no_snoop at all ? Using  ARCH_IMX is not needed
anymore.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list