From 6f0b46832eda0d142c5d2a7450cf57f3f1a30aba Mon Sep 17 00:00:00 2001 From: Marc Zyngier Date: Sat, 23 May 2026 15:02:39 +0100 Subject: [PATCH 1/2] arm64: dts: realtek: Add EL2 virtual timer interrupt The ARMv8.2 based CPUs used in a number of Realtek SoCs are missing the EL2 virtual timer interrupt. Add it. Furthermore, the "kent" platform appears to assign PPI9 to both the EL2 virtual timer and the GIC Maintenance Interrupt, which can't be right. Attempt a fix by setting the former to PPI12, as PPI9 is traditionally wired to the GIC itself. Signed-off-by: Marc Zyngier Signed-off-by: Yu-Chun Lin --- arch/arm64/boot/dts/realtek/kent.dtsi | 2 +- arch/arm64/boot/dts/realtek/rtd16xx.dtsi | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/realtek/kent.dtsi b/arch/arm64/boot/dts/realtek/kent.dtsi index 8d4293cd4c03..02aca12d5ba9 100644 --- a/arch/arm64/boot/dts/realtek/kent.dtsi +++ b/arch/arm64/boot/dts/realtek/kent.dtsi @@ -23,7 +23,7 @@ timer { , , , - ; + ; }; cpus { diff --git a/arch/arm64/boot/dts/realtek/rtd16xx.dtsi b/arch/arm64/boot/dts/realtek/rtd16xx.dtsi index 3a7f6e35b7f7..43b13d133c32 100644 --- a/arch/arm64/boot/dts/realtek/rtd16xx.dtsi +++ b/arch/arm64/boot/dts/realtek/rtd16xx.dtsi @@ -105,7 +105,8 @@ timer { interrupts = , , , - ; + , + ; }; arm_pmu: pmu { From 3c778f0c9fa36b6b9a26bd2146df24ed4e830ba4 Mon Sep 17 00:00:00 2001 From: Yu-Chun Lin Date: Thu, 5 Mar 2026 13:58:38 +0800 Subject: [PATCH 2/2] arm64: dts: realtek: Add GPIO support for RTD1625 Add the GPIO node for the Realtek RTD1625 SoC. Reviewed-by: Bartosz Golaszewski Signed-off-by: Yu-Chun Lin --- arch/arm64/boot/dts/realtek/kent.dtsi | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/arch/arm64/boot/dts/realtek/kent.dtsi b/arch/arm64/boot/dts/realtek/kent.dtsi index 02aca12d5ba9..df0d5ee3b1b9 100644 --- a/arch/arm64/boot/dts/realtek/kent.dtsi +++ b/arch/arm64/boot/dts/realtek/kent.dtsi @@ -151,6 +151,37 @@ uart0: serial@7800 { status = "disabled"; }; + gpio: gpio@31000 { + compatible = "realtek,rtd1625-iso-gpio"; + reg = <0x31000 0x398>; + gpio-controller; + gpio-ranges = <&isom_pinctrl 0 0 2>, + <&ve4_pinctrl 2 0 6>, + <&iso_pinctrl 8 0 4>, + <&ve4_pinctrl 12 6 2>, + <&main2_pinctrl 14 0 2>, + <&ve4_pinctrl 16 8 4>, + <&main2_pinctrl 20 2 3>, + <&ve4_pinctrl 23 12 3>, + <&iso_pinctrl 26 4 2>, + <&isom_pinctrl 28 2 2>, + <&ve4_pinctrl 30 15 6>, + <&main2_pinctrl 36 5 6>, + <&ve4_pinctrl 42 21 3>, + <&iso_pinctrl 45 6 6>, + <&ve4_pinctrl 51 24 1>, + <&iso_pinctrl 52 12 1>, + <&ve4_pinctrl 53 25 11>, + <&main2_pinctrl 64 11 28>, + <&ve4_pinctrl 92 36 2>, + <&iso_pinctrl 94 13 19>, + <&iso_pinctrl 128 32 4>, + <&ve4_pinctrl 132 38 13>, + <&iso_pinctrl 145 36 19>, + <&ve4_pinctrl 164 51 2>; + #gpio-cells = <2>; + }; + iso_pinctrl: pinctrl@4e000 { compatible = "realtek,rtd1625-iso-pinctrl"; reg = <0x4e000 0x1a4>; @@ -161,6 +192,14 @@ main2_pinctrl: pinctrl@4f200 { reg = <0x4f200 0x50>; }; + iso_m_gpio: gpio@89100 { + compatible = "realtek,rtd1625-isom-gpio"; + reg = <0x89100 0x30>; + gpio-controller; + gpio-ranges = <&isom_pinctrl 0 0 4>; + #gpio-cells = <2>; + }; + isom_pinctrl: pinctrl@146200 { compatible = "realtek,rtd1625-isom-pinctrl"; reg = <0x146200 0x34>;