linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: andrew@lunn.ch (Andrew Lunn)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/5] ARM: mv78x00: First step to convert mv78x00 to Device Tree
Date: Mon, 20 May 2013 11:43:18 +0200	[thread overview]
Message-ID: <20130520094318.GD26249@lunn.ch> (raw)
In-Reply-To: <1368999578-19938-1-git-send-email-gregory.clement@free-electrons.com>

On Sun, May 19, 2013 at 11:39:33PM +0200, Gregory CLEMENT wrote:
> Hello,
> 
> This patch set is a first step in order to convert mach-mv78x00 to
> device tree before it joins mach-mvebu.
> 
> I managed to test it on the RD-78X00-mASA board. All the peripherals I
> have tested work as they work before the migration to the device tree:
> - UART
> - Ethernet
> - USB
> - SATA
> 
> My main concern is that the mv78x00 are MP but not SMP
> capable. Currently the same kernel run on the 2 cores and it is in the
> board file that the peripherals are assigned for each CPU. (Actually I
> didn't test this behavior, but the code is written in this way.)
> 
> I don't know how to assign a peripheral to a given CPU with the device
> tree. The only way I have in mind is to have a dts per CPU, but I am
> not sure it is very convenient.
> 
> So for now the code assigns all the peripherals to the CPU.

Hi Gregory

Could you explain what you have in a bit more detail. Are you just
bringing up one CPU and assigning all peripherals to that? Or do all
peripherals get assigned to the first CPU but both are running?

As you say, it looks like you need a DTS subtree per CPU for placing
peripherals. No idea if it will work, but i guess i would try:

       ocp at f1000000@cpu0 {
/include/ "mv78x00-peripherals.dtsi"
       }
       ocp at f1000000@cpu1 {
/include/ "mv78x00-peripherals.dtsi"
       }
 
so you get all the peripherals twice, disabled by default. In the
board-dt.c you can then do something like:


	if (mv78xx0_core_index() == 0) {
	   np = of_find_node_by_name(NULL, "ocp at f1000000@cpu0");
	else
	   np = of_find_node_by_name(NULL, "ocp at f1000000@cpu1");
	
        of_platform_populate(np, kirkwood_dt_match_table, NULL, NULL);

There are a few more details, like the GPIO controller has a different
mask register for CPU1, but that is not supported in the current mvebu
gpio code. However none of the current 3 boards make use of GPIO, let
alone GPIO interrupts.

> I am also concerned by the 2 other boards: the Marvell DB-78x00-BP
> Development Board and the Buffalo WLX (Terastation Duo) NAS. I don't
> have them and so I can't test them if I want to convert them to device
> tree too.

The Buffalo WLX is interesting. The wxl_init() does not differentiate
between CPU0 and CPU1, where as the Marvell reference boards do. So i
suspect only one CPU is running, or its broken.

It might be interesting to ask on the buffalo forums if anybody is
actually using mainline on TS-WLX.

      Andrew

  parent reply	other threads:[~2013-05-20  9:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-19 21:39 [RFC PATCH 0/5] ARM: mv78x00: First step to convert mv78x00 to Device Tree Gregory CLEMENT
2013-05-19 21:39 ` [RFC PATCH 1/5] ARM: mv78x00: Add generic support for the Device Tree boards Gregory CLEMENT
2013-05-19 21:39 ` [RFC PATCH 2/5] ARM: mv78x00: Convert RD-78X00-mASA board to device tree Gregory CLEMENT
2013-05-20  9:52   ` Andrew Lunn
2013-05-20 10:00     ` Gregory CLEMENT
2013-05-20 19:18       ` Gregory CLEMENT
2013-05-19 21:39 ` [RFC PATCH 3/5] ARM: mv78x00: Add infrastructure to support boards converted to DT Gregory CLEMENT
2013-05-19 21:39 ` [RFC PATCH 4/5] ARM: mv78x00: Add the Device Tree support for MV78X00 family Gregory CLEMENT
2013-05-20 17:21   ` Jason Cooper
2013-05-20 17:23     ` Sebastian Hesselbarth
2013-05-20 17:28       ` Jason Cooper
2013-05-19 21:39 ` [RFC PATCH 5/5] ARM: mv78x00: Add Device Tree support for the RD-78X00-mASA board Gregory CLEMENT
2013-05-20  9:43 ` Andrew Lunn [this message]
2013-05-20  9:59   ` [RFC PATCH 0/5] ARM: mv78x00: First step to convert mv78x00 to Device Tree Gregory CLEMENT
2013-05-20 10:07     ` Andrew Lunn

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=20130520094318.GD26249@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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;
as well as URLs for NNTP newsgroup(s).