# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/renesas,du.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas R-Car Display Unit (DU)

maintainers:
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

description: |
  These DT bindings describe the Display Unit embedded in the Renesas R-Car
  Gen1, R-Car Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs.

properties:
  compatible:
    enum:
      - renesas,du-r8a7742 # for RZ/G1H compatible DU
      - renesas,du-r8a7743 # for RZ/G1M compatible DU
      - renesas,du-r8a7744 # for RZ/G1N compatible DU
      - renesas,du-r8a7745 # for RZ/G1E compatible DU
      - renesas,du-r8a77470 # for RZ/G1C compatible DU
      - renesas,du-r8a774a1 # for RZ/G2M compatible DU
      - renesas,du-r8a774b1 # for RZ/G2N compatible DU
      - renesas,du-r8a774c0 # for RZ/G2E compatible DU
      - renesas,du-r8a774e1 # for RZ/G2H compatible DU
      - renesas,du-r8a7779 # for R-Car H1 compatible DU
      - renesas,du-r8a7790 # for R-Car H2 compatible DU
      - renesas,du-r8a7791 # for R-Car M2-W compatible DU
      - renesas,du-r8a7792 # for R-Car V2H compatible DU
      - renesas,du-r8a7793 # for R-Car M2-N compatible DU
      - renesas,du-r8a7794 # for R-Car E2 compatible DU
      - renesas,du-r8a7795 # for R-Car H3 compatible DU
      - renesas,du-r8a7796 # for R-Car M3-W compatible DU
      - renesas,du-r8a77961 # for R-Car M3-W+ compatible DU
      - renesas,du-r8a77965 # for R-Car M3-N compatible DU
      - renesas,du-r8a77970 # for R-Car V3M compatible DU
      - renesas,du-r8a77980 # for R-Car V3H compatible DU
      - renesas,du-r8a77990 # for R-Car E3 compatible DU
      - renesas,du-r8a77995 # for R-Car D3 compatible DU
      - renesas,du-r8a779a0 # for R-Car V3U compatible DU
      - renesas,du-r8a779g0 # for R-Car V4H compatible DU

  reg:
    maxItems: 1

  # See compatible-specific constraints below.
  clocks: true
  clock-names: true
  interrupts:
    description: Interrupt specifiers, one per DU channel
  resets: true
  reset-names: true

  power-domains:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    description: |
      The connections to the DU output video ports are modeled using the OF
      graph bindings specified in Documentation/devicetree/bindings/graph.txt.
      The number of ports and their assignment are model-dependent. Each port
      shall have a single endpoint.

    patternProperties:
      "^port@[0-3]$":
        $ref: /schemas/graph.yaml#/properties/port
        unevaluatedProperties: false

    required:
      - port@0
      - port@1

    unevaluatedProperties: false

  renesas,cmms:
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    items:
      maxItems: 1
    description:
      A list of phandles to the CMM instances present in the SoC, one for each
      available DU channel.

  renesas,vsps:
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    items:
      items:
        - description: phandle to VSP instance that serves the DU channel
        - description: Channel index identifying the LIF instance in that VSP
    description:
      A list of phandle and channel index tuples to the VSPs that handle the
      memory interfaces for the DU channels.

required:
  - compatible
  - reg
  - clocks
  - interrupts
  - ports

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: renesas,du-r8a7779
    then:
      properties:
        clocks:
          minItems: 1
          items:
            - description: Functional clock
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock

        clock-names:
          minItems: 1
          items:
            - const: du.0
            - pattern: '^dclkin\.[01]$'
            - pattern: '^dclkin\.[01]$'

        interrupts:
          maxItems: 1

        resets:
          maxItems: 1

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: DPAD 1
            # port@2 is TCON, not supported yet
            port@2: false
            port@3: false

          required:
            - port@0
            - port@1

      required:
        - interrupts

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a7743
              - renesas,du-r8a7744
              - renesas,du-r8a7791
              - renesas,du-r8a7793
    then:
      properties:
        clocks:
          minItems: 2
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock

        clock-names:
          minItems: 2
          items:
            - const: du.0
            - const: du.1
            - pattern: '^dclkin\.[01]$'
            - pattern: '^dclkin\.[01]$'

        interrupts:
          maxItems: 2

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: LVDS 0
            # port@2 is TCON, not supported yet
            port@2: false
            port@3: false

          required:
            - port@0
            - port@1

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a7745
              - renesas,du-r8a7792
    then:
      properties:
        clocks:
          minItems: 2
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock

        clock-names:
          minItems: 2
          items:
            - const: du.0
            - const: du.1
            - pattern: '^dclkin\.[01]$'
            - pattern: '^dclkin\.[01]$'

        interrupts:
          maxItems: 2

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: DPAD 1
            port@2: false
            port@3: false

          required:
            - port@0
            - port@1

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a7794
    then:
      properties:
        clocks:
          minItems: 2
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock

        clock-names:
          minItems: 2
          items:
            - const: du.0
            - const: du.1
            - pattern: '^dclkin\.[01]$'
            - pattern: '^dclkin\.[01]$'

        interrupts:
          maxItems: 2

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: DPAD 1
            # port@2 is TCON, not supported yet
            port@2: false
            port@3: false

          required:
            - port@0
            - port@1

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a77470
    then:
      properties:
        clocks:
          minItems: 2
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock

        clock-names:
          minItems: 2
          items:
            - const: du.0
            - const: du.1
            - pattern: '^dclkin\.[01]$'
            - pattern: '^dclkin\.[01]$'

        interrupts:
          maxItems: 2

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: DPAD 1
            port@2:
              description: LVDS 0
            # port@3 is DVENC, not supported yet
            port@3: false

          required:
            - port@0
            - port@1
            - port@2

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a7742
              - renesas,du-r8a7790
    then:
      properties:
        clocks:
          minItems: 3
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: Functional clock for DU2
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock
            - description: DU_DOTCLKIN2 input clock

        clock-names:
          minItems: 3
          items:
            - const: du.0
            - const: du.1
            - const: du.2
            - pattern: '^dclkin\.[012]$'
            - pattern: '^dclkin\.[012]$'
            - pattern: '^dclkin\.[012]$'

        interrupts:
          maxItems: 3

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: LVDS 0
            port@2:
              description: LVDS 1
            # port@3 is TCON, not supported yet
            port@3: false

          required:
            - port@0
            - port@1
            - port@2

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a7795
    then:
      properties:
        clocks:
          minItems: 4
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: Functional clock for DU2
            - description: Functional clock for DU4
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock
            - description: DU_DOTCLKIN2 input clock
            - description: DU_DOTCLKIN3 input clock

        clock-names:
          minItems: 4
          items:
            - const: du.0
            - const: du.1
            - const: du.2
            - const: du.3
            - pattern: '^dclkin\.[0123]$'
            - pattern: '^dclkin\.[0123]$'
            - pattern: '^dclkin\.[0123]$'
            - pattern: '^dclkin\.[0123]$'

        interrupts:
          maxItems: 4

        resets:
          maxItems: 2

        reset-names:
          items:
            - const: du.0
            - const: du.2

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: HDMI 0
            port@2:
              description: HDMI 1
            port@3:
              description: LVDS 0

          required:
            - port@0
            - port@1
            - port@2
            - port@3

        renesas,cmms:
          minItems: 4

        renesas,vsps:
          minItems: 4

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names
        - renesas,vsps

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a774a1
              - renesas,du-r8a7796
              - renesas,du-r8a77961
    then:
      properties:
        clocks:
          minItems: 3
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: Functional clock for DU2
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock
            - description: DU_DOTCLKIN2 input clock

        clock-names:
          minItems: 3
          items:
            - const: du.0
            - const: du.1
            - const: du.2
            - pattern: '^dclkin\.[012]$'
            - pattern: '^dclkin\.[012]$'
            - pattern: '^dclkin\.[012]$'

        interrupts:
          maxItems: 3

        resets:
          maxItems: 2

        reset-names:
          items:
            - const: du.0
            - const: du.2

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: HDMI 0
            port@2:
              description: LVDS 0
            port@3: false

          required:
            - port@0
            - port@1
            - port@2

        renesas,cmms:
          minItems: 3

        renesas,vsps:
          minItems: 3

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names
        - renesas,vsps

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a774b1
              - renesas,du-r8a774e1
              - renesas,du-r8a77965
    then:
      properties:
        clocks:
          minItems: 3
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: Functional clock for DU3
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock
            - description: DU_DOTCLKIN3 input clock

        clock-names:
          minItems: 3
          items:
            - const: du.0
            - const: du.1
            - const: du.3
            - pattern: '^dclkin\.[013]$'
            - pattern: '^dclkin\.[013]$'
            - pattern: '^dclkin\.[013]$'

        interrupts:
          maxItems: 3

        resets:
          maxItems: 2

        reset-names:
          items:
            - const: du.0
            - const: du.3

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: HDMI 0
            port@2:
              description: LVDS 0
            port@3: false

          required:
            - port@0
            - port@1
            - port@2

        renesas,cmms:
          minItems: 3

        renesas,vsps:
          minItems: 3

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names
        - renesas,vsps

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a77970
              - renesas,du-r8a77980
    then:
      properties:
        clocks:
          minItems: 1
          items:
            - description: Functional clock for DU0
            - description: DU_DOTCLKIN0 input clock

        clock-names:
          minItems: 1
          items:
            - const: du.0
            - const: dclkin.0

        interrupts:
          maxItems: 1

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: LVDS 0
            port@2: false
            port@3: false

          required:
            - port@0
            - port@1

        renesas,vsps:
          minItems: 1

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names
        - renesas,vsps

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a774c0
              - renesas,du-r8a77990
              - renesas,du-r8a77995
    then:
      properties:
        clocks:
          minItems: 2
          items:
            - description: Functional clock for DU0
            - description: Functional clock for DU1
            - description: DU_DOTCLKIN0 input clock
            - description: DU_DOTCLKIN1 input clock

        clock-names:
          minItems: 2
          items:
            - const: du.0
            - const: du.1
            - pattern: '^dclkin\.[01]$'
            - pattern: '^dclkin\.[01]$'

        interrupts:
          maxItems: 2

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DPAD 0
            port@1:
              description: LVDS 0
            port@2:
              description: LVDS 1
            # port@3 is TCON, not supported yet
            port@3: false

          required:
            - port@0
            - port@1
            - port@2

        renesas,cmms:
          minItems: 2

        renesas,vsps:
          minItems: 2

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names
        - renesas,vsps

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,du-r8a779a0
              - renesas,du-r8a779g0
    then:
      properties:
        clocks:
          items:
            - description: Functional clock

        clock-names:
          items:
            - const: du.0

        interrupts:
          maxItems: 2

        resets:
          maxItems: 1

        reset-names:
          items:
            - const: du.0

        ports:
          properties:
            port@0:
              description: DSI 0
            port@1:
              description: DSI 1
            port@2: false
            port@3: false

          required:
            - port@0
            - port@1

        renesas,vsps:
          minItems: 2

      required:
        - clock-names
        - interrupts
        - resets
        - reset-names
        - renesas,vsps

additionalProperties: false

examples:
  # R-Car H3 ES2.0 DU
  - |
    #include <dt-bindings/clock/renesas-cpg-mssr.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    display@feb00000 {
        compatible = "renesas,du-r8a7795";
        reg = <0xfeb00000 0x80000>;
        interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&cpg CPG_MOD 724>,
                 <&cpg CPG_MOD 723>,
                 <&cpg CPG_MOD 722>,
                 <&cpg CPG_MOD 721>;
        clock-names = "du.0", "du.1", "du.2", "du.3";
        resets = <&cpg 724>, <&cpg 722>;
        reset-names = "du.0", "du.2";

        renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>;
        renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;
                endpoint {
                    remote-endpoint = <&adv7123_in>;
                };
            };
            port@1 {
                reg = <1>;
                endpoint {
                    remote-endpoint = <&dw_hdmi0_in>;
                };
            };
            port@2 {
                reg = <2>;
                endpoint {
                    remote-endpoint = <&dw_hdmi1_in>;
                };
            };
            port@3 {
                reg = <3>;
                endpoint {
                    remote-endpoint = <&lvds0_in>;
                };
            };
        };
    };

...
