blob: 1faae3e323a4629a885ae1914a64f448dc7a589a [file] [log] [blame]
Fabrizio Castroa7738c02019-11-13 15:51:20 +00001# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
Fabrizio Castro575af8e2019-11-13 15:51:27 +00004$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
Fabrizio Castroa7738c02019-11-13 15:51:20 +00005$schema: http://devicetree.org/meta-schemas/core.yaml#
6
Fabrizio Castro575af8e2019-11-13 15:51:27 +00007title: Transparent LVDS encoders and decoders
Fabrizio Castroa7738c02019-11-13 15:51:20 +00008
9maintainers:
10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11
12description: |
Fabrizio Castro575af8e2019-11-13 15:51:27 +000013 This binding supports transparent LVDS encoders and decoders that don't
14 require any configuration.
Fabrizio Castroa7738c02019-11-13 15:51:20 +000015
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
31properties:
32 compatible:
Fabrizio Castro575af8e2019-11-13 15:51:27 +000033 oneOf:
34 - items:
Rob Herring9f60a652020-04-15 19:55:48 -050035 - 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
Fabrizio Castrob7de4ba2019-11-13 15:51:28 +000040 - items:
Rob Herring9f60a652020-04-15 19:55:48 -050041 - enum:
42 - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
43 - const: lvds-decoder # Generic LVDS decoders compatible fallback
Fabrizio Castrocad8c442019-11-13 15:51:32 +000044 - enum:
Rob Herring9f60a652020-04-15 19:55:48 -050045 - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
Fabrizio Castroa7738c02019-11-13 15:51:20 +000046
47 ports:
Rob Herringb6755422021-01-04 11:07:23 -070048 $ref: /schemas/graph.yaml#/properties/ports
49
Fabrizio Castroa7738c02019-11-13 15:51:20 +000050 properties:
51 port@0:
Marek Vasutba3e8672021-10-10 16:49:18 +020052 $ref: /schemas/graph.yaml#/$defs/port-base
Fabrizio Castroa7738c02019-11-13 15:51:20 +000053 description: |
Fabrizio Castro575af8e2019-11-13 15:51:27 +000054 For LVDS encoders, port 0 is the parallel input
55 For LVDS decoders, port 0 is the LVDS input
Fabrizio Castroa7738c02019-11-13 15:51:20 +000056
Marek Vasutba3e8672021-10-10 16:49:18 +020057 properties:
58 endpoint:
59 $ref: /schemas/media/video-interfaces.yaml#
60 unevaluatedProperties: false
61
62 properties:
63 data-mapping:
64 enum:
65 - jeida-18
66 - jeida-24
67 - vesa-24
68 description: |
69 The color signals mapping order. See details in
70 Documentation/devicetree/bindings/display/panel/lvds.yaml
71
Fabrizio Castroa7738c02019-11-13 15:51:20 +000072 port@1:
Rob Herringb6755422021-01-04 11:07:23 -070073 $ref: /schemas/graph.yaml#/properties/port
Fabrizio Castroa7738c02019-11-13 15:51:20 +000074 description: |
Fabrizio Castro575af8e2019-11-13 15:51:27 +000075 For LVDS encoders, port 1 is the LVDS output
76 For LVDS decoders, port 1 is the parallel output
Fabrizio Castroa7738c02019-11-13 15:51:20 +000077
78 required:
79 - port@0
80 - port@1
81
Fabrizio Castro9acfa9d2019-11-13 15:51:21 +000082 powerdown-gpios:
83 description:
84 The GPIO used to control the power down line of this device.
85 maxItems: 1
86
Rob Herring9bfaf9c2020-12-21 16:46:59 -070087 power-supply: true
Biju Das2cd9df22020-08-10 16:22:17 +010088
Marek Vasutba3e8672021-10-10 16:49:18 +020089if:
90 not:
91 properties:
92 compatible:
93 contains:
94 const: lvds-decoder
95then:
96 properties:
97 ports:
98 properties:
99 port@0:
100 properties:
101 endpoint:
102 properties:
103 data-mapping: false
104
Fabrizio Castroa7738c02019-11-13 15:51:20 +0000105required:
106 - compatible
107 - ports
108
Rob Herring5be478f2020-10-02 18:41:43 -0500109additionalProperties: false
110
111
Fabrizio Castroa7738c02019-11-13 15:51:20 +0000112examples:
113 - |
114 lvds-encoder {
Fabrizio Castro52402722019-11-13 15:51:22 +0000115 compatible = "ti,ds90c185", "lvds-encoder";
Fabrizio Castroa7738c02019-11-13 15:51:20 +0000116
117 ports {
118 #address-cells = <1>;
119 #size-cells = <0>;
120
121 port@0 {
122 reg = <0>;
123
124 lvds_enc_in: endpoint {
125 remote-endpoint = <&display_out_rgb>;
126 };
127 };
128
129 port@1 {
130 reg = <1>;
131
132 lvds_enc_out: endpoint {
133 remote-endpoint = <&lvds_panel_in>;
134 };
135 };
136 };
137 };
138
Fabrizio Castro575af8e2019-11-13 15:51:27 +0000139 - |
140 lvds-decoder {
Fabrizio Castrob7de4ba2019-11-13 15:51:28 +0000141 compatible = "ti,ds90cf384a", "lvds-decoder";
Fabrizio Castro575af8e2019-11-13 15:51:27 +0000142
143 ports {
144 #address-cells = <1>;
145 #size-cells = <0>;
146
147 port@0 {
148 reg = <0>;
149
150 lvds_dec_in: endpoint {
151 remote-endpoint = <&display_out_lvds>;
152 };
153 };
154
155 port@1 {
156 reg = <1>;
157
158 lvds_dec_out: endpoint {
159 remote-endpoint = <&rgb_panel_in>;
160 };
161 };
162 };
163 };
164
Fabrizio Castroa7738c02019-11-13 15:51:20 +0000165...