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 - const: lvds-encoder # Generic LVDS encoder compatible fallback 43 - items: 44 - enum: 45 - ti,ds90cf364a # For the DS90CF364A FPD-Link LVDS Receiver 46 - ti,ds90cf384a # For the DS90CF384A FPD-Link LVDS Receiver 47 - ti,sn65lvds822 # For the SN65LVDS822 FlatLink LVDS Receiver 48 - ti,sn65lvds94 # For the SN65DS94 LVDS serdes 49 - const: lvds-decoder # Generic LVDS decoders compatible fallback 50 - enum: 51 - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer 52 53 ports: 54 $ref: /schemas/graph.yaml#/properties/ports 55 56 properties: 57 port@0: 58 $ref: /schemas/graph.yaml#/$defs/port-base 59 unevaluatedProperties: false 60 description: | 61 For LVDS encoders, port 0 is the parallel input 62 For LVDS decoders, port 0 is the LVDS input 63 64 properties: 65 endpoint: 66 $ref: /schemas/media/video-interfaces.yaml# 67 unevaluatedProperties: false 68 69 properties: 70 data-mapping: 71 enum: 72 - jeida-18 73 - jeida-24 74 - vesa-24 75 description: | 76 The color signals mapping order. See details in 77 Documentation/devicetree/bindings/display/lvds.yaml 78 79 port@1: 80 $ref: /schemas/graph.yaml#/properties/port 81 description: | 82 For LVDS encoders, port 1 is the LVDS output 83 For LVDS decoders, port 1 is the parallel output 84 85 required: 86 - port@0 87 - port@1 88 89 pclk-sample: 90 description: 91 Data sampling on rising or falling edge. 92 enum: 93 - 0 # Falling edge 94 - 1 # Rising edge 95 default: 0 96 97 powerdown-gpios: 98 description: 99 The GPIO used to control the power down line of this device. 100 maxItems: 1 101 102 power-supply: true 103 104allOf: 105 - if: 106 not: 107 properties: 108 compatible: 109 contains: 110 const: lvds-decoder 111 then: 112 properties: 113 ports: 114 properties: 115 port@0: 116 properties: 117 endpoint: 118 properties: 119 data-mapping: false 120 121 - if: 122 not: 123 properties: 124 compatible: 125 contains: 126 const: lvds-encoder 127 then: 128 properties: 129 pclk-sample: false 130 131required: 132 - compatible 133 - ports 134 135additionalProperties: false 136 137examples: 138 - | 139 lvds-encoder { 140 compatible = "ti,ds90c185", "lvds-encoder"; 141 142 ports { 143 #address-cells = <1>; 144 #size-cells = <0>; 145 146 port@0 { 147 reg = <0>; 148 149 lvds_enc_in: endpoint { 150 remote-endpoint = <&display_out_rgb>; 151 }; 152 }; 153 154 port@1 { 155 reg = <1>; 156 157 lvds_enc_out: endpoint { 158 remote-endpoint = <&lvds_panel_in>; 159 }; 160 }; 161 }; 162 }; 163 164 - | 165 lvds-decoder { 166 compatible = "ti,ds90cf384a", "lvds-decoder"; 167 168 ports { 169 #address-cells = <1>; 170 #size-cells = <0>; 171 172 port@0 { 173 reg = <0>; 174 175 lvds_dec_in: endpoint { 176 remote-endpoint = <&display_out_lvds>; 177 }; 178 }; 179 180 port@1 { 181 reg = <1>; 182 183 lvds_dec_out: endpoint { 184 remote-endpoint = <&rgb_panel_in>; 185 }; 186 }; 187 }; 188 }; 189 190... 191