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