On Tue, Jun 27, 2023 at 08:53:15AM +0200, Jiri Valek - 2N wrote: > Add support for advanced sensitivity settings and signal guard feature. > > Signed-off-by: Jiri Valek - 2N <jiriv@xxxxxxxx> > --- > .../bindings/input/microchip,cap11xx.yaml | 77 +++++++++++++++++-- > 1 file changed, 72 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml b/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml > index 5fa625b5c5fb..b69dac1fba0e 100644 > --- a/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml > +++ b/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml > @@ -45,13 +45,13 @@ properties: > Enables the Linux input system's autorepeat feature on the input device. > > linux,keycodes: > - minItems: 6 > - maxItems: 6 > + minItems: 3 > + maxItems: 8 > description: | > Specifies an array of numeric keycode values to > be used for the channels. If this property is > omitted, KEY_A, KEY_B, etc are used as defaults. > - The array must have exactly six entries. > + The number of entries must correspond to the number of channels. This change seems unrelated? Or maybe advanced sensitivity means more channels? If so, explain this in the commit msg. > > microchip,sensor-gain: > $ref: /schemas/types.yaml#/definitions/uint32 > @@ -70,6 +70,55 @@ properties: > open drain. This property allows using the active > high push-pull output. > > + microchip,sensitivity-delta-sense: > + $ref: /schemas/types.yaml#/definitions/uint32 > + default: 32 > + enum: [1, 2, 4, 8, 16, 32, 64, 128] > + description: > + Optional parameter. Controls the sensitivity multiplier of a touch detection. > + At the more sensitive settings, touches are detected for a smaller delta > + capacitance corresponding to a “lighter” touch. > + > + microchip,signal-guard: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 3 > + maxItems: 8 > + items: > + minimum: 0 > + maximum: 1 > + description: | > + Optional parameter supported only for CAP129x. > + 0 - off > + 1 - on > + The signal guard isolates the signal from virtual grounds. > + If enabled then the behavior of the channel is changed to signal guard. > + The number of entries must correspond to the number of channels. > + > + microchip,input-treshold: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 3 > + maxItems: 8 > + items: > + minimum: 0 > + maximum: 127 > + description: > + Optional parameter. Specifies the delta threshold that is used to > + determine if a touch has been detected. > + The number of entries must correspond to the number of channels. > + > + microchip,calib-sensitivity: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 3 > + maxItems: 8 > + items: > + minimum: 1 > + maximum: 4 > + description: > + Optional parameter supported only for CAP129x. Specifies an array of > + numeric values that controls the gain used by the calibration routine to > + enable sensor inputs to be more sensitive for proximity detection. > + The number of entries must correspond to the number of channels. > + > patternProperties: > "^led@[0-7]$": > type: object > @@ -98,10 +147,23 @@ allOf: > compatible: > contains: > enum: > - - microchip,cap1106 > + - microchip,cap1188 > then: > patternProperties: > - "^led@[0-7]$": false > + "^led@[0-7]$": true > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - microchip,cap1293 > + - microchip,cap1298 > + > + then: > + properties: > + microchip,signal-guard: true > + microchip,calib-sensitivity: true This 'if' doesn't do anything. These properties are already allowed. You need an if for the cases they aren't allowed. > > required: > - compatible > @@ -122,6 +184,11 @@ examples: > reg = <0x28>; > autorepeat; > microchip,sensor-gain = <2>; > + microchip,sensitivity-delta-sense = <16>; > + > + microchip,signal-guard = <0>, <0>, <0>, <0>, <0>, <0>; > + microchip,input-treshold = <21>, <18>, <46>, <46>, <46>, <21>; > + microchip,calib-sensitivity = <1>, <2>, <2>, <1>, <1>, <2>; > > linux,keycodes = <103>, /* KEY_UP */ > <106>, /* KEY_RIGHT */ > -- > 2.25.1 >