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