c824e72c435db3d69114f724952f4667b2d1d3dd
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 8>, "(*)"; /* potentially used by kernel */
84 };
85 INTC_SET3_QUEUE-qm1 {
86 assignments = <666 6>, "iu = (*)";
87 };
88 SRIO_QUEUE-qm1 {
89 assignments = <672 16>, "iu = (*)";
90 };
91 FFTC_A_QUEUE-qm1 {
92 assignments = <688 4>, "iu = (*)";
93 };
94 FFTC_B_QUEUE-qm1 {
95 assignments = <692 4>, "iu = (*)";
96 };
97 HIGH_PRIORITY_QUEUE-qm1 {
98 /* this is loosely coupled with accumulator-ch channels 0-15. These queues are
99 * just suggested to be paired with these channels, the accumulator can be sw
100 * configured to use any queue */
101 assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
102 <720 8>, "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */
103 <728 8>, "iu = (*)"; /* suggested for channels 24-31 */
104 };
105 STARVATION_COUNTER_QUEUE-qm1 {
106 assignments = <736 64>, "iu = (*)";
107 };
108 INFRASTRUCTURE_QUEUE-qm1 {
109 assignments = <800 16>, "(*)", /* Used by Kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
110 <816 16>, "iu = (*)";
111 };
112 TRAFFIC_SHAPING_QUEUE-qm1 {
113 assignments = <832 32>, "iu = (*)";
114 };
115 BCP_QUEUE-qm1 {
116 assignments = <864 8>, "iu = (*)";
117 };
118 FFTC_C_QUEUE-qm1 {
119 assignments = <872 4>, "iu = (*)";
120 };
121 FFTC_D_QUEUE-qm1 {
122 assignments = <876 4>, "iu = (*)";
123 };
124 FFTC_E_QUEUE-qm1 {
125 assignments = <880 4>, "iu = (*)";
126 };
127 FFTC_F_QUEUE-qm1 {
128 assignments = <884 4>, "iu = (*)";
129 };
130 GENERAL_PURPOSE_QUEUE-qm1 {
131 assignments = <896 3104>, "iu = (*)",
132 <4000 64>, "(*)", /* Used by Kernel */
133 <4064 2336>, "iu = (*)",
135 /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
136 <6400 72>, "u = (*)", /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
137 <6472 6>, "(*)", /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
138 <6478 114>, "(*)", /* unconfigured QoS/Linux queues (qos-inputs-2) */
140 <6592 1408>, "iu = (*)",
142 /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
143 <8000 72>, "u = (*)", /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
144 <8072 6>, "(*)", /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
145 <8078 114>, "(*)"; /* unconfigured QoS/Linux queues (qos-inputs-1) */
146 };
147 LOW_PRIORITY_QUEUE-qm2 {
148 assignments = <8192 512>, "iu = (*)";
149 };
150 INTC_SET4_QUEUE-qm2 {
151 assignments = <8844 20>, "iu = (*)";
152 };
153 GIC400_QUEUE-qm2 {
154 assignments = <8704 24>, "iu = (RM_Client_NETAPI)", /* Used by Kernel */
155 <8728 8>, "iu = (*)";
156 };
157 EDMA_4_QUEUE-qm2 {
158 assignments = <8736 8>, "iu = (*)";
159 };
160 HLINK_BROADCAST_QUEUE-qm2 {
161 assignments = <8744 8>, "iu = (*)";
162 };
163 XGE_QUEUE-qm2 {
164 assignments = <8752 8>, "iu = (*)"; /* can be used by both dsp and kernel */
165 };
166 HLINK_0_QUEUE-qm2 {
167 assignments = <8796 16>, "iu = (*)";
168 };
169 DXB_QUEUE-qm2 {
170 assignments = <8836 8>, "iu = (*)";
171 };
172 HLINK_1_QUEUE-qm2 {
173 assignments = <8864 16>, "iu = (*)";
174 };
175 HIGH_PRIORITY_QUEUE-qm2 {
176 assignments = <8896 32>, "iu = (*)";
177 };
178 STARVATION_COUNTER_QUEUE-qm2 {
179 assignments = <8928 64>, "iu = (*)";
180 };
181 QM2_INFRASTRUCTURE_QUEUE-qm2 {
182 assignments = <8992 32>, "iu = (*)";
183 };
184 GENERAL_PURPOSE_QUEUE-qm2 {
185 assignments = <9024 7360>, "iu = (*)";
186 };
188 firmware-pdsp {
189 assignments = <0 1>, " (*)", /* pdsp0: accumulator 0 downloaded by linux */
190 <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
191 <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
192 <3 1>, " (*)", /* pdsp3: qostree downloaded by linux */
193 <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
194 <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
195 <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
196 <7 1>, " (*)"; /* pdsp7: qostree2 downloaded by linux */
197 };
198 accumulator0-ch { /* accumulator using first INTD */
199 assignments = <0 16>, "iu = (*)", /* high priority 0-15 available for everyone */
200 <16 8>, "iu = (*)", /* declared but not used by linux, subject to change */
201 <24 8>, "iu = (*)", /* last 8 high priority are used by event machine, available in non EM use case */
202 <32 4>, "iu = (*)", /* first 4 low priority are used by event machine, available in non EM use case */
203 <36 4>, " (*)", /* next 4 low priority are used by linux (accumulator-low-#) */
204 <40 8>, "iu = (*)"; /* available for all */
205 };
206 accumulator1-ch { /* accumulator using second INTD */
207 assignments = <0 48>, "iu = (*)"; /* linux doesn't use it */
208 };
209 }; /* qmss */
211 cppi {
212 srio-rx-ch {
213 assignments = <0 16>, "iu = (*)";
214 };
215 srio-tx-ch {
216 assignments = <0 16>, "iu = (*)";
217 };
218 srio-rx-flow-id {
219 assignments = <0 20>, "iu = (*)";
220 };
222 aif-rx-ch {
223 assignments = <0 129>, "iu = (*)";
224 };
225 aif-tx-ch {
226 assignments = <0 129>, "iu = (*)";
227 };
228 aif-rx-flow-id {
229 assignments = <0 129>, "iu = (*)";
230 };
232 fftc-a-rx-ch {
233 assignments = <0 4>, "iu = (*)";
234 };
235 fftc-a-tx-ch {
236 assignments = <0 4>, "iu = (*)";
237 };
238 fftc-a-rx-flow-id {
239 assignments = <0 8>, "iu = (*)";
240 };
242 fftc-b-rx-ch {
243 assignments = <0 4>, "iu = (*)";
244 };
245 fftc-b-tx-ch {
246 assignments = <0 4>, "iu = (*)";
247 };
248 fftc-b-rx-flow-id {
249 assignments = <0 8>, "iu = (*)";
250 };
252 fftc-c-rx-ch {
253 assignments = <0 4>, "iu = (*)";
254 };
255 fftc-c-tx-ch {
256 assignments = <0 4>, "iu = (*)";
257 };
258 fftc-c-rx-flow-id {
259 assignments = <0 8>, "iu = (*)";
260 };
262 fftc-d-rx-ch {
263 assignments = <0 4>, "iu = (*)";
264 };
265 fftc-d-tx-ch {
266 assignments = <0 4>, "iu = (*)";
267 };
268 fftc-d-rx-flow-id {
269 assignments = <0 8>, "iu = (*)";
270 };
272 fftc-e-rx-ch {
273 assignments = <0 4>, "iu = (*)";
274 };
275 fftc-e-tx-ch {
276 assignments = <0 4>, "iu = (*)";
277 };
278 fftc-e-rx-flow-id {
279 assignments = <0 8>, "iu = (*)";
280 };
282 fftc-f-rx-ch {
283 assignments = <0 4>, "iu = (*)";
284 };
285 fftc-f-tx-ch {
286 assignments = <0 4>, "iu = (*)";
287 };
288 fftc-f-rx-flow-id {
289 assignments = <0 8>, "iu = (*)";
290 };
292 pass-rx-ch {
293 assignments = <0 24>, " (*)"; /* initialized by kernel */
294 };
295 pass-tx-ch {
296 assignments = <0 7>, " (*)", /* initialized by kernel, can directly open queuse */
297 <7 1>, "iu = (*)", /* SA channel. Linux initializes, but some applications need to enable/disable on fly */
298 <8 1>, " (*)"; /* initialized by kernel, can directly open queuse */
299 };
300 pass-rx-flow-id {
301 assignments = <0 22>, "iu = (*)", /* available */
302 <22 5>, " (*)", /* used by kernel (netrx0, netrx1, netrx2, netrx3, crypto-rx0) */
303 <27 4>, "iu = (*)", /* available */
304 <31 1>, " (*)"; /* used by kernel (parx) */
305 };
307 qmss-qm1-rx-ch {
308 assignments = <0 16>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
309 <16 16>, "iu = (*)";
310 };
311 qmss-qm1-tx-ch {
312 assignments = <0 16>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
313 <16 16>, "iu = (*)";
314 };
315 qmss-qm1-rx-flow-id {
316 assignments = <0 16>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
317 <16 48>, "iu = (*)";
318 };
320 qmss-qm2-rx-ch {
321 assignments = <0 32>, "iu = (*)";
322 };
323 qmss-qm2-tx-ch {
324 assignments = <0 32>, "iu = (*)";
325 };
326 qmss-qm2-rx-flow-id {
327 assignments = <0 64>, "iu = (*)";
328 };
330 bcp-rx-ch {
331 assignments = <0 8>, "iu = (*)";
332 };
333 bcp-tx-ch {
334 assignments = <0 8>, "iu = (*)";
335 };
336 bcp-rx-flow-id {
337 assignments = <0 64>, "iu = (*)";
338 };
340 xge-rx-ch {
341 assignments = <0 16>, " (*)"; /* initialized by kernel */
342 };
343 xge-tx-ch {
344 assignments = <0 8>, " (*)"; /* initialized by kernel, directly open the queues */
345 };
346 xge-rx-flow-id {
347 assignments = <0 1>, " (*)", /* used by kernel (xgerx0) */
348 <1 7>, "iu = (*)", /* available */
349 <8 1>, " (*)", /* used by kernel (xgerx1) */
350 <9 23>, "iu = (*)"; /* available */
351 };
352 }; /* cppi */
354 pa {
355 pa-lut {
356 assignments = <0 5>, "iu = (*)";
357 };
358 pa-firmware {
359 assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
360 };
361 pa-32bUsrStats {
362 assignments = <0 512>, "iu = (*)";
363 };
364 pa-64bUsrStats {
365 assignments = <0 256>, "iu = (*)";
366 };
367 }; /* pa */
369 };