Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: allwinner: Move wakeup-capable IRQs to r_intc

All IRQs that can be used to wake up the system must be routed through
r_intc, so they are visible to firmware while the system is suspended.

In addition to the external NMI input, which is already routed through
r_intc, these include PIO and R_PIO (gpio-keys), the LRADC, and the RTC.

Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>

authored by

Samuel Holland and committed by
Chen-Yu Tsai
189bef23 73088dfe

+7
+4
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
··· 648 648 pio: pinctrl@1c20800 { 649 649 compatible = "allwinner,sun50i-a64-pinctrl"; 650 650 reg = <0x01c20800 0x400>; 651 + interrupt-parent = <&r_intc>; 651 652 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 652 653 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 653 654 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; ··· 819 818 compatible = "allwinner,sun50i-a64-lradc", 820 819 "allwinner,sun8i-a83t-r-lradc"; 821 820 reg = <0x01c21800 0x400>; 821 + interrupt-parent = <&r_intc>; 822 822 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 823 823 status = "disabled"; 824 824 }; ··· 1210 1208 compatible = "allwinner,sun50i-a64-rtc", 1211 1209 "allwinner,sun8i-h3-rtc"; 1212 1210 reg = <0x01f00000 0x400>; 1211 + interrupt-parent = <&r_intc>; 1213 1212 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 1214 1213 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1215 1214 clock-output-names = "osc32k", "osc32k-out", "iosc"; ··· 1282 1279 r_pio: pinctrl@1f02c00 { 1283 1280 compatible = "allwinner,sun50i-a64-r-pinctrl"; 1284 1281 reg = <0x01f02c00 0x400>; 1282 + interrupt-parent = <&r_intc>; 1285 1283 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1286 1284 clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 1287 1285 clock-names = "apb", "hosc", "losc";
+3
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
··· 294 294 pio: pinctrl@300b000 { 295 295 compatible = "allwinner,sun50i-h6-pinctrl"; 296 296 reg = <0x0300b000 0x400>; 297 + interrupt-parent = <&r_intc>; 297 298 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 298 299 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 299 300 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, ··· 903 902 rtc: rtc@7000000 { 904 903 compatible = "allwinner,sun50i-h6-rtc"; 905 904 reg = <0x07000000 0x400>; 905 + interrupt-parent = <&r_intc>; 906 906 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 907 907 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 908 908 clock-output-names = "osc32k", "osc32k-out", "iosc"; ··· 939 937 r_pio: pinctrl@7022000 { 940 938 compatible = "allwinner,sun50i-h6-r-pinctrl"; 941 939 reg = <0x07022000 0x400>; 940 + interrupt-parent = <&r_intc>; 942 941 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 943 942 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 944 943 clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;