dt-bindings: serial: add documentation for Rx in-band wakeup support
authorClaire Chang <tientzu@chromium.org>
Wed, 19 Jun 2019 08:41:10 +0000 (16:41 +0800)
committerRob Herring <robh@kernel.org>
Tue, 9 Jul 2019 20:04:05 +0000 (14:04 -0600)
To support Rx in-band wakeup, one must create an interrupt specifier with
edge sensitivity on Rx pin and an addtional pinctrl to reconfigure Rx pin
to normal GPIO in sleep state. Driver will switch to sleep mode pinctrl and
enable irq wake before suspend and restore to default settings when
resuming.

Signed-off-by: Claire Chang <tientzu@chromium.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/serial/mtk-uart.txt

index c6b5262eb352e9569b0be3353a9ec81bae5f2ae5..6fdffb735fb98e77ece85951d0c4e5e0307f4dbb 100644 (file)
@@ -23,7 +23,12 @@ Required properties:
 
 - reg: The base address of the UART register bank.
 
-- interrupts: A single interrupt specifier.
+- interrupts:
+  index 0: an interrupt specifier for the UART controller itself
+  index 1: optional, an interrupt specifier with edge sensitivity on Rx pin to
+           support Rx in-band wake up. If one would like to use this feature,
+           one must create an addtional pinctrl to reconfigure Rx pin to normal
+           GPIO before suspend.
 
 - clocks : Must contain an entry for each entry in clock-names.
   See ../clocks/clock-bindings.txt for details.
@@ -39,7 +44,11 @@ Example:
        uart0: serial@11006000 {
                compatible = "mediatek,mt6589-uart", "mediatek,mt6577-uart";
                reg = <0x11006000 0x400>;
-               interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
+               interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>,
+                            <GIC_SPI 52 IRQ_TYPE_EDGE_FALLING>;
                clocks = <&uart_clk>, <&bus_clk>;
                clock-names = "baud", "bus";
+               pinctrl-names = "default", "sleep";
+               pinctrl-0 = <&uart_pin>;
+               pinctrl-1 = <&uart_pin_sleep>;
        };