linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/6 v2] ARM: integrator: initial device tree support
Date: Thu, 06 Sep 2012 08:20:30 -0500	[thread overview]
Message-ID: <5048A31E.2090704@gmail.com> (raw)
In-Reply-To: <CACRpkdbTRCUnx1JjCQ+WT4PoxtDG38MP=ctUp6TBPd64xQ39jw@mail.gmail.com>

On 09/03/2012 04:51 PM, Linus Walleij wrote:
> On Mon, Sep 3, 2012 at 12:59 AM, Rob Herring <robherring2@gmail.com> wrote:
>> On 08/31/2012 10:55 PM, Linus Walleij wrote:
> 
>>> +/ {
>>> +     model = "ARM Integrator/CP";
>>> +     compatible = "arm,integrator-cp";
>>> +     ranges;
>>> +
>>> +     aliases {
>>> +             arm,integrator-clocksource = &timer2;
>>> +             arm,integrator-clockevent = &timer1;
>>
>> This is linux specific and a common issue we need a solution for. Grant
>> had done something for versatile and we discussed it some, but nothing
>> ever got close to finalized. IIRC, Grant's solution was just add a
>> "linux,clockevent" or "linux,clocksource" to the nodes that are to be
>> used. But he wasn't really happy with it. Perhaps using these names as
>> aliases would be better.
> 
> Atleast I'm honest about what this is, IMHO this is better than
> any of the solutions we already have in boot/dts.
> 
> Look at the versatile express
> arch/arm/boot/dts/vexpress-v2m.dtsi:
> 
>         aliases {
>                 arm,v2m_timer = &v2m_timer01;
>         };
> 
> It's quite hard to tell that this "vtm_timer" is actually the block
> serving as clock source and clockevent for the Vexpress,
> but if you inspect the code you can see that this is what it is.

Yeah, we really need to unify all this.

> I can of course skip the aliases and go for the timer nodes
> I want directly, but that isn't any helpful for people reading the
> device tree, is it?

Well, the dts doesn't really need to describe how Linux is using things.
I'd like to get to common DT code for sp804 so all platforms just have a
call to sp804_dt_init() which does all the initialization.

> 
> Maybe primary-timer, secondary-timer is sufficiently
> good and neutral aliases?

That doesn't distinguish clk-event vs. clk-source. Perhaps we can use
presence of interrupt to distinguish that. It shouldn't really matter
which timer Linux picks as long as the h/w has the necessary features.
We just need to make sure dts describes those features. Some of the
things we have to deal with:

Highbank has interrupt for timer0, but not on timer1, so timer0 must be
clk-event. It also users timer1 for sched clock, but ARM Ltd platforms
use a different timer.

Realview and Versatile use timer0 for clk-event and timer3 for clk-src.
Is there something broken with timer1 and timer2? It is certainly
possible the h/w has the clock tied off for 1 of the 2 timers.

VExpress CA9 has broken timers on the core tile (at least they were
ifdef'ed out before the last clean-up). We could just remove/disable
them in the dts so they are not used.

Rob

  reply	other threads:[~2012-09-06 13:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-01  3:55 [PATCH 1/6 v2] ARM: integrator: call common init function from machine Linus Walleij
2012-09-01  3:55 ` [PATCH 2/6 v2] ARM: integrator: check PL010 device name rather than base address Linus Walleij
2012-09-01  3:55   ` [PATCH 3/6 v2] ARM: plat-versatile: add DT support to FPGA IRQ controller Linus Walleij
2012-09-01  3:55     ` [PATCH 4/6 v2] ARM: integrator: initial device tree support Linus Walleij
2012-09-01  3:55       ` [PATCH 5/6 v2] ARM: integrator: convert AMBA devices to device tree Linus Walleij
2012-09-01  3:55         ` [PATCH 6/6 v2] ARM: integrator: convert platform devices to Device Tree Linus Walleij
2012-09-01 18:41       ` [PATCH 4/6 v2] ARM: integrator: initial device tree support Arnd Bergmann
2012-09-03 21:43         ` Linus Walleij
2012-09-03 21:55           ` Russell King - ARM Linux
2012-09-04  7:19             ` Linus Walleij
2012-09-05  5:34               ` Olof Johansson
2012-09-05  5:47                 ` Linus Walleij
2012-09-02 22:59       ` Rob Herring
2012-09-03 21:51         ` Linus Walleij
2012-09-06 13:20           ` Rob Herring [this message]
2012-09-06 13:56             ` Linus Walleij
2012-09-06 14:19               ` Arnd Bergmann
2012-09-12 16:52                 ` Linus Walleij
2012-09-06 15:35               ` Rob Herring
2012-09-06 14:14             ` Russell King - ARM Linux
2012-09-01 18:32   ` [PATCH 2/6 v2] ARM: integrator: check PL010 device name rather than base address Arnd Bergmann
2012-09-03 19:40     ` Linus Walleij
2012-09-03 19:51       ` Linus Walleij
  -- strict thread matches above, loose matches on Subject: below --
2012-09-05 19:28 [PATCH 4/6 v2] ARM: integrator: initial device tree support Linus Walleij

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=5048A31E.2090704@gmail.com \
    --to=robherring2@gmail.com \
    --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).