e2b9cd9b655e52a20e2232c9b093f50bbf37f315
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 0x9000 */
35 assignments = <0x00004000 0x00005000>, "(*)", /* used by Kernel */
36 <0x00009000 0x0000B000>, "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 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 };
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 1>, "(*)", /* Used by kernel - netrx0 */
196 <1 7>, "iu = (*)",
197 <8 1>, "(*)", /* Used by kernel - netrx1 */
198 <9 21>, "iu = (*)",
199 <31 1>, "(*)"; /* Used by kernel - parx */
200 };
202 qmss-qm1-hw-open {
203 assignments = <0 1>, "iu = (*)";
204 };
205 qmss-qm1-rx-ch {
206 assignments = <0 9>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
207 <9 23>, "iu = (*)";
208 };
209 qmss-qm1-tx-ch {
210 assignments = <0 9>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
211 <9 23>, "iu = (*)";
212 };
213 qmss-qm1-rx-flow-id {
214 assignments = <0 9>, "(*)", /* Used by kernel - 8 (data channel usage irrespective of device) + 1 (channel per DSP core) */
215 <9 55>, "iu = (*)";
216 };
218 netcp-local-hw-open {
219 assignments = <0 1>, "iu = (*)";
220 };
221 netcp-local-rx-ch {
222 assignments = <0 91>, "iu = (*)";
223 };
224 netcp-local-tx-ch {
225 assignments = <0 21>, "iu = (*)";
226 };
227 netcp-local-rx-flow-id {
228 assignments = <0 32>, "iu = (*)";
229 };
231 xge-hw-open {
232 assignments = <0 1>, "iu = (*)";
233 };
234 xge-rx-ch {
235 assignments = <0 16>, " (*)"; /* initialized by kernel */
236 };
237 xge-tx-ch {
238 assignments = <0 8>, " (*)"; /* initialized by kernel, directly open the queues */
239 };
240 xge-rx-flow-id {
241 assignments = <0 1>, " (*)", /* used by kernel (xgerx0) */
242 <1 7>, "iu = (*)", /* available */
243 <8 1>, " (*)", /* used by kernel (xgerx1) */
244 <9 23>, "iu = (*)"; /* available */
245 };
246 }; /* cppi */
248 pa {
249 pa-lut {
250 assignments = <0 8>, "iu = (*)";
251 };
252 pa-firmware {
253 assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
254 };
255 pa-32bUsrStats {
256 assignments = <0 512>, "iu = (*)";
257 };
258 pa-64bUsrStats {
259 assignments = <0 256>, "iu = (*)";
260 };
261 }; /* pa */
262 };