xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Transparent LVDS encoders and decoders
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription: |
13*4882a593Smuzhiyun  This binding supports transparent LVDS encoders and decoders that don't
14*4882a593Smuzhiyun  require any configuration.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun  LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
17*4882a593Smuzhiyun  incompatible data link layers have been used over time to transmit image data
18*4882a593Smuzhiyun  to LVDS panels. This binding targets devices compatible with the following
19*4882a593Smuzhiyun  specifications only.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun  [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
22*4882a593Smuzhiyun  1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
23*4882a593Smuzhiyun  [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
24*4882a593Smuzhiyun  Semiconductor
25*4882a593Smuzhiyun  [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
26*4882a593Smuzhiyun  Electronics Standards Association (VESA)
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun  Those devices have been marketed under the FPD-Link and FlatLink brand names
29*4882a593Smuzhiyun  among others.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunproperties:
32*4882a593Smuzhiyun  compatible:
33*4882a593Smuzhiyun    oneOf:
34*4882a593Smuzhiyun      - items:
35*4882a593Smuzhiyun          - enum:
36*4882a593Smuzhiyun              - ti,ds90c185   # For the TI DS90C185 FPD-Link Serializer
37*4882a593Smuzhiyun              - ti,ds90c187   # For the TI DS90C187 FPD-Link Serializer
38*4882a593Smuzhiyun              - ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter
39*4882a593Smuzhiyun          - const: lvds-encoder # Generic LVDS encoder compatible fallback
40*4882a593Smuzhiyun      - items:
41*4882a593Smuzhiyun          - enum:
42*4882a593Smuzhiyun              - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
43*4882a593Smuzhiyun          - const: lvds-decoder # Generic LVDS decoders compatible fallback
44*4882a593Smuzhiyun      - enum:
45*4882a593Smuzhiyun          - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun  ports:
48*4882a593Smuzhiyun    type: object
49*4882a593Smuzhiyun    description: |
50*4882a593Smuzhiyun      This device has two video ports. Their connections are modeled using the
51*4882a593Smuzhiyun      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
52*4882a593Smuzhiyun    properties:
53*4882a593Smuzhiyun      '#address-cells':
54*4882a593Smuzhiyun        const: 1
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun      '#size-cells':
57*4882a593Smuzhiyun        const: 0
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun      port@0:
60*4882a593Smuzhiyun        type: object
61*4882a593Smuzhiyun        description: |
62*4882a593Smuzhiyun          For LVDS encoders, port 0 is the parallel input
63*4882a593Smuzhiyun          For LVDS decoders, port 0 is the LVDS input
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun      port@1:
66*4882a593Smuzhiyun        type: object
67*4882a593Smuzhiyun        description: |
68*4882a593Smuzhiyun          For LVDS encoders, port 1 is the LVDS output
69*4882a593Smuzhiyun          For LVDS decoders, port 1 is the parallel output
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun    required:
72*4882a593Smuzhiyun      - port@0
73*4882a593Smuzhiyun      - port@1
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun    additionalProperties: false
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun  powerdown-gpios:
78*4882a593Smuzhiyun    description:
79*4882a593Smuzhiyun      The GPIO used to control the power down line of this device.
80*4882a593Smuzhiyun    maxItems: 1
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun  power-supply:
83*4882a593Smuzhiyun    maxItems: 1
84*4882a593Smuzhiyun
85*4882a593Smuzhiyunrequired:
86*4882a593Smuzhiyun  - compatible
87*4882a593Smuzhiyun  - ports
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunadditionalProperties: false
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun
92*4882a593Smuzhiyunexamples:
93*4882a593Smuzhiyun  - |
94*4882a593Smuzhiyun    lvds-encoder {
95*4882a593Smuzhiyun      compatible = "ti,ds90c185", "lvds-encoder";
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun      ports {
98*4882a593Smuzhiyun        #address-cells = <1>;
99*4882a593Smuzhiyun        #size-cells = <0>;
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun        port@0 {
102*4882a593Smuzhiyun          reg = <0>;
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun          lvds_enc_in: endpoint {
105*4882a593Smuzhiyun            remote-endpoint = <&display_out_rgb>;
106*4882a593Smuzhiyun          };
107*4882a593Smuzhiyun        };
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun        port@1 {
110*4882a593Smuzhiyun          reg = <1>;
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun          lvds_enc_out: endpoint {
113*4882a593Smuzhiyun            remote-endpoint = <&lvds_panel_in>;
114*4882a593Smuzhiyun          };
115*4882a593Smuzhiyun        };
116*4882a593Smuzhiyun      };
117*4882a593Smuzhiyun    };
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun  - |
120*4882a593Smuzhiyun    lvds-decoder {
121*4882a593Smuzhiyun      compatible = "ti,ds90cf384a", "lvds-decoder";
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun      ports {
124*4882a593Smuzhiyun        #address-cells = <1>;
125*4882a593Smuzhiyun        #size-cells = <0>;
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun        port@0 {
128*4882a593Smuzhiyun          reg = <0>;
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun          lvds_dec_in: endpoint {
131*4882a593Smuzhiyun            remote-endpoint = <&display_out_lvds>;
132*4882a593Smuzhiyun          };
133*4882a593Smuzhiyun        };
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun        port@1 {
136*4882a593Smuzhiyun          reg = <1>;
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun          lvds_dec_out: endpoint {
139*4882a593Smuzhiyun            remote-endpoint = <&rgb_panel_in>;
140*4882a593Smuzhiyun          };
141*4882a593Smuzhiyun        };
142*4882a593Smuzhiyun      };
143*4882a593Smuzhiyun    };
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun...
146