| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- # SPDX-License-Identifier: GPL-2.0
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Transparent LVDS encoders and decoders
- maintainers:
- - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
- description: |
- This binding supports transparent LVDS encoders and decoders that don't
- require any configuration.
- LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
- incompatible data link layers have been used over time to transmit image data
- to LVDS panels. This binding targets devices compatible with the following
- specifications only.
- [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
- 1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
- [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
- Semiconductor
- [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
- Electronics Standards Association (VESA)
- Those devices have been marketed under the FPD-Link and FlatLink brand names
- among others.
- properties:
- compatible:
- oneOf:
- - items:
- - enum:
- - ti,ds90c185 # For the TI DS90C185 FPD-Link Serializer
- - ti,ds90c187 # For the TI DS90C187 FPD-Link Serializer
- - ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter
- - const: lvds-encoder # Generic LVDS encoder compatible fallback
- - items:
- - enum:
- - ti,ds90cf364a # For the DS90CF364A FPD-Link LVDS Receiver
- - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver
- - ti,sn65lvds94 # For the SN65DS94 LVDS serdes
- - const: lvds-decoder # Generic LVDS decoders compatible fallback
- - enum:
- - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer
- ports:
- $ref: /schemas/graph.yaml#/properties/ports
- properties:
- port@0:
- $ref: /schemas/graph.yaml#/$defs/port-base
- unevaluatedProperties: false
- description: |
- For LVDS encoders, port 0 is the parallel input
- For LVDS decoders, port 0 is the LVDS input
- properties:
- endpoint:
- $ref: /schemas/media/video-interfaces.yaml#
- unevaluatedProperties: false
- properties:
- data-mapping:
- enum:
- - jeida-18
- - jeida-24
- - vesa-24
- description: |
- The color signals mapping order. See details in
- Documentation/devicetree/bindings/display/lvds.yaml
- port@1:
- $ref: /schemas/graph.yaml#/properties/port
- description: |
- For LVDS encoders, port 1 is the LVDS output
- For LVDS decoders, port 1 is the parallel output
- required:
- - port@0
- - port@1
- pclk-sample:
- description:
- Data sampling on rising or falling edge.
- enum:
- - 0 # Falling edge
- - 1 # Rising edge
- default: 0
- powerdown-gpios:
- description:
- The GPIO used to control the power down line of this device.
- maxItems: 1
- power-supply: true
- allOf:
- - if:
- not:
- properties:
- compatible:
- contains:
- const: lvds-decoder
- then:
- properties:
- ports:
- properties:
- port@0:
- properties:
- endpoint:
- properties:
- data-mapping: false
- - if:
- not:
- properties:
- compatible:
- contains:
- const: lvds-encoder
- then:
- properties:
- pclk-sample: false
- required:
- - compatible
- - ports
- additionalProperties: false
- examples:
- - |
- lvds-encoder {
- compatible = "ti,ds90c185", "lvds-encoder";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- lvds_enc_in: endpoint {
- remote-endpoint = <&display_out_rgb>;
- };
- };
- port@1 {
- reg = <1>;
- lvds_enc_out: endpoint {
- remote-endpoint = <&lvds_panel_in>;
- };
- };
- };
- };
- - |
- lvds-decoder {
- compatible = "ti,ds90cf384a", "lvds-decoder";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- lvds_dec_in: endpoint {
- remote-endpoint = <&display_out_lvds>;
- };
- };
- port@1 {
- reg = <1>;
- lvds_dec_out: endpoint {
- remote-endpoint = <&rgb_panel_in>;
- };
- };
- };
- };
- ...
|