2024-04-08 07:48:06

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

Convert the imx-audio-spdif binding to YAML.

When testing dtbs_check, found below compatible strings
are not listed in document:

fsl,imx-sabreauto-spdif
fsl,imx6sx-sdb-spdif

So add them in yaml file to pass the test.

Signed-off-by: Shengjiu Wang <[email protected]>
---
changes in v2:
- change file name to imx-spdif.yaml
- remove |
- add anyof for spdif-in and spdif-out requirement
- change example name to sound

.../bindings/sound/imx-audio-spdif.txt | 36 ----------
.../devicetree/bindings/sound/imx-spdif.yaml | 70 +++++++++++++++++++
2 files changed, 70 insertions(+), 36 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
create mode 100644 Documentation/devicetree/bindings/sound/imx-spdif.yaml

diff --git a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
deleted file mode 100644
index da84a442ccea..000000000000
--- a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-Freescale i.MX audio complex with S/PDIF transceiver
-
-Required properties:
-
- - compatible : "fsl,imx-audio-spdif"
-
- - model : The user-visible name of this sound complex
-
- - spdif-controller : The phandle of the i.MX S/PDIF controller
-
-
-Optional properties:
-
- - spdif-out : This is a boolean property. If present, the
- transmitting function of S/PDIF will be enabled,
- indicating there's a physical S/PDIF out connector
- or jack on the board or it's connecting to some
- other IP block, such as an HDMI encoder or
- display-controller.
-
- - spdif-in : This is a boolean property. If present, the receiving
- function of S/PDIF will be enabled, indicating there
- is a physical S/PDIF in connector/jack on the board.
-
-* Note: At least one of these two properties should be set in the DT binding.
-
-
-Example:
-
-sound-spdif {
- compatible = "fsl,imx-audio-spdif";
- model = "imx-spdif";
- spdif-controller = <&spdif>;
- spdif-out;
- spdif-in;
-};
diff --git a/Documentation/devicetree/bindings/sound/imx-spdif.yaml b/Documentation/devicetree/bindings/sound/imx-spdif.yaml
new file mode 100644
index 000000000000..beb214b51a50
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/imx-spdif.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/imx-spdif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX audio complex with S/PDIF transceiver
+
+maintainers:
+ - Shengjiu Wang <[email protected]>
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - fsl,imx-audio-spdif
+ - enum:
+ - fsl,imx-sabreauto-spdif
+ - fsl,imx6sx-sdb-spdif
+ - enum:
+ - fsl,imx-audio-spdif
+
+ model:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: User specified audio sound card name
+
+ spdif-controller:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: The phandle of the i.MX S/PDIF controller
+
+ spdif-out:
+ type: boolean
+ description:
+ If present, the transmitting function of S/PDIF will be enabled,
+ indicating there's a physical S/PDIF out connector or jack on the
+ board or it's connecting to some other IP block, such as an HDMI
+ encoder or display-controller.
+
+ spdif-in:
+ type: boolean
+ description:
+ If present, the receiving function of S/PDIF will be enabled,
+ indicating there is a physical S/PDIF in connector/jack on the board.
+
+required:
+ - compatible
+ - model
+ - spdif-controller
+
+anyOf:
+ - required:
+ - spdif-in
+ - required:
+ - spdif-out
+ - required:
+ - spdif-out
+ - spdif-in
+
+additionalProperties: false
+
+examples:
+ - |
+ sound {
+ compatible = "fsl,imx-audio-spdif";
+ model = "imx-spdif";
+ spdif-controller = <&spdif>;
+ spdif-out;
+ spdif-in;
+ };
--
2.34.1



2024-04-08 07:58:22

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

On 08/04/2024 09:27, Shengjiu Wang wrote:
> Convert the imx-audio-spdif binding to YAML.
>
> When testing dtbs_check, found below compatible strings
> are not listed in document:
>
> fsl,imx-sabreauto-spdif
> fsl,imx6sx-sdb-spdif
>
> So add them in yaml file to pass the test.
>
> Signed-off-by: Shengjiu Wang <[email protected]>
> ---
> changes in v2:
> - change file name to imx-spdif.yaml

How does your compatible look like? fsl,imx-audio-spdif, so use that.

> - remove |
> - add anyof for spdif-in and spdif-out requirement
> - change example name to sound
>

> diff --git a/Documentation/devicetree/bindings/sound/imx-spdif.yaml b/Documentation/devicetree/bindings/sound/imx-spdif.yaml
> new file mode 100644
> index 000000000000..beb214b51a50
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/imx-spdif.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/imx-spdif.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX audio complex with S/PDIF transceiver
> +
> +maintainers:
> + - Shengjiu Wang <[email protected]>
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - fsl,imx-audio-spdif> + - enum:
> + - fsl,imx-sabreauto-spdif
> + - fsl,imx6sx-sdb-spdif

This does not make much sense. You have mixed fallback with specific
compatible. I suggest you to fix your DTS and submit proper bindings.

> + - enum:
> + - fsl,imx-audio-spdif
> +
> + model:
> + $ref: /schemas/types.yaml#/definitions/string
> + description: User specified audio sound card name
> +
> + spdif-controller:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: The phandle of the i.MX S/PDIF controller
> +
> + spdif-out:
> + type: boolean
> + description:
> + If present, the transmitting function of S/PDIF will be enabled,
> + indicating there's a physical S/PDIF out connector or jack on the
> + board or it's connecting to some other IP block, such as an HDMI
> + encoder or display-controller.
> +
> + spdif-in:
> + type: boolean
> + description:
> + If present, the receiving function of S/PDIF will be enabled,
> + indicating there is a physical S/PDIF in connector/jack on the board.
> +
> +required:
> + - compatible
> + - model
> + - spdif-controller
> +
> +anyOf:
> + - required:
> + - spdif-in
> + - required:
> + - spdif-out
> + - required:
> + - spdif-out
> + - spdif-in

Do you need the last required block?

> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + sound {

That's a random change...

Instead of sending two patches per day, please carefully address the
feedback.

> + compatible = "fsl,imx-audio-spdif";
> + model = "imx-spdif";
> + spdif-controller = <&spdif>;
> + spdif-out;
> + spdif-in;
> + };

Best regards,
Krzysztof


2024-04-08 08:02:03

by Shengjiu Wang

[permalink] [raw]
Subject: Re: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

On Mon, Apr 8, 2024 at 3:55 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 08/04/2024 09:27, Shengjiu Wang wrote:
> > Convert the imx-audio-spdif binding to YAML.
> >
> > When testing dtbs_check, found below compatible strings
> > are not listed in document:
> >
> > fsl,imx-sabreauto-spdif
> > fsl,imx6sx-sdb-spdif
> >
> > So add them in yaml file to pass the test.
> >
> > Signed-off-by: Shengjiu Wang <[email protected]>
> > ---
> > changes in v2:
> > - change file name to imx-spdif.yaml
>
> How does your compatible look like? fsl,imx-audio-spdif, so use that.

Oh, it seems I misunderstood your meaning. you think the name should
be the same as compatible string...

>
> > - remove |
> > - add anyof for spdif-in and spdif-out requirement
> > - change example name to sound
> >
>
> > diff --git a/Documentation/devicetree/bindings/sound/imx-spdif.yaml b/Documentation/devicetree/bindings/sound/imx-spdif.yaml
> > new file mode 100644
> > index 000000000000..beb214b51a50
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/imx-spdif.yaml
> > @@ -0,0 +1,70 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/sound/imx-spdif.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Freescale i.MX audio complex with S/PDIF transceiver
> > +
> > +maintainers:
> > + - Shengjiu Wang <[email protected]>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - items:
> > + - enum:
> > + - fsl,imx-audio-spdif> + - enum:
> > + - fsl,imx-sabreauto-spdif
> > + - fsl,imx6sx-sdb-spdif
>
> This does not make much sense. You have mixed fallback with specific
> compatible. I suggest you to fix your DTS and submit proper bindings.

ok.

>
> > + - enum:
> > + - fsl,imx-audio-spdif
> > +
> > + model:
> > + $ref: /schemas/types.yaml#/definitions/string
> > + description: User specified audio sound card name
> > +
> > + spdif-controller:
> > + $ref: /schemas/types.yaml#/definitions/phandle
> > + description: The phandle of the i.MX S/PDIF controller
> > +
> > + spdif-out:
> > + type: boolean
> > + description:
> > + If present, the transmitting function of S/PDIF will be enabled,
> > + indicating there's a physical S/PDIF out connector or jack on the
> > + board or it's connecting to some other IP block, such as an HDMI
> > + encoder or display-controller.
> > +
> > + spdif-in:
> > + type: boolean
> > + description:
> > + If present, the receiving function of S/PDIF will be enabled,
> > + indicating there is a physical S/PDIF in connector/jack on the board.
> > +
> > +required:
> > + - compatible
> > + - model
> > + - spdif-controller
> > +
> > +anyOf:
> > + - required:
> > + - spdif-in
> > + - required:
> > + - spdif-out
> > + - required:
> > + - spdif-out
> > + - spdif-in
>
> Do you need the last required block?

Yes, one of them or both are required.

>
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + sound {
>
> That's a random change...
>
> Instead of sending two patches per day, please carefully address the
> feedback.

In v1 you suggest to change it to spdif? but spdif may conflict
with the fsl,spdif.yaml. so which name I should use?

best regards
wang shengjiu
>
> > + compatible = "fsl,imx-audio-spdif";
> > + model = "imx-spdif";
> > + spdif-controller = <&spdif>;
> > + spdif-out;
> > + spdif-in;
> > + };
>
> Best regards,
> Krzysztof
>

2024-04-08 15:06:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

On 08/04/2024 10:01, Shengjiu Wang wrote:
>>> +
>>> +anyOf:
>>> + - required:
>>> + - spdif-in
>>> + - required:
>>> + - spdif-out
>>> + - required:
>>> + - spdif-out
>>> + - spdif-in
>>
>> Do you need the last required block?
>
> Yes, one of them or both are required.

And? It's already there: that's the meaning of any. It is not oneOf...
Before answering please test your changes and ideas. I pointed issue
here and you responded just to close my comment. That does not make me
happy, just wastes my time.

>
>>
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + sound {
>>
>> That's a random change...
>>
>> Instead of sending two patches per day, please carefully address the
>> feedback.
>
> In v1 you suggest to change it to spdif? but spdif may conflict
> with the fsl,spdif.yaml. so which name I should use?

I don't understand where is the conflict. That's a different binding.

Best regards,
Krzysztof


2024-04-09 01:38:31

by Shengjiu Wang

[permalink] [raw]
Subject: Re: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

On Mon, Apr 8, 2024 at 11:06 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 08/04/2024 10:01, Shengjiu Wang wrote:
> >>> +
> >>> +anyOf:
> >>> + - required:
> >>> + - spdif-in
> >>> + - required:
> >>> + - spdif-out
> >>> + - required:
> >>> + - spdif-out
> >>> + - spdif-in
> >>
> >> Do you need the last required block?
> >
> > Yes, one of them or both are required.
>
> And? It's already there: that's the meaning of any. It is not oneOf...
> Before answering please test your changes and ideas. I pointed issue
> here and you responded just to close my comment. That does not make me
> happy, just wastes my time.

Maybe I didn't express clearly.

we need at least one of them (spdif-in, spdif-out) in the node. which means
that we need to select "spdif-in", or "spdif-out", or "spdif-in and
spdif-out".

So my understanding is that need to use "anyOf", if it is wrong, please let
me know.

>
> >
> >>
> >>> +
> >>> +additionalProperties: false
> >>> +
> >>> +examples:
> >>> + - |
> >>> + sound {
> >>
> >> That's a random change...

So I can use "sound-spdif", right?

best regards
wang shengjiu

> >>
> >> Instead of sending two patches per day, please carefully address the
> >> feedback.
> >
> > In v1 you suggest to change it to spdif? but spdif may conflict
> > with the fsl,spdif.yaml. so which name I should use?
>
> I don't understand where is the conflict. That's a different binding.
>
>

2024-04-09 06:30:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

On 09/04/2024 03:37, Shengjiu Wang wrote:
> On Mon, Apr 8, 2024 at 11:06 PM Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> On 08/04/2024 10:01, Shengjiu Wang wrote:
>>>>> +
>>>>> +anyOf:
>>>>> + - required:
>>>>> + - spdif-in
>>>>> + - required:
>>>>> + - spdif-out
>>>>> + - required:
>>>>> + - spdif-out
>>>>> + - spdif-in
>>>>
>>>> Do you need the last required block?
>>>
>>> Yes, one of them or both are required.
>>
>> And? It's already there: that's the meaning of any. It is not oneOf...
>> Before answering please test your changes and ideas. I pointed issue
>> here and you responded just to close my comment. That does not make me
>> happy, just wastes my time.
>
> Maybe I didn't express clearly.
>
> we need at least one of them (spdif-in, spdif-out) in the node. which means
> that we need to select "spdif-in", or "spdif-out", or "spdif-in and
> spdif-out".
>
> So my understanding is that need to use "anyOf", if it is wrong, please let
> me know.

Third time: it is wrong.

Can you test the code instead continuing this discussion

Best regards,
Krzysztof


2024-04-09 06:52:39

by Shengjiu Wang

[permalink] [raw]
Subject: Re: [PATCH v2] ASoC: dt-bindings: imx-audio-spdif: convert to YAML

On Tue, Apr 9, 2024 at 2:30 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 09/04/2024 03:37, Shengjiu Wang wrote:
> > On Mon, Apr 8, 2024 at 11:06 PM Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> On 08/04/2024 10:01, Shengjiu Wang wrote:
> >>>>> +
> >>>>> +anyOf:
> >>>>> + - required:
> >>>>> + - spdif-in
> >>>>> + - required:
> >>>>> + - spdif-out
> >>>>> + - required:
> >>>>> + - spdif-out
> >>>>> + - spdif-in
> >>>>
> >>>> Do you need the last required block?
> >>>
> >>> Yes, one of them or both are required.
> >>
> >> And? It's already there: that's the meaning of any. It is not oneOf...
> >> Before answering please test your changes and ideas. I pointed issue
> >> here and you responded just to close my comment. That does not make me
> >> happy, just wastes my time.
> >
> > Maybe I didn't express clearly.
> >
> > we need at least one of them (spdif-in, spdif-out) in the node. which means
> > that we need to select "spdif-in", or "spdif-out", or "spdif-in and
> > spdif-out".
> >
> > So my understanding is that need to use "anyOf", if it is wrong, please let
> > me know.
>
> Third time: it is wrong.
>
> Can you test the code instead continuing this discussion

Every time I change I definitely do dtbs_check test.
But There is no error reported by dtbs_check.

But finally I understand that
anyOf:
- required:
- spdif-in
- required:
- spdif-out
- required:
- spdif-out
- spdif-in

is equal to:
anyOf:
- required:
- spdif-in
- required:
- spdif-out

best regards
Shengjiu Wang