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