Patchwork [v6,3/9] ARM: versatile: Map local timers using Device Tree when possible

login
register
mail settings
Submitter Pawel Moll
Date Dec. 15, 2011, 5:25 p.m.
Message ID <1323969917.18989.8.camel@hornet.cambridge.arm.com>
Download mbox
Permalink /patch/131711/
State New
Headers show

Pull-request

git://git.linaro.org/people/pawelmoll/linux.git vexpress-dt

Comments

Pawel Moll - Dec. 15, 2011, 5:25 p.m.
On Thu, 2011-12-15 at 15:25 +0000, Pawel Moll wrote:
> > I think your previous version was more correct. This is going to find
> > the node and do ioremap N times where N is the number of cores. It does
> > work though because that is what I did initially too.
> 
> Right, how about that, then:
> 
> @@ -21,6 +23,22 @@
>   */
>  int __cpuinit local_timer_setup(struct clock_event_device *evt)
>  {
> +#if defined(CONFIG_OF)
> +       static int dt_node_probed;
> +
> +       if (!dt_node_probed) {
> +               struct device_node *node = of_find_compatible_node(NULL,
> +                               NULL, "arm,smp-twd");
> +
> +               if (node)
> +                       twd_base = of_iomap(node, 0);
> +
> +               dt_node_probed = 1;
> +       }
> +#endif
> +       if (!twd_base)
> +               return -ENXIO;
> +
>         evt->irq = IRQ_LOCALTIMER;
>         twd_timer_setup(evt);
>         return 0;

Ok, so I have updated the both vexpress-dt and
vexpress-dt-rmk-devel-stable branches like that.

Arnd, Russell, the new pull request below.

I'll see you all next year!

Cheers!

PaweĊ‚

8<-------------------------------------------------------------------

The following changes since commit 55b02d2f4445ad625213817a1736bf2884d32547:

  Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (2011-12-14 19:45:40 -0800)

are available in the git repository at:

  git://git.linaro.org/people/pawelmoll/linux.git vexpress-dt

Pawel Moll (9):
      ARM: versatile: Add missing ENDPROC to headsmp.S
      ARM: vexpress: Get rid of MMIO_P2V
      ARM: versatile: Map local timers using Device Tree when possible
      ARM: vexpress: Use FDT data in platform SMP calls
      ARM: vexpress: Add Device Tree support
      ARM: vexpress: Motherboard RS1 memory map support
      ARM: vexpress: Add Device Tree for V2P-CA5s core tile
      ARM: vexpress: Add Device Tree for V2P-CA9 core tile
      ARM: vexpress: Add Device Tree for V2P-CA15 core tile (TC1 variant)

 Documentation/devicetree/bindings/arm/vexpress.txt |  144 ++++++++++
 arch/arm/Kconfig                                   |    2 +-
 arch/arm/boot/dts/vexpress-v2m-rs1.dtsi            |  201 ++++++++++++++
 arch/arm/boot/dts/vexpress-v2m.dtsi                |  200 ++++++++++++++
 arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts        |  155 +++++++++++
 arch/arm/boot/dts/vexpress-v2p-ca5s.dts            |  160 +++++++++++
 arch/arm/boot/dts/vexpress-v2p-ca9.dts             |  190 +++++++++++++
 arch/arm/include/asm/hardware/arm_timer.h          |    5 +
 arch/arm/mach-realview/platsmp.c                   |    3 +-
 arch/arm/mach-vexpress/Kconfig                     |   45 +++-
 arch/arm/mach-vexpress/Makefile.boot               |    6 +
 arch/arm/mach-vexpress/core.h                      |    9 +-
 arch/arm/mach-vexpress/ct-ca9x4.c                  |   48 +---
 arch/arm/mach-vexpress/include/mach/ct-ca9x4.h     |   13 +-
 arch/arm/mach-vexpress/include/mach/debug-macro.S  |   37 +++-
 arch/arm/mach-vexpress/include/mach/irqs.h         |    2 +-
 arch/arm/mach-vexpress/include/mach/motherboard.h  |   58 +++--
 arch/arm/mach-vexpress/include/mach/uncompress.h   |   13 +-
 arch/arm/mach-vexpress/platsmp.c                   |  153 ++++++++++-
 arch/arm/mach-vexpress/v2m.c                       |  282 ++++++++++++++++++--
 arch/arm/mm/Kconfig                                |    2 +-
 arch/arm/plat-versatile/headsmp.S                  |    1 +
 arch/arm/plat-versatile/localtimer.c               |   19 ++
 23 files changed, 1628 insertions(+), 120 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/vexpress.txt
 create mode 100644 arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
 create mode 100644 arch/arm/boot/dts/vexpress-v2m.dtsi
 create mode 100644 arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts
 create mode 100644 arch/arm/boot/dts/vexpress-v2p-ca5s.dts
 create mode 100644 arch/arm/boot/dts/vexpress-v2p-ca9.dts