xref: /linux/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml (revision 9bfaf9c729a924c048eaf2032ce932b3c724dc27)
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:
42b7de4ba7SFabrizio Castro              - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
43575af8ecSFabrizio Castro          - const: lvds-decoder # Generic LVDS decoders compatible fallback
44cad8c44aSFabrizio Castro      - enum:
45cad8c44aSFabrizio Castro          - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
46575af8ecSFabrizio Castro
47575af8ecSFabrizio Castro  ports:
48575af8ecSFabrizio Castro    type: object
49575af8ecSFabrizio Castro    description: |
50575af8ecSFabrizio Castro      This device has two video ports. Their connections are modeled using the
51575af8ecSFabrizio Castro      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
52575af8ecSFabrizio Castro    properties:
5382e0e5feSLaurent Pinchart      '#address-cells':
5482e0e5feSLaurent Pinchart        const: 1
5582e0e5feSLaurent Pinchart
5682e0e5feSLaurent Pinchart      '#size-cells':
5782e0e5feSLaurent Pinchart        const: 0
5882e0e5feSLaurent Pinchart
59575af8ecSFabrizio Castro      port@0:
60575af8ecSFabrizio Castro        type: object
61575af8ecSFabrizio Castro        description: |
62575af8ecSFabrizio Castro          For LVDS encoders, port 0 is the parallel input
63575af8ecSFabrizio Castro          For LVDS decoders, port 0 is the LVDS input
64575af8ecSFabrizio Castro
65575af8ecSFabrizio Castro      port@1:
66575af8ecSFabrizio Castro        type: object
67575af8ecSFabrizio Castro        description: |
68575af8ecSFabrizio Castro          For LVDS encoders, port 1 is the LVDS output
69575af8ecSFabrizio Castro          For LVDS decoders, port 1 is the parallel output
70575af8ecSFabrizio Castro
71575af8ecSFabrizio Castro    required:
72575af8ecSFabrizio Castro      - port@0
73575af8ecSFabrizio Castro      - port@1
74575af8ecSFabrizio Castro
7582e0e5feSLaurent Pinchart    additionalProperties: false
7682e0e5feSLaurent Pinchart
77575af8ecSFabrizio Castro  powerdown-gpios:
78575af8ecSFabrizio Castro    description:
79575af8ecSFabrizio Castro      The GPIO used to control the power down line of this device.
80575af8ecSFabrizio Castro    maxItems: 1
81575af8ecSFabrizio Castro
82*9bfaf9c7SRob Herring  power-supply: true
832cd9df2bSBiju Das
84575af8ecSFabrizio Castrorequired:
85575af8ecSFabrizio Castro  - compatible
86575af8ecSFabrizio Castro  - ports
87575af8ecSFabrizio Castro
885be478f9SRob HerringadditionalProperties: false
895be478f9SRob Herring
905be478f9SRob Herring
91575af8ecSFabrizio Castroexamples:
92575af8ecSFabrizio Castro  - |
93575af8ecSFabrizio Castro    lvds-encoder {
94575af8ecSFabrizio Castro      compatible = "ti,ds90c185", "lvds-encoder";
95575af8ecSFabrizio Castro
96575af8ecSFabrizio Castro      ports {
97575af8ecSFabrizio Castro        #address-cells = <1>;
98575af8ecSFabrizio Castro        #size-cells = <0>;
99575af8ecSFabrizio Castro
100575af8ecSFabrizio Castro        port@0 {
101575af8ecSFabrizio Castro          reg = <0>;
102575af8ecSFabrizio Castro
103575af8ecSFabrizio Castro          lvds_enc_in: endpoint {
104575af8ecSFabrizio Castro            remote-endpoint = <&display_out_rgb>;
105575af8ecSFabrizio Castro          };
106575af8ecSFabrizio Castro        };
107575af8ecSFabrizio Castro
108575af8ecSFabrizio Castro        port@1 {
109575af8ecSFabrizio Castro          reg = <1>;
110575af8ecSFabrizio Castro
111575af8ecSFabrizio Castro          lvds_enc_out: endpoint {
112575af8ecSFabrizio Castro            remote-endpoint = <&lvds_panel_in>;
113575af8ecSFabrizio Castro          };
114575af8ecSFabrizio Castro        };
115575af8ecSFabrizio Castro      };
116575af8ecSFabrizio Castro    };
117575af8ecSFabrizio Castro
118575af8ecSFabrizio Castro  - |
119575af8ecSFabrizio Castro    lvds-decoder {
120b7de4ba7SFabrizio Castro      compatible = "ti,ds90cf384a", "lvds-decoder";
121575af8ecSFabrizio Castro
122575af8ecSFabrizio Castro      ports {
123575af8ecSFabrizio Castro        #address-cells = <1>;
124575af8ecSFabrizio Castro        #size-cells = <0>;
125575af8ecSFabrizio Castro
126575af8ecSFabrizio Castro        port@0 {
127575af8ecSFabrizio Castro          reg = <0>;
128575af8ecSFabrizio Castro
129575af8ecSFabrizio Castro          lvds_dec_in: endpoint {
130575af8ecSFabrizio Castro            remote-endpoint = <&display_out_lvds>;
131575af8ecSFabrizio Castro          };
132575af8ecSFabrizio Castro        };
133575af8ecSFabrizio Castro
134575af8ecSFabrizio Castro        port@1 {
135575af8ecSFabrizio Castro          reg = <1>;
136575af8ecSFabrizio Castro
137575af8ecSFabrizio Castro          lvds_dec_out: endpoint {
138575af8ecSFabrizio Castro            remote-endpoint = <&rgb_panel_in>;
139575af8ecSFabrizio Castro          };
140575af8ecSFabrizio Castro        };
141575af8ecSFabrizio Castro      };
142575af8ecSFabrizio Castro    };
143575af8ecSFabrizio Castro
144575af8ecSFabrizio Castro...
145