linuxdebug/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml

150 lines
3.4 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/input/microchip,cap11xx.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: Device tree bindings for Microchip CAP11xx based capacitive touch sensors
description: |
The Microchip CAP1xxx Family of RightTouchTM multiple-channel capacitive
touch controllers and LED drivers. The device communication via I2C only.
maintainers:
- Rob Herring <robh@kernel.org>
properties:
compatible:
enum:
- microchip,cap1106
- microchip,cap1126
- microchip,cap1188
- microchip,cap1206
reg:
maxItems: 1
'#address-cells':
const: 1
'#size-cells':
const: 0
interrupts:
maxItems: 1
description: |
Property describing the interrupt line the
device's ALERT#/CM_IRQ# pin is connected to.
The device only has one interrupt source.
autorepeat:
description: |
Enables the Linux input system's autorepeat feature on the input device.
linux,keycodes:
minItems: 6
maxItems: 6
description: |
Specifies an array of numeric keycode values to
be used for the channels. If this property is
omitted, KEY_A, KEY_B, etc are used as defaults.
The array must have exactly six entries.
microchip,sensor-gain:
$ref: /schemas/types.yaml#/definitions/uint32
default: 1
enum: [1, 2, 4, 8]
description: |
Defines the gain of the sensor circuitry. This
effectively controls the sensitivity, as a
smaller delta capacitance is required to
generate the same delta count values.
microchip,irq-active-high:
type: boolean
description: |
By default the interrupt pin is active low
open drain. This property allows using the active
high push-pull output.
patternProperties:
"^led@[0-7]$":
type: object
description: CAP11xx LEDs
$ref: /schemas/leds/common.yaml#
properties:
reg:
enum: [0, 1, 2, 3, 4, 5, 6, 7]
label: true
linux,default-trigger: true
default-state: true
required:
- reg
additionalProperties: false
allOf:
- $ref: input.yaml
- if:
properties:
compatible:
contains:
enum:
- microchip,cap1106
then:
patternProperties:
"^led@[0-7]$": false
required:
- compatible
- interrupts
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
touch@28 {
compatible = "microchip,cap1188";
interrupt-parent = <&gpio1>;
interrupts = <0 0>;
reg = <0x28>;
autorepeat;
microchip,sensor-gain = <2>;
linux,keycodes = <103>, /* KEY_UP */
<106>, /* KEY_RIGHT */
<108>, /* KEY_DOWN */
<105>, /* KEY_LEFT */
<109>, /* KEY_PAGEDOWN */
<104>; /* KEY_PAGEUP */
#address-cells = <1>;
#size-cells = <0>;
led@0 {
label = "cap11xx:green:usr0";
reg = <0>;
};
led@1 {
label = "cap11xx:green:usr1";
reg = <1>;
};
led@2 {
label = "cap11xx:green:alive";
reg = <2>;
linux,default-trigger = "heartbeat";
};
};
};