xref: /linux/Documentation/devicetree/bindings/display/bridge/toshiba,tc358767.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
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      - 0x0f
29      - 0x68
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#/$defs/port-base
96        unevaluatedProperties: false
97        description: |
98            eDP/DP output port. The remote endpoint phandle should be a
99            reference to a valid eDP panel input endpoint node. This port is
100            optional, treated as DP panel if not defined
101
102        properties:
103          endpoint:
104            $ref: /schemas/media/video-interfaces.yaml#
105            unevaluatedProperties: false
106
107            properties:
108              toshiba,pre-emphasis:
109                description:
110                  Display port output Pre-Emphasis settings for both DP lanes.
111                $ref: /schemas/types.yaml#/definitions/uint8-array
112                minItems: 2
113                maxItems: 2
114                items:
115                  enum:
116                    - 0 # No pre-emphasis
117                    - 1 # 3.5dB pre-emphasis
118                    - 2 # 6dB pre-emphasis
119
120    oneOf:
121      - required:
122          - port@0
123      - required:
124          - port@1
125
126
127required:
128  - compatible
129  - reg
130  - clock-names
131  - clocks
132  - ports
133
134additionalProperties: false
135
136examples:
137  - |
138    #include <dt-bindings/gpio/gpio.h>
139
140    /* DPI input and eDP output */
141
142    i2c {
143        #address-cells = <1>;
144        #size-cells = <0>;
145
146        edp-bridge@68 {
147            compatible = "toshiba,tc358767";
148            reg = <0x68>;
149            shutdown-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
150            reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
151            clock-names = "ref";
152            clocks = <&edp_refclk>;
153
154            ports {
155                #address-cells = <1>;
156                #size-cells = <0>;
157
158                port@1 {
159                    reg = <1>;
160
161                    bridge_in_0: endpoint {
162                        remote-endpoint = <&dpi_out>;
163                    };
164                };
165
166                port@2 {
167                    reg = <2>;
168
169                    bridge_out: endpoint {
170                        remote-endpoint = <&panel_in>;
171                    };
172                };
173            };
174        };
175    };
176  - |
177    /* DPI input and DP output */
178
179    i2c {
180        #address-cells = <1>;
181        #size-cells = <0>;
182
183        edp-bridge@68 {
184            compatible = "toshiba,tc358767";
185            reg = <0x68>;
186            shutdown-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
187            reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
188            clock-names = "ref";
189            clocks = <&edp_refclk>;
190
191            ports {
192                #address-cells = <1>;
193                #size-cells = <0>;
194
195                port@1 {
196                    reg = <1>;
197
198                    bridge_in_1: endpoint {
199                        remote-endpoint = <&dpi_out>;
200                    };
201                };
202            };
203        };
204    };
205