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";
20 qmss {
21 /* QMSS in joint mode affects only -qm1 resource */
22 control-qm1 {
23 assignments = <0 1>, "iu = (*)";
24 };
25 control-qm2 {
26 assignments = <0 1>, "iu = (*)";
27 };
29 linkram-control-qm1 {
30 assignments = <0 1>, "(*)"; /* Used by Kernel */
31 };
32 linkram-control-qm2 {
33 assignments = <0 1>, "(*)"; /* Used by Kernel */
34 };
36 linkram-int-qm1 {
37 /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
38 assignments = <0x00000000 0x00004000>, "iu = (*)",
39 <0x00004000 0x00002000>, "(*)", /* Used by Kernel */
40 <0x00006000 0x00002000>, "iu = (*)";
41 };
42 linkram-int-qm2 {
43 /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
44 assignments = <0x00000000 0x00004000>, "iu = (*)",
45 <0x00004000 0x00002000>, "(*)", /* Used by Kernel */
46 <0x00006000 0x00002000>, "iu = (*)";
47 };
48 linkram-ext-qm1 {
49 /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
50 assignments = <0x00008000 0x00010000>, "iu = (*)";
51 };
52 linkram-ext-qm2 {
53 /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
54 assignments = <0x00008000 0x00010000>, "iu = (*)";
55 };
57 memory-regions-qm1 {
58 assignments = <0 12>, "iu = (*)",
59 <12 3>, "(*)", /* Used by Kernel */
60 <15 49>, "iu = (*)";
61 };
62 memory-regions-qm2 {
63 assignments = <0 12>, "iu = (*)",
64 <12 3>, "(*)", /* Used by Kernel */
65 <15 49>, "iu = (*)";
66 };
68 LOW_PRIORITY_QUEUE-qm1 {
69 /* this is loosely coupled with accumulator-ch channels 32-47. These queues are
70 * just suggested to be paired with these channels, the accumulator can be sw
71 * configured to use any queue */
72 assignments = <0 128>, "iu = (*)", /* suggested for channels 32-35 */
73 <128 128>, " (*)", /* used by linux (accumulator-low-#); linux pairs these to channels 36-39 */
74 <256 256>, "iu = (*)"; /* suggested for channels 40-47 */
75 };
76 AIF_QUEUE-qm1 {
77 assignments = <512 128>, "iu = (*)";
78 };
79 PASS_QUEUE-qm1 {
80 assignments = <640 9>, "iu = (*)"; /* used by both kernel and DSP */
81 };
82 INTC_QUEUE-qm1 {
83 assignments = <652 6>, "iu = (*)";
84 };
85 INTC_SET2_QUEUE-qm1 {
86 assignments = <658 8>, "(*)"; /* potentially used by kernel */
87 };
88 INTC_SET3_QUEUE-qm1 {
89 assignments = <666 6>, "iu = (*)";
90 };
91 SRIO_QUEUE-qm1 {
92 assignments = <672 16>, "iu = (*)";
93 };
94 FFTC_A_QUEUE-qm1 {
95 assignments = <688 4>, "iu = (*)";
96 };
97 FFTC_B_QUEUE-qm1 {
98 assignments = <692 4>, "iu = (*)";
99 };
100 HIGH_PRIORITY_QUEUE-qm1 {
101 /* this is loosely coupled with accumulator-ch channels 0-15. These queues are
102 * just suggested to be paired with these channels, the accumulator can be sw
103 * configured to use any queue */
104 assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
105 <720 8>, "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */
106 <728 8>, "iu = (*)"; /* suggested for channels 24-31 */
107 };
108 STARVATION_COUNTER_QUEUE-qm1 {
109 assignments = <736 64>, "iu = (*)";
110 };
111 INFRASTRUCTURE_QUEUE-qm1 {
112 assignments = <800 12>, "(*)", /* Used by Kernel */
113 <812 20>, "iu = (*)";
114 };
115 TRAFFIC_SHAPING_QUEUE-qm1 {
116 assignments = <832 32>, "iu = (*)";
117 };
118 BCP_QUEUE-qm1 {
119 assignments = <864 8>, "iu = (*)";
120 };
121 FFTC_C_QUEUE-qm1 {
122 assignments = <872 4>, "iu = (*)";
123 };
124 FFTC_D_QUEUE-qm1 {
125 assignments = <876 4>, "iu = (*)";
126 };
127 FFTC_E_QUEUE-qm1 {
128 assignments = <880 4>, "iu = (*)";
129 };
130 FFTC_F_QUEUE-qm1 {
131 assignments = <884 4>, "iu = (*)";
132 };
133 GENERAL_PURPOSE_QUEUE-qm1 {
134 assignments = <896 3104>, "iu = (*)",
135 <4000 64>, "(*)", /* Used by Kernel */
136 <4064 2336>, "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 };
150 LOW_PRIORITY_QUEUE-qm2 {
151 assignments = <8192 512>, "iu = (*)";
152 };
153 INTC_SET4_QUEUE-qm2 {
154 assignments = <8844 20>, "iu = (*)";
155 };
156 GIC400_QUEUE-qm2 {
157 assignments = <8704 32>, "(*)"; /* Used by Kernel */
158 };
159 EDMA_4_QUEUE-qm2 {
160 assignments = <8736 8>, "iu = (*)";
161 };
162 HLINK_BROADCAST_QUEUE-qm2 {
163 assignments = <8744 8>, "iu = (*)";
164 };
165 XGE_QUEUE-qm2 {
166 assignments = <8752 8>, "iu = (*)"; /* can be used by both dsp and kernel */
167 };
168 HLINK_0_QUEUE-qm2 {
169 assignments = <8796 16>, "iu = (*)";
170 };
171 DXB_QUEUE-qm2 {
172 assignments = <8836 8>, "iu = (*)";
173 };
174 HLINK_1_QUEUE-qm2 {
175 assignments = <8864 16>, "iu = (*)";
176 };
177 HIGH_PRIORITY_QUEUE-qm2 {
178 assignments = <8896 32>, "iu = (*)";
179 };
180 STARVATION_COUNTER_QUEUE-qm2 {
181 assignments = <8928 64>, "iu = (*)";
182 };
183 QM2_INFRASTRUCTURE_QUEUE-qm2 {
184 assignments = <8992 32>, "iu = (*)";
185 };
186 GENERAL_PURPOSE_QUEUE-qm2 {
187 assignments = <9024 7360>, "iu = (*)";
188 };
190 firmware-pdsp {
191 assignments = <0 1>, " (*)", /* pdsp0: accumulator 0 downloaded by linux */
192 <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
193 <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
194 <3 1>, " (*)", /* pdsp3: qostree downloaded by linux */
195 <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
196 <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
197 <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
198 <7 1>, " (*)"; /* pdsp7: qostree2 downloaded by linux */
199 };
200 accumulator0-ch { /* accumulator using first INTD */
201 assignments = <0 16>, "iu = (*)", /* high priority 0-15 available for everyone */
202 <16 8>, "iu = (*)", /* declared but not used by linux, subject to change */
203 <24 8>, "iu = (*)", /* last 8 high priority are used by event machine, available in non EM use case */
204 <32 4>, "iu = (*)", /* first 4 low priority are used by event machine, available in non EM use case */
205 <36 4>, " (*)", /* next 4 low priority are used by linux (accumulator-low-#) */
206 <40 8>, "iu = (*)"; /* available for all */
207 };
208 accumulator1-ch { /* accumulator using second INTD */
209 assignments = <0 48>, "iu = (*)"; /* linux doesn't use it */
210 };
211 }; /* qmss */
213 cppi {
214 srio-rx-ch {
215 assignments = <0 16>, "iu = (*)";
216 };
217 srio-tx-ch {
218 assignments = <0 16>, "iu = (*)";
219 };
220 srio-rx-flow-id {
221 assignments = <0 20>, "iu = (*)";
222 };
224 aif-rx-ch {
225 assignments = <0 129>, "iu = (*)";
226 };
227 aif-tx-ch {
228 assignments = <0 129>, "iu = (*)";
229 };
230 aif-rx-flow-id {
231 assignments = <0 129>, "iu = (*)";
232 };
234 fftc-a-rx-ch {
235 assignments = <0 4>, "iu = (*)";
236 };
237 fftc-a-tx-ch {
238 assignments = <0 4>, "iu = (*)";
239 };
240 fftc-a-rx-flow-id {
241 assignments = <0 8>, "iu = (*)";
242 };
244 fftc-b-rx-ch {
245 assignments = <0 4>, "iu = (*)";
246 };
247 fftc-b-tx-ch {
248 assignments = <0 4>, "iu = (*)";
249 };
250 fftc-b-rx-flow-id {
251 assignments = <0 8>, "iu = (*)";
252 };
254 fftc-c-rx-ch {
255 assignments = <0 4>, "iu = (*)";
256 };
257 fftc-c-tx-ch {
258 assignments = <0 4>, "iu = (*)";
259 };
260 fftc-c-rx-flow-id {
261 assignments = <0 8>, "iu = (*)";
262 };
264 fftc-d-rx-ch {
265 assignments = <0 4>, "iu = (*)";
266 };
267 fftc-d-tx-ch {
268 assignments = <0 4>, "iu = (*)";
269 };
270 fftc-d-rx-flow-id {
271 assignments = <0 8>, "iu = (*)";
272 };
274 fftc-e-rx-ch {
275 assignments = <0 4>, "iu = (*)";
276 };
277 fftc-e-tx-ch {
278 assignments = <0 4>, "iu = (*)";
279 };
280 fftc-e-rx-flow-id {
281 assignments = <0 8>, "iu = (*)";
282 };
284 fftc-f-rx-ch {
285 assignments = <0 4>, "iu = (*)";
286 };
287 fftc-f-tx-ch {
288 assignments = <0 4>, "iu = (*)";
289 };
290 fftc-f-rx-flow-id {
291 assignments = <0 8>, "iu = (*)";
292 };
294 pass-rx-ch {
295 assignments = <0 24>, " (*)"; /* initialized by kernel */
296 };
297 pass-tx-ch {
298 assignments = <0 7>, " (*)", /* initialized by kernel, can directly open queuse */
299 <7 1>, "iu = (*)", /* SA channel. Linux initializes, but some applications need to enable/disable on fly */
300 <8 1>, " (*)"; /* initialized by kernel, can directly open queuse */
301 };
302 pass-rx-flow-id {
303 assignments = <0 22>, "iu = (*)", /* available */
304 <22 5>, " (*)", /* used by kernel (netrx0, netrx1, netrx2, netrx3, crypto-rx0) */
305 <27 4>, "iu = (*)", /* available */
306 <31 1>, " (*)"; /* used by kernel (parx) */
307 };
309 qmss-qm1-rx-ch {
310 assignments = <0 12>, "(*)", /* Used by kernel */
311 <12 20>, "iu = (*)";
312 };
313 qmss-qm1-tx-ch {
314 assignments = <0 12>, "(*)", /* Used by kernel */
315 <12 20>, "iu = (*)";
316 };
317 qmss-qm1-rx-flow-id {
318 assignments = <0 12>, "(*)", /* Used by kernel */
319 <12 52>, "iu = (*)";
320 };
322 qmss-qm2-rx-ch {
323 assignments = <0 32>, "iu = (*)";
324 };
325 qmss-qm2-tx-ch {
326 assignments = <0 32>, "iu = (*)";
327 };
328 qmss-qm2-rx-flow-id {
329 assignments = <0 64>, "iu = (*)";
330 };
332 bcp-rx-ch {
333 assignments = <0 8>, "iu = (*)";
334 };
335 bcp-tx-ch {
336 assignments = <0 8>, "iu = (*)";
337 };
338 bcp-rx-flow-id {
339 assignments = <0 64>, "iu = (*)";
340 };
342 xge-rx-ch {
343 assignments = <0 16>, " (*)"; /* initialized by kernel */
344 };
345 xge-tx-ch {
346 assignments = <0 8>, " (*)"; /* initialized by kernel, directly open the queues */
347 };
348 xge-rx-flow-id {
349 assignments = <0 1>, " (*)", /* used by kernel (xgerx0) */
350 <1 7>, "iu = (*)", /* available */
351 <8 1>, " (*)", /* used by kernel (xgerx1) */
352 <9 23>, "iu = (*)"; /* available */
353 };
354 }; /* cppi */
356 pa {
357 pa-lut {
358 assignments = <0 5>, "iu = (*)";
359 };
360 pa-firmware {
361 assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
362 };
363 pa-32bUsrStats {
364 assignments = <64 320>, "iu = (*)",
365 <384 64>, " (*)"; /* used by linux */
366 };
367 pa-64bUsrStats {
368 assignments = <0 48>, "iu = (*)",
369 <48 16>, " (*)"; /* used by linux */
370 };
371 }; /* pa */
373 };