Unverified Commit 7f8b5b24 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: dt-bindings: renesas,rsnd.yaml: add R-Car Gen4 support

There are no compatible for "reg/reg-names" and "clock-name"
between previous R-Car series and R-Car Gen4.

"reg/reg-names" needs 3 categorize (for Gen1, for Gen2/Gen3, for Gen4),
therefore, use 3 if-then to avoid nested if-then-else.

Move "clock-name" detail properties to under allOf to use if-then-else
for Gen4 or others.

Link: https://lore.kernel.org/all/87zg9vk0ex.wl-kuninori.morimoto.gx@renesas.com/#r
Link: https://lore.kernel.org/all/87r0v2uvm7.wl-kuninori.morimoto.gx@renesas.com/#r
Link: https://lore.kernel.org/all/87r0v1t02h.wl-kuninori.morimoto.gx@renesas.com/#r
Link: https://lore.kernel.org/all/87y1p7bpma.wl-kuninori.morimoto.gx@renesas.com/#r


Reported-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/87sffa8g99.wl-kuninori.morimoto.gx@renesas.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 587cbe99
Loading
Loading
Loading
Loading
+64 −12
Original line number Diff line number Diff line
@@ -101,17 +101,7 @@ properties:

  clock-names:
    description: List of necessary clock names.
    minItems: 1
    maxItems: 31
    items:
      oneOf:
        - const: ssi-all
        - pattern: '^ssi\.[0-9]$'
        - pattern: '^src\.[0-9]$'
        - pattern: '^mix\.[0-1]$'
        - pattern: '^ctu\.[0-1]$'
        - pattern: '^dvc\.[0-1]$'
        - pattern: '^clk_(a|b|c|i)$'
    # details are defined below

  ports:
    $ref: audio-graph-port.yaml#/definitions/port-base
@@ -288,6 +278,11 @@ required:

allOf:
  - $ref: dai-common.yaml#

  #--------------------
  # reg/reg-names
  #--------------------
  # for Gen1
  - if:
      properties:
        compatible:
@@ -303,7 +298,15 @@ allOf:
              - scu
              - ssi
              - adg
    else:
  # for Gen2/Gen3
  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,rcar_sound-gen2
              - renesas,rcar_sound-gen3
    then:
      properties:
        reg:
          minItems: 5
@@ -315,6 +318,55 @@ allOf:
              - ssiu
              - ssi
              - audmapp
  # for Gen4
  - if:
      properties:
        compatible:
          contains:
            const: renesas,rcar_sound-gen4
    then:
      properties:
        reg:
          maxItems: 4
        reg-names:
          items:
            enum:
              - adg
              - ssiu
              - ssi
              - sdmc

  #--------------------
  # clock-names
  #--------------------
  - if:
      properties:
        compatible:
          contains:
            const: renesas,rcar_sound-gen4
    then:
      properties:
        clock-names:
          maxItems: 3
          items:
            enum:
              - ssi.0
              - ssiu.0
              - clkin
    else:
      properties:
        clock-names:
          minItems: 1
          maxItems: 31
          items:
            oneOf:
              - const: ssi-all
              - pattern: '^ssi\.[0-9]$'
              - pattern: '^src\.[0-9]$'
              - pattern: '^mix\.[0-1]$'
              - pattern: '^ctu\.[0-1]$'
              - pattern: '^dvc\.[0-1]$'
              - pattern: '^clk_(a|b|c|i)$'

unevaluatedProperties: false