summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bd76439)
raw | patch | inline | side by side (parent: bd76439)
author | Chris Ring <cring@ti.com> | |
Fri, 8 Mar 2013 00:59:49 +0000 (16:59 -0800) | ||
committer | Chris Ring <cring@ti.com> | |
Tue, 12 Mar 2013 22:42:53 +0000 (15:42 -0700) |
XDC 3.25 includes support for the new TCI6638K2K EVM. IPC 3 supported the
simulator for this device (ti.platforms.simKepler). This commit adds
initial support for the new ti.platforms.evmTCI6638K2K EVM.
simulator for this device (ti.platforms.simKepler). This commit adds
initial support for the new ti.platforms.evmTCI6638K2K EVM.
diff --git a/ipc-bios.bld b/ipc-bios.bld
index 362e7a570e895fc2f57a7d61e74a33247cde1ef7..bc942621f646d4fcfc2e4fd92fe587533629ac1b 100644 (file)
--- a/ipc-bios.bld
+++ b/ipc-bios.bld
if (targetName.match(/elf\.C66/)) {
target.lnkOpts.suffix += " -cr";
- target.platforms = [
+ target.platforms = [
"ti.platforms.simKepler"
//"ti.platforms.evm6614:DSP"
+// "ti.platforms.evmTCI6638K2K"
];
}
diff --git a/packages/ti/ipc/family/tci6638/Interrupt.xs b/packages/ti/ipc/family/tci6638/Interrupt.xs
index 8a94de6d663d708f9e39b529dcf91acbaac6545f..e02afb10585f76076c10f502625a9d9e03d70c91 100644 (file)
INTERDSPINT: 105,
DSPINT: 5,
},
+ 'TMS320TCI6638' : {
+ IPCGR0: 0x02620240,
+ IPCAR0: 0x02620280,
+ IPCGRH: 0x02620260,
+ IPCARH: 0x026202A0,
+ KICK0: 0x02620038,
+ KICK1: 0x0262003C,
+ INTERDSPINT: 105,
+ DSPINT: 5,
+ },
}
var Settings = xdc.loadCapsule('ti/sdo/ipc/family/Settings.xs');
Settings.setDeviceAliases(deviceSettings, Settings.deviceAliases);
index d56301b753de618cae486952ecfd09128f3e8878..5908dcd010c73a57b3481924fceffd7ac2739c63 100644 (file)
#include <ti/ipc/remoteproc/rsc_table_tci6614.h>
//#include <ti/ipc/remoteproc/rsc_table_tci6614_v3.3.h> // Test with v3.3 Linux.
%}
-%if (prog.platformName.match(/Kepler/)) {
+%if (prog.platformName.match(/Kepler/) ||
+% prog.platformName.match(/TCI6638/)) {
#include <ti/ipc/remoteproc/rsc_table_tci6638.h>
%}
%if (prog.platformName.match(/omap54xx\.ipu/)) {
index a189ace13b55218601ee5e5741d3cde1c18b7128..5e7f6a7b1a0d89f53d3e3b0a71f841c612170d8d 100644 (file)
break;
case "Kepler":
+ case "TMS320TCI6638":
platform = "tci6638";
break;
index 60d2dd166981c08bd442ff99971c2c293ea05539..b4b9d215be3f78d5971742015a0f2fbb884fbeb8 100644 (file)
if (Program.platformName.match(/6614/)) {
MultiProcSetup = xdc.useModule('ti.sdo.ipc.family.c647x.MultiProcSetup');
}
-else if (Program.platformName.match(/simKepler/)) {
+else if (Program.platformName.match(/simKepler/) ||
+ Program.cpu.deviceName.match(/^TMS320TCI6638$/)) {
MultiProcSetup = xdc.useModule('ti.sdo.ipc.family.tci663x.MultiProcSetup');
}
MultiProcSetup.configureProcId = false;
var Interrupt = xdc.useModule('ti.ipc.family.tci6614.Interrupt');
NotifyDriverShm.InterruptProxy = xdc.useModule(Interrupt);
}
-else if (Program.platformName.match(/simKepler/)) {
+else if (Program.platformName.match(/simKepler/) ||
+ Program.cpu.deviceName.match(/^TMS320TCI6638$/)) {
var NotifyDriverCirc =
xdc.useModule('ti.sdo.ipc.notifyDrivers.NotifyDriverCirc');
var Interrupt = xdc.useModule('ti.ipc.family.tci6638.Interrupt');
if (Program.platformName.match(/6614/)) {
Notify.SetupProxy = xdc.module('ti.ipc.family.tci6614.NotifySetup');
}
-else if (Program.platformName.match(/simKepler/)) {
+else if (Program.platformName.match(/simKepler/) ||
+ Program.cpu.deviceName.match(/^TMS320TCI6638$/)) {
Notify.SetupProxy = xdc.module('ti.ipc.family.tci6638.NotifyCircSetup');
}
diff --git a/packages/ti/ipc/tests/messageq_common.cfg.xs b/packages/ti/ipc/tests/messageq_common.cfg.xs
index 697008cc92584ac8209739122551852cc44c7226..c184b01e1786db21944ee94ee5e875d6dc8e9e6c 100644 (file)
Diags.ALWAYS_ON);
*/
}
-else if (Program.platformName.match(/simKepler/)) {
+else if (Program.platformName.match(/simKepler/) ||
+ Program.cpu.deviceName.match(/^TMS320TCI6638$/)) {
var VirtQueue = xdc.useModule('ti.ipc.family.tci6638.VirtQueue');
var Interrupt = xdc.useModule('ti.ipc.family.tci6638.Interrupt');
*/
}
else {
- throw("messageq_common.cfg: Did not match any platform!");
+ throw("messageq_common.cfg.xs: Did not match any platform!");
}
Hwi.enableException = true;
diff --git a/packages/ti/ipc/tests/messageq_multicore.cfg b/packages/ti/ipc/tests/messageq_multicore.cfg
index 89eb6739bb7220a81a475801a277bcf1b2b0b37d..e4a8775c6862fe5fa0fc8123bf7dc0c5570308f5 100644 (file)
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
+ */
-switch (Program.platformName) {
- case "ti.platforms.evm6614:DSP":
- var nameList = ["CORE0", "CORE1", "CORE2", "CORE3"];
+var nameList = "";
+switch (Program.cpu.deviceName) {
+ case "TMS320TCI6614":
+ nameList = ["CORE0", "CORE1", "CORE2", "CORE3"];
break;
- case "ti.platforms.simKepler":
- var nameList = ["CORE0", "CORE1", "CORE2", "CORE3",
- "CORE4", "CORE5", "CORE6", "CORE7"];
+
+ case "Kepler":
+ case "TMS320TCI6638":
+ nameList = ["CORE0", "CORE1", "CORE2", "CORE3", "CORE4", "CORE5",
+ "CORE6", "CORE7"];
break;
+
default:
- throw("Platform " + Program.platformName + " not supported by this example");
+ throw("Device " + Program.cpu.deviceName +
+ " not supported by this example");
break;
}
var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ');
var Ipc = xdc.useModule('ti.sdo.ipc.Ipc');
var HeapBufMP = xdc.useModule('ti.sdo.ipc.heaps.HeapBufMP');
-var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
/* BIOS/XDC modules */
var BIOS = xdc.useModule('ti.sysbios.BIOS');
index 7c9c776c5276e4566af9221fd60ae36ee949b683..c41b8c97b23c7a05c4ac53e1f3dee840bbbfb971 100644 (file)
/* currently only build for OMAPL138, Keystone II, and OMAP5*/
if (!((platform.match(/^ti\.platforms\.evm6614\:DSP/)) ||
(platform.match(/^ti\.platforms\.simKepler/)) ||
+ (platform.match(/^ti.platforms.evmTCI6638K2K/)) ||
(platform.match(/^ti\.platform\.omap54xx/)) ||
(platform.match(/\.platforms\.evmOMAPL138/)))) {
continue;
/* Only build this for our multicore platforms: */
if (platform.match(/^ti\.platforms\.simKepler/) ||
- platform.match(/^ti\.platforms\.evm6614\:DSP/)) {
- Pkg.addExecutable(name + "/messageq_multicore",targ,platform, {
- cfgScript: "messageq_multicore",
- //defs: "-D TCI6614_v33"
- //defs: "-D TCI6614"
- defs: "-D TCI6638"
- }).addObjects(["messageq_multicore.c"]);
-
- Pkg.addExecutable(name + "/dual_transports",targ,platform, {
- cfgScript: "dual_transports",
- }).addObjects(["dual_transports.c"]);
+ (platform.match(/^ti.platforms.evmTCI6638K2K/)) ||
+ (platform.match(/^ti\.platforms\.evm6614\:DSP/))) {
+ Pkg.addExecutable(name + "/messageq_multicore", targ, platform, {
+ cfgScript: "messageq_multicore",
+ //defs: "-D TCI6614_v33"
+ //defs: "-D TCI6614"
+ defs: "-D TCI6638"
+ }).addObjects(["messageq_multicore.c"]);
+
+ Pkg.addExecutable(name + "/dual_transports", targ, platform, {
+ cfgScript: "dual_transports",
+ }).addObjects(["dual_transports.c"]);
}
Pkg.addExecutable(name + "/messageq_multi", targ, platform, {
diff --git a/packages/ti/ipc/tests/ping_rpmsg_common.cfg.xs b/packages/ti/ipc/tests/ping_rpmsg_common.cfg.xs
index bb3ee654500cd037458025171e731b5819151fa3..7cb15632308152173c9ba9ea2b8c82d99a72639b 100644 (file)
Diags.ALWAYS_ON);
*/
}
-else if (Program.platformName.match(/simKepler/)) {
+else if (Program.platformName.match(/simKepler/) ||
+ Program.platformName.match(/evmTCI6638K2K/)) {
var VirtQueue = xdc.useModule('ti.ipc.family.tci6638.VirtQueue');
var Interrupt = xdc.useModule('ti.ipc.family.tci6638.Interrupt');
index 76d1821edf9ac662f7398ef05f47b0eb835a6cff..83d2a552e40bc82301794c12ad63aa4823d80f26 100644 (file)
'TMS320TCI6636' : ["CORE0", "CORE1", "CORE2", "CORE3",
"CORE4", "CORE5", "CORE6", "CORE7",
"HOST0", "HOST1", "HOST2", "HOST3"],
- 'TMS320TCI6638' : ["CORE0", "CORE1", "CORE2", "CORE3",
- "CORE4", "CORE5", "CORE6", "CORE7",
- "HOST0", "HOST1", "HOST2", "HOST3"],
+
+ /*
+ * Note, the name "HOST" was intentionally chosen as a proc name to
+ * accomodate TransportVirtio, a common transport on these platforms.
+ */
+ 'TMS320TCI6638' : ["HOST", "CORE0", "CORE1", "CORE2", "CORE3",
+ "CORE4", "CORE5", "CORE6", "CORE7"],
'Kepler' : ["HOST", "CORE0", "CORE1", "CORE2", "CORE3",
"CORE4", "CORE5", "CORE6", "CORE7"],
+
'TMS320C6674' : ["CORE0", "CORE1", "CORE2", "CORE3"],
'TMS320C6678' : ["CORE0", "CORE1", "CORE2", "CORE3",
"CORE4", "CORE5", "CORE6", "CORE7"],
if (deviceName == "TMS320C6472" ||
deviceName == "TMS320CTCI6486") {
return ('ti.sdo.ipc.gates.GateAAMonitor');
- }
- else if (deviceName == "TMS320C6A8149") {
+ }
+ else if (deviceName == "TMS320C6A8149") {
return ('ti.sdo.ipc.gates.GatePetersonN');
}
try {
diff --git a/packages/ti/sdo/ipc/family/tci663x/Interrupt.xs b/packages/ti/sdo/ipc/family/tci663x/Interrupt.xs
index c7f30da544ec0fcb0e998937828d41be98a5da6f..230b771f37a6416a064f0a71ce1bb242deac6a55 100644 (file)
IPCAR0: 0x02620280,
INTERDSPINT: 105,
},
+ 'TMS320TCI6638' : {
+ IPCGR0: 0x02620240,
+ IPCAR0: 0x02620280,
+ INTERDSPINT: 105,
+ },
}
var Settings = xdc.loadCapsule('ti/sdo/ipc/family/Settings.xs');
Settings.setDeviceAliases(deviceSettings, Settings.deviceAliases);