]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blob - device/k2e/policy_dsp_arm.dts
SDOCM00103974: allow internal/external linking RAM automatic allocation
[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         
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 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         XGE_QUEUE-qm1 {
75             assignments = <692 8>, "iu = (*)";
76         };
77         HIGH_PRIORITY_QUEUE-qm1 {
78             /* this is loosely coupled with accumulator-ch channels 0-15.  These queues are
79              * just suggested to be paired with these channels, the accumulator can be sw
80              * configured to use any queue */
81             assignments = <704 16>, "iu = (*)", /* suggested for channels 0-15 */
82                           <720 8>,  "iu = (*)", /* Declared, but not used, by linux (accumulator-high.values). */ 
83                           <728 8>,  "iu = (*)"; /* suggested for channels 24-31 */
84         };       
85         STARVATION_COUNTER_QUEUE-qm1 {
86             assignments = <736 64>, "iu = (*)";
87         };  
88         INFRASTRUCTURE_QUEUE-qm1 {
89             assignments = <800  12>,   "(*)",             /* Used by Kernel */
90                           <812  20>,   "iu = (*)";
91         }; 
92         PASS_QUEUE-qm1 {
93             assignments = <896 128>, "iu = (*)";       /* used by both kernel and DSP */
94         };
95         GENERAL_PURPOSE_QUEUE-qm1 {
96             assignments = <1024 2976>,  "iu = (*)",
97                           <4000 64>,    "(*)",       /* Used by Kernel */
98                           <4064 2336>,  "iu = (*)",
100                           /* 6400-6477 is taken by linux for qostree2, but DSP can transmit via "fastpath" queues */
101                           <6400 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
102                           <6472 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
103                           <6478 114>,   "(*)",       /* unconfigured QoS/Linux queues (qos-inputs-2) */
105                           <6592 1408>,  "iu = (*)",
107                           /* 8000-8191 is taken by linux for qostree but DSP can transmit via "fastpath" queues */
108                           <8000 72>,    "u = (*)",   /* qos queues for DSP (fastpath-best-effort, fastpath-hp, 4g-cos#, 3g-cos#, wifi-cos#) use (open by number) not init */
109                           <8072 6>,     "(*)",       /* qos queues for linux (linux-best-effort, linux-cos#, linux-hp) - DSP can't use */
110                           <8078 114>,   "(*)";       /* unconfigured QoS/Linux queues (qos-inputs-1) */
111         };    
112         
113         firmware-pdsp {
114             assignments = <0 1>, "     (*)", /* pdsp0: accumulator 0 downloaded by linux */
115                           <1 1>, "iu = (*)", /* pdsp1: for em scheduler if event machine is used (not downloaded by linux) */
116                           <2 1>, "iu = (*)", /* pdsp2: for accumulator 1 on second intd (not downloaded by linux) */
117                           <3 1>, "     (*)", /* pdsp3: qostree downloaded by linux */
118                           <4 1>, "iu = (*)", /* pdsp4: for em scheduler if event machine is used (not downloaded by linux) */
119                           <5 1>, "iu = (*)", /* pdsp5: for em scheduler if event machine is used (not downloaded by linux) */
120                           <6 1>, "iu = (*)", /* pdsp6: for em router if event machine is used (not downloaded by linux) */
121                           <7 1>, "     (*)"; /* pdsp7: qostree2 downloaded by linux */
122         };        
123         accumulator0-ch { /* accumulator using first INTD */
124             assignments = <0 16>, "iu = (*)",    /* high priority 0-15 available for everyone */      
125                           <16 8>, "iu = (*)",    /* declared but not used by linux, subject to change */
126                           <24 8>, "iu = (*)",    /* last 8 high priority are used by event machine, available in non EM use case */
127                           <32 4>, "iu = (*)",    /* first 4 low priority are used by event machine, available in non EM use case */
128                           <36 4>, "     (*)",    /* next 4 low priority are used by linux (accumulator-low-#) */
129                           <40 8>, "iu = (*)";    /* available for all */
130         };             
131         accumulator1-ch { /* accumulator using second INTD */
132             assignments = <0 48>, "iu = (*)";    /* linux doesn't use it */
133         };             
134     }; /* qmss */
136     cppi {
137         netcp-rx-ch {
138             assignments = <0 91>, "iu = (*)";
139         };
140         netcp-tx-ch {
141             assignments = <0 21>, "iu = (*)";
142         };
143         netcp-rx-flow-id {
144             assignments = <0  1>, "(*)",  /* Used by kernel - netrx0 */
145                           <1  7>, "iu = (*)",
146                           <8  1>, "(*)",  /* Used by kernel - netrx1 */
147                           <9 21>, "iu = (*)",
148                           <31 1>, "(*)";  /* Used by kernel - parx */
149         };   
151         qmss-qm1-rx-ch {
152             assignments = <0 12>, "(*)",   /* Used by kernel */
153                           <12 20>, "iu = (*)";
154         };
155         qmss-qm1-tx-ch {
156             assignments = <0 12>, "(*)", /* Used by kernel */
157                           <12 32>, "iu = (*)";
158         };
159         qmss-qm1-rx-flow-id {
160             assignments = <0 12>, "(*)",    /* Used by kernel */
161                           <12 52>, "iu = (*)";
162         };   
164         netcp-local-rx-ch {
165             assignments = <0 91>, "iu = (*)";
166         };
167         netcp-local-tx-ch {
168             assignments = <0 21>, "iu = (*)";
169         };
170         netcp-local-rx-flow-id {
171             assignments = <0 32>, "iu = (*)";
172         };           
173     }; /* cppi */
175     pa {
176         pa-lut { 
177             assignments = <0 8>, "iu = (*)";
178         };
179         pa-firmware {
180             assignments = <0 1>, "(*)"; /* linux downloads PA firmware */
181         };
182         pa-32bUsrStats {
183             assignments = <64 320>, "iu = (*)",
184                           <384 64>, "     (*)"; /* used by linux */
185         };
186         pa-64bUsrStats {
187             assignments = <0 48>,  "iu = (*)",
188                           <48 16>, "     (*)"; /* used by linux */
189         };
190     }; /* pa */
191 };