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