From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> R-Car Gen4 is not compatible with Gen3, this patch adjusts to R-Car Gen4. By this patch, "dmas/dma-names" under "rcar_sound,ssi" are dropped from "required:" property, because (A) these are not mandatory if it was PIO transfer mode, (B) Json schema if-then-else doesn't work correctly on there for some reasons. see the Link for detail. Link: https://lore.kernel.org/r/CAMuHMdW_QHmODAKvn_GwHHUWw-=z4Tdq0NkhdK2u2piG_YgB-Q@xxxxxxxxxxxxxx Link: https://lore.kernel.org/all/87zg9vk0ex.wl-kuninori.morimoto.gx@xxxxxxxxxxx/#r Link: https://lore.kernel.org/all/87r0v2uvm7.wl-kuninori.morimoto.gx@xxxxxxxxxxx/#r Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> --- .../bindings/sound/renesas,rsnd.yaml | 72 ++++++++++++++----- 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml b/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml index c3bea5b0ec40..3214ca9bcc78 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml @@ -99,20 +99,6 @@ properties: minItems: 1 maxItems: 31 - 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)$' - ports: $ref: audio-graph-port.yaml#/definitions/port-base unevaluatedProperties: false @@ -256,8 +242,6 @@ properties: $ref: /schemas/types.yaml#/definitions/flag required: - interrupts - - dmas - - dma-names additionalProperties: false # For DAI base @@ -305,7 +289,14 @@ allOf: - scu - ssi - adg - else: + - if: + properties: + compatible: + contains: + enum: + - renesas,rcar_sound-gen2 + - renesas,rcar_sound-gen3 + then: properties: reg: minItems: 5 @@ -317,6 +308,53 @@ allOf: - ssiu - ssi - audmapp + - if: + properties: + compatible: + contains: + const: renesas,rcar_sound-gen4 + then: + properties: + reg: + minItems: 4 + reg-names: + items: + enum: + - adg + - ssiu + - ssi + - sdmc + + - if: + properties: + compatible: + contains: + const: renesas,rcar_sound-gen4 + then: + properties: + clock-names: + description: List of necessary clock names. + minItems: 3 + items: + enum: + - ssi.0 + - ssiu.0 + - clkin + else: + 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)$' unevaluatedProperties: false -- 2.25.1