]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blob - device/k2l/policy_dsp_arm.dts
Fixed INTC-QUEUE permissions so that they're shared between Linux and DSP
[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-qm1 {
30             /* linux provided 0x18000 descriptors of linking RAM but uses 0x4000 to 0x6000 */
31             assignments = <0x00000000 0x00004000>, "iu = (*)",
32                           <0x00004000 0x00002000>, "(*)", /* Used by Kernel */
33                           <0x00006000 0x00012000>, "iu = (*)";
34         };
35         
36         memory-regions-qm1 {
37             assignments = <0  12>, "iu = (*)",
38                           <12 3>,  "(*)",             /* Used by Kernel */
39                           <15 49>, "iu = (*)";
40         };
42         LOW_PRIORITY_QUEUE-qm1 {
43             /* this is loosely coupled with accumulator-ch channels 32-47.  These queues are
44              * just suggested to be paired with these channels, the accumulator can be sw
45              * configured to use any queue */
46             assignments = <0 128>,   "iu = (*)", /* suggested for channels 32-35 */
47                           <128 128>, "     (*)", /* used by linux (accumulator-low-#); linux pairs these to channels 36-39 */
48                           <256 256>, "iu = (*)"; /* suggested for channels 40-47 */
49         };
50         GIC400_QUEUE-qm1 {
51             assignments = <528 32>,   "(*)";             /* Used by Kernel */
52         };
53         EDMA_0_QUEUE-qm1 {
54             assignments = <560 6>, "iu = (*)";
55         };
56         INTC_QUEUE-qm1 {
57             assignments = <570 18>, "iu = (*)";           /* Used by Kernel and DSP */
58         }; 
59         FFTC_A_QUEUE-qm1 {
60             assignments = <688 4>, "iu = (*)";
61         }; 
62         FFTC_B_QUEUE-qm1 {
63             assignments = <692 4>, "iu = (*)";
64         }; 
65         BCP_QUEUE-qm1 {
66             assignments = <696 8>, "iu = (*)";
67         };         
68         HIGH_PRIORITY_QUEUE-qm1 {
69             /* this is loosely coupled with accumulator-ch channels 0-15.  These queues are
70              * just suggested to be paired with these channels, the accumulator can be sw
71              * configured to use any queue */
72             assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
73                           <720 8>,  "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */ 
74                           <728 8>,  "iu = (*)"; /* suggested for channels 24-31 */
75         };       
76         STARVATION_COUNTER_QUEUE-qm1 {
77             assignments = <736 64>, "iu = (*)";
78         };  
79         INFRASTRUCTURE_QUEUE-qm1 {
80             assignments = <800  12>,   "(*)",             /* Used by Kernel */
81                           <812  20>,   "iu = (*)";
82         }; 
83         IQNET_QUEUE-qm1 {
84             assignments = <832 48>, "iu = (*)";
85         };
86         PASS_QUEUE-qm1 {
87             assignments = <896 128>, "iu = (*)";       /* used by both kernel and DSP */
88         };
89         GENERAL_PURPOSE_QUEUE-qm1 {
90             assignments = <1024 2976>,  "iu = (*)",
91                           <4000 64>,    "(*)",       /* Used by Kernel */
92                           <4064 2336>,  "iu = (*)",
94                           /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
95                           <6400 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
96                           <6472 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
97                           <6478 114>,   "(*)",       /* unconfigured QoS/Linux queues (qos-inputs-2) */
99                           <6592 1408>,  "iu = (*)",
101                           /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
102                           <8000 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
103                           <8072 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
104                           <8078 114>,   "(*)";       /* unconfigured QoS/Linux queues (qos-inputs-1) */
105         };    
106         
107         firmware-pdsp {
108             assignments = <0 1>, "     (*)", /* pdsp0: accumulator 0 downloaded by linux */
109                           <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
110                           <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
111                           <3 1>, "     (*)", /* pdsp3: qostree downloaded by linux */
112                           <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
113                           <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
114                           <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
115                           <7 1>, "     (*)"; /* pdsp7: qostree2 downloaded by linux */
116         };        
117         accumulator0-ch { /* accumulator using first INTD */
118             assignments = <0 16>, "iu = (*)",    /* high priority 0-15 available for everyone */      
119                           <16 8>, "iu = (*)",    /* declared but not used by linux, subject to change */
120                           <24 8>, "iu = (*)",    /* last 8 high priority are used by event machine, available in non EM use case */
121                           <32 4>, "iu = (*)",    /* first 4 low priority are used by event machine, available in non EM use case */
122                           <36 4>, "     (*)",    /* next 4 low priority are used by linux (accumulator-low-#) */
123                           <40 8>, "iu = (*)";    /* available for all */
124         };             
125         accumulator1-ch { /* accumulator using second INTD */
126             assignments = <0 48>, "iu = (*)";    /* linux doesn't use it */
127         };             
128     }; /* qmss */
130     cppi {
131         fftc-a-rx-ch {
132             assignments = <0 4>, "iu = (*)";
133         };
134         fftc-a-tx-ch {
135             assignments = <0 4>, "iu = (*)";
136         };
137         fftc-a-rx-flow-id {
138             assignments = <0 8>, "iu = (*)";
139         };   
141         fftc-b-rx-ch {
142             assignments = <0 4>, "iu = (*)";
143         };
144         fftc-b-tx-ch {
145             assignments = <0 4>, "iu = (*)";
146         };
147         fftc-b-rx-flow-id {
148             assignments = <0 8>, "iu = (*)";
149         };   
151         netcp-rx-ch {
152             assignments = <0 91>, "iu = (*)";
153         };
154         netcp-tx-ch {
155             assignments = <0 21>, "iu = (*)";
156         };
157         netcp-rx-flow-id {
158             assignments = <0  1>, "(*)",  /* Used by kernel - netrx0 */
159                           <1  7>, "iu = (*)",
160                           <8  1>, "(*)",  /* Used by kernel - netrx1 */
161                           <9 21>, "iu = (*)",
162                           <31 1>, "(*)";  /* Used by kernel - parx */
163         };   
165         qmss-qm1-rx-ch {
166             assignments = <0 12>, "(*)",   /* Used by kernel */
167                           <12 20>, "iu = (*)";
168         };
169         qmss-qm1-tx-ch {
170             assignments = <0 12>, "(*)", /* Used by kernel */
171                           <12 32>, "iu = (*)";
172         };
173         qmss-qm1-rx-flow-id {
174             assignments = <0 12>, "(*)",    /* Used by kernel */
175                           <12 52>, "iu = (*)";
176         };   
178         bcp-rx-ch {
179             assignments = <0 8>, "iu = (*)";
180         };
181         bcp-tx-ch {
182             assignments = <0 8>, "iu = (*)";
183         };
184         bcp-rx-flow-id {
185             assignments = <0 64>, "iu = (*)";
186         };           
187         
188         netcp-local-rx-ch {
189             assignments = <0 91>, "iu = (*)";
190         };
191         netcp-local-tx-ch {
192             assignments = <0 21>, "iu = (*)";
193         };
194         netcp-local-rx-flow-id {
195             assignments = <0 32>, "iu = (*)";
196         };           
198         iqn-rx-ch {
199             assignments = <0 47>, "iu = (*)";
200         };
201         iqn-tx-ch {
202             assignments = <0 47>, "iu = (*)";
203         };
204         iqn-rx-flow-id {
205             assignments = <0 47>, "iu = (*)";
206         };           
207     }; /* cppi */
209     pa {
210         pa-lut { 
211             assignments = <0 8>, "iu = (*)";
212         };
213         pa-firmware {
214             assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
215         };
216         pa-32bUsrStats {
217             assignments = <64 320>, "iu = (*)",
218                           <384 64>, "     (*)"; /* used by linux */
219         };
220         pa-64bUsrStats {
221             assignments = <0 48>,  "iu = (*)",
222                           <48 16>, "     (*)"; /* used by linux */
223         };
224     }; /* pa */
225 };