mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	barebox@lists.infradead.org,
	Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Subject: Re: [PATCH 3/5] arm: initial support for Marvell Dove SoCs
Date: Mon, 13 May 2013 12:57:22 +0200	[thread overview]
Message-ID: <20130513105722.GP32299@pengutronix.de> (raw)
In-Reply-To: <5190AFA1.1080503@gmail.com>

On Mon, May 13, 2013 at 11:17:21AM +0200, Sebastian Hesselbarth wrote:
> 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@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.

Having the register base as variable sounds like a good idea. This
should give us some more flexibility, no matter what we do later.

Please note that normally barebox images are expected to be runnable
second stage (bootm barebox.bin). Though not really mandatory this still
is a nice feature for development. This becomes difficult to support if
the initial code expects the registers at 0xd0000000, hence I suggested
remapping it in the kwb image so that all second stage code can already
work on the remapped registers.

BTW. the patches in the -next branch can still be rebased, so if you
agree with Thomas we can still merge a new Marvell series with Dove
support and the register base patches already integrated. Up to you, I
don't care much and also take sequential update patches.

Sascha

-- 
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 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2013-05-13 10:57 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-12 13:09 [PATCH 0/5] Initial " Sebastian Hesselbarth
2013-05-12 13:09 ` [PATCH 1/5] scripts: kwbimage: add references to Marvell Dove SoC Sebastian Hesselbarth
2013-05-12 13:09 ` [PATCH 2/5] scripts: kwboot: add support for Marvell Dove Sebastian Hesselbarth
2013-05-12 16:48   ` Thomas Petazzoni
2013-05-12 13:09 ` [PATCH 3/5] arm: initial support for Marvell Dove SoCs Sebastian Hesselbarth
2013-05-12 16:49   ` Thomas Petazzoni
2013-05-12 16:51     ` Sebastian Hesselbarth
2013-05-12 17:19       ` Thomas Petazzoni
2013-05-12 17:26         ` Sebastian Hesselbarth
2013-05-13  7:58   ` Sascha Hauer
2013-05-13  9:17     ` Sebastian Hesselbarth
2013-05-13 10:57       ` Sascha Hauer [this message]
2013-05-13 13:06         ` Sebastian Hesselbarth
2013-05-13 14:11           ` Sascha Hauer
2013-05-13 14:23           ` Thomas Petazzoni
2013-05-13 15:14             ` Sebastian Hesselbarth
2013-05-13 16:12             ` Sebastian Hesselbarth
2013-05-13 16:21               ` Thomas Petazzoni
2013-05-13 16:30                 ` Sebastian Hesselbarth
2013-05-13 16:34                   ` Thomas Petazzoni
2013-05-13 16:48                     ` Sebastian Hesselbarth
2013-05-13 17:14                       ` Thomas Petazzoni
2013-05-13 17:42                         ` Sebastian Hesselbarth
2013-05-15  5:55       ` Sascha Hauer
2013-05-15  6:20         ` Sebastian Hesselbarth
2013-05-15  6:39           ` Sascha Hauer
2013-05-15  6:48             ` Sebastian Hesselbarth
2013-05-15  7:29           ` Thomas Petazzoni
2013-05-15  8:03             ` Lucas Stach
2013-05-15  8:11               ` Thomas Petazzoni
2013-05-15  7:26         ` Thomas Petazzoni
2013-05-15  8:11           ` Sascha Hauer
2013-05-15  8:19             ` Thomas Petazzoni
2013-05-12 13:09 ` [PATCH 4/5] arm: add basic support for SolidRun CuBox Sebastian Hesselbarth
2013-05-12 20:28   ` [PATCH v2 " Sebastian Hesselbarth
2013-05-12 13:09 ` [PATCH 5/5] arm: mach-mvebu: rename Armada 370/XP core code Sebastian Hesselbarth
2013-05-12 16:50   ` Thomas Petazzoni
2013-05-12 16:53     ` Sebastian Hesselbarth
2013-05-12 20:29   ` [PATCH v2 " Sebastian Hesselbarth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130513105722.GP32299@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=ezequiel.garcia@free-electrons.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox