]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ipc/ipcdev.git/blob - packages/ti/ipc/remoteproc/Resource.xdt
8c4f805d4f40c6b3edb1535d701ae700b50bafe2
[ipc/ipcdev.git] / packages / ti / ipc / remoteproc / Resource.xdt
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.cpu.deviceName.match(/^TMS320TCI663[6|8]$/)) {
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/) ||
72 %          prog.cpu.deviceName.match(/DRA7XX/)) {
73 %    if (prog.cpu.attrs.cpuCore.match(/CM4/) &&
74 %       (xdc.om["ti.sysbios.family.arm.ducati.Core"].ipuId == 2)) {
75 #define OMAP5
76 #include <ti/ipc/remoteproc/rsc_table_vayu_ipu.h>
77 %    }
78 %    else if (prog.cpu.attrs.cpuCore.match(/6600/)) {
79 #define OMAP5
80 #include <ti/ipc/remoteproc/rsc_table_vayu_dsp.h>
81 %    }
82 %    else {
83 %        print("ti.ipc.remoteproc.Resource.xdt - unable to provide Vayu " +
84 %                "resource table (" + prog.cpu.attrs.cpuCore + ")");
85 %    }
86 %  }
87 %  else {
88 %    print("ti.ipc.remoteproc.Resource.xdt - unable to provide resource table " +
89 %            "(" + prog.cpu.deviceName + ", " + prog.cpu.attrs.cpuCore + ")");
90 %  }
91 %}
93 Void ti_ipc_remoteproc_Resource_init__I()
94 {
95     struct resource_table *pTable =
96         (struct resource_table *)&ti_ipc_remoteproc_ResourceTable;
98 %if (prog.platformName.match(/evm6614/)) {
99 // Uncomment to test for v3.3 Linux...
100 //    xdc_runtime_System_printf("Resource Table: 0x%lx\n", resources);
101 //  ...and comment out this:
102     xdc_runtime_System_printf("%d Resource entries at 0x%x\n",
103             pTable->num, pTable);
104 %}
105 %else {
106     xdc_runtime_System_printf("%d Resource entries at 0x%x\n",
107             pTable->num, pTable);
108 %}
110     return;