18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Transparent LVDS encoders and decoders
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  This binding supports transparent LVDS encoders and decoders that don't
148c2ecf20Sopenharmony_ci  require any configuration.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci  LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
178c2ecf20Sopenharmony_ci  incompatible data link layers have been used over time to transmit image data
188c2ecf20Sopenharmony_ci  to LVDS panels. This binding targets devices compatible with the following
198c2ecf20Sopenharmony_ci  specifications only.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
228c2ecf20Sopenharmony_ci  1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
238c2ecf20Sopenharmony_ci  [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
248c2ecf20Sopenharmony_ci  Semiconductor
258c2ecf20Sopenharmony_ci  [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
268c2ecf20Sopenharmony_ci  Electronics Standards Association (VESA)
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  Those devices have been marketed under the FPD-Link and FlatLink brand names
298c2ecf20Sopenharmony_ci  among others.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciproperties:
328c2ecf20Sopenharmony_ci  compatible:
338c2ecf20Sopenharmony_ci    oneOf:
348c2ecf20Sopenharmony_ci      - items:
358c2ecf20Sopenharmony_ci          - enum:
368c2ecf20Sopenharmony_ci              - ti,ds90c185   # For the TI DS90C185 FPD-Link Serializer
378c2ecf20Sopenharmony_ci              - ti,ds90c187   # For the TI DS90C187 FPD-Link Serializer
388c2ecf20Sopenharmony_ci              - ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter
398c2ecf20Sopenharmony_ci          - const: lvds-encoder # Generic LVDS encoder compatible fallback
408c2ecf20Sopenharmony_ci      - items:
418c2ecf20Sopenharmony_ci          - enum:
428c2ecf20Sopenharmony_ci              - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
438c2ecf20Sopenharmony_ci          - const: lvds-decoder # Generic LVDS decoders compatible fallback
448c2ecf20Sopenharmony_ci      - enum:
458c2ecf20Sopenharmony_ci          - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  ports:
488c2ecf20Sopenharmony_ci    type: object
498c2ecf20Sopenharmony_ci    description: |
508c2ecf20Sopenharmony_ci      This device has two video ports. Their connections are modeled using the
518c2ecf20Sopenharmony_ci      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
528c2ecf20Sopenharmony_ci    properties:
538c2ecf20Sopenharmony_ci      '#address-cells':
548c2ecf20Sopenharmony_ci        const: 1
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci      '#size-cells':
578c2ecf20Sopenharmony_ci        const: 0
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci      port@0:
608c2ecf20Sopenharmony_ci        type: object
618c2ecf20Sopenharmony_ci        description: |
628c2ecf20Sopenharmony_ci          For LVDS encoders, port 0 is the parallel input
638c2ecf20Sopenharmony_ci          For LVDS decoders, port 0 is the LVDS input
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci      port@1:
668c2ecf20Sopenharmony_ci        type: object
678c2ecf20Sopenharmony_ci        description: |
688c2ecf20Sopenharmony_ci          For LVDS encoders, port 1 is the LVDS output
698c2ecf20Sopenharmony_ci          For LVDS decoders, port 1 is the parallel output
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci    required:
728c2ecf20Sopenharmony_ci      - port@0
738c2ecf20Sopenharmony_ci      - port@1
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci    additionalProperties: false
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci  powerdown-gpios:
788c2ecf20Sopenharmony_ci    description:
798c2ecf20Sopenharmony_ci      The GPIO used to control the power down line of this device.
808c2ecf20Sopenharmony_ci    maxItems: 1
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci  power-supply:
838c2ecf20Sopenharmony_ci    maxItems: 1
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_cirequired:
868c2ecf20Sopenharmony_ci  - compatible
878c2ecf20Sopenharmony_ci  - ports
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciadditionalProperties: false
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciexamples:
938c2ecf20Sopenharmony_ci  - |
948c2ecf20Sopenharmony_ci    lvds-encoder {
958c2ecf20Sopenharmony_ci      compatible = "ti,ds90c185", "lvds-encoder";
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci      ports {
988c2ecf20Sopenharmony_ci        #address-cells = <1>;
998c2ecf20Sopenharmony_ci        #size-cells = <0>;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci        port@0 {
1028c2ecf20Sopenharmony_ci          reg = <0>;
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci          lvds_enc_in: endpoint {
1058c2ecf20Sopenharmony_ci            remote-endpoint = <&display_out_rgb>;
1068c2ecf20Sopenharmony_ci          };
1078c2ecf20Sopenharmony_ci        };
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci        port@1 {
1108c2ecf20Sopenharmony_ci          reg = <1>;
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci          lvds_enc_out: endpoint {
1138c2ecf20Sopenharmony_ci            remote-endpoint = <&lvds_panel_in>;
1148c2ecf20Sopenharmony_ci          };
1158c2ecf20Sopenharmony_ci        };
1168c2ecf20Sopenharmony_ci      };
1178c2ecf20Sopenharmony_ci    };
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci  - |
1208c2ecf20Sopenharmony_ci    lvds-decoder {
1218c2ecf20Sopenharmony_ci      compatible = "ti,ds90cf384a", "lvds-decoder";
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci      ports {
1248c2ecf20Sopenharmony_ci        #address-cells = <1>;
1258c2ecf20Sopenharmony_ci        #size-cells = <0>;
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci        port@0 {
1288c2ecf20Sopenharmony_ci          reg = <0>;
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci          lvds_dec_in: endpoint {
1318c2ecf20Sopenharmony_ci            remote-endpoint = <&display_out_lvds>;
1328c2ecf20Sopenharmony_ci          };
1338c2ecf20Sopenharmony_ci        };
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci        port@1 {
1368c2ecf20Sopenharmony_ci          reg = <1>;
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci          lvds_dec_out: endpoint {
1398c2ecf20Sopenharmony_ci            remote-endpoint = <&rgb_panel_in>;
1408c2ecf20Sopenharmony_ci          };
1418c2ecf20Sopenharmony_ci        };
1428c2ecf20Sopenharmony_ci      };
1438c2ecf20Sopenharmony_ci    };
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci...
146