[U-Boot] [PATCH 3/5] sun6i: dram: Do not try to initialize a second dram chan on A31s

Ian Campbell ijc at hellion.org.uk
Mon Nov 17 20:00:32 CET 2014


On Sun, 2014-11-16 at 17:16 +0100, Hans de Goede wrote:
> The A31s only has one dram channel, so do not bother with trying to initalize

"initialize"

> a second channel.
> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  arch/arm/cpu/armv7/sunxi/Makefile     |  2 +-
>  arch/arm/cpu/armv7/sunxi/dram_sun6i.c | 11 +++++++++--
>  2 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/sunxi/Makefile b/arch/arm/cpu/armv7/sunxi/Makefile
> index 3b6ae47..1337b60 100644
> --- a/arch/arm/cpu/armv7/sunxi/Makefile
> +++ b/arch/arm/cpu/armv7/sunxi/Makefile
> @@ -10,6 +10,7 @@
>  obj-y	+= timer.o
>  obj-y	+= board.o
>  obj-y	+= clock.o
> +obj-y	+= cpu_info.o
>  obj-y	+= pinmux.o
>  obj-$(CONFIG_MACH_SUN6I)	+= prcm.o
>  obj-$(CONFIG_MACH_SUN8I)	+= prcm.o
> @@ -21,7 +22,6 @@ obj-$(CONFIG_MACH_SUN7I)	+= clock_sun4i.o
>  obj-$(CONFIG_MACH_SUN8I)	+= clock_sun6i.o
>  
>  ifndef CONFIG_SPL_BUILD
> -obj-y	+= cpu_info.o
>  ifdef CONFIG_ARMV7_PSCI
>  obj-y	+= psci.o
>  endif
> diff --git a/arch/arm/cpu/armv7/sunxi/dram_sun6i.c b/arch/arm/cpu/armv7/sunxi/dram_sun6i.c
> index 30439dc..2ac0b58 100644
> --- a/arch/arm/cpu/armv7/sunxi/dram_sun6i.c
> +++ b/arch/arm/cpu/armv7/sunxi/dram_sun6i.c
> @@ -372,10 +372,15 @@ unsigned long sunxi_dram_init(void)
>  		.rows = 16,
>  	};
>  
> +	/* A31s only has one channel */
> +	if (sunxi_get_ss_bonding_id() == SUNXI_SS_BOND_ID_A31S)
> +		para.chan = 1;

mctl_channel_init seems to contain some auto detection code, I suppose
that doesn't work in this case for some reason? Or is this just an
optimisation? In which case is the benefit just quicker to boot?

> +
>  	mctl_sys_init();
>  
>  	mctl_dll_init(0, &para);
> -	mctl_dll_init(1, &para);
> +	if (para.chan == 2)
> +		mctl_dll_init(1, &para);

Both this an the next one are basically unrolled for-loops over
0-para.chan now. I suppose it doesn't really matter.

Ian.



More information about the U-Boot mailing list