104f1842aSLinus Walleij# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 204f1842aSLinus Walleij%YAML 1.2 304f1842aSLinus Walleij--- 404f1842aSLinus Walleij$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml# 504f1842aSLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 604f1842aSLinus Walleij 704f1842aSLinus Walleijtitle: Atmel maXTouch touchscreen/touchpad 804f1842aSLinus Walleij 904f1842aSLinus Walleijmaintainers: 1004f1842aSLinus Walleij - Nick Dyer <nick@shmanahar.org> 1104f1842aSLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 1204f1842aSLinus Walleij 1304f1842aSLinus Walleijdescription: | 1404f1842aSLinus Walleij Atmel maXTouch touchscreen or touchpads such as the mXT244 1504f1842aSLinus Walleij and similar devices. 1604f1842aSLinus Walleij 17*272a2618SAndré ApitzschallOf: 18*272a2618SAndré Apitzsch - $ref: input.yaml# 19*272a2618SAndré Apitzsch 2004f1842aSLinus Walleijproperties: 2104f1842aSLinus Walleij compatible: 2204f1842aSLinus Walleij const: atmel,maxtouch 2304f1842aSLinus Walleij 2404f1842aSLinus Walleij reg: 2504f1842aSLinus Walleij maxItems: 1 2604f1842aSLinus Walleij 2704f1842aSLinus Walleij interrupts: 2804f1842aSLinus Walleij maxItems: 1 2904f1842aSLinus Walleij 3004f1842aSLinus Walleij vdda-supply: 3104f1842aSLinus Walleij description: 3204f1842aSLinus Walleij Optional regulator for the AVDD analog voltage. 3304f1842aSLinus Walleij 3404f1842aSLinus Walleij vdd-supply: 3504f1842aSLinus Walleij description: 3604f1842aSLinus Walleij Optional regulator for the VDD digital voltage. 3704f1842aSLinus Walleij 3804f1842aSLinus Walleij reset-gpios: 3904f1842aSLinus Walleij maxItems: 1 4004f1842aSLinus Walleij description: 4104f1842aSLinus Walleij Optional GPIO specifier for the touchscreen's reset pin 4204f1842aSLinus Walleij (active low). The line must be flagged with 4304f1842aSLinus Walleij GPIO_ACTIVE_LOW. 4404f1842aSLinus Walleij 45ae4c86a0SDmitry Osipenko wake-gpios: 46ae4c86a0SDmitry Osipenko maxItems: 1 47ae4c86a0SDmitry Osipenko description: 48ae4c86a0SDmitry Osipenko Optional GPIO specifier for the touchscreen's wake pin 49ae4c86a0SDmitry Osipenko (active low). The line must be flagged with 50ae4c86a0SDmitry Osipenko GPIO_ACTIVE_LOW. 51ae4c86a0SDmitry Osipenko 5204f1842aSLinus Walleij linux,gpio-keymap: 5304f1842aSLinus Walleij $ref: /schemas/types.yaml#/definitions/uint32-array 5404f1842aSLinus Walleij description: | 5504f1842aSLinus Walleij When enabled, the SPT_GPIOPWN_T19 object sends messages 5604f1842aSLinus Walleij on GPIO bit changes. An array of up to 8 entries can be provided 5704f1842aSLinus Walleij indicating the Linux keycode mapped to each bit of the status byte, 5804f1842aSLinus Walleij starting at the LSB. Linux keycodes are defined in 5904f1842aSLinus Walleij <dt-bindings/input/input.h>. 6004f1842aSLinus Walleij 6104f1842aSLinus Walleij Note: the numbering of the GPIOs and the bit they start at varies 6204f1842aSLinus Walleij between maXTouch devices. You must either refer to the documentation, 6304f1842aSLinus Walleij or experiment to determine which bit corresponds to which input. Use 6404f1842aSLinus Walleij KEY_RESERVED for unused padding values. 6504f1842aSLinus Walleij 66*272a2618SAndré Apitzsch linux,keycodes: 67*272a2618SAndré Apitzsch minItems: 1 68*272a2618SAndré Apitzsch maxItems: 8 69*272a2618SAndré Apitzsch 70ae4c86a0SDmitry Osipenko atmel,wakeup-method: 71ae4c86a0SDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 72ae4c86a0SDmitry Osipenko description: | 73ae4c86a0SDmitry Osipenko The WAKE line is an active-low input that is used to wake up the touch 74ae4c86a0SDmitry Osipenko controller from deep-sleep mode before communication with the controller 75ae4c86a0SDmitry Osipenko could be started. This optional feature used to minimize current 76ae4c86a0SDmitry Osipenko consumption when the controller is in deep sleep mode. This feature is 77ae4c86a0SDmitry Osipenko relevant only to some controller families, like mXT1386 controller for 78ae4c86a0SDmitry Osipenko example. 79ae4c86a0SDmitry Osipenko 80ae4c86a0SDmitry Osipenko The WAKE pin can be connected in one of the following ways: 81ae4c86a0SDmitry Osipenko 1) left permanently low 82ae4c86a0SDmitry Osipenko 2) connected to the I2C-compatible SCL pin 83ae4c86a0SDmitry Osipenko 3) connected to a GPIO pin on the host 84ae4c86a0SDmitry Osipenko enum: 85ae4c86a0SDmitry Osipenko - 0 # ATMEL_MXT_WAKEUP_NONE 86ae4c86a0SDmitry Osipenko - 1 # ATMEL_MXT_WAKEUP_I2C_SCL 87ae4c86a0SDmitry Osipenko - 2 # ATMEL_MXT_WAKEUP_GPIO 88ae4c86a0SDmitry Osipenko default: 0 89ae4c86a0SDmitry Osipenko 905b0e6fd8SKrzysztof Kozlowski wakeup-source: 915b0e6fd8SKrzysztof Kozlowski type: boolean 925b0e6fd8SKrzysztof Kozlowski 9304f1842aSLinus Walleijrequired: 9404f1842aSLinus Walleij - compatible 9504f1842aSLinus Walleij - reg 9604f1842aSLinus Walleij - interrupts 9704f1842aSLinus Walleij 9804f1842aSLinus WalleijadditionalProperties: false 9904f1842aSLinus Walleij 10004f1842aSLinus Walleijexamples: 10104f1842aSLinus Walleij - | 10204f1842aSLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 103ae4c86a0SDmitry Osipenko #include <dt-bindings/input/atmel-maxtouch.h> 10404f1842aSLinus Walleij #include <dt-bindings/gpio/gpio.h> 10504f1842aSLinus Walleij i2c { 10604f1842aSLinus Walleij #address-cells = <1>; 10704f1842aSLinus Walleij #size-cells = <0>; 10804f1842aSLinus Walleij touchscreen@4a { 10904f1842aSLinus Walleij compatible = "atmel,maxtouch"; 11004f1842aSLinus Walleij reg = <0x4a>; 11104f1842aSLinus Walleij interrupt-parent = <&gpio>; 11204f1842aSLinus Walleij interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 11304f1842aSLinus Walleij reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>; 11404f1842aSLinus Walleij vdda-supply = <&ab8500_ldo_aux2_reg>; 11504f1842aSLinus Walleij vdd-supply = <&ab8500_ldo_aux5_reg>; 116ae4c86a0SDmitry Osipenko atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>; 11704f1842aSLinus Walleij }; 11804f1842aSLinus Walleij }; 11904f1842aSLinus Walleij 12004f1842aSLinus Walleij... 121