[U-Boot] [PATCH V3 2/3] arm/davinci: spl - boot device selection

Sughosh Ganu urwithsughosh at gmail.com
Tue Jul 10 20:39:06 CEST 2012


hi Mikhail,
On Mon Jul 09, 2012 at 10:53:39PM +0400, Mikhail Kshevetskiy wrote:
> This patch allow us to have a universal spl that detects a boot
> device and select a corresponding boot algorithm for main u-boot part
> (SOC_DA8XX only)

I have not tested this patch, will do so sometime this week. I had a
couple of questions though.

<snip>

> diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c b/arch/arm/cpu/arm926ejs/davinci/spl.c
> index 74632e5..50b4bbc 100644
> --- a/arch/arm/cpu/arm926ejs/davinci/spl.c
> +++ b/arch/arm/cpu/arm926ejs/davinci/spl.c

<snip>

>  void board_init_r(gd_t *id, ulong dummy)
>  {
> -#ifdef CONFIG_SPL_NAND_LOAD
> -	nand_init();
> -	puts("Nand boot...\n");
> -	nand_boot();
> -#endif
> -#ifdef CONFIG_SPL_SPI_LOAD
> -	mem_malloc_init(CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_LEN,
> -			CONFIG_SYS_MALLOC_LEN);
> +	u32 boot_device;
> +	void (*uboot)(void) __noreturn;
> +
> +	mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START,
> +			CONFIG_SYS_SPL_MALLOC_SIZE);

We do not need any heap for the spl on the hawkboard, so can you
please explain why do we need the heap allocation for all spl
images. Can't this be made configurable.


>  
>  	gd = &gdata;
>  	gd->bd = &bdata;
>  	gd->flags |= GD_FLG_RELOC;
> +#ifdef CONFIG_SPL_SERIAL_SUPPORT
>  	gd->baudrate = CONFIG_BAUDRATE;
> -	serial_init();          /* serial communications setup */
> +	serial_init();
>  	gd->have_console = 1;
> +#endif

This call to serial_init is not needed on the hawkboard -- we
initialise the console needed for spl through NS16550_init for all
da8xx based spl's in arch_cpu_init, which suffices for spl's debug
message requirement. I know this is being used for spi based spl
images, but now that this is being made common, just wanted to
know why we need this. Also, do these changes have any impact on the
size of the spl images.

-sughosh


More information about the U-Boot mailing list