xref: /freebsd/sys/contrib/device-tree/Bindings/display/renesas,rzg2l-du.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
101950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
201950c46SEmmanuel Vadot%YAML 1.2
301950c46SEmmanuel Vadot---
401950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/display/renesas,rzg2l-du.yaml#
501950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
601950c46SEmmanuel Vadot
701950c46SEmmanuel Vadottitle: Renesas RZ/G2L Display Unit (DU)
801950c46SEmmanuel Vadot
901950c46SEmmanuel Vadotmaintainers:
1001950c46SEmmanuel Vadot  - Biju Das <biju.das.jz@bp.renesas.com>
1101950c46SEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
1201950c46SEmmanuel Vadot
1301950c46SEmmanuel Vadotdescription: |
1401950c46SEmmanuel Vadot  These DT bindings describe the Display Unit embedded in the Renesas RZ/G2L
1501950c46SEmmanuel Vadot  and RZ/V2L SoCs.
1601950c46SEmmanuel Vadot
1701950c46SEmmanuel Vadotproperties:
1801950c46SEmmanuel Vadot  compatible:
1901950c46SEmmanuel Vadot    oneOf:
2001950c46SEmmanuel Vadot      - enum:
21*b2d2a78aSEmmanuel Vadot          - renesas,r9a07g043u-du # RZ/G2UL
2201950c46SEmmanuel Vadot          - renesas,r9a07g044-du # RZ/G2{L,LC}
2301950c46SEmmanuel Vadot      - items:
2401950c46SEmmanuel Vadot          - enum:
2501950c46SEmmanuel Vadot              - renesas,r9a07g054-du    # RZ/V2L
2601950c46SEmmanuel Vadot          - const: renesas,r9a07g044-du # RZ/G2L fallback
2701950c46SEmmanuel Vadot
2801950c46SEmmanuel Vadot  reg:
2901950c46SEmmanuel Vadot    maxItems: 1
3001950c46SEmmanuel Vadot
3101950c46SEmmanuel Vadot  interrupts:
3201950c46SEmmanuel Vadot    maxItems: 1
3301950c46SEmmanuel Vadot
3401950c46SEmmanuel Vadot  clocks:
3501950c46SEmmanuel Vadot    items:
3601950c46SEmmanuel Vadot      - description: Main clock
3701950c46SEmmanuel Vadot      - description: Register access clock
3801950c46SEmmanuel Vadot      - description: Video clock
3901950c46SEmmanuel Vadot
4001950c46SEmmanuel Vadot  clock-names:
4101950c46SEmmanuel Vadot    items:
4201950c46SEmmanuel Vadot      - const: aclk
4301950c46SEmmanuel Vadot      - const: pclk
4401950c46SEmmanuel Vadot      - const: vclk
4501950c46SEmmanuel Vadot
4601950c46SEmmanuel Vadot  resets:
4701950c46SEmmanuel Vadot    maxItems: 1
4801950c46SEmmanuel Vadot
4901950c46SEmmanuel Vadot  power-domains:
5001950c46SEmmanuel Vadot    maxItems: 1
5101950c46SEmmanuel Vadot
5201950c46SEmmanuel Vadot  ports:
5301950c46SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
5401950c46SEmmanuel Vadot    description: |
5501950c46SEmmanuel Vadot      The connections to the DU output video ports are modeled using the OF
5601950c46SEmmanuel Vadot      graph bindings. The number of ports and their assignment are
5701950c46SEmmanuel Vadot      model-dependent. Each port shall have a single endpoint.
5801950c46SEmmanuel Vadot
5901950c46SEmmanuel Vadot    patternProperties:
6001950c46SEmmanuel Vadot      "^port@[0-1]$":
6101950c46SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
6201950c46SEmmanuel Vadot        unevaluatedProperties: false
6301950c46SEmmanuel Vadot
6401950c46SEmmanuel Vadot    unevaluatedProperties: false
6501950c46SEmmanuel Vadot
6601950c46SEmmanuel Vadot  renesas,vsps:
6701950c46SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
6801950c46SEmmanuel Vadot    items:
6901950c46SEmmanuel Vadot      items:
7001950c46SEmmanuel Vadot        - description: phandle to VSP instance that serves the DU channel
7101950c46SEmmanuel Vadot        - description: Channel index identifying the LIF instance in that VSP
7201950c46SEmmanuel Vadot    description:
7301950c46SEmmanuel Vadot      A list of phandle and channel index tuples to the VSPs that handle the
7401950c46SEmmanuel Vadot      memory interfaces for the DU channels.
7501950c46SEmmanuel Vadot
7601950c46SEmmanuel Vadotrequired:
7701950c46SEmmanuel Vadot  - compatible
7801950c46SEmmanuel Vadot  - reg
7901950c46SEmmanuel Vadot  - interrupts
8001950c46SEmmanuel Vadot  - clocks
8101950c46SEmmanuel Vadot  - clock-names
8201950c46SEmmanuel Vadot  - resets
8301950c46SEmmanuel Vadot  - power-domains
8401950c46SEmmanuel Vadot  - ports
8501950c46SEmmanuel Vadot  - renesas,vsps
8601950c46SEmmanuel Vadot
8701950c46SEmmanuel VadotadditionalProperties: false
8801950c46SEmmanuel Vadot
89*b2d2a78aSEmmanuel VadotallOf:
90*b2d2a78aSEmmanuel Vadot  - if:
91*b2d2a78aSEmmanuel Vadot      properties:
92*b2d2a78aSEmmanuel Vadot        compatible:
93*b2d2a78aSEmmanuel Vadot          contains:
94*b2d2a78aSEmmanuel Vadot            const: renesas,r9a07g043u-du
95*b2d2a78aSEmmanuel Vadot    then:
96*b2d2a78aSEmmanuel Vadot      properties:
97*b2d2a78aSEmmanuel Vadot        ports:
98*b2d2a78aSEmmanuel Vadot          properties:
99*b2d2a78aSEmmanuel Vadot            port@0:
100*b2d2a78aSEmmanuel Vadot              description: DPI
101*b2d2a78aSEmmanuel Vadot
102*b2d2a78aSEmmanuel Vadot          required:
103*b2d2a78aSEmmanuel Vadot            - port@0
104*b2d2a78aSEmmanuel Vadot    else:
105*b2d2a78aSEmmanuel Vadot      properties:
106*b2d2a78aSEmmanuel Vadot        ports:
107*b2d2a78aSEmmanuel Vadot          properties:
108*b2d2a78aSEmmanuel Vadot            port@0:
109*b2d2a78aSEmmanuel Vadot              description: DSI
110*b2d2a78aSEmmanuel Vadot            port@1:
111*b2d2a78aSEmmanuel Vadot              description: DPI
112*b2d2a78aSEmmanuel Vadot
113*b2d2a78aSEmmanuel Vadot          required:
114*b2d2a78aSEmmanuel Vadot            - port@0
115*b2d2a78aSEmmanuel Vadot            - port@1
116*b2d2a78aSEmmanuel Vadot
11701950c46SEmmanuel Vadotexamples:
11801950c46SEmmanuel Vadot  # RZ/G2L DU
11901950c46SEmmanuel Vadot  - |
12001950c46SEmmanuel Vadot    #include <dt-bindings/clock/r9a07g044-cpg.h>
12101950c46SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
12201950c46SEmmanuel Vadot
12301950c46SEmmanuel Vadot    display@10890000 {
12401950c46SEmmanuel Vadot        compatible = "renesas,r9a07g044-du";
12501950c46SEmmanuel Vadot        reg = <0x10890000 0x10000>;
12601950c46SEmmanuel Vadot        interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
12701950c46SEmmanuel Vadot        clocks = <&cpg CPG_MOD R9A07G044_LCDC_CLK_A>,
12801950c46SEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_LCDC_CLK_P>,
12901950c46SEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_LCDC_CLK_D>;
13001950c46SEmmanuel Vadot        clock-names = "aclk", "pclk", "vclk";
13101950c46SEmmanuel Vadot        resets = <&cpg R9A07G044_LCDC_RESET_N>;
13201950c46SEmmanuel Vadot        power-domains = <&cpg>;
13301950c46SEmmanuel Vadot
13401950c46SEmmanuel Vadot        renesas,vsps = <&vspd0 0>;
13501950c46SEmmanuel Vadot
13601950c46SEmmanuel Vadot        ports {
13701950c46SEmmanuel Vadot            #address-cells = <1>;
13801950c46SEmmanuel Vadot            #size-cells = <0>;
13901950c46SEmmanuel Vadot
14001950c46SEmmanuel Vadot            port@0 {
14101950c46SEmmanuel Vadot                reg = <0>;
14201950c46SEmmanuel Vadot                endpoint {
14301950c46SEmmanuel Vadot                    remote-endpoint = <&dsi0_in>;
14401950c46SEmmanuel Vadot                };
14501950c46SEmmanuel Vadot            };
14601950c46SEmmanuel Vadot            port@1 {
14701950c46SEmmanuel Vadot                reg = <1>;
14801950c46SEmmanuel Vadot            };
14901950c46SEmmanuel Vadot        };
15001950c46SEmmanuel Vadot    };
15101950c46SEmmanuel Vadot
15201950c46SEmmanuel Vadot...
153