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";
21 qmss {
22 control-qm1 {
23 assignments = <0 1>, "iu = (*)";
24 };
26 linkram-control-qm1 {
27 assignments = <0 1>, "(*)"; /* Used by Kernel */
28 };
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 0x8000 */
35 assignments = <0x00004000 0x00004000>, "(*)", /* used by Kernel */
36 <0x00008000 0x0000C000>, "iu = (*)";
37 };
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 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 4>, " (*)", /* potentially used by kernel */
85 <662 4>, "iu = (*)"; /* available for user mode lld and dsp */
86 };
87 INTC_SET4_QUEUE-qm1 {
88 assignments = <666 22>, "iu = (*)";
89 };
90 FFTC_A_QUEUE-qm1 {
91 assignments = <688 4>, "iu = (*)";
92 };
93 FFTC_B_QUEUE-qm1 {
94 assignments = <692 4>, "iu = (*)";
95 };
96 BCP_QUEUE-qm1 {
97 assignments = <696 8>, "iu = (*)";
98 };
99 HIGH_PRIORITY_QUEUE-qm1 {
100 /* this is loosely coupled with accumulator-ch channels 0-15. These queues are
101 * just suggested to be paired with these channels, the accumulator can be sw
102 * configured to use any queue */
103 assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
104 <720 8>, "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */
105 <728 8>, "iu = (*)"; /* suggested for channels 24-31 */
106 };
107 STARVATION_COUNTER_QUEUE-qm1 {
108 assignments = <736 64>, "iu = (*)";
109 };
110 INFRASTRUCTURE_QUEUE-qm1 {
111 assignments = <800 12>, "(*)", /* Used by Kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
112 <812 20>, "iu = (*)";
113 };
114 IQNET_QUEUE-qm1 {
115 assignments = <832 48>, "iu = (*)";
116 };
117 PASS_QUEUE-qm1 {
118 assignments = <896 21>, "iu = (*)"; /* used by both kernel and DSP */
119 };
120 GENERAL_PURPOSE_QUEUE-qm1 {
121 assignments = <1024 2976>, "iu = (*)",
122 <4000 64>, "(*)", /* Used by Kernel */
123 <4064 31>, "iu = (*)",
124 <4095 1>, "iue = (*)", /* Queues ending in 0xfff can't be used as return queue (hw reserved) */
125 <4096 2304>, "iu = (*)",
127 /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
128 <6400 72>, "u = (*)", /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
129 <6472 6>, "(*)", /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
130 <6478 114>, "(*)", /* unconfigured QoS/Linux queues (qos-inputs-2) */
132 <6592 1408>, "iu = (*)",
134 /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
135 <8000 72>, "u = (*)", /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
136 <8072 6>, "(*)", /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
137 <8078 114>, "(*)"; /* unconfigured QoS/Linux queues (qos-inputs-1) */
138 /* note for q 8191: Queues ending in 0xfff can't be used as return queue (hw reserved) */
139 };
141 firmware-pdsp {
142 assignments = <0 1>, " (*)", /* pdsp0: accumulator 0 downloaded by linux */
143 <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
144 <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
145 <3 1>, " (*)", /* pdsp3: qostree downloaded by linux */
146 <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
147 <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
148 <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
149 <7 1>, " (*)"; /* pdsp7: qostree2 downloaded by linux */
150 };
151 accumulator0-ch { /* accumulator using first INTD */
152 assignments = <0 16>, "iu = (*)", /* high priority 0-15 available for everyone */
153 <16 8>, "iu = (*)", /* declared but not used by linux, subject to change */
154 <24 8>, "iu = (*)", /* last 8 high priority are used by event machine, available in non EM use case */
155 <32 4>, "iu = (*)", /* first 4 low priority are used by event machine, available in non EM use case */
156 <36 4>, " (*)", /* next 4 low priority are used by linux (accumulator-low-#) */
157 <40 8>, "iu = (*)"; /* available for all */
158 };
159 accumulator1-ch { /* accumulator using second INTD */
160 assignments = <0 48>, "iu = (*)"; /* linux doesn't use it */
161 };
163 netss-control-qm1 {
164 assignments = <0 1>, "iu = (*)";
165 };
166 netss-linkram-control-qm1 {
167 assignments = <0 1>, "iu = (*)";
168 };
169 netss-linkram-qm1 {
170 assignments = <0x00000000 0x00004000>, "iu = (*)";
171 };
172 netss-memory-regions-qm1 {
173 assignments = <0 16>, "iu = (*)";
174 };
176 netss-control-qm2 {
177 assignments = <0 1>, "iu = (*)";
178 };
179 netss-linkram-control-qm2 {
180 assignments = <0 1>, "iu = (*)";
181 };
182 netss-linkram-qm2 {
183 assignments = <0x00000000 0x00004000>, "iu = (*)";
184 };
185 netss-memory-regions-qm2 {
186 assignments = <0 16>, "iu = (*)";
187 };
189 NETSS_PASS_QUEUE-qm1 {
190 assignments = <0 21>, "iu = (*)";
191 };
192 NETSS_GENERAL_PURPOSE_QUEUE-qm1 {
193 assignments = <21 43>, "iu = (*)";
194 };
195 NETSS_GENERAL_PURPOSE_QUEUE-qm2 {
196 assignments = <0 64>, "iu = (*)";
197 };
198 }; /* qmss */
200 cppi {
201 fftc-a-hw-open {
202 assignments = <0 1>, "iu = (*)";
203 };
204 fftc-a-rx-ch {
205 assignments = <0 4>, "iu = (*)";
206 };
207 fftc-a-tx-ch {
208 assignments = <0 4>, "iu = (*)";
209 };
210 fftc-a-rx-flow-id {
211 assignments = <0 8>, "iu = (*)";
212 };
214 fftc-b-hw-open {
215 assignments = <0 1>, "iu = (*)";
216 };
217 fftc-b-rx-ch {
218 assignments = <0 4>, "iu = (*)";
219 };
220 fftc-b-tx-ch {
221 assignments = <0 4>, "iu = (*)";
222 };
223 fftc-b-rx-flow-id {
224 assignments = <0 8>, "iu = (*)";
225 };
227 netcp-hw-open {
228 assignments = <0 1>, "iu = (*)";
229 };
230 netcp-rx-ch {
231 assignments = <0 91>, " (*)"; /* initialized by kernel */
232 };
233 netcp-tx-ch {
234 assignments = <0 19>, " (*)", /* initialized by kernel, can directly open queuse */
235 <19 1>, "iu = (*)", /* SA channel. Linux initializes, but some applications need to enable/disable on fly */
236 <20 1>, " (*)"; /* initialized by kernel, can directly open queuse */
238 };
239 netcp-rx-flow-id {
240 assignments = <0 22>, "iu = (*)", /* available */
241 <22 5>, " (*)", /* used by kernel (netrx0, netrx1, netrx2, netrx3, crypto-rx0) */
242 <27 4>, "iu = (*)", /* available */
243 <31 1>, "(*)"; /* Used by kernel - parx */
244 };
246 qmss-qm1-hw-open {
247 assignments = <0 1>, "iu = (*)";
248 };
249 qmss-qm1-rx-ch {
250 assignments = <0 12>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
251 <12 20>, "iu = (*)";
252 };
253 qmss-qm1-tx-ch {
254 assignments = <0 12>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
255 <12 20>, "iu = (*)";
256 };
257 qmss-qm1-rx-flow-id {
258 assignments = <0 12>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
259 <12 52>, "iu = (*)";
260 };
262 bcp-hw-open {
263 assignments = <0 1>, "iu = (*)";
264 };
265 bcp-rx-ch {
266 assignments = <0 8>, "iu = (*)";
267 };
268 bcp-tx-ch {
269 assignments = <0 8>, "iu = (*)";
270 };
271 bcp-rx-flow-id {
272 assignments = <0 64>, "iu = (*)";
273 };
275 netcp-local-hw-open {
276 assignments = <0 1>, "iu = (*)";
277 };
278 netcp-local-rx-ch {
279 assignments = <0 91>, "iu = (*)";
280 };
281 netcp-local-tx-ch {
282 assignments = <0 21>, "iu = (*)";
283 };
284 netcp-local-rx-flow-id {
285 assignments = <0 32>, "iu = (*)";
286 };
288 iqn-hw-open {
289 assignments = <0 1>, "iu = (*)";
290 };
291 iqn-rx-ch {
292 assignments = <0 47>, "iu = (*)";
293 };
294 iqn-tx-ch {
295 assignments = <0 47>, "iu = (*)";
296 };
297 iqn-rx-flow-id {
298 assignments = <0 47>, "iu = (*)";
299 };
300 }; /* cppi */
302 pa {
303 pa-lut {
304 assignments = <0 8>, "iu = (*)";
305 };
306 pa-firmware {
307 assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
308 };
309 pa-32bUsrStats {
310 assignments = <0 512>, "iu = (*)";
311 };
312 pa-64bUsrStats {
313 assignments = <0 256>, "iu = (*)";
314 };
315 }; /* pa */
316 };