[PATCH] ASoC: dt-bindings: Centralize the 'sound-dai' definition
Jerome Brunet
jbrunet at baylibre.com
Thu Jan 27 10:00:53 CET 2022
On Wed 26 Jan 2022 at 17:14, Rob Herring <robh at 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 at canonical.com>
> Signed-off-by: Rob Herring <robh at 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 at 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
> +...
More information about the Alsa-devel
mailing list