Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31f0820a authored by Tony Lindgren's avatar Tony Lindgren
Browse files

ARM: dts: Fix omap serial wake-up when booted with device tree



We've had deeper idle states working on omaps for few years now,
but only in the legacy mode. When booted with device tree, the
wake-up events did not have a chance to work until commit
3e6cee17 (pinctrl: single: Add support for wake-up interrupts)
that recently got merged. In addition to that we also needed commit
79d97015 (of/irq: create interrupts-extended property) and
9ec36caf (of/irq: do irq resolution in platform_get_irq) that
are now also merged.

So let's fix the wake-up events for some selected omaps so devices
booted in device tree mode won't just hang if deeper power states
are enabled, and so systems can wake up from suspend to the serial
port event.

Note that there's no longer need to specify the wake-up bit in
the pinctrl settings, the request_irq on the wake-up pin takes
care of that.

Cc: devicetree@vger.kernel.org
Cc: "Benoît Cousson" <bcousson@baylibre.com>
Cc: Kevin Hilman <khilman@linaro.org>
Cc: Nishanth Menon <nm@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
[tony@atomide.com: updated comments, added board LDP]
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 08eb9a8c
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -89,7 +89,16 @@
	status = "disabled";
	status = "disabled";
};
};


&uart1 {
	interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
};

&uart2 {
	interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
};

&uart3 {
&uart3 {
	interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
	pinctrl-names = "default";
	pinctrl-names = "default";
	pinctrl-0 = <&uart3_pins>;
	pinctrl-0 = <&uart3_pins>;
};
};
+4 −0
Original line number Original line Diff line number Diff line
@@ -234,6 +234,10 @@
	};
	};
};
};


&uart3 {
	interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
};

&usb_otg_hs {
&usb_otg_hs {
	pinctrl-names = "default";
	pinctrl-names = "default";
	pinctrl-0 = <&musb_pins>;
	pinctrl-0 = <&musb_pins>;
+2 −0
Original line number Original line Diff line number Diff line
@@ -618,11 +618,13 @@
};
};


&uart2 {
&uart2 {
	interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
	pinctrl-names = "default";
	pinctrl-names = "default";
	pinctrl-0 = <&uart2_pins>;
	pinctrl-0 = <&uart2_pins>;
};
};


&uart3 {
&uart3 {
	interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
	pinctrl-names = "default";
	pinctrl-names = "default";
	pinctrl-0 = <&uart3_pins>;
	pinctrl-0 = <&uart3_pins>;
};
};
+3 −3
Original line number Original line Diff line number Diff line
@@ -267,7 +267,7 @@
		uart1: serial@4806a000 {
		uart1: serial@4806a000 {
			compatible = "ti,omap3-uart";
			compatible = "ti,omap3-uart";
			reg = <0x4806a000 0x2000>;
			reg = <0x4806a000 0x2000>;
			interrupts = <72>;
			interrupts-extended = <&intc 72>;
			dmas = <&sdma 49 &sdma 50>;
			dmas = <&sdma 49 &sdma 50>;
			dma-names = "tx", "rx";
			dma-names = "tx", "rx";
			ti,hwmods = "uart1";
			ti,hwmods = "uart1";
@@ -277,7 +277,7 @@
		uart2: serial@4806c000 {
		uart2: serial@4806c000 {
			compatible = "ti,omap3-uart";
			compatible = "ti,omap3-uart";
			reg = <0x4806c000 0x400>;
			reg = <0x4806c000 0x400>;
			interrupts = <73>;
			interrupts-extended = <&intc 73>;
			dmas = <&sdma 51 &sdma 52>;
			dmas = <&sdma 51 &sdma 52>;
			dma-names = "tx", "rx";
			dma-names = "tx", "rx";
			ti,hwmods = "uart2";
			ti,hwmods = "uart2";
@@ -287,7 +287,7 @@
		uart3: serial@49020000 {
		uart3: serial@49020000 {
			compatible = "ti,omap3-uart";
			compatible = "ti,omap3-uart";
			reg = <0x49020000 0x400>;
			reg = <0x49020000 0x400>;
			interrupts = <74>;
			interrupts-extended = <&intc 74>;
			dmas = <&sdma 53 &sdma 54>;
			dmas = <&sdma 53 &sdma 54>;
			dma-names = "tx", "rx";
			dma-names = "tx", "rx";
			ti,hwmods = "uart3";
			ti,hwmods = "uart3";
+15 −0
Original line number Original line Diff line number Diff line
@@ -481,6 +481,21 @@
	usb-supply = <&vusb>;
	usb-supply = <&vusb>;
};
};


&uart2 {
	interrupts-extended = <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
			       &omap4_pmx_core OMAP4_UART2_RX>;
};

&uart3 {
	interrupts-extended = <&gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
			       &omap4_pmx_core OMAP4_UART3_RX>;
};

&uart4 {
	interrupts-extended = <&gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
			       &omap4_pmx_core OMAP4_UART4_RX>;
};

&usb_otg_hs {
&usb_otg_hs {
	interface-type = <1>;
	interface-type = <1>;
	mode = <3>;
	mode = <3>;
Loading