1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Transparent LVDS encoders and decoders 8 9maintainers: 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 11 12description: | 13 This binding supports transparent LVDS encoders and decoders that don't 14 require any configuration. 15 16 LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple 17 incompatible data link layers have been used over time to transmit image data 18 to LVDS panels. This binding targets devices compatible with the following 19 specifications only. 20 21 [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February 22 1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA) 23 [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National 24 Semiconductor 25 [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video 26 Electronics Standards Association (VESA) 27 28 Those devices have been marketed under the FPD-Link and FlatLink brand names 29 among others. 30 31properties: 32 compatible: 33 oneOf: 34 - items: 35 - enum: 36 - doestek,dtc34lm85am # For the Doestek DTC34LM85AM Flat Panel Display (FPD) Transmitter 37 - idt,v103 # For the Triple 10-BIT LVDS Transmitter 38 - onnn,fin3385 # OnSemi FIN3385 39 - ti,ds90c185 # For the TI DS90C185 FPD-Link Serializer 40 - ti,ds90c187 # For the TI DS90C187 FPD-Link Serializer 41 - ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter 42 - ti,sn75lvds93 # For the TI SN75LVDS93 FlatLink transmitter 43 - const: lvds-encoder # Generic LVDS encoder compatible fallback 44 - items: 45 - enum: 46 - ti,ds90cf364a # For the DS90CF364A FPD-Link LVDS Receiver 47 - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver 48 - ti,sn65lvds822 # For the SN65LVDS822 FlatLink LVDS Receiver 49 - ti,sn65lvds94 # For the SN65DS94 LVDS serdes 50 - const: lvds-decoder # Generic LVDS decoders compatible fallback 51 - enum: 52 - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer 53 54 ports: 55 $ref: /schemas/graph.yaml#/properties/ports 56 57 properties: 58 port@0: 59 $ref: /schemas/graph.yaml#/$defs/port-base 60 unevaluatedProperties: false 61 description: | 62 For LVDS encoders, port 0 is the parallel input 63 For LVDS decoders, port 0 is the LVDS input 64 65 properties: 66 endpoint: 67 $ref: /schemas/media/video-interfaces.yaml# 68 unevaluatedProperties: false 69 70 properties: 71 data-mapping: 72 enum: 73 - jeida-18 74 - jeida-24 75 - vesa-24 76 description: | 77 The color signals mapping order. See details in 78 Documentation/devicetree/bindings/display/lvds.yaml 79 80 port@1: 81 $ref: /schemas/graph.yaml#/properties/port 82 description: | 83 For LVDS encoders, port 1 is the LVDS output 84 For LVDS decoders, port 1 is the parallel output 85 86 required: 87 - port@0 88 - port@1 89 90 pclk-sample: 91 description: 92 Data sampling on rising or falling edge. 93 enum: 94 - 0 # Falling edge 95 - 1 # Rising edge 96 default: 0 97 98 powerdown-gpios: 99 description: 100 The GPIO used to control the power down line of this device. 101 maxItems: 1 102 103 power-supply: true 104 105allOf: 106 - if: 107 not: 108 properties: 109 compatible: 110 contains: 111 const: lvds-decoder 112 then: 113 properties: 114 ports: 115 properties: 116 port@0: 117 properties: 118 endpoint: 119 properties: 120 data-mapping: false 121 122 - if: 123 not: 124 properties: 125 compatible: 126 contains: 127 const: lvds-encoder 128 then: 129 properties: 130 pclk-sample: false 131 132required: 133 - compatible 134 - ports 135 136additionalProperties: false 137 138examples: 139 - | 140 lvds-encoder { 141 compatible = "ti,ds90c185", "lvds-encoder"; 142 143 ports { 144 #address-cells = <1>; 145 #size-cells = <0>; 146 147 port@0 { 148 reg = <0>; 149 150 lvds_enc_in: endpoint { 151 remote-endpoint = <&display_out_rgb>; 152 }; 153 }; 154 155 port@1 { 156 reg = <1>; 157 158 lvds_enc_out: endpoint { 159 remote-endpoint = <&lvds_panel_in>; 160 }; 161 }; 162 }; 163 }; 164 165 - | 166 lvds-decoder { 167 compatible = "ti,ds90cf384a", "lvds-decoder"; 168 169 ports { 170 #address-cells = <1>; 171 #size-cells = <0>; 172 173 port@0 { 174 reg = <0>; 175 176 lvds_dec_in: endpoint { 177 remote-endpoint = <&display_out_lvds>; 178 }; 179 }; 180 181 port@1 { 182 reg = <1>; 183 184 lvds_dec_out: endpoint { 185 remote-endpoint = <&rgb_panel_in>; 186 }; 187 }; 188 }; 189 }; 190 191... 192