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