* [RFC PATCH 0/6] arm64: dts: renesas: add SWDT
@ 2025-09-20 6:44 Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 1/6] arm64: dts: renesas: r8a77951: add SWDT node Wolfram Sang
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Conor Dooley, devicetree, Geert Uytterhoeven,
Krzysztof Kozlowski, Magnus Damm, Rob Herring
I forgot over the years why we did not enable the SWDT on R-Car Gen3+.
The reason is that it is used by the firmware on Renesas boards.
However, this was not documented. So, based on a previous discussion
with Geert, here is an RFC how this documentation could look like:
* add the complete node to the SoC DTSI (here only R-Car H3, M3*)
* mark the node as "reserved" for the relevant boards
(firmware should have done that(tm))
If this approach is acceptable, I'd handle the other SoCs, too, of
course. Looking forward to comments! Passes dtbs_check here BTW.
Wolfram Sang (6):
arm64: dts: renesas: r8a77951: add SWDT node
arm64: dts: renesas: r8a77960: add SWDT node
arm64: dts: renesas: r8a77961: add SWDT node
arm64: dts: renesas: r8a77965: add SWDT node
arm64: dts: renesas: salvator-common: mark SWDT as reserved
arm64: dts: renesas: ulcb: mark SWDT as reserved
arch/arm64/boot/dts/renesas/r8a77951.dtsi | 10 ++++++++++
arch/arm64/boot/dts/renesas/r8a77960.dtsi | 10 ++++++++++
arch/arm64/boot/dts/renesas/r8a77961.dtsi | 10 ++++++++++
arch/arm64/boot/dts/renesas/r8a77965.dtsi | 10 ++++++++++
arch/arm64/boot/dts/renesas/salvator-common.dtsi | 5 +++++
arch/arm64/boot/dts/renesas/ulcb.dtsi | 5 +++++
6 files changed, 50 insertions(+)
--
2.47.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [RFC PATCH 1/6] arm64: dts: renesas: r8a77951: add SWDT node
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
@ 2025-09-20 6:44 ` Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 2/6] arm64: dts: renesas: r8a77960: " Wolfram Sang
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Geert Uytterhoeven, Magnus Damm, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
arch/arm64/boot/dts/renesas/r8a77951.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
index c389ebc7e6ce..b3e935e5a2b1 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
@@ -365,6 +365,16 @@ rwdt: watchdog@e6020000 {
status = "disabled";
};
+ swdt: watchdog@e6030000 {
+ compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt";
+ reg = <0 0xe6030000 0 0x0c>;
+ interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_CORE R8A7795_CLK_OSC>;
+ power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+ resets = <&cpg 401>;
+ status = "disabled";
+ };
+
gpio0: gpio@e6050000 {
compatible = "renesas,gpio-r8a7795",
"renesas,rcar-gen3-gpio";
--
2.47.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC PATCH 2/6] arm64: dts: renesas: r8a77960: add SWDT node
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 1/6] arm64: dts: renesas: r8a77951: add SWDT node Wolfram Sang
@ 2025-09-20 6:44 ` Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 3/6] arm64: dts: renesas: r8a77961: " Wolfram Sang
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Geert Uytterhoeven, Magnus Damm, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
arch/arm64/boot/dts/renesas/r8a77960.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77960.dtsi b/arch/arm64/boot/dts/renesas/r8a77960.dtsi
index 6d039019905d..2fd08c002a47 100644
--- a/arch/arm64/boot/dts/renesas/r8a77960.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77960.dtsi
@@ -330,6 +330,16 @@ rwdt: watchdog@e6020000 {
status = "disabled";
};
+ swdt: watchdog@e6030000 {
+ compatible = "renesas,r8a7796-wdt", "renesas,rcar-gen3-wdt";
+ reg = <0 0xe6030000 0 0x0c>;
+ interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_CORE R8A7796_CLK_OSC>;
+ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+ resets = <&cpg 401>;
+ status = "disabled";
+ };
+
gpio0: gpio@e6050000 {
compatible = "renesas,gpio-r8a7796",
"renesas,rcar-gen3-gpio";
--
2.47.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC PATCH 3/6] arm64: dts: renesas: r8a77961: add SWDT node
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 1/6] arm64: dts: renesas: r8a77951: add SWDT node Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 2/6] arm64: dts: renesas: r8a77960: " Wolfram Sang
@ 2025-09-20 6:44 ` Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 4/6] arm64: dts: renesas: r8a77965: " Wolfram Sang
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Geert Uytterhoeven, Magnus Damm, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
arch/arm64/boot/dts/renesas/r8a77961.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77961.dtsi b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
index 1637b534fc68..bbfd72705db3 100644
--- a/arch/arm64/boot/dts/renesas/r8a77961.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
@@ -330,6 +330,16 @@ rwdt: watchdog@e6020000 {
status = "disabled";
};
+ swdt: watchdog@e6030000 {
+ compatible = "renesas,r8a77961-wdt", "renesas,rcar-gen3-wdt";
+ reg = <0 0xe6030000 0 0x0c>;
+ interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_CORE R8A77961_CLK_OSC>;
+ power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+ resets = <&cpg 401>;
+ status = "disabled";
+ };
+
gpio0: gpio@e6050000 {
compatible = "renesas,gpio-r8a77961",
"renesas,rcar-gen3-gpio";
--
2.47.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC PATCH 4/6] arm64: dts: renesas: r8a77965: add SWDT node
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
` (2 preceding siblings ...)
2025-09-20 6:44 ` [RFC PATCH 3/6] arm64: dts: renesas: r8a77961: " Wolfram Sang
@ 2025-09-20 6:44 ` Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 5/6] arm64: dts: renesas: salvator-common: mark SWDT as reserved Wolfram Sang
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Geert Uytterhoeven, Magnus Damm, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
arch/arm64/boot/dts/renesas/r8a77965.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
index 353a77187089..2c414179f53c 100644
--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
@@ -201,6 +201,16 @@ rwdt: watchdog@e6020000 {
status = "disabled";
};
+ swdt: watchdog@e6030000 {
+ compatible = "renesas,r8a77965-wdt", "renesas,rcar-gen3-wdt";
+ reg = <0 0xe6030000 0 0x0c>;
+ interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_CORE R8A77965_CLK_OSC>;
+ power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+ resets = <&cpg 401>;
+ status = "disabled";
+ };
+
gpio0: gpio@e6050000 {
compatible = "renesas,gpio-r8a77965",
"renesas,rcar-gen3-gpio";
--
2.47.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC PATCH 5/6] arm64: dts: renesas: salvator-common: mark SWDT as reserved
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
` (3 preceding siblings ...)
2025-09-20 6:44 ` [RFC PATCH 4/6] arm64: dts: renesas: r8a77965: " Wolfram Sang
@ 2025-09-20 6:44 ` Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 6/6] arm64: dts: renesas: ulcb: " Wolfram Sang
2025-09-22 12:46 ` [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Geert Uytterhoeven
6 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Geert Uytterhoeven, Magnus Damm, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree
This watchdog can't be used with Linux because the firmware needs it on
Salvator boards. Sadly, it doesn't mark the node as reserved, so this is
added manually here.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
arch/arm64/boot/dts/renesas/salvator-common.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index bbb3583372d0..fa8bfee07b3c 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -1004,6 +1004,11 @@ &ssi1 {
shared-pin;
};
+/* Firmware should reserve it but sadly doesn't */
+&swdt {
+ status = "reserved";
+};
+
&usb_extal_clk {
clock-frequency = <50000000>;
};
--
2.47.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC PATCH 6/6] arm64: dts: renesas: ulcb: mark SWDT as reserved
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
` (4 preceding siblings ...)
2025-09-20 6:44 ` [RFC PATCH 5/6] arm64: dts: renesas: salvator-common: mark SWDT as reserved Wolfram Sang
@ 2025-09-20 6:44 ` Wolfram Sang
2025-09-22 12:46 ` [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Geert Uytterhoeven
6 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2025-09-20 6:44 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Geert Uytterhoeven, Magnus Damm, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree
This watchdog can't be used with Linux because the firmware needs it on
ULCB boards. Sadly, it doesn't mark the node as reserved, so this is
added manually here.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
arch/arm64/boot/dts/renesas/ulcb.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index 8a30908992ab..a9e53b36f1d9 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -495,6 +495,11 @@ &ssi1 {
shared-pin;
};
+/* Firmware should reserve it but sadly doesn't */
+&swdt {
+ status = "reserved";
+};
+
&usb2_phy1 {
pinctrl-0 = <&usb1_pins>;
pinctrl-names = "default";
--
2.47.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 0/6] arm64: dts: renesas: add SWDT
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
` (5 preceding siblings ...)
2025-09-20 6:44 ` [RFC PATCH 6/6] arm64: dts: renesas: ulcb: " Wolfram Sang
@ 2025-09-22 12:46 ` Geert Uytterhoeven
6 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2025-09-22 12:46 UTC (permalink / raw)
To: Wolfram Sang
Cc: linux-renesas-soc, Conor Dooley, devicetree, Krzysztof Kozlowski,
Magnus Damm, Rob Herring
Hi Wolfram,
On Sat, 20 Sept 2025 at 08:44, Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> I forgot over the years why we did not enable the SWDT on R-Car Gen3+.
> The reason is that it is used by the firmware on Renesas boards.
> However, this was not documented. So, based on a previous discussion
> with Geert, here is an RFC how this documentation could look like:
>
> * add the complete node to the SoC DTSI (here only R-Car H3, M3*)
> * mark the node as "reserved" for the relevant boards
> (firmware should have done that(tm))
>
> If this approach is acceptable, I'd handle the other SoCs, too, of
> course. Looking forward to comments! Passes dtbs_check here BTW.
>
> Wolfram Sang (6):
> arm64: dts: renesas: r8a77951: add SWDT node
> arm64: dts: renesas: r8a77960: add SWDT node
> arm64: dts: renesas: r8a77961: add SWDT node
> arm64: dts: renesas: r8a77965: add SWDT node
> arm64: dts: renesas: salvator-common: mark SWDT as reserved
> arm64: dts: renesas: ulcb: mark SWDT as reserved
Thanks for your series!
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-09-22 12:46 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-20 6:44 [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 1/6] arm64: dts: renesas: r8a77951: add SWDT node Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 2/6] arm64: dts: renesas: r8a77960: " Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 3/6] arm64: dts: renesas: r8a77961: " Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 4/6] arm64: dts: renesas: r8a77965: " Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 5/6] arm64: dts: renesas: salvator-common: mark SWDT as reserved Wolfram Sang
2025-09-20 6:44 ` [RFC PATCH 6/6] arm64: dts: renesas: ulcb: " Wolfram Sang
2025-09-22 12:46 ` [RFC PATCH 0/6] arm64: dts: renesas: add SWDT Geert Uytterhoeven
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).