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