xref: /linux/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml (revision 184e56e77c06a7eef68a021e9d4b11a11a8ab096)
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
7title: SN65DSI83 and SN65DSI84 DSI to LVDS bridge chip
8
9maintainers:
10  - Marek Vasut <marex@denx.de>
11
12description: |
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
20properties:
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  vcc-supply:
36    description: A 1.8V power supply (see regulator/regulator.yaml).
37
38  interrupts:
39    maxItems: 1
40
41  ports:
42    $ref: /schemas/graph.yaml#/properties/ports
43
44    properties:
45      port@0:
46        $ref: /schemas/graph.yaml#/$defs/port-base
47        unevaluatedProperties: false
48        description: Video port for MIPI DSI Channel-A input
49
50        properties:
51          endpoint:
52            $ref: /schemas/media/video-interfaces.yaml#
53            unevaluatedProperties: false
54
55            properties:
56              data-lanes:
57                description: array of physical DSI data lane indexes.
58                minItems: 1
59                items:
60                  - const: 1
61                  - const: 2
62                  - const: 3
63                  - const: 4
64
65      port@1:
66        $ref: /schemas/graph.yaml#/$defs/port-base
67        unevaluatedProperties: false
68        description: Video port for MIPI DSI Channel-B input
69
70        properties:
71          endpoint:
72            $ref: /schemas/media/video-interfaces.yaml#
73            unevaluatedProperties: false
74
75            properties:
76              data-lanes:
77                description: array of physical DSI data lane indexes.
78                minItems: 1
79                items:
80                  - const: 1
81                  - const: 2
82                  - const: 3
83                  - const: 4
84
85      port@2:
86        description: Video port for LVDS Channel-A output (panel or bridge).
87        $ref: '#/$defs/lvds-port'
88
89      port@3:
90        description: Video port for LVDS Channel-B output (panel or bridge).
91        $ref: '#/$defs/lvds-port'
92
93    required:
94      - port@0
95      - port@2
96
97required:
98  - compatible
99  - reg
100  - ports
101
102$defs:
103  lvds-port:
104    $ref: /schemas/graph.yaml#/$defs/port-base
105    unevaluatedProperties: false
106
107    properties:
108      endpoint:
109        $ref: /schemas/media/video-interfaces.yaml#
110        unevaluatedProperties: false
111
112        properties:
113          ti,lvds-termination-ohms:
114            description: The value of near end differential termination in ohms.
115            enum: [100, 200]
116            default: 200
117
118          ti,lvds-vod-swing-clock-microvolt:
119            description: LVDS diferential output voltage <min max> for clock
120              lanes in microvolts.
121            $ref: /schemas/types.yaml#/definitions/uint32-array
122            minItems: 2
123            maxItems: 2
124
125          ti,lvds-vod-swing-data-microvolt:
126            description: LVDS diferential output voltage <min max> for data
127              lanes in microvolts.
128            $ref: /schemas/types.yaml#/definitions/uint32-array
129            minItems: 2
130            maxItems: 2
131
132allOf:
133  - if:
134      properties:
135        compatible:
136          contains:
137            const: ti,sn65dsi83
138    then:
139      properties:
140        ports:
141          properties:
142            port@1: false
143            port@3: false
144
145  - if:
146      properties:
147        compatible:
148          contains:
149            const: ti,sn65dsi84
150    then:
151      properties:
152        ports:
153          properties:
154            port@1: false
155
156additionalProperties: false
157
158examples:
159  - |
160    #include <dt-bindings/gpio/gpio.h>
161
162    i2c {
163        #address-cells = <1>;
164        #size-cells = <0>;
165
166        bridge@2d {
167            compatible = "ti,sn65dsi83";
168            reg = <0x2d>;
169
170            enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
171            vcc-supply = <&reg_sn65dsi83_1v8>;
172
173            ports {
174                #address-cells = <1>;
175                #size-cells = <0>;
176
177                port@0 {
178                    reg = <0>;
179
180                    endpoint {
181                        remote-endpoint = <&dsi0_out>;
182                        data-lanes = <1 2 3 4>;
183                    };
184                };
185
186                port@2 {
187                    reg = <2>;
188
189                    endpoint {
190                        remote-endpoint = <&panel_in_lvds>;
191                    };
192                };
193            };
194        };
195    };
196