[U-Boot] [PATCH 07/11] arm: ks8695/cm4008/cm41xx: Parameterize SDRAM

Albert ARIBAUD albert.u.boot at aribaud.net
Thu Oct 18 21:11:57 CEST 2012


Hi Yann,

On Fri,  5 Oct 2012 14:09:54 +0200, Yann Vernier
<yann.vernier at orsoc.se> wrote:

> Allows configuration macros to set SDRAM parameters.
> ---
>  arch/arm/cpu/arm920t/ks8695/lowlevel_init.S |   20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S b/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
> index 74579ed..bec9738 100644
> --- a/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
> +++ b/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
> @@ -157,19 +157,20 @@ highflash:
>  	/*
>  	 * before relocating, we have to setup RAM timing
>  	 */
> +#if CONFIG_SYS_SDCS0_PARAMS

That seems a newly introduced macro, which only pertains to certain
hardwares but does not entirely show it in the name, i.e. readers may
wrongly conclude that any board could define CONFIG_SYS_SDCS0_PARAMS.
Rename the macro to also show which SoC it refers to.

>  	ldr	r1, =(KS8695_IO_BASE+KS8695_SDRAM_CTRL0)
> -#if (PHYS_SDRAM_1_SIZE == 0x02000000)
> -	ldr	r2, =0x7fc0000e		/* 32MB */
> -#else
> -	ldr	r2, =0x3fc0000e		/* 16MB */
> -#endif
> +	ldr	r2, =CONFIG_KS8695_SDCON0_VALUE
>  	str	r2, [r1]		/* configure sdram bank0 setup */
> +#endif
> +#if CONFIG_SYS_SDCS1_PARAMS
>  	ldr	r1, =(KS8695_IO_BASE+KS8695_SDRAM_CTRL1)
> -	mov	r2, #0
> +	mov	r2, #CONFIG_KS8695_SDCON1_VALUE
>  	str	r2, [r1]		/* configure sdram bank1 setup */
> +#endif
>  
> +#if CONFIG_SYS_SDCS0_PARAMS || CONFIG_SYS_SDCS1_PARAMS
>  	ldr	r1, =(KS8695_IO_BASE+KS8695_SDRAM_GENERAL)
> -	ldr	r2, =0x0000000a
> +	ldr	r2, =CONFIG_KS8695_SDGCON_VALUE
>  	str	r2, [r1]		/* set RAS/CAS timing */
>  
>  	ldr	r1, =(KS8695_IO_BASE+KS8695_SDRAM_BUFFER)
> @@ -184,15 +185,16 @@ highflash:
>  	ldr	r2, =0x00000020
>  	str	r2, [r1]		/* set for fast refresh */
>  	DELAY_FOR 0x100, r0
> -	ldr	r2, =0x00000190
> +	ldr	r2, =CONFIG_SYS_SDRAM_REFRESH_RATE
>  	str	r2, [r1]		/* set normal refresh timing */
>  
>  	ldr	r1, =(KS8695_IO_BASE+KS8695_SDRAM_BUFFER)
> -	ldr	r2, =0x00020033
> +	ldr	r2, =(0x00020000 | CONFIG_SYS_SDRAM_MODE)
>  	str	r2, [r1]		/* send mode command */
>  	DELAY_FOR 0x100, r0
>  	ldr	r2, =0x01f00000
>  	str	r2, [r1]		/* enable sdram fifos */
> +#endif
>  
>  	/*
>  	 * set pll to top speed



Amicalement,
-- 
Albert.


More information about the U-Boot mailing list