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: 6 49 maxItems: 8 !! 49 maxItems: 6 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 array must have exactly six entries. 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: << 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: 73 patternProperties: 127 "^led@[0-7]$": 74 "^led@[0-7]$": 128 type: object 75 type: object 129 description: CAP11xx LEDs 76 description: CAP11xx LEDs 130 $ref: /schemas/leds/common.yaml# 77 $ref: /schemas/leds/common.yaml# 131 78 132 properties: 79 properties: 133 reg: 80 reg: 134 enum: [0, 1, 2, 3, 4, 5, 6, 7] 81 enum: [0, 1, 2, 3, 4, 5, 6, 7] 135 82 136 label: true 83 label: true 137 84 138 linux,default-trigger: true 85 linux,default-trigger: true 139 86 140 default-state: true 87 default-state: true 141 88 142 required: 89 required: 143 - reg 90 - reg 144 91 145 additionalProperties: false 92 additionalProperties: false 146 93 147 allOf: 94 allOf: 148 - $ref: input.yaml 95 - $ref: input.yaml 149 - if: 96 - if: 150 properties: 97 properties: 151 compatible: 98 compatible: 152 contains: 99 contains: 153 enum: 100 enum: 154 - microchip,cap1106 101 - microchip,cap1106 155 - microchip,cap1203 << 156 - microchip,cap1206 << 157 - microchip,cap1293 << 158 - microchip,cap1298 << 159 then: 102 then: 160 patternProperties: 103 patternProperties: 161 "^led@[0-7]$": false 104 "^led@[0-7]$": false 162 105 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: 106 required: 179 - compatible 107 - compatible 180 - interrupts 108 - interrupts 181 109 182 additionalProperties: false 110 additionalProperties: false 183 111 184 examples: 112 examples: 185 - | 113 - | 186 i2c { 114 i2c { 187 #address-cells = <1>; 115 #address-cells = <1>; 188 #size-cells = <0>; 116 #size-cells = <0>; 189 117 190 touch@28 { 118 touch@28 { 191 compatible = "microchip,cap1188"; 119 compatible = "microchip,cap1188"; 192 interrupt-parent = <&gpio1>; 120 interrupt-parent = <&gpio1>; 193 interrupts = <0 0>; 121 interrupts = <0 0>; 194 reg = <0x28>; 122 reg = <0x28>; 195 autorepeat; 123 autorepeat; 196 microchip,sensor-gain = <2>; 124 microchip,sensor-gain = <2>; 197 microchip,sensitivity-delta-sense = <1 << 198 microchip,input-threshold = <21>, <18> << 199 125 200 linux,keycodes = <103>, /* KEY_UP */ 126 linux,keycodes = <103>, /* KEY_UP */ 201 <106>, /* KEY_RIGHT * 127 <106>, /* KEY_RIGHT */ 202 <108>, /* KEY_DOWN */ 128 <108>, /* KEY_DOWN */ 203 <105>, /* KEY_LEFT */ 129 <105>, /* KEY_LEFT */ 204 <109>, /* KEY_PAGEDOW 130 <109>, /* KEY_PAGEDOWN */ 205 <104>; /* KEY_PAGEUP 131 <104>; /* KEY_PAGEUP */ 206 132 207 #address-cells = <1>; 133 #address-cells = <1>; 208 #size-cells = <0>; 134 #size-cells = <0>; 209 135 210 led@0 { 136 led@0 { 211 label = "cap11xx:green:usr0"; 137 label = "cap11xx:green:usr0"; 212 reg = <0>; 138 reg = <0>; 213 }; 139 }; 214 140 215 led@1 { 141 led@1 { 216 label = "cap11xx:green:usr1"; 142 label = "cap11xx:green:usr1"; 217 reg = <1>; 143 reg = <1>; 218 }; 144 }; 219 145 220 led@2 { 146 led@2 { 221 label = "cap11xx:green:alive"; 147 label = "cap11xx:green:alive"; 222 reg = <2>; 148 reg = <2>; 223 linux,default-trigger = "heart 149 linux,default-trigger = "heartbeat"; 224 }; 150 }; 225 }; 151 }; 226 }; 152 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.