[processor-sdk/pdk.git] / packages / ti / transport / ndk / nimu_icss / example / am572x / m4 / bios / nimu_icss_m4_wSocLib.cfg
1 /**
2 * \file nimu_icss_m4_wSocLib
3 *
4 * \brief Sysbios config file for nimu_icss example project on AM572x IDK EVM.
5 *
6 */
8 /*
9 * Copyright (C) 2016-2017 Texas Instruments Incorporated - http://www.ti.com/
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 *
15 * Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 *
18 * Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the
21 * distribution.
22 *
23 * Neither the name of Texas Instruments Incorporated nor the names of
24 * its contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 *
39 */
40 /* ================ General configuration ================ */
41 var enableStaticIP = 1;
43 var Defaults = xdc.useModule('xdc.runtime.Defaults');
44 var Diags = xdc.useModule('xdc.runtime.Diags');
45 var Error = xdc.useModule('xdc.runtime.Error');
46 var Log = xdc.useModule('xdc.runtime.Log');
47 var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
48 var Main = xdc.useModule('xdc.runtime.Main');
49 var System = xdc.useModule('xdc.runtime.System');
50 var Text = xdc.useModule('xdc.runtime.Text');
51 var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
52 var Task = xdc.useModule('ti.sysbios.knl.Task');
53 var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');
54 var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
55 var SysMin = xdc.useModule('xdc.runtime.SysMin');
57 /* NDK modules */
58 var Global = xdc.useModule('ti.ndk.config.Global');
59 var Ip = xdc.useModule('ti.ndk.config.Ip');
60 var Tcp = xdc.useModule('ti.ndk.config.Tcp');
61 var Udp = xdc.useModule('ti.ndk.config.Udp');
62 var Telnet = xdc.useModule('ti.ndk.config.Telnet');
64 Tcp.transmitBufSize = 8192;
65 Tcp.receiveBufSize = 8192;
66 Tcp.receiveBufLimit = 8192;
67 Global.pktNumFrameBufs = 384;
68 /*
69 * Program.argSize sets the size of the .args section.
70 * The examples don't use command line args so argSize is set to 0.
71 */
72 /* Program.argSize = 0x0; */
74 /*
75 * Uncomment this line to globally disable Asserts.
76 * All modules inherit the default from the 'Defaults' module. You
77 * can override these defaults on a per-module basis using Module.common$.
78 * Disabling Asserts will save code space and improve runtime performance.
79 Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
80 */
82 /*
83 * Uncomment this line to keep module names from being loaded on the target.
84 * The module name strings are placed in the .const section. Setting this
85 * parameter to false will save space in the .const section. Error and
86 * Assert messages will contain an "unknown module" prefix instead
87 * of the actual module name.
88 Defaults.common$.namedModule = false;
89 */
91 /*
92 * Minimize exit handler array in System. The System module includes
93 * an array of functions that are registered with System_atexit() to be
94 * called by System_exit().
95 */
96 System.maxAtexitHandlers = 4;
98 /*
99 * Uncomment this line to disable the Error print function.
100 * We lose error information when this is disabled since the errors are
101 * not printed. Disabling the raiseHook will save some code space if
102 * your app is not using System_printf() since the Error_print() function
103 * calls System_printf().
104 Error.raiseHook = null;
105 */
107 /*
108 * Uncomment this line to keep Error, Assert, and Log strings from being
109 * loaded on the target. These strings are placed in the .const section.
110 * Setting this parameter to false will save space in the .const section.
111 * Error, Assert and Log message will print raw ids and args instead of
112 * a formatted message.
113 Text.isLoaded = false;
114 */
116 /*
117 * Uncomment this line to disable the output of characters by SysMin
118 * when the program exits. SysMin writes characters to a circular buffer.
119 * This buffer can be viewed using the SysMin Output view in ROV.
120 SysMin.flushAtExit = false;
121 */
123 /*
124 * Create and install logger for the whole system
125 */
126 var loggerBufParams = new LoggerBuf.Params();
127 loggerBufParams.numEntries = 16;
128 var logger0 = LoggerBuf.create(loggerBufParams);
129 Defaults.common$.logger = logger0;
130 Main.common$.diags_INFO = Diags.ALWAYS_ON;
132 System.SupportProxy = SysMin;
134 /* ================ BIOS configuration ================ */
136 var BIOS = xdc.useModule('ti.sysbios.BIOS');
137 /*
138 * Build a custom SYS/BIOS library from sources.
139 */
140 BIOS.libType = BIOS.LibType_Custom;
142 /*
143 * The BIOS module will create the default heap for the system.
144 * Specify the size of this default heap.
145 */
146 BIOS.heapSize = 0xB0000;
148 Global.networkOpenHook = "&netOpenHook";
149 Global.networkCloseHook = "&netCloseHook";
151 if (enableStaticIP)
152 {
153 /* Settings for static IP configuration */
154 Ip.ResolveIP = false;
155 Ip.CallByIP = false;
156 Ip.autoIp = false;
157 Ip.address = "192.168.2.3";
158 Ip.mask = "255.255.255.0";
159 Ip.gatewayIpAddr = "192.168.2.1";
160 Ip.ifIdx = 2;
162 }else
163 {
164 Ip.dhcpClientMode = Ip.CIS_FLG_IFIDXVALID;
165 }
167 Global.stackInitHook = "&stackInitHook";
168 Global.ndkTickPeriod = 100;
169 Global.kernTaskPriLevel = 11;
170 Global.serviceReportHook = null;
171 Global.IPv6 = false;
172 Global.enableCodeGeneration = true;
173 Global.pktNumFrameBufs = 192;
175 Task.defaultStackSize = 4096;
176 Task.idleTaskStackSize = 4096;
178 /* ================ Driver configuration ================ */
179 var socType = "am572x";
180 /*use CSL package*/
181 var Csl = xdc.loadPackage('ti.csl');
182 Csl.Settings.deviceType = socType;
184 /* Load the OSAL package */
185 var osType = "tirtos";
186 var Osal = xdc.useModule('ti.osal.Settings');
187 Osal.osType = osType;
190 /* Load the UART package */
191 var Uart = xdc.loadPackage('ti.drv.uart');
192 /* Load the I2c package */
193 var I2c = xdc.loadPackage('ti.drv.i2c');
194 /* Load the PRUSS package */
195 var Pruss = xdc.loadPackage('ti.drv.pruss');
196 Pruss.Settings.socType = socType;
198 /* Load the board package */
199 var Board = xdc.loadPackage('ti.board');
200 Board.Settings.boardName = "idkAM572x";
202 /* Load Profiling package */
203 var Utils = xdc.loadPackage('ti.utils.profiling');
207 /* Load the Icss_Emac package */
208 var Icss_Emac = xdc.loadPackage('ti.drv.icss_emac');
209 //Icss_Emac.Settings.enableProfiling = true;
210 Icss_Emac.Settings.socType = socType;
212 /* Load the NIMU_ICSS package */
213 var Nimu_Icss = xdc.loadPackage('ti.transport.ndk.nimu_icss');
215 /* Enable cache */
216 var Cache = xdc.useModule('ti.sysbios.hal.unicache.Cache');
217 Cache.enableCache = true;
218 /* Use AMMU module */
219 var AMMU = xdc.useModule('ti.sysbios.hal.ammu.AMMU');
221 /* Large PAGE */
222 AMMU.largePages[0].pageEnabled = AMMU.Enable_YES;
223 AMMU.largePages[0].logicalAddress = 0x40000000;
224 AMMU.largePages[0].translatedAddress = 0x40000000;
225 AMMU.largePages[0].translationEnabled = AMMU.Enable_YES;
226 AMMU.largePages[0].size = AMMU.Large_512M;
227 AMMU.largePages[0].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
228 AMMU.largePages[0].L1_posted = AMMU.PostedPolicy_NON_POSTED;
229 AMMU.largePages[0].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
230 AMMU.largePages[0].L2_posted = AMMU.PostedPolicy_NON_POSTED;
232 AMMU.largePages[1].pageEnabled = AMMU.Enable_YES;
233 AMMU.largePages[1].logicalAddress = 0x80000000;
234 AMMU.largePages[1].translatedAddress = 0x80000000;
235 AMMU.largePages[1].translationEnabled = AMMU.Enable_YES;
236 AMMU.largePages[1].size = AMMU.Large_512M;
237 AMMU.largePages[1].L1_writePolicy = AMMU.WritePolicy_WRITE_BACK;
238 AMMU.largePages[1].L1_allocate = AMMU.AllocatePolicy_ALLOCATE;
239 AMMU.largePages[1].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
240 AMMU.largePages[1].L1_posted = AMMU.PostedPolicy_POSTED;
241 AMMU.largePages[1].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
242 AMMU.largePages[1].L2_posted = AMMU.PostedPolicy_NON_POSTED;
244 AMMU.largePages[2].pageEnabled = AMMU.Enable_YES;
245 AMMU.largePages[2].logicalAddress = 0xA0000000;
246 AMMU.largePages[2].translatedAddress = 0xA0000000;
247 AMMU.largePages[2].translationEnabled = AMMU.Enable_YES;
248 AMMU.largePages[2].size = AMMU.Large_512M;
249 AMMU.largePages[2].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
250 AMMU.largePages[2].L1_posted = AMMU.PostedPolicy_NON_POSTED;
251 AMMU.largePages[2].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
252 AMMU.largePages[2].L2_posted = AMMU.PostedPolicy_NON_POSTED;
254 AMMU.largePages[3].pageEnabled = AMMU.Enable_YES;
255 AMMU.largePages[3].logicalAddress = 0x60000000;
256 AMMU.largePages[3].translatedAddress = 0x40000000;
257 AMMU.largePages[3].translationEnabled = AMMU.Enable_YES;
258 AMMU.largePages[3].size = AMMU.Large_512M;
259 AMMU.largePages[3].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
260 AMMU.largePages[3].L1_posted = AMMU.PostedPolicy_NON_POSTED;
261 AMMU.largePages[3].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
262 AMMU.largePages[3].L2_posted = AMMU.PostedPolicy_NON_POSTED;
264 /* Medium Page */
265 AMMU.mediumPages[0].pageEnabled = AMMU.Enable_YES;
266 AMMU.mediumPages[0].logicalAddress = 0x00300000;
267 AMMU.mediumPages[0].translatedAddress = 0x40300000;
268 AMMU.mediumPages[0].translationEnabled = AMMU.Enable_YES;
269 AMMU.mediumPages[0].size = AMMU.Medium_256K;
271 AMMU.mediumPages[1].pageEnabled = AMMU.Enable_YES;
272 AMMU.mediumPages[1].logicalAddress = 0x00400000;
273 AMMU.mediumPages[1].translatedAddress = 0x40400000;
274 AMMU.mediumPages[1].translationEnabled = AMMU.Enable_YES;
275 AMMU.mediumPages[1].size = AMMU.Medium_256K;
276 AMMU.mediumPages[1].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
277 AMMU.mediumPages[1].L1_posted = AMMU.PostedPolicy_POSTED;
278 AMMU.mediumPages[1].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
279 AMMU.mediumPages[1].L2_posted = AMMU.PostedPolicy_NON_POSTED;
281 /* Small Page */
282 AMMU.smallPages[0].pageEnabled = AMMU.Enable_YES;
283 AMMU.smallPages[0].logicalAddress = 0x00000000;
284 AMMU.smallPages[0].translatedAddress = 0x55020000;
285 AMMU.smallPages[0].translationEnabled = AMMU.Enable_YES;
286 AMMU.smallPages[0].size = AMMU.Small_16K;
287 AMMU.smallPages[0].volatileQualifier = AMMU.Volatile_FOLLOW;
288 AMMU.smallPages[0].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
289 AMMU.smallPages[0].L1_posted = AMMU.PostedPolicy_NON_POSTED;
290 AMMU.smallPages[0].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
291 AMMU.smallPages[0].L2_posted = AMMU.PostedPolicy_NON_POSTED;
293 AMMU.smallPages[1].pageEnabled = AMMU.Enable_YES;
294 AMMU.smallPages[1].logicalAddress = 0x40000000;
295 AMMU.smallPages[1].translatedAddress = 0x55080000;
296 AMMU.smallPages[1].translationEnabled = AMMU.Enable_YES;
297 AMMU.smallPages[1].size = AMMU.Small_16K;
298 AMMU.smallPages[1].volatileQualifier = AMMU.Volatile_FOLLOW;
299 AMMU.smallPages[1].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
300 AMMU.smallPages[1].L1_posted = AMMU.PostedPolicy_NON_POSTED;
301 AMMU.smallPages[1].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
302 AMMU.smallPages[1].L2_posted = AMMU.PostedPolicy_NON_POSTED;
304 AMMU.smallPages[2].pageEnabled = AMMU.Enable_YES;
305 AMMU.smallPages[2].logicalAddress = 0x00004000;
306 AMMU.smallPages[2].translatedAddress = 0x55024000;
307 AMMU.smallPages[2].translationEnabled = AMMU.Enable_YES;
308 AMMU.smallPages[2].size = AMMU.Small_16K;
309 AMMU.smallPages[2].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
310 AMMU.smallPages[2].L1_posted = AMMU.PostedPolicy_NON_POSTED;
311 AMMU.smallPages[2].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
312 AMMU.smallPages[2].L2_posted = AMMU.PostedPolicy_NON_POSTED;
314 AMMU.smallPages[3].pageEnabled = AMMU.Enable_YES;
315 AMMU.smallPages[3].logicalAddress = 0x00008000;
316 AMMU.smallPages[3].translatedAddress = 0x55028000;
317 AMMU.smallPages[3].translationEnabled = AMMU.Enable_YES;
318 AMMU.smallPages[3].size = AMMU.Small_16K;
319 AMMU.smallPages[3].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
320 AMMU.smallPages[3].L1_posted = AMMU.PostedPolicy_NON_POSTED;
321 AMMU.smallPages[3].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
322 AMMU.smallPages[3].L2_posted = AMMU.PostedPolicy_NON_POSTED;
324 AMMU.smallPages[4].pageEnabled = AMMU.Enable_YES;
325 AMMU.smallPages[4].logicalAddress = 0x20000000;
326 AMMU.smallPages[4].translatedAddress = 0x55020000;
327 AMMU.smallPages[4].translationEnabled = AMMU.Enable_YES;
328 AMMU.smallPages[4].size = AMMU.Small_16K;
329 AMMU.smallPages[4].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
330 AMMU.smallPages[4].L1_posted = AMMU.PostedPolicy_NON_POSTED;
331 AMMU.smallPages[4].L2_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
332 AMMU.smallPages[4].L2_posted = AMMU.PostedPolicy_NON_POSTED;