From ec0d4ef4f95b0e8ae9d26e83fd88b395f43f629e Mon Sep 17 00:00:00 2001 From: Jun Yan Date: Wed, 17 Jun 2026 23:02:48 +0800 Subject: [PATCH] dt-bindings: input: microchip,cap11xx: Add CAP1114 support CAP1114 is a 14-channel capacitive touch sensor with 11 LED outputs and hardware reset support. Add the compatible string for CAP1114, add its datasheet URL, update the maximum of LED channel reg, and add constraint for linux,keycodes. Previously, the LED reg property had a default maximum of 7 for CAP1188. With the addition of CAP1114, the default maximum is now 11. An if-then constraint is added to limit the LED count for CAP1188. Update description for microchip,input-threshold: CAP1114 only provides eight threshold entries, which does not match its total channel count. CAP1114 does not support microchip,signal-guard and microchip,calib-sensitivity. Add CAP1114 to the unsupported enum list. Signed-off-by: Jun Yan Reviewed-by: Conor Dooley Link: https://patch.msgid.link/20260617150318.753148-10-jerrysteve1101@gmail.com Signed-off-by: Dmitry Torokhov --- .../bindings/input/microchip,cap11xx.yaml | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml b/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml index b97e5b2735f1..2a37ac252c37 100644 --- a/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml +++ b/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml @@ -12,6 +12,7 @@ description: | For more product information please see the links below: CAP1106: https://ww1.microchip.com/downloads/en/DeviceDoc/00001624B.pdf + CAP1114: https://ww1.microchip.com/downloads/en/DeviceDoc/00002444A.pdf CAP1126: https://ww1.microchip.com/downloads/en/DeviceDoc/00001623B.pdf CAP1188: https://ww1.microchip.com/downloads/en/DeviceDoc/00001620C.pdf CAP1203: https://ww1.microchip.com/downloads/en/DeviceDoc/00001572B.pdf @@ -26,6 +27,7 @@ properties: compatible: enum: - microchip,cap1106 + - microchip,cap1114 - microchip,cap1126 - microchip,cap1188 - microchip,cap1203 @@ -62,7 +64,7 @@ properties: linux,keycodes: minItems: 3 - maxItems: 8 + maxItems: 14 description: | Specifies an array of numeric keycode values to be used for the channels. If this property is @@ -122,6 +124,8 @@ properties: is required for a touch to be registered, making the touch sensor less sensitive. The number of entries must correspond to the number of channels. + CAP1114 is an exception where channels 8~14 reuse the eighth entry's + threshold, so counts differ. microchip,calib-sensitivity: $ref: /schemas/types.yaml#/definitions/uint32-array @@ -140,7 +144,7 @@ properties: The number of entries must correspond to the number of channels. patternProperties: - "^led@[0-7]$": + "^led@[0-9a]$": type: object description: CAP11xx LEDs $ref: /schemas/leds/common.yaml# @@ -149,7 +153,7 @@ patternProperties: reg: description: LED channel number minimum: 0 - maximum: 7 + maximum: 10 label: true @@ -178,6 +182,21 @@ allOf: properties: reset-gpios: false + - if: + properties: + compatible: + contains: + enum: + - microchip,cap1114 + then: + properties: + linux,keycodes: + minItems: 14 + else: + properties: + linux,keycodes: + maxItems: 8 + - if: properties: compatible: @@ -205,12 +224,26 @@ allOf: reg: maximum: 1 + - if: + properties: + compatible: + contains: + enum: + - microchip,cap1188 + then: + patternProperties: + "^led@": + properties: + reg: + maximum: 7 + - if: properties: compatible: contains: enum: - microchip,cap1106 + - microchip,cap1114 - microchip,cap1126 - microchip,cap1188 - microchip,cap1203