xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/renesas,dsi-csi2-tx.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/renesas,dsi-csi2-tx.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: Renesas R-Car MIPI DSI/CSI-2 Encoder
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel Vadotdescription: |
13e67e8565SEmmanuel Vadot  This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
14*cb7aa33aSEmmanuel Vadot  R-Car Gen4 SoCs. The encoder can operate in either DSI or CSI-2 mode, with up
15e67e8565SEmmanuel Vadot  to four data lanes.
16e67e8565SEmmanuel Vadot
17e67e8565SEmmanuel Vadotproperties:
18e67e8565SEmmanuel Vadot  compatible:
19e67e8565SEmmanuel Vadot    enum:
20e67e8565SEmmanuel Vadot      - renesas,r8a779a0-dsi-csi2-tx    # for V3U
21*cb7aa33aSEmmanuel Vadot      - renesas,r8a779g0-dsi-csi2-tx    # for V4H
22e67e8565SEmmanuel Vadot
23e67e8565SEmmanuel Vadot  reg:
24e67e8565SEmmanuel Vadot    maxItems: 1
25e67e8565SEmmanuel Vadot
26e67e8565SEmmanuel Vadot  clocks:
27e67e8565SEmmanuel Vadot    items:
28e67e8565SEmmanuel Vadot      - description: Functional clock
29e67e8565SEmmanuel Vadot      - description: DSI (and CSI-2) functional clock
30e67e8565SEmmanuel Vadot      - description: PLL reference clock
31e67e8565SEmmanuel Vadot
32e67e8565SEmmanuel Vadot  clock-names:
33e67e8565SEmmanuel Vadot    items:
34e67e8565SEmmanuel Vadot      - const: fck
35e67e8565SEmmanuel Vadot      - const: dsi
36e67e8565SEmmanuel Vadot      - const: pll
37e67e8565SEmmanuel Vadot
38e67e8565SEmmanuel Vadot  power-domains:
39e67e8565SEmmanuel Vadot    maxItems: 1
40e67e8565SEmmanuel Vadot
41e67e8565SEmmanuel Vadot  resets:
42e67e8565SEmmanuel Vadot    maxItems: 1
43e67e8565SEmmanuel Vadot
44e67e8565SEmmanuel Vadot  ports:
45e67e8565SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
46e67e8565SEmmanuel Vadot
47e67e8565SEmmanuel Vadot    properties:
48e67e8565SEmmanuel Vadot      port@0:
49e67e8565SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
50e67e8565SEmmanuel Vadot        description: Parallel input port
51e67e8565SEmmanuel Vadot
52e67e8565SEmmanuel Vadot      port@1:
53e67e8565SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
54e67e8565SEmmanuel Vadot        unevaluatedProperties: false
55e67e8565SEmmanuel Vadot        description: DSI/CSI-2 output port
56e67e8565SEmmanuel Vadot
57e67e8565SEmmanuel Vadot        properties:
58e67e8565SEmmanuel Vadot          endpoint:
59e67e8565SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
60e67e8565SEmmanuel Vadot            unevaluatedProperties: false
61e67e8565SEmmanuel Vadot
62e67e8565SEmmanuel Vadot            properties:
63e67e8565SEmmanuel Vadot              data-lanes:
64e67e8565SEmmanuel Vadot                minItems: 1
65e67e8565SEmmanuel Vadot                maxItems: 4
66e67e8565SEmmanuel Vadot
67e67e8565SEmmanuel Vadot            required:
68e67e8565SEmmanuel Vadot              - data-lanes
69e67e8565SEmmanuel Vadot
70e67e8565SEmmanuel Vadot    required:
71e67e8565SEmmanuel Vadot      - port@0
72e67e8565SEmmanuel Vadot      - port@1
73e67e8565SEmmanuel Vadot
74e67e8565SEmmanuel Vadotrequired:
75e67e8565SEmmanuel Vadot  - compatible
76e67e8565SEmmanuel Vadot  - reg
77e67e8565SEmmanuel Vadot  - clocks
78e67e8565SEmmanuel Vadot  - power-domains
79e67e8565SEmmanuel Vadot  - resets
80e67e8565SEmmanuel Vadot  - ports
81e67e8565SEmmanuel Vadot
82e67e8565SEmmanuel VadotadditionalProperties: false
83e67e8565SEmmanuel Vadot
84e67e8565SEmmanuel Vadotexamples:
85e67e8565SEmmanuel Vadot  - |
86e67e8565SEmmanuel Vadot    #include <dt-bindings/clock/r8a779a0-cpg-mssr.h>
87e67e8565SEmmanuel Vadot    #include <dt-bindings/power/r8a779a0-sysc.h>
88e67e8565SEmmanuel Vadot
89e67e8565SEmmanuel Vadot    dsi0: dsi-encoder@fed80000 {
90e67e8565SEmmanuel Vadot        compatible = "renesas,r8a779a0-dsi-csi2-tx";
91e67e8565SEmmanuel Vadot        reg = <0xfed80000 0x10000>;
92e67e8565SEmmanuel Vadot        power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
93e67e8565SEmmanuel Vadot        clocks = <&cpg CPG_MOD 415>,
94e67e8565SEmmanuel Vadot                 <&cpg CPG_CORE R8A779A0_CLK_DSI>,
95e67e8565SEmmanuel Vadot                 <&cpg CPG_CORE R8A779A0_CLK_CP>;
96e67e8565SEmmanuel Vadot        clock-names = "fck", "dsi", "pll";
97e67e8565SEmmanuel Vadot        resets = <&cpg 415>;
98e67e8565SEmmanuel Vadot
99e67e8565SEmmanuel Vadot        ports {
100e67e8565SEmmanuel Vadot            #address-cells = <1>;
101e67e8565SEmmanuel Vadot            #size-cells = <0>;
102e67e8565SEmmanuel Vadot
103e67e8565SEmmanuel Vadot            port@0 {
104e67e8565SEmmanuel Vadot                reg = <0>;
105e67e8565SEmmanuel Vadot                dsi0_in: endpoint {
106e67e8565SEmmanuel Vadot                    remote-endpoint = <&du_out_dsi0>;
107e67e8565SEmmanuel Vadot                };
108e67e8565SEmmanuel Vadot            };
109e67e8565SEmmanuel Vadot
110e67e8565SEmmanuel Vadot            port@1 {
111e67e8565SEmmanuel Vadot                reg = <1>;
112e67e8565SEmmanuel Vadot                dsi0_out: endpoint {
113e67e8565SEmmanuel Vadot                    data-lanes = <1 2>;
114e67e8565SEmmanuel Vadot                    remote-endpoint = <&sn65dsi86_in>;
115e67e8565SEmmanuel Vadot                };
116e67e8565SEmmanuel Vadot            };
117e67e8565SEmmanuel Vadot        };
118e67e8565SEmmanuel Vadot    };
119e67e8565SEmmanuel Vadot...
120