78 lines
3.0 KiB
Diff
78 lines
3.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Holland <samuel@sholland.org>
|
|
Date: Fri, 25 Dec 2020 02:05:58 -0600
|
|
Subject: [PATCH] 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.
|
|
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
---
|
|
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 3 +++
|
|
2 files changed, 7 insertions(+)
|
|
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
|
@@ -644,6 +644,7 @@
|
|
pio: pinctrl@1c20800 {
|
|
compatible = "allwinner,sun50i-a64-pinctrl";
|
|
reg = <0x01c20800 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
|
@@ -814,6 +815,7 @@
|
|
compatible = "allwinner,sun50i-a64-lradc",
|
|
"allwinner,sun8i-a83t-r-lradc";
|
|
reg = <0x01c21800 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
@@ -1204,6 +1206,7 @@
|
|
compatible = "allwinner,sun50i-a64-rtc",
|
|
"allwinner,sun8i-h3-rtc";
|
|
reg = <0x01f00000 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
|
|
clock-output-names = "osc32k", "osc32k-out", "iosc";
|
|
@@ -1275,6 +1278,7 @@
|
|
r_pio: pinctrl@1f02c00 {
|
|
compatible = "allwinner,sun50i-a64-r-pinctrl";
|
|
reg = <0x01f02c00 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
|
|
clock-names = "apb", "hosc", "losc";
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
|
@@ -305,6 +305,7 @@
|
|
pio: pinctrl@300b000 {
|
|
compatible = "allwinner,sun50i-h6-pinctrl";
|
|
reg = <0x0300b000 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
|
@@ -906,6 +907,7 @@
|
|
rtc: rtc@7000000 {
|
|
compatible = "allwinner,sun50i-h6-rtc";
|
|
reg = <0x07000000 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
|
clock-output-names = "osc32k", "osc32k-out", "iosc";
|
|
@@ -941,6 +943,7 @@
|
|
r_pio: pinctrl@7022000 {
|
|
compatible = "allwinner,sun50i-h6-r-pinctrl";
|
|
reg = <0x07022000 0x400>;
|
|
+ interrupt-parent = <&r_intc>;
|
|
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;
|