2021-10-29 15:08:33

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH v4 0/2] Machine driver to support LPASS SC7280 sound card registration

This patch set is to add support for SC7280 sound card registration and
to add dt-bindings documentation file.

This patch set depends on the dt-bindings header patch
-- https://patchwork.kernel.org/project/alsa-devel/list/?series=543829

Srinivasa Rao Mandadapu (2):
ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings
ASoC: qcom: SC7280: Add machine driver
Changes Since V3:
-- Change audio jack playpause key value.
Changes Since V2:
-- updated required field in bindings
-- updated Return type check with proper enum in sc7280.c
-- Updated Header name and Typos in sc7280.c
Changes Since V1:
-- Indentation changes and typo.

.../bindings/sound/google,sc7280-herobrine.yaml | 170 ++++++++++
sound/soc/qcom/Kconfig | 12 +
sound/soc/qcom/Makefile | 2 +
sound/soc/qcom/sc7280.c | 343 +++++++++++++++++++++
4 files changed, 527 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
create mode 100644 sound/soc/qcom/sc7280.c

--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.


2021-10-29 15:09:18

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings

Add devicetree bindings documentation file for sc7280 sound card
registration.

Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
.../bindings/sound/google,sc7280-herobrine.yaml | 170 +++++++++++++++++++++
1 file changed, 170 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml

diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
new file mode 100644
index 0000000..3a781c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
@@ -0,0 +1,170 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Google SC7280-Herobrine ASoC sound card driver
+
+maintainers:
+ - Srinivasa Rao Mandadapu <[email protected]>
+ - Judy Hsiao <[email protected]>
+
+description:
+ This binding describes the SC7280 sound card which uses LPASS for audio.
+
+properties:
+ compatible:
+ enum:
+ - google,sc7280-herobrine
+
+ audio-routing:
+ $ref: /schemas/types.yaml#/definitions/non-unique-string-array
+ description:
+ A list of the connections between audio components. Each entry is a
+ pair of strings, the first being the connection's sink, the second
+ being the connection's source.
+
+ model:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: User specified audio sound card name
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+patternProperties:
+ "^dai-link@[0-9a-f]$":
+ description:
+ Each subnode represents a dai link. Subnodes of each dai links would be
+ cpu/codec dais.
+
+ type: object
+
+ properties:
+ link-name:
+ description: Indicates dai-link name and PCM stream name.
+ $ref: /schemas/types.yaml#/definitions/string
+ maxItems: 1
+
+ reg:
+ maxItems: 1
+ description: dai link address.
+
+ cpu:
+ description: Holds subnode which indicates cpu dai.
+ type: object
+ properties:
+ sound-dai: true
+
+ codec:
+ description: Holds subnode which indicates codec dai.
+ type: object
+ properties:
+ sound-dai: true
+
+ required:
+ - link-name
+ - cpu
+ - codec
+ - reg
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - model
+ - "#address-cells"
+ - "#size-cells"
+
+additionalProperties: false
+
+examples:
+
+ - |
+ #include <dt-bindings/sound/qcom,lpass.h>
+ sound {
+ compatible = "google,sc7280-herobrine";
+ model = "sc7280-wcd938x-max98360a-4dmic";
+
+ audio-routing =
+ "IN1_HPHL", "HPHL_OUT",
+ "IN2_HPHR", "HPHR_OUT",
+ "AMIC1", "MIC BIAS1",
+ "AMIC2", "MIC BIAS2",
+ "VA DMIC0", "MIC BIAS3",
+ "VA DMIC1", "MIC BIAS3",
+ "VA DMIC2", "MIC BIAS4",
+ "VA DMIC3", "MIC BIAS4",
+ "TX SWR_ADC0", "ADC1_OUTPUT",
+ "TX SWR_ADC1", "ADC2_OUTPUT",
+ "TX SWR_ADC2", "ADC3_OUTPUT",
+ "TX SWR_DMIC0", "DMIC1_OUTPUT",
+ "TX SWR_DMIC1", "DMIC2_OUTPUT",
+ "TX SWR_DMIC2", "DMIC3_OUTPUT",
+ "TX SWR_DMIC3", "DMIC4_OUTPUT";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai-link@0 {
+ link-name = "WCD Playback";
+ reg = <LPASS_CDC_DMA_RX0>;
+ cpu {
+ sound-dai = <&lpass_cpu LPASS_CDC_DMA_RX0>;
+ };
+
+ codec {
+ sound-dai = <&wcd938x 0>, <&swr0 0>, <&rxmacro 0>;
+ };
+ };
+ dai-link@1 {
+ link-name = "WCD Capture";
+ reg = <LPASS_CDC_DMA_TX3>;
+ cpu {
+ sound-dai = <&lpass_cpu LPASS_CDC_DMA_TX3>;
+ };
+
+ codec {
+ sound-dai = <&wcd938x 1>, <&swr1 0>, <&txmacro 0>;
+ };
+ };
+
+ dai-link@2 {
+ link-name = "MI2S Playback";
+ reg = <MI2S_SECONDARY>;
+ cpu {
+ sound-dai = <&lpass_cpu MI2S_SECONDARY>;
+ };
+
+ codec {
+ sound-dai = <&max98360a>;
+ };
+ };
+
+ dai-link@3 {
+ link-name = "DMIC Capture";
+ reg = <LPASS_CDC_DMA_VA_TX0>;
+ cpu {
+ sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>;
+ };
+
+ codec {
+ sound-dai = <&vamacro 0>;
+ };
+ };
+
+ dai-link@5 {
+ link-name = "DP Playback";
+ reg = <LPASS_DP_RX>;
+ cpu {
+ sound-dai = <&lpass_cpu LPASS_DP_RX>;
+ };
+
+ codec {
+ sound-dai = <&mdss_dp>;
+ };
+ };
+ };
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.

2021-10-29 19:09:18

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings

Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35)
> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
> new file mode 100644
> index 0000000..3a781c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
> @@ -0,0 +1,170 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Google SC7280-Herobrine ASoC sound card driver
> +
> +maintainers:
> + - Srinivasa Rao Mandadapu <[email protected]>
> + - Judy Hsiao <[email protected]>
> +
> +description:
> + This binding describes the SC7280 sound card which uses LPASS for audio.
> +
> +properties:
> + compatible:
> + enum:
> + - google,sc7280-herobrine
> +
> + audio-routing:
> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> + description:
> + A list of the connections between audio components. Each entry is a
> + pair of strings, the first being the connection's sink, the second
> + being the connection's source.
> +
> + model:
> + $ref: /schemas/types.yaml#/definitions/string
> + description: User specified audio sound card name
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> +patternProperties:
> + "^dai-link@[0-9a-f]$":
> + description:
> + Each subnode represents a dai link. Subnodes of each dai links would be
> + cpu/codec dais.
> +
> + type: object
> +
> + properties:
> + link-name:
> + description: Indicates dai-link name and PCM stream name.
> + $ref: /schemas/types.yaml#/definitions/string
> + maxItems: 1
> +
> + reg:
> + maxItems: 1
> + description: dai link address.
> +
> + cpu:
> + description: Holds subnode which indicates cpu dai.
> + type: object
> + properties:
> + sound-dai: true

Is sound-dai required? And additionalProperties is false? I think we
need that yet again.

> +
> + codec:
> + description: Holds subnode which indicates codec dai.
> + type: object
> + properties:
> + sound-dai: true
> +

Same here.

> + required:
> + - link-name
> + - cpu
> + - codec
> + - reg
> +
> + additionalProperties: false
> +

2021-10-29 21:17:29

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings

On Fri, 29 Oct 2021 20:34:35 +0530, Srinivasa Rao Mandadapu wrote:
> Add devicetree bindings documentation file for sc7280 sound card
> registration.
>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> ---
> .../bindings/sound/google,sc7280-herobrine.yaml | 170 +++++++++++++++++++++
> 1 file changed, 170 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/google,sc7280-herobrine.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:
Error: Documentation/devicetree/bindings/sound/google,sc7280-herobrine.example.dts:46.24-25 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [scripts/Makefile.lib:385: Documentation/devicetree/bindings/sound/google,sc7280-herobrine.example.dt.yaml] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1441: dt_binding_check] Error 2

doc reference errors (make refcheckdocs):

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

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.

2021-11-02 10:59:26

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings


On 10/30/2021 12:37 AM, Stephen Boyd wrote:
Thanks for Your time Stephen!!!
> Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35)
>> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
>> new file mode 100644
>> index 0000000..3a781c8
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
>> @@ -0,0 +1,170 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Google SC7280-Herobrine ASoC sound card driver
>> +
>> +maintainers:
>> + - Srinivasa Rao Mandadapu <[email protected]>
>> + - Judy Hsiao <[email protected]>
>> +
>> +description:
>> + This binding describes the SC7280 sound card which uses LPASS for audio.
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - google,sc7280-herobrine
>> +
>> + audio-routing:
>> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
>> + description:
>> + A list of the connections between audio components. Each entry is a
>> + pair of strings, the first being the connection's sink, the second
>> + being the connection's source.
>> +
>> + model:
>> + $ref: /schemas/types.yaml#/definitions/string
>> + description: User specified audio sound card name
>> +
>> + "#address-cells":
>> + const: 1
>> +
>> + "#size-cells":
>> + const: 0
>> +
>> +patternProperties:
>> + "^dai-link@[0-9a-f]$":
>> + description:
>> + Each subnode represents a dai link. Subnodes of each dai links would be
>> + cpu/codec dais.
>> +
>> + type: object
>> +
>> + properties:
>> + link-name:
>> + description: Indicates dai-link name and PCM stream name.
>> + $ref: /schemas/types.yaml#/definitions/string
>> + maxItems: 1
>> +
>> + reg:
>> + maxItems: 1
>> + description: dai link address.
>> +
>> + cpu:
>> + description: Holds subnode which indicates cpu dai.
>> + type: object
>> + properties:
>> + sound-dai: true
> Is sound-dai required? And additionalProperties is false? I think we
> need that yet again.
Okay. Will mark additionalPropertiesas true.
>
>> +
>> + codec:
>> + description: Holds subnode which indicates codec dai.
>> + type: object
>> + properties:
>> + sound-dai: true
>> +
> Same here.
>
>> + required:
>> + - link-name
>> + - cpu
>> + - codec
>> + - reg
>> +
>> + additionalProperties: false
>> +

--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.

2021-11-06 07:21:12

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings

On Tue, Nov 2, 2021 at 5:57 AM Srinivasa Rao Mandadapu
<[email protected]> wrote:
>
>
> On 10/30/2021 12:37 AM, Stephen Boyd wrote:
> Thanks for Your time Stephen!!!
> > Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35)
> >> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
> >> new file mode 100644
> >> index 0000000..3a781c8
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
> >> @@ -0,0 +1,170 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Google SC7280-Herobrine ASoC sound card driver
> >> +
> >> +maintainers:
> >> + - Srinivasa Rao Mandadapu <[email protected]>
> >> + - Judy Hsiao <[email protected]>
> >> +
> >> +description:
> >> + This binding describes the SC7280 sound card which uses LPASS for audio.
> >> +
> >> +properties:
> >> + compatible:
> >> + enum:
> >> + - google,sc7280-herobrine
> >> +
> >> + audio-routing:
> >> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> >> + description:
> >> + A list of the connections between audio components. Each entry is a
> >> + pair of strings, the first being the connection's sink, the second
> >> + being the connection's source.
> >> +
> >> + model:
> >> + $ref: /schemas/types.yaml#/definitions/string
> >> + description: User specified audio sound card name
> >> +
> >> + "#address-cells":
> >> + const: 1
> >> +
> >> + "#size-cells":
> >> + const: 0
> >> +
> >> +patternProperties:
> >> + "^dai-link@[0-9a-f]$":
> >> + description:
> >> + Each subnode represents a dai link. Subnodes of each dai links would be
> >> + cpu/codec dais.
> >> +
> >> + type: object
> >> +
> >> + properties:
> >> + link-name:
> >> + description: Indicates dai-link name and PCM stream name.
> >> + $ref: /schemas/types.yaml#/definitions/string
> >> + maxItems: 1
> >> +
> >> + reg:
> >> + maxItems: 1
> >> + description: dai link address.
> >> +
> >> + cpu:
> >> + description: Holds subnode which indicates cpu dai.
> >> + type: object
> >> + properties:
> >> + sound-dai: true
> > Is sound-dai required? And additionalProperties is false? I think we
> > need that yet again.
> Okay. Will mark additionalPropertiesas true.

'additiionalProperties: true' is almost never right. It's generally
only correct for schemas that are incomplete collections of
properties.

Rob

2021-11-08 11:26:53

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings


On 11/6/2021 7:00 AM, Rob Herring wrote:
Thanks for Your time Rob!!!
> On Tue, Nov 2, 2021 at 5:57 AM Srinivasa Rao Mandadapu
> <[email protected]> wrote:
>>
>> On 10/30/2021 12:37 AM, Stephen Boyd wrote:
>> Thanks for Your time Stephen!!!
>>> Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35)
>>>> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
>>>> new file mode 100644
>>>> index 0000000..3a781c8
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
>>>> @@ -0,0 +1,170 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Google SC7280-Herobrine ASoC sound card driver
>>>> +
>>>> +maintainers:
>>>> + - Srinivasa Rao Mandadapu <[email protected]>
>>>> + - Judy Hsiao <[email protected]>
>>>> +
>>>> +description:
>>>> + This binding describes the SC7280 sound card which uses LPASS for audio.
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + enum:
>>>> + - google,sc7280-herobrine
>>>> +
>>>> + audio-routing:
>>>> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
>>>> + description:
>>>> + A list of the connections between audio components. Each entry is a
>>>> + pair of strings, the first being the connection's sink, the second
>>>> + being the connection's source.
>>>> +
>>>> + model:
>>>> + $ref: /schemas/types.yaml#/definitions/string
>>>> + description: User specified audio sound card name
>>>> +
>>>> + "#address-cells":
>>>> + const: 1
>>>> +
>>>> + "#size-cells":
>>>> + const: 0
>>>> +
>>>> +patternProperties:
>>>> + "^dai-link@[0-9a-f]$":
>>>> + description:
>>>> + Each subnode represents a dai link. Subnodes of each dai links would be
>>>> + cpu/codec dais.
>>>> +
>>>> + type: object
>>>> +
>>>> + properties:
>>>> + link-name:
>>>> + description: Indicates dai-link name and PCM stream name.
>>>> + $ref: /schemas/types.yaml#/definitions/string
>>>> + maxItems: 1
>>>> +
>>>> + reg:
>>>> + maxItems: 1
>>>> + description: dai link address.
>>>> +
>>>> + cpu:
>>>> + description: Holds subnode which indicates cpu dai.
>>>> + type: object
>>>> + properties:
>>>> + sound-dai: true
>>> Is sound-dai required? And additionalProperties is false? I think we
>>> need that yet again.
>> Okay. Will mark additionalPropertiesas true.
> 'additiionalProperties: true' is almost never right. It's generally
> only correct for schemas that are incomplete collections of
> properties.
>
> Rob

As per Stephen Suggestion. thought it's a solution.

The sound-dai required here, and same is fallowed in SC7180 machine
driver bindings.

Could You please suggest better approach on this?


--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.

2021-11-08 16:47:30

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings

On Mon, Nov 8, 2021 at 1:35 AM Srinivasa Rao Mandadapu
<[email protected]> wrote:
>
>
> On 11/6/2021 7:00 AM, Rob Herring wrote:
> Thanks for Your time Rob!!!
> > On Tue, Nov 2, 2021 at 5:57 AM Srinivasa Rao Mandadapu
> > <[email protected]> wrote:
> >>
> >> On 10/30/2021 12:37 AM, Stephen Boyd wrote:
> >> Thanks for Your time Stephen!!!
> >>> Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35)
> >>>> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
> >>>> new file mode 100644
> >>>> index 0000000..3a781c8
> >>>> --- /dev/null
> >>>> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml
> >>>> @@ -0,0 +1,170 @@
> >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>>> +%YAML 1.2
> >>>> +---
> >>>> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
> >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>>> +
> >>>> +title: Google SC7280-Herobrine ASoC sound card driver
> >>>> +
> >>>> +maintainers:
> >>>> + - Srinivasa Rao Mandadapu <[email protected]>
> >>>> + - Judy Hsiao <[email protected]>
> >>>> +
> >>>> +description:
> >>>> + This binding describes the SC7280 sound card which uses LPASS for audio.
> >>>> +
> >>>> +properties:
> >>>> + compatible:
> >>>> + enum:
> >>>> + - google,sc7280-herobrine
> >>>> +
> >>>> + audio-routing:
> >>>> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> >>>> + description:
> >>>> + A list of the connections between audio components. Each entry is a
> >>>> + pair of strings, the first being the connection's sink, the second
> >>>> + being the connection's source.
> >>>> +
> >>>> + model:
> >>>> + $ref: /schemas/types.yaml#/definitions/string
> >>>> + description: User specified audio sound card name
> >>>> +
> >>>> + "#address-cells":
> >>>> + const: 1
> >>>> +
> >>>> + "#size-cells":
> >>>> + const: 0
> >>>> +
> >>>> +patternProperties:
> >>>> + "^dai-link@[0-9a-f]$":
> >>>> + description:
> >>>> + Each subnode represents a dai link. Subnodes of each dai links would be
> >>>> + cpu/codec dais.
> >>>> +
> >>>> + type: object
> >>>> +
> >>>> + properties:
> >>>> + link-name:
> >>>> + description: Indicates dai-link name and PCM stream name.
> >>>> + $ref: /schemas/types.yaml#/definitions/string
> >>>> + maxItems: 1
> >>>> +
> >>>> + reg:
> >>>> + maxItems: 1
> >>>> + description: dai link address.
> >>>> +
> >>>> + cpu:
> >>>> + description: Holds subnode which indicates cpu dai.
> >>>> + type: object
> >>>> + properties:
> >>>> + sound-dai: true
> >>> Is sound-dai required? And additionalProperties is false? I think we
> >>> need that yet again.
> >> Okay. Will mark additionalPropertiesas true.
> > 'additiionalProperties: true' is almost never right. It's generally
> > only correct for schemas that are incomplete collections of
> > properties.
> >
> > Rob
>
> As per Stephen Suggestion. thought it's a solution.
>
> The sound-dai required here, and same is fallowed in SC7180 machine
> driver bindings.
>
> Could You please suggest better approach on this?

Exactly what Stephen said, add:

required:
- sound-dai

additionalProperties: false