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

Sebastian Hesselbarth sebastian.hesselbarth at gmail.com
Mon May 13 05:17:21 EDT 2013


On 05/13/2013 09:58 AM, Sascha Hauer wrote:
> On Sun, May 12, 2013 at 03:09:04PM +0200, Sebastian Hesselbarth wrote:
>> This commit adds minimal support for the Marvell Dove SoC (88AP510) as
>> first SoC of the Marvell Orion family. Orion SoCs have a different timer,
>> therefore current mach-mvebu and Armada 370/XP Kconfig and Makefiles are
>> slightly modified and a new clocksource drivers is added.
>>
>> Signed-off-by: Sebastian Hesselbarth<sebastian.hesselbarth at gmail.com>
>> ---
>> Note: Linux for Dove expects internal registers to be remapped. For more
>> compatibility with barebox for MVEBU, I did not remap those yet. I rather
>> suggest to allow to add a pre-boot hook right before linux gets booted by
>> barebox.
>
> Damn, I thought that the PowerPC SoCs are the only ones that have such a
> crazy register hiding feature.
>
> I'd really prefer that the barebox memory layout is compatible to the
> existing devicetrees. Otherwise we block the way of probing barebox from
> the devicetree and to start barebox second stage.

Sascha,

memory layout will be compatible for sure. Just because I will not
rewrite the whole bunch of dtsi files we built up in the past ;)

> 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
- Remap during init after we can parse the DT tree but before timer and
   modify the pointer above

The regbase pointer is required as early debug _will_ access register
before and after remap and there is no way around it. But
mvreadl/mvwritel will be limited to code that sits in mach-mvebu, all
drivers will depend on DT.

Actually, I have a branch at

git://github.com/shesselba/barebox-dove.git mvebu-dt-v0

booting Dove and Armada 370 from full DT. You can have a sneak preview
where Thomas and I will push Marvell support to soon.

Sebastian



More information about the barebox mailing list