blob: 258dd9cfd7709c629e1eb2b75434b41ad870a3e1 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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: |
Tom Rini762f85b2024-07-20 11:15:10 -060013 This binding supports DSI to LVDS bridges TC358765 and TC358775
Tom Rini53633a82024-02-29 12:33:36 -050014
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:
Tom Rini762f85b2024-07-20 11:15:10 -060024 enum:
25 - toshiba,tc358765
26 - toshiba,tc358775
Tom Rini53633a82024-02-29 12:33:36 -050027
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:
Tom Rini762f85b2024-07-20 11:15:10 -060051 $ref: /schemas/graph.yaml#/$defs/port-base
52 unevaluatedProperties: false
Tom Rini53633a82024-02-29 12:33:36 -050053 description: |
54 DSI Input. The remote endpoint phandle should be a
55 reference to a valid mipi_dsi_host device node.
56
Tom Rini762f85b2024-07-20 11:15:10 -060057 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
Tom Rini53633a82024-02-29 12:33:36 -050072 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
Tom Rini53633a82024-02-29 12:33:36 -050091 - reset-gpios
92 - ports
93
Tom Rini762f85b2024-07-20 11:15:10 -060094allOf:
95 - if:
96 properties:
97 compatible:
98 contains:
99 const: toshiba,tc358765
100 then:
101 properties:
102 stby-gpios: false
103
Tom Rini53633a82024-02-29 12:33:36 -0500104additionalProperties: 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>;
Tom Rini762f85b2024-07-20 11:15:10 -0600138 data-lanes = <1 2 3 4>;
Tom Rini53633a82024-02-29 12:33:36 -0500139 };
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>;
Tom Rini53633a82024-02-29 12:33:36 -0500163 };
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>;
Tom Rini762f85b2024-07-20 11:15:10 -0600197 data-lanes = <1 2 3 4>;
Tom Rini53633a82024-02-29 12:33:36 -0500198 };
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>;
Tom Rini53633a82024-02-29 12:33:36 -0500229 };
230 };
231 };
232 };
233...