Commit 994e5818 authored by Samuel Holland's avatar Samuel Holland Committed by Chen-Yu Tsai
Browse files

ARM: dts: sunxi: 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: default avatarMaxime Ripard <mripard@kernel.org>
Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
parent 3fb01ded
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -611,6 +611,7 @@ ccu: clock@1c20000 {
		pio: pinctrl@1c20800 {
			compatible = "allwinner,sun6i-a31-pinctrl";
			reg = <0x01c20800 0x400>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
@@ -802,6 +803,7 @@ i2s1: i2s@1c22400 {
		lradc: lradc@1c22800 {
			compatible = "allwinner,sun4i-a10-lradc-keys";
			reg = <0x01c22800 0x100>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
		};
@@ -1299,6 +1301,7 @@ rtc: rtc@1f00000 {
			#clock-cells = <1>;
			compatible = "allwinner,sun6i-a31-rtc";
			reg = <0x01f00000 0x54>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&osc32k>;
@@ -1383,6 +1386,7 @@ ir: ir@1f02000 {
		r_pio: pinctrl@1f02c00 {
			compatible = "allwinner,sun6i-a31-r-pinctrl";
			reg = <0x01f02c00 0x400>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>;
+4 −0
Original line number Diff line number Diff line
@@ -338,6 +338,7 @@ ccu: clock@1c20000 {
		pio: pinctrl@1c20800 {
			/* compatible gets set in SoC specific dtsi file */
			reg = <0x01c20800 0x400>;
			interrupt-parent = <&r_intc>;
			/* interrupts get set in SoC specific dtsi file */
			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>;
			clock-names = "apb", "hosc", "losc";
@@ -473,6 +474,7 @@ pwm: pwm@1c21400 {
		lradc: lradc@1c22800 {
			compatible = "allwinner,sun4i-a10-lradc-keys";
			reg = <0x01c22800 0x100>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
		};
@@ -709,6 +711,7 @@ drc0_out_tcon0: endpoint {
		rtc: rtc@1f00000 {
			compatible = "allwinner,sun8i-a23-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";
@@ -805,6 +808,7 @@ r_i2c: i2c@1f02400 {
		r_pio: pinctrl@1f02c00 {
			compatible = "allwinner,sun8i-a23-r-pinctrl";
			reg = <0x01f02c00 0x400>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>;
			clock-names = "apb", "hosc", "losc";
+3 −0
Original line number Diff line number Diff line
@@ -708,6 +708,7 @@ ccu: clock@1c20000 {

		pio: pinctrl@1c20800 {
			compatible = "allwinner,sun8i-a83t-pinctrl";
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
@@ -1147,6 +1148,7 @@ r_cir: ir@1f02000 {
		r_lradc: lradc@1f03c00 {
			compatible = "allwinner,sun8i-a83t-r-lradc";
			reg = <0x01f03c00 0x100>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
		};
@@ -1154,6 +1156,7 @@ r_lradc: lradc@1f03c00 {
		r_pio: pinctrl@1f02c00 {
			compatible = "allwinner,sun8i-a83t-r-pinctrl";
			reg = <0x01f02c00 0x400>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>,
				 <&osc16Md512>;
+3 −0
Original line number Diff line number Diff line
@@ -395,6 +395,7 @@ ccu: clock@1c20000 {
		pio: pinctrl@1c20800 {
			/* compatible is in per SoC .dtsi file */
			reg = <0x01c20800 0x400>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>;
@@ -852,6 +853,7 @@ hdmi_phy: hdmi-phy@1ef0000 {
		rtc: rtc@1f00000 {
			/* compatible is in per SoC .dtsi file */
			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";
@@ -909,6 +911,7 @@ r_i2c: i2c@1f02400 {
		r_pio: pinctrl@1f02c00 {
			compatible = "allwinner,sun8i-h3-r-pinctrl";
			reg = <0x01f02c00 0x400>;
			interrupt-parent = <&r_intc>;
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&rtc 0>;
			clock-names = "apb", "hosc", "losc";