187 lines
4.6 KiB
YAML
187 lines
4.6 KiB
YAML
|
# 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
|
||
|
- 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>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|