added CCS project for C6657
[keystone-rtos/tcp3d-lld.git] / example / c6657 / c66 / bios / sample_config.cfg
1 /*\r
2  * ======== sample_config.cfg ========\r
3  */\r
4 \r
5 /* IPC packages */\r
6 var ListMP = xdc.useModule('ti.sdo.ipc.ListMP');\r
7 var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');\r
8 var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');\r
9 var HeapMemMP = xdc.useModule('ti.sdo.ipc.heaps.HeapMemMP');\r
10 var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');\r
11 var Ipc         = xdc.useModule('ti.sdo.ipc.Ipc');\r
12 \r
13 /* Configure System to use SysMin */\r
14 System = xdc.useModule('xdc.runtime.System');\r
15 SysStd  = xdc.useModule('xdc.runtime.SysStd');\r
16 System.SupportProxy = xdc.useModule('xdc.runtime.SysMin')\r
17 System.SupportProxy = SysStd;\r
18 System.extendedFormats = "%$S%f";\r
19 \r
20 /* Set the system stack - 0x2000 */\r
21 Program.stack = 0x4000;\r
22 \r
23 var Memory = xdc.useModule('xdc.runtime.Memory');\r
24 var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');\r
25 \r
26 /* Use HeapMem for default heap manager and give it 49152 (0xC000)\r
27  * bytes to work with.\r
28  */\r
29 Program.sectMap["systemHeap"] = Program.platform.dataMemory;\r
30 var heapMemParams = new HeapMem.Params;\r
31 heapMemParams.size = 0x18000;\r
32 heapMemParams.sectionName = "systemHeap";\r
33 Memory.defaultHeapInstance = HeapMem.create(heapMemParams);\r
34 \r
35 /*\r
36  * Creating Heap Memories for using with test application\r
37  */\r
38 /* Create a heap for TCP3D input/output data using ti.bios.HeapMem. */\r
39 /* Program.sectMap["tcp3DataSection"] = {loadSegment: "MSMCSRAM"};\r
40 var heapMemParams1 = new HeapMem.Params;\r
41 heapMemParams1.size = 0x100000;\r
42 heapMemParams1.align = 64;\r
43 heapMemParams1.sectionName = "tcp3DataSection";\r
44 Program.global.tcp3dDataHeap = HeapMem.create(heapMemParams1); */\r
45 \r
46 /* Create a heap for TCP3D driver using ti.bios.HeapMem. */\r
47 Program.sectMap["tcp3DriverSection"] = Program.platform.dataMemory;\r
48 var heapMemParams2 = new HeapMem.Params;\r
49 heapMemParams2.size = 0x4000;\r
50 heapMemParams2.sectionName = "tcp3DriverSection";\r
51 Program.global.tcp3dDrvHeap = HeapMem.create(heapMemParams2);\r
52 \r
53 /* Create a heap for TCP3D QUEUE DESCRIPTORS using ti.bios.HeapMem. */\r
54 Program.sectMap["tcp3QueueDescrSection"] = Program.platform.dataMemory;\r
55 var heapMemParams3 = new HeapMem.Params;\r
56 heapMemParams3.size = 4096;\r
57 heapMemParams3.sectionName = "tcp3QueueDescrSection";\r
58 Program.global.tcp3dQueHeap = HeapMem.create(heapMemParams3);\r
59 \r
60 /* To avoid wasting shared memory for Notify and MessageQ transports */\r
61 for (var i = 0; i < MultiProc.numProcessors; i++) {\r
62     Ipc.setEntryMeta({\r
63         remoteProcId: i,\r
64         setupNotify: false,\r
65         setupMessageQ: false,\r
66     });\r
67 }\r
68 \r
69 \r
70 SharedRegion.setEntryMeta(0,\r
71     { base: 0x0C000000,\r
72       len: 0x100000,\r
73       ownerProcId: 0,\r
74       cacheLineSize: 64,\r
75       isValid: true,\r
76       name: "sharemem",\r
77     });\r
78 \r
79 /* \r
80  * Pull in Timer, Semaphore, Swi, Task, and Queue modules\r
81  * used in this example.\r
82  */\r
83 var BIOS = xdc.useModule('ti.sysbios.BIOS');\r
84 xdc.useModule('ti.sysbios.hal.Timer');\r
85 xdc.useModule('ti.sysbios.knl.Semaphore');\r
86 xdc.useModule('ti.sysbios.knl.Swi');\r
87 xdc.useModule('ti.sysbios.knl.Task');\r
88 xdc.useModule('ti.sysbios.hal.Cache');\r
89 xdc.useModule('ti.sysbios.family.c64p.Hwi');\r
90 xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');\r
91 xdc.useModule('xdc.runtime.Log');\r
92 xdc.useModule('xdc.runtime.Error');\r
93 var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys');\r
94 var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');\r
95 \r
96 /*\r
97  * Enable Event Groups here and registering of ISR for specific GEM INTC is done\r
98  * using EventCombiner_dispatchPlug() and Hwi_eventMap() APIs\r
99  */\r
100 ECM.eventGroupHwiNum[0] = 7;\r
101 ECM.eventGroupHwiNum[1] = 8;\r
102 ECM.eventGroupHwiNum[2] = 9;\r
103 ECM.eventGroupHwiNum[3] = 10;\r
104 \r
105 /*\r
106  * Setup the Logger for Driver\r
107  */\r
108 var LoggerSys0Params0 = new LoggerSys.Params;\r
109 LoggerSys0Params0.instance.name = 'tcp3dDrvLog';\r
110 Program.global.tcp3dDrvLog = LoggerSys.create(LoggerSys0Params0);\r
111 \r
112 /*\r
113  * allow printf() to be called from Swi threads. Note that use of this gate\r
114  * incurs additional latency for Swi processing since Swi scheduler will be\r
115  * disabled to manage critical sections within the RTS library code.\r
116 BIOS.rtsGateType = BIOS.GateSwi;\r
117  */\r
118 \r
119 \r
120 /*\r
121  * Adding the other Dependent packages\r
122  */\r
123 /*xdc.loadPackage('ti.wbi.common.api');*/\r
124 xdc.loadPackage('ti.sdo.edma3.drv');\r
125 \r
126 /* Load the TCP3D package */\r
127 var Tcp3d = xdc.useModule('ti.drv.tcp3d.Settings');\r
128 Tcp3d.deviceType = "c6657";\r
129 \r
130 /* Load the CSL package */\r
131 var Csl = xdc.useModule('ti.csl.Settings');\r
132 \r
133 /* Device specific configuration */\r
134 var devName = "c6657";\r
135 Csl.deviceType      = devName;\r