Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 <linusw@kernel.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...