TCI6630: Linux: Introduce support for TCI6630K2L
authorChris Ring <cring@ti.com>
Fri, 17 Jan 2014 01:07:41 +0000 (17:07 -0800)
committerChris Ring <cring@ti.com>
Tue, 21 Jan 2014 19:15:59 +0000 (11:15 -0800)
The TCI6630K2L device is an A15 + 4 C66 DSPs, very similar
to TCH6638K2K (A15 + 8 C66 DSPs).  This commit adds
Linux support.

Note that this commit doesn't update the autotools-generated
files.  That will be done in a separate commit.

configure.ac
linux/src/daemon/Makefile.am
linux/src/daemon/MultiProcCfg_tci6630.c [new file with mode: 0644]
linux/src/tests/Makefile.am

index c1dc1193ef21cb2c3b39d4f65ecdc88d66666caf..5af07488517fc869f023e5c1b0b6553431e4c09c 100644 (file)
@@ -67,7 +67,7 @@ AC_SUBST([AM_LDFLAGS])
 
 # Add config variables/options and check them
 # Note that 6614 isn't documented and, though it may work, is planned for removal
-AC_ARG_VAR(PLATFORM, Platform to build. Options are: 'OMAPL138' 'OMAP54XX' 'TCI6636' 'TCI6638' and 'DRA7XX'. If not defined all platforms will be built.)
+AC_ARG_VAR(PLATFORM, Platform to build. Options are: 'OMAPL138' 'OMAP54XX' 'TCI6630' 'TCI6636' 'TCI6638' and 'DRA7XX'. If not defined all platforms will be built.)
 AC_ARG_VAR(CMEM_INSTALL_DIR, Installation path directory to the CMEM libraries)
 AC_ARG_VAR(KERNEL_INSTALL_DIR, Installation path to the Linux kernel.)
 AC_ARG_VAR(DRM_PREFIX, Installation location to the DRM library.)
@@ -77,6 +77,8 @@ AS_IF([test "x$PLATFORM" = "xOMAPL138"],
   [AC_MSG_NOTICE([PLATFORM is set to ${PLATFORM}])],
   [AS_IF([test "x$PLATFORM" = "xTCI6614"],
   [AC_MSG_NOTICE([PLATFORM is set to ${PLATFORM}])],
+  [AS_IF([test "x$PLATFORM" = "xTCI6630"],
+  [AC_MSG_NOTICE([PLATFORM is set to ${PLATFORM}])],
   [AS_IF([test "x$PLATFORM" = "xTCI6636"],
   [AC_MSG_NOTICE([PLATFORM is set to ${PLATFORM}])],
   [AS_IF([test "x$PLATFORM" = "xTCI6638"],
@@ -87,7 +89,7 @@ AS_IF([test "x$PLATFORM" = "xOMAPL138"],
   [AC_MSG_NOTICE([PLATFORM is set to ${PLATFORM}])],
   [AS_IF([test "x$PLATFORM" = "x"],
   [AC_MSG_NOTICE([PLATFORM is not set. All supported platforms will be built ....])],
-  [AC_MSG_ERROR([PLATFORM is set to "${PLATFORM}": run ./configure --help for available PLATFORM options])])])])])])])])
+  [AC_MSG_ERROR([PLATFORM is set to "${PLATFORM}": run ./configure --help for available PLATFORM options])])])])])])])])])
 
 # Test for required KERNEL path
 AS_IF([test "x$KERNEL_INSTALL_DIR" = "x"],
@@ -107,6 +109,7 @@ AC_SUBST([DRM_PREFIX])
 # Define specific variables to be used in Makefile.am
 AM_CONDITIONAL([OMAPL138], [test "x$PLATFORM" = "xOMAPL138"])
 AM_CONDITIONAL([TCI6614], [test "x$PLATFORM" = "xTCI6614"])
+AM_CONDITIONAL([TCI6630], [test "x$PLATFORM" = "xTCI6630"])
 AM_CONDITIONAL([TCI6636], [test "x$PLATFORM" = "xTCI6636"])
 AM_CONDITIONAL([TCI6638], [test "x$PLATFORM" = "xTCI6638"])
 AM_CONDITIONAL([OMAP54XX_SMP], [test "x$PLATFORM" = "xOMAP54XX"])
index 4634d64b8a73a2149e15b42efeda4e2c39b46322..60849bef5e1057362f6ec19966a53b90f88bc626 100644 (file)
@@ -1,5 +1,5 @@
 ##
-##  Copyright (c) 2013, Texas Instruments Incorporated
+##  Copyright (c) 2013-2014, Texas Instruments Incorporated
 ##
 ##  Redistribution and use in source and binary forms, with or without
 ##  modification, are permitted provided that the following conditions
@@ -55,13 +55,17 @@ else
 if TCI6614
   bin_PROGRAMS += lad_tci6614
 else
-if TCI6638
-  bin_PROGRAMS += lad_tci6638
+if TCI6630
+  bin_PROGRAMS += lad_tci6630
 else
 if TCI6636
   bin_PROGRAMS += lad_tci6636
 else
-  bin_PROGRAMS += lad_omap54xx_smp lad_dra7xx lad_omapl138 lad_tci6614 lad_tci6636 lad_tci6638
+if TCI6638
+  bin_PROGRAMS += lad_tci6638
+else
+  bin_PROGRAMS += lad_omap54xx_smp lad_dra7xx lad_omapl138 lad_tci6614 lad_tci6630 lad_tci6636 lad_tci6638
+endif
 endif
 endif
 endif
@@ -95,6 +99,7 @@ lad_omap54xx_smp_SOURCES = $(common_sources) MultiProcCfg_omap54xx_smp.c
 lad_dra7xx_SOURCES = $(common_sources) MultiProcCfg_dra7xx.c
 lad_omapl138_SOURCES = $(common_sources) MultiProcCfg_omapl138.c
 lad_tci6614_SOURCES = $(common_sources) MultiProcCfg_tci6614.c
+lad_tci6630_SOURCES = $(common_sources) MultiProcCfg_tci6630.c
 lad_tci6636_SOURCES = $(common_sources) MultiProcCfg_tci6638.c
 lad_tci6638_SOURCES = $(common_sources) MultiProcCfg_tci6638.c
 
@@ -110,6 +115,8 @@ lad_omapl138_LDADD = $(common_libraries) \
                 $(AM_LDFLAGS)
 lad_tci6614_LDADD = $(common_libraries) \
                 $(AM_LDFLAGS)
+lad_tci6630_LDADD = $(common_libraries) \
+                $(AM_LDFLAGS)
 lad_tci6636_LDADD = $(common_libraries) \
                 $(AM_LDFLAGS)
 lad_tci6638_LDADD = $(common_libraries) \
diff --git a/linux/src/daemon/MultiProcCfg_tci6630.c b/linux/src/daemon/MultiProcCfg_tci6630.c
new file mode 100644 (file)
index 0000000..0c48322
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2012-2014, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * 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.
+ */
+/*
+ * ======== MultiProcCfg.c ========
+ * System-wide MultiProc configuration
+ */
+
+/* Standard IPC headers */
+#include <ti/ipc/Std.h>
+
+/* For Backplane IPC startup/shutdown stuff: */
+#include <_MultiProc.h>
+
+/* This must match BIOS side MultiProc configuration for given platform!: */
+MultiProc_Config _MultiProc_cfg =  {
+   .numProcessors = 5,
+   .nameList[0] = "HOST",
+   .nameList[1] = "CORE0",
+   .nameList[2] = "CORE1",
+   .nameList[3] = "CORE2",
+   .nameList[4] = "CORE3",
+   .rprocList[0] = -1,
+   .rprocList[1] = 0,
+   .rprocList[2] = 1,
+   .rprocList[3] = 2,
+   .rprocList[4] = 3,
+   .id = 0,                 /* The host is always zero */
+};
index 28894b99df8d623c23215fd6da8b6926113eead4..3059e3a0ad7eb0ed890c7189d8681386496550d3 100644 (file)
@@ -1,5 +1,5 @@
 ##
-##  Copyright (c) 2013, Texas Instruments Incorporated
+##  Copyright (c) 2013-2014, Texas Instruments Incorporated
 ##
 ##  Redistribution and use in source and binary forms, with or without
 ##  modification, are permitted provided that the following conditions
@@ -90,6 +90,10 @@ if TCI6614
 # Add platform specific bin application's here
   bin_PROGRAMS +=
 else
+if TCI6630
+# Add platform specific bin applications here
+  bin_PROGRAMS +=
+else
 if TCI6636
 # Add platform specific bin application's here
   bin_PROGRAMS +=
@@ -113,6 +117,7 @@ endif
 endif
 endif
 endif
+endif
 
 common_sources = \
                 $(top_srcdir)/linux/include/ti/ipc/Std.h \