initial release
[apps/tidep0074.git] / dsp2 / Dsp2.cfg
1 /*
2  * Copyright (c) 2013-2015 Texas Instruments Incorporated - http://www.ti.com
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * *  Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
12  * *  Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * *  Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
33 /*
34  *  ======== Dsp2.cfg ========
35  *  Platform: DRA7XX_linux_elf
36  *  Target: ti.targets.elf.C66
37  */
39 /* root of the configuration object model */
40 var Program = xdc.useModule('xdc.cfg.Program');
42 /* application uses the following modules and packages */
43 xdc.useModule('xdc.runtime.Assert');
44 xdc.useModule('xdc.runtime.Diags');
45 xdc.useModule('xdc.runtime.Error');
46 xdc.useModule('xdc.runtime.Log');
47 xdc.useModule('xdc.runtime.Registry');
49 xdc.useModule('ti.sysbios.knl.Semaphore');
50 xdc.useModule('ti.sysbios.knl.Task');
52 /*
53  *  ======== IPC Configuration ========
54  */
55 xdc.useModule('ti.ipc.ipcmgr.IpcMgr');
57 /* load the configuration shared across cores  */
58 Program.global.procName = "DSP2";
59 var ipc_cfg = xdc.loadCapsule("../shared/ipc.cfg.xs");
61 var BIOS        = xdc.useModule('ti.sysbios.BIOS');
62 BIOS.addUserStartupFunction('&IpcMgr_ipcStartup');
64 /*
65  *  ======== SYS/BIOS Configuration ========
66  */
67 if (Program.build.profile == "debug") {
68     BIOS.libType = BIOS.LibType_Debug;
69 } else {
70     BIOS.libType = BIOS.LibType_Custom;
71 }
73 /* no rts heap */
74 Program.argSize = 100;  /* minimum size */
75 Program.stack = 0x1000;
77 var Task = xdc.useModule('ti.sysbios.knl.Task');
78 Task.common$.namedInstance = true;
80 /* default memory heap */
81 var Memory = xdc.useModule('xdc.runtime.Memory');
82 var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
83 var heapMemParams = new HeapMem.Params();
84 heapMemParams.size = 0x8000;
85 Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
87 /* create a heap for MessageQ messages */
88 var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
89 var params = new HeapBuf.Params;
90 params.align = 8;
91 params.blockSize = 512;
92 params.numBlocks = 256;
93 var msgHeap = HeapBuf.create(params);
95 var MessageQ  = xdc.useModule('ti.sdo.ipc.MessageQ');
96 MessageQ.registerHeapMeta(msgHeap, 0);
98 /* Setup MessageQ transport */
99 var VirtioSetup = xdc.useModule('ti.ipc.transports.TransportRpmsgSetup');
100 MessageQ.SetupTransportProxy = VirtioSetup;
102 /* Setup NameServer remote proxy */
103 var NameServer = xdc.useModule("ti.sdo.utils.NameServer");
104 var NsRemote = xdc.useModule("ti.ipc.namesrv.NameServerRemoteRpmsg");
105 NameServer.SetupProxy = NsRemote;
107 /* Enable Memory Translation module that operates on the BIOS Resource Table */
108 var Resource = xdc.useModule('ti.ipc.remoteproc.Resource');
109 Resource.loadSegment = "EXT_CODE";
111 /*  Use SysMin because trace buffer address is required for Linux/QNX
112  *  trace debug driver, plus provides better performance.
113  */
114 var System = xdc.useModule('xdc.runtime.System');
115 var SysMin = xdc.useModule('ti.trace.SysMin');
116 System.SupportProxy = SysMin;
117 SysMin.bufSize  = 0x8000;
119 Program.sectMap[".tracebuf"] = "TRACE_BUF";
120 Program.sectMap[".errorbuf"] = "EXC_DATA";
122 /* --------------------------- TICK --------------------------------------*/
123 var Clock = xdc.useModule('ti.sysbios.knl.Clock');
124 Clock.tickSource = Clock.TickSource_NULL;
125 //Clock.tickSource = Clock.TickSource_USER;
126 /* Configure BIOS clock source as GPTimer5 */
127 //Clock.timerId = 0;
129 var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
131 /* Skip the Timer frequency verification check. Need to remove this later */
132 Timer.checkFrequency = false;
134 /* Match this to the SYS_CLK frequency sourcing the dmTimers.
135  * Not needed once the SYS/BIOS family settings is updated. */
136 Timer.intFreq.hi = 0;
137 Timer.intFreq.lo = 19200000;
139 //var timerParams = new Timer.Params();
140 //timerParams.period = Clock.tickPeriod;
141 //timerParams.periodType = Timer.PeriodType_MICROSECS;
142 /* Switch off Software Reset to make the below settings effective */
143 //timerParams.tiocpCfg.softreset = 0x0;
144 /* Smart-idle wake-up-capable mode */
145 //timerParams.tiocpCfg.idlemode = 0x3;
146 /* Wake-up generation for Overflow */
147 //timerParams.twer.ovf_wup_ena = 0x1;
148 //Timer.create(Clock.timerId, Clock.doTick, timerParams);
150 /*
151  *  ======== Instrumentation Configuration ========
152  */
154 /* system logger */
155 var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys');
156 var LoggerSysParams = new LoggerSys.Params();
157 var Defaults = xdc.useModule('xdc.runtime.Defaults');
158 Defaults.common$.logger = LoggerSys.create(LoggerSysParams);
160 /* enable runtime Diags_setMask() for non-XDC spec'd modules */
161 var Diags = xdc.useModule('xdc.runtime.Diags');
162 Diags.setMaskEnabled = true;
164 /* override diags mask for selected modules */
165 xdc.useModule('xdc.runtime.Main');
166 Diags.setMaskMeta("xdc.runtime.Main",
167     Diags.ENTRY | Diags.EXIT | Diags.INFO, Diags.RUNTIME_ON);
169 var Registry = xdc.useModule('xdc.runtime.Registry');
170 Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
171 Registry.common$.diags_EXIT  = Diags.RUNTIME_OFF;
172 Registry.common$.diags_INFO  = Diags.RUNTIME_OFF;
173 Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
174 Registry.common$.diags_LIFECYCLE = Diags.RUNTIME_OFF;
175 Registry.common$.diags_STATUS = Diags.RUNTIME_OFF;
177 var Main = xdc.useModule('xdc.runtime.Main');
178 Main.common$.diags_ASSERT = Diags.ALWAYS_ON;
179 Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;