xref: /linux/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml (revision d7df3948eb49302ef282a72563b57c084ce2e244)
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:
48b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
49b6755423SRob Herring
50575af8ecSFabrizio Castro    properties:
51575af8ecSFabrizio Castro      port@0:
52ba3e8678SMarek Vasut        $ref: /schemas/graph.yaml#/$defs/port-base
53575af8ecSFabrizio Castro        description: |
54575af8ecSFabrizio Castro          For LVDS encoders, port 0 is the parallel input
55575af8ecSFabrizio Castro          For LVDS decoders, port 0 is the LVDS input
56575af8ecSFabrizio Castro
57ba3e8678SMarek Vasut        properties:
58ba3e8678SMarek Vasut          endpoint:
59ba3e8678SMarek Vasut            $ref: /schemas/media/video-interfaces.yaml#
60ba3e8678SMarek Vasut            unevaluatedProperties: false
61ba3e8678SMarek Vasut
62ba3e8678SMarek Vasut            properties:
63ba3e8678SMarek Vasut              data-mapping:
64ba3e8678SMarek Vasut                enum:
65ba3e8678SMarek Vasut                  - jeida-18
66ba3e8678SMarek Vasut                  - jeida-24
67ba3e8678SMarek Vasut                  - vesa-24
68ba3e8678SMarek Vasut                description: |
69ba3e8678SMarek Vasut                  The color signals mapping order. See details in
70ba3e8678SMarek Vasut                  Documentation/devicetree/bindings/display/panel/lvds.yaml
71ba3e8678SMarek Vasut
72575af8ecSFabrizio Castro      port@1:
73b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
74575af8ecSFabrizio Castro        description: |
75575af8ecSFabrizio Castro          For LVDS encoders, port 1 is the LVDS output
76575af8ecSFabrizio Castro          For LVDS decoders, port 1 is the parallel output
77575af8ecSFabrizio Castro
78575af8ecSFabrizio Castro    required:
79575af8ecSFabrizio Castro      - port@0
80575af8ecSFabrizio Castro      - port@1
81575af8ecSFabrizio Castro
82*d7df3948SMarek Vasut  pclk-sample:
83*d7df3948SMarek Vasut    description:
84*d7df3948SMarek Vasut      Data sampling on rising or falling edge.
85*d7df3948SMarek Vasut    enum:
86*d7df3948SMarek Vasut      - 0  # Falling edge
87*d7df3948SMarek Vasut      - 1  # Rising edge
88*d7df3948SMarek Vasut    default: 0
89*d7df3948SMarek Vasut
90575af8ecSFabrizio Castro  powerdown-gpios:
91575af8ecSFabrizio Castro    description:
92575af8ecSFabrizio Castro      The GPIO used to control the power down line of this device.
93575af8ecSFabrizio Castro    maxItems: 1
94575af8ecSFabrizio Castro
959bfaf9c7SRob Herring  power-supply: true
962cd9df2bSBiju Das
97ba3e8678SMarek Vasutif:
98ba3e8678SMarek Vasut  not:
99ba3e8678SMarek Vasut    properties:
100ba3e8678SMarek Vasut      compatible:
101ba3e8678SMarek Vasut        contains:
102ba3e8678SMarek Vasut          const: lvds-decoder
103ba3e8678SMarek Vasutthen:
104ba3e8678SMarek Vasut  properties:
105ba3e8678SMarek Vasut    ports:
106ba3e8678SMarek Vasut      properties:
107ba3e8678SMarek Vasut        port@0:
108ba3e8678SMarek Vasut          properties:
109ba3e8678SMarek Vasut            endpoint:
110ba3e8678SMarek Vasut              properties:
111ba3e8678SMarek Vasut                data-mapping: false
112ba3e8678SMarek Vasut
113*d7df3948SMarek Vasutif:
114*d7df3948SMarek Vasut  not:
115*d7df3948SMarek Vasut    properties:
116*d7df3948SMarek Vasut      compatible:
117*d7df3948SMarek Vasut        contains:
118*d7df3948SMarek Vasut          const: lvds-encoder
119*d7df3948SMarek Vasutthen:
120*d7df3948SMarek Vasut  properties:
121*d7df3948SMarek Vasut    pclk-sample: false
122*d7df3948SMarek Vasut
123575af8ecSFabrizio Castrorequired:
124575af8ecSFabrizio Castro  - compatible
125575af8ecSFabrizio Castro  - ports
126575af8ecSFabrizio Castro
1275be478f9SRob HerringadditionalProperties: false
1285be478f9SRob Herring
1295be478f9SRob Herring
130575af8ecSFabrizio Castroexamples:
131575af8ecSFabrizio Castro  - |
132575af8ecSFabrizio Castro    lvds-encoder {
133575af8ecSFabrizio Castro      compatible = "ti,ds90c185", "lvds-encoder";
134575af8ecSFabrizio Castro
135575af8ecSFabrizio Castro      ports {
136575af8ecSFabrizio Castro        #address-cells = <1>;
137575af8ecSFabrizio Castro        #size-cells = <0>;
138575af8ecSFabrizio Castro
139575af8ecSFabrizio Castro        port@0 {
140575af8ecSFabrizio Castro          reg = <0>;
141575af8ecSFabrizio Castro
142575af8ecSFabrizio Castro          lvds_enc_in: endpoint {
143575af8ecSFabrizio Castro            remote-endpoint = <&display_out_rgb>;
144575af8ecSFabrizio Castro          };
145575af8ecSFabrizio Castro        };
146575af8ecSFabrizio Castro
147575af8ecSFabrizio Castro        port@1 {
148575af8ecSFabrizio Castro          reg = <1>;
149575af8ecSFabrizio Castro
150575af8ecSFabrizio Castro          lvds_enc_out: endpoint {
151575af8ecSFabrizio Castro            remote-endpoint = <&lvds_panel_in>;
152575af8ecSFabrizio Castro          };
153575af8ecSFabrizio Castro        };
154575af8ecSFabrizio Castro      };
155575af8ecSFabrizio Castro    };
156575af8ecSFabrizio Castro
157575af8ecSFabrizio Castro  - |
158575af8ecSFabrizio Castro    lvds-decoder {
159b7de4ba7SFabrizio Castro      compatible = "ti,ds90cf384a", "lvds-decoder";
160575af8ecSFabrizio Castro
161575af8ecSFabrizio Castro      ports {
162575af8ecSFabrizio Castro        #address-cells = <1>;
163575af8ecSFabrizio Castro        #size-cells = <0>;
164575af8ecSFabrizio Castro
165575af8ecSFabrizio Castro        port@0 {
166575af8ecSFabrizio Castro          reg = <0>;
167575af8ecSFabrizio Castro
168575af8ecSFabrizio Castro          lvds_dec_in: endpoint {
169575af8ecSFabrizio Castro            remote-endpoint = <&display_out_lvds>;
170575af8ecSFabrizio Castro          };
171575af8ecSFabrizio Castro        };
172575af8ecSFabrizio Castro
173575af8ecSFabrizio Castro        port@1 {
174575af8ecSFabrizio Castro          reg = <1>;
175575af8ecSFabrizio Castro
176575af8ecSFabrizio Castro          lvds_dec_out: endpoint {
177575af8ecSFabrizio Castro            remote-endpoint = <&rgb_panel_in>;
178575af8ecSFabrizio Castro          };
179575af8ecSFabrizio Castro        };
180575af8ecSFabrizio Castro      };
181575af8ecSFabrizio Castro    };
182575af8ecSFabrizio Castro
183575af8ecSFabrizio Castro...
184