Re: [PATCH v2 3/4] ASoC: dt-bindings: apq8016-sbc: Add msm8953/msm8976-qdsp6-sndcard

From: Dmitry Baryshkov
Date: Sat Jul 27 2024 - 18:18:34 EST


On Sat, Jul 27, 2024 at 08:20:26PM GMT, Adam Skladowski wrote:
> Document MSM8953/MSM8976 QDSP6 cards.
>
> Signed-off-by: Adam Skladowski <a39.skl@xxxxxxxxx>
> ---
> .../sound/qcom,apq8016-sbc-sndcard.yaml | 51 ++++++++++++++++---
> 1 file changed, 45 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml
> index 6ad451549036..1706ce334d2f 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml
> @@ -15,16 +15,16 @@ properties:
> enum:
> - qcom,apq8016-sbc-sndcard
> - qcom,msm8916-qdsp6-sndcard
> + - qcom,msm8953-qdsp6-sndcard
> + - qcom,msm8976-qdsp6-sndcard
>
> reg:
> - items:
> - - description: Microphone I/O mux register address
> - - description: Speaker I/O mux register address
> + minItems: 2
> + maxItems: 3
>
> reg-names:
> - items:
> - - const: mic-iomux
> - - const: spkr-iomux
> + minItems: 2
> + maxItems: 3
>
> audio-routing:
> $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> @@ -106,6 +106,45 @@ required:
> - reg-names
> - model
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,apq8016-sbc-sndcard
> + - qcom,msm8916-qdsp6-sndcard
> + then:
> + properties:
> + reg:
> + items:
> + - description: Microphone I/O mux register address
> + - description: Speaker I/O mux register address
> + reg-names:
> + items:
> + - const: mic-iomux
> + - const: spkr-iomux
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,msm8953-qdsp6-sndcard
> + - qcom,msm8976-qdsp6-sndcard
> + then:
> + properties:
> + reg:
> + items:
> + - description: Microphone I/O mux register address
> + - description: Speaker I/O mux register address
> + - description: Quinary Mi2S I/O mux register address
> + reg-names:
> + items:
> + - const: mic-iomux
> + - const: spkr-iomux
> + - const: quin-iomux

As msm8953 / msm8976 just add one new region it might be better to
move the lists back to top-level definitions (still having mix/maxItems
next to it) and then in the conditional branches just specify maxItems:2
for apq8016/msm8916 and maxItems:3 for msm8953/msm8976.

This way it becomes:

reg:
items:
- description: Microphone I/O mux register address
- description: Speaker I/O mux register address
minItems: 2
maxItems: 3

# same for reg-names

[....]

- if:
properties:
compatible:
contains:
enum:
- qcom,apq8016-sbc-sndcard
- qcom,msm8916-qdsp6-sndcard
then:
properties:
reg:
maxItems: 2
reg-names:
maxItems: 2
else:
properties:
reg:
maxItems: 3
reg-names:
maxItems: 3


> +
> additionalProperties: false
>
> examples:
> --
> 2.45.2
>

--
With best wishes
Dmitry