Re: [PATCH v4 1/2] dt-bindings: input: microchip,cap11xx: add advanced sensitivity settings

From: Rob Herring
Date: Thu Jun 29 2023 - 11:16:44 EST


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
>