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