[PATCH] New yaml file: tas2781
Add DTS discription for tas2781 driver code
Signed-off-by: Kevin Lu luminlong@139.com --- .../devicetree/bindings/sound/tas2781.yaml | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/tas2781.yaml
diff --git a/Documentation/devicetree/bindings/sound/tas2781.yaml b/Documentation/devicetree/bindings/sound/tas2781.yaml new file mode 100644 index 000000000..96fa45bf6 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tas2781.yaml @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2022 Texas Instruments Incorporated +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/sound/tas2781.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Texas Instruments TAS2781 Smart PA + +maintainers: + - Shenghao Ding shenghao-ding@ti.com + - Kevin Lu kevin-lu@ti.com + +description: | + The TAS2781 is a mono, digital input Class-D audio amplifier + optimized for efficiently driving high peak power into small + loudspeakers. Integrated an on-chip DSP supports Texas Instruments + Smart Amp speaker protection algorithm. The integrated speaker + voltage and current sense provides for real time + monitoring of loudspeaker behavior. + +properties: + compatible: + enum: + - ti,tas2781 + - ti,audev + description: | + ti,audev will disable the irq of tas2781. + reg: + maxItems: 1 + description: | + I2C address of the device can be between 0x38 to 0x40. + + reset-gpioN: + maxItems: 4 + description: GPIO used to reset the device. + + ti,topleft-channel: + maxItems: 1 + description: I2C Address for each specific device. + + ti,topright-channel: + maxItems: 1 + + ti,bottomleft-channel: + maxItems: 1 + + ti,bottomright-channel: + maxItems: 1 + + ti,global-address: + maxItems: 1 + description: This item is not mandatory. if the device support gloabel mode, this item should be active. + + ti,irq-gpio: + maxItems: 1 + description: GPIO used to interrupt the device. + + '#sound-dai-cells': + const: 1 + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + codec: codec@38 { + compatible = "ti,tas2781"; + reg = <0x38>; + #sound-dai-cells = <1>; + ti,topleft-channel = <0x38>; + ti,topright-channel = <0x39>; + ti,bottomright-channel = <0x3a>; + ti,bottomright-channel = <0x3b>; + ti,global-address = <0x40>; + ti,reset-gpio0 = <&gpio1 10 GPIO_ACTIVE_HIGH>; + ti,reset-gpio1 = <&gpio1 11 GPIO_ACTIVE_HIGH>; + ti,reset-gpio2 = <&gpio1 12 GPIO_ACTIVE_HIGH>; + ti,reset-gpio3 = <&gpio1 13 GPIO_ACTIVE_HIGH>; + ti,irq-gpio = <&gpio1 15 0>; + }; + }; +...
On 20/12/2022 15:41, Kevin Lu wrote:
Add DTS discription for tas2781 driver code
1. Use subject prefixes matching the subsystem (git log --oneline -- ...).
2. Anyway that's not correct subject. Look at existing commits.
3. Run spell check.
4. Missing full stop.
Signed-off-by: Kevin Lu luminlong@139.com
.../devicetree/bindings/sound/tas2781.yaml | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/tas2781.yaml
Filename with vendor prefix, just like compatible.
diff --git a/Documentation/devicetree/bindings/sound/tas2781.yaml b/Documentation/devicetree/bindings/sound/tas2781.yaml new file mode 100644 index 000000000..96fa45bf6 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tas2781.yaml @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2022 Texas Instruments Incorporated +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/sound/tas2781.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
Drop quotes from both.
+title: Texas Instruments TAS2781 Smart PA
+maintainers:
- Shenghao Ding shenghao-ding@ti.com
- Kevin Lu kevin-lu@ti.com
+description: |
- The TAS2781 is a mono, digital input Class-D audio amplifier
- optimized for efficiently driving high peak power into small
- loudspeakers. Integrated an on-chip DSP supports Texas Instruments
- Smart Amp speaker protection algorithm. The integrated speaker
- voltage and current sense provides for real time
- monitoring of loudspeaker behavior.
+properties:
- compatible:
- enum:
- ti,tas2781
- ti,audev
That's not a correct (real) compatible. Drop.
- description: |
ti,audev will disable the irq of tas2781.
Drop description.
Missing blank line.
- reg:
- maxItems: 1
- description: |
I2C address of the device can be between 0x38 to 0x40.
- reset-gpioN:
Nope, use existing property. See gpio-consumer-common
- maxItems: 4
- description: GPIO used to reset the device.
This does not work like that. You did not even test it, right?
- ti,topleft-channel:
- maxItems: 1
- description: I2C Address for each specific device.
No clue what's this. You need to explain in details in description.
- ti,topright-channel:
- maxItems: 1
Ditto and in all other places.
- ti,bottomleft-channel:
- maxItems: 1
- ti,bottomright-channel:
- maxItems: 1
- ti,global-address:
- maxItems: 1
- description: This item is not mandatory. if the device support gloabel mode, this item should be active.
I have no clue what is gloabel mode but the field looks incorrect. Drop or properly describe.
Also wrong line wrapping.
- ti,irq-gpio:
- maxItems: 1
- description: GPIO used to interrupt the device.
No. Use interrupts.
- '#sound-dai-cells':
- const: 1
+required:
- compatible
- reg
+additionalProperties: false
+examples:
- |
- #include <dt-bindings/gpio/gpio.h>
- i2c0 {
i2c
#address-cells = <1>;
#size-cells = <0>;
codec: codec@38 {
compatible = "ti,tas2781";
reg = <0x38>;
#sound-dai-cells = <1>;
ti,topleft-channel = <0x38>;
ti,topright-channel = <0x39>;
ti,bottomright-channel = <0x3a>;
ti,bottomright-channel = <0x3b>;
ti,global-address = <0x40>;
ti,reset-gpio0 = <&gpio1 10 GPIO_ACTIVE_HIGH>;
ti,reset-gpio1 = <&gpio1 11 GPIO_ACTIVE_HIGH>;
ti,reset-gpio2 = <&gpio1 12 GPIO_ACTIVE_HIGH>;
ti,reset-gpio3 = <&gpio1 13 GPIO_ACTIVE_HIGH>;
Does not look like you tested the bindings. Please run `make dt_binding_check` (see Documentation/devicetree/bindings/writing-schema.rst for instructions).
Best regards, Krzysztof
On Tue, 20 Dec 2022 22:41:14 +0800, Kevin Lu wrote:
Add DTS discription for tas2781 driver code
Signed-off-by: Kevin Lu luminlong@139.com
.../devicetree/bindings/sound/tas2781.yaml | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/tas2781.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/sound/tas2781.yaml: properties:ti,bottomright-channel: 'oneOf' conditional failed, one must be fixed: 'type' is a required property hint: A vendor boolean property can use "type: boolean" 'description' is a required property hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('maxItems' was unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/tas2781.yaml: properties:ti,bottomright-channel: '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/sound/tas2781.yaml: properties:ti,bottomright-channel: '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/sound/tas2781.yaml: properties:ti,topleft-channel: '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 ('maxItems' was unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/tas2781.yaml: properties:ti,topleft-channel: '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/sound/tas2781.yaml: properties:ti,topleft-channel: '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/sound/tas2781.yaml: properties:ti,bottomleft-channel: 'oneOf' conditional failed, one must be fixed: 'type' is a required property hint: A vendor boolean property can use "type: boolean" 'description' is a required property hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('maxItems' was unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/tas2781.yaml: properties:ti,bottomleft-channel: '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/sound/tas2781.yaml: properties:ti,bottomleft-channel: '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/sound/tas2781.yaml: properties:ti,topright-channel: 'oneOf' conditional failed, one must be fixed: 'type' is a required property hint: A vendor boolean property can use "type: boolean" 'description' is a required property hint: A vendor boolean property can use "type: boolean" Additional properties are not allowed ('maxItems' was unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/tas2781.yaml: properties:ti,topright-channel: '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/sound/tas2781.yaml: properties:ti,topright-channel: '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/sound/tas2781.yaml: properties:ti,global-address: '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 ('maxItems' was unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/tas2781.yaml: properties:ti,global-address: '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/sound/tas2781.yaml: properties:ti,global-address: '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# Documentation/devicetree/bindings/sound/tas2781.example.dts:28.13-45: ERROR (duplicate_property_names): /example-0/i2c0/codec@38:ti,bottomright-channel: Duplicate property name ERROR: Input tree has errors, aborting (use -f to force output) make[1]: *** [scripts/Makefile.lib:406: Documentation/devicetree/bindings/sound/tas2781.example.dtb] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1492: dt_binding_check] Error 2
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/2022122014411...
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.
participants (3)
-
Kevin Lu
-
Krzysztof Kozlowski
-
Rob Herring