]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blob - device/k2k/policy_dsp_arm.dts
Merge branch 'releases/mcsdk_03.01.00.00'
[keystone-rtos/rm-lld.git] / device / k2k / 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         
20     qmss {
21         control-qm1 {
22             assignments = <0 1>, "iu = (*)";
23         };
24         control-qm2 {
25             assignments = <0 1>, "iu = (*)";
26         };
27         
28         linkram-control-qm1 {
29             assignments = <0 1>, "(*)";             /* Used by Kernel */
30         };
31         linkram-control-qm2 {
32             assignments = <0 1>, "(*)";             /* Used by Kernel */
33         };
34         
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         };  
47         
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         }; 
180         
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         };         
284         
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 5>, "     (*)", /* used by kernel (netrx0, netrx1, netrx2, netrx3, crypto-rx0) */
296                           <27 4>, "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 */
363     
364 };