NOTICE OF RELOCATION
[keystone-rtos/rm-lld.git] / device / k2h / policy_dsp_arm.dts
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";
20         
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         };
29         
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         };      
53         
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         }; 
193         
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         };         
321         
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 };