1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358775.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Toshiba TC358775 DSI to LVDS bridge 8 9maintainers: 10 - Vinay Simha BN <simhavcs@gmail.com> 11 12description: | 13 This binding supports DSI to LVDS bridges TC358765 and TC358775 14 15 MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane. 16 Video frame size: 17 Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel 18 limited by 135 MHz LVDS speed 19 Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display 20 panel, limited by 270 MHz LVDS speed. 21 22properties: 23 compatible: 24 enum: 25 - toshiba,tc358765 26 - toshiba,tc358775 27 28 reg: 29 maxItems: 1 30 description: i2c address of the bridge, 0x0f 31 32 vdd-supply: 33 description: 1.2V LVDS Power Supply 34 35 vddio-supply: 36 description: 1.8V IO Power Supply 37 38 stby-gpios: 39 maxItems: 1 40 description: Standby pin, Low active 41 42 reset-gpios: 43 maxItems: 1 44 description: Hardware reset, Low active 45 46 ports: 47 $ref: /schemas/graph.yaml#/properties/ports 48 49 properties: 50 port@0: 51 $ref: /schemas/graph.yaml#/$defs/port-base 52 unevaluatedProperties: false 53 description: | 54 DSI Input. The remote endpoint phandle should be a 55 reference to a valid mipi_dsi_host device node. 56 57 properties: 58 endpoint: 59 $ref: /schemas/media/video-interfaces.yaml# 60 unevaluatedProperties: false 61 62 properties: 63 data-lanes: 64 description: array of physical DSI data lane indexes. 65 minItems: 1 66 items: 67 - const: 1 68 - const: 2 69 - const: 3 70 - const: 4 71 72 port@1: 73 $ref: /schemas/graph.yaml#/properties/port 74 description: | 75 Video port for LVDS output (panel or connector). 76 77 port@2: 78 $ref: /schemas/graph.yaml#/properties/port 79 description: | 80 Video port for Dual link LVDS output (panel or connector). 81 82 required: 83 - port@0 84 - port@1 85 86required: 87 - compatible 88 - reg 89 - vdd-supply 90 - vddio-supply 91 - reset-gpios 92 - ports 93 94allOf: 95 - if: 96 properties: 97 compatible: 98 contains: 99 const: toshiba,tc358765 100 then: 101 properties: 102 stby-gpios: false 103 104additionalProperties: false 105 106examples: 107 - | 108 #include <dt-bindings/gpio/gpio.h> 109 110 /* For single-link LVDS display panel */ 111 112 i2c@78b8000 { 113 /* On High speed expansion */ 114 label = "HS-I2C2"; 115 reg = <0x078b8000 0x500>; 116 clock-frequency = <400000>; /* fastmode operation */ 117 #address-cells = <1>; 118 #size-cells = <0>; 119 120 tc_bridge: bridge@f { 121 compatible = "toshiba,tc358775"; 122 reg = <0x0f>; 123 124 vdd-supply = <&pm8916_l2>; 125 vddio-supply = <&pm8916_l6>; 126 127 stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>; 128 reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>; 129 130 ports { 131 #address-cells = <1>; 132 #size-cells = <0>; 133 134 port@0 { 135 reg = <0>; 136 d2l_in_test: endpoint { 137 remote-endpoint = <&dsi0_out>; 138 data-lanes = <1 2 3 4>; 139 }; 140 }; 141 142 port@1 { 143 reg = <1>; 144 lvds_out: endpoint { 145 remote-endpoint = <&panel_in>; 146 }; 147 }; 148 }; 149 }; 150 }; 151 152 dsi@1a98000 { 153 reg = <0x1a98000 0x25c>; 154 reg-names = "dsi_ctrl"; 155 156 ports { 157 #address-cells = <1>; 158 #size-cells = <0>; 159 port@1 { 160 reg = <1>; 161 dsi0_out: endpoint { 162 remote-endpoint = <&d2l_in_test>; 163 }; 164 }; 165 }; 166 }; 167 168 - | 169 /* For dual-link LVDS display panel */ 170 171 i2c@78b8000 { 172 /* On High speed expansion */ 173 label = "HS-I2C2"; 174 reg = <0x078b8000 0x500>; 175 clock-frequency = <400000>; /* fastmode operation */ 176 #address-cells = <1>; 177 #size-cells = <0>; 178 179 tc_bridge_dual: bridge@f { 180 compatible = "toshiba,tc358775"; 181 reg = <0x0f>; 182 183 vdd-supply = <&pm8916_l2>; 184 vddio-supply = <&pm8916_l6>; 185 186 stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>; 187 reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>; 188 189 ports { 190 #address-cells = <1>; 191 #size-cells = <0>; 192 193 port@0 { 194 reg = <0>; 195 d2l_in_dual: endpoint { 196 remote-endpoint = <&dsi0_out_dual>; 197 data-lanes = <1 2 3 4>; 198 }; 199 }; 200 201 port@1 { 202 reg = <1>; 203 lvds0_out: endpoint { 204 remote-endpoint = <&panel_in0>; 205 }; 206 }; 207 208 port@2 { 209 reg = <2>; 210 lvds1_out: endpoint { 211 remote-endpoint = <&panel_in1>; 212 }; 213 }; 214 }; 215 }; 216 }; 217 218 dsi@1a98000 { 219 reg = <0x1a98000 0x25c>; 220 reg-names = "dsi_ctrl"; 221 222 ports { 223 #address-cells = <1>; 224 #size-cells = <0>; 225 port@1 { 226 reg = <1>; 227 dsi0_out_dual: endpoint { 228 remote-endpoint = <&d2l_in_dual>; 229 }; 230 }; 231 }; 232 }; 233... 234