Re: [U-Boot] SPL Linux Boot

On 30/01/2012 19:05, Tom Rini wrote:
Hi Tom,
OK, doing a MAKEALL for omap3/4/5/am33xx/davinci shows we've got a few missing include problems, I'll go fix that up.
OK, was it when you took over the series that you moved stuff to common/spl.c ? That idea is breaking, badly, non-omap platforms.
I am trying to summarize the different problems we have. Comparing to u-boot-ti, the patchset breaks the following boards:
davinci: da850_am18xxevm da850evm hawkboard_nand
omap4/5: fixed including spl.h into arch/arm/cpu/armv7/omap-common/boot-common.c
mx28: m28evk mx28evk
I have not seen other broken boards - let me know if you find something else.
On omap4/5 is only a thing of include files, as you reported.
A main issue is with davinci, because we have currently two different spl.c (arch/arm/cpu/arm926ejs/davinci/spl.c on davinci). The code can be factorized, if davinci will use preloader_console_init() as omap.
The same problem rises with mx28: there is a specific file arch/arm/cpu/arm926ejs/mx28/spl_boot.c, that redefines board_init_f() and board_init_r() - as we try to have a common spl code, this muist be fixed, too.
A way can be to add an arch weak function to add arch specific initialization inside board_init_*() functions, if any. Have you seen other issues other what I report now ?
Stefano

On Tue, Jan 31, 2012 at 4:25 AM, Stefano Babic sbabic@denx.de wrote:
On 30/01/2012 19:05, Tom Rini wrote:
Hi Tom,
OK, doing a MAKEALL for omap3/4/5/am33xx/davinci shows we've got a few missing include problems, I'll go fix that up.
OK, was it when you took over the series that you moved stuff to common/spl.c ? That idea is breaking, badly, non-omap platforms.
I am trying to summarize the different problems we have. Comparing to u-boot-ti, the patchset breaks the following boards:
davinci: da850_am18xxevm da850evm hawkboard_nand
omap4/5: fixed including spl.h into arch/arm/cpu/armv7/omap-common/boot-common.c
mx28: m28evk mx28evk
I have not seen other broken boards - let me know if you find something else.
On omap4/5 is only a thing of include files, as you reported.
A main issue is with davinci, because we have currently two different spl.c (arch/arm/cpu/arm926ejs/davinci/spl.c on davinci). The code can be factorized, if davinci will use preloader_console_init() as omap.
The same problem rises with mx28: there is a specific file arch/arm/cpu/arm926ejs/mx28/spl_boot.c, that redefines board_init_f() and board_init_r() - as we try to have a common spl code, this muist be fixed, too.
A way can be to add an arch weak function to add arch specific initialization inside board_init_*() functions, if any. Have you seen other issues other what I report now ?
That sounds about right. In short, ./MAKEALL -s arm still needs to build before we can take this series in, so perhaps we want to separate back out the "make SPL stuff more generic" from the "let SPL for omap* boot Linux" series.

On 31/01/2012 15:26, Tom Rini wrote:
A way can be to add an arch weak function to add arch specific initialization inside board_init_*() functions, if any. Have you seen other issues other what I report now ?
That sounds about right. In short, ./MAKEALL -s arm still needs to build before we can take this series in, so perhaps we want to separate back out the "make SPL stuff more generic" from the "let SPL for omap* boot Linux" series.
I agree - your proposal makes things easier. I split the patches and I will resend the patchset to add only booting Linux from SPL - and I will rework the patches to make SPL generic to other SOCs later, when the first patchset will be merged.
Stefano
participants (2)
-
Stefano Babic
-
Tom Rini