ti-dsplink: Add support for DM6446 build (~ from Niclas)
authorRoger Monk <r-monk@ti.com>
Fri, 5 Mar 2010 19:37:26 +0000 (19:37 +0000)
committerKoen Kooi <koen@openembedded.org>
Mon, 12 Apr 2010 17:43:22 +0000 (19:43 +0200)
   * patches for DM6446 dsplink build

Signed-off-by: Roger Monk <r-monk@ti.com>
Signed-off-by: Koen Kooi <k-kooi@ti.com>
recipes/ti/ti-dsplink.inc
recipes/ti/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch [new file with mode: 0644]
recipes/ti/ti-dsplink_1.64.bb

index 9fc1375..721d3a2 100644 (file)
@@ -43,7 +43,7 @@ DSPLINKDSPCFG_omapl138    = "OMAPL138GEMSHMEM"
 DSPLINKDSPCFG_omap3       = "OMAP3530SHMEM"
 DSPLINKDSPCFG            ?= "<UNDEFINED_DSPLINKDSPCFG>"
 
-DSPLINKGPPOS_dm6446       = "MVL5G"
+DSPLINKGPPOS_dm6446       = "DM6446LSP"
 DSPLINKGPPOS_dm6467       = "DM6467LSP"
 DSPLINKGPPOS_omapl137     = "MVL5G"
 DSPLINKGPPOS_omapl138     = "ARM"
diff --git a/recipes/ti/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch b/recipes/ti/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch
new file mode 100644 (file)
index 0000000..5a25dbb
--- /dev/null
@@ -0,0 +1,337 @@
+From 7b36e94dcb33892e1df7d3327db31bd41fb6167e Mon Sep 17 00:00:00 2001
+From: Roger Monk <r-monk@ti.com>
+Date: Fri, 5 Mar 2010 19:22:58 +0000
+Subject: [PATCH] dsplink_1_64:  Add support for building with CS tools + against 2.6.30+
+
+   * Tweaked Patches from Niclas
+
+Signed-off-by: Roger Monk <r-monk@ti.com>
+---
+ dsplink/config/bin/dsplinkcfg.pl  |   17 ++++-
+ dsplink/gpp/src/DIRS              |    5 +
+ dslpink/gpp/src/Makefile          |    8 ++-
+ dsplink/gpp/src/Rules.mk          |    5 +
+ dsplink/make/Linux/davinci_2.6.mk |  211 +++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 244 insertions(+), 2 deletions(-)
+ create mode 100644 make/Linux/davinci_2.6.mk
+
+diff --git a/dsplink/config/bin/dsplinkcfg.pl b/dsplink/config/bin/dsplinkcfg.pl
+index 644aa38..e83c133 100644
+--- a/dsplink/config/bin/dsplinkcfg.pl
++++ b/dsplink/config/bin/dsplinkcfg.pl
+@@ -215,6 +215,18 @@ my %CFG_GPPOS_DM6467LSPuc =
+     'OSPREFIX' => 'uc',
+ ) ;
++# DM6446 Linux
++my %CFG_GPPOS_DM6446LSP =
++(
++    'NAME'   => 'DM6446LSP',
++    'PREFIX' => '2.6',
++    'ID'     => 'DM6446LSP',
++    'DESC'   => 'DM6446 LSP for DM6446',
++    'VER'    => '2.6.18',
++    'TYPE'   => 'Linux',
++    'LOADERS'=> [\%CFG_LOADER_COFF, ],
++    'COMPS'  => 'ponslrmc',
++) ;
+ # OMAPL138 Linux with uCLibc filesystem
+ my %CFG_GPPOS_OMAPL138LSPuc =
+@@ -356,7 +368,7 @@ my %CFG_DSPCFG_DM6446GEMSHMEM =
+     'PHYID'     => 'DM6446GEMSHMEM',
+     'PHYDESC'   => 'Shared Memory Physical Interface',
+     'PHYTYPE'   => 'SHMEM',
+-    'GPPOS'     => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G],
++    'GPPOS'     => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G, \%CFG_GPPOS_DM6446LSP],
+     'DSPOS'     => [\%CFG_DSPOS_5XX, \%CFG_DSPOS_6XX],
+ # DSP defines
+     'DSPNAME'   => 'DM6446GEM',
+@@ -2994,6 +3006,9 @@ sub main {
+     if ($platform {'ID'} eq 'DA850') {
+         print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
+     }
++    if ($platform {'ID'} eq 'DAVINCI') {
++        print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
++    }
+     if ($platform {'ID'} eq 'DAVINCIHD') {
+         print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
+     }
+diff --git a/dsplink/gpp/src/DIRS b/dsplink/gpp/src/DIRS
+index e82969c..05bad2b 100644
+--- a/dsplink/gpp/src/DIRS
++++ b/dsplink/gpp/src/DIRS
+@@ -63,6 +63,10 @@ ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
+ DIRS  +=     \
+     api
+ else # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
++ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++DIRS  +=     \
++    api
++else # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+ ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+ DIRS  +=     \
+     api
+@@ -77,6 +81,7 @@ DIRS  +=     \
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
++endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+ else  # ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
+ DIRS  +=     \
+diff --git a/dsplink/gpp/src/Makefile b/dsplink/gpp/src/Makefile
+index 9e6bbb1..49c3b97 100644
+--- a/dsplink/gpp/src/Makefile
++++ b/dsplink/gpp/src/Makefile
+@@ -78,7 +78,13 @@ ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
+                     include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
+                     include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
+               else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD") 
+-                  include Makefile_bld
++                  ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++                        include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_bld
++                        include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
++                        include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
++                  else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++                      include Makefile_bld
++                  endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+               endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
+            endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+         endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+diff --git a/dsplink/gpp/src/Rules.mk b/dsplink/gpp/src/Rules.mk
+index 658ee8a..5a6f52a 100644
+--- a/dsplink/gpp/src/Rules.mk
++++ b/dsplink/gpp/src/Rules.mk
+@@ -63,6 +63,11 @@ KERNEL_DIR    := ${HOME}/da850/DaVinci-PSP-SDK-03.20.00.01/src/kernel/linux-03.2
+ TOOL_PATH     := ${HOME}/git/arm-2008q3/bin
+ endif #ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
++ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++KERNEL_DIR    := ${HOME}/linux-davinci
++TOOL_PATH     := ${HOME}/toolchains/git/arm-2009q1-203/bin
++endif #ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++
+ ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
+ KERNEL_DIR    := ${HOME}/linux-davinci
+ TOOL_PATH     := ${HOME}/toolchains/git/arm-2009q1-203/bin
+diff --git a/dsplink/make/Linux/davinci_2.6.mk b/dsplink/make/Linux/davinci_2.6.mk
+new file mode 100644
+index 0000000..834fd74
+--- /dev/null
++++ b/dsplink/make/Linux/davinci_2.6.mk
+@@ -0,0 +1,211 @@
++#   ============================================================================
++#   @file   davinci_2.6.mk
++#
++#   @path   $(DSPLINK)/make/Linux/
++#
++#   @desc   This makefile defines OS specific macros used by MAKE system for
++#           the Montavista Pro 5.0 Linux distribution.
++#
++#   @ver    1.64
++#   ============================================================================
++#   Copyright (C) 2002-2009, Texas Instruments Incorporated -
++#   http://www.ti.com/
++#
++#   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.
++#   ============================================================================
++
++
++ifndef DAVINCI_LINUX2_6_MK
++
++define DAVINCI_LINUX2_6_MK
++endef
++
++
++#   ============================================================================
++#   Let the make system know that a specific distribution for the GPP OS
++#   is being used.
++#   ============================================================================
++USE_DISTRIBUTION := 1
++
++
++#   ============================================================================
++#   Set the values of necessary variables to be used for the OS.
++#   ============================================================================
++
++#   ----------------------------------------------------------------------------
++#   Base directory for the GPP OS
++#   ----------------------------------------------------------------------------
++BASE_BUILDOS    := ${HOME}/linux-davinci
++
++#   ----------------------------------------------------------------------------
++#   Base for toolchain
++#   ----------------------------------------------------------------------------
++BASE_TOOLCHAIN    := ${HOME}/toolchains/git/arm-2009q1-203
++
++#   ----------------------------------------------------------------------------
++#   Base for code generation tools - compiler, linker, archiver etc.
++#   ----------------------------------------------------------------------------
++BASE_CGTOOLS    := $(BASE_TOOLCHAIN)/bin
++
++#   ----------------------------------------------------------------------------
++#   Base directory for include files provided by GPP OS
++#   ----------------------------------------------------------------------------
++BASE_OSINC      := $(BASE_BUILDOS)/include
++
++OSINC_GENERIC   := $(BASE_OSINC)
++OSINC_PLATFORM  := $(BASE_TOOLCHAIN)/lib/gcc/arm-none-linux-gnueabi/4.2.3/include
++OSINC_TARGET    := $(BASE_TOOLCHAIN)/arm-none-linux-gnueabi/libc/usr/include
++
++ifneq ("$(VARIANT)", "")
++OSINC_VARIANT   := $(BASE_OSINC)
++endif
++
++
++#   ----------------------------------------------------------------------------
++#   Base directory for libraries provided by GPP OS
++#   ----------------------------------------------------------------------------
++BASE_OSLIB      := $(BASE_TOOLCHAIN)/lib
++
++OSLIB_GENERIC   := $(BASE_OSLIB)
++OSLIB_PLATFORM  := $(BASE_OSLIB)
++
++
++ifneq ("$(VARIANT)", "")
++OSLIB_VARIANT   := $(BASE_OSLIB)
++endif
++
++
++#   ============================================================================
++#   COMPILER
++#   ============================================================================
++
++#   ----------------------------------------------------------------------------
++#   Name of the compiler
++#   ----------------------------------------------------------------------------
++COMPILER        := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
++LD              := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ld
++
++CROSS_COMPILE   := arm-none-linux-gnueabi-
++export CROSS_COMPILE
++
++#   ----------------------------------------------------------------------------
++#   Command line switches used by the compiler
++#
++#   CC_SW_DEF       Command line defines
++#   CC_SW_INC       Search path for header files
++#   CC_SW_OBJ       Create object file
++#   CC_SW_DEB       Include debug information
++#   ----------------------------------------------------------------------------
++CC_SW_DEF       := -D
++CC_SW_INC       := -I
++CC_SW_OBJ       := -o
++CC_SW_DEB       := -g
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the compiler
++#   ----------------------------------------------------------------------------
++STD_USER_FLAGS  := -Wall -c
++
++#   ----------------------------------------------------------------------------
++#   Flags for the compiler when building a library
++#   ----------------------------------------------------------------------------
++EXE_CC_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the compiler when building an executable
++#   ----------------------------------------------------------------------------
++DRV_CC_FLAGS    := -nostdinc
++
++#   ----------------------------------------------------------------------------
++#   Flags for the compiler when building a driver
++#   ----------------------------------------------------------------------------
++LIB_CC_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard definitions for the compiler
++#   ----------------------------------------------------------------------------
++STD_CC_DEFNS    := -D_REENTRANT
++
++#   ============================================================================
++#   ARCHIVER2 - This denotes the archiver.
++#   ============================================================================
++ARCHIVER        := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ar
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the archiver
++#   ----------------------------------------------------------------------------
++STD_AR_FLAGS    := -rs
++
++
++#   ============================================================================
++#   LINKER used for Library & Driver build
++#   ============================================================================
++LINKER      := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
++
++#   ----------------------------------------------------------------------------
++#   Command line switches used by the linker
++#
++#   LD_SW_LIB       Search path for libraries
++#   LD_SW_OUT       Output filename
++#   LD_SW_RELOC     Generate relocateable output
++#   ----------------------------------------------------------------------------
++LD_SW_LIB       := -L
++LD_SW_OUT       := -o
++LD_SW_RELOC     := -r
++
++#   ----------------------------------------------------------------------------
++#   Flags for the LD when building an executable
++#   ----------------------------------------------------------------------------
++STD_LD_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the LD
++#   ----------------------------------------------------------------------------
++EXE_LD_FLAGS    := -lpthread -lc
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the archiver
++#   ----------------------------------------------------------------------------
++DRV_LD_FLAGS    :=
++
++
++#   ============================================================================
++#   Post processing utilities for Linux 2.6
++#   ============================================================================
++ifneq ($(CONFIG_MODVERSIONS),)
++CMD_MODPOST_FLAGS := -m -i
++else
++CMD_MODPOST_FLAGS := -i
++endif
++
++CMD_MODPOST := $(BASE_BUILDOS)/scripts/mod/modpost \
++               $(CMD_MODPOST_FLAGS) $(BASE_BUILDOS)/Module.symvers \
++               $(BASE_BUILDOS)/vmlinux
++
++
++endif   # ifndef DAVINCI_LINUX2_6_MK
+-- 
+1.6.0.6
+
index d457e50..9cc4e41 100644 (file)
@@ -6,7 +6,8 @@ PV = "1_64"
 SRC_URI[dsplinktarball.md5sum] = "90223da7c88af57d12936adeba1a0661"
 SRC_URI[dsplinktarball.sha256sum] = "32b6fbae2b61f5f71ab3eae9d2f5ad6b75d682ad8bde9963152830be1f8d286b"
 
-SRC_URI_append = "file://dsplink_1_64_kernel_2_6_33_autoconf.patch;patch=1 "
+SRC_URI_append = "file://dsplink_1_64_kernel_2_6_33_autoconf.patch;patch=1 \
+                  file://dsplink_1_64_add_dm6446_build_support.patch;patch=1 "
 
 # Cheat a bit with includes
 # SZ_1k = 0x00000400