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