15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Atmel maXTouch touchscreen/touchpad
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Nick Dyer <nick@shmanahar.org>
115def4c47SEmmanuel Vadot  - Linus Walleij <linus.walleij@linaro.org>
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel Vadotdescription: |
145def4c47SEmmanuel Vadot  Atmel maXTouch touchscreen or touchpads such as the mXT244
155def4c47SEmmanuel Vadot  and similar devices.
165def4c47SEmmanuel Vadot
17*f126890aSEmmanuel VadotallOf:
18*f126890aSEmmanuel Vadot  - $ref: input.yaml#
19*f126890aSEmmanuel Vadot
205def4c47SEmmanuel Vadotproperties:
215def4c47SEmmanuel Vadot  compatible:
225def4c47SEmmanuel Vadot    const: atmel,maxtouch
235def4c47SEmmanuel Vadot
245def4c47SEmmanuel Vadot  reg:
255def4c47SEmmanuel Vadot    maxItems: 1
265def4c47SEmmanuel Vadot
275def4c47SEmmanuel Vadot  interrupts:
285def4c47SEmmanuel Vadot    maxItems: 1
295def4c47SEmmanuel Vadot
305def4c47SEmmanuel Vadot  vdda-supply:
315def4c47SEmmanuel Vadot    description:
325def4c47SEmmanuel Vadot      Optional regulator for the AVDD analog voltage.
335def4c47SEmmanuel Vadot
345def4c47SEmmanuel Vadot  vdd-supply:
355def4c47SEmmanuel Vadot    description:
365def4c47SEmmanuel Vadot      Optional regulator for the VDD digital voltage.
375def4c47SEmmanuel Vadot
385def4c47SEmmanuel Vadot  reset-gpios:
395def4c47SEmmanuel Vadot    maxItems: 1
405def4c47SEmmanuel Vadot    description:
415def4c47SEmmanuel Vadot      Optional GPIO specifier for the touchscreen's reset pin
425def4c47SEmmanuel Vadot      (active low). The line must be flagged with
435def4c47SEmmanuel Vadot      GPIO_ACTIVE_LOW.
445def4c47SEmmanuel Vadot
452eb4d8dcSEmmanuel Vadot  wake-gpios:
462eb4d8dcSEmmanuel Vadot    maxItems: 1
472eb4d8dcSEmmanuel Vadot    description:
482eb4d8dcSEmmanuel Vadot      Optional GPIO specifier for the touchscreen's wake pin
492eb4d8dcSEmmanuel Vadot      (active low). The line must be flagged with
502eb4d8dcSEmmanuel Vadot      GPIO_ACTIVE_LOW.
512eb4d8dcSEmmanuel Vadot
525def4c47SEmmanuel Vadot  linux,gpio-keymap:
535def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
545def4c47SEmmanuel Vadot    description: |
555def4c47SEmmanuel Vadot      When enabled, the SPT_GPIOPWN_T19 object sends messages
565def4c47SEmmanuel Vadot      on GPIO bit changes. An array of up to 8 entries can be provided
575def4c47SEmmanuel Vadot      indicating the Linux keycode mapped to each bit of the status byte,
585def4c47SEmmanuel Vadot      starting at the LSB. Linux keycodes are defined in
595def4c47SEmmanuel Vadot      <dt-bindings/input/input.h>.
605def4c47SEmmanuel Vadot
615def4c47SEmmanuel Vadot      Note: the numbering of the GPIOs and the bit they start at varies
625def4c47SEmmanuel Vadot      between maXTouch devices. You must either refer to the documentation,
635def4c47SEmmanuel Vadot      or experiment to determine which bit corresponds to which input. Use
645def4c47SEmmanuel Vadot      KEY_RESERVED for unused padding values.
655def4c47SEmmanuel Vadot
66*f126890aSEmmanuel Vadot  linux,keycodes:
67*f126890aSEmmanuel Vadot    minItems: 1
68*f126890aSEmmanuel Vadot    maxItems: 8
69*f126890aSEmmanuel Vadot
702eb4d8dcSEmmanuel Vadot  atmel,wakeup-method:
712eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
722eb4d8dcSEmmanuel Vadot    description: |
732eb4d8dcSEmmanuel Vadot      The WAKE line is an active-low input that is used to wake up the touch
742eb4d8dcSEmmanuel Vadot      controller from deep-sleep mode before communication with the controller
752eb4d8dcSEmmanuel Vadot      could be started. This optional feature used to minimize current
762eb4d8dcSEmmanuel Vadot      consumption when the controller is in deep sleep mode. This feature is
772eb4d8dcSEmmanuel Vadot      relevant only to some controller families, like mXT1386 controller for
782eb4d8dcSEmmanuel Vadot      example.
792eb4d8dcSEmmanuel Vadot
802eb4d8dcSEmmanuel Vadot      The WAKE pin can be connected in one of the following ways:
812eb4d8dcSEmmanuel Vadot       1) left permanently low
822eb4d8dcSEmmanuel Vadot       2) connected to the I2C-compatible SCL pin
832eb4d8dcSEmmanuel Vadot       3) connected to a GPIO pin on the host
842eb4d8dcSEmmanuel Vadot    enum:
852eb4d8dcSEmmanuel Vadot      - 0 # ATMEL_MXT_WAKEUP_NONE
862eb4d8dcSEmmanuel Vadot      - 1 # ATMEL_MXT_WAKEUP_I2C_SCL
872eb4d8dcSEmmanuel Vadot      - 2 # ATMEL_MXT_WAKEUP_GPIO
882eb4d8dcSEmmanuel Vadot    default: 0
892eb4d8dcSEmmanuel Vadot
902eb4d8dcSEmmanuel Vadot  wakeup-source:
912eb4d8dcSEmmanuel Vadot    type: boolean
922eb4d8dcSEmmanuel Vadot
935def4c47SEmmanuel Vadotrequired:
945def4c47SEmmanuel Vadot  - compatible
955def4c47SEmmanuel Vadot  - reg
965def4c47SEmmanuel Vadot  - interrupts
975def4c47SEmmanuel Vadot
985def4c47SEmmanuel VadotadditionalProperties: false
995def4c47SEmmanuel Vadot
1005def4c47SEmmanuel Vadotexamples:
1015def4c47SEmmanuel Vadot  - |
1025def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1032eb4d8dcSEmmanuel Vadot    #include <dt-bindings/input/atmel-maxtouch.h>
1045def4c47SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
1055def4c47SEmmanuel Vadot    i2c {
1065def4c47SEmmanuel Vadot      #address-cells = <1>;
1075def4c47SEmmanuel Vadot      #size-cells = <0>;
1085def4c47SEmmanuel Vadot      touchscreen@4a {
1095def4c47SEmmanuel Vadot        compatible = "atmel,maxtouch";
1105def4c47SEmmanuel Vadot        reg = <0x4a>;
1115def4c47SEmmanuel Vadot        interrupt-parent = <&gpio>;
1125def4c47SEmmanuel Vadot        interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
1135def4c47SEmmanuel Vadot        reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
1145def4c47SEmmanuel Vadot        vdda-supply = <&ab8500_ldo_aux2_reg>;
1155def4c47SEmmanuel Vadot        vdd-supply = <&ab8500_ldo_aux5_reg>;
1162eb4d8dcSEmmanuel Vadot        atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
1175def4c47SEmmanuel Vadot      };
1185def4c47SEmmanuel Vadot    };
1195def4c47SEmmanuel Vadot
1205def4c47SEmmanuel Vadot...
121