Commit 466c8ef7 authored by Biju Das's avatar Biju Das Committed by Marc Kleine-Budde
Browse files

dt-bindings: can: renesas,rcar-canfd: Simplify the conditional schema



RZ/G3E SoC has 20 interrupts, 2 resets and 6 channels that need more
branching with conditional schema. Simplify the conditional schema with
if statements rather than the complex if-else statements to prepare for
supporting RZ/G3E SoC.

Acked-by: default avatarConor Dooley <conor.dooley@microchip.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20250417054320.14100-2-biju.das.jz@bp.renesas.com


Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 9ab0ac0e
Loading
Loading
Loading
Loading
+60 −39
Original line number Diff line number Diff line
@@ -45,7 +45,35 @@ properties:
  reg:
    maxItems: 1

  interrupts: true
  interrupts:
    oneOf:
      - items:
          - description: Channel interrupt
          - description: Global interrupt
      - items:
          - description: CAN global error interrupt
          - description: CAN receive FIFO interrupt
          - description: CAN0 error interrupt
          - description: CAN0 transmit interrupt
          - description: CAN0 transmit/receive FIFO receive completion interrupt
          - description: CAN1 error interrupt
          - description: CAN1 transmit interrupt
          - description: CAN1 transmit/receive FIFO receive completion interrupt

  interrupt-names:
    oneOf:
      - items:
          - const: ch_int
          - const: g_int
      - items:
          - const: g_err
          - const: g_recc
          - const: ch0_err
          - const: ch0_rec
          - const: ch0_trx
          - const: ch1_err
          - const: ch1_rec
          - const: ch1_trx

  clocks:
    maxItems: 3
@@ -117,48 +145,40 @@ allOf:
    then:
      properties:
        interrupts:
          items:
            - description: CAN global error interrupt
            - description: CAN receive FIFO interrupt
            - description: CAN0 error interrupt
            - description: CAN0 transmit interrupt
            - description: CAN0 transmit/receive FIFO receive completion interrupt
            - description: CAN1 error interrupt
            - description: CAN1 transmit interrupt
            - description: CAN1 transmit/receive FIFO receive completion interrupt
          minItems: 8
          maxItems: 8

        interrupt-names:
          items:
            - const: g_err
            - const: g_recc
            - const: ch0_err
            - const: ch0_rec
            - const: ch0_trx
            - const: ch1_err
            - const: ch1_rec
            - const: ch1_trx
          minItems: 8
          maxItems: 8

        resets:
          minItems: 2
          maxItems: 2

        reset-names:
          items:
            - const: rstp_n
            - const: rstc_n
          minItems: 2
          maxItems: 2

      required:
        - reset-names
    else:

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,rcar-gen3-canfd
              - renesas,rcar-gen4-canfd
    then:
      properties:
        interrupts:
          items:
            - description: Channel interrupt
            - description: Global interrupt
          minItems: 2
          maxItems: 2

        interrupt-names:
          items:
            - const: ch_int
            - const: g_int
          minItems: 2
          maxItems: 2

        resets:
          maxItems: 1
@@ -167,20 +187,21 @@ allOf:
      properties:
        compatible:
          contains:
            const: renesas,r8a779h0-canfd
            enum:
              - renesas,rcar-gen3-canfd
              - renesas,rzg2l-canfd
    then:
      patternProperties:
        "^channel[4-7]$": false
    else:
      if:
        not:
        "^channel[2-7]$": false

  - if:
      properties:
        compatible:
          contains:
                const: renesas,rcar-gen4-canfd
            const: renesas,r8a779h0-canfd
    then:
      patternProperties:
          "^channel[2-7]$": false
        "^channel[4-7]$": false

unevaluatedProperties: false