xref: /linux/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml (revision db5d28c0bfe566908719bec8e25443aabecbb802)
1575af8ecSFabrizio Castro# SPDX-License-Identifier: GPL-2.0
2575af8ecSFabrizio Castro%YAML 1.2
3575af8ecSFabrizio Castro---
4575af8ecSFabrizio Castro$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
5575af8ecSFabrizio Castro$schema: http://devicetree.org/meta-schemas/core.yaml#
6575af8ecSFabrizio Castro
7575af8ecSFabrizio Castrotitle: Transparent LVDS encoders and decoders
8575af8ecSFabrizio Castro
9575af8ecSFabrizio Castromaintainers:
10575af8ecSFabrizio Castro  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11575af8ecSFabrizio Castro
12575af8ecSFabrizio Castrodescription: |
13575af8ecSFabrizio Castro  This binding supports transparent LVDS encoders and decoders that don't
14575af8ecSFabrizio Castro  require any configuration.
15575af8ecSFabrizio Castro
16575af8ecSFabrizio Castro  LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
17575af8ecSFabrizio Castro  incompatible data link layers have been used over time to transmit image data
18575af8ecSFabrizio Castro  to LVDS panels. This binding targets devices compatible with the following
19575af8ecSFabrizio Castro  specifications only.
20575af8ecSFabrizio Castro
21575af8ecSFabrizio Castro  [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
22575af8ecSFabrizio Castro  1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
23575af8ecSFabrizio Castro  [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
24575af8ecSFabrizio Castro  Semiconductor
25575af8ecSFabrizio Castro  [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
26575af8ecSFabrizio Castro  Electronics Standards Association (VESA)
27575af8ecSFabrizio Castro
28575af8ecSFabrizio Castro  Those devices have been marketed under the FPD-Link and FlatLink brand names
29575af8ecSFabrizio Castro  among others.
30575af8ecSFabrizio Castro
31575af8ecSFabrizio Castroproperties:
32575af8ecSFabrizio Castro  compatible:
33575af8ecSFabrizio Castro    oneOf:
34575af8ecSFabrizio Castro      - items:
35575af8ecSFabrizio Castro          - enum:
36575af8ecSFabrizio Castro              - ti,ds90c185   # For the TI DS90C185 FPD-Link Serializer
37575af8ecSFabrizio Castro              - ti,ds90c187   # For the TI DS90C187 FPD-Link Serializer
38575af8ecSFabrizio Castro              - ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter
39575af8ecSFabrizio Castro          - const: lvds-encoder # Generic LVDS encoder compatible fallback
40b7de4ba7SFabrizio Castro      - items:
41b7de4ba7SFabrizio Castro          - enum:
421d61d359SMarek Vasut              - ti,ds90cf364a # For the DS90CF364A FPD-Link LVDS Receiver
43b7de4ba7SFabrizio Castro              - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
44*b2198657SDmitry Baryshkov              - ti,sn65lvds94 # For the SN65DS94 LVDS serdes
45575af8ecSFabrizio Castro          - const: lvds-decoder # Generic LVDS decoders compatible fallback
46cad8c44aSFabrizio Castro      - enum:
47cad8c44aSFabrizio Castro          - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
48575af8ecSFabrizio Castro
49575af8ecSFabrizio Castro  ports:
50b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
51b6755423SRob Herring
52575af8ecSFabrizio Castro    properties:
53575af8ecSFabrizio Castro      port@0:
54ba3e8678SMarek Vasut        $ref: /schemas/graph.yaml#/$defs/port-base
55ba007062SRob Herring        unevaluatedProperties: false
56575af8ecSFabrizio Castro        description: |
57575af8ecSFabrizio Castro          For LVDS encoders, port 0 is the parallel input
58575af8ecSFabrizio Castro          For LVDS decoders, port 0 is the LVDS input
59575af8ecSFabrizio Castro
60ba3e8678SMarek Vasut        properties:
61ba3e8678SMarek Vasut          endpoint:
62ba3e8678SMarek Vasut            $ref: /schemas/media/video-interfaces.yaml#
63ba3e8678SMarek Vasut            unevaluatedProperties: false
64ba3e8678SMarek Vasut
65ba3e8678SMarek Vasut            properties:
66ba3e8678SMarek Vasut              data-mapping:
67ba3e8678SMarek Vasut                enum:
68ba3e8678SMarek Vasut                  - jeida-18
69ba3e8678SMarek Vasut                  - jeida-24
70ba3e8678SMarek Vasut                  - vesa-24
71ba3e8678SMarek Vasut                description: |
72ba3e8678SMarek Vasut                  The color signals mapping order. See details in
73ea8a12e3SMaxime Ripard                  Documentation/devicetree/bindings/display/lvds.yaml
74ba3e8678SMarek Vasut
75575af8ecSFabrizio Castro      port@1:
76b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
77575af8ecSFabrizio Castro        description: |
78575af8ecSFabrizio Castro          For LVDS encoders, port 1 is the LVDS output
79575af8ecSFabrizio Castro          For LVDS decoders, port 1 is the parallel output
80575af8ecSFabrizio Castro
81575af8ecSFabrizio Castro    required:
82575af8ecSFabrizio Castro      - port@0
83575af8ecSFabrizio Castro      - port@1
84575af8ecSFabrizio Castro
85d7df3948SMarek Vasut  pclk-sample:
86d7df3948SMarek Vasut    description:
87d7df3948SMarek Vasut      Data sampling on rising or falling edge.
88d7df3948SMarek Vasut    enum:
89d7df3948SMarek Vasut      - 0  # Falling edge
90d7df3948SMarek Vasut      - 1  # Rising edge
91d7df3948SMarek Vasut    default: 0
92d7df3948SMarek Vasut
93575af8ecSFabrizio Castro  powerdown-gpios:
94575af8ecSFabrizio Castro    description:
95575af8ecSFabrizio Castro      The GPIO used to control the power down line of this device.
96575af8ecSFabrizio Castro    maxItems: 1
97575af8ecSFabrizio Castro
989bfaf9c7SRob Herring  power-supply: true
992cd9df2bSBiju Das
1005da8b49dSThierry RedingallOf:
1015da8b49dSThierry Reding  - if:
102ba3e8678SMarek Vasut      not:
103ba3e8678SMarek Vasut        properties:
104ba3e8678SMarek Vasut          compatible:
105ba3e8678SMarek Vasut            contains:
106ba3e8678SMarek Vasut              const: lvds-decoder
107ba3e8678SMarek Vasut    then:
108ba3e8678SMarek Vasut      properties:
109ba3e8678SMarek Vasut        ports:
110ba3e8678SMarek Vasut          properties:
111ba3e8678SMarek Vasut            port@0:
112ba3e8678SMarek Vasut              properties:
113ba3e8678SMarek Vasut                endpoint:
114ba3e8678SMarek Vasut                  properties:
115ba3e8678SMarek Vasut                    data-mapping: false
116ba3e8678SMarek Vasut
1175da8b49dSThierry Reding  - if:
118d7df3948SMarek Vasut      not:
119d7df3948SMarek Vasut        properties:
120d7df3948SMarek Vasut          compatible:
121d7df3948SMarek Vasut            contains:
122d7df3948SMarek Vasut              const: lvds-encoder
123d7df3948SMarek Vasut    then:
124d7df3948SMarek Vasut      properties:
125d7df3948SMarek Vasut        pclk-sample: false
126d7df3948SMarek Vasut
127575af8ecSFabrizio Castrorequired:
128575af8ecSFabrizio Castro  - compatible
129575af8ecSFabrizio Castro  - ports
130575af8ecSFabrizio Castro
1315be478f9SRob HerringadditionalProperties: false
1325be478f9SRob Herring
1335be478f9SRob Herring
134575af8ecSFabrizio Castroexamples:
135575af8ecSFabrizio Castro  - |
136575af8ecSFabrizio Castro    lvds-encoder {
137575af8ecSFabrizio Castro      compatible = "ti,ds90c185", "lvds-encoder";
138575af8ecSFabrizio Castro
139575af8ecSFabrizio Castro      ports {
140575af8ecSFabrizio Castro        #address-cells = <1>;
141575af8ecSFabrizio Castro        #size-cells = <0>;
142575af8ecSFabrizio Castro
143575af8ecSFabrizio Castro        port@0 {
144575af8ecSFabrizio Castro          reg = <0>;
145575af8ecSFabrizio Castro
146575af8ecSFabrizio Castro          lvds_enc_in: endpoint {
147575af8ecSFabrizio Castro            remote-endpoint = <&display_out_rgb>;
148575af8ecSFabrizio Castro          };
149575af8ecSFabrizio Castro        };
150575af8ecSFabrizio Castro
151575af8ecSFabrizio Castro        port@1 {
152575af8ecSFabrizio Castro          reg = <1>;
153575af8ecSFabrizio Castro
154575af8ecSFabrizio Castro          lvds_enc_out: endpoint {
155575af8ecSFabrizio Castro            remote-endpoint = <&lvds_panel_in>;
156575af8ecSFabrizio Castro          };
157575af8ecSFabrizio Castro        };
158575af8ecSFabrizio Castro      };
159575af8ecSFabrizio Castro    };
160575af8ecSFabrizio Castro
161575af8ecSFabrizio Castro  - |
162575af8ecSFabrizio Castro    lvds-decoder {
163b7de4ba7SFabrizio Castro      compatible = "ti,ds90cf384a", "lvds-decoder";
164575af8ecSFabrizio Castro
165575af8ecSFabrizio Castro      ports {
166575af8ecSFabrizio Castro        #address-cells = <1>;
167575af8ecSFabrizio Castro        #size-cells = <0>;
168575af8ecSFabrizio Castro
169575af8ecSFabrizio Castro        port@0 {
170575af8ecSFabrizio Castro          reg = <0>;
171575af8ecSFabrizio Castro
172575af8ecSFabrizio Castro          lvds_dec_in: endpoint {
173575af8ecSFabrizio Castro            remote-endpoint = <&display_out_lvds>;
174575af8ecSFabrizio Castro          };
175575af8ecSFabrizio Castro        };
176575af8ecSFabrizio Castro
177575af8ecSFabrizio Castro        port@1 {
178575af8ecSFabrizio Castro          reg = <1>;
179575af8ecSFabrizio Castro
180575af8ecSFabrizio Castro          lvds_dec_out: endpoint {
181575af8ecSFabrizio Castro            remote-endpoint = <&rgb_panel_in>;
182575af8ecSFabrizio Castro          };
183575af8ecSFabrizio Castro        };
184575af8ecSFabrizio Castro      };
185575af8ecSFabrizio Castro    };
186575af8ecSFabrizio Castro
187575af8ecSFabrizio Castro...
188