121 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Atmel maXTouch touchscreen/touchpad8 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 mXT24415 and similar devices.16 17allOf:18 - $ref: input.yaml#19 20properties:21 compatible:22 const: atmel,maxtouch23 24 reg:25 maxItems: 126 27 interrupts:28 maxItems: 129 30 vdda-supply:31 description:32 Optional regulator for the AVDD analog voltage.33 34 vdd-supply:35 description:36 Optional regulator for the VDD digital voltage.37 38 reset-gpios:39 maxItems: 140 description:41 Optional GPIO specifier for the touchscreen's reset pin42 (active low). The line must be flagged with43 GPIO_ACTIVE_LOW.44 45 wake-gpios:46 maxItems: 147 description:48 Optional GPIO specifier for the touchscreen's wake pin49 (active low). The line must be flagged with50 GPIO_ACTIVE_LOW.51 52 linux,gpio-keymap:53 $ref: /schemas/types.yaml#/definitions/uint32-array54 description: |55 When enabled, the SPT_GPIOPWN_T19 object sends messages56 on GPIO bit changes. An array of up to 8 entries can be provided57 indicating the Linux keycode mapped to each bit of the status byte,58 starting at the LSB. Linux keycodes are defined in59 <dt-bindings/input/input.h>.60 61 Note: the numbering of the GPIOs and the bit they start at varies62 between maXTouch devices. You must either refer to the documentation,63 or experiment to determine which bit corresponds to which input. Use64 KEY_RESERVED for unused padding values.65 66 linux,keycodes:67 minItems: 168 maxItems: 869 70 atmel,wakeup-method:71 $ref: /schemas/types.yaml#/definitions/uint3272 description: |73 The WAKE line is an active-low input that is used to wake up the touch74 controller from deep-sleep mode before communication with the controller75 could be started. This optional feature used to minimize current76 consumption when the controller is in deep sleep mode. This feature is77 relevant only to some controller families, like mXT1386 controller for78 example.79 80 The WAKE pin can be connected in one of the following ways:81 1) left permanently low82 2) connected to the I2C-compatible SCL pin83 3) connected to a GPIO pin on the host84 enum:85 - 0 # ATMEL_MXT_WAKEUP_NONE86 - 1 # ATMEL_MXT_WAKEUP_I2C_SCL87 - 2 # ATMEL_MXT_WAKEUP_GPIO88 default: 089 90 wakeup-source:91 type: boolean92 93required:94 - compatible95 - reg96 - interrupts97 98additionalProperties: false99 100examples:101 - |102 #include <dt-bindings/interrupt-controller/irq.h>103 #include <dt-bindings/input/atmel-maxtouch.h>104 #include <dt-bindings/gpio/gpio.h>105 i2c {106 #address-cells = <1>;107 #size-cells = <0>;108 touchscreen@4a {109 compatible = "atmel,maxtouch";110 reg = <0x4a>;111 interrupt-parent = <&gpio>;112 interrupts = <26 IRQ_TYPE_EDGE_FALLING>;113 reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;114 vdda-supply = <&ab8500_ldo_aux2_reg>;115 vdd-supply = <&ab8500_ldo_aux5_reg>;116 atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;117 };118 };119 120...121