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

title: Renesas RZ/G2L Display Unit (DU)

maintainers:
  - Biju Das <biju.das.jz@bp.renesas.com>
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

description: |
  These DT bindings describe the Display Unit embedded in the Renesas RZ/G2L
  and RZ/V2L SoCs.

properties:
  compatible:
    oneOf:
      - enum:
          - renesas,r9a07g043u-du # RZ/G2UL
          - renesas,r9a07g044-du # RZ/G2{L,LC}
      - items:
          - enum:
              - renesas,r9a07g054-du    # RZ/V2L
          - const: renesas,r9a07g044-du # RZ/G2L fallback

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Main clock
      - description: Register access clock
      - description: Video clock

  clock-names:
    items:
      - const: aclk
      - const: pclk
      - const: vclk

  resets:
    maxItems: 1

  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. The number of ports and their assignment are
      model-dependent. Each port shall have a single endpoint.

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

    unevaluatedProperties: false

  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
  - interrupts
  - clocks
  - clock-names
  - resets
  - power-domains
  - ports
  - renesas,vsps

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: renesas,r9a07g043u-du
    then:
      properties:
        ports:
          properties:
            port@0:
              description: DPI

          required:
            - port@0
    else:
      properties:
        ports:
          properties:
            port@0:
              description: DSI
            port@1:
              description: DPI

          required:
            - port@0
            - port@1

examples:
  # RZ/G2L DU
  - |
    #include <dt-bindings/clock/r9a07g044-cpg.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    display@10890000 {
        compatible = "renesas,r9a07g044-du";
        reg = <0x10890000 0x10000>;
        interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&cpg CPG_MOD R9A07G044_LCDC_CLK_A>,
                 <&cpg CPG_MOD R9A07G044_LCDC_CLK_P>,
                 <&cpg CPG_MOD R9A07G044_LCDC_CLK_D>;
        clock-names = "aclk", "pclk", "vclk";
        resets = <&cpg R9A07G044_LCDC_RESET_N>;
        power-domains = <&cpg>;

        renesas,vsps = <&vspd0 0>;

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

            port@0 {
                reg = <0>;
                endpoint {
                    remote-endpoint = <&dsi0_in>;
                };
            };
            port@1 {
                reg = <1>;
            };
        };
    };

...
