xref: /freebsd/sys/contrib/device-tree/Bindings/display/rockchip/rockchip,lvds.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2*fac71e4eSEmmanuel Vadot%YAML 1.2
3*fac71e4eSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/display/rockchip/rockchip,lvds.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*fac71e4eSEmmanuel Vadot
7*fac71e4eSEmmanuel Vadottitle: Rockchip low-voltage differential signal (LVDS) transmitter
8*fac71e4eSEmmanuel Vadot
9*fac71e4eSEmmanuel Vadotmaintainers:
10*fac71e4eSEmmanuel Vadot  - Sandy Huang <hjc@rock-chips.com>
11*fac71e4eSEmmanuel Vadot  - Heiko Stuebner <heiko@sntech.de>
12*fac71e4eSEmmanuel Vadot
13*fac71e4eSEmmanuel Vadotproperties:
14*fac71e4eSEmmanuel Vadot  compatible:
15*fac71e4eSEmmanuel Vadot    enum:
16*fac71e4eSEmmanuel Vadot      - rockchip,px30-lvds
17*fac71e4eSEmmanuel Vadot      - rockchip,rk3288-lvds
18*fac71e4eSEmmanuel Vadot
19*fac71e4eSEmmanuel Vadot  reg:
20*fac71e4eSEmmanuel Vadot    maxItems: 1
21*fac71e4eSEmmanuel Vadot
22*fac71e4eSEmmanuel Vadot  clocks:
23*fac71e4eSEmmanuel Vadot    maxItems: 1
24*fac71e4eSEmmanuel Vadot
25*fac71e4eSEmmanuel Vadot  clock-names:
26*fac71e4eSEmmanuel Vadot    const: pclk_lvds
27*fac71e4eSEmmanuel Vadot
28*fac71e4eSEmmanuel Vadot  avdd1v0-supply:
29*fac71e4eSEmmanuel Vadot    description: 1.0V analog power.
30*fac71e4eSEmmanuel Vadot
31*fac71e4eSEmmanuel Vadot  avdd1v8-supply:
32*fac71e4eSEmmanuel Vadot    description: 1.8V analog power.
33*fac71e4eSEmmanuel Vadot
34*fac71e4eSEmmanuel Vadot  avdd3v3-supply:
35*fac71e4eSEmmanuel Vadot    description: 3.3V analog power.
36*fac71e4eSEmmanuel Vadot
37*fac71e4eSEmmanuel Vadot  rockchip,grf:
38*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
39*fac71e4eSEmmanuel Vadot    description: Phandle to the general register files syscon.
40*fac71e4eSEmmanuel Vadot
41*fac71e4eSEmmanuel Vadot  rockchip,output:
42*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
43*fac71e4eSEmmanuel Vadot    enum: [rgb, lvds, duallvds]
44*fac71e4eSEmmanuel Vadot    description: This describes the output interface.
45*fac71e4eSEmmanuel Vadot
46*fac71e4eSEmmanuel Vadot  phys:
47*fac71e4eSEmmanuel Vadot    maxItems: 1
48*fac71e4eSEmmanuel Vadot
49*fac71e4eSEmmanuel Vadot  phy-names:
50*fac71e4eSEmmanuel Vadot    const: dphy
51*fac71e4eSEmmanuel Vadot
52*fac71e4eSEmmanuel Vadot  pinctrl-names:
53*fac71e4eSEmmanuel Vadot    const: lcdc
54*fac71e4eSEmmanuel Vadot
55*fac71e4eSEmmanuel Vadot  pinctrl-0: true
56*fac71e4eSEmmanuel Vadot
57*fac71e4eSEmmanuel Vadot  power-domains:
58*fac71e4eSEmmanuel Vadot    maxItems: 1
59*fac71e4eSEmmanuel Vadot
60*fac71e4eSEmmanuel Vadot  ports:
61*fac71e4eSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
62*fac71e4eSEmmanuel Vadot
63*fac71e4eSEmmanuel Vadot    properties:
64*fac71e4eSEmmanuel Vadot      port@0:
65*fac71e4eSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
66*fac71e4eSEmmanuel Vadot        description:
67*fac71e4eSEmmanuel Vadot          Video port 0 for the VOP input.
68*fac71e4eSEmmanuel Vadot          The remote endpoint maybe vopb or vopl.
69*fac71e4eSEmmanuel Vadot
70*fac71e4eSEmmanuel Vadot      port@1:
71*fac71e4eSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
72*fac71e4eSEmmanuel Vadot        description:
73*fac71e4eSEmmanuel Vadot          Video port 1 for either a panel or subsequent encoder.
74*fac71e4eSEmmanuel Vadot
75*fac71e4eSEmmanuel Vadot    required:
76*fac71e4eSEmmanuel Vadot      - port@0
77*fac71e4eSEmmanuel Vadot      - port@1
78*fac71e4eSEmmanuel Vadot
79*fac71e4eSEmmanuel Vadotrequired:
80*fac71e4eSEmmanuel Vadot  - compatible
81*fac71e4eSEmmanuel Vadot  - rockchip,grf
82*fac71e4eSEmmanuel Vadot  - rockchip,output
83*fac71e4eSEmmanuel Vadot  - ports
84*fac71e4eSEmmanuel Vadot
85*fac71e4eSEmmanuel VadotallOf:
86*fac71e4eSEmmanuel Vadot  - if:
87*fac71e4eSEmmanuel Vadot      properties:
88*fac71e4eSEmmanuel Vadot        compatible:
89*fac71e4eSEmmanuel Vadot          contains:
90*fac71e4eSEmmanuel Vadot            const: rockchip,px30-lvds
91*fac71e4eSEmmanuel Vadot
92*fac71e4eSEmmanuel Vadot    then:
93*fac71e4eSEmmanuel Vadot      properties:
94*fac71e4eSEmmanuel Vadot        reg: false
95*fac71e4eSEmmanuel Vadot        clocks: false
96*fac71e4eSEmmanuel Vadot        clock-names: false
97*fac71e4eSEmmanuel Vadot        avdd1v0-supply: false
98*fac71e4eSEmmanuel Vadot        avdd1v8-supply: false
99*fac71e4eSEmmanuel Vadot        avdd3v3-supply: false
100*fac71e4eSEmmanuel Vadot
101*fac71e4eSEmmanuel Vadot      required:
102*fac71e4eSEmmanuel Vadot        - phys
103*fac71e4eSEmmanuel Vadot        - phy-names
104*fac71e4eSEmmanuel Vadot
105*fac71e4eSEmmanuel Vadot  - if:
106*fac71e4eSEmmanuel Vadot      properties:
107*fac71e4eSEmmanuel Vadot        compatible:
108*fac71e4eSEmmanuel Vadot          contains:
109*fac71e4eSEmmanuel Vadot            const: rockchip,rk3288-lvds
110*fac71e4eSEmmanuel Vadot
111*fac71e4eSEmmanuel Vadot    then:
112*fac71e4eSEmmanuel Vadot      properties:
113*fac71e4eSEmmanuel Vadot        phys: false
114*fac71e4eSEmmanuel Vadot        phy-names: false
115*fac71e4eSEmmanuel Vadot
116*fac71e4eSEmmanuel Vadot      required:
117*fac71e4eSEmmanuel Vadot        - reg
118*fac71e4eSEmmanuel Vadot        - clocks
119*fac71e4eSEmmanuel Vadot        - clock-names
120*fac71e4eSEmmanuel Vadot        - avdd1v0-supply
121*fac71e4eSEmmanuel Vadot        - avdd1v8-supply
122*fac71e4eSEmmanuel Vadot        - avdd3v3-supply
123*fac71e4eSEmmanuel Vadot
124*fac71e4eSEmmanuel VadotadditionalProperties: false
125*fac71e4eSEmmanuel Vadot
126*fac71e4eSEmmanuel Vadotexamples:
127*fac71e4eSEmmanuel Vadot  - |
128*fac71e4eSEmmanuel Vadot    #include <dt-bindings/clock/rk3288-cru.h>
129*fac71e4eSEmmanuel Vadot
130*fac71e4eSEmmanuel Vadot    lvds: lvds@ff96c000 {
131*fac71e4eSEmmanuel Vadot      compatible = "rockchip,rk3288-lvds";
132*fac71e4eSEmmanuel Vadot      reg = <0xff96c000 0x4000>;
133*fac71e4eSEmmanuel Vadot      clocks = <&cru PCLK_LVDS_PHY>;
134*fac71e4eSEmmanuel Vadot      clock-names = "pclk_lvds";
135*fac71e4eSEmmanuel Vadot      avdd1v0-supply = <&vdd10_lcd>;
136*fac71e4eSEmmanuel Vadot      avdd1v8-supply = <&vcc18_lcd>;
137*fac71e4eSEmmanuel Vadot      avdd3v3-supply = <&vcca_33>;
138*fac71e4eSEmmanuel Vadot      pinctrl-names = "lcdc";
139*fac71e4eSEmmanuel Vadot      pinctrl-0 = <&lcdc_ctl>;
140*fac71e4eSEmmanuel Vadot      rockchip,grf = <&grf>;
141*fac71e4eSEmmanuel Vadot      rockchip,output = "rgb";
142*fac71e4eSEmmanuel Vadot
143*fac71e4eSEmmanuel Vadot      ports {
144*fac71e4eSEmmanuel Vadot        #address-cells = <1>;
145*fac71e4eSEmmanuel Vadot        #size-cells = <0>;
146*fac71e4eSEmmanuel Vadot
147*fac71e4eSEmmanuel Vadot        lvds_in: port@0 {
148*fac71e4eSEmmanuel Vadot          reg = <0>;
149*fac71e4eSEmmanuel Vadot          #address-cells = <1>;
150*fac71e4eSEmmanuel Vadot          #size-cells = <0>;
151*fac71e4eSEmmanuel Vadot
152*fac71e4eSEmmanuel Vadot          lvds_in_vopb: endpoint@0 {
153*fac71e4eSEmmanuel Vadot            reg = <0>;
154*fac71e4eSEmmanuel Vadot            remote-endpoint = <&vopb_out_lvds>;
155*fac71e4eSEmmanuel Vadot          };
156*fac71e4eSEmmanuel Vadot          lvds_in_vopl: endpoint@1 {
157*fac71e4eSEmmanuel Vadot            reg = <1>;
158*fac71e4eSEmmanuel Vadot            remote-endpoint = <&vopl_out_lvds>;
159*fac71e4eSEmmanuel Vadot          };
160*fac71e4eSEmmanuel Vadot        };
161*fac71e4eSEmmanuel Vadot
162*fac71e4eSEmmanuel Vadot        lvds_out: port@1 {
163*fac71e4eSEmmanuel Vadot          reg = <1>;
164*fac71e4eSEmmanuel Vadot
165*fac71e4eSEmmanuel Vadot          lvds_out_panel: endpoint {
166*fac71e4eSEmmanuel Vadot            remote-endpoint = <&panel_in_lvds>;
167*fac71e4eSEmmanuel Vadot          };
168*fac71e4eSEmmanuel Vadot        };
169*fac71e4eSEmmanuel Vadot      };
170*fac71e4eSEmmanuel Vadot    };
171