From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mikhail Kshevetskiy Date: Tue, 10 Jul 2012 23:20:53 +0400 Subject: [U-Boot] [PATCH V3 2/3] arm/davinci: spl - boot device selection In-Reply-To: <20120710183906.GA24958@Hardy> References: <1341860020-11507-1-git-send-email-mikhail.kshevetskiy@gmail.com> <1341860020-11507-2-git-send-email-mikhail.kshevetskiy@gmail.com> <20120710183906.GA24958@Hardy> Message-ID: <20120710232053.7bfb3858@weasel.local> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, 11 Jul 2012 00:09:06 +0530 Sughosh Ganu wrote: > 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. > > > > > 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 > > > > > 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. this is needed at least for: * MMC support * SPI support * gunzip support (see next patch) it can be configurable, but is it reasonable? > > > > 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. hm, i'll look on it more carefully. I've just look on spi support in spl. What about ymodem support? If I am not mistake it require a normal console. > -sughosh