Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/msm/dp-controller.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MSM Display Port Controller
8
9maintainers:
10 - Kuogee Hsieh <quic_khsieh@quicinc.com>
11 - Abhinav Kumar <quic_abhinavk@quicinc.com>
12
13description: |
14 Device tree bindings for DisplayPort host controller for MSM targets
15 that are compatible with VESA DisplayPort interface specification.
16
17properties:
18 compatible:
19 oneOf:
20 - enum:
21 - qcom,glymur-dp
22 - qcom,sa8775p-dp
23 - qcom,sc7180-dp
24 - qcom,sc7280-dp
25 - qcom,sc7280-edp
26 - qcom,sc8180x-dp
27 - qcom,sc8180x-edp
28 - qcom,sc8280xp-dp
29 - qcom,sc8280xp-edp
30 - qcom,sdm845-dp
31 - qcom,sm8350-dp
32 - qcom,sm8650-dp
33 - qcom,x1e80100-dp
34
35 - items:
36 - enum:
37 - qcom,qcs8300-dp
38 - const: qcom,sa8775p-dp
39
40 - items:
41 - enum:
42 - qcom,sm6350-dp
43 - const: qcom,sc7180-dp
44
45 # deprecated entry for compatibility with old DT
46 - items:
47 - enum:
48 - qcom,sm6350-dp
49 - const: qcom,sm8350-dp
50 deprecated: true
51
52 - items:
53 - enum:
54 - qcom,sar2130p-dp
55 - qcom,sm7150-dp
56 - qcom,sm8150-dp
57 - qcom,sm8250-dp
58 - qcom,sm8450-dp
59 - qcom,sm8550-dp
60 - const: qcom,sm8350-dp
61
62 - items:
63 - enum:
64 - qcom,sm6150-dp
65 - const: qcom,sm8150-dp
66 - const: qcom,sm8350-dp
67
68 - items:
69 - enum:
70 - qcom,sm8750-dp
71 - const: qcom,sm8650-dp
72
73 reg:
74 minItems: 4
75 items:
76 - description: ahb register block
77 - description: aux register block
78 - description: link register block
79 - description: p0 register block
80 - description: p1 register block
81 - description: p2 register block
82 - description: p3 register block
83 - description: mst2link register block
84 - description: mst3link register block
85
86 interrupts:
87 maxItems: 1
88
89 clocks:
90 minItems: 5
91 items:
92 - description: AHB clock to enable register access
93 - description: Display Port AUX clock
94 - description: Display Port Link clock
95 - description: Link interface clock between DP and PHY
96 - description: Display Port stream 0 Pixel clock
97 - description: Display Port stream 1 Pixel clock
98 - description: Display Port stream 2 Pixel clock
99 - description: Display Port stream 3 Pixel clock
100
101 clock-names:
102 minItems: 5
103 items:
104 - const: core_iface
105 - const: core_aux
106 - const: ctrl_link
107 - const: ctrl_link_iface
108 - const: stream_pixel
109 - const: stream_1_pixel
110 - const: stream_2_pixel
111 - const: stream_3_pixel
112
113 phys:
114 maxItems: 1
115
116 phy-names:
117 items:
118 - const: dp
119
120 operating-points-v2: true
121
122 opp-table:
123 type: object
124
125 power-domains:
126 maxItems: 1
127
128 aux-bus:
129 $ref: /schemas/display/dp-aux-bus.yaml#
130
131 data-lanes:
132 $ref: /schemas/types.yaml#/definitions/uint32-array
133 deprecated: true
134 minItems: 1
135 maxItems: 4
136 items:
137 maximum: 3
138
139 "#sound-dai-cells":
140 const: 0
141
142 vdda-0p9-supply:
143 deprecated: true
144 vdda-1p2-supply:
145 deprecated: true
146
147 ports:
148 $ref: /schemas/graph.yaml#/properties/ports
149 properties:
150 port@0:
151 $ref: /schemas/graph.yaml#/properties/port
152 description: Input endpoint of the controller
153
154 port@1:
155 $ref: /schemas/graph.yaml#/$defs/port-base
156 unevaluatedProperties: false
157 description: Output endpoint of the controller
158 properties:
159 endpoint:
160 $ref: /schemas/media/video-interfaces.yaml#
161 unevaluatedProperties: false
162 properties:
163 data-lanes:
164 minItems: 1
165 maxItems: 4
166 items:
167 enum: [ 0, 1, 2, 3 ]
168
169 link-frequencies:
170 minItems: 1
171 maxItems: 4
172 items:
173 enum: [ 1620000000, 2700000000, 5400000000, 8100000000 ]
174
175 required:
176 - port@0
177 - port@1
178
179required:
180 - compatible
181 - reg
182 - interrupts
183 - clocks
184 - clock-names
185 - phys
186 - phy-names
187 - power-domains
188 - ports
189
190allOf:
191 # AUX BUS does not exist on DP controllers
192 # Audio output also is present only on DP output
193 - if:
194 properties:
195 compatible:
196 contains:
197 enum:
198 - qcom,sc7280-edp
199 - qcom,sc8180x-edp
200 - qcom,sc8280xp-edp
201 then:
202 properties:
203 "#sound-dai-cells": false
204 else:
205 if:
206 properties:
207 compatible:
208 contains:
209 enum:
210 - qcom,glymur-dp
211 - qcom,sa8775p-dp
212 - qcom,x1e80100-dp
213 then:
214 $ref: /schemas/sound/dai-common.yaml#
215 oneOf:
216 - required:
217 - aux-bus
218 - required:
219 - "#sound-dai-cells"
220 else:
221 properties:
222 aux-bus: false
223 required:
224 - "#sound-dai-cells"
225
226 - if:
227 properties:
228 compatible:
229 contains:
230 enum:
231 # these platforms support SST only
232 - qcom,sc7180-dp
233 - qcom,sc7280-dp
234 - qcom,sc7280-edp
235 - qcom,sc8180x-edp
236 - qcom,sc8280xp-edp
237 then:
238 properties:
239 reg:
240 minItems: 5
241 maxItems: 5
242 clocks:
243 minItems: 5
244 maxItems: 5
245 clocks-names:
246 minItems: 5
247 maxItems: 5
248
249 - if:
250 properties:
251 compatible:
252 contains:
253 enum:
254 # these platforms support 2 streams MST on some interfaces,
255 # others are SST only
256 - qcom,glymur-dp
257 - qcom,sc8280xp-dp
258 - qcom,x1e80100-dp
259 then:
260 properties:
261 reg:
262 minItems: 5
263 maxItems: 5
264 clocks:
265 minItems: 5
266 maxItems: 6
267 clocks-names:
268 minItems: 5
269 maxItems: 6
270
271 - if:
272 properties:
273 compatible:
274 contains:
275 # 2 streams MST
276 enum:
277 - qcom,sc8180x-dp
278 - qcom,sdm845-dp
279 - qcom,sm8350-dp
280 - qcom,sm8650-dp
281 then:
282 properties:
283 reg:
284 minItems: 5
285 maxItems: 5
286 clocks:
287 minItems: 6
288 maxItems: 6
289 clocks-names:
290 minItems: 6
291 maxItems: 6
292
293 - if:
294 properties:
295 compatible:
296 contains:
297 enum:
298 # these platforms support 4 stream MST on first DP,
299 # 2 streams MST on the second one.
300 - qcom,sa8775p-dp
301 then:
302 properties:
303 reg:
304 minItems: 9
305 maxItems: 9
306 clocks:
307 minItems: 6
308 maxItems: 8
309 clocks-names:
310 minItems: 6
311 maxItems: 8
312
313unevaluatedProperties: false
314
315examples:
316 - |
317 #include <dt-bindings/interrupt-controller/arm-gic.h>
318 #include <dt-bindings/clock/qcom,dispcc-sc7180.h>
319 #include <dt-bindings/power/qcom-rpmpd.h>
320
321 displayport-controller@ae90000 {
322 compatible = "qcom,sc7180-dp";
323 reg = <0xae90000 0x200>,
324 <0xae90200 0x200>,
325 <0xae90400 0xc00>,
326 <0xae91000 0x400>,
327 <0xae91400 0x400>;
328 interrupt-parent = <&mdss>;
329 interrupts = <12>;
330 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
331 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
332 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
333 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
334 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
335 clock-names = "core_iface", "core_aux",
336 "ctrl_link",
337 "ctrl_link_iface", "stream_pixel";
338
339 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
340 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
341
342 assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>;
343
344 phys = <&dp_phy>;
345 phy-names = "dp";
346
347 #sound-dai-cells = <0>;
348
349 power-domains = <&rpmhpd SC7180_CX>;
350
351 ports {
352 #address-cells = <1>;
353 #size-cells = <0>;
354
355 port@0 {
356 reg = <0>;
357 endpoint {
358 remote-endpoint = <&dpu_intf0_out>;
359 };
360 };
361
362 port@1 {
363 reg = <1>;
364 endpoint {
365 remote-endpoint = <&typec>;
366 data-lanes = <0 1>;
367 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
368 };
369 };
370 };
371 };
372...