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

From: Dmitry Osipenko
Date: Thu Dec 10 2020 - 04:59:07 EST


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@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
>>