ASoC: dt-bindings: max98396: add amplifier driver
Subsystems (4)
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.
--- .../bindings/sound/adi,max98396.yaml | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/adi,max98396.yaml
Documentation/devicetree/bindings/sound/adi,max98396.yaml new file +84 -0
@@ -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>; + }; + }; +
Signature · 1 line
2.25.1
PATCH 2/2 ASoC: max98396: add amplifier driver
This series of patches adds support for Analog Devices MAX98396 mono amplifier with IV sense. The device provides a PCM interface for audio data and a standard I2C interface for control data communication. This driver also supports MAX98397 which is a variant of MAX98396 with wide input supply range.
--- sound/soc/codecs/Kconfig | 10 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/max98396.c | 1623 +++++++++++++++++++++++++++++++++++ sound/soc/codecs/max98396.h | 303 +++++++ 4 files changed, 1938 insertions(+) create mode 100644 sound/soc/codecs/max98396.c create mode 100644 sound/soc/codecs/max98396.h
sound/soc/codecs/Kconfig +10 -0
@@ -127,6 +127,7 @@ config SND_SOC_ALL_CODECS imply SND_SOC_MAX98373_I2C imply SND_SOC_MAX98373_SDW imply SND_SOC_MAX98390 + imply SND_SOC_MAX98396 imply SND_SOC_MAX9850 imply SND_SOC_MAX9860 imply SND_SOC_MAX9759
@@ -1015,6 +1016,15 @@ config SND_SOC_MAX98390 tristate "Maxim Integrated MAX98390 Speaker Amplifier" depends on I2C +config SND_SOC_MAX98396 + tristate "Analog Devices MAX98396 Speaker Amplifier" + depends on I2C + help + Enable support for Analog Devices MAX98396 audio + amplifier. The device provides a PCM interface for + audio data and a standard I2C interface for control + data communication. + config SND_SOC_MAX9850 tristate depends on I2C
sound/soc/codecs/Makefile +2 -0
@@ -135,6 +135,7 @@ snd-soc-max98373-objs := max98373.o snd-soc-max98373-i2c-objs := max98373-i2c.o snd-soc-max98373-sdw-objs := max98373-sdw.o snd-soc-max98390-objs := max98390.o +snd-soc-max98396-objs := max98396.o snd-soc-max9850-objs := max9850.o snd-soc-max9860-objs := max9860.o snd-soc-mc13783-objs := mc13783.o
@@ -474,6 +475,7 @@ obj-$(CONFIG_SND_SOC_MAX98373) += snd-soc-max98373.o obj-$(CONFIG_SND_SOC_MAX98373_I2C) += snd-soc-max98373-i2c.o obj-$(CONFIG_SND_SOC_MAX98373_SDW) += snd-soc-max98373-sdw.o obj-$(CONFIG_SND_SOC_MAX98390) += snd-soc-max98390.o +obj-$(CONFIG_SND_SOC_MAX98396) += snd-soc-max98396.o obj-$(CONFIG_SND_SOC_MAX9850) += snd-soc-max9850.o obj-$(CONFIG_SND_SOC_MAX9860) += snd-soc-max9860.o obj-$(CONFIG_SND_SOC_MC13783) += snd-soc-mc13783.o
sound/soc/codecs/max98396.c new file +1623 -0
1,623 lines not on this page · raw message
sound/soc/codecs/max98396.h new file +303 -0
303 lines not on this page · raw message
Signature · 1 line
2.25.1
Mark Brown
maintainerRe: [PATCH 2/2] ASoC: max98396: add amplifier driver
On Fri, Apr 15, 2022 at 05:40:24PM -0700, Ryan Lee wrote:
This looks mostly good - some issues below but nothing structural.
sound/soc/codecs/max98396.c line 355
Quoted 4 lines
sound/soc/codecs/max98396.c new file +4
-0+switch (fmt &SND_SOC_DAIFMT_INV_MASK ) { +case SND_SOC_DAIFMT_NB_NF : +case SND_SOC_DAIFMT_NB_IF : +break ;
One of these must be wrong - the device needs to know if it's handling a normal or inverted frame clock, otherwise the audio will be corrupted.
Quoted 18 lines
sound/soc/codecs/max98396.c new file +18
-0+static int max98396_mux_put (struct snd_kcontrol *kcontrol, +struct snd_ctl_elem_value *ucontrol) +{ +struct snd_soc_component *component = +snd_soc_dapm_kcontrol_component (kcontrol); +struct snd_soc_dapm_context *dapm =snd_soc_dapm_kcontrol_dapm (kcontrol); +struct max98396_priv *max98396 =snd_soc_component_get_drvdata (component); +struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; +unsigned int *item = ucontrol->value.enumerated.item; +int reg, val; + +if (item[0 ] >= e->items) +return -EINVAL ; + + val =snd_soc_enum_item_to_val (e, item[0 ]) << e->shift_l; + +if (max98396->device_id ==CODEC_TYPE_MAX98396 ) + reg =MAX98396_R2055_PCM_RX_SRC1 ;
sound/soc/codecs/max98396.c line 926
Quoted 10 lines
sound/soc/codecs/max98396.c new file +10
-0+else + reg =MAX98397_R2056_PCM_RX_SRC1 ; + +regmap_update_bits (max98396->regmap, reg, +MAX98396_PCM_RX_MASK , val); + +snd_soc_dapm_mux_update_power (dapm, kcontrol, item[0 ], e,NULL ); + +return 0 ; +}
This should return 1 if the value changed - you should get an error reported by mixer-test from selftests if you run them on a sound card with the driver.
sound/soc/codecs/max98396.c line 1316
Quoted 12 lines
sound/soc/codecs/max98396.c new file +12
-0+/* L/R mix configuration */ +if (max98396->device_id ==CODEC_TYPE_MAX98396 ) { +regmap_write (max98396->regmap, +MAX98396_R2055_PCM_RX_SRC1 ,0x02 ); +regmap_write (max98396->regmap, +MAX98396_R2056_PCM_RX_SRC2 ,0x10 ); + }else { +regmap_write (max98396->regmap, +MAX98397_R2056_PCM_RX_SRC1 ,0x02 ); +regmap_write (max98396->regmap, +MAX98397_R2057_PCM_RX_SRC2 ,0x10 ); + }
Shouldn't these be user controllable? Most of the setup being done here looks system specific, especially the routing stuff.
RE: [PATCH 2/2] ASoC: max98396: add amplifier driver
Quoted 21 lines
-----Original Message-----
From: Mark Brown <[email protected]>
Sent: Wednesday, April 20, 2022 9:18 AM
To: Ryan Lee <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [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]>
Subject: Re: [PATCH 2/2] ASoC: max98396: add amplifier driver[External]
On Fri, Apr 15, 2022 at 05:40:24PM -0700, Ryan Lee wrote:
This looks mostly good - some issues below but nothing structural.
Quoted 8 lines
sound/soc/codecs/max98396.c line 355
Quoted 4 lines
sound/soc/codecs/max98396.c new file +4
-0+switch (fmt &SND_SOC_DAIFMT_INV_MASK ) { +case SND_SOC_DAIFMT_NB_NF : +case SND_SOC_DAIFMT_NB_IF : +break ;One of these must be wrong - the device needs to know if it's handling a normal or inverted frame clock, otherwise the audio will be corrupted.
Thanks for pointing this out.
BCLK and FSYNC clock polarity configuration was inappropriate. I shall fix this.
Quoted 29 lines
sound/soc/codecs/max98396.c
Quoted 6 lines
sound/soc/codecs/max98396.c new file +5
-0+static int max98396_mux_put (struct snd_kcontrol *kcontrol, +struct snd_ctl_elem_value *ucontrol) { +struct snd_soc_component *component = +snd_soc_dapm_kcontrol_component (kcontrol); + struct snd_soc_dapm_context *dapm =
snd_soc_dapm_kcontrol_dapm(kcontrol);Review
Quoted 1 line
(quoted diff) +1
-0+ struct max98396_priv *max98396 =
snd_soc_component_get_drvdata(component);Quoted 9 lines
(quoted diff) +1
-0+ struct soc_enum *e = (struct soc_enum *)kcontrol-
private_value;sound/soc/codecs/max98396.c new file +7
-0+unsigned int *item = ucontrol->value.enumerated.item; +int reg, val; + +if (item[0 ] >= e->items) +return -EINVAL ; + + val =snd_soc_enum_item_to_val (e, item[0 ]) << e->shift_l;sound/soc/codecs/max98396.c
Quoted 10 lines
sound/soc/codecs/max98396.c new file +10
-0+ +if (max98396->device_id ==CODEC_TYPE_MAX98396 ) + reg =MAX98396_R2055_PCM_RX_SRC1 ; +else + reg =MAX98397_R2056_PCM_RX_SRC1 ; + +regmap_update_bits (max98396->regmap, reg, +MAX98396_PCM_RX_MASK , val); + + snd_soc_dapm_mux_update_power(dapm, kcontrol, item[0],e, NULL);
Quoted 7 lines
sound/soc/codecs/max98396.c line 411
Quoted 3 lines
sound/soc/codecs/max98396.c new file +3
-0+ +return 0 ; +}This should return 1 if the value changed - you should get an error reported by mixer-test from selftests if you run them on a sound card with the driver.
Thanks. Shall fix this on the v2.
Quoted 16 lines
sound/soc/codecs/max98396.c line 1316
Quoted 13 lines
sound/soc/codecs/max98396.c new file +12
-0+/* L/R mix configuration */ +if (max98396->device_id ==CODEC_TYPE_MAX98396 ) { +regmap_write (max98396->regmap, +MAX98396_R2055_PCM_RX_SRC1 ,0x02 ); +regmap_write (max98396->regmap, +MAX98396_R2056_PCM_RX_SRC2 ,0x10 ); + }else { +regmap_write (max98396->regmap, +MAX98397_R2056_PCM_RX_SRC1 ,0x02 ); +regmap_write (max98396->regmap, +MAX98397_R2057_PCM_RX_SRC2 ,0x10 ); + }Shouldn't these be user controllable? Most of the setup being done here looks system specific, especially the routing stuff.
MAX98396 is a mono amplifer and 'DAI MUX Sel' mixer control is provided for audio mono mix. The chip default configuration take the left channel only, so I wanted to set (L+R)/2 as default. The user still can change this value. 0x2057 is an extra register for the left and the right channel selection. The user do not need to control this register because 'DAI MUX Sel' already supports same function. Thank you.
Rob Herring
maintainerQuoted 11 lines · Ryan Lee
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.
Quoted 30 lines
-----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]
Quoted 3 lines · Ryan Lee
From: Ryan Lee <[email protected]>
This patch adds dt-bindings information for Analog Devices
MAX98396
Quoted 5 lines
and MAX98397 Smart Amplifier.
Signed-off-by Ryan Lee <[email protected]>--- .../bindings/sound/adi,max98396.yaml | 84+++++++++++++++++++
Quoted 9 lines
Quoted 4 lines
1 file changed, 84 insertions(+) create mode 100644
Documentation/devicetree/bindings/sound/adi,max98396.yamlMy bot found errors running 'make DT_CHECKER_FLAGS=-m
dt_binding_check'
on your patch (DT_CHECKER_FLAGSis 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.
Quoted 205 lines
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.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 totypes.yamlfrom 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 totypes.yamlfrom 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 totypes.yamlfrom 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 totypes.yamlfrom 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-noDocumentation/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://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.