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