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,tc358767.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Toshiba TC358767/TC358867/TC9595 DSI/DPI/eDP bridge
8
9maintainers:
10  - Andrey Gusakov <andrey.gusakov@cogentembedded.com>
11
12description: |
13  The TC358767/TC358867/TC9595 is bridge device which
14  converts DSI/DPI to eDP/DP .
15
16properties:
17  compatible:
18    oneOf:
19      - items:
20          - enum:
21              - toshiba,tc358867
22              - toshiba,tc9595
23          - const: toshiba,tc358767
24      - const: toshiba,tc358767
25
26  reg:
27    enum:
28      - 0x68
29      - 0x0f
30    description: |
31        i2c address of the bridge, 0x68 or 0x0f, depending on bootstrap pins
32
33  clock-names:
34    const: ref
35
36  clocks:
37    maxItems: 1
38    description: |
39        OF device-tree clock specification for refclk input. The reference.
40        clock rate must be 13 MHz, 19.2 MHz, 26 MHz, or 38.4 MHz.
41
42  shutdown-gpios:
43    maxItems: 1
44    description: |
45        OF device-tree gpio specification for SD pin(active high shutdown input)
46
47  reset-gpios:
48    maxItems: 1
49    description: |
50        OF device-tree gpio specification for RSTX pin(active low system reset)
51
52  interrupts:
53    maxItems: 1
54
55  toshiba,hpd-pin:
56    $ref: /schemas/types.yaml#/definitions/uint32
57    enum:
58      - 0
59      - 1
60    description: TC358767 GPIO pin number to which HPD is connected to (0 or 1)
61
62  ports:
63    $ref: /schemas/graph.yaml#/properties/ports
64
65    properties:
66      port@0:
67        $ref: /schemas/graph.yaml#/$defs/port-base
68        unevaluatedProperties: false
69        description: |
70            DSI input port. The remote endpoint phandle should be a
71            reference to a valid DSI output endpoint node
72
73        properties:
74          endpoint:
75            $ref: /schemas/media/video-interfaces.yaml#
76            unevaluatedProperties: false
77
78            properties:
79              data-lanes:
80                description: array of physical DSI data lane indexes.
81                minItems: 1
82                items:
83                  - const: 1
84                  - const: 2
85                  - const: 3
86                  - const: 4
87
88      port@1:
89        $ref: /schemas/graph.yaml#/properties/port
90        description: |
91            DPI input/output port. The remote endpoint phandle should be a
92            reference to a valid DPI output or input endpoint node.
93
94      port@2:
95        $ref: /schemas/graph.yaml#/properties/port
96        description: |
97            eDP/DP output port. The remote endpoint phandle should be a
98            reference to a valid eDP panel input endpoint node. This port is
99            optional, treated as DP panel if not defined
100
101    oneOf:
102      - required:
103          - port@0
104      - required:
105          - port@1
106
107
108required:
109  - compatible
110  - reg
111  - clock-names
112  - clocks
113  - ports
114
115additionalProperties: false
116
117examples:
118  - |
119    #include <dt-bindings/gpio/gpio.h>
120
121    /* DPI input and eDP output */
122
123    i2c {
124        #address-cells = <1>;
125        #size-cells = <0>;
126
127        edp-bridge@68 {
128            compatible = "toshiba,tc358767";
129            reg = <0x68>;
130            shutdown-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
131            reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
132            clock-names = "ref";
133            clocks = <&edp_refclk>;
134
135            ports {
136                #address-cells = <1>;
137                #size-cells = <0>;
138
139                port@1 {
140                    reg = <1>;
141
142                    bridge_in_0: endpoint {
143                        remote-endpoint = <&dpi_out>;
144                    };
145                };
146
147                port@2 {
148                    reg = <2>;
149
150                    bridge_out: endpoint {
151                        remote-endpoint = <&panel_in>;
152                    };
153                };
154            };
155        };
156    };
157  - |
158    /* DPI input and DP output */
159
160    i2c {
161        #address-cells = <1>;
162        #size-cells = <0>;
163
164        edp-bridge@68 {
165            compatible = "toshiba,tc358767";
166            reg = <0x68>;
167            shutdown-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
168            reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
169            clock-names = "ref";
170            clocks = <&edp_refclk>;
171
172            ports {
173                #address-cells = <1>;
174                #size-cells = <0>;
175
176                port@1 {
177                    reg = <1>;
178
179                    bridge_in_1: endpoint {
180                        remote-endpoint = <&dpi_out>;
181                    };
182                };
183            };
184        };
185    };
186