Re: [PATCH v3 1/3] dt-bindings: input: atmel_mxt_ts: Document atmel,wakeup-method and wake-GPIO

From: Rob Herring
Date: Wed Dec 09 2020 - 22:45:42 EST


On Mon, Dec 07, 2020 at 12:22:15AM +0300, Dmitry Osipenko wrote:
> Some Atmel touchscreen controllers have a WAKE line that needs to be
> asserted low in order to wake up controller from a deep sleep. Document
> the wakeup methods and the wake-GPIO properties.

wake-GPIO?

>
> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> ---
> .../bindings/input/atmel,maxtouch.yaml | 29 +++++++++++++++++++
> include/dt-bindings/input/atmel-maxtouch.h | 10 +++++++
> 2 files changed, 39 insertions(+)
> create mode 100644 include/dt-bindings/input/atmel-maxtouch.h
>
> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
> index 8c6418f76e94..e6b03a1e7c30 100644
> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
> @@ -39,6 +39,13 @@ properties:
> (active low). The line must be flagged with
> GPIO_ACTIVE_LOW.
>
> + wake-gpios:
> + maxItems: 1
> + description:
> + Optional GPIO specifier for the touchscreen's wake pin
> + (active low). The line must be flagged with
> + GPIO_ACTIVE_LOW.
> +
> linux,gpio-keymap:
> $ref: /schemas/types.yaml#/definitions/uint32-array
> description: |
> @@ -53,6 +60,26 @@ properties:
> or experiment to determine which bit corresponds to which input. Use
> KEY_RESERVED for unused padding values.
>
> + atmel,wakeup-method:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + The WAKE line is an active-low input that is used to wake up the touch
> + controller from deep-sleep mode before communication with the controller
> + could be started. This optional feature used to minimize current
> + consumption when the controller is in deep sleep mode. This feature is
> + relevant only to some controller families, like mXT1386 controller for
> + example.
> +
> + The WAKE pin can be connected in one of the following ways:
> + 1) left permanently low
> + 2) connected to the I2C-compatible SCL pin
> + 3) connected to a GPIO pin on the host
> + enum:
> + - 0 # ATMEL_MXT_WAKEUP_NONE
> + - 1 # ATMEL_MXT_WAKEUP_I2C_SCL
> + - 2 # ATMEL_MXT_WAKEUP_GPIO
> + default: 0
> +
> required:
> - compatible
> - reg
> @@ -63,6 +90,7 @@ additionalProperties: false
> examples:
> - |
> #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/input/atmel-maxtouch.h>
> #include <dt-bindings/gpio/gpio.h>
> i2c {
> #address-cells = <1>;
> @@ -75,6 +103,7 @@ examples:
> reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
> vdda-supply = <&ab8500_ldo_aux2_reg>;
> vdd-supply = <&ab8500_ldo_aux5_reg>;
> + atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
> };
> };
>
> diff --git a/include/dt-bindings/input/atmel-maxtouch.h b/include/dt-bindings/input/atmel-maxtouch.h
> new file mode 100644
> index 000000000000..7345ab32224d
> --- /dev/null
> +++ b/include/dt-bindings/input/atmel-maxtouch.h
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +
> +#ifndef _DT_BINDINGS_ATMEL_MAXTOUCH_H
> +#define _DT_BINDINGS_ATMEL_MAXTOUCH_H
> +
> +#define ATMEL_MXT_WAKEUP_NONE 0
> +#define ATMEL_MXT_WAKEUP_I2C_SCL 1
> +#define ATMEL_MXT_WAKEUP_GPIO 2
> +
> +#endif /* _DT_BINDINGS_ATMEL_MAXTOUCH_H */
> --
> 2.29.2
>