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 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 }; 153