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
12description: |
13 Device tree bindings for DisplayPort host controller for MSM targets
14 that are compatible with VESA DisplayPort interface specification.
15
16properties:
17 compatible:
18 oneOf:
19 - enum:
20 - qcom,sc7180-dp
21 - qcom,sc7280-dp
22 - qcom,sc7280-edp
23 - qcom,sc8180x-dp
24 - qcom,sc8180x-edp
25 - qcom,sc8280xp-dp
26 - qcom,sc8280xp-edp
27 - qcom,sdm845-dp
28 - qcom,sm8350-dp
29 - qcom,sm8650-dp
30 - items:
31 - enum:
32 - qcom,sm6350-dp
33 - qcom,sm8150-dp
34 - qcom,sm8250-dp
35 - qcom,sm8450-dp
36 - qcom,sm8550-dp
37 - const: qcom,sm8350-dp
38
39 reg:
40 minItems: 4
41 items:
42 - description: ahb register block
43 - description: aux register block
44 - description: link register block
45 - description: p0 register block
46 - description: p1 register block
47
48 interrupts:
49 maxItems: 1
50
51 clocks:
52 items:
53 - description: AHB clock to enable register access
54 - description: Display Port AUX clock
55 - description: Display Port Link clock
56 - description: Link interface clock between DP and PHY
57 - description: Display Port Pixel clock
58
59 clock-names:
60 items:
61 - const: core_iface
62 - const: core_aux
63 - const: ctrl_link
64 - const: ctrl_link_iface
65 - const: stream_pixel
66
67 assigned-clocks:
68 items:
69 - description: link clock source
70 - description: pixel clock source
71
72 assigned-clock-parents:
73 items:
74 - description: phy 0 parent
75 - description: phy 1 parent
76
77 phys:
78 maxItems: 1
79
80 phy-names:
81 items:
82 - const: dp
83
84 operating-points-v2: true
85
86 opp-table:
87 type: object
88
89 power-domains:
90 maxItems: 1
91
92 aux-bus:
93 $ref: /schemas/display/dp-aux-bus.yaml#
94
95 data-lanes:
96 $ref: /schemas/types.yaml#/definitions/uint32-array
97 deprecated: true
98 minItems: 1
99 maxItems: 4
100 items:
101 maximum: 3
102
103 "#sound-dai-cells":
104 const: 0
105
106 vdda-0p9-supply:
107 deprecated: true
108 vdda-1p2-supply:
109 deprecated: true
110
111 ports:
112 $ref: /schemas/graph.yaml#/properties/ports
113 properties:
114 port@0:
115 $ref: /schemas/graph.yaml#/properties/port
116 description: Input endpoint of the controller
117
118 port@1:
119 $ref: /schemas/graph.yaml#/$defs/port-base
120 unevaluatedProperties: false
121 description: Output endpoint of the controller
122 properties:
123 endpoint:
124 $ref: /schemas/media/video-interfaces.yaml#
125 unevaluatedProperties: false
126 properties:
127 data-lanes:
128 minItems: 1
129 maxItems: 4
130 items:
131 enum: [ 0, 1, 2, 3 ]
132
133 link-frequencies:
134 minItems: 1
135 maxItems: 4
136 items:
137 enum: [ 1620000000, 2700000000, 5400000000, 8100000000 ]
138
139 required:
140 - port@0
141 - port@1
142
143required:
144 - compatible
145 - reg
146 - interrupts
147 - clocks
148 - clock-names
149 - phys
150 - phy-names
151 - power-domains
152 - ports
153
154allOf:
155 # AUX BUS does not exist on DP controllers
156 # Audio output also is present only on DP output
157 # p1 regions is present on DP, but not on eDP
158 - if:
159 properties:
160 compatible:
161 contains:
162 enum:
163 - qcom,sc7280-edp
164 - qcom,sc8180x-edp
165 - qcom,sc8280xp-edp
166 then:
167 properties:
168 "#sound-dai-cells": false
169 else:
170 properties:
171 aux-bus: false
172 reg:
173 minItems: 5
174 required:
175 - "#sound-dai-cells"
176
177additionalProperties: false
178
179examples:
180 - |
181 #include <dt-bindings/interrupt-controller/arm-gic.h>
182 #include <dt-bindings/clock/qcom,dispcc-sc7180.h>
183 #include <dt-bindings/power/qcom-rpmpd.h>
184
185 displayport-controller@ae90000 {
186 compatible = "qcom,sc7180-dp";
187 reg = <0xae90000 0x200>,
188 <0xae90200 0x200>,
189 <0xae90400 0xc00>,
190 <0xae91000 0x400>,
191 <0xae91400 0x400>;
192 interrupt-parent = <&mdss>;
193 interrupts = <12>;
194 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
195 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
196 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
197 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
198 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
199 clock-names = "core_iface", "core_aux",
200 "ctrl_link",
201 "ctrl_link_iface", "stream_pixel";
202
203 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
204 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
205
206 assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>;
207
208 phys = <&dp_phy>;
209 phy-names = "dp";
210
211 #sound-dai-cells = <0>;
212
213 power-domains = <&rpmhpd SC7180_CX>;
214
215 ports {
216 #address-cells = <1>;
217 #size-cells = <0>;
218
219 port@0 {
220 reg = <0>;
221 endpoint {
222 remote-endpoint = <&dpu_intf0_out>;
223 };
224 };
225
226 port@1 {
227 reg = <1>;
228 endpoint {
229 remote-endpoint = <&typec>;
230 data-lanes = <0 1>;
231 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
232 };
233 };
234 };
235 };
236...