1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/input/micro !! 4 $id: "http://devicetree.org/schemas/input/microchip,cap11xx.yaml#" 5 $schema: http://devicetree.org/meta-schemas/co !! 5 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 6 7 title: Microchip CAP11xx based capacitive touc !! 7 title: Device tree bindings for Microchip CAP11xx based capacitive touch sensors 8 8 9 description: | 9 description: | 10 The Microchip CAP1xxx Family of RightTouchTM 10 The Microchip CAP1xxx Family of RightTouchTM multiple-channel capacitive 11 touch controllers and LED drivers. The devic 11 touch controllers and LED drivers. The device communication via I2C only. 12 12 13 maintainers: 13 maintainers: 14 - Rob Herring <robh@kernel.org> 14 - Rob Herring <robh@kernel.org> 15 15 16 properties: 16 properties: 17 compatible: 17 compatible: 18 enum: 18 enum: 19 - microchip,cap1106 19 - microchip,cap1106 20 - microchip,cap1126 20 - microchip,cap1126 21 - microchip,cap1188 21 - microchip,cap1188 22 - microchip,cap1203 << 23 - microchip,cap1206 22 - microchip,cap1206 24 - microchip,cap1293 << 25 - microchip,cap1298 << 26 23 27 reg: 24 reg: 28 maxItems: 1 25 maxItems: 1 29 26 30 '#address-cells': 27 '#address-cells': 31 const: 1 28 const: 1 32 29 33 '#size-cells': 30 '#size-cells': 34 const: 0 31 const: 0 35 32 36 interrupts: 33 interrupts: 37 maxItems: 1 34 maxItems: 1 38 description: | 35 description: | 39 Property describing the interrupt line t 36 Property describing the interrupt line the 40 device's ALERT#/CM_IRQ# pin is connected 37 device's ALERT#/CM_IRQ# pin is connected to. 41 The device only has one interrupt source 38 The device only has one interrupt source. 42 39 43 autorepeat: 40 autorepeat: 44 description: | 41 description: | 45 Enables the Linux input system's autorep 42 Enables the Linux input system's autorepeat feature on the input device. 46 43 47 linux,keycodes: 44 linux,keycodes: 48 minItems: 3 !! 45 minItems: 6 49 maxItems: 8 !! 46 maxItems: 6 50 description: | 47 description: | 51 Specifies an array of numeric keycode va 48 Specifies an array of numeric keycode values to 52 be used for the channels. If this proper 49 be used for the channels. If this property is 53 omitted, KEY_A, KEY_B, etc are used as d 50 omitted, KEY_A, KEY_B, etc are used as defaults. 54 The number of entries must correspond to !! 51 The array must have exactly six entries. 55 52 56 microchip,sensor-gain: 53 microchip,sensor-gain: 57 $ref: /schemas/types.yaml#/definitions/uin 54 $ref: /schemas/types.yaml#/definitions/uint32 58 default: 1 55 default: 1 59 enum: [1, 2, 4, 8] 56 enum: [1, 2, 4, 8] 60 description: | 57 description: | 61 Defines the gain of the sensor circuitry 58 Defines the gain of the sensor circuitry. This 62 effectively controls the sensitivity, as 59 effectively controls the sensitivity, as a 63 smaller delta capacitance is required to 60 smaller delta capacitance is required to 64 generate the same delta count values. 61 generate the same delta count values. 65 62 66 microchip,irq-active-high: 63 microchip,irq-active-high: 67 type: boolean 64 type: boolean 68 description: | 65 description: | 69 By default the interrupt pin is active l 66 By default the interrupt pin is active low 70 open drain. This property allows using t 67 open drain. This property allows using the active 71 high push-pull output. 68 high push-pull output. 72 69 73 microchip,sensitivity-delta-sense: << 74 $ref: /schemas/types.yaml#/definitions/uin << 75 default: 32 << 76 enum: [1, 2, 4, 8, 16, 32, 64, 128] << 77 description: << 78 Controls the sensitivity multiplier of a << 79 Higher value means more sensitive settin << 80 At the more sensitive settings, touches << 81 capacitance corresponding to a "lighter" << 82 << 83 microchip,signal-guard: << 84 $ref: /schemas/types.yaml#/definitions/uin << 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 fro << 93 If enabled then the behavior of the chan << 94 The number of entries must correspond to << 95 << 96 microchip,input-threshold: << 97 $ref: /schemas/types.yaml#/definitions/uin << 98 minItems: 3 << 99 maxItems: 8 << 100 items: << 101 minimum: 0 << 102 maximum: 127 << 103 description: << 104 Specifies the delta threshold that is us << 105 been detected. A higher value means a la << 106 is required for a touch to be registered << 107 sensitive. << 108 The number of entries must correspond to << 109 << 110 microchip,calib-sensitivity: << 111 $ref: /schemas/types.yaml#/definitions/uin << 112 minItems: 3 << 113 maxItems: 8 << 114 items: << 115 enum: [1, 2, 4] << 116 description: | << 117 Specifies an array of numeric values tha << 118 used by the calibration routine to enabl << 119 to be more sensitive for proximity detec << 120 Gain is based on touch pad capacitance r << 121 1 - 5-50pF << 122 2 - 0-25pF << 123 4 - 0-12.5pF << 124 The number of entries must correspond to << 125 << 126 patternProperties: 70 patternProperties: 127 "^led@[0-7]$": 71 "^led@[0-7]$": 128 type: object 72 type: object 129 description: CAP11xx LEDs 73 description: CAP11xx LEDs 130 $ref: /schemas/leds/common.yaml# 74 $ref: /schemas/leds/common.yaml# 131 75 132 properties: 76 properties: 133 reg: 77 reg: 134 enum: [0, 1, 2, 3, 4, 5, 6, 7] 78 enum: [0, 1, 2, 3, 4, 5, 6, 7] 135 79 136 label: true 80 label: true 137 81 138 linux,default-trigger: true 82 linux,default-trigger: true 139 83 140 default-state: true 84 default-state: true 141 85 142 required: 86 required: 143 - reg 87 - reg 144 88 145 additionalProperties: false 89 additionalProperties: false 146 90 147 allOf: 91 allOf: 148 - $ref: input.yaml 92 - $ref: input.yaml 149 - if: 93 - if: 150 properties: 94 properties: 151 compatible: 95 compatible: 152 contains: 96 contains: 153 enum: 97 enum: 154 - microchip,cap1106 98 - microchip,cap1106 155 - microchip,cap1203 << 156 - microchip,cap1206 << 157 - microchip,cap1293 << 158 - microchip,cap1298 << 159 then: 99 then: 160 patternProperties: 100 patternProperties: 161 "^led@[0-7]$": false 101 "^led@[0-7]$": false 162 102 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: 103 required: 179 - compatible 104 - compatible 180 - interrupts 105 - interrupts 181 106 182 additionalProperties: false 107 additionalProperties: false 183 108 184 examples: 109 examples: 185 - | 110 - | 186 i2c { 111 i2c { 187 #address-cells = <1>; 112 #address-cells = <1>; 188 #size-cells = <0>; 113 #size-cells = <0>; 189 114 190 touch@28 { !! 115 cap1188@28 { 191 compatible = "microchip,cap1188"; 116 compatible = "microchip,cap1188"; 192 interrupt-parent = <&gpio1>; 117 interrupt-parent = <&gpio1>; 193 interrupts = <0 0>; 118 interrupts = <0 0>; 194 reg = <0x28>; 119 reg = <0x28>; 195 autorepeat; 120 autorepeat; 196 microchip,sensor-gain = <2>; 121 microchip,sensor-gain = <2>; 197 microchip,sensitivity-delta-sense = <1 << 198 microchip,input-threshold = <21>, <18> << 199 122 200 linux,keycodes = <103>, /* KEY_UP */ 123 linux,keycodes = <103>, /* KEY_UP */ 201 <106>, /* KEY_RIGHT * 124 <106>, /* KEY_RIGHT */ 202 <108>, /* KEY_DOWN */ 125 <108>, /* KEY_DOWN */ 203 <105>, /* KEY_LEFT */ 126 <105>, /* KEY_LEFT */ 204 <109>, /* KEY_PAGEDOW 127 <109>, /* KEY_PAGEDOWN */ 205 <104>; /* KEY_PAGEUP 128 <104>; /* KEY_PAGEUP */ 206 129 207 #address-cells = <1>; 130 #address-cells = <1>; 208 #size-cells = <0>; 131 #size-cells = <0>; 209 132 210 led@0 { 133 led@0 { 211 label = "cap11xx:green:usr0"; 134 label = "cap11xx:green:usr0"; 212 reg = <0>; 135 reg = <0>; 213 }; 136 }; 214 137 215 led@1 { 138 led@1 { 216 label = "cap11xx:green:usr1"; 139 label = "cap11xx:green:usr1"; 217 reg = <1>; 140 reg = <1>; 218 }; 141 }; 219 142 220 led@2 { 143 led@2 { 221 label = "cap11xx:green:alive"; 144 label = "cap11xx:green:alive"; 222 reg = <2>; 145 reg = <2>; 223 linux,default-trigger = "heart 146 linux,default-trigger = "heartbeat"; 224 }; 147 }; 225 }; 148 }; 226 }; 149 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.