[PATCH 0/5] Early DT and MVEBU DT fixups

Sascha Hauer s.hauer at pengutronix.de
Fri Jul 25 00:06:10 PDT 2014


On Wed, Jul 23, 2014 at 11:28:05AM +0200, Sebastian Hesselbarth wrote:
> Historically, early Armada 370 and XP boards where shipped with u-boot
> not remapping internal register base therefore the upstream dts files
> reflect that. On barebox we always remap the internal register base to
> 0xf1000000 and use DT to parse devices, causing the upstream dts to
> diverge from what we actually see. Currently, we work around the issue
> by applying a barebox specific dts overlay to reflect the different
> internal register base.
> 
> This patch set provides a way to call DT fixups early and apply them
> even on pbl or appended DTs. This is required for Marvell MVEBU SoCs
> which can (and do) remap their internal register base address.
> 
> First, a call to of_fix_tree() is added to of_arm_init() right before
> of_probe() starts. This allows to apply early registered DT fixups.
> 
> Patch 2 extends mvebu-mbus to fixup mbus ranges identified by their
> target ID and target attribute. Patch 3 adds the required internal
> register ranges to be fixed up for each of the 4 supported MVEBU SoCs.
> Patch 4 then removes the now redundant DT overlay workarounds.
> 
> Patch 5 finally installs another DT fixup to properly set directly
> attached RAM sizes which can read from internal SoC registers. This
> also removes a runtime warning caused by double-registration of RAM
> resources from arm_add_memory_device() and of_add_memory() later.
> 
> Patches have been tested on Armada 370, Dove, and Kirkwood.
> 
> Sebastian Hesselbarth (5):
>   ARM: execute OF fixups early
>   ARM: mvebu: allow to fixup mbus ranges
>   ARM: mvebu: add register remap for mbus ids
>   ARM: dts: mvebu: remove mbus ranges overwrite
>   ARM: mvebu: add fixup for directly attached memory

I had to think about executing the fixups early a bit. This used
to fixup the device tree for Linux, now it's used to fixup the
tree for barebox aswell. I hope this does not have unwanted side
effects.
Anyway, it solves your remapping problem nicely, so:

Applied, thanks

Sascha

> 
>  arch/arm/cpu/dtb.c                             |  1 +
>  arch/arm/dts/armada-370-mirabox-bb.dts         |  3 --
>  arch/arm/dts/armada-xp-openblocks-ax3-4-bb.dts |  4 --
>  arch/arm/mach-mvebu/armada-370-xp.c            |  5 +-
>  arch/arm/mach-mvebu/common.c                   | 59 ++++++++++++++++++++
>  arch/arm/mach-mvebu/dove.c                     |  6 ++-
>  arch/arm/mach-mvebu/include/mach/common.h      |  2 +
>  arch/arm/mach-mvebu/kirkwood.c                 |  5 +-
>  drivers/bus/mvebu-mbus.c                       | 74 +++++++++++++++++++++++++-
>  include/linux/mbus.h                           |  2 +
>  10 files changed, 150 insertions(+), 11 deletions(-)
> 
> ---
> To: barebox at lists.infradead.org
> To: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> -- 
> 2.0.0
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list