162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Atmel maXTouch touchscreen/touchpad 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Nick Dyer <nick@shmanahar.org> 1162306a36Sopenharmony_ci - Linus Walleij <linus.walleij@linaro.org> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: | 1462306a36Sopenharmony_ci Atmel maXTouch touchscreen or touchpads such as the mXT244 1562306a36Sopenharmony_ci and similar devices. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciallOf: 1862306a36Sopenharmony_ci - $ref: input.yaml# 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciproperties: 2162306a36Sopenharmony_ci compatible: 2262306a36Sopenharmony_ci const: atmel,maxtouch 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci reg: 2562306a36Sopenharmony_ci maxItems: 1 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci interrupts: 2862306a36Sopenharmony_ci maxItems: 1 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci vdda-supply: 3162306a36Sopenharmony_ci description: 3262306a36Sopenharmony_ci Optional regulator for the AVDD analog voltage. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci vdd-supply: 3562306a36Sopenharmony_ci description: 3662306a36Sopenharmony_ci Optional regulator for the VDD digital voltage. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci reset-gpios: 3962306a36Sopenharmony_ci maxItems: 1 4062306a36Sopenharmony_ci description: 4162306a36Sopenharmony_ci Optional GPIO specifier for the touchscreen's reset pin 4262306a36Sopenharmony_ci (active low). The line must be flagged with 4362306a36Sopenharmony_ci GPIO_ACTIVE_LOW. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci wake-gpios: 4662306a36Sopenharmony_ci maxItems: 1 4762306a36Sopenharmony_ci description: 4862306a36Sopenharmony_ci Optional GPIO specifier for the touchscreen's wake pin 4962306a36Sopenharmony_ci (active low). The line must be flagged with 5062306a36Sopenharmony_ci GPIO_ACTIVE_LOW. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci linux,gpio-keymap: 5362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 5462306a36Sopenharmony_ci description: | 5562306a36Sopenharmony_ci When enabled, the SPT_GPIOPWN_T19 object sends messages 5662306a36Sopenharmony_ci on GPIO bit changes. An array of up to 8 entries can be provided 5762306a36Sopenharmony_ci indicating the Linux keycode mapped to each bit of the status byte, 5862306a36Sopenharmony_ci starting at the LSB. Linux keycodes are defined in 5962306a36Sopenharmony_ci <dt-bindings/input/input.h>. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci Note: the numbering of the GPIOs and the bit they start at varies 6262306a36Sopenharmony_ci between maXTouch devices. You must either refer to the documentation, 6362306a36Sopenharmony_ci or experiment to determine which bit corresponds to which input. Use 6462306a36Sopenharmony_ci KEY_RESERVED for unused padding values. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci linux,keycodes: 6762306a36Sopenharmony_ci minItems: 1 6862306a36Sopenharmony_ci maxItems: 8 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci atmel,wakeup-method: 7162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7262306a36Sopenharmony_ci description: | 7362306a36Sopenharmony_ci The WAKE line is an active-low input that is used to wake up the touch 7462306a36Sopenharmony_ci controller from deep-sleep mode before communication with the controller 7562306a36Sopenharmony_ci could be started. This optional feature used to minimize current 7662306a36Sopenharmony_ci consumption when the controller is in deep sleep mode. This feature is 7762306a36Sopenharmony_ci relevant only to some controller families, like mXT1386 controller for 7862306a36Sopenharmony_ci example. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci The WAKE pin can be connected in one of the following ways: 8162306a36Sopenharmony_ci 1) left permanently low 8262306a36Sopenharmony_ci 2) connected to the I2C-compatible SCL pin 8362306a36Sopenharmony_ci 3) connected to a GPIO pin on the host 8462306a36Sopenharmony_ci enum: 8562306a36Sopenharmony_ci - 0 # ATMEL_MXT_WAKEUP_NONE 8662306a36Sopenharmony_ci - 1 # ATMEL_MXT_WAKEUP_I2C_SCL 8762306a36Sopenharmony_ci - 2 # ATMEL_MXT_WAKEUP_GPIO 8862306a36Sopenharmony_ci default: 0 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci wakeup-source: 9162306a36Sopenharmony_ci type: boolean 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_cirequired: 9462306a36Sopenharmony_ci - compatible 9562306a36Sopenharmony_ci - reg 9662306a36Sopenharmony_ci - interrupts 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciadditionalProperties: false 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciexamples: 10162306a36Sopenharmony_ci - | 10262306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 10362306a36Sopenharmony_ci #include <dt-bindings/input/atmel-maxtouch.h> 10462306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 10562306a36Sopenharmony_ci i2c { 10662306a36Sopenharmony_ci #address-cells = <1>; 10762306a36Sopenharmony_ci #size-cells = <0>; 10862306a36Sopenharmony_ci touchscreen@4a { 10962306a36Sopenharmony_ci compatible = "atmel,maxtouch"; 11062306a36Sopenharmony_ci reg = <0x4a>; 11162306a36Sopenharmony_ci interrupt-parent = <&gpio>; 11262306a36Sopenharmony_ci interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 11362306a36Sopenharmony_ci reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>; 11462306a36Sopenharmony_ci vdda-supply = <&ab8500_ldo_aux2_reg>; 11562306a36Sopenharmony_ci vdd-supply = <&ab8500_ldo_aux5_reg>; 11662306a36Sopenharmony_ci atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci }; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci... 121