1a8bc0707SDavid Heidelberg# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2a8bc0707SDavid Heidelberg%YAML 1.2 3a8bc0707SDavid Heidelberg--- 4*fcb52d7dSRob Herring$id: http://devicetree.org/schemas/input/microchip,cap11xx.yaml# 5*fcb52d7dSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6a8bc0707SDavid Heidelberg 79d69d47fSKrzysztof Kozlowskititle: Microchip CAP11xx based capacitive touch sensors 8a8bc0707SDavid Heidelberg 9a8bc0707SDavid Heidelbergdescription: | 10a8bc0707SDavid Heidelberg The Microchip CAP1xxx Family of RightTouchTM multiple-channel capacitive 11a8bc0707SDavid Heidelberg touch controllers and LED drivers. The device communication via I2C only. 12a8bc0707SDavid Heidelberg 13a8bc0707SDavid Heidelbergmaintainers: 14a8bc0707SDavid Heidelberg - Rob Herring <robh@kernel.org> 15a8bc0707SDavid Heidelberg 16a8bc0707SDavid Heidelbergproperties: 17a8bc0707SDavid Heidelberg compatible: 18a8bc0707SDavid Heidelberg enum: 19a8bc0707SDavid Heidelberg - microchip,cap1106 20a8bc0707SDavid Heidelberg - microchip,cap1126 21a8bc0707SDavid Heidelberg - microchip,cap1188 22bedd9c67SJiri Valek - 2N - microchip,cap1203 23f78e9de8SLinus Torvalds - microchip,cap1206 24bedd9c67SJiri Valek - 2N - microchip,cap1293 25bedd9c67SJiri Valek - 2N - microchip,cap1298 26a8bc0707SDavid Heidelberg 27a8bc0707SDavid Heidelberg reg: 28a8bc0707SDavid Heidelberg maxItems: 1 29a8bc0707SDavid Heidelberg 30a8bc0707SDavid Heidelberg '#address-cells': 31a8bc0707SDavid Heidelberg const: 1 32a8bc0707SDavid Heidelberg 33a8bc0707SDavid Heidelberg '#size-cells': 34a8bc0707SDavid Heidelberg const: 0 35a8bc0707SDavid Heidelberg 36a8bc0707SDavid Heidelberg interrupts: 37a8bc0707SDavid Heidelberg maxItems: 1 38a8bc0707SDavid Heidelberg description: | 39a8bc0707SDavid Heidelberg Property describing the interrupt line the 40a8bc0707SDavid Heidelberg device's ALERT#/CM_IRQ# pin is connected to. 41a8bc0707SDavid Heidelberg The device only has one interrupt source. 42a8bc0707SDavid Heidelberg 43a8bc0707SDavid Heidelberg autorepeat: 44a8bc0707SDavid Heidelberg description: | 45a8bc0707SDavid Heidelberg Enables the Linux input system's autorepeat feature on the input device. 46a8bc0707SDavid Heidelberg 47a8bc0707SDavid Heidelberg linux,keycodes: 48a8bc0707SDavid Heidelberg minItems: 6 49a8bc0707SDavid Heidelberg maxItems: 6 50a8bc0707SDavid Heidelberg description: | 51a8bc0707SDavid Heidelberg Specifies an array of numeric keycode values to 52a8bc0707SDavid Heidelberg be used for the channels. If this property is 53a8bc0707SDavid Heidelberg omitted, KEY_A, KEY_B, etc are used as defaults. 54a8bc0707SDavid Heidelberg The array must have exactly six entries. 55a8bc0707SDavid Heidelberg 56a8bc0707SDavid Heidelberg microchip,sensor-gain: 57a8bc0707SDavid Heidelberg $ref: /schemas/types.yaml#/definitions/uint32 58a8bc0707SDavid Heidelberg default: 1 59a8bc0707SDavid Heidelberg enum: [1, 2, 4, 8] 60a8bc0707SDavid Heidelberg description: | 61a8bc0707SDavid Heidelberg Defines the gain of the sensor circuitry. This 62a8bc0707SDavid Heidelberg effectively controls the sensitivity, as a 63a8bc0707SDavid Heidelberg smaller delta capacitance is required to 64a8bc0707SDavid Heidelberg generate the same delta count values. 65a8bc0707SDavid Heidelberg 66a8bc0707SDavid Heidelberg microchip,irq-active-high: 67a8bc0707SDavid Heidelberg type: boolean 68a8bc0707SDavid Heidelberg description: | 69a8bc0707SDavid Heidelberg By default the interrupt pin is active low 70a8bc0707SDavid Heidelberg open drain. This property allows using the active 71a8bc0707SDavid Heidelberg high push-pull output. 72a8bc0707SDavid Heidelberg 73a8bc0707SDavid HeidelbergpatternProperties: 74a8bc0707SDavid Heidelberg "^led@[0-7]$": 75a8bc0707SDavid Heidelberg type: object 76a8bc0707SDavid Heidelberg description: CAP11xx LEDs 77a8bc0707SDavid Heidelberg $ref: /schemas/leds/common.yaml# 78a8bc0707SDavid Heidelberg 79a8bc0707SDavid Heidelberg properties: 80a8bc0707SDavid Heidelberg reg: 81a8bc0707SDavid Heidelberg enum: [0, 1, 2, 3, 4, 5, 6, 7] 82a8bc0707SDavid Heidelberg 83a8bc0707SDavid Heidelberg label: true 84a8bc0707SDavid Heidelberg 85a8bc0707SDavid Heidelberg linux,default-trigger: true 86a8bc0707SDavid Heidelberg 87a8bc0707SDavid Heidelberg default-state: true 88a8bc0707SDavid Heidelberg 89a8bc0707SDavid Heidelberg required: 90a8bc0707SDavid Heidelberg - reg 91a8bc0707SDavid Heidelberg 92a8bc0707SDavid Heidelberg additionalProperties: false 93a8bc0707SDavid Heidelberg 94a8bc0707SDavid HeidelbergallOf: 95a8bc0707SDavid Heidelberg - $ref: input.yaml 96a8bc0707SDavid Heidelberg - if: 97a8bc0707SDavid Heidelberg properties: 98a8bc0707SDavid Heidelberg compatible: 99a8bc0707SDavid Heidelberg contains: 100a8bc0707SDavid Heidelberg enum: 101a8bc0707SDavid Heidelberg - microchip,cap1106 102a8bc0707SDavid Heidelberg then: 103a8bc0707SDavid Heidelberg patternProperties: 104a8bc0707SDavid Heidelberg "^led@[0-7]$": false 105a8bc0707SDavid Heidelberg 106a8bc0707SDavid Heidelbergrequired: 107a8bc0707SDavid Heidelberg - compatible 108a8bc0707SDavid Heidelberg - interrupts 109a8bc0707SDavid Heidelberg 110a8bc0707SDavid HeidelbergadditionalProperties: false 111a8bc0707SDavid Heidelberg 112a8bc0707SDavid Heidelbergexamples: 113a8bc0707SDavid Heidelberg - | 114a8bc0707SDavid Heidelberg i2c { 115a8bc0707SDavid Heidelberg #address-cells = <1>; 116a8bc0707SDavid Heidelberg #size-cells = <0>; 117a8bc0707SDavid Heidelberg 1184fda8a2dSKrzysztof Kozlowski touch@28 { 119a8bc0707SDavid Heidelberg compatible = "microchip,cap1188"; 120a8bc0707SDavid Heidelberg interrupt-parent = <&gpio1>; 121a8bc0707SDavid Heidelberg interrupts = <0 0>; 122a8bc0707SDavid Heidelberg reg = <0x28>; 123a8bc0707SDavid Heidelberg autorepeat; 124a8bc0707SDavid Heidelberg microchip,sensor-gain = <2>; 125a8bc0707SDavid Heidelberg 126a8bc0707SDavid Heidelberg linux,keycodes = <103>, /* KEY_UP */ 127a8bc0707SDavid Heidelberg <106>, /* KEY_RIGHT */ 128a8bc0707SDavid Heidelberg <108>, /* KEY_DOWN */ 129a8bc0707SDavid Heidelberg <105>, /* KEY_LEFT */ 130a8bc0707SDavid Heidelberg <109>, /* KEY_PAGEDOWN */ 131a8bc0707SDavid Heidelberg <104>; /* KEY_PAGEUP */ 132a8bc0707SDavid Heidelberg 133a8bc0707SDavid Heidelberg #address-cells = <1>; 134a8bc0707SDavid Heidelberg #size-cells = <0>; 135a8bc0707SDavid Heidelberg 136a8bc0707SDavid Heidelberg led@0 { 137a8bc0707SDavid Heidelberg label = "cap11xx:green:usr0"; 138a8bc0707SDavid Heidelberg reg = <0>; 139a8bc0707SDavid Heidelberg }; 140a8bc0707SDavid Heidelberg 141a8bc0707SDavid Heidelberg led@1 { 142a8bc0707SDavid Heidelberg label = "cap11xx:green:usr1"; 143a8bc0707SDavid Heidelberg reg = <1>; 144a8bc0707SDavid Heidelberg }; 145a8bc0707SDavid Heidelberg 146a8bc0707SDavid Heidelberg led@2 { 147a8bc0707SDavid Heidelberg label = "cap11xx:green:alive"; 148a8bc0707SDavid Heidelberg reg = <2>; 149a8bc0707SDavid Heidelberg linux,default-trigger = "heartbeat"; 150a8bc0707SDavid Heidelberg }; 151a8bc0707SDavid Heidelberg }; 152a8bc0707SDavid Heidelberg }; 153