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/dpu-msm8998.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Display DPU dt properties for MSM8998 target
8
9 maintainers:
10 - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
11
12 description: |
13 Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
14 sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
15 bindings of MDSS and DPU are mentioned for MSM8998 target.
16
17 properties:
18 compatible:
19 items:
20 - const: qcom,msm8998-mdss
21
22 reg:
23 maxItems: 1
24
25 reg-names:
26 const: mdss
27
28 power-domains:
29 maxItems: 1
30
31 clocks:
32 items:
33 - description: Display AHB clock
34 - description: Display AXI clock
35 - description: Display core clock
36
37 clock-names:
38 items:
39 - const: iface
40 - const: bus
41 - const: core
42
43 interrupts:
44 maxItems: 1
45
46 interrupt-controller: true
47
48 "#address-cells": true
49
50 "#size-cells": true
51
52 "#interrupt-cells":
53 const: 1
54
55 iommus:
56 items:
57 - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
58
59 ranges: true
60
61 patternProperties:
62 "^display-controller@[0-9a-f]+$":
63 type: object
64 description: Node containing the properties of DPU.
65
66 properties:
67 compatible:
68 items:
69 - const: qcom,msm8998-dpu
70
71 reg:
72 items:
73 - description: Address offset and size for mdp register set
74 - description: Address offset and size for regdma register set
75 - description: Address offset and size for vbif register set
76 - description: Address offset and size for non-realtime vbif register set
77
78 reg-names:
79 items:
80 - const: mdp
81 - const: regdma
82 - const: vbif
83 - const: vbif_nrt
84
85 clocks:
86 items:
87 - description: Display ahb clock
88 - description: Display axi clock
89 - description: Display mem-noc clock
90 - description: Display core clock
91 - description: Display vsync clock
92
93 clock-names:
94 items:
95 - const: iface
96 - const: bus
97 - const: mnoc
98 - const: core
99 - const: vsync
100
101 interrupts:
102 maxItems: 1
103
104 power-domains:
105 maxItems: 1
106
107 operating-points-v2: true
108 ports:
109 $ref: /schemas/graph.yaml#/properties/ports
110 description: |
111 Contains the list of output ports from DPU device. These ports
112 connect to interfaces that are external to the DPU hardware,
113 such as DSI, DP etc. Each output port contains an endpoint that
114 describes how it is connected to an external interface.
115
116 properties:
117 port@0:
118 $ref: /schemas/graph.yaml#/properties/port
119 description: DPU_INTF1 (DSI1)
120
121 port@1:
122 $ref: /schemas/graph.yaml#/properties/port
123 description: DPU_INTF2 (DSI2)
124
125 required:
126 - port@0
127 - port@1
128
129 required:
130 - compatible
131 - reg
132 - reg-names
133 - clocks
134 - interrupts
135 - power-domains
136 - operating-points-v2
137 - ports
138
139 required:
140 - compatible
141 - reg
142 - reg-names
143 - power-domains
144 - clocks
145 - interrupts
146 - interrupt-controller
147 - iommus
148 - ranges
149
150 additionalProperties: false
151
152 examples:
153 - |
154 #include <dt-bindings/clock/qcom,mmcc-msm8998.h>
155 #include <dt-bindings/interrupt-controller/arm-gic.h>
156 #include <dt-bindings/power/qcom-rpmpd.h>
157
158 mdss: display-subsystem@c900000 {
159 compatible = "qcom,msm8998-mdss";
160 reg = <0x0c900000 0x1000>;
161 reg-names = "mdss";
162
163 clocks = <&mmcc MDSS_AHB_CLK>,
164 <&mmcc MDSS_AXI_CLK>,
165 <&mmcc MDSS_MDP_CLK>;
166 clock-names = "iface", "bus", "core";
167
168 #address-cells = <1>;
169 #interrupt-cells = <1>;
170 #size-cells = <1>;
171
172 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
173 interrupt-controller;
174 iommus = <&mmss_smmu 0>;
175
176 power-domains = <&mmcc MDSS_GDSC>;
177 ranges;
178
179 display-controller@c901000 {
180 compatible = "qcom,msm8998-dpu";
181 reg = <0x0c901000 0x8f000>,
182 <0x0c9a8e00 0xf0>,
183 <0x0c9b0000 0x2008>,
184 <0x0c9b8000 0x1040>;
185 reg-names = "mdp", "regdma", "vbif", "vbif_nrt";
186
187 clocks = <&mmcc MDSS_AHB_CLK>,
188 <&mmcc MDSS_AXI_CLK>,
189 <&mmcc MNOC_AHB_CLK>,
190 <&mmcc MDSS_MDP_CLK>,
191 <&mmcc MDSS_VSYNC_CLK>;
192 clock-names = "iface", "bus", "mnoc", "core", "vsync";
193
194 interrupt-parent = <&mdss>;
195 interrupts = <0>;
196 operating-points-v2 = <&mdp_opp_table>;
197 power-domains = <&rpmpd MSM8998_VDDMX>;
198
199 ports {
200 #address-cells = <1>;
201 #size-cells = <0>;
202
203 port@0 {
204 reg = <0>;
205 dpu_intf1_out: endpoint {
206 remote-endpoint = <&dsi0_in>;
207 };
208 };
209
210 port@1 {
211 reg = <1>;
212 dpu_intf2_out: endpoint {
213 remote-endpoint = <&dsi1_in>;
214 };
215 };
216 };
217 };
218 };
219 ...
Cache object: b68742c4ed891d35ea19390158d440fb
|