blob: 5b5d4f7d34827a12550df3d1480474b69caece2e [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/microchip,cap11xx.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip CAP11xx based capacitive touch sensors
8
9description: |
10 The Microchip CAP1xxx Family of RightTouchTM multiple-channel capacitive
11 touch controllers and LED drivers. The device communication via I2C only.
12
13maintainers:
14 - Rob Herring <robh@kernel.org>
15
16properties:
17 compatible:
18 enum:
19 - microchip,cap1106
20 - microchip,cap1126
21 - microchip,cap1188
22 - microchip,cap1203
23 - microchip,cap1206
24 - microchip,cap1293
25 - microchip,cap1298
26
27 reg:
28 maxItems: 1
29
30 '#address-cells':
31 const: 1
32
33 '#size-cells':
34 const: 0
35
36 interrupts:
37 maxItems: 1
38 description: |
39 Property describing the interrupt line the
40 device's ALERT#/CM_IRQ# pin is connected to.
41 The device only has one interrupt source.
42
43 autorepeat:
44 description: |
45 Enables the Linux input system's autorepeat feature on the input device.
46
47 linux,keycodes:
48 minItems: 6
49 maxItems: 6
50 description: |
51 Specifies an array of numeric keycode values to
52 be used for the channels. If this property is
53 omitted, KEY_A, KEY_B, etc are used as defaults.
54 The array must have exactly six entries.
55
56 microchip,sensor-gain:
57 $ref: /schemas/types.yaml#/definitions/uint32
58 default: 1
59 enum: [1, 2, 4, 8]
60 description: |
61 Defines the gain of the sensor circuitry. This
62 effectively controls the sensitivity, as a
63 smaller delta capacitance is required to
64 generate the same delta count values.
65
66 microchip,irq-active-high:
67 type: boolean
68 description: |
69 By default the interrupt pin is active low
70 open drain. This property allows using the active
71 high push-pull output.
72
73patternProperties:
74 "^led@[0-7]$":
75 type: object
76 description: CAP11xx LEDs
77 $ref: /schemas/leds/common.yaml#
78
79 properties:
80 reg:
81 enum: [0, 1, 2, 3, 4, 5, 6, 7]
82
83 label: true
84
85 linux,default-trigger: true
86
87 default-state: true
88
89 required:
90 - reg
91
92 additionalProperties: false
93
94allOf:
95 - $ref: input.yaml
96 - if:
97 properties:
98 compatible:
99 contains:
100 enum:
101 - microchip,cap1106
102 then:
103 patternProperties:
104 "^led@[0-7]$": false
105
106required:
107 - compatible
108 - interrupts
109
110additionalProperties: false
111
112examples:
113 - |
114 i2c {
115 #address-cells = <1>;
116 #size-cells = <0>;
117
118 touch@28 {
119 compatible = "microchip,cap1188";
120 interrupt-parent = <&gpio1>;
121 interrupts = <0 0>;
122 reg = <0x28>;
123 autorepeat;
124 microchip,sensor-gain = <2>;
125
126 linux,keycodes = <103>, /* KEY_UP */
127 <106>, /* KEY_RIGHT */
128 <108>, /* KEY_DOWN */
129 <105>, /* KEY_LEFT */
130 <109>, /* KEY_PAGEDOWN */
131 <104>; /* KEY_PAGEUP */
132
133 #address-cells = <1>;
134 #size-cells = <0>;
135
136 led@0 {
137 label = "cap11xx:green:usr0";
138 reg = <0>;
139 };
140
141 led@1 {
142 label = "cap11xx:green:usr1";
143 reg = <1>;
144 };
145
146 led@2 {
147 label = "cap11xx:green:alive";
148 reg = <2>;
149 linux,default-trigger = "heartbeat";
150 };
151 };
152 };