linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] 32-bit Meson: add the ARM TWD and Global Timers
@ 2018-11-23 19:53 Martin Blumenstingl
  2018-11-23 19:53 ` [PATCH 1/6] ARM: meson: select HAVE_ARM_TWD and ARM_GLOBAL_TIMER Martin Blumenstingl
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Martin Blumenstingl @ 2018-11-23 19:53 UTC (permalink / raw)
  To: carlo, khilman, linux-amlogic
  Cc: linux-arm-kernel, linux-kernel, Martin Blumenstingl

The 32-bit Meson SoCs use Cortex-A9 or Cortex-A5 cores. These come
with the ARM TWD ("Timer Watchdog") which contains a timer and a
watchdog as well as the ARM Global Timer.

This enables the corresponding configs for the 32-bit Meson target.
Additionally this adds and enables the ARM TWD timer. The Global
Timer is added but currently disabled because it's clock input is
the PERIPH clock which is derived from the CPU clock. Thus the rate
of the PERIPH clock will change when changing the CPU frequency.
Unfortunately the Global Timer driver doesn't handle clocks with
changing rates yet (unlike the TWD timer), thus we keep it disabled
for now.

The whole series is inspired by an almost 3 year old patch from
Carlo: [0]


Dependencies:
- I build this on top of my other series "ARM: dts: meson: add the
  timer interrupts and clocks" from [1]
- CLKID_PERIPH requires updated clock driver headers. Neil provided
  a tag which includes the updated headers: [2]
- There is no runtime dependency on the PERIPH clock as we don't
  have CPU frequency scaling support enabled yet. In case the TWD
  timer driver can't find the clock it falls back to auto-detecting
  the clock rate at boot time. This is safe as long as we don't have
  .dts patches in place which allow changing the CPU clock rate. Once
  we enable CPU frequency scaling support for the PERIPH clock becomes
  mandatory so the TWD timer driver knows about changes to the PERIPH
  clock (which is derived from the CPU clock).


[0] https://patchwork.kernel.org/patch/7797581/
[1] https://patchwork.kernel.org/cover/10687005/
[2] http://lists.infradead.org/pipermail/linux-amlogic/2018-November/009136.html


Martin Blumenstingl (6):
  ARM: meson: select HAVE_ARM_TWD and ARM_GLOBAL_TIMER
  ARM: dts: meson: group the Cortex-A5 / Cortex-A9 peripherals
  ARM: dts: meson8: add the ARM TWD timer
  ARM: dts: meson8: add the Cortex-A9 global timer
  ARM: dts: meson8b: add the ARM TWD timer
  ARM: dts: meson8b: add the Cortex-A5 global timer

 arch/arm/boot/dts/meson.dtsi   | 24 ++++++++++++++++--------
 arch/arm/boot/dts/meson8.dtsi  | 32 +++++++++++++++++++++++++++-----
 arch/arm/boot/dts/meson8b.dtsi | 32 +++++++++++++++++++++++++++-----
 arch/arm/mach-meson/Kconfig    |  2 ++
 4 files changed, 72 insertions(+), 18 deletions(-)

-- 
2.19.2


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-12-05  0:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-23 19:53 [PATCH 0/6] 32-bit Meson: add the ARM TWD and Global Timers Martin Blumenstingl
2018-11-23 19:53 ` [PATCH 1/6] ARM: meson: select HAVE_ARM_TWD and ARM_GLOBAL_TIMER Martin Blumenstingl
2018-11-23 19:53 ` [PATCH 2/6] ARM: dts: meson: group the Cortex-A5 / Cortex-A9 peripherals Martin Blumenstingl
2018-11-23 19:53 ` [PATCH 3/6] ARM: dts: meson8: add the ARM TWD timer Martin Blumenstingl
2018-11-30 11:52   ` kbuild test robot
2018-11-23 19:53 ` [PATCH 4/6] ARM: dts: meson8: add the Cortex-A9 global timer Martin Blumenstingl
2018-11-23 19:53 ` [PATCH 5/6] ARM: dts: meson8b: add the ARM TWD timer Martin Blumenstingl
2018-11-30 12:34   ` kbuild test robot
2018-11-23 19:53 ` [PATCH 6/6] ARM: dts: meson8b: add the Cortex-A5 global timer Martin Blumenstingl
2018-12-02 21:12 ` [PATCH 0/6] 32-bit Meson: add the ARM TWD and Global Timers Martin Blumenstingl
2018-12-05  0:51 ` Kevin Hilman

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