[PATCH 3/5] arm: initial support for Marvell Dove SoCs

Sebastian Hesselbarth sebastian.hesselbarth at gmail.com
Wed May 15 02:48:34 EDT 2013


On 05/15/2013 08:39 AM, Sascha Hauer wrote:
> On Wed, May 15, 2013 at 08:20:03AM +0200, Sebastian Hesselbarth wrote:
>> On 05/15/2013 07:55 AM, Sascha Hauer wrote:
>>>>> Is it possible to remap the registers using the kwbimage tool? That way
>>>>> every code that runs would see the desired register layout.
>>>>
>>>> Although possible, I prefer a different approach:
>>>> - IIRC all MVEBU SoCs boot up at 0xd0000000
>>>> - Have a regbase variable within barebox that initially points to that
>>>> - Have a mvreadl/mvwritel that adds it to reg offsets
>>>> - Rewrite _initial_ SoC code to use mvreadl/mvwritel
>>>
>>> I applied this series, but please get this topic done before more code
>>> enters that has to be changed when doing the above.
...
>> I will work with Thomas on this asap and find a solution, but I am
>> not sure if it will work without dirty tricks. Thomas has one in
>> mind and I tend to agree with him on this one.
>
> I hope the tricks won't get too dirty, otherwise it may be better to
> drop the 2nd stage feature.
> BTW. in earlier days we used to start 2nd stage loaders with the 'go'
> command, but nowadays we have 'bootm' which could detect that it's a
> barebox image we are about to start and could create whatever register
> mapping  a barebox image expects.

Ok, then I guess it would be easier and cleaner to remap registers to
the bootup register base.

> This wouldn't help when starting a barebox image for example from
> U-Boot or JTAG, but would at least make it possible to chainload barebox
> from barebox.
>
>> Further, yesterday when I played with Armada 370 I wasn't able to
>> have it boot with a variable pointer but the same code boots with
>> a pointer that never gets modified. Haven't investigated more, but
>> if we remap first thing after boot, that can remain constant at the
>> remapped reg base.
>
> Is the barebox binary copied to its link address by the ROM already or
> does barebox need to copy itself to the link address? That would make
> using global variables impossible befor copying to the correct address.

BootROM takes care of copying the binary to TEXT_BASE. But with the
above re-remap it should remain constant all the time.

Sebastian



More information about the barebox mailing list