dt-bindings: display: bridge: lvds-codec: Document LVDS data mapping select
[linux-block.git] / Documentation / devicetree / bindings / display / bridge / lvds-codec.yaml
CommitLineData
a7738c08
FC
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
575af8ec 4$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
a7738c08
FC
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
575af8ec 7title: Transparent LVDS encoders and decoders
a7738c08
FC
8
9maintainers:
10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11
12description: |
575af8ec
FC
13 This binding supports transparent LVDS encoders and decoders that don't
14 require any configuration.
a7738c08
FC
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
31properties:
32 compatible:
575af8ec
FC
33 oneOf:
34 - items:
9f60a65b
RH
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
b7de4ba7 40 - items:
9f60a65b
RH
41 - enum:
42 - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
43 - const: lvds-decoder # Generic LVDS decoders compatible fallback
cad8c44a 44 - enum:
9f60a65b 45 - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
a7738c08
FC
46
47 ports:
b6755423 48 $ref: /schemas/graph.yaml#/properties/ports
82e0e5fe 49
b6755423 50 properties:
a7738c08 51 port@0:
ba3e8678 52 $ref: /schemas/graph.yaml#/$defs/port-base
a7738c08 53 description: |
575af8ec
FC
54 For LVDS encoders, port 0 is the parallel input
55 For LVDS decoders, port 0 is the LVDS input
a7738c08 56
ba3e8678
MV
57 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
a7738c08 72 port@1:
b6755423 73 $ref: /schemas/graph.yaml#/properties/port
a7738c08 74 description: |
575af8ec
FC
75 For LVDS encoders, port 1 is the LVDS output
76 For LVDS decoders, port 1 is the parallel output
a7738c08
FC
77
78 required:
79 - port@0
80 - port@1
81
9acfa9d3
FC
82 powerdown-gpios:
83 description:
84 The GPIO used to control the power down line of this device.
85 maxItems: 1
86
9bfaf9c7 87 power-supply: true
2cd9df2b 88
ba3e8678
MV
89if:
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
a7738c08
FC
105required:
106 - compatible
107 - ports
108
5be478f9
RH
109additionalProperties: false
110
111
a7738c08
FC
112examples:
113 - |
114 lvds-encoder {
5240272d 115 compatible = "ti,ds90c185", "lvds-encoder";
a7738c08
FC
116
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
575af8ec
FC
139 - |
140 lvds-decoder {
b7de4ba7 141 compatible = "ti,ds90cf384a", "lvds-decoder";
575af8ec
FC
142
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
a7738c08 165...