Unverified Commit ffb2bbdf authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Mark Brown
Browse files

ASoC: dt-bindings: qcom,lpass-cpu: Correct and constrain clocks, interrupts, reg



The binding allowed multiple variations and number of
reg/interrupts/clocks properties for SC7180 and SC7280.  Maybe this was
done for different use-cases of LPASS CPU audio node, but DTS is
supposed to be a complete picture of the hardware.  The upstreamed
SC7180 and SC7280 DTSes contain the widest set of these
reg/interrupts/clocks, sometimes being even sum of these different
variations.

Correct and narrow the reg, interrupts and clocks to match existing DTS:

  sc7280-herobrine-evoker-lte.dtb: audio@3987000: clock-names: 'oneOf' conditional failed, one must be fixed:
    ['aon_cc_audio_hm_h', 'audio_cc_ext_mclk0', 'core_cc_sysnoc_mport_core', 'core_cc_ext_if0_ibit', 'core_cc_ext_if1_ibit',
     'audio_cc_codec_mem', 'audio_cc_codec_mem0', 'audio_cc_codec_mem1', 'audio_cc_codec_mem2', 'aon_cc_va_mem0'] is too long
    'core_cc_sysnoc_mport_core' was expected
    'audio_cc_codec_mem' was expected
    'audio_cc_codec_mem0' was expected
    'audio_cc_codec_mem1' was expected
    'audio_cc_codec_mem2' was expected
    'aon_cc_va_mem0' was expected

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221227163135.102559-3-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 5f9cd0f7
Loading
Loading
Loading
Loading
+62 −69
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ properties:

  clocks:
    minItems: 3
    maxItems: 7
    maxItems: 10

  clock-names:
    minItems: 1
@@ -124,6 +124,8 @@ allOf:

    then:
      properties:
        clocks:
          maxItems: 3
        clock-names:
          items:
            - const: ahbix-clk
@@ -138,6 +140,9 @@ allOf:

    then:
      properties:
        clocks:
          minItems: 7
          maxItems: 7
        clock-names:
          items:
            - const: ahbix-clk
@@ -156,31 +161,29 @@ allOf:

    then:
      properties:
        clocks:
          minItems: 6
          maxItems: 6
        clock-names:
          oneOf:
            - items:   #for I2S
          items:
            - const: pcnoc-sway-clk
            - const: audio-core
            - const: mclk0
            - const: pcnoc-mport-clk
            - const: mi2s-bit-clk0
            - const: mi2s-bit-clk1
            - items:   #for HDMI
                - const: pcnoc-sway-clk
                - const: audio-core
                - const: pcnoc-mport-clk
        reg:
          minItems: 2
          maxItems: 2
        reg-names:
          anyOf:
            - items:   #for I2S
                - const: lpass-lpaif
            - items:   #for I2S and HDMI
          items:
            - const: lpass-hdmiif
            - const: lpass-lpaif
        interrupts:
          minItems: 2
          maxItems: 2
        interrupt-names:
          anyOf:
            - items:   #for I2S
                - const: lpass-irq-lpaif
            - items:   #for I2S and HDMI
          items:
            - const: lpass-irq-lpaif
            - const: lpass-irq-hdmi
      required:
@@ -195,53 +198,43 @@ allOf:

    then:
      properties:
        clocks:
          minItems: 10
          maxItems: 10
        clock-names:
          oneOf:
            - items:   #for I2S
          items:
            - const: aon_cc_audio_hm_h
            - const: audio_cc_ext_mclk0
            - const: core_cc_sysnoc_mport_core
            - const: core_cc_ext_if0_ibit
            - const: core_cc_ext_if1_ibit
            - items:   #for Soundwire
                - const: aon_cc_audio_hm_h
            - const: audio_cc_codec_mem
            - const: audio_cc_codec_mem0
            - const: audio_cc_codec_mem1
            - const: audio_cc_codec_mem2
            - const: aon_cc_va_mem0
            - items:   #for HDMI
                - const: core_cc_sysnoc_mport_core

        reg:
          minItems: 6
          maxItems: 6
        reg-names:
          anyOf:
            - items:   #for I2S
                - const: lpass-lpaif
            - items:   #for I2S and HDMI
                - const: lpass-hdmiif
                - const: lpass-lpaif
            - items:   #for I2S, soundwire and HDMI
          items:
            - const: lpass-hdmiif
            - const: lpass-lpaif
            - const: lpass-rxtx-cdc-dma-lpm
            - const: lpass-rxtx-lpaif
            - const: lpass-va-lpaif
            - const: lpass-va-cdc-dma-lpm
        interrupts:
          minItems: 4
          maxItems: 4
        interrupt-names:
          anyOf:
            - items:   #for I2S
                - const: lpass-irq-lpaif
            - items:   #for I2S and HDMI
                - const: lpass-irq-lpaif
                - const: lpass-irq-hdmi
            - items:   #for I2S, soundwire and HDMI
          items:
            - const: lpass-irq-lpaif
            - const: lpass-irq-hdmi
            - const: lpass-irq-vaif
            - const: lpass-irq-rxtxif
        power-domain-names:
          allOf:
            - items:
          items:
            - const: lcx

      required: