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