[U-Boot] [PATCH 6/8] arm, davinci, am1808: add lowlevel functions for booting from NOR

Heiko Schocher hs at denx.de
Tue Sep 27 13:18:06 CEST 2011


Hello Christian,

Sorry didn't realized that there was more at the end of your EMail!

Christian Riesch wrote:
> Hello Heiko,
> Thank you for your reply. I have just noticed that the patches have
> already been pulled into arm/next so I guess I am quite late with my
> comments. I'd like to apologize for this; apparently I need another
> email filter that also filters for messages containing "am1808" and
> not only "da850" ;-)
[...]
> Ok. Actually you do LPSC transitions twice in your board
> configuration, first in the low level initialization in
> arch/arm/cpu/arm926ejs/davinci/am1808_lowlevel.c (using your own
> function) and then again in your board initialization in
> board/enbw/enbw_cmc/enbw_cmc.c (using the code in
> arch/arm/cpu/arm926ejs/davinci/psc.c). I assume you ran into the same
> problem as I did with the da850evm board. The UART is used before it
> is turned on in the board_init() function. A few weeks ago I submitted

a) you are right, I enable the PSC for the UART twice, what is not
   optimal! I remove this in my board code. Thanks for detecting
   this!

b) I enable the PSC for the UART in
   arch/arm/cpu/arm926ejs/davinci/am1808_lowlevel.c arch_cpu_init(),
   so the UART is enabled on my board before calling board_early_init_f()
   as in your patch [1]. So I am save on this site.

c) If using the "Legacy NOR Boot" Method with u-boot spl Framework,
   (not tested this with the new Framework, only with the old),
   we are also on the save side here, as the SPL code enables the
   PSC for the UART in arch/arm/cpu/arm926ejs/davinci/am1808_lowlevel.c
   board_init_f(), same as for the "direct NOR boot" method I used
   on the enbw_cmc board.

> a patch [1][2] for this issue but did not get any comments on it.
> Would you mind having a look at it so we could find a common solution
> for both your configuration and the da850evm?

> [1] http://lists.denx.de/pipermail/u-boot/2011-September/100352.html
> [2] http://patchwork.ozlabs.org/patch/113335/

I think there are two points:

a) move this init to board_early_init_f() as you did it
b) remove the UART enable, as it is done in UBL or U-Boot code (SPL
   or in arch_cpu_init())

But this should be decided from the board maintainer added
Sudhakar Rajashekhara to CC, as it affects the da850 board ...

bye,
Heiko

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list