[U-Boot] [PATCH rev2] ADS5121: Fix NOR and CPLD ALE timing for rev 2 silicon

Wolfgang Denk wd at denx.de
Mon Sep 1 00:00:28 CEST 2008


Dear John Rigby,

In message <1219952263-31922-1-git-send-email-jrigby at freescale.com> you wrote:
> MPC5121 rev 2 silicon has a new register for controlling how long
> CS is asserted after deassertion of ALE in multiplexed mode.
> 
> The default is to assert CS together with ALE.  The alternative
> is to assert CS (ALEN+1)*LPC_CLK clocks after deassertion of ALE.
> 
> The default is wrong for the NOR flash and CPLD on the ADS5121.
> 
> This patch turns on the alternative for CS0 (NOR) and CS2 (CPLD)
> it does so conditionally based on silicon rev 2.0 or greater.
> 
> Signed-off-by: Martha J Marx <mmarx at silicontkx.com>
> Signed-off-by: John Rigby <jrigby at freescale.com>
> ---
>  board/ads5121/ads5121.c   |    4 ++++
>  include/configs/ads5121.h |    1 +
>  include/mpc512x.h         |    1 +
>  3 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/board/ads5121/ads5121.c b/board/ads5121/ads5121.c
> index ba3d7d2..deaa292 100644
> --- a/board/ads5121/ads5121.c
> +++ b/board/ads5121/ads5121.c
> @@ -25,6 +25,7 @@
>  #include <mpc512x.h>
>  #include <asm/bitops.h>
>  #include <command.h>
> +#include <asm/processor.h>
>  #include <fdt_support.h>
>  #ifdef CONFIG_MISC_INIT_R
>  #include <i2c.h>
> @@ -92,6 +93,9 @@ int board_early_init_f (void)
>  	 * Configure Flash Speed
>  	 */
>  	*((volatile u32 *)(CFG_IMMR + LPC_OFFSET + CS0_CONFIG)) = CFG_CS0_CFG;
> +	if (SVR_MJREV (im->sysconf.spridr) >= 2) {
> +		*((volatile u32 *)(CFG_IMMR + LPC_OFFSET + CS_ALE_TIMING_CONFIG)) = CFG_CS_ALETIMING;
> +	}

We should stop using  pointer  accesses  to  registers  and  use  the
appropriate  accessor  functions  / macros instead (and probably even
convert oild,  existing  code  before  the  next  round  of  compiler
optimizations bites us).

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Premature optimization is the root of all evil.         -- D.E. Knuth


More information about the U-Boot mailing list