| # 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: | |
| - doestek,dtc34lm85am # For the Doestek DTC34LM85AM Flat Panel Display (FPD) Transmitter | |
| - idt,v103 # For the Triple 10-BIT LVDS Transmitter | |
| - onnn,fin3385 # OnSemi FIN3385 | |
| - 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 | |
| - ti,sn75lvds93 # For the TI SN75LVDS93 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,sn65lvds822 # For the SN65LVDS822 FlatLink 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>; | |
| }; | |
| }; | |
| }; | |
| }; | |
| ... |