diff mbox series

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

Message ID 20201206212217.6857-2-digetx@gmail.com
State Superseded
Headers show
Series Support wakeup methods of Atmel maXTouch controllers | expand

Commit Message

Dmitry Osipenko Dec. 6, 2020, 9:22 p.m. UTC
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.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 .../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

Comments

Rob Herring Dec. 10, 2020, 3:44 a.m. UTC | #1
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@linaro.org>

> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>

> ---

>  .../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

>
diff mbox series

Patch

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 */