Message ID | 20230627065316.1065911-2-jiriv@axis.com |
---|---|
State | Superseded |
Headers | show |
Series | Input: cap11xx add advanced sensitivity settings | expand |
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@axis.com> > --- > .../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 >
On 6/29/23 17:16, Rob Herring wrote: > 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@axis.com> >> --- >> .../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. This driver is already used for more CAPxxxx types. The smallest have only 3 inputs and the biggest one have 8 inputs. So keycode definition array length can be from 3 to 8 items long. > >> >> 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. Oh, thanks for the explanation. I will fix it. > >> >> 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 >> BR Jiri
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. 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 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 */
Add support for advanced sensitivity settings and signal guard feature. Signed-off-by: Jiri Valek - 2N <jiriv@axis.com> --- .../bindings/input/microchip,cap11xx.yaml | 77 +++++++++++++++++-- 1 file changed, 72 insertions(+), 5 deletions(-)