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