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