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-or-later OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/cache/qcom,llcc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Last Level Cache Controller
8
9maintainers:
10 - Bjorn Andersson <andersson@kernel.org>
11
12description: |
13 LLCC (Last Level Cache Controller) provides last level of cache memory in SoC,
14 that can be shared by multiple clients. Clients here are different cores in the
15 SoC, the idea is to minimize the local caches at the clients and migrate to
16 common pool of memory. Cache memory is divided into partitions called slices
17 which are assigned to clients. Clients can query the slice details, activate
18 and deactivate them.
19
20properties:
21 compatible:
22 enum:
23 - qcom,glymur-llcc
24 - qcom,ipq5424-llcc
25 - qcom,kaanapali-llcc
26 - qcom,qcs615-llcc
27 - qcom,qcs8300-llcc
28 - qcom,qdu1000-llcc
29 - qcom,sa8775p-llcc
30 - qcom,sar1130p-llcc
31 - qcom,sar2130p-llcc
32 - qcom,sc7180-llcc
33 - qcom,sc7280-llcc
34 - qcom,sc8180x-llcc
35 - qcom,sc8280xp-llcc
36 - qcom,sdm670-llcc
37 - qcom,sdm845-llcc
38 - qcom,sm6350-llcc
39 - qcom,sm7150-llcc
40 - qcom,sm8150-llcc
41 - qcom,sm8250-llcc
42 - qcom,sm8350-llcc
43 - qcom,sm8450-llcc
44 - qcom,sm8550-llcc
45 - qcom,sm8650-llcc
46 - qcom,sm8750-llcc
47 - qcom,x1e80100-llcc
48
49 reg:
50 minItems: 1
51 maxItems: 14
52
53 reg-names:
54 minItems: 1
55 maxItems: 14
56
57 interrupts:
58 maxItems: 1
59
60 nvmem-cells:
61 items:
62 - description: Reference to an nvmem node for multi channel DDR
63
64 nvmem-cell-names:
65 items:
66 - const: multi-chan-ddr
67
68required:
69 - compatible
70 - reg
71 - reg-names
72
73allOf:
74 - if:
75 properties:
76 compatible:
77 contains:
78 enum:
79 - qcom,ipq5424-llcc
80 then:
81 properties:
82 reg:
83 items:
84 - description: LLCC0 base register region
85 reg-names:
86 items:
87 - const: llcc0_base
88
89 - if:
90 properties:
91 compatible:
92 contains:
93 enum:
94 - qcom,glymur-llcc
95 then:
96 properties:
97 reg:
98 items:
99 - description: LLCC0 base register region
100 - description: LLCC1 base register region
101 - description: LLCC2 base register region
102 - description: LLCC3 base register region
103 - description: LLCC4 base register region
104 - description: LLCC5 base register region
105 - description: LLCC6 base register region
106 - description: LLCC7 base register region
107 - description: LLCC8 base register region
108 - description: LLCC9 base register region
109 - description: LLCC10 base register region
110 - description: LLCC11 base register region
111 - description: LLCC broadcast base register region
112 - description: LLCC broadcast AND register region
113 reg-names:
114 items:
115 - const: llcc0_base
116 - const: llcc1_base
117 - const: llcc2_base
118 - const: llcc3_base
119 - const: llcc4_base
120 - const: llcc5_base
121 - const: llcc6_base
122 - const: llcc7_base
123 - const: llcc8_base
124 - const: llcc9_base
125 - const: llcc10_base
126 - const: llcc11_base
127 - const: llcc_broadcast_base
128 - const: llcc_broadcast_and_base
129
130 - if:
131 properties:
132 compatible:
133 contains:
134 enum:
135 - qcom,sar1130p-llcc
136 - qcom,sar2130p-llcc
137 then:
138 properties:
139 reg:
140 items:
141 - description: LLCC0 base register region
142 - description: LLCC1 base register region
143 - description: LLCC broadcast OR register region
144 - description: LLCC broadcast AND register region
145 - description: LLCC scratchpad broadcast OR register region
146 - description: LLCC scratchpad broadcast AND register region
147 reg-names:
148 items:
149 - const: llcc0_base
150 - const: llcc1_base
151 - const: llcc_broadcast_base
152 - const: llcc_broadcast_and_base
153 - const: llcc_scratchpad_broadcast_base
154 - const: llcc_scratchpad_broadcast_and_base
155
156 - if:
157 properties:
158 compatible:
159 contains:
160 enum:
161 - qcom,qcs615-llcc
162 - qcom,sc7180-llcc
163 - qcom,sm6350-llcc
164 then:
165 properties:
166 reg:
167 items:
168 - description: LLCC0 base register region
169 - description: LLCC broadcast base register region
170 reg-names:
171 items:
172 - const: llcc0_base
173 - const: llcc_broadcast_base
174
175 - if:
176 properties:
177 compatible:
178 contains:
179 enum:
180 - qcom,sa8775p-llcc
181 then:
182 properties:
183 reg:
184 items:
185 - description: LLCC0 base register region
186 - description: LLCC1 base register region
187 - description: LLCC2 base register region
188 - description: LLCC3 base register region
189 - description: LLCC4 base register region
190 - description: LLCC5 base register region
191 - description: LLCC broadcast base register region
192 reg-names:
193 items:
194 - const: llcc0_base
195 - const: llcc1_base
196 - const: llcc2_base
197 - const: llcc3_base
198 - const: llcc4_base
199 - const: llcc5_base
200 - const: llcc_broadcast_base
201
202 - if:
203 properties:
204 compatible:
205 contains:
206 enum:
207 - qcom,sc7280-llcc
208 - qcom,sdm670-llcc
209 then:
210 properties:
211 reg:
212 items:
213 - description: LLCC0 base register region
214 - description: LLCC1 base register region
215 - description: LLCC broadcast base register region
216 reg-names:
217 items:
218 - const: llcc0_base
219 - const: llcc1_base
220 - const: llcc_broadcast_base
221
222 - if:
223 properties:
224 compatible:
225 contains:
226 enum:
227 - qcom,qdu1000-llcc
228 - qcom,sc8180x-llcc
229 - qcom,sc8280xp-llcc
230 then:
231 properties:
232 reg:
233 items:
234 - description: LLCC0 base register region
235 - description: LLCC1 base register region
236 - description: LLCC2 base register region
237 - description: LLCC3 base register region
238 - description: LLCC4 base register region
239 - description: LLCC5 base register region
240 - description: LLCC6 base register region
241 - description: LLCC7 base register region
242 - description: LLCC broadcast base register region
243 reg-names:
244 items:
245 - const: llcc0_base
246 - const: llcc1_base
247 - const: llcc2_base
248 - const: llcc3_base
249 - const: llcc4_base
250 - const: llcc5_base
251 - const: llcc6_base
252 - const: llcc7_base
253 - const: llcc_broadcast_base
254
255 - if:
256 properties:
257 compatible:
258 contains:
259 enum:
260 - qcom,x1e80100-llcc
261 then:
262 properties:
263 reg:
264 items:
265 - description: LLCC0 base register region
266 - description: LLCC1 base register region
267 - description: LLCC2 base register region
268 - description: LLCC3 base register region
269 - description: LLCC4 base register region
270 - description: LLCC5 base register region
271 - description: LLCC6 base register region
272 - description: LLCC7 base register region
273 - description: LLCC broadcast base register region
274 - description: LLCC broadcast AND register region
275 reg-names:
276 items:
277 - const: llcc0_base
278 - const: llcc1_base
279 - const: llcc2_base
280 - const: llcc3_base
281 - const: llcc4_base
282 - const: llcc5_base
283 - const: llcc6_base
284 - const: llcc7_base
285 - const: llcc_broadcast_base
286 - const: llcc_broadcast_and_base
287
288 - if:
289 properties:
290 compatible:
291 contains:
292 enum:
293 - qcom,qcs8300-llcc
294 - qcom,sdm845-llcc
295 - qcom,sm8150-llcc
296 - qcom,sm8250-llcc
297 - qcom,sm8350-llcc
298 then:
299 properties:
300 reg:
301 items:
302 - description: LLCC0 base register region
303 - description: LLCC1 base register region
304 - description: LLCC2 base register region
305 - description: LLCC3 base register region
306 - description: LLCC broadcast base register region
307 reg-names:
308 items:
309 - const: llcc0_base
310 - const: llcc1_base
311 - const: llcc2_base
312 - const: llcc3_base
313 - const: llcc_broadcast_base
314
315 - if:
316 properties:
317 compatible:
318 contains:
319 enum:
320 - qcom,kaanapali-llcc
321 - qcom,sm8450-llcc
322 - qcom,sm8550-llcc
323 - qcom,sm8650-llcc
324 - qcom,sm8750-llcc
325 then:
326 properties:
327 reg:
328 items:
329 - description: LLCC0 base register region
330 - description: LLCC1 base register region
331 - description: LLCC2 base register region
332 - description: LLCC3 base register region
333 - description: LLCC broadcast OR register region
334 - description: LLCC broadcast AND register region
335 reg-names:
336 items:
337 - const: llcc0_base
338 - const: llcc1_base
339 - const: llcc2_base
340 - const: llcc3_base
341 - const: llcc_broadcast_base
342 - const: llcc_broadcast_and_base
343
344additionalProperties: false
345
346examples:
347 - |
348 #include <dt-bindings/interrupt-controller/arm-gic.h>
349
350 soc {
351 #address-cells = <2>;
352 #size-cells = <2>;
353
354 system-cache-controller@1100000 {
355 compatible = "qcom,sdm845-llcc";
356 reg = <0 0x01100000 0 0x50000>, <0 0x01180000 0 0x50000>,
357 <0 0x01200000 0 0x50000>, <0 0x01280000 0 0x50000>,
358 <0 0x01300000 0 0x50000>;
359 reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
360 "llcc3_base", "llcc_broadcast_base";
361 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
362 };
363 };