1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Atmel maXTouch touchscreen/touchpad 8 9maintainers: 10 - Nick Dyer <nick@shmanahar.org> 11 - Linus Walleij <linus.walleij@linaro.org> 12 13description: | 14 Atmel maXTouch touchscreen or touchpads such as the mXT244 15 and similar devices. 16 17allOf: 18 - $ref: input.yaml# 19 - $ref: touchscreen/touchscreen.yaml# 20 21properties: 22 compatible: 23 const: atmel,maxtouch 24 25 reg: 26 maxItems: 1 27 28 interrupts: 29 maxItems: 1 30 31 vdda-supply: 32 description: 33 Optional regulator for the AVDD analog voltage. 34 35 vdd-supply: 36 description: 37 Optional regulator for the VDD digital voltage. 38 39 reset-gpios: 40 maxItems: 1 41 description: 42 Optional GPIO specifier for the touchscreen's reset pin 43 (active low). The line must be flagged with 44 GPIO_ACTIVE_LOW. 45 46 wake-gpios: 47 maxItems: 1 48 description: 49 Optional GPIO specifier for the touchscreen's wake pin 50 (active low). The line must be flagged with 51 GPIO_ACTIVE_LOW. 52 53 linux,gpio-keymap: 54 $ref: /schemas/types.yaml#/definitions/uint32-array 55 description: | 56 When enabled, the SPT_GPIOPWN_T19 object sends messages 57 on GPIO bit changes. An array of up to 8 entries can be provided 58 indicating the Linux keycode mapped to each bit of the status byte, 59 starting at the LSB. Linux keycodes are defined in 60 <dt-bindings/input/input.h>. 61 62 Note: the numbering of the GPIOs and the bit they start at varies 63 between maXTouch devices. You must either refer to the documentation, 64 or experiment to determine which bit corresponds to which input. Use 65 KEY_RESERVED for unused padding values. 66 67 linux,keycodes: 68 minItems: 1 69 maxItems: 8 70 71 atmel,wakeup-method: 72 $ref: /schemas/types.yaml#/definitions/uint32 73 description: | 74 The WAKE line is an active-low input that is used to wake up the touch 75 controller from deep-sleep mode before communication with the controller 76 could be started. This optional feature used to minimize current 77 consumption when the controller is in deep sleep mode. This feature is 78 relevant only to some controller families, like mXT1386 controller for 79 example. 80 81 The WAKE pin can be connected in one of the following ways: 82 1) left permanently low 83 2) connected to the I2C-compatible SCL pin 84 3) connected to a GPIO pin on the host 85 enum: 86 - 0 # ATMEL_MXT_WAKEUP_NONE 87 - 1 # ATMEL_MXT_WAKEUP_I2C_SCL 88 - 2 # ATMEL_MXT_WAKEUP_GPIO 89 default: 0 90 91 wakeup-source: 92 type: boolean 93 94required: 95 - compatible 96 - reg 97 - interrupts 98 99unevaluatedProperties: false 100 101examples: 102 - | 103 #include <dt-bindings/interrupt-controller/irq.h> 104 #include <dt-bindings/input/atmel-maxtouch.h> 105 #include <dt-bindings/gpio/gpio.h> 106 i2c { 107 #address-cells = <1>; 108 #size-cells = <0>; 109 touchscreen@4a { 110 compatible = "atmel,maxtouch"; 111 reg = <0x4a>; 112 interrupt-parent = <&gpio>; 113 interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 114 reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>; 115 vdda-supply = <&ab8500_ldo_aux2_reg>; 116 vdd-supply = <&ab8500_ldo_aux5_reg>; 117 atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>; 118 }; 119 }; 120 121... 122