Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / bridge / ti,sn65dsi83.yaml
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/ti,sn65dsi83.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: SN65DSI83 and SN65DSI84 DSI to LVDS bridge chip
8
9 maintainers:
10   - Marek Vasut <marex@denx.de>
11
12 description: |
13   Texas Instruments SN65DSI83 1x Single-link MIPI DSI
14   to 1x Single-link LVDS
15   https://www.ti.com/lit/gpn/sn65dsi83
16   Texas Instruments SN65DSI84 1x Single-link MIPI DSI
17   to 1x Dual-link or 2x Single-link LVDS
18   https://www.ti.com/lit/gpn/sn65dsi84
19
20 properties:
21   compatible:
22     enum:
23       - ti,sn65dsi83
24       - ti,sn65dsi84
25
26   reg:
27     enum:
28       - 0x2c
29       - 0x2d
30
31   enable-gpios:
32     maxItems: 1
33     description: GPIO specifier for bridge_en pin (active high).
34
35   ports:
36     $ref: /schemas/graph.yaml#/properties/ports
37
38     properties:
39       port@0:
40         $ref: /schemas/graph.yaml#/properties/port
41         description: Video port for MIPI DSI Channel-A input
42
43         properties:
44           endpoint:
45             $ref: /schemas/media/video-interfaces.yaml#
46             unevaluatedProperties: false
47
48             properties:
49               data-lanes:
50                 description: array of physical DSI data lane indexes.
51                 minItems: 1
52                 maxItems: 4
53                 items:
54                   - const: 1
55                   - const: 2
56                   - const: 3
57                   - const: 4
58
59       port@1:
60         $ref: /schemas/graph.yaml#/properties/port
61         description: Video port for MIPI DSI Channel-B input
62
63         properties:
64           endpoint:
65             $ref: /schemas/media/video-interfaces.yaml#
66             unevaluatedProperties: false
67
68             properties:
69               data-lanes:
70                 description: array of physical DSI data lane indexes.
71                 minItems: 1
72                 maxItems: 4
73                 items:
74                   - const: 1
75                   - const: 2
76                   - const: 3
77                   - const: 4
78
79       port@2:
80         $ref: /schemas/graph.yaml#/properties/port
81         description: Video port for LVDS Channel-A output (panel or bridge).
82
83       port@3:
84         $ref: /schemas/graph.yaml#/properties/port
85         description: Video port for LVDS Channel-B output (panel or bridge).
86
87     required:
88       - port@0
89       - port@2
90
91 required:
92   - compatible
93   - reg
94   - enable-gpios
95   - ports
96
97 allOf:
98   - if:
99       properties:
100         compatible:
101           contains:
102             const: ti,sn65dsi83
103     then:
104       properties:
105         ports:
106           properties:
107             port@1: false
108             port@3: false
109
110   - if:
111       properties:
112         compatible:
113           contains:
114             const: ti,sn65dsi84
115     then:
116       properties:
117         ports:
118           properties:
119             port@1: false
120
121 additionalProperties: false
122
123 examples:
124   - |
125     #include <dt-bindings/gpio/gpio.h>
126
127     i2c {
128         #address-cells = <1>;
129         #size-cells = <0>;
130
131         bridge@2d {
132             compatible = "ti,sn65dsi83";
133             reg = <0x2d>;
134
135             enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
136
137             ports {
138                 #address-cells = <1>;
139                 #size-cells = <0>;
140
141                 port@0 {
142                     reg = <0>;
143
144                     endpoint {
145                         remote-endpoint = <&dsi0_out>;
146                         data-lanes = <1 2 3 4>;
147                     };
148                 };
149
150                 port@2 {
151                     reg = <2>;
152
153                     endpoint {
154                         remote-endpoint = <&panel_in_lvds>;
155                     };
156                 };
157             };
158         };
159     };