From: "Stefan Dösinger" <stefandoesinger@gmail.com>
To: Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Russell King <linux@armlinux.org.uk>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Arnd Bergmann <arnd@arndb.de>,
Krzysztof Kozlowski <krzk@kernel.org>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Linus Walleij <linusw@kernel.org>,
Drew Fustini <fustini@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
soc@lists.linux.dev, linux-serial@vger.kernel.org,
"Stefan Dösinger" <stefandoesinger@gmail.com>
Subject: [PATCH v5 5/8] ARM: dts: Add an armv7 timer for zx297520v3
Date: Tue, 21 Apr 2026 23:23:13 +0300 [thread overview]
Message-ID: <20260421-send-v5-5-ace038e63515@gmail.com> (raw)
In-Reply-To: <20260421-send-v5-0-ace038e63515@gmail.com>
The stock kernel does not use this timer, but it seems to work fine. The
board has other board-specific timers that would need a driver and I see
no reason to bother with them since the arm standard timer works.
The caveat is the non-standard GIC setup needed to handle the timer's
level-low PPI. This is the responsibility of the boot loader and
documented in Documentation/arch/arm/zte/zx297520v3.rst.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmail.com>
---
arch/arm/boot/dts/zte/zx297520v3.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/zte/zx297520v3.dtsi b/arch/arm/boot/dts/zte/zx297520v3.dtsi
index 0fff00f910d6..903050c684cb 100644
--- a/arch/arm/boot/dts/zte/zx297520v3.dtsi
+++ b/arch/arm/boot/dts/zte/zx297520v3.dtsi
@@ -20,6 +20,21 @@ cpu@0 {
};
};
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ clock-frequency = <26000000>;
+ interrupt-parent = <&gic>;
+ /* I don't think uboot sets CNTVOFF and the stock kernel doesn't use the
+ * arm timer at all. Since this is a single CPU system I don't think it
+ * really matters that the offset is random though.
+ */
+ arm,cpu-registers-not-fw-configured;
+ };
+
soc {
#address-cells = <1>;
#size-cells = <1>;
@@ -27,6 +42,15 @@ soc {
interrupt-parent = <&gic>;
ranges;
+ /* The GIC has a non-standard way of configuring ints between level-low/level
+ * high or rising edge/falling edge at 0xf2202070 and onwards. See AP_INT_MODE_BASE
+ * and AP_PPI_MODE_REG in the ZTE kernel, although the offsets in the kernel source
+ * seem wrong.
+ *
+ * Everything defaults to active-high/rising edge, but the timer is active-low. We
+ * currently rely on the boot loader to change timer IRQs to active-low for us for
+ * now.
+ */
gic: interrupt-controller@f2000000 {
compatible = "arm,gic-v3";
interrupt-controller;
--
2.53.0
next prev parent reply other threads:[~2026-04-21 20:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 20:23 [PATCH v5 0/8] Add support for ZTE zx297520v3 Stefan Dösinger
2026-04-21 20:23 ` [PATCH v5 1/8] ARM: zte: Add zx297520v3 platform support Stefan Dösinger
2026-04-24 7:06 ` Linus Walleij
2026-04-24 11:23 ` Stefan Dösinger
2026-04-21 20:23 ` [PATCH v5 2/8] dt-bindings: arm: Add zx297520v3 board binding Stefan Dösinger
2026-04-22 7:06 ` Krzysztof Kozlowski
2026-04-21 20:23 ` [PATCH v5 3/8] ARM: dts: Add D-Link DWR-932M support Stefan Dösinger
2026-04-22 7:09 ` Krzysztof Kozlowski
2026-04-21 20:23 ` [PATCH v5 4/8] ARM: zte: Add support for zx29 low level debug Stefan Dösinger
2026-04-24 7:07 ` Linus Walleij
2026-04-21 20:23 ` Stefan Dösinger [this message]
2026-04-22 7:10 ` [PATCH v5 5/8] ARM: dts: Add an armv7 timer for zx297520v3 Krzysztof Kozlowski
2026-04-21 20:23 ` [PATCH v5 6/8] amba/serial: amba-pl011: Bring back zx29 UART support Stefan Dösinger
2026-04-24 7:05 ` Linus Walleij
2026-04-21 20:23 ` [PATCH v5 7/8] ARM: dts: Declare UARTs on zx297520v3 boards Stefan Dösinger
2026-04-22 7:10 ` Krzysztof Kozlowski
2026-04-22 7:11 ` Krzysztof Kozlowski
2026-04-21 20:23 ` [PATCH v5 8/8] ARM: defconfig: Add a zx29 defconfig file Stefan Dösinger
2026-04-24 7:13 ` Linus Walleij
2026-04-24 8:54 ` Arnd Bergmann
2026-04-24 7:48 ` Arnd Bergmann
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=20260421-send-v5-5-ace038e63515@gmail.com \
--to=stefandoesinger@gmail.com \
--cc=alexandre.belloni@bootlin.com \
--cc=arnd@arndb.de \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=fustini@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=robh@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=soc@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.