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: Device tree bindings for 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,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 70patternProperties: 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 91allOf: 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 103required: 104 - compatible 105 - interrupts 106 107additionalProperties: false 108 109examples: 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 }; 150