1 /dts-v1/;
3 /* Keystone II policy containing reserving resources used by Linux Kernel */
5 / {
6 /* Valid instance list contains instance names used within TI example projects
7 * utilizing RM. The list can be modified as needed by applications integrating
8 * RM. For an RM instance to be given permissions the name used to initialize it
9 * must be present in this list */
10 valid-instances = "RM_Server",
11 "RM_Client0",
12 "RM_Client1",
13 "RM_Client2",
14 "RM_Client3",
15 "RM_Client4",
16 "RM_Client5",
17 "RM_Client6",
18 "RM_Client7",
19 "RM_Client_NETAPI";
21 qmss {
22 /* QMSS in joint mode affects only -qm1 resource */
23 control-qm1 {
24 assignments = <0 1>, "iu = (*)";
25 };
26 control-qm2 {
27 assignments = <0 1>, "iu = (*)";
28 };
30 linkram-control-qm1 {
31 assignments = <0 1>, "(*)"; /* Used by Kernel */
32 };
33 linkram-control-qm2 {
34 assignments = <0 1>, "(*)"; /* Used by Kernel */
35 };
37 linkram-int-qm1 {
38 /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x8000 */
39 assignments = <0x00000000 0x00004000>, "iu = (*)",
40 <0x00004000 0x00004000>, "(*)"; /* Used by Kernel */
41 };
42 linkram-int-qm2 {
43 /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x8000 */
44 assignments = <0x00000000 0x00004000>, "iu = (*)",
45 <0x00004000 0x00004000>, "(*)"; /* Used by Kernel */
46 };
47 linkram-ext-qm1 {
48 assignments = <0x00008000 0x00010000>, "iu = (*)";
49 };
50 linkram-ext-qm2 {
51 assignments = <0x00008000 0x00010000>, "iu = (*)";
52 };
54 memory-regions-qm1 {
55 assignments = <0 12>, "iu = (*)",
56 <12 3>, "(*)", /* Used by Kernel */
57 <15 49>, "iu = (*)";
58 };
59 memory-regions-qm2 {
60 assignments = <0 12>, "iu = (*)",
61 <12 3>, "(*)", /* Used by Kernel */
62 <15 49>, "iu = (*)";
63 };
65 LOW_PRIORITY_QUEUE-qm1 {
66 /* this is loosely coupled with accumulator-ch channels 32-47. These queues are
67 * just suggested to be paired with these channels, the accumulator can be sw
68 * configured to use any queue */
69 assignments = <0 128>, "iu = (*)", /* suggested for channels 32-35 */
70 <128 128>, " (*)", /* used by linux (accumulator-low-#); linux pairs these to channels 36-39 */
71 <256 256>, "iu = (*)"; /* suggested for channels 40-47 */
72 };
73 AIF_QUEUE-qm1 {
74 assignments = <512 128>, "iu = (*)";
75 };
76 PASS_QUEUE-qm1 {
77 assignments = <640 9>, "iu = (*)"; /* used by both kernel and DSP */
78 };
79 INTC_QUEUE-qm1 {
80 assignments = <652 6>, "iu = (*)";
81 };
82 INTC_SET2_QUEUE-qm1 {
83 assignments = <658 4>, " (*)", /* potentially used by kernel */
84 <662 4>, "iu = (*)"; /* available for user mode lld and dsp */
85 };
86 INTC_SET3_QUEUE-qm1 {
87 assignments = <666 6>, "iu = (*)";
88 };
89 SRIO_QUEUE-qm1 {
90 assignments = <672 16>, "iu = (*)";
91 };
92 FFTC_A_QUEUE-qm1 {
93 assignments = <688 4>, "iu = (*)";
94 };
95 FFTC_B_QUEUE-qm1 {
96 assignments = <692 4>, "iu = (*)";
97 };
98 HIGH_PRIORITY_QUEUE-qm1 {
99 /* this is loosely coupled with accumulator-ch channels 0-15. These queues are
100 * just suggested to be paired with these channels, the accumulator can be sw
101 * configured to use any queue */
102 assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
103 <720 8>, "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */
104 <728 8>, "iu = (*)"; /* suggested for channels 24-31 */
105 };
106 STARVATION_COUNTER_QUEUE-qm1 {
107 assignments = <736 64>, "iu = (*)";
108 };
109 INFRASTRUCTURE_QUEUE-qm1 {
110 assignments = <800 16>, "(*)", /* Used by Kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
111 <816 16>, "iu = (*)";
112 };
113 TRAFFIC_SHAPING_QUEUE-qm1 {
114 assignments = <832 32>, "iu = (*)";
115 };
116 BCP_QUEUE-qm1 {
117 assignments = <864 8>, "iu = (*)";
118 };
119 FFTC_C_QUEUE-qm1 {
120 assignments = <872 4>, "iu = (*)";
121 };
122 FFTC_D_QUEUE-qm1 {
123 assignments = <876 4>, "iu = (*)";
124 };
125 FFTC_E_QUEUE-qm1 {
126 assignments = <880 4>, "iu = (*)";
127 };
128 FFTC_F_QUEUE-qm1 {
129 assignments = <884 4>, "iu = (*)";
130 };
131 GENERAL_PURPOSE_QUEUE-qm1 {
132 assignments = <896 3104>, "iu = (*)",
133 <4000 64>, "(*)", /* Used by Kernel */
134 <4064 31>, "iu = (*)",
135 <4095 1>, "iue = (*)", /* Queues ending in 0xfff can't be used as return queue (hw reserved) */
136 <4096 2304>, "iu = (*)",
138 /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
139 <6400 72>, "u = (*)", /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
140 <6472 6>, "(*)", /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
141 <6478 114>, "(*)", /* unconfigured QoS/Linux queues (qos-inputs-2) */
143 <6592 1408>, "iu = (*)",
145 /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
146 <8000 72>, "u = (*)", /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
147 <8072 6>, "(*)", /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
148 <8078 114>, "(*)"; /* unconfigured QoS/Linux queues (qos-inputs-1) */
149 /* note for q 8191: Queues ending in 0xfff can't be used as return queue (hw reserved) */
150 };
151 LOW_PRIORITY_QUEUE-qm2 {
152 assignments = <8192 512>, "iu = (*)";
153 };
154 INTC_SET4_QUEUE-qm2 {
155 assignments = <8844 20>, "iu = (*)";
156 };
157 GIC400_QUEUE-qm2 {
158 assignments = <8704 32>, "iu = (RM_Client_NETAPI)"; /* Used by Kernel */
159 };
160 EDMA_4_QUEUE-qm2 {
161 assignments = <8736 8>, "iu = (*)";
162 };
163 HLINK_BROADCAST_QUEUE-qm2 {
164 assignments = <8744 8>, "iu = (*)";
165 };
166 XGE_QUEUE-qm2 {
167 assignments = <8752 8>, "iu = (*)"; /* can be used by both dsp and kernel */
168 };
169 HLINK_0_QUEUE-qm2 {
170 assignments = <8796 16>, "iu = (*)";
171 };
172 DXB_QUEUE-qm2 {
173 assignments = <8836 8>, "iu = (*)";
174 };
175 HLINK_1_QUEUE-qm2 {
176 assignments = <8864 16>, "iu = (*)";
177 };
178 HIGH_PRIORITY_QUEUE-qm2 {
179 assignments = <8896 32>, "iu = (*)";
180 };
181 STARVATION_COUNTER_QUEUE-qm2 {
182 assignments = <8928 64>, "iu = (*)";
183 };
184 QM2_INFRASTRUCTURE_QUEUE-qm2 {
185 assignments = <8992 32>, "iu = (*)";
186 };
187 GENERAL_PURPOSE_QUEUE-qm2 {
188 assignments = <9024 3263>, "iu = (*)",
189 <12287 1>, "iue = (*)", /* Queues ending in 0xfff can't be used as return queue (hw reserved) */
190 <12288 4095>, "iu = (*)",
191 <16383 1>, "iue = (*)"; /* Queues ending in 0xfff can't be used as return queue (hw reserved) */
192 };
194 firmware-pdsp {
195 assignments = <0 1>, " (*)", /* pdsp0: accumulator 0 downloaded by linux */
196 <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
197 <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
198 <3 1>, " (*)", /* pdsp3: qostree downloaded by linux */
199 <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
200 <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
201 <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
202 <7 1>, " (*)"; /* pdsp7: qostree2 downloaded by linux */
203 };
204 accumulator0-ch { /* accumulator using first INTD */
205 assignments = <0 16>, "iu = (*)", /* high priority 0-15 available for everyone */
206 <16 8>, "iu = (*)", /* declared but not used by linux, subject to change */
207 <24 8>, "iu = (*)", /* last 8 high priority are used by event machine, available in non EM use case */
208 <32 4>, "iu = (*)", /* first 4 low priority are used by event machine, available in non EM use case */
209 <36 4>, " (*)", /* next 4 low priority are used by linux (accumulator-low-#) */
210 <40 8>, "iu = (*)"; /* available for all */
211 };
212 accumulator1-ch { /* accumulator using second INTD */
213 assignments = <0 48>, "iu = (*)"; /* linux doesn't use it */
214 };
215 }; /* qmss */
217 cppi {
218 srio-hw-open {
219 assignments = <0 1>, "iu = (*)";
220 };
221 srio-rx-ch {
222 assignments = <0 16>, "iu = (*)";
223 };
224 srio-tx-ch {
225 assignments = <0 16>, "iu = (*)";
226 };
227 srio-rx-flow-id {
228 assignments = <0 20>, "iu = (*)";
229 };
231 aif-hw-open {
232 assignments = <0 1>, "iu = (*)";
233 };
234 aif-rx-ch {
235 assignments = <0 129>, "iu = (*)";
236 };
237 aif-tx-ch {
238 assignments = <0 129>, "iu = (*)";
239 };
240 aif-rx-flow-id {
241 assignments = <0 129>, "iu = (*)";
242 };
244 fftc-a-hw-open {
245 assignments = <0 1>, "iu = (*)";
246 };
247 fftc-a-rx-ch {
248 assignments = <0 4>, "iu = (*)";
249 };
250 fftc-a-tx-ch {
251 assignments = <0 4>, "iu = (*)";
252 };
253 fftc-a-rx-flow-id {
254 assignments = <0 8>, "iu = (*)";
255 };
257 fftc-b-hw-open {
258 assignments = <0 1>, "iu = (*)";
259 };
260 fftc-b-rx-ch {
261 assignments = <0 4>, "iu = (*)";
262 };
263 fftc-b-tx-ch {
264 assignments = <0 4>, "iu = (*)";
265 };
266 fftc-b-rx-flow-id {
267 assignments = <0 8>, "iu = (*)";
268 };
270 fftc-c-hw-open {
271 assignments = <0 1>, "iu = (*)";
272 };
273 fftc-c-rx-ch {
274 assignments = <0 4>, "iu = (*)";
275 };
276 fftc-c-tx-ch {
277 assignments = <0 4>, "iu = (*)";
278 };
279 fftc-c-rx-flow-id {
280 assignments = <0 8>, "iu = (*)";
281 };
283 fftc-d-hw-open {
284 assignments = <0 1>, "iu = (*)";
285 };
286 fftc-d-rx-ch {
287 assignments = <0 4>, "iu = (*)";
288 };
289 fftc-d-tx-ch {
290 assignments = <0 4>, "iu = (*)";
291 };
292 fftc-d-rx-flow-id {
293 assignments = <0 8>, "iu = (*)";
294 };
296 fftc-e-hw-open {
297 assignments = <0 1>, "iu = (*)";
298 };
299 fftc-e-rx-ch {
300 assignments = <0 4>, "iu = (*)";
301 };
302 fftc-e-tx-ch {
303 assignments = <0 4>, "iu = (*)";
304 };
305 fftc-e-rx-flow-id {
306 assignments = <0 8>, "iu = (*)";
307 };
309 fftc-f-hw-open {
310 assignments = <0 1>, "iu = (*)";
311 };
312 fftc-f-rx-ch {
313 assignments = <0 4>, "iu = (*)";
314 };
315 fftc-f-tx-ch {
316 assignments = <0 4>, "iu = (*)";
317 };
318 fftc-f-rx-flow-id {
319 assignments = <0 8>, "iu = (*)";
320 };
322 pass-hw-open {
323 assignments = <0 1>, "iu = (*)";
324 };
325 pass-rx-ch {
326 assignments = <0 24>, " (*)"; /* initialized by kernel */
327 };
328 pass-tx-ch {
329 assignments = <0 7>, " (*)", /* initialized by kernel, can directly open queuse */
330 <7 1>, "iu = (*)", /* SA channel. Linux initializes, but some applications need to enable/disable on fly */
331 <8 1>, " (*)"; /* initialized by kernel, can directly open queuse */
332 };
333 pass-rx-flow-id {
334 assignments = <0 22>, "iu = (*)", /* available */
335 <22 5>, " (*)", /* used by kernel (netrx0, netrx1, netrx2, netrx3, crypto-rx0) */
336 <27 4>, "iu = (*)", /* available */
337 <31 1>, " (*)"; /* used by kernel (parx) */
338 };
340 qmss-qm1-hw-open {
341 assignments = <0 1>, "iu = (*)";
342 };
343 qmss-qm1-rx-ch {
344 assignments = <0 16>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
345 <16 16>, "iu = (*)";
346 };
347 qmss-qm1-tx-ch {
348 assignments = <0 16>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
349 <16 16>, "iu = (*)";
350 };
351 qmss-qm1-rx-flow-id {
352 assignments = <0 16>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
353 <16 48>, "iu = (*)";
354 };
356 qmss-qm2-hw-open {
357 assignments = <0 1>, "iu = (*)";
358 };
359 qmss-qm2-rx-ch {
360 assignments = <0 32>, "iu = (*)";
361 };
362 qmss-qm2-tx-ch {
363 assignments = <0 32>, "iu = (*)";
364 };
365 qmss-qm2-rx-flow-id {
366 assignments = <0 64>, "iu = (*)";
367 };
369 bcp-hw-open {
370 assignments = <0 1>, "iu = (*)";
371 };
372 bcp-rx-ch {
373 assignments = <0 8>, "iu = (*)";
374 };
375 bcp-tx-ch {
376 assignments = <0 8>, "iu = (*)";
377 };
378 bcp-rx-flow-id {
379 assignments = <0 64>, "iu = (*)";
380 };
382 xge-hw-open {
383 assignments = <0 1>, "iu = (*)";
384 };
385 xge-rx-ch {
386 assignments = <0 16>, " (*)"; /* initialized by kernel */
387 };
388 xge-tx-ch {
389 assignments = <0 8>, " (*)"; /* initialized by kernel, directly open the queues */
390 };
391 xge-rx-flow-id {
392 assignments = <0 1>, " (*)", /* used by kernel (xgerx0) */
393 <1 7>, "iu = (*)", /* available */
394 <8 1>, " (*)", /* used by kernel (xgerx1) */
395 <9 23>, "iu = (*)"; /* available */
396 };
397 }; /* cppi */
399 pa {
400 pa-lut {
401 assignments = <0 5>, "iu = (*)";
402 };
403 pa-firmware {
404 assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
405 };
406 pa-32bUsrStats {
407 assignments = <0 512>, "iu = (*)";
408 };
409 pa-64bUsrStats {
410 assignments = <0 256>, "iu = (*)";
411 };
412 }; /* pa */
414 srio {
415 srio-dio-sockets {
416 assignments = <0 8>, "iu = (*)";
417 };
418 srio-type9-type11-sockets {
419 assignments = <0 64>, "iu = (*)";
420 };
421 srio-type9-type11-mappings {
422 assignments = <0 64>, "iu = (*)";
423 };
424 srio-lsus {
425 assignments = <0 8>, "iu = (*)";
426 };
427 srio-init-hw {
428 assignments = <0 1>, "iu = (*)";
429 };
430 };
431 };