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