~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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: 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,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: 3
 49     maxItems: 8
 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 number of entries must correspond to the number of channels.
 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 
 73   microchip,sensitivity-delta-sense:
 74     $ref: /schemas/types.yaml#/definitions/uint32
 75     default: 32
 76     enum: [1, 2, 4, 8, 16, 32, 64, 128]
 77     description:
 78       Controls the sensitivity multiplier of a touch detection.
 79       Higher value means more sensitive settings.
 80       At the more sensitive settings, touches are detected for a smaller delta
 81       capacitance corresponding to a "lighter" touch.
 82 
 83   microchip,signal-guard:
 84     $ref: /schemas/types.yaml#/definitions/uint32-array
 85     minItems: 3
 86     maxItems: 8
 87     items:
 88       enum: [0, 1]
 89     description: |
 90       0 - off
 91       1 - on
 92       The signal guard isolates the signal from virtual grounds.
 93       If enabled then the behavior of the channel is changed to signal guard.
 94       The number of entries must correspond to the number of channels.
 95 
 96   microchip,input-threshold:
 97     $ref: /schemas/types.yaml#/definitions/uint32-array
 98     minItems: 3
 99     maxItems: 8
100     items:
101       minimum: 0
102       maximum: 127
103     description:
104       Specifies the delta threshold that is used to determine if a touch has
105       been detected. A higher value means a larger difference in capacitance
106       is required for a touch to be registered, making the touch sensor less
107       sensitive.
108       The number of entries must correspond to the number of channels.
109 
110   microchip,calib-sensitivity:
111     $ref: /schemas/types.yaml#/definitions/uint32-array
112     minItems: 3
113     maxItems: 8
114     items:
115       enum: [1, 2, 4]
116     description: |
117       Specifies an array of numeric values that controls the gain
118       used by the calibration routine to enable sensor inputs
119       to be more sensitive for proximity detection.
120       Gain is based on touch pad capacitance range
121       1 - 5-50pF
122       2 - 0-25pF
123       4 - 0-12.5pF
124       The number of entries must correspond to the number of channels.
125 
126 patternProperties:
127   "^led@[0-7]$":
128     type: object
129     description: CAP11xx LEDs
130     $ref: /schemas/leds/common.yaml#
131 
132     properties:
133       reg:
134         enum: [0, 1, 2, 3, 4, 5, 6, 7]
135 
136       label: true
137 
138       linux,default-trigger: true
139 
140       default-state: true
141 
142     required:
143       - reg
144 
145     additionalProperties: false
146 
147 allOf:
148   - $ref: input.yaml
149   - if:
150       properties:
151         compatible:
152           contains:
153             enum:
154               - microchip,cap1106
155               - microchip,cap1203
156               - microchip,cap1206
157               - microchip,cap1293
158               - microchip,cap1298
159     then:
160       patternProperties:
161         "^led@[0-7]$": false
162 
163   - if:
164       properties:
165         compatible:
166           contains:
167             enum:
168               - microchip,cap1106
169               - microchip,cap1126
170               - microchip,cap1188
171               - microchip,cap1203
172               - microchip,cap1206
173     then:
174       properties:
175         microchip,signal-guard: false
176         microchip,calib-sensitivity: false
177 
178 required:
179   - compatible
180   - interrupts
181 
182 additionalProperties: false
183 
184 examples:
185   - |
186     i2c {
187       #address-cells = <1>;
188       #size-cells = <0>;
189 
190       touch@28 {
191         compatible = "microchip,cap1188";
192         interrupt-parent = <&gpio1>;
193         interrupts = <0 0>;
194         reg = <0x28>;
195         autorepeat;
196         microchip,sensor-gain = <2>;
197         microchip,sensitivity-delta-sense = <16>;
198         microchip,input-threshold = <21>, <18>, <46>, <46>, <46>, <21>;
199 
200         linux,keycodes = <103>, /* KEY_UP */
201                          <106>, /* KEY_RIGHT */
202                          <108>, /* KEY_DOWN */
203                          <105>, /* KEY_LEFT */
204                          <109>, /* KEY_PAGEDOWN */
205                          <104>; /* KEY_PAGEUP */
206 
207         #address-cells = <1>;
208         #size-cells = <0>;
209 
210         led@0 {
211                 label = "cap11xx:green:usr0";
212                 reg = <0>;
213         };
214 
215         led@1 {
216                 label = "cap11xx:green:usr1";
217                 reg = <1>;
218         };
219 
220         led@2 {
221                 label = "cap11xx:green:alive";
222                 reg = <2>;
223                 linux,default-trigger = "heartbeat";
224         };
225       };
226     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php