Message ID | 20231108032921.3134115-2-wyx137120466@gmail.com |
---|---|
State | New |
Headers | show |
Series | leds: add mp3326 driver | expand |
On Wed, 08 Nov 2023 11:29:20 +0800, Yuxi Wang wrote: > Document mps mp3326 LED driver devicetree bindings. > > Signed-off-by: Yuxi Wang <wyx137120466@gmail.com> > --- > .../devicetree/bindings/leds/leds-mp3326.yaml | 184 ++++++++++++++++++ > 1 file changed, 184 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-mp3326.yaml > 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/leds/leds-mp3326.yaml: properties:multi-led:properties:led_r:properties:required: ['reg', 'color'] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:compatible: [{'const': 'mps,mp3326'}] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties: 'patternProperties' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_r:properties: 'required' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_r:properties:required: ['reg', 'color'] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_g: 'anyOf' conditional failed, one must be fixed: 'reg' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_g: 'anyOf' conditional failed, one must be fixed: 'color' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_b: 'anyOf' conditional failed, one must be fixed: 'reg' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_b: 'anyOf' conditional failed, one must be fixed: 'color' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:compatible: [{'const': 'mps,mp3326'}] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:patternProperties: 'anyOf' conditional failed, one must be fixed: '^led@[0-3]$' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: 'oneOf' conditional failed, one must be fixed: 'unevaluatedProperties' is a required property 'additionalProperties' is a required property hint: Either unevaluatedProperties or additionalProperties must be present from schema $id: http://devicetree.org/meta-schemas/core.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_g: 'reg' is not one of ['type', 'description', 'dependencies', 'dependentRequired', 'dependentSchemas', 'properties', 'patternProperties', 'additionalProperties', 'unevaluatedProperties', 'deprecated', 'required', 'not', 'allOf', 'anyOf', 'oneOf', '$ref'] from schema $id: http://devicetree.org/meta-schemas/nodes.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_g: 'color' is not one of ['type', 'description', 'dependencies', 'dependentRequired', 'dependentSchemas', 'properties', 'patternProperties', 'additionalProperties', 'unevaluatedProperties', 'deprecated', 'required', 'not', 'allOf', 'anyOf', 'oneOf', '$ref'] from schema $id: http://devicetree.org/meta-schemas/nodes.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_b: 'reg' is not one of ['type', 'description', 'dependencies', 'dependentRequired', 'dependentSchemas', 'properties', 'patternProperties', 'additionalProperties', 'unevaluatedProperties', 'deprecated', 'required', 'not', 'allOf', 'anyOf', 'oneOf', '$ref'] from schema $id: http://devicetree.org/meta-schemas/nodes.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: properties:multi-led:properties:led_b: 'color' is not one of ['type', 'description', 'dependencies', 'dependentRequired', 'dependentSchemas', 'properties', 'patternProperties', 'additionalProperties', 'unevaluatedProperties', 'deprecated', 'required', 'not', 'allOf', 'anyOf', 'oneOf', '$ref'] from schema $id: http://devicetree.org/meta-schemas/nodes.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: $id: Cannot determine base path from $id, relative path/filename doesn't match actual path or filename $id: http://devicetree.org/schemas/mps,mp3326.yaml file: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: mps,led-protect: missing type definition /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-mp3326.yaml: patternProperties: missing type definition Documentation/devicetree/bindings/leds/leds-mp3326.example.dtb: /example-0/i2c/mp3326@30: failed to match any schema with compatible: ['mps,mp3326'] Documentation/devicetree/bindings/leds/leds-mp3326.example.dtb: /example-1/i2c/mp3326@30: failed to match any schema with compatible: ['mps,mp3326'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231108032921.3134115-2-wyx137120466@gmail.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.
On 08/11/2023 04:29, Yuxi Wang wrote: > Document mps mp3326 LED driver devicetree bindings. > > Signed-off-by: Yuxi Wang <wyx137120466@gmail.com> > --- > .../devicetree/bindings/leds/leds-mp3326.yaml | 184 ++++++++++++++++++ > 1 file changed, 184 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-mp3326.yaml Except that this was not tested :(, few more comments. Filename like compatible. > > diff --git a/Documentation/devicetree/bindings/leds/leds-mp3326.yaml b/Documentation/devicetree/bindings/leds/leds-mp3326.yaml > new file mode 100644 > index 000000000000..899cf568f647 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-mp3326.yaml > @@ -0,0 +1,184 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mps,mp3326.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MPS MP3326 RGB/White LED Driver > + > +maintainers: > + - Yuxi Wang <wyx137120466@gmail.com> > + > +description: | > + The MP3326 is a RGB/White LED driver with I2C interface. > + > + For more product information please see the link below: > + https://www.monolithicpower.com/en/products/mp3326.html > + > +properties: > + compatible: > + - const: mps,mp3326 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + reg: > + maxItems: 1 > + > + mps,led-protect: > + description: | > + LED short protection threshold. threshold? So in some units? What does it mean? What do the values mean? > + enum: [0, 1, 2, 3] > + > + multi-led: > + type: object > + > + properties: > + "#address-cells": > + const: 1 > + "#size-cells": > + const: 0 > + > + color: > + description: RGB module > + const: LED_COLOR_ID_RGB > + > + led_r: Nope. First, no underscores in names. Second, please open existing bindings and look how it is done there. > + type: object > + > + properties: > + "#address-cells": > + const: 1 > + "#size-cells": > + const: 0 Why do you have the,? > + reg: > + description: Index of the LED. > + minimum: 1 > + maximum: 16 Please format it properly. You miss blank lines between each property description. > + color: > + description: Red. > + const: LED_COLOR_ID_RED > + required: > + - reg > + - color > + > + led_g: > + type: object > + > + properties: > + "#address-cells": > + const: 1 > + "#size-cells": > + const: 0 > + reg: > + description: Index of the LED. > + minimum: 1 > + maximum: 16 > + color: > + description: Green. > + const: LED_COLOR_ID_GREEN > + required: > + - reg > + - color > + > + led_b: > + type: object > + > + properties: > + "#address-cells": > + const: 1 > + "#size-cells": > + const: 0 > + reg: > + description: Index of the LED. > + minimum: 1 > + maximum: 16 > + color: > + description: Blue. > + const: LED_COLOR_ID_BLUE > + required: > + - reg > + - color > + > + patternProperties: > + "^led@[0-3]$": > + type: object > + > + properties: > + reg: > + description: Index of the LED. > + minimum: 1 > + maximum: 16 > + > + required: > + - reg > + - color Missing required, additionalProperties. Open existing binding and use it as example. > + > +examples: > + - | > + #include <dt-bindings/leds/common.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mp3326@30 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "mps,mp3326"; > + reg = <0x30>; > + led-protect =<3>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + multi-led { > + color = <LED_COLOR_ID_RGB>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + rgb_r@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <1>; > + color = <LED_COLOR_ID_RED>; > + }; > + rgb_g@2 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <2>; > + color = <LED_COLOR_ID_GREEN>; > + }; > + rgb_b@3 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <3>; > + color = <LED_COLOR_ID_BLUE>; > + }; > + }; > + }; > + }; > + > + - | > + #include <dt-bindings/leds/common.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mp3326@30 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "mps,mp3326"; > + reg = <0x30>; > + led-protect =<3>; > + #address-cells = <1>; > + #size-cells = <0>; > + led0@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg= <5>; > + color = <LED_COLOR_ID_WHITE>; > + }; > + }; > + }; > + > +... Best regards, Krzysztof
> On 08/11/2023 04:29, Yuxi Wang wrote: > > Document mps mp3326 LED driver devicetree bindings. > > > > Signed-off-by: Yuxi Wang <wyx137120466@gmail.com> > > --- > > .../devicetree/bindings/leds/leds-mp3326.yaml | 184 ++++++++++++++++++ > > 1 file changed, 184 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/leds/leds-mp3326.yaml > > Except that this was not tested :(, few more comments. > > Filename like compatible. > Thank you for pointing this out. I will use mps,mp3326.yaml in the next version. > > > > diff --git a/Documentation/devicetree/bindings/leds/leds-mp3326.yaml b/Documentation/devicetree/bindings/leds/leds- > mp3326.yaml > > new file mode 100644 > > index 000000000000..899cf568f647 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/leds/leds-mp3326.yaml > > @@ -0,0 +1,184 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: > https://urldefense.com/v3/__http://devicetree.org/schemas/mps,mp3326.yaml*__;Iw!!FIHMVlGrYVGa5kwGHCY!X_Ejb8ueivebvMv2 > RooVy9MVgqWRElf75NTk8JPqFXaYwWNyzupK7XKN5UKAvJRo-WMQmvxIuJPq5isKHeoqFbKZ4_cH81h24frs$ > > +$schema: https://urldefense.com/v3/__http://devicetree.org/meta- > schemas/core.yaml*__;Iw!!FIHMVlGrYVGa5kwGHCY!X_Ejb8ueivebvMv2RooVy9MVgqWRElf75NTk8JPqFXaYwWNyzupK7XKN5UKAvJR > o-WMQmvxIuJPq5isKHeoqFbKZ4_cH88smmVyA$ > > + > > +title: MPS MP3326 RGB/White LED Driver > > + > > +maintainers: > > + - Yuxi Wang <wyx137120466@gmail.com> > > + > > +description: | > > + The MP3326 is a RGB/White LED driver with I2C interface. > > + > > + For more product information please see the link below: > > + https://www.monolithicpower.com/en/products/mp3326.html > > + > > +properties: > > + compatible: > > + - const: mps,mp3326 > > + > > + "#address-cells": > > + const: 1 > > + > > + "#size-cells": > > + const: 0 > > + > > + reg: > > + maxItems: 1 > > + > > + mps,led-protect: > > + description: | > > + LED short protection threshold. > > threshold? So in some units? What does it mean? What do the values mean? > Yes, it indicates short protection threshold in mp3326. But they do not have the units. They just indicate the corresponding bits value of register which can configure short protection value. > > + enum: [0, 1, 2, 3] > > + > > + multi-led: > > + type: object > > + > > + properties: > > + "#address-cells": > > + const: 1 > > + "#size-cells": > > + const: 0 > > + > > + color: > > + description: RGB module > > + const: LED_COLOR_ID_RGB > > + > > + led_r: > > Nope. First, no underscores in names. Second, please open existing > bindings and look how it is done there. > Thank you for pointing out this, I will Fixed it in the next version. > > + type: object > > + > > + properties: > > + "#address-cells": > > + const: 1 > > + "#size-cells": > > + const: 0 > > Why do you have the,? > Sorry, here in no , . what do you mean? > > + reg: > > + description: Index of the LED. > > + minimum: 1 > > + maximum: 16 > > Please format it properly. You miss blank lines between each property > description. > Thank you for pointing this out. I will add the blank lines in the next version. > > + color: > > + description: Red. > > + const: LED_COLOR_ID_RED > > + required: > > + - reg > > + - color > > + > > + led_g: > > + type: object > > + > > + properties: > > + "#address-cells": > > + const: 1 > > + "#size-cells": > > + const: 0 > > + reg: > > + description: Index of the LED. > > + minimum: 1 > > + maximum: 16 > > + color: > > + description: Green. > > + const: LED_COLOR_ID_GREEN > > + required: > > + - reg > > + - color > > + > > + led_b: > > + type: object > > + > > + properties: > > + "#address-cells": > > + const: 1 > > + "#size-cells": > > + const: 0 > > + reg: > > + description: Index of the LED. > > + minimum: 1 > > + maximum: 16 > > + color: > > + description: Blue. > > + const: LED_COLOR_ID_BLUE > > + required: > > + - reg > > + - color > > + > > + patternProperties: > > + "^led@[0-3]$": > > + type: object > > + > > + properties: > > + reg: > > + description: Index of the LED. > > + minimum: 1 > > + maximum: 16 > > + > > + required: > > + - reg > > + - color > > Missing required, additionalProperties. > > Open existing binding and use it as example. > Thank you for pointing this out. I will add the additional Properties in the next version. > > + > > +examples: > > + - | > > + #include <dt-bindings/leds/common.h> > > + > > + i2c { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + mp3326@30 { > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://urldefense.com/v3/__https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html*generic- > names- > recommendation__;Iw!!FIHMVlGrYVGa5kwGHCY!X_Ejb8ueivebvMv2RooVy9MVgqWRElf75NTk8JPqFXaYwWNyzupK7XKN5UKAvJRo- > WMQmvxIuJPq5isKHeoqFbKZ4_cH8-K2cXo8$ > Thank you for sharing this, I will check it and change it in the next version. > > > + compatible = "mps,mp3326"; > > + reg = <0x30>; > > + led-protect =<3>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + multi-led { > > + color = <LED_COLOR_ID_RGB>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + rgb_r@1 { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + reg = <1>; > > + color = <LED_COLOR_ID_RED>; > > + }; > > + rgb_g@2 { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + reg = <2>; > > + color = <LED_COLOR_ID_GREEN>; > > + }; > > + rgb_b@3 { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + reg = <3>; > > + color = <LED_COLOR_ID_BLUE>; > > + }; > > + }; > > + }; > > + }; > > + > > + - | > > + #include <dt-bindings/leds/common.h> > > + > > + i2c { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + mp3326@30 { > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://urldefense.com/v3/__https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html*generic- > names- > recommendation__;Iw!!FIHMVlGrYVGa5kwGHCY!X_Ejb8ueivebvMv2RooVy9MVgqWRElf75NTk8JPqFXaYwWNyzupK7XKN5UKAvJRo- > WMQmvxIuJPq5isKHeoqFbKZ4_cH8-K2cXo8$ > Thank you for sharing this, I will check it and change it in the next version. > > > + compatible = "mps,mp3326"; > > + reg = <0x30>; > > + led-protect =<3>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + led0@0 { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + reg= <5>; > > + color = <LED_COLOR_ID_WHITE>; > > + }; > > + }; > > + }; > > + > > +... > > Best regards, > Krzysztof Best Regards. Yuxi Wang
On 08/11/2023 10:30, Yuxi (Yuxi) Wang wrote: >>> + reg: >>> + maxItems: 1 >>> + >>> + mps,led-protect: >>> + description: | >>> + LED short protection threshold. >> >> threshold? So in some units? What does it mean? What do the values mean? >> > Yes, it indicates short protection threshold in mp3326. > But they do not have the units. They just indicate the corresponding bits value of register which can configure short protection value. I meant, what are the real, not how you wrote it here, values? What do the values mean? Description should state that and according to this, you might have to use standard unit suffixes so these will be real values. > >>> + enum: [0, 1, 2, 3] >>> + >>> + multi-led: >>> + type: object >>> + >>> + properties: >>> + "#address-cells": >>> + const: 1 >>> + "#size-cells": >>> + const: 0 >>> + >>> + color: >>> + description: RGB module >>> + const: LED_COLOR_ID_RGB >>> + >>> + led_r: >> >> Nope. First, no underscores in names. Second, please open existing >> bindings and look how it is done there. >> > Thank you for pointing out this, I will Fixed it in the next version. >>> + type: object >>> + >>> + properties: >>> + "#address-cells": >>> + const: 1 >>> + "#size-cells": >>> + const: 0 >> >> Why do you have the,? >> > > Sorry, here in no , . > what do you mean? s/the,/them/ Why do you need these? > >>> + reg: >>> + description: Index of the LED. >>> + minimum: 1 >>> + maximum: 16 >> Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/leds/leds-mp3326.yaml b/Documentation/devicetree/bindings/leds/leds-mp3326.yaml new file mode 100644 index 000000000000..899cf568f647 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-mp3326.yaml @@ -0,0 +1,184 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mps,mp3326.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MPS MP3326 RGB/White LED Driver + +maintainers: + - Yuxi Wang <wyx137120466@gmail.com> + +description: | + The MP3326 is a RGB/White LED driver with I2C interface. + + For more product information please see the link below: + https://www.monolithicpower.com/en/products/mp3326.html + +properties: + compatible: + - const: mps,mp3326 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + reg: + maxItems: 1 + + mps,led-protect: + description: | + LED short protection threshold. + enum: [0, 1, 2, 3] + + multi-led: + type: object + + properties: + "#address-cells": + const: 1 + "#size-cells": + const: 0 + + color: + description: RGB module + const: LED_COLOR_ID_RGB + + led_r: + type: object + + properties: + "#address-cells": + const: 1 + "#size-cells": + const: 0 + reg: + description: Index of the LED. + minimum: 1 + maximum: 16 + color: + description: Red. + const: LED_COLOR_ID_RED + required: + - reg + - color + + led_g: + type: object + + properties: + "#address-cells": + const: 1 + "#size-cells": + const: 0 + reg: + description: Index of the LED. + minimum: 1 + maximum: 16 + color: + description: Green. + const: LED_COLOR_ID_GREEN + required: + - reg + - color + + led_b: + type: object + + properties: + "#address-cells": + const: 1 + "#size-cells": + const: 0 + reg: + description: Index of the LED. + minimum: 1 + maximum: 16 + color: + description: Blue. + const: LED_COLOR_ID_BLUE + required: + - reg + - color + + patternProperties: + "^led@[0-3]$": + type: object + + properties: + reg: + description: Index of the LED. + minimum: 1 + maximum: 16 + + required: + - reg + - color + +examples: + - | + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + mp3326@30 { + compatible = "mps,mp3326"; + reg = <0x30>; + led-protect =<3>; + #address-cells = <1>; + #size-cells = <0>; + + multi-led { + color = <LED_COLOR_ID_RGB>; + #address-cells = <1>; + #size-cells = <0>; + + rgb_r@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + color = <LED_COLOR_ID_RED>; + }; + rgb_g@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + color = <LED_COLOR_ID_GREEN>; + }; + rgb_b@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + color = <LED_COLOR_ID_BLUE>; + }; + }; + }; + }; + + - | + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + mp3326@30 { + compatible = "mps,mp3326"; + reg = <0x30>; + led-protect =<3>; + #address-cells = <1>; + #size-cells = <0>; + led0@0 { + #address-cells = <1>; + #size-cells = <0>; + reg= <5>; + color = <LED_COLOR_ID_WHITE>; + }; + }; + }; + +...
Document mps mp3326 LED driver devicetree bindings. Signed-off-by: Yuxi Wang <wyx137120466@gmail.com> --- .../devicetree/bindings/leds/leds-mp3326.yaml | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/leds-mp3326.yaml