C66AK2E: BIOS: Introduce support for C66AK2E
[ipc/ipcdev.git] / packages / ti / ipc / remoteproc / Resource.xdt
1 %%{
2 /*
3  * Copyright (c) 2011-2014, 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(/^TMS320C66AK2E05$/) ||
53 %         prog.cpu.deviceName.match(/^TMS320TCI663(0K2L|6|8)$/)) {
54 %    if (this.traceOnly) {
55 #define TRACE_RESOURCE_ONLY
56 %    }
57 #include <ti/ipc/remoteproc/rsc_table_tci6638.h>
58 %  }
59 %  else if (prog.cpu.deviceName.match(/^OMAP5430$/)) {
60 %    if (prog.cpu.attrs.cpuCore.match(/^CM4$/)) {
61 #define OMAP5
62 #include <ti/ipc/remoteproc/rsc_table_omap5_ipu.h>
63 %    } else if (prog.cpu.attrs.cpuCore.match(/^64T$/)) {
64 #define OMAP5
65 #include <ti/ipc/remoteproc/rsc_table_omap5_dsp.h>
66 %    }
67 %    else {
68 %        print("ti.ipc.remoteproc.Resource.xdt - unable to provide OMAP5 " +
69 %                "resource table (" + prog.cpu.attrs.cpuCore + ")");
70 %    }
71 %  }
72 %  else if (prog.cpu.deviceName.match(/Vayu/) ||
73 %          prog.cpu.deviceName.match(/DRA7XX/)) {
74 %    if (prog.cpu.attrs.cpuCore.match(/CM4/)) {
75 %       if (xdc.om["ti.sysbios.family.arm.ducati.Core"].ipuId == 1) {
76 #define VAYU_IPU_1
77 %           //print("ti.ipc.remoteproc.Resource.xdt : VAYU_IPU_1");
78 %       }
79 %       if (xdc.om["ti.sysbios.family.arm.ducati.Core"].ipuId == 2) {
80 #define VAYU_IPU_2
81 %           //print("ti.ipc.remoteproc.Resource.xdt : VAYU_IPU_2");
82 %       }
83 #include <ti/ipc/remoteproc/rsc_table_vayu_ipu.h>
84 %    }
85 %    else if (prog.cpu.attrs.cpuCore.match(/6600/)) {
86 %       if (prog.platformName.match(/DRA7XX:dsp1$/)) {
87 #define VAYU_DSP_1
88 %           //print("ti.ipc.remoteproc.Resource.xdt : VAYU_DSP_1");
89 %       }
90 %       if (prog.platformName.match(/DRA7XX:dsp2$/)) {
91 #define VAYU_DSP_2
92 %           //print("ti.ipc.remoteproc.Resource.xdt : VAYU_DSP_2");
93 %       }
94 #include <ti/ipc/remoteproc/rsc_table_vayu_dsp.h>
95 %    }
96 %    else {
97 %        print("ti.ipc.remoteproc.Resource.xdt - unable to provide Vayu " +
98 %                "resource table (" + prog.cpu.attrs.cpuCore + ")");
99 %    }
100 %  }
101 %  else {
102 %    print("ti.ipc.remoteproc.Resource.xdt - unable to provide resource table " +
103 %            "(" + prog.cpu.deviceName + ", " + prog.cpu.attrs.cpuCore + ")");
104 %  }
105 %}
107 Void ti_ipc_remoteproc_Resource_init__I()
109     struct resource_table *pTable =
110         (struct resource_table *)&ti_ipc_remoteproc_ResourceTable;
112 %if (prog.platformName.match(/evm6614/)) {
113 // Uncomment to test for v3.3 Linux...
114 //    xdc_runtime_System_printf("Resource Table: 0x%lx\n", resources);
115 //  ...and comment out this:
116     xdc_runtime_System_printf("%d Resource entries at 0x%x\n",
117             pTable->num, pTable);
118 %}
119 %else {
120     xdc_runtime_System_printf("%d Resource entries at 0x%x\n",
121             pTable->num, pTable);
122 %}
124     return;