xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/renesas,lvds.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotRenesas R-Car LVDS Encoder
2*c66ec88fSEmmanuel Vadot==========================
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotThese DT bindings describe the LVDS encoder embedded in the Renesas R-Car
5*c66ec88fSEmmanuel VadotGen2, R-Car Gen3 and RZ/G SoCs.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot- compatible : Shall contain one of
10*c66ec88fSEmmanuel Vadot  - "renesas,r8a7743-lvds" for R8A7743 (RZ/G1M) compatible LVDS encoders
11*c66ec88fSEmmanuel Vadot  - "renesas,r8a7744-lvds" for R8A7744 (RZ/G1N) compatible LVDS encoders
12*c66ec88fSEmmanuel Vadot  - "renesas,r8a774a1-lvds" for R8A774A1 (RZ/G2M) compatible LVDS encoders
13*c66ec88fSEmmanuel Vadot  - "renesas,r8a774b1-lvds" for R8A774B1 (RZ/G2N) compatible LVDS encoders
14*c66ec88fSEmmanuel Vadot  - "renesas,r8a774c0-lvds" for R8A774C0 (RZ/G2E) compatible LVDS encoders
15*c66ec88fSEmmanuel Vadot  - "renesas,r8a7790-lvds" for R8A7790 (R-Car H2) compatible LVDS encoders
16*c66ec88fSEmmanuel Vadot  - "renesas,r8a7791-lvds" for R8A7791 (R-Car M2-W) compatible LVDS encoders
17*c66ec88fSEmmanuel Vadot  - "renesas,r8a7793-lvds" for R8A7793 (R-Car M2-N) compatible LVDS encoders
18*c66ec88fSEmmanuel Vadot  - "renesas,r8a7795-lvds" for R8A7795 (R-Car H3) compatible LVDS encoders
19*c66ec88fSEmmanuel Vadot  - "renesas,r8a7796-lvds" for R8A7796 (R-Car M3-W) compatible LVDS encoders
20*c66ec88fSEmmanuel Vadot  - "renesas,r8a77965-lvds" for R8A77965 (R-Car M3-N) compatible LVDS encoders
21*c66ec88fSEmmanuel Vadot  - "renesas,r8a77970-lvds" for R8A77970 (R-Car V3M) compatible LVDS encoders
22*c66ec88fSEmmanuel Vadot  - "renesas,r8a77980-lvds" for R8A77980 (R-Car V3H) compatible LVDS encoders
23*c66ec88fSEmmanuel Vadot  - "renesas,r8a77990-lvds" for R8A77990 (R-Car E3) compatible LVDS encoders
24*c66ec88fSEmmanuel Vadot  - "renesas,r8a77995-lvds" for R8A77995 (R-Car D3) compatible LVDS encoders
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot- reg: Base address and length for the memory-mapped registers
27*c66ec88fSEmmanuel Vadot- clocks: A list of phandles + clock-specifier pairs, one for each entry in
28*c66ec88fSEmmanuel Vadot  the clock-names property.
29*c66ec88fSEmmanuel Vadot- clock-names: Name of the clocks. This property is model-dependent.
30*c66ec88fSEmmanuel Vadot  - The functional clock, which mandatory for all models, shall be listed
31*c66ec88fSEmmanuel Vadot    first, and shall be named "fck".
32*c66ec88fSEmmanuel Vadot  - On R8A77990, R8A77995 and R8A774C0, the LVDS encoder can use the EXTAL or
33*c66ec88fSEmmanuel Vadot    DU_DOTCLKINx clocks. Those clocks are optional. When supplied they must be
34*c66ec88fSEmmanuel Vadot    named "extal" and "dclkin.x" respectively, with "x" being the DU_DOTCLKIN
35*c66ec88fSEmmanuel Vadot    numerical index.
36*c66ec88fSEmmanuel Vadot  - When the clocks property only contains the functional clock, the
37*c66ec88fSEmmanuel Vadot    clock-names property may be omitted.
38*c66ec88fSEmmanuel Vadot- resets: A phandle + reset specifier for the module reset
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel VadotRequired nodes:
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel VadotThe LVDS encoder has two video ports. Their connections are modelled using the
43*c66ec88fSEmmanuel VadotOF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot- Video port 0 corresponds to the parallel RGB input
46*c66ec88fSEmmanuel Vadot- Video port 1 corresponds to the LVDS output
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel VadotEach port shall have a single endpoint.
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel VadotOptional properties:
51*c66ec88fSEmmanuel Vadot
52*c66ec88fSEmmanuel Vadot- renesas,companion : phandle to the companion LVDS encoder. This property is
53*c66ec88fSEmmanuel Vadot  mandatory for the first LVDS encoder on D3 and E3 SoCs, and shall point to
54*c66ec88fSEmmanuel Vadot  the second encoder to be used as a companion in dual-link mode. It shall not
55*c66ec88fSEmmanuel Vadot  be set for any other LVDS encoder.
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel VadotExample:
59*c66ec88fSEmmanuel Vadot
60*c66ec88fSEmmanuel Vadot	lvds0: lvds@feb90000 {
61*c66ec88fSEmmanuel Vadot		compatible = "renesas,r8a77990-lvds";
62*c66ec88fSEmmanuel Vadot		reg = <0 0xfeb90000 0 0x20>;
63*c66ec88fSEmmanuel Vadot		clocks = <&cpg CPG_MOD 727>;
64*c66ec88fSEmmanuel Vadot		power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
65*c66ec88fSEmmanuel Vadot		resets = <&cpg 727>;
66*c66ec88fSEmmanuel Vadot
67*c66ec88fSEmmanuel Vadot		renesas,companion = <&lvds1>;
68*c66ec88fSEmmanuel Vadot
69*c66ec88fSEmmanuel Vadot		ports {
70*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
71*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
72*c66ec88fSEmmanuel Vadot
73*c66ec88fSEmmanuel Vadot			port@0 {
74*c66ec88fSEmmanuel Vadot				reg = <0>;
75*c66ec88fSEmmanuel Vadot				lvds0_in: endpoint {
76*c66ec88fSEmmanuel Vadot					remote-endpoint = <&du_out_lvds0>;
77*c66ec88fSEmmanuel Vadot				};
78*c66ec88fSEmmanuel Vadot			};
79*c66ec88fSEmmanuel Vadot			port@1 {
80*c66ec88fSEmmanuel Vadot				reg = <1>;
81*c66ec88fSEmmanuel Vadot				lvds0_out: endpoint {
82*c66ec88fSEmmanuel Vadot				};
83*c66ec88fSEmmanuel Vadot			};
84*c66ec88fSEmmanuel Vadot		};
85*c66ec88fSEmmanuel Vadot	};
86