Restrict access to all netcp-rx/tx channels to Linux only for K2L and K2E
[keystone-rtos/rm-lld.git] / device / k2l / 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         
25         linkram-control-qm1 {
26             assignments = <0 1>, "(*)";             /* Used by Kernel */
27         };
28         
29         linkram-int-qm1 {
30             /* linux provided 0x14000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
31             assignments = <0x00000000 0x00004000>, "iu = (*)";
32         };
33         linkram-ext-qm1 {
34             /* linux provided 0x14000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
35             assignments = <0x00004000 0x00002000>, "(*)", /* used by Kernel */
36                           <0x00006000 0x0000E000>, "iu = (*)";
37         };
38         
39         memory-regions-qm1 {
40             assignments = <0  12>, "iu = (*)",
41                           <12 3>,  "(*)",             /* Used by Kernel */
42                           <15 49>, "iu = (*)";
43         };
45         LOW_PRIORITY_QUEUE-qm1 {
46             /* this is loosely coupled with accumulator-ch channels 32-47.  These queues are
47              * just suggested to be paired with these channels, the accumulator can be sw
48              * configured to use any queue */
49             assignments = <0 128>,   "iu = (*)", /* suggested for channels 32-35 */
50                           <128 128>, "     (*)", /* used by linux (accumulator-low-#); linux pairs these to channels 36-39 */
51                           <256 256>, "iu = (*)"; /* suggested for channels 40-47 */
52         };
53         GIC400_QUEUE-qm1 {
54             assignments = <528 32>,   "(*)";             /* Used by Kernel */
55         };
56         EDMA_0_QUEUE-qm1 {
57             assignments = <560 6>, "iu = (*)";
58         };
59         INTC_QUEUE-qm1 {
60             assignments = <570 18>, "iu = (*)";           /* Used by Kernel and DSP */
61         }; 
62         INTC_EDMA_SET0_QUEUE-qm1 {
63             assignments = <589 2>,  "iu = (*)";
64         }; 
65         INTC_EDMA_SET1_QUEUE-qm1 {
66             assignments = <591 8>,  "iu = (*)";
67         }; 
68         INTC_SET5_QUEUE-qm1 {
69             assignments = <599 4>,  "iu = (*)";
70         }; 
71         INTC_EDMA_SET2_QUEUE-qm1 {
72             assignments = <603 2>,  "iu = (*)";
73         }; 
74         INTC_SET2_QUEUE-qm1 {
75             assignments = <605 32>, "iu = (*)";
76         }; 
77         SOC_SET0_QUEUE-qm1 {
78             assignments = <637 15>, "iu = (*)";
79         };
80         INTC_SET3_QUEUE-qm1 {
81             assignments = <652 6>,  "iu = (*)";
82         }; 
83         SOC_SET1_QUEUE-qm1 {
84             assignments = <658 8>,  "     (*)"; /* used by linux */
85         };
86         INTC_SET4_QUEUE-qm1 {
87             assignments = <666 22>, "iu = (*)";
88         }; 
89         FFTC_A_QUEUE-qm1 {
90             assignments = <688 4>, "iu = (*)";
91         }; 
92         FFTC_B_QUEUE-qm1 {
93             assignments = <692 4>, "iu = (*)";
94         }; 
95         BCP_QUEUE-qm1 {
96             assignments = <696 8>, "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  8>,   "(*)",             /* Used by Kernel */
111                           <808  24>,   "iu = (*)";
112         }; 
113         IQNET_QUEUE-qm1 {
114             assignments = <832 48>, "iu = (*)";
115         };
116         PASS_QUEUE-qm1 {
117             assignments = <896 21>, "iu = (*)";       /* used by both kernel and DSP */
118         };
119         GENERAL_PURPOSE_QUEUE-qm1 {
120             assignments = <1024 2976>,  "iu = (*)",
121                           <4000 64>,    "(*)",       /* Used by Kernel */
122                           <4064 2336>,  "iu = (*)",
124                           /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
125                           <6400 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
126                           <6472 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
127                           <6478 114>,   "(*)",       /* unconfigured QoS/Linux queues (qos-inputs-2) */
129                           <6592 1408>,  "iu = (*)",
131                           /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
132                           <8000 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
133                           <8072 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
134                           <8078 114>,   "(*)";       /* unconfigured QoS/Linux queues (qos-inputs-1) */
135         };    
136         
137         firmware-pdsp {
138             assignments = <0 1>, "     (*)", /* pdsp0: accumulator 0 downloaded by linux */
139                           <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
140                           <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
141                           <3 1>, "     (*)", /* pdsp3: qostree downloaded by linux */
142                           <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
143                           <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
144                           <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
145                           <7 1>, "     (*)"; /* pdsp7: qostree2 downloaded by linux */
146         };        
147         accumulator0-ch { /* accumulator using first INTD */
148             assignments = <0 16>, "iu = (*)",    /* high priority 0-15 available for everyone */      
149                           <16 8>, "iu = (*)",    /* declared but not used by linux, subject to change */
150                           <24 8>, "iu = (*)",    /* last 8 high priority are used by event machine, available in non EM use case */
151                           <32 4>, "iu = (*)",    /* first 4 low priority are used by event machine, available in non EM use case */
152                           <36 4>, "     (*)",    /* next 4 low priority are used by linux (accumulator-low-#) */
153                           <40 8>, "iu = (*)";    /* available for all */
154         };             
155         accumulator1-ch { /* accumulator using second INTD */
156             assignments = <0 48>, "iu = (*)";    /* linux doesn't use it */
157         };             
159         netss-control-qm1 {
160             assignments = <0 1>, "iu = (*)";
161         };
162         netss-linkram-control-qm1 {
163             assignments = <0 1>, "iu = (*)";
164         };
165         netss-linkram-qm1 {
166             assignments = <0x00000000 0x00004000>, "iu = (*)";
167         };
168         netss-memory-regions-qm1 {
169             assignments = <0 16>, "iu = (*)";
170         };
172         netss-control-qm2 {
173             assignments = <0 1>, "iu = (*)";
174         };
175         netss-linkram-control-qm2 {
176             assignments = <0 1>, "iu = (*)";
177         };
178         netss-linkram-qm2 {
179             assignments = <0x00000000 0x00004000>, "iu = (*)";
180         };
181         netss-memory-regions-qm2 {
182             assignments = <0 16>, "iu = (*)";
183         };
185         NETSS_PASS_QUEUE-qm1 {
186             assignments = <0 21>, "iu = (*)";
187         };
188         NETSS_GENERAL_PURPOSE_QUEUE-qm1 {
189             assignments = <21 43>, "iu = (*)";
190         };
191         NETSS_GENERAL_PURPOSE_QUEUE-qm2 {
192             assignments = <0 64>, "iu = (*)";
193         };
194     }; /* qmss */
196     cppi {
197         fftc-a-rx-ch {
198             assignments = <0 4>, "iu = (*)";
199         };
200         fftc-a-tx-ch {
201             assignments = <0 4>, "iu = (*)";
202         };
203         fftc-a-rx-flow-id {
204             assignments = <0 8>, "iu = (*)";
205         };   
207         fftc-b-rx-ch {
208             assignments = <0 4>, "iu = (*)";
209         };
210         fftc-b-tx-ch {
211             assignments = <0 4>, "iu = (*)";
212         };
213         fftc-b-rx-flow-id {
214             assignments = <0 8>, "iu = (*)";
215         };   
217         netcp-rx-ch {
218             assignments = <0 91>, "     (*)"; /* initialized by kernel */
219         };
220         netcp-tx-ch {
221             assignments = <0 21>, "     (*)"; /* initialized by kernel */
222         };
223         netcp-rx-flow-id {
224             assignments = <0  1>, "(*)",  /* Used by kernel - netrx0 */
225                           <1  7>, "iu = (*)",
226                           <8  1>, "(*)",  /* Used by kernel - netrx1 */
227                           <9 21>, "iu = (*)",
228                           <31 1>, "(*)";  /* Used by kernel - parx */
229         };   
231         qmss-qm1-rx-ch {
232             assignments = <0   8>, "(*)",   /* Used by kernel */
233                           <8  24>, "iu = (*)";
234         };
235         qmss-qm1-tx-ch {
236             assignments = <0   8>, "(*)", /* Used by kernel */
237                           <8  24>, "iu = (*)";
238         };
239         qmss-qm1-rx-flow-id {
240             assignments = <0   8>, "(*)",    /* Used by kernel */
241                           <8  56>, "iu = (*)";
242         };   
244         bcp-rx-ch {
245             assignments = <0 8>, "iu = (*)";
246         };
247         bcp-tx-ch {
248             assignments = <0 8>, "iu = (*)";
249         };
250         bcp-rx-flow-id {
251             assignments = <0 64>, "iu = (*)";
252         };           
253         
254         netcp-local-rx-ch {
255             assignments = <0 91>, "iu = (*)";
256         };
257         netcp-local-tx-ch {
258             assignments = <0 21>, "iu = (*)";
259         };
260         netcp-local-rx-flow-id {
261             assignments = <0 32>, "iu = (*)";
262         };           
264         iqn-rx-ch {
265             assignments = <0 47>, "iu = (*)";
266         };
267         iqn-tx-ch {
268             assignments = <0 47>, "iu = (*)";
269         };
270         iqn-rx-flow-id {
271             assignments = <0 47>, "iu = (*)";
272         };           
273     }; /* cppi */
275     pa {
276         pa-lut { 
277             assignments = <0 8>, "iu = (*)";
278         };
279         pa-firmware {
280             assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
281         };
282         pa-32bUsrStats {
283             assignments = <64 320>, "iu = (*)",
284                           <384 64>, "     (*)"; /* used by linux */
285         };
286         pa-64bUsrStats {
287             assignments = <0 48>,  "iu = (*)",
288                           <48 16>, "     (*)"; /* used by linux */
289         };
290     }; /* pa */
291 };