All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerome Brunet <jbrunet@baylibre.com>
To: Rob Herring <robh@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Rohit kumar <rohitkr@codeaurora.org>,
	Cheng-Yi Chiang <cychiang@chromium.org>,
	Shengjiu Wang <shengjiu.wang@nxp.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	Jonathan Bakker <xc-racer2@live.ca>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
	alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH] ASoC: dt-bindings: Centralize the 'sound-dai' definition
Date: Thu, 27 Jan 2022 10:00:53 +0100	[thread overview]
Message-ID: <1jtudp1rc1.fsf@starbuckisacylon.baylibre.com> (raw)
In-Reply-To: <20220126231427.1638089-1-robh@kernel.org>


On Wed 26 Jan 2022 at 17:14, Rob Herring <robh@kernel.org> wrote:

> 'sound-dai' is a common property, but has duplicate type definitions.
> Create a new common definition to define the type and then update all
> the other occurrences to just define how many entries there are just
> like other phandle+arg properties.
>
> The constraints on the number of entries is based on the examples and
> could be wrong.
>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Please ack, this depends on commit abf0fee97313 ("dt-bindings: Improve
> phandle-array schemas") in my tree.
> ---
>  .../bindings/sound/amlogic,gx-sound-card.yaml |  4 ++--
>  .../bindings/sound/google,sc7180-trogdor.yaml |  6 ++++--
>  .../bindings/sound/imx-audio-card.yaml        |  7 +++++--
>  .../bindings/sound/qcom,sm8250.yaml           | 10 +++++++---
>  .../bindings/sound/samsung,aries-wm8994.yaml  |  5 +----
>  .../bindings/sound/samsung,midas-audio.yaml   |  2 --
>  .../bindings/sound/samsung,odroid.yaml        |  9 +++------
>  .../devicetree/bindings/sound/sound-dai.yaml  | 20 +++++++++++++++++++
>  8 files changed, 42 insertions(+), 21 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/sound-dai.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> index 2e35aeaa8781..8b5be4b92f35 100644
> --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> @@ -57,7 +57,7 @@ patternProperties:
>            rate
>  
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> +        maxItems: 1
>          description: phandle of the CPU DAI
>  
>      patternProperties:
> @@ -71,7 +71,7 @@ patternProperties:
>  
>          properties:
>            sound-dai:
> -            $ref: /schemas/types.yaml#/definitions/phandle-array
> +            maxItems: 1

No min or max here. Links may have more than one codec.

Ex:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts#n158

>              description: phandle of the codec DAI
>  
>          required:
> diff --git a/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml b/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> index 837e3faa63a9..233caa0ade87 100644
> --- a/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> +++ b/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> @@ -62,13 +62,15 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>      required:
>        - link-name
> diff --git a/Documentation/devicetree/bindings/sound/imx-audio-card.yaml b/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> index d1816dd061cf..bb3a435722c7 100644
> --- a/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> @@ -59,13 +59,16 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 2
>  
>        fsl,mclk-equal-bclk:
>          description: Indicates mclk can be equal to bclk, especially for sai interface
> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> index 4bfda04b4608..4ecd4080bb96 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> @@ -69,19 +69,23 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        platform:
>          description: Holds subnode which indicates platform dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 4
>  
>      required:
>        - link-name
> diff --git a/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml b/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> index eb487ed3ca3b..4ffa275b3c49 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> @@ -27,9 +27,6 @@ properties:
>        sound-dai:
>          minItems: 2
>          maxItems: 2
> -        items:
> -          maxItems: 1
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          description: |
>            phandles to the I2S controller and bluetooth codec,
>            in that order
> @@ -38,7 +35,7 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> +        maxItems: 1
>          description: phandle to the WM8994 CODEC
>  
>    samsung,audio-routing:
> diff --git a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> index 095775c598fa..ec50bcb4af5f 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> @@ -21,7 +21,6 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          maxItems: 1
>          description: phandle to the I2S controller
>      required:
> @@ -31,7 +30,6 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          maxItems: 1
>          description: phandle to the WM1811 CODEC
>      required:
> diff --git a/Documentation/devicetree/bindings/sound/samsung,odroid.yaml b/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> index e8122bc87362..db2513f3e168 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> @@ -37,18 +37,15 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          description: phandles to the I2S controllers
>  
>    codec:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> -        description: |
> -          List of phandles to the CODEC nodes,
> -          first entry must be corresponding to the MAX98090 CODEC and
> -          the second entry must be the phandle of the HDMI IP block node.
> +        items:
> +          - description: phandle of the MAX98090 CODEC
> +          - description: phandle of the HDMI IP block node
>  
>    samsung,audio-routing:
>      $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> diff --git a/Documentation/devicetree/bindings/sound/sound-dai.yaml b/Documentation/devicetree/bindings/sound/sound-dai.yaml
> new file mode 100644
> index 000000000000..61c6f7abc4e7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/sound-dai.yaml
> @@ -0,0 +1,20 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/sound-dai.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Digital Audio Interface consumer Device Tree Bindings
> +
> +maintainers:
> +  - Rob Herring <robh@kernel.org>
> +
> +select: true
> +
> +properties:
> +  sound-dai:
> +    $ref: /schemas/types.yaml#/definitions/phandle-array
> +    description: A phandle plus args to digital audio interface provider(s)
> +
> +additionalProperties: true
> +...


WARNING: multiple messages have this Message-ID (diff)
From: Jerome Brunet <jbrunet@baylibre.com>
To: Rob Herring <robh@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Rohit kumar <rohitkr@codeaurora.org>,
	Cheng-Yi Chiang <cychiang@chromium.org>,
	Shengjiu Wang <shengjiu.wang@nxp.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	Jonathan Bakker <xc-racer2@live.ca>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	Krzysztof Kozlowski <krzk@kernel.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] ASoC: dt-bindings: Centralize the 'sound-dai' definition
Date: Thu, 27 Jan 2022 10:00:53 +0100	[thread overview]
Message-ID: <1jtudp1rc1.fsf@starbuckisacylon.baylibre.com> (raw)
In-Reply-To: <20220126231427.1638089-1-robh@kernel.org>


On Wed 26 Jan 2022 at 17:14, Rob Herring <robh@kernel.org> wrote:

> 'sound-dai' is a common property, but has duplicate type definitions.
> Create a new common definition to define the type and then update all
> the other occurrences to just define how many entries there are just
> like other phandle+arg properties.
>
> The constraints on the number of entries is based on the examples and
> could be wrong.
>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Please ack, this depends on commit abf0fee97313 ("dt-bindings: Improve
> phandle-array schemas") in my tree.
> ---
>  .../bindings/sound/amlogic,gx-sound-card.yaml |  4 ++--
>  .../bindings/sound/google,sc7180-trogdor.yaml |  6 ++++--
>  .../bindings/sound/imx-audio-card.yaml        |  7 +++++--
>  .../bindings/sound/qcom,sm8250.yaml           | 10 +++++++---
>  .../bindings/sound/samsung,aries-wm8994.yaml  |  5 +----
>  .../bindings/sound/samsung,midas-audio.yaml   |  2 --
>  .../bindings/sound/samsung,odroid.yaml        |  9 +++------
>  .../devicetree/bindings/sound/sound-dai.yaml  | 20 +++++++++++++++++++
>  8 files changed, 42 insertions(+), 21 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/sound-dai.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> index 2e35aeaa8781..8b5be4b92f35 100644
> --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> @@ -57,7 +57,7 @@ patternProperties:
>            rate
>  
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> +        maxItems: 1
>          description: phandle of the CPU DAI
>  
>      patternProperties:
> @@ -71,7 +71,7 @@ patternProperties:
>  
>          properties:
>            sound-dai:
> -            $ref: /schemas/types.yaml#/definitions/phandle-array
> +            maxItems: 1

No min or max here. Links may have more than one codec.

Ex:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts#n158

>              description: phandle of the codec DAI
>  
>          required:
> diff --git a/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml b/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> index 837e3faa63a9..233caa0ade87 100644
> --- a/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> +++ b/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> @@ -62,13 +62,15 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>      required:
>        - link-name
> diff --git a/Documentation/devicetree/bindings/sound/imx-audio-card.yaml b/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> index d1816dd061cf..bb3a435722c7 100644
> --- a/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> @@ -59,13 +59,16 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 2
>  
>        fsl,mclk-equal-bclk:
>          description: Indicates mclk can be equal to bclk, especially for sai interface
> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> index 4bfda04b4608..4ecd4080bb96 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> @@ -69,19 +69,23 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        platform:
>          description: Holds subnode which indicates platform dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 4
>  
>      required:
>        - link-name
> diff --git a/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml b/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> index eb487ed3ca3b..4ffa275b3c49 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> @@ -27,9 +27,6 @@ properties:
>        sound-dai:
>          minItems: 2
>          maxItems: 2
> -        items:
> -          maxItems: 1
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          description: |
>            phandles to the I2S controller and bluetooth codec,
>            in that order
> @@ -38,7 +35,7 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> +        maxItems: 1
>          description: phandle to the WM8994 CODEC
>  
>    samsung,audio-routing:
> diff --git a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> index 095775c598fa..ec50bcb4af5f 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> @@ -21,7 +21,6 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          maxItems: 1
>          description: phandle to the I2S controller
>      required:
> @@ -31,7 +30,6 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          maxItems: 1
>          description: phandle to the WM1811 CODEC
>      required:
> diff --git a/Documentation/devicetree/bindings/sound/samsung,odroid.yaml b/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> index e8122bc87362..db2513f3e168 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> @@ -37,18 +37,15 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          description: phandles to the I2S controllers
>  
>    codec:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> -        description: |
> -          List of phandles to the CODEC nodes,
> -          first entry must be corresponding to the MAX98090 CODEC and
> -          the second entry must be the phandle of the HDMI IP block node.
> +        items:
> +          - description: phandle of the MAX98090 CODEC
> +          - description: phandle of the HDMI IP block node
>  
>    samsung,audio-routing:
>      $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> diff --git a/Documentation/devicetree/bindings/sound/sound-dai.yaml b/Documentation/devicetree/bindings/sound/sound-dai.yaml
> new file mode 100644
> index 000000000000..61c6f7abc4e7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/sound-dai.yaml
> @@ -0,0 +1,20 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/sound-dai.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Digital Audio Interface consumer Device Tree Bindings
> +
> +maintainers:
> +  - Rob Herring <robh@kernel.org>
> +
> +select: true
> +
> +properties:
> +  sound-dai:
> +    $ref: /schemas/types.yaml#/definitions/phandle-array
> +    description: A phandle plus args to digital audio interface provider(s)
> +
> +additionalProperties: true
> +...


WARNING: multiple messages have this Message-ID (diff)
From: Jerome Brunet <jbrunet@baylibre.com>
To: Rob Herring <robh@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Rohit kumar <rohitkr@codeaurora.org>,
	Cheng-Yi Chiang <cychiang@chromium.org>,
	Shengjiu Wang <shengjiu.wang@nxp.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	Jonathan Bakker <xc-racer2@live.ca>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
	alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH] ASoC: dt-bindings: Centralize the 'sound-dai' definition
Date: Thu, 27 Jan 2022 10:00:53 +0100	[thread overview]
Message-ID: <1jtudp1rc1.fsf@starbuckisacylon.baylibre.com> (raw)
In-Reply-To: <20220126231427.1638089-1-robh@kernel.org>


On Wed 26 Jan 2022 at 17:14, Rob Herring <robh@kernel.org> wrote:

> 'sound-dai' is a common property, but has duplicate type definitions.
> Create a new common definition to define the type and then update all
> the other occurrences to just define how many entries there are just
> like other phandle+arg properties.
>
> The constraints on the number of entries is based on the examples and
> could be wrong.
>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Please ack, this depends on commit abf0fee97313 ("dt-bindings: Improve
> phandle-array schemas") in my tree.
> ---
>  .../bindings/sound/amlogic,gx-sound-card.yaml |  4 ++--
>  .../bindings/sound/google,sc7180-trogdor.yaml |  6 ++++--
>  .../bindings/sound/imx-audio-card.yaml        |  7 +++++--
>  .../bindings/sound/qcom,sm8250.yaml           | 10 +++++++---
>  .../bindings/sound/samsung,aries-wm8994.yaml  |  5 +----
>  .../bindings/sound/samsung,midas-audio.yaml   |  2 --
>  .../bindings/sound/samsung,odroid.yaml        |  9 +++------
>  .../devicetree/bindings/sound/sound-dai.yaml  | 20 +++++++++++++++++++
>  8 files changed, 42 insertions(+), 21 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/sound-dai.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> index 2e35aeaa8781..8b5be4b92f35 100644
> --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> @@ -57,7 +57,7 @@ patternProperties:
>            rate
>  
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> +        maxItems: 1
>          description: phandle of the CPU DAI
>  
>      patternProperties:
> @@ -71,7 +71,7 @@ patternProperties:
>  
>          properties:
>            sound-dai:
> -            $ref: /schemas/types.yaml#/definitions/phandle-array
> +            maxItems: 1

No min or max here. Links may have more than one codec.

Ex:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts#n158

>              description: phandle of the codec DAI
>  
>          required:
> diff --git a/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml b/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> index 837e3faa63a9..233caa0ade87 100644
> --- a/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> +++ b/Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml
> @@ -62,13 +62,15 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>      required:
>        - link-name
> diff --git a/Documentation/devicetree/bindings/sound/imx-audio-card.yaml b/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> index d1816dd061cf..bb3a435722c7 100644
> --- a/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/imx-audio-card.yaml
> @@ -59,13 +59,16 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 2
>  
>        fsl,mclk-equal-bclk:
>          description: Indicates mclk can be equal to bclk, especially for sai interface
> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> index 4bfda04b4608..4ecd4080bb96 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> @@ -69,19 +69,23 @@ patternProperties:
>          description: Holds subnode which indicates cpu dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        platform:
>          description: Holds subnode which indicates platform dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            maxItems: 1
>  
>        codec:
>          description: Holds subnode which indicates codec dai.
>          type: object
>          properties:
> -          sound-dai: true
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 4
>  
>      required:
>        - link-name
> diff --git a/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml b/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> index eb487ed3ca3b..4ffa275b3c49 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
> @@ -27,9 +27,6 @@ properties:
>        sound-dai:
>          minItems: 2
>          maxItems: 2
> -        items:
> -          maxItems: 1
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          description: |
>            phandles to the I2S controller and bluetooth codec,
>            in that order
> @@ -38,7 +35,7 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> +        maxItems: 1
>          description: phandle to the WM8994 CODEC
>  
>    samsung,audio-routing:
> diff --git a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> index 095775c598fa..ec50bcb4af5f 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> @@ -21,7 +21,6 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          maxItems: 1
>          description: phandle to the I2S controller
>      required:
> @@ -31,7 +30,6 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          maxItems: 1
>          description: phandle to the WM1811 CODEC
>      required:
> diff --git a/Documentation/devicetree/bindings/sound/samsung,odroid.yaml b/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> index e8122bc87362..db2513f3e168 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,odroid.yaml
> @@ -37,18 +37,15 @@ properties:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
>          description: phandles to the I2S controllers
>  
>    codec:
>      type: object
>      properties:
>        sound-dai:
> -        $ref: /schemas/types.yaml#/definitions/phandle-array
> -        description: |
> -          List of phandles to the CODEC nodes,
> -          first entry must be corresponding to the MAX98090 CODEC and
> -          the second entry must be the phandle of the HDMI IP block node.
> +        items:
> +          - description: phandle of the MAX98090 CODEC
> +          - description: phandle of the HDMI IP block node
>  
>    samsung,audio-routing:
>      $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> diff --git a/Documentation/devicetree/bindings/sound/sound-dai.yaml b/Documentation/devicetree/bindings/sound/sound-dai.yaml
> new file mode 100644
> index 000000000000..61c6f7abc4e7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/sound-dai.yaml
> @@ -0,0 +1,20 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/sound-dai.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Digital Audio Interface consumer Device Tree Bindings
> +
> +maintainers:
> +  - Rob Herring <robh@kernel.org>
> +
> +select: true
> +
> +properties:
> +  sound-dai:
> +    $ref: /schemas/types.yaml#/definitions/phandle-array
> +    description: A phandle plus args to digital audio interface provider(s)
> +
> +additionalProperties: true
> +...


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-01-27  9:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-26 23:14 [PATCH] ASoC: dt-bindings: Centralize the 'sound-dai' definition Rob Herring
2022-01-26 23:14 ` Rob Herring
2022-01-26 23:14 ` Rob Herring
2022-01-27  7:28 ` Krzysztof Kozlowski
2022-01-27  7:28   ` Krzysztof Kozlowski
2022-01-27  7:28   ` Krzysztof Kozlowski
2022-01-27  9:00 ` Jerome Brunet [this message]
2022-01-27  9:00   ` Jerome Brunet
2022-01-27  9:00   ` Jerome Brunet
2022-01-27 14:35   ` Rob Herring
2022-01-27 14:35     ` Rob Herring
2022-01-27 14:35     ` Rob Herring
2022-01-27 16:20     ` Jerome Brunet
2022-01-27 16:20       ` Jerome Brunet
2022-01-27 16:20       ` Jerome Brunet
2022-01-28 13:06 ` Mark Brown
2022-01-28 13:06   ` Mark Brown
2022-01-28 13:06   ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1jtudp1rc1.fsf@starbuckisacylon.baylibre.com \
    --to=jbrunet@baylibre.com \
    --cc=agross@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=cychiang@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=rohitkr@codeaurora.org \
    --cc=s.hauer@pengutronix.de \
    --cc=s.nawrocki@samsung.com \
    --cc=shawnguo@kernel.org \
    --cc=shengjiu.wang@nxp.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=xc-racer2@live.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.