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 (mailing list archive)
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
>
Dmitry Osipenko Dec. 10, 2020, 9:57 a.m. UTC | #2
10.12.2020 06:44, Rob Herring пишет:
> 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?

The "wake-gpios" is the new property and it has "maxItems: 1", hence the
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 */