[U-Boot] arm, arm335x: save_omap_boot_params question

Heiko Schocher hs at denx.de
Thu Jun 13 07:19:18 CEST 2013


Hello Sricharan,

Am 13.06.2013 07:08, schrieb Sricharan R:
> On Wednesday 12 June 2013 06:19 PM, Tom Rini wrote:
>> On Wed, Jun 12, 2013 at 02:39:13PM +0200, Heiko Schocher wrote:
>>> Hello Tom,
>>>
>>> Am 12.06.2013 14:28, schrieb Tom Rini:
>>>> On Wed, Jun 12, 2013 at 10:56:01AM +0200, Heiko Schocher wrote:
>>>>> Hello tom,
>>>>>
>>>>> your
>>>>>
>>>>> commit 4596dcc1d4ea5763e0f92cf5becd9fc7d4c6e674
>>>>> Author: Tom Rini <trini at ti.com>
>>>>> Date:   Fri May 31 12:31:59 2013 -0400
>>>>>
>>>>>     am33xx/omap: Move save_omap_boot_params to omap-common/boot-common.c
>>>>>
>>>>> introduced, that all am335x based boards must call
>>>>> save_omap_boot_params() from the board specific s_init function. I
>>>>> just stumbled over it, as I updated to current head and my upcoming
>>>>> am335x based siemens boards didn't boot anymore ... should we think
>>>>> about to move this s_init() to a common place, and extract board
>>>>> specific things? Maybe arch/arm/cpu/armv7/omap-common/boot-common.c
>>>>> is a place for it?
>>>> I think the first non-am335x_evm board pulled the code we need in board/
>>>> a bit too far in the board-specific direction.
>>>>
>>>> Whacking the WDT (which could be done differently I imagine based on
>>>> your other patches), calling save_omap_boot_params and UART stuff is
>>>> common.  Figuring out which DDR and how is not.  I think we can learn
>>>> from omap-common/hwinit-common.c::s_init but need to have our own in
>>>> arch/arm/cpu/armv7/am33xx/board.c and declared __weak or wrapped with
>>>> CONFIG_AM33XX since TI814x (and TI816x) are different.  Or maybe some
>>>> more thinking share still.
>>>>
>>>> Do you have time for this?  Thanks!
>>> I try to find some ;-)
>>>
>>> Maybe something like this:
>>>
>>> add in arch/arm/cpu/armv7/am33xx/board.c a weak s_init(), which all
>>> am35xx boards use, and call in this s_init() a s_init_board() which
>>> all am335x boards must have defined?
>> s/s_init_board/sdram_init/ and yes.  If we whack the UART stuff out into
>> uart_enable (ala ti814x) and add a board_enable_early_pinmux (for the
>> muxes needed, and put this right after save_omap_...) we might not need
>> to make s_init __weak.
>    Just curious here, why the save_omap_boot_params is breaking things
>    in first place for your SOC. Was it not used before ??
> 
>    Also regarding DDR, is it emif and DDR3 in all those boards ?

I am currently porting 3 am335x boards to mainline and worked with
a few weeks old tree, where the save_omap_boot_params() patch was not
in mainline.

I am more or less finished the porting and just did a rebase to current
head ... and due to missing save_omap_boot_params() in my board file,
spl not found u-boot img in nand ...

In the meantime I posted a patch, which moves save_omap_boot_params()
to a common place, see here:

[U-Boot] arm, am33xx: move s_init to a common place
http://patchwork.ozlabs.org/patch/250973/

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