]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blob - device/k2e/policy_dsp_arm.dts
Synced K2E and K2L DSP+ARM policy file with latest kernel
[keystone-rtos/rm-lld.git] / device / k2e / 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         control-qm1 {
23             assignments = <0 1>, "iu = (*)";
24         };
25         
26         linkram-control-qm1 {
27             assignments = <0 1>, "(*)";             /* Used by Kernel */
28         };
29         
30         linkram-int-qm1 {
31             assignments = <0x00000000 0x00004000>, "iu = (*)";
32         };
33         linkram-ext-qm1 {
34             /* linux provided 0x14000 descriptors of linking RAM but uses 0x4000 to 0x9000 */
35             assignments = <0x00004000 0x00005000>, "(*)", /* used by Kernel */
36                           <0x00009000 0x0000B000>, "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>,   "iu = (RM_Client_NETAPI)";             /* Used by Kernel */
55         };
56         EDMA_0_QUEUE-qm1 {
57             assignments = <560 10>, "iu = (*)";
58         };
59         EDMA_1_QUEUE-qm1 {
60             assignments = <570 11>, "iu = (*)";
61         };
62         EDMA_2_QUEUE-qm1 {
63             assignments = <581 8>, "iu = (*)";
64         };
65         EDMA_3_QUEUE-qm1 {
66             assignments = <589 16>, "iu = (*)";
67         };
68         EDMA_4_QUEUE-qm1 {
69             assignments = <605 8>, "iu = (*)";
70         };
71         INTC_QUEUE-qm1 {
72             assignments = <652 6>, "iu = (*)";             /* Used by Kernel and DSP */
73         }; 
74         SOC_SET0_QUEUE-qm1 {
75             assignments = <658 4>, "     (*)", /* potentially used by kernel */
76                           <662 4>, "iu = (*)"; /* available for user mode lld and dsp */
77         };
78         INTC_SET2_QUEUE-qm1 {
79             assignments = <666 26>, "iu = (*)";
80         }; 
81         XGE_QUEUE-qm1 { 
82             assignments = <692 8>, "iu = (*)";            /* Used by Kernel and DSP */
83         };
84         HIGH_PRIORITY_QUEUE-qm1 {
85             /* this is loosely coupled with accumulator-ch channels 0-15.  These queues are
86              * just suggested to be paired with these channels, the accumulator can be sw
87              * configured to use any queue */
88             assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
89                           <720 8>,  "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */ 
90                           <728 8>,  "iu = (*)"; /* suggested for channels 24-31 */
91         };       
92         STARVATION_COUNTER_QUEUE-qm1 {
93             assignments = <736 64>, "iu = (*)";
94         };  
95         INFRASTRUCTURE_QUEUE-qm1 {
96             assignments = <800  9>,   "(*)",          /* Used by Kernel - 8 (data channel usage irrespective of device) +  1 (channel per DSP core) */
97                           <809 23>,   "iu = (*)";
98         }; 
99         PASS_QUEUE-qm1 {
100             assignments = <896 21>, "iu = (*)";       /* used by both kernel and DSP */
101         };
102         GENERAL_PURPOSE_QUEUE-qm1 {
103             assignments = <1024 2976>,  "iu = (*)",
104                           <4000 64>,    "(*)",       /* Used by Kernel */
105                           <4064 31>,    "iu = (*)",
106                           <4095 1>,     "iue = (*)",   /* Queues ending in 0xfff can't be used as return queue (hw reserved) */
107                           <4096 2304>,  "iu = (*)",
109                           /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
110                           <6400 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
111                           <6472 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
112                           <6478 114>,   "(*)",       /* unconfigured QoS/Linux queues (qos-inputs-2) */
114                           <6592 1408>,  "iu = (*)",
116                           /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
117                           <8000 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
118                           <8072 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
119                           <8078 114>,   "(*)";       /* unconfigured QoS/Linux queues (qos-inputs-1) */
120                                                      /* note for q 8191: Queues ending in 0xfff can't be used as return queue (hw reserved) */
121         };    
122         
123         firmware-pdsp {
124             assignments = <0 1>, "     (*)", /* pdsp0: accumulator 0 downloaded by linux */
125                           <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
126                           <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
127                           <3 1>, "     (*)", /* pdsp3: qostree downloaded by linux */
128                           <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
129                           <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
130                           <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
131                           <7 1>, "     (*)"; /* pdsp7: qostree2 downloaded by linux */
132         };        
133         accumulator0-ch { /* accumulator using first INTD */
134             assignments = <0 16>, "iu = (*)",    /* high priority 0-15 available for everyone */      
135                           <16 8>, "iu = (*)",    /* declared but not used by linux, subject to change */
136                           <24 8>, "iu = (*)",    /* last 8 high priority are used by event machine, available in non EM use case */
137                           <32 4>, "iu = (*)",    /* first 4 low priority are used by event machine, available in non EM use case */
138                           <36 4>, "     (*)",    /* next 4 low priority are used by linux (accumulator-low-#) */
139                           <40 8>, "iu = (*)";    /* available for all */
140         };             
141         accumulator1-ch { /* accumulator using second INTD */
142             assignments = <0 48>, "iu = (*)";    /* linux doesn't use it */
143         };             
145         netss-control-qm1 {
146             assignments = <0 1>, "iu = (*)";
147         };
148         netss-linkram-control-qm1 {
149             assignments = <0 1>, "iu = (*)";
150         };
151         netss-linkram-qm1 {
152             assignments = <0x00000000 0x00004000>, "iu = (*)";
153         };
154         netss-memory-regions-qm1 {
155             assignments = <0 16>, "iu = (*)";
156         };
158         netss-control-qm2 {
159             assignments = <0 1>, "iu = (*)";
160         };
161         netss-linkram-control-qm2 {
162             assignments = <0 1>, "iu = (*)";
163         };
164         netss-linkram-qm2 {
165             assignments = <0x00000000 0x00004000>, "iu = (*)";
166         };
167         netss-memory-regions-qm2 {
168             assignments = <0 16>, "iu = (*)";
169         };
171         NETSS_PASS_QUEUE-qm1 {
172             assignments = <0 21>, "iu = (*)";
173         };
174         NETSS_GENERAL_PURPOSE_QUEUE-qm1 {
175             assignments = <21 43>, "iu = (*)";
176         };
177         NETSS_GENERAL_PURPOSE_QUEUE-qm2 {
178             assignments = <0 64>, "iu = (*)";
179         };
180     }; /* qmss */
182     cppi {
183         netcp-hw-open {
184             assignments = <0 1>, "iu = (*)";
185         };
186         netcp-rx-ch {
187             assignments = <0 91>, "     (*)"; /* initialized by kernel */
188         };
189         netcp-tx-ch {
190             assignments = <0  19>, "     (*)", /* initialized by kernel, can directly open queuse */
191                           <19  1>, "iu = (*)", /* SA channel.  Linux initializes, but some applications need to enable/disable on fly */
192                           <20  1>, "     (*)"; /* initialized by kernel, can directly open queuse */
193         };
194         netcp-rx-flow-id {
195             assignments = <0  22>, "iu = (*)", /* available */
196                           <22 10>, "     (*)"; /* used by kernel (netrx0-7, crypto-rx0, parx) */
197         };   
199         qmss-qm1-hw-open {
200             assignments = <0 1>, "iu = (*)";
201         };
202         qmss-qm1-rx-ch {
203             assignments = <0   9>, "(*)",    /* Used by kernel - 8 (data channel usage irrespective of device) +  1 (channel per DSP core) */
204                           <9  23>, "iu = (*)";
205         };
206         qmss-qm1-tx-ch {
207             assignments = <0   9>, "(*)",    /* Used by kernel - 8 (data channel usage irrespective of device) +  1 (channel per DSP core) */
208                           <9  23>, "iu = (*)";
209         };
210         qmss-qm1-rx-flow-id {
211             assignments = <0   9>, "(*)",    /* Used by kernel - 8 (data channel usage irrespective of device) +  1 (channel per DSP core) */
212                           <9  55>, "iu = (*)";
213         };   
215         netcp-local-hw-open {
216             assignments = <0 1>, "iu = (*)";
217         };
218         netcp-local-rx-ch {
219             assignments = <0 91>, "iu = (*)";
220         };
221         netcp-local-tx-ch {
222             assignments = <0 21>, "iu = (*)";
223         };
224         netcp-local-rx-flow-id {
225             assignments = <0 32>, "iu = (*)";
226         };           
228         xge-hw-open {
229             assignments = <0 1>, "iu = (*)";
230         };
231         xge-rx-ch {
232             assignments = <0 16>, "    (*)"; /* initialized by kernel */
233         };
234         xge-tx-ch {
235             assignments = <0 8>, "     (*)"; /* initialized by kernel, directly open the queues */
236         };
237         xge-rx-flow-id {
238             assignments = <0 1>,  "     (*)", /* used by kernel (xgerx0) */
239                           <1 7>,  "iu = (*)", /* available */
240                           <8 1>,  "     (*)", /* used by kernel (xgerx1) */
241                           <9 23>, "iu = (*)"; /* available */
242         };           
243     }; /* cppi */
245     pa {
246         pa-lut { 
247             assignments = <0 8>, "iu = (*)";
248         };
249         pa-firmware {
250             assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
251         };
252         pa-32bUsrStats {
253             assignments = <0 512>, "iu = (*)";
254         };
255         pa-64bUsrStats {
256             assignments = <0 256>, "iu = (*)";
257         };
258     }; /* pa */
259 };