[U-Boot] [PATCH] powerpc/83xx: fix sdram initialization for keymile boards

Heiko Schocher hs at denx.de
Thu Nov 10 12:59:33 CET 2011


Hello Holger,

Holger Brunck wrote:
> From: Andreas Huber <andreas.huber at keymile.com>
> 
> commit b11f53f3 (keymile: Fix Coding style issues for keymile boards)
> introduces a bug according the SDRAM initialization for all
> km83xx boards.
> 
> im->ddr.sdram_cfg |= SDRAM_CFG_MEM_EN;
> was replaced with
> out_be32(&im->ddr.sdram_cfg, SDRAM_CFG_MEM_EN);
> and this is wrong, because this overwrites the intial value
> CONFIG_SYS_DDR_SDRAM_CFG.
> 
> Signed-off-by: Andreas Huber <andreas.huber at keymile.com>
> Signed-off-by: Holger Brunck <holger.brunck at keymile.com>
> cc: Heiko Schocher <hs at denx.de>
> cc: Kim Phillips <kim.phillips at freescale.com>
> ---
>  board/keymile/km83xx/km83xx.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
> index 17560c8..c0238c8 100644
> --- a/board/keymile/km83xx/km83xx.c
> +++ b/board/keymile/km83xx/km83xx.c
> @@ -217,7 +217,8 @@ int fixed_sdram(void)
>  	out_be32(&im->ddr.sdram_interval, CONFIG_SYS_DDR_INTERVAL);
>  	out_be32(&im->ddr.sdram_clk_cntl, CONFIG_SYS_DDR_CLK_CNTL);
>  	udelay(200);
> -	out_be32(&im->ddr.sdram_cfg, SDRAM_CFG_MEM_EN);
> +	out_be32(&im->ddr.sdram_cfg,
> +		SDRAM_CFG_MEM_EN | CONFIG_SYS_DDR_SDRAM_CFG);

Wouldn't a

setbits_be32(&im->ddr.sdram_cfg, SDRAM_CFG_MEM_EN);

be better?

>  
>  	msize = CONFIG_SYS_DDR_SIZE << 20;
>  	disable_addr_trans();

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list