linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
To: khilman@baylibre.com
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org,
	carlo@caione.org
Subject: Re: [PATCH 0/6] 32-bit Meson: add the ARM TWD and Global Timers
Date: Sun, 2 Dec 2018 22:12:21 +0100	[thread overview]
Message-ID: <CAFBinCDg2tbaJMYusLyH-q1=n1Mb8ng4BhGOa8=vc0QoAFMzFA@mail.gmail.com> (raw)
In-Reply-To: <20181123195311.4578-1-martin.blumenstingl@googlemail.com>

Hi Kevin,

On Fri, Nov 23, 2018 at 8:53 PM Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:
>
> 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]
this is already merged into your v4.21/dt branch

> - CLKID_PERIPH requires updated clock driver headers. Neil provided
>   a tag which includes the updated headers: [2]
this is still a dependency which you could easily pull in

> - 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).
and there's still not a hard runtime dependency until you apply [3]
"ARM: dts: enable CPU frequency scaling on Meson8/Meson8b"

> 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(-)
if you plan to send another pull-request to the arm-soc tree then
please consider including this series.
it fixes some harmless (but still noisy) warnings during boot which
also also seen by Odroid-C1 in your KernelCI lab:
  Clockevents: could not switch to one-shot mode:
   dummy_timer is not functional.
  Clockevents: could not switch to one-shot mode:
   dummy_timer is not functional.
  Clockevents: could not switch to one-shot mode:
   dummy_timer is not functional.
  Clockevents: could not switch to one-shot mode:
   dummy_timer is not functional.
  Could not switch to high resolution mode on CPU 3
  Could not switch to high resolution mode on CPU 2
  Could not switch to high resolution mode on CPU 0
  Could not switch to high resolution mode on CPU 1


Regards
Martin


[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
[3] https://patchwork.kernel.org/cover/10705475/

  parent reply	other threads:[~2018-12-02 21:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Martin Blumenstingl [this message]
2018-12-05  0:51 ` [PATCH 0/6] 32-bit Meson: add the ARM TWD and Global Timers Kevin Hilman

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='CAFBinCDg2tbaJMYusLyH-q1=n1Mb8ng4BhGOa8=vc0QoAFMzFA@mail.gmail.com' \
    --to=martin.blumenstingl@googlemail.com \
    --cc=carlo@caione.org \
    --cc=khilman@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.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).