[PATCH] dt-bindings: serial: add documentation for Rx in-band wakeup support

Rob Herring robh+dt at kernel.org
Thu Jun 13 07:40:16 PDT 2019


On Tue, Jun 11, 2019 at 6:15 AM Claire Chang <tientzu at chromium.org> wrote:
>
> 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 at chromium.org>
> ---
> Resending this patch since I forgot to cc device tree maintainers/mailing list.
> The 2/2 patch in this series[1] is already in tty-next[2].
>
> [1] https://patchwork.kernel.org/patch/10962299/
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git/log/?h=tty-testing
>
>  .../devicetree/bindings/serial/mtk-uart.txt         | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/serial/mtk-uart.txt b/Documentation/devicetree/bindings/serial/mtk-uart.txt
> index bcfb13194f16..3488b6e24e0c 100644
> --- a/Documentation/devicetree/bindings/serial/mtk-uart.txt
> +++ b/Documentation/devicetree/bindings/serial/mtk-uart.txt
> @@ -21,7 +21,12 @@ Required properties:
>
>  - reg: The base address of the UART register bank.
>
> -- interrupts: A single interrupt specifier.
> +- interrupts or interrupts-extended:

interrupts-extended support is implied as both are supported and the
connection to the interrupt parent is outside the scope of the
binding. So we just document '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.
> @@ -37,7 +42,11 @@ Example:
>         uart0: serial at 11006000 {
>                 compatible = "mediatek,mt6589-uart", "mediatek,mt6577-uart";
>                 reg = <0x11006000 0x400>;
> -               interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
> +               interrupts-extended = <&sysirq GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>,
> +                                     <&gpio 121 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>;
>         };
> --
> 2.22.0.rc2.383.gf4fbbf30c2-goog
>



More information about the Linux-mediatek mailing list