xref: /linux/Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml (revision 51debb6d4a2118f6a46dd36b84a82a5a73fa8236)
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 bridge 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    const: toshiba,tc358775
25
26  reg:
27    maxItems: 1
28    description: i2c address of the bridge, 0x0f
29
30  vdd-supply:
31    description: 1.2V LVDS Power Supply
32
33  vddio-supply:
34    description: 1.8V IO Power Supply
35
36  stby-gpios:
37    maxItems: 1
38    description: Standby pin, Low active
39
40  reset-gpios:
41    maxItems: 1
42    description: Hardware reset, Low active
43
44  ports:
45    $ref: /schemas/graph.yaml#/properties/ports
46
47    properties:
48      port@0:
49        $ref: /schemas/graph.yaml#/properties/port
50        description: |
51          DSI Input. The remote endpoint phandle should be a
52          reference to a valid mipi_dsi_host device node.
53
54      port@1:
55        $ref: /schemas/graph.yaml#/properties/port
56        description: |
57          Video port for LVDS output (panel or connector).
58
59      port@2:
60        $ref: /schemas/graph.yaml#/properties/port
61        description: |
62          Video port for Dual link LVDS output (panel or connector).
63
64    required:
65      - port@0
66      - port@1
67
68required:
69  - compatible
70  - reg
71  - vdd-supply
72  - vddio-supply
73  - reset-gpios
74  - ports
75
76additionalProperties: false
77
78examples:
79  - |
80    #include <dt-bindings/gpio/gpio.h>
81
82    /* For single-link LVDS display panel */
83
84    i2c@78b8000 {
85        /* On High speed expansion */
86        label = "HS-I2C2";
87        reg = <0x078b8000 0x500>;
88        clock-frequency = <400000>; /* fastmode operation */
89        #address-cells = <1>;
90        #size-cells = <0>;
91
92        tc_bridge: bridge@f {
93            compatible = "toshiba,tc358775";
94            reg = <0x0f>;
95
96            vdd-supply = <&pm8916_l2>;
97            vddio-supply = <&pm8916_l6>;
98
99            stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
100            reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;
101
102            ports {
103                #address-cells = <1>;
104                #size-cells = <0>;
105
106                port@0 {
107                    reg = <0>;
108                    d2l_in_test: endpoint {
109                        remote-endpoint = <&dsi0_out>;
110                    };
111                };
112
113                port@1 {
114                    reg = <1>;
115                    lvds_out: endpoint {
116                        remote-endpoint = <&panel_in>;
117                    };
118                };
119            };
120        };
121    };
122
123    dsi@1a98000 {
124        reg = <0x1a98000 0x25c>;
125        reg-names = "dsi_ctrl";
126
127        ports {
128            #address-cells = <1>;
129            #size-cells = <0>;
130            port@1 {
131                reg = <1>;
132                dsi0_out: endpoint {
133                    remote-endpoint = <&d2l_in_test>;
134                    data-lanes = <0 1 2 3>;
135                };
136             };
137         };
138     };
139
140  - |
141    /* For dual-link LVDS display panel */
142
143    i2c@78b8000 {
144        /* On High speed expansion */
145        label = "HS-I2C2";
146        reg = <0x078b8000 0x500>;
147        clock-frequency = <400000>; /* fastmode operation */
148        #address-cells = <1>;
149        #size-cells = <0>;
150
151        tc_bridge_dual: bridge@f {
152            compatible = "toshiba,tc358775";
153            reg = <0x0f>;
154
155            vdd-supply = <&pm8916_l2>;
156            vddio-supply = <&pm8916_l6>;
157
158            stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
159            reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;
160
161            ports {
162                #address-cells = <1>;
163                #size-cells = <0>;
164
165                port@0 {
166                    reg = <0>;
167                    d2l_in_dual: endpoint {
168                        remote-endpoint = <&dsi0_out_dual>;
169                    };
170                };
171
172                port@1 {
173                    reg = <1>;
174                    lvds0_out: endpoint {
175                        remote-endpoint = <&panel_in0>;
176                    };
177                };
178
179                port@2 {
180                    reg = <2>;
181                    lvds1_out: endpoint {
182                        remote-endpoint = <&panel_in1>;
183                    };
184                };
185            };
186        };
187    };
188
189    dsi@1a98000 {
190        reg = <0x1a98000 0x25c>;
191        reg-names = "dsi_ctrl";
192
193        ports {
194            #address-cells = <1>;
195            #size-cells = <0>;
196            port@1 {
197                reg = <1>;
198                dsi0_out_dual: endpoint {
199                    remote-endpoint = <&d2l_in_dual>;
200                    data-lanes = <0 1 2 3>;
201                };
202             };
203         };
204     };
205...
206