blob: 037e5d3c447f8a0d0c4585d2a9f2a5a3805ceca6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/touchscreen/cypress,tt21000.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Cypress TT21000 touchscreen controller
8
9description: The Cypress TT21000 series (also known as "CYTTSP5" after
10 the marketing name Cypress TrueTouch Standard Product series 5).
11
12maintainers:
13 - Alistair Francis <alistair@alistair23.me>
14
15allOf:
16 - $ref: touchscreen.yaml#
17
18properties:
19 compatible:
20 const: cypress,tt21000
21
22 reg:
23 maxItems: 1
24
25 '#address-cells':
26 const: 1
27
28 '#size-cells':
29 const: 0
30
31 interrupts:
32 maxItems: 1
33
34 vdd-supply:
35 description: Regulator for voltage.
36
37 vddio-supply:
38 description: Optional Regulator for I/O voltage.
39
40 reset-gpios:
41 maxItems: 1
42
43 linux,keycodes:
44 description: EV_ABS specific event code generated by the axis.
45
46 wakeup-source: true
47
48patternProperties:
49 "^button@[0-9]+$":
50 type: object
51 $ref: ../input.yaml#
52 properties:
53 reg:
54 maxItems: 1
55 linux,keycodes:
56 description: Keycode to emit
57
58 required:
59 - reg
60 - linux,keycodes
61
62 additionalProperties: false
63
64required:
65 - compatible
66 - reg
67 - interrupts
68 - vdd-supply
69
70unevaluatedProperties: false
71
72examples:
73 - |
74 #include <dt-bindings/interrupt-controller/irq.h>
75 #include <dt-bindings/gpio/gpio.h>
76 #include <dt-bindings/input/linux-event-codes.h>
77
78 i2c {
79 #address-cells = <1>;
80 #size-cells = <0>;
81
82 touchscreen@24 {
83 #address-cells = <1>;
84 #size-cells = <0>;
85
86 compatible = "cypress,tt21000";
87 reg = <0x24>;
88 pinctrl-names = "default";
89 pinctrl-0 = <&tp_reset_ds203>;
90 interrupt-parent = <&pio>;
91 interrupts = <1 5 IRQ_TYPE_LEVEL_LOW>;
92 reset-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>;
93 vdd-supply = <&reg_touch>;
94
95 button@0 {
96 reg = <0>;
97 linux,keycodes = <KEY_HOMEPAGE>;
98 };
99
100 button@1 {
101 reg = <1>;
102 linux,keycodes = <KEY_MENU>;
103 };
104
105 button@2 {
106 reg = <2>;
107 linux,keycodes = <KEY_BACK>;
108 };
109 };
110 };
111...