Message ID | 20230414233815.4004526-2-jiriv@axis.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Input: cap11xx add advanced sensitivity settings | expand |
On 15/04/2023 01:38, 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 | 64 ++++++++++++++++++- > 1 file changed, 61 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml b/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml > index 5fa625b5c5fb..08e28226a164 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,58 @@ 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: | Do not need '|' unless you need to preserve formatting. > + 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,sensitivity-base-shift: > + $ref: /schemas/types.yaml#/definitions/uint32 > + default: 256 > + enum: [1, 2, 4, 8, 16, 32, 64, 128, 256] > + description: | > + Optional parameter. Controls data scaling factor. > + The higher the value of these bits, the larger the range and the lower > + the resolution of the data presented. These settings will not affect > + touch detection or sensitivity. > + > + microchip,signal-guard: > + minItems: 3 > + maxItems: 8 > + enum: [0, 1] > + default: 0 This was not really tested. Missing ref, mixing scalar and array properties. You want items with enum. And drop default. > + description: | > + Optional parameter supported only for CAP129x. Then disallow it for others (allOf:if:then: ... microchip,signal-guard:false) > + 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: > + minItems: 3 > + maxItems: 8 > + minimum: 0 > + maximum: 127 > + default: 64 > + 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: > + minItems: 3 > + maxItems: 8 > + enum: [1, 2, 4] > + default: 1 > + 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. Most of these properties do not look like hardware properties. Policies and runtime configuration should not be put into DT. Explain please why these are board-specific thus suitable for DT. Best regards, Krzysztof
On Sat, 15 Apr 2023 01:38:14 +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 | 64 ++++++++++++++++++- > 1 file changed, 61 insertions(+), 3 deletions(-) > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,signal-guard: 'enum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,signal-guard: 'enum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'minimum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'maximum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'minimum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'maximum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,calib-sensitivity: 'enum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,calib-sensitivity: 'enum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,signal-guard: 'oneOf' conditional failed, one must be fixed: 'type' is a required property hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('default', 'enum', 'maxItems', 'minItems' were unexpected) hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('default', 'maxItems', 'minItems' were unexpected) hint: A vendor string property with exact values has an implicit type /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,signal-guard: 'oneOf' conditional failed, one must be fixed: '$ref' is a required property 'allOf' is a required property hint: A vendor property needs a $ref to types.yaml from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# 0 is not of type 'string' hint: A vendor string property with exact values has an implicit type 1 is not of type 'string' hint: A vendor string property with exact values has an implicit type hint: Vendor specific properties must have a type and description unless they have a defined, common suffix. from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'oneOf' conditional failed, one must be fixed: 'type' is a required property hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('default', 'maxItems', 'maximum', 'minItems', 'minimum' were unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'oneOf' conditional failed, one must be fixed: 'enum' is a required property 'const' is a required property hint: A vendor string property with exact values has an implicit type from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,input-treshold: 'oneOf' conditional failed, one must be fixed: '$ref' is a required property 'allOf' is a required property hint: A vendor property needs a $ref to types.yaml from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# hint: Vendor specific properties must have a type and description unless they have a defined, common suffix. from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,calib-sensitivity: 'oneOf' conditional failed, one must be fixed: 'type' is a required property hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('default', 'enum', 'maxItems', 'minItems' were unexpected) hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('default', 'maxItems', 'minItems' were unexpected) hint: A vendor string property with exact values has an implicit type /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml: properties:microchip,calib-sensitivity: 'oneOf' conditional failed, one must be fixed: '$ref' is a required property 'allOf' is a required property hint: A vendor property needs a $ref to types.yaml from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# 1 is not of type 'string' hint: A vendor string property with exact values has an implicit type 2 is not of type 'string' hint: A vendor string property with exact values has an implicit type 4 is not of type 'string' hint: A vendor string property with exact values has an implicit type hint: Vendor specific properties must have a type and description unless they have a defined, common suffix. from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.example.dtb: touch@28: microchip,signal-guard: [[0, 0, 0, 0, 0, 0]] is too short From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.example.dtb: touch@28: microchip,signal-guard:0: [0, 0, 0, 0, 0, 0] is too long From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.example.dtb: touch@28: microchip,input-treshold: [[21, 18, 46, 46, 46, 21]] is too short From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.example.dtb: touch@28: microchip,input-treshold:0: [21, 18, 46, 46, 46, 21] is too long From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.example.dtb: touch@28: 'microchip,calib-sensitivityj' does not match any of the regexes: '^led@[0-7]$', 'pinctrl-[0-9]+' From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230414233815.4004526-2-jiriv@axis.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
diff --git a/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml b/Documentation/devicetree/bindings/input/microchip,cap11xx.yaml index 5fa625b5c5fb..08e28226a164 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,58 @@ 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,sensitivity-base-shift: + $ref: /schemas/types.yaml#/definitions/uint32 + default: 256 + enum: [1, 2, 4, 8, 16, 32, 64, 128, 256] + description: | + Optional parameter. Controls data scaling factor. + The higher the value of these bits, the larger the range and the lower + the resolution of the data presented. These settings will not affect + touch detection or sensitivity. + + microchip,signal-guard: + minItems: 3 + maxItems: 8 + enum: [0, 1] + default: 0 + description: | + Optional parameter supported only for CAP129x. + 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: + minItems: 3 + maxItems: 8 + minimum: 0 + maximum: 127 + default: 64 + 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: + minItems: 3 + maxItems: 8 + enum: [1, 2, 4] + default: 1 + 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 @@ -122,6 +174,12 @@ examples: reg = <0x28>; autorepeat; microchip,sensor-gain = <2>; + microchip,sensitivity-delta-sense = <16>; + microchip,sensitivity-base-shift = <128>; + + microchip,signal-guard = <0>, <0>, <0>, <0>, <0>, <0>; + microchip,input-treshold = <21>, <18>, <46>, <46>, <46>, <21>; + microchip,calib-sensitivityj = <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 | 64 ++++++++++++++++++- 1 file changed, 61 insertions(+), 3 deletions(-)