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