xref: /linux/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
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            maxItems: 2
122
123          ti,lvds-vod-swing-data-microvolt:
124            description: LVDS diferential output voltage <min max> for data
125              lanes in microvolts.
126            maxItems: 2
127
128allOf:
129  - if:
130      properties:
131        compatible:
132          contains:
133            const: ti,sn65dsi83
134    then:
135      properties:
136        ports:
137          properties:
138            port@1: false
139            port@3: false
140
141  - if:
142      properties:
143        compatible:
144          contains:
145            const: ti,sn65dsi84
146    then:
147      properties:
148        ports:
149          properties:
150            port@1: false
151
152additionalProperties: false
153
154examples:
155  - |
156    #include <dt-bindings/gpio/gpio.h>
157
158    i2c {
159        #address-cells = <1>;
160        #size-cells = <0>;
161
162        bridge@2d {
163            compatible = "ti,sn65dsi83";
164            reg = <0x2d>;
165
166            enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
167            vcc-supply = <&reg_sn65dsi83_1v8>;
168
169            ports {
170                #address-cells = <1>;
171                #size-cells = <0>;
172
173                port@0 {
174                    reg = <0>;
175
176                    endpoint {
177                        remote-endpoint = <&dsi0_out>;
178                        data-lanes = <1 2 3 4>;
179                    };
180                };
181
182                port@2 {
183                    reg = <2>;
184
185                    endpoint {
186                        remote-endpoint = <&panel_in_lvds>;
187                    };
188                };
189            };
190        };
191    };
192