2022-04-16 02:51:42

by “Ryan

[permalink] [raw]
Subject: [PATCH 1/2] ASoC: dt-bindings: max98396: add amplifier driver

From: Ryan Lee <[email protected]>

This patch adds dt-bindings information for Analog Devices MAX98396
and MAX98397 Smart Amplifier.

Signed-off-by: Ryan Lee <[email protected]>
---
.../bindings/sound/adi,max98396.yaml | 84 +++++++++++++++++++
1 file changed, 84 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/adi,max98396.yaml

diff --git a/Documentation/devicetree/bindings/sound/adi,max98396.yaml b/Documentation/devicetree/bindings/sound/adi,max98396.yaml
new file mode 100644
index 000000000000..4aee32f43ad1
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/adi,max98396.yaml
@@ -0,0 +1,84 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/adi,max98396.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices MAX98396 Speaker Amplifier Device Tree Bindings
+
+maintainers:
+ - Ryan Lee <[email protected]>
+
+description:
+ The MAX98396 is a mono Class-DG speaker amplifier with I/V sense.
+ The device provides a PCM interface for audio data and a standard
+ I2C interface for control data communication.
+ The MAX98397 is a variant of MAX98396 with wide input supply range.
+
+properties:
+ compatible:
+ enum:
+ - adi,max98396
+ - adi,max98397
+ reg:
+ maxItems: 1
+ description: I2C address of the device.
+
+ adi,vmon-slot-no:
+ description: slot number of the voltage sense monitor
+ minimum: 0
+ maximum: 15
+ default: 0
+
+ adi,imon-slot-no:
+ description: slot number of the current sense monitor
+ minimum: 0
+ maximum: 15
+ default: 0
+
+ adi,spkfb-slot-no:
+ description: slot number of speaker DSP monitor
+ minimum: 0
+ maximum: 15
+ default: 0
+
+ adi,interleave-mode:
+ type: boolean
+ description: For cases where a single combined channel for the I/V sense data is not sufficient,
+ the device can also be configured to share a single data output channel on alternating frames.
+ In this configuration, the current and voltage data will be frame interleaved on a single output channel.
+ default: false
+
+ reset-gpios:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ max98396: amplifier@39 {
+ compatible = "adi,max98396";
+ reg = <0x39>;
+ adi,vmon-slot-no = <0>;
+ adi,imon-slot-no = <1>;
+ adi,interleave-mode = <0>;
+ reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ max98397: amplifier@3c {
+ compatible = "adi,max98397";
+ reg = <0x3c>;
+ adi,vmon-slot-no = <0>;
+ adi,imon-slot-no = <1>;
+ adi,interleave-mode = <0>;
+ reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ };
+
--
2.25.1


2022-04-18 12:37:48

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/2] ASoC: dt-bindings: max98396: add amplifier driver

On Fri, 15 Apr 2022 17:40:23 -0700, Ryan Lee wrote:
> From: Ryan Lee <[email protected]>
>
> This patch adds dt-bindings information for Analog Devices MAX98396
> and MAX98397 Smart Amplifier.
>
> Signed-off-by: Ryan Lee <[email protected]>
> ---
> .../bindings/sound/adi,max98396.yaml | 84 +++++++++++++++++++
> 1 file changed, 84 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/adi,max98396.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:
./Documentation/devicetree/bindings/sound/adi,max98396.yaml:49:111: [warning] line too long (121 > 110 characters) (line-length)

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,spkfb-slot-no: '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 ('maximum', 'default', 'minimum' were unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,spkfb-slot-no: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,spkfb-slot-no: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,interleave-mode: 'oneOf' conditional failed, one must be fixed:
Additional properties are not allowed ('default' was unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,interleave-mode: '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#
Additional properties are not allowed ('type', 'default' were unexpected)
hint: A vendor string property with exact values has an implicit type
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,interleave-mode: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,vmon-slot-no: '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 ('maximum', 'default', 'minimum' were unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,vmon-slot-no: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,vmon-slot-no: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,imon-slot-no: '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 ('maximum', 'default', 'minimum' were unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,imon-slot-no: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: properties:adi,imon-slot-no: '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/linux-dt-review/Documentation/devicetree/bindings/sound/adi,max98396.yaml: ignoring, error in schema: properties: adi,spkfb-slot-no
Documentation/devicetree/bindings/sound/adi,max98396.example.dtb:0:0: /example-0/i2c/amplifier@39: failed to match any schema with compatible: ['adi,max98396']
Documentation/devicetree/bindings/sound/adi,max98396.example.dtb:0:0: /example-0/i2c/amplifier@3c: failed to match any schema with compatible: ['adi,max98397']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

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.

2022-04-22 22:54:28

by Lee, RyanS

[permalink] [raw]
Subject: RE: [PATCH 1/2] ASoC: dt-bindings: max98396: add amplifier driver

> -----Original Message-----
> From: Rob Herring <[email protected]>
> Sent: Saturday, April 16, 2022 3:18 PM
> To: Ryan Lee <[email protected]>
> Cc: [email protected]; [email protected]; linux-
> [email protected]; [email protected];
> [email protected]; [email protected]; pierre-
> [email protected]; [email protected]; alsa-
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; Lee, RyanS
> <[email protected]>; [email protected]
> Subject: Re: [PATCH 1/2] ASoC: dt-bindings: max98396: add amplifier
> driver
>
> [External]
>
> On Fri, 15 Apr 2022 17:40:23 -0700, Ryan Lee wrote:
> > From: Ryan Lee <[email protected]>
> >
> > This patch adds dt-bindings information for Analog Devices
> MAX98396
> > and MAX98397 Smart Amplifier.
> >
> > Signed-off-by: Ryan Lee <[email protected]>
> > ---
> > .../bindings/sound/adi,max98396.yaml | 84
> +++++++++++++++++++
> > 1 file changed, 84 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/sound/adi,max98396.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):
>

I appreciate your feedback. I was able to check the same issues on my side.
I shall fix the problem and submit the updated patch.

> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/sound/adi,max98396.yaml:49:1
> 11: [warning] line too long (121 > 110 characters) (line-length)
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,spkfb-slot-no: '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 ('maximum', 'default',
> 'minimum' were unexpected)
> hint: A vendor boolean property can use "type:
> boolean"
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,spkfb-slot-no: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,spkfb-slot-no: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> hint: Vendor specific properties must have a type and
> description unless they have a defined, common suffix.
> from schema $id:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,interleave-mode: 'oneOf' conditional failed, one
> must be fixed:
> Additional properties are not allowed ('default' was
> unexpected)
> hint: A vendor boolean property can use "type:
> boolean"
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,interleave-mode: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> Additional properties are not allowed ('type', 'default' were
> unexpected)
> hint: A vendor string property with exact values has an
> implicit type
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,interleave-mode: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> hint: Vendor specific properties must have a type and
> description unless they have a defined, common suffix.
> from schema $id:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,vmon-slot-no: '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 ('maximum', 'default',
> 'minimum' were unexpected)
> hint: A vendor boolean property can use "type:
> boolean"
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,vmon-slot-no: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,vmon-slot-no: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> hint: Vendor specific properties must have a type and
> description unless they have a defined, common suffix.
> from schema $id:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,imon-slot-no: '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 ('maximum', 'default',
> 'minimum' were unexpected)
> hint: A vendor boolean property can use "type:
> boolean"
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,imon-slot-no: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: properties:adi,imon-slot-no: '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:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> hint: Vendor specific properties must have a type and
> description unless they have a defined, common suffix.
> from schema $id:
> https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/vendor-
> props.yaml*__;Iw!!A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGa
> Nyp2EOec4EnuAYY4aQ25BDE2H4waOpyi0_juZ-wiHiNs8$
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/sound/adi,max98396.ya
> ml: ignoring, error in schema: properties: adi,spkfb-slot-no
> Documentation/devicetree/bindings/sound/adi,max98396.example.dt
> b:0:0: /example-0/i2c/amplifier@39: failed to match any schema with
> compatible: ['adi,max98396']
> Documentation/devicetree/bindings/sound/adi,max98396.example.dt
> b:0:0: /example-0/i2c/amplifier@3c: failed to match any schema with
> compatible: ['adi,max98397']
>
> doc reference errors (make refcheckdocs):
>
> See
> https://urldefense.com/v3/__https://patchwork.ozlabs.org/patch/__;!
> !A3Ni8CS0y2Y!6AbqO57BdHk8HsfdSgsIJ96PVLttFGaNyp2EOec4EnuAYY
> 4aQ25BDE2H4waOpyi0_juZ-xmX_4-e$
>
> This check can fail if there are any dependencies. The base for a patch
> series is generally the most recent rc1.
>
> 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.