22850500d5379f0afbae2e2875a2394e1389d189
1 %%{
2 /*
3 * Copyright (c) 2011-2013, Texas Instruments Incorporated
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * * Neither the name of Texas Instruments Incorporated nor the names of
18 * its contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 */
33 %%}
35 #include <xdc/runtime/System.h>
36 #include <ti/ipc/remoteproc/rsc_types.h>
38 %var prog = xdc.om['xdc.cfg.Program'];
40 %if (this.customTable) {
41 extern struct resource_table ti_ipc_remoteproc_ResourceTable;
42 %}
43 %else {
44 % if (prog.platformName.match(/OMAPL138/)) {
45 #include <ti/ipc/remoteproc/rsc_table_omapl138.h>
46 % }
47 % else if (prog.platformName.match(/evm6614/)) {
48 #include <ti/ipc/remoteproc/rsc_table_tci6614.h>
49 //#include <ti/ipc/remoteproc/rsc_table_tci6614_v3.3.h> // Test with v3.3 Linux.
50 % }
51 % else if (prog.platformName.match(/Kepler/) ||
52 % prog.platformName.match(/TCI6638/)) {
53 % if (this.traceOnly) {
54 #define TRACE_RESOURCE_ONLY
55 % }
56 #include <ti/ipc/remoteproc/rsc_table_tci6638.h>
57 % }
58 % else if (prog.cpu.deviceName.match(/^OMAP5430$/)) {
59 % if (prog.cpu.attrs.cpuCore.match(/^CM4$/)) {
60 #define OMAP5
61 #include <ti/ipc/remoteproc/rsc_table_omap5_ipu.h>
62 % } else if (prog.cpu.attrs.cpuCore.match(/^64T$/)) {
63 #define OMAP5
64 #include <ti/ipc/remoteproc/rsc_table_omap5_dsp.h>
65 % }
66 % else {
67 % print("ti.ipc.remoteproc.Resource.xdt - unable to provide OMAP5 " +
68 % "resource table (" + prog.cpu.attrs.cpuCore + ")");
69 % }
70 % }
71 % else if (prog.cpu.deviceName.match(/Vayu/)) { // NOTE: This will probably change to DRA7xx
72 % if (prog.cpu.attrs.cpuCore.match(/CM4/) &&
73 % (xdc.om["ti.sysbios.family.arm.ducati.Core"].ipuId == 2)) {
74 #define OMAP5
75 #include <ti/ipc/remoteproc/rsc_table_vayu_ipu.h>
76 % }
77 % else if (prog.cpu.attrs.cpuCore.match(/6600/)) {
78 #define OMAP5
79 #include <ti/ipc/remoteproc/rsc_table_vayu_dsp.h>
80 % }
81 % else {
82 % print("ti.ipc.remoteproc.Resource.xdt - unable to provide Vayu " +
83 % "resource table (" + prog.cpu.attrs.cpuCore + ")");
84 % }
85 % }
86 % else {
87 % print("ti.ipc.remoteproc.Resource.xdt - unable to provide resource table " +
88 % "(" + prog.cpu.deviceName + ", " + prog.cpu.attrs.cpuCore + ")");
89 % }
90 %}
92 Void ti_ipc_remoteproc_Resource_init__I()
93 {
94 struct resource_table *pTable =
95 (struct resource_table *)&ti_ipc_remoteproc_ResourceTable;
97 %if (prog.platformName.match(/evm6614/)) {
98 // Uncomment to test for v3.3 Linux...
99 // xdc_runtime_System_printf("Resource Table: 0x%lx\n", resources);
100 // ...and comment out this:
101 xdc_runtime_System_printf("%d Resource entries at 0x%x\n",
102 pTable->num, pTable);
103 %}
104 %else {
105 xdc_runtime_System_printf("%d Resource entries at 0x%x\n",
106 pTable->num, pTable);
107 %}
109 return;
110 }