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