1b1a90f51SBiju Das# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b1a90f51SBiju Das%YAML 1.2
3b1a90f51SBiju Das---
4b1a90f51SBiju Das$id: http://devicetree.org/schemas/display/bridge/renesas,dsi.yaml#
5b1a90f51SBiju Das$schema: http://devicetree.org/meta-schemas/core.yaml#
6b1a90f51SBiju Das
7b1a90f51SBiju Dastitle: Renesas RZ/G2L MIPI DSI Encoder
8b1a90f51SBiju Das
9b1a90f51SBiju Dasmaintainers:
10b1a90f51SBiju Das  - Biju Das <biju.das.jz@bp.renesas.com>
11b1a90f51SBiju Das
12b1a90f51SBiju Dasdescription: |
13b1a90f51SBiju Das  This binding describes the MIPI DSI encoder embedded in the Renesas
14b1a90f51SBiju Das  RZ/G2L alike family of SoC's. The encoder can operate in DSI mode, with
15b1a90f51SBiju Das  up to four data lanes.
16b1a90f51SBiju Das
17b1a90f51SBiju DasallOf:
18b1a90f51SBiju Das  - $ref: /schemas/display/dsi-controller.yaml#
19b1a90f51SBiju Das
20b1a90f51SBiju Dasproperties:
21b1a90f51SBiju Das  compatible:
22b1a90f51SBiju Das    items:
23b1a90f51SBiju Das      - enum:
24b1a90f51SBiju Das          - renesas,r9a07g044-mipi-dsi # RZ/G2{L,LC}
25*ae5a8dceSBiju Das          - renesas,r9a07g054-mipi-dsi # RZ/V2L
26b1a90f51SBiju Das      - const: renesas,rzg2l-mipi-dsi
27b1a90f51SBiju Das
28b1a90f51SBiju Das  reg:
29b1a90f51SBiju Das    maxItems: 1
30b1a90f51SBiju Das
31b1a90f51SBiju Das  interrupts:
32b1a90f51SBiju Das    items:
33b1a90f51SBiju Das      - description: Sequence operation channel 0 interrupt
34b1a90f51SBiju Das      - description: Sequence operation channel 1 interrupt
35b1a90f51SBiju Das      - description: Video-Input operation channel 1 interrupt
36b1a90f51SBiju Das      - description: DSI Packet Receive interrupt
37b1a90f51SBiju Das      - description: DSI Fatal Error interrupt
38b1a90f51SBiju Das      - description: DSI D-PHY PPI interrupt
39b1a90f51SBiju Das      - description: Debug interrupt
40b1a90f51SBiju Das
41b1a90f51SBiju Das  interrupt-names:
42b1a90f51SBiju Das    items:
43b1a90f51SBiju Das      - const: seq0
44b1a90f51SBiju Das      - const: seq1
45b1a90f51SBiju Das      - const: vin1
46b1a90f51SBiju Das      - const: rcv
47b1a90f51SBiju Das      - const: ferr
48b1a90f51SBiju Das      - const: ppi
49b1a90f51SBiju Das      - const: debug
50b1a90f51SBiju Das
51b1a90f51SBiju Das  clocks:
52b1a90f51SBiju Das    items:
53b1a90f51SBiju Das      - description: DSI D-PHY PLL multiplied clock
54b1a90f51SBiju Das      - description: DSI D-PHY system clock
55b1a90f51SBiju Das      - description: DSI AXI bus clock
56b1a90f51SBiju Das      - description: DSI Register access clock
57b1a90f51SBiju Das      - description: DSI Video clock
58b1a90f51SBiju Das      - description: DSI D-PHY Escape mode transmit clock
59b1a90f51SBiju Das
60b1a90f51SBiju Das  clock-names:
61b1a90f51SBiju Das    items:
62b1a90f51SBiju Das      - const: pllclk
63b1a90f51SBiju Das      - const: sysclk
64b1a90f51SBiju Das      - const: aclk
65b1a90f51SBiju Das      - const: pclk
66b1a90f51SBiju Das      - const: vclk
67b1a90f51SBiju Das      - const: lpclk
68b1a90f51SBiju Das
69b1a90f51SBiju Das  resets:
70b1a90f51SBiju Das    items:
71b1a90f51SBiju Das      - description: MIPI_DSI_CMN_RSTB
72b1a90f51SBiju Das      - description: MIPI_DSI_ARESET_N
73b1a90f51SBiju Das      - description: MIPI_DSI_PRESET_N
74b1a90f51SBiju Das
75b1a90f51SBiju Das  reset-names:
76b1a90f51SBiju Das    items:
77b1a90f51SBiju Das      - const: rst
78b1a90f51SBiju Das      - const: arst
79b1a90f51SBiju Das      - const: prst
80b1a90f51SBiju Das
81b1a90f51SBiju Das  power-domains:
82b1a90f51SBiju Das    maxItems: 1
83b1a90f51SBiju Das
84b1a90f51SBiju Das  ports:
85b1a90f51SBiju Das    $ref: /schemas/graph.yaml#/properties/ports
86b1a90f51SBiju Das
87b1a90f51SBiju Das    properties:
88b1a90f51SBiju Das      port@0:
89b1a90f51SBiju Das        $ref: /schemas/graph.yaml#/properties/port
90b1a90f51SBiju Das        description: Parallel input port
91b1a90f51SBiju Das
92b1a90f51SBiju Das      port@1:
93b1a90f51SBiju Das        $ref: /schemas/graph.yaml#/$defs/port-base
94b1a90f51SBiju Das        unevaluatedProperties: false
95b1a90f51SBiju Das        description: DSI output port
96b1a90f51SBiju Das
97b1a90f51SBiju Das        properties:
98b1a90f51SBiju Das          endpoint:
99b1a90f51SBiju Das            $ref: /schemas/media/video-interfaces.yaml#
100b1a90f51SBiju Das            unevaluatedProperties: false
101b1a90f51SBiju Das
102b1a90f51SBiju Das            properties:
103b1a90f51SBiju Das              data-lanes:
104b1a90f51SBiju Das                description: array of physical DSI data lane indexes.
105b1a90f51SBiju Das                minItems: 1
106b1a90f51SBiju Das                items:
107b1a90f51SBiju Das                  - const: 1
108b1a90f51SBiju Das                  - const: 2
109b1a90f51SBiju Das                  - const: 3
110b1a90f51SBiju Das                  - const: 4
111b1a90f51SBiju Das
112b1a90f51SBiju Das            required:
113b1a90f51SBiju Das              - data-lanes
114b1a90f51SBiju Das
115b1a90f51SBiju Das    required:
116b1a90f51SBiju Das      - port@0
117b1a90f51SBiju Das      - port@1
118b1a90f51SBiju Das
119b1a90f51SBiju Dasrequired:
120b1a90f51SBiju Das  - compatible
121b1a90f51SBiju Das  - reg
122b1a90f51SBiju Das  - interrupts
123b1a90f51SBiju Das  - interrupt-names
124b1a90f51SBiju Das  - clocks
125b1a90f51SBiju Das  - clock-names
126b1a90f51SBiju Das  - resets
127b1a90f51SBiju Das  - reset-names
128b1a90f51SBiju Das  - power-domains
129b1a90f51SBiju Das  - ports
130b1a90f51SBiju Das
131b1a90f51SBiju DasadditionalProperties: false
132b1a90f51SBiju Das
133b1a90f51SBiju Dasexamples:
134b1a90f51SBiju Das  - |
135b1a90f51SBiju Das    #include <dt-bindings/clock/r9a07g044-cpg.h>
136b1a90f51SBiju Das    #include <dt-bindings/interrupt-controller/arm-gic.h>
137b1a90f51SBiju Das
138b1a90f51SBiju Das    dsi0: dsi@10850000 {
139b1a90f51SBiju Das        compatible = "renesas,r9a07g044-mipi-dsi", "renesas,rzg2l-mipi-dsi";
140b1a90f51SBiju Das        reg = <0x10850000 0x20000>;
141b1a90f51SBiju Das        interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
142b1a90f51SBiju Das                     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
143b1a90f51SBiju Das                     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
144b1a90f51SBiju Das                     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
145b1a90f51SBiju Das                     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
146b1a90f51SBiju Das                     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
147b1a90f51SBiju Das                     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
148b1a90f51SBiju Das        interrupt-names = "seq0", "seq1", "vin1", "rcv",
149b1a90f51SBiju Das                          "ferr", "ppi", "debug";
150b1a90f51SBiju Das        clocks = <&cpg CPG_MOD R9A07G044_MIPI_DSI_PLLCLK>,
151b1a90f51SBiju Das                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_SYSCLK>,
152b1a90f51SBiju Das                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_ACLK>,
153b1a90f51SBiju Das                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_PCLK>,
154b1a90f51SBiju Das                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_VCLK>,
155b1a90f51SBiju Das                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_LPCLK>;
156b1a90f51SBiju Das        clock-names = "pllclk", "sysclk", "aclk", "pclk", "vclk", "lpclk";
157b1a90f51SBiju Das        resets = <&cpg R9A07G044_MIPI_DSI_CMN_RSTB>,
158b1a90f51SBiju Das                 <&cpg R9A07G044_MIPI_DSI_ARESET_N>,
159b1a90f51SBiju Das                 <&cpg R9A07G044_MIPI_DSI_PRESET_N>;
160b1a90f51SBiju Das        reset-names = "rst", "arst", "prst";
161b1a90f51SBiju Das        power-domains = <&cpg>;
162b1a90f51SBiju Das
163b1a90f51SBiju Das        ports {
164b1a90f51SBiju Das            #address-cells = <1>;
165b1a90f51SBiju Das            #size-cells = <0>;
166b1a90f51SBiju Das
167b1a90f51SBiju Das            port@0 {
168b1a90f51SBiju Das                reg = <0>;
169b1a90f51SBiju Das                dsi0_in: endpoint {
170b1a90f51SBiju Das                    remote-endpoint = <&du_out_dsi0>;
171b1a90f51SBiju Das                };
172b1a90f51SBiju Das            };
173b1a90f51SBiju Das
174b1a90f51SBiju Das            port@1 {
175b1a90f51SBiju Das                reg = <1>;
176b1a90f51SBiju Das                dsi0_out: endpoint {
177b1a90f51SBiju Das                    data-lanes = <1 2 3 4>;
178b1a90f51SBiju Das                    remote-endpoint = <&adv7535_in>;
179b1a90f51SBiju Das                };
180b1a90f51SBiju Das            };
181b1a90f51SBiju Das        };
182b1a90f51SBiju Das    };
183b1a90f51SBiju Das...
184