summaryrefslogtreecommitdiff
path: root/recipes/ti/ti-dsplink
diff options
context:
space:
mode:
authorRoger Monk <r-monk@ti.com>2010-02-25 12:44:16 +0000
committerKoen Kooi <koen@openembedded.org>2010-04-12 19:43:20 +0200
commit73efa8afa568d88ebf94563e9200fbcdfb669fbe (patch)
treef28dc8590211701d69c3a607c98ba0108913406c /recipes/ti/ti-dsplink
parent893cba6c8ad21270753654af0d16fbed0288cc91 (diff)
ti recipes: Start moving /files into package specific directories
ti-codec-engine: Cleanup Codec Engine Recipe * Fix Installer Issues * Cleanup Variable Names + Add for all targets * Remove non-tspa older 2.24.01 recipe * Add omapl137 depends ti-xdais: Recipe Cleanup ti-dsplink: Add runscript to run all example applications (for easy testing) * Add run script * Rename load/unload scripts for consistency * Use _append instead of += for RDEPENDS * ti-dsplink: fix GPPOS for omapl137 * SED out CROSS_COMPILE from dsplink Makefile gstreamer-ti: Recipe Cleanup align with other recipes * Recipe cleanup, cosmetics * Move required variables inside recipe * Ensure all targets have variables assigned * Add -rc scripts for all targets * Add runtime recommends for all targets * Needs LINUXKERNEL_INSTALL_DIR setting * export LINUXKERNEL_INSTALL_DIR for gstreamer_ti * add logic for patching to newer kernel (mach/omapfb) * don't error out if the sed on omapfb fails since the header won't be there for non-omap3 ti-codecs: Recipe cleanup for omapl, omap3 and dm6446 * Cleanup of omap3, omapl138, omapl137, dm6446 * Start building omapl138 recipe * Add prepsources step * Package codecs into -server package * Add qualiTI reports and codec data sheet * Variable cleanup * Set stage for common codec build recipe * Temp comment out variables, for removal in subsequent commit after validation ti-dmai: Recipe cleanup * Recipe cleanup, cosmetics * Move required variables inside recipe, remove unused variables * Runtime deps for -apps, -tests * Add loadmodules script for omapl137 * Need to pass path to CE 'example' codecs for arm side audio codec (g711) ti-local-power-manager: Set XDC_PLATFORM * lpm needs XDC platform defined. Signed-off-by: Roger Monk <r-monk@ti.com> Signed-off-by: Koen Kooi <k-kooi@ti.com>
Diffstat (limited to 'recipes/ti/ti-dsplink')
-rw-r--r--recipes/ti/ti-dsplink/Makefile-dsplink-dsp59
-rw-r--r--recipes/ti/ti-dsplink/Makefile-dsplink-gpp120
-rw-r--r--recipes/ti/ti-dsplink/dsplink-128M.patch104
-rw-r--r--recipes/ti/ti-dsplink/dsplink-add-class-device-create-support.patch55
-rw-r--r--recipes/ti/ti-dsplink/dsplink-semaphore-27.patch36
-rw-r--r--recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch335
-rwxr-xr-xrecipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh25
-rwxr-xr-xrecipes/ti/ti-dsplink/ti-dsplink-examples-run.sh25
-rwxr-xr-xrecipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh5
9 files changed, 764 insertions, 0 deletions
diff --git a/recipes/ti/ti-dsplink/Makefile-dsplink-dsp b/recipes/ti/ti-dsplink/Makefile-dsplink-dsp
new file mode 100644
index 0000000000..0861f1ee21
--- /dev/null
+++ b/recipes/ti/ti-dsplink/Makefile-dsplink-dsp
@@ -0,0 +1,59 @@
+#
+# ======== makeunix ========
+#
+
+# Import Tools Path from Rules.make
+#include Rules.make
+
+PROJECT_BASE_DIR = $(shell pwd)
+LINUXKERNEL_INSTALL_DIR:=some-path/kernel
+LINK_INSTALL_DIR := some-path/dsplink_1_51/dsplink
+
+# The prefix to be added before the GNU compiler tools (optionally including
+# path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".
+GPPTOOL_DIR:=some-path/cross
+
+# ---- DSP tools ----
+DSP_BASE_CGTOOLS := some-path/cg6x_6_0_19
+DSP_BASE_BIOS := some-path/bios_5_32_03
+DSP_BASE_RTDX := some-path/bios_5_32_03/packages/ti/rtdx
+OSINC_PLATFORM1 := something
+ARCHIVER_AR := something
+
+
+# ---- construct Link build make vars ----
+GPP_MAKE_OPTS := COMPILER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \
+ LINKER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \
+ LD=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \
+ ARCHIVER1=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \
+ ARCHIVER2=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \
+ CROSS_COMPILE=arm-angstrom-linux-gnueabi- \
+ DSPLINK=$(LINK_INSTALL_DIR) \
+ BASE_TOOLCHAIN=$(GPPTOOL_DIR) \
+ BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) \
+ ARCHIVER=$(ARCHIVER_AR) OSINC_PLATFORM=$(OSINC_PLATFORM1) \
+
+DSP_MAKE_OPTS := DSPLINK=$(DSPLINK) \
+ DPPROOT=$(DSPLINK)/dsp \
+ BASE_SABIOS=$(DSP_BASE_BIOS) \
+ BASE_CGTOOLS=$(DSP_BASE_CGTOOLS) \
+ BASE_RTDX=$(DSP_BASE_RTDX)
+
+
+# ======== all ========
+all: $(LINK_INSTALL_DIR)/packages/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko
+
+$(LINK_INSTALL_DIR)/packages/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko:
+ #@echo Building DSPLINK GPP driver, libs
+ #make -s -C $(LINK_INSTALL_DIR)/gpp/src $(GPP_MAKE_OPTS)
+ #make -s -C $(DSPLINK)/gpp/src/samples $(GPP_MAKE_OPTS)
+ @echo Building DSPLINK DSP libs and message sample for DaVinci...
+ make -C $(DSPLINK)/dsp/src $(DSP_MAKE_OPTS)
+ make -C $(DSPLINK)/dsp/src/samples $(DSP_MAKE_OPTS)
+
+# clean rules
+clean:
+ @echo Cleaning DSPLINK GPP driver, libs
+ make -s -C $(LINK_INSTALL_DIR)/gpp/src $(GPP_MAKE_OPTS) clean
+ @rm -rf $(LINK_INSTALL_DIR)/gpp/export/BIN/*
+ @rm -rf $(LINK_INSTALL_DIR)/gpp/export/INCLUDE/*
diff --git a/recipes/ti/ti-dsplink/Makefile-dsplink-gpp b/recipes/ti/ti-dsplink/Makefile-dsplink-gpp
new file mode 100644
index 0000000000..d9f2f6209a
--- /dev/null
+++ b/recipes/ti/ti-dsplink/Makefile-dsplink-gpp
@@ -0,0 +1,120 @@
+# Composite Makefile
+DIRSEP=/
+
+TI_DSPLINK_RELATIVE_PATH :=../../../../
+
+# include the CURRENTCFG.mk
+include $(DSPLINK)$(DIRSEP)config$(DIRSEP)BUILD$(DIRSEP)CURRENTCFG.MK
+
+# Generate the list of sources
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)arch$(DIRSEP)SOURCES
+ARCH_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)arch$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP)SOURCES
+LDRV_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES
+LDRV_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)gen$(DIRSEP)SOURCES
+GEN_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)gen$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)SOURCES
+PMGR_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES
+PMGR_SOURCES += $(addpreifx $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP)SOURCES
+PMGR_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)SOURCES
+OSAL_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES
+OSAL_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP)SOURCES
+OSAL_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP),$(SOURCES))
+
+DSPLINK_SOURCES := $(ARCH_SOURCES) $(LDRV_SOURCES) $(GEN_SOURCES) $(OSAL_SOURCES) $(PMGR_SOURCES)
+DSPLINK_OBJS := $(foreach srcFile, $(DSPLINK_SOURCES),$(basename $(srcFile)).o)
+
+# EXTRA_CFLAGS
+EXTRA_CFLAGS += $(addprefix -D, $(TI_DSPLINK_GPP_DEFINES))
+EXTRA_CFLAGS += $(addprefix -I, $(TI_DSPLINK_GPP_INC_PATH))
+EXTRA_CFLAGS += -DEXPORT_SYMTAB
+EXTRA_CFLAGS += -DTRACE_KERNEL
+
+ifneq ($(KERNELRELEASE),)
+obj-m := dsplinkk.o
+dsplinkk-objs := $(DSPLINK_OBJS)
+else
+KDIR := /path/to/kernel/
+PWD := $(shell pwd)
+driver:
+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+endif
+
+clean:
+ @echo DSPLINK - cleaning driver, library and samples
+ find $(DSPLINK) -name "*.o" -exec rm {} \;
+ rm -fr dsplinkk.ko dsplinkk.mod.c Module.symvers *gpp *.a *.lib
+
+################################################################################################
+# USER SIDE
+BUILD_CONFIG := ..$(DIRSEP)..$(DIRSEP)..$(DIRSEP)config$(DIRSEP)BUILD
+# Generate the list of sources
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP)SOURCES
+API_SOURCES := $(addprefix $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP),$(SOURCES))
+SOURCES :=
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES
+API_SOURCES += $(addprefix $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES))
+
+# Update the CFLAG
+#CC = arm-none-linux-gnueabi-gcc
+#AR = arm-none-linux-gnueabi-ar
+#LD = arm-none-linux-gnueabi-ld
+ARFLAGS = -rs
+LDFLAGS = -r
+EXTRA_CFLAGS += $(addprefix -D, $(TI_DSPLINK_GPP_DEFINES)) $(addprefix -I, $(TI_DSPLINK_GPP_INC_PATH))
+
+define CONFIG_template
+$(shell cp $(DSPLINK)$(DIRSEP)config$(DIRSEP)all$(DIRSEP)$(1) $(DSPLINK)$(DIRSEP)config$(DIRSEP)BUILD$(DIRSEP))
+endef
+
+define PROGRAM_template
+$(basename $(1)).o: $(1)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $(1) -o $(basename $(1)).o
+endef
+$(foreach prog,$(API_SOURCES),$(eval $(call PROGRAM_template,$(prog))))
+$(foreach prog,$(CONFIG),$(eval $(call CONFIG_template,$(prog))))
+
+DSPLINK_API_OBJS := $(foreach srcFile, $(API_SOURCES),$(basename $(srcFile)).o)
+
+library: $(DSPLINK_API_OBJS)
+ @echo DSPLINK - building user library - dsplink.lib
+ $(LD) $(LDFLAGS) -o dsplink.lib $(DSPLINK_API_OBJS)
+ $(AR) $(ARFLAGS) dsplink.a $(DSPLINK_API_OBJS)
+
+
+######################################### SAMPLES ###################################
+SOURCES :=
+define SAMPLES_template
+ifneq ($(1),message_multi)
+$(1): $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(1).c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(1)_os.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS) -o $(1)gpp $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(1).c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(1)_os.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)main.c dsplink.lib -lpthread
+else
+$(1): $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)message.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)message_os.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS) -o $(1)gpp $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)message.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)message_os.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)main.c dsplink.lib -lpthread
+endif
+endef
+
+include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)DIRS
+$(foreach prog,$(DIRS),$(eval $(call SAMPLES_template,$(prog))))
+
+samples: $(foreach prog,$(DIRS),$(prog))
+
+all: driver library samples
diff --git a/recipes/ti/ti-dsplink/dsplink-128M.patch b/recipes/ti/ti-dsplink/dsplink-128M.patch
new file mode 100644
index 0000000000..ff5902bf50
--- /dev/null
+++ b/recipes/ti/ti-dsplink/dsplink-128M.patch
@@ -0,0 +1,104 @@
+diff -Nurd dsplink_1_50/dsplink/config/all/CFG_Davinci_DM6446.c dsplink_1_50.work/dsplink/config/all/CFG_Davinci_DM6446.c
+--- dsplink_1_50/dsplink/config/all/CFG_Davinci_DM6446.c 2007-12-03 08:11:41.000000000 -0500
++++ dsplink_1_50.work/dsplink/config/all/CFG_Davinci_DM6446.c 2008-07-29 16:52:28.000000000 -0400
+@@ -69,8 +69,8 @@
+ FALSE, /* AUTOSTART : Autostart the DSP (Not supported) */
+ "DEFAULT.OUT", /* EXECUTABLE : Executable for autostart */
+ TRUE, /* DOPOWERCTRL : Link does the Power Ctrl of DSP. */
+- 0x8FF00020, /* RESUMEADDR : Resume address */
+- 0x8FF00000, /* RESETVECTOR : Reset Vector for the DSP */
++ 0x87000020, /* RESUMEADDR : Resume address */
++ 0x87000000, /* RESETVECTOR : Reset Vector for the DSP */
+ 0x80, /* RESETCODESIZE : Size of code at DSP Reset Vector */
+ 1, /* MADUSIZE : DSP Minimum Addressable Data Unit */
+ (Uint32) -1, /* CPUFREQ : DSP Frequency (in KHz), -1 if default setting is to be used */
+@@ -93,8 +93,8 @@
+ {
+ 0, /* ENTRY : Entry number */
+ "DSPLINKMEM", /* NAME : Name of the memory region */
+- 0x8FE00000, /* ADDRPHYS : Physical address */
+- 0x8FE00000, /* ADDRDSPVIRT : DSP virtual address */
++ 0x87000000, /* ADDRPHYS : Physical address */
++ 0x87000000, /* ADDRDSPVIRT : DSP virtual address */
+ (Uint32) -1, /* ADDRGPPVIRT : GPP virtual address (if known) */
+ 0x5000, /* SIZE : Size of the memory region */
+ TRUE /* SHARED : Shared access memory? */
+@@ -102,8 +102,8 @@
+ {
+ 1, /* ENTRY : Entry number */
+ "DSPLINKMEM1", /* NAME : Name of the memory region */
+- 0x8FE05000, /* ADDRPHYS : Physical address */
+- 0x8FE05000, /* ADDRDSPVIRT : DSP virtual address */
++ 0x87005000, /* ADDRPHYS : Physical address */
++ 0x87005000, /* ADDRDSPVIRT : DSP virtual address */
+ (Uint32) -1, /* ADDRGPPVIRT : GPP virtual address (if known) */
+ 0xFB000, /* SIZE : Size of the memory region */
+ TRUE /* SHARED : Shared access memory? */
+@@ -111,8 +111,8 @@
+ {
+ 2, /* ENTRY : Entry number */
+ "RESETCTRL", /* NAME : Name of the memory region */
+- 0x8FF00000, /* ADDRPHYS : Physical address */
+- 0x8FF00000, /* ADDRDSPVIRT : DSP virtual address */
++ 0x87100000, /* ADDRPHYS : Physical address */
++ 0x87100000, /* ADDRDSPVIRT : DSP virtual address */
+ (Uint32) -1, /* ADDRGPPVIRT : GPP virtual address (if known) */
+ 0x00000080, /* SIZE : Size of the memory region */
+ FALSE /* SHARED : Shared access memory? */
+@@ -120,10 +120,10 @@
+ {
+ 3, /* ENTRY : Entry number */
+ "DDR", /* NAME : Name of the memory region */
+- 0x8FF00080, /* ADDRPHYS : Physical address */
+- 0x8FF00080, /* ADDRDSPVIRT : DSP virtual address */
++ 0x87100080, /* ADDRPHYS : Physical address */
++ 0x87100080, /* ADDRDSPVIRT : DSP virtual address */
+ (Uint32) -1, /* ADDRGPPVIRT : GPP virtual address (if known) */
+- 0xFFF80, /* SIZE : Size of the memory region */
++ 0xEFFF80, /* SIZE : Size of the memory region */
+ FALSE /* SHARED : Shared access memory? */
+ },
+ {
+diff -Nurd dsplink_1_50/dsplink/dsp/inc/DspBios/Davinci/DM6446/dsplink-davinci-base.tci dsplink_1_50.work/dsplink/dsp/inc/DspBios/Davinci/DM6446/dsplink-davinci-base.tci
+--- dsplink_1_50/dsplink/dsp/inc/DspBios/Davinci/DM6446/dsplink-davinci-base.tci 2007-12-03 08:11:55.000000000 -0500
++++ dsplink_1_50.work/dsplink/dsp/inc/DspBios/Davinci/DM6446/dsplink-davinci-base.tci 2008-07-29 16:56:03.000000000 -0400
+@@ -54,7 +54,10 @@
+ prog.module("GBL").C64PLUSCONFIGURE = true ;
+ prog.module("GBL").C64PLUSL2CFG = "32k" ;
+ prog.module("GBL").C64PLUSL1DCFG = "32k" ;
++prog.module("GBL").C64PLUSMAR128to159 = 0xFFFFFFFF ;
++/*
+ prog.module("GBL").C64PLUSMAR128to159 = 0x00008000 ;
++*/
+
+ /* ============================================================================
+ * MEM
+@@ -67,7 +70,7 @@
+ * ============================================================================
+ */
+ var DSPLINKMEM = prog.module("MEM").create("DSPLINKMEM");
+-DSPLINKMEM.base = 0x8FE00000;
++DSPLINKMEM.base = 0x87000000;
+ DSPLINKMEM.len = 0x100000;
+ DSPLINKMEM.createHeap = false;
+ DSPLINKMEM.comment = "DSPLINKMEM";
+@@ -77,7 +80,7 @@
+ * ============================================================================
+ */
+ var RESET_VECTOR = prog.module("MEM").create("RESET_VECTOR");
+-RESET_VECTOR.base = 0x8FF00000;
++RESET_VECTOR.base = 0x87100000;
+ RESET_VECTOR.len = 0x00000080;
+ RESET_VECTOR.space = "code/data";
+ RESET_VECTOR.createHeap = false;
+@@ -88,8 +91,8 @@
+ * ============================================================================
+ */
+ var DDR = prog.module("MEM").create("DDR");
+-DDR.base = 0x8FF00080;
+-DDR.len = 0x000FFF80;
++DDR.base = 0x87100080;
++DDR.len = 0xEFFF80;
+ DDR.space = "code/data";
+ DDR.createHeap = true;
+ DDR.heapSize = 0x10000;
diff --git a/recipes/ti/ti-dsplink/dsplink-add-class-device-create-support.patch b/recipes/ti/ti-dsplink/dsplink-add-class-device-create-support.patch
new file mode 100644
index 0000000000..b43c3481e1
--- /dev/null
+++ b/recipes/ti/ti-dsplink/dsplink-add-class-device-create-support.patch
@@ -0,0 +1,55 @@
+diff -uNr codec_engine_2_21/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c codec_engine_2_21_fix/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
+--- codec_engine_2_21/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2008-10-24 20:58:01.000000000 +0100
++++ codec_engine_2_21_fix/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2009-02-20 23:46:42.000000000 +0000
+@@ -37,6 +37,10 @@
+ #endif
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++#include <linux/device.h>
++#endif
+ #include <linux/autoconf.h>
+ #include <linux/spinlock.h>
+ #include <linux/module.h>
+@@ -190,6 +194,16 @@
+ */
+ STATIC Int32 major = 230 ;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++/** ----------------------------------------------------------------------------
++ * @name dsplink_class
++ *
++ * @desc class struct for device create.
++ * ----------------------------------------------------------------------------
++ */
++STATIC struct class *dsplink_class;
++#endif
++
+ /** ----------------------------------------------------------------------------
+ * @name DRV_IsInitialized
+ *
+@@ -673,6 +687,11 @@
+ }
+ #endif /* if defined (CHNL_COMPONENT) */
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++ dsplink_class = class_create(THIS_MODULE, "dsplink");
++ device_create(dsplink_class, NULL, MKDEV(major, 0), NULL, "dsplink");
++#endif
++
+ if (DSP_SUCCEEDED (status)) {
+ DRV_IsInitialized = TRUE ;
+ }
+@@ -717,6 +736,11 @@
+ }
+ #endif /* if defined (CHNL_COMPONENT) */
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++ device_destroy(dsplink_class, MKDEV(major, 0));
++ class_destroy(dsplink_class);
++#endif
++
+ unregister_chrdev (major, "dsplink") ;
+
+ DRV_IsInitialized = FALSE ;
diff --git a/recipes/ti/ti-dsplink/dsplink-semaphore-27.patch b/recipes/ti/ti-dsplink/dsplink-semaphore-27.patch
new file mode 100644
index 0000000000..b2f71169fd
--- /dev/null
+++ b/recipes/ti/ti-dsplink/dsplink-semaphore-27.patch
@@ -0,0 +1,36 @@
+diff -uNr codec_engine_2_21/cetools/packages/dsplink/gpp/src/osal/Linux/2.6.18/sync.c codec_engine_2_21_fix/cetools/packages/dsplink/gpp/src/osal/Linux/2.6.18/sync.c
+--- codec_engine_2_21/cetools/packages/dsplink/gpp/src/osal/Linux/2.6.18/sync.c 2008-12-19 16:27:19.000000000 +0530
++++ codec_engine_2_21_mod/cetools/packages/dsplink/gpp/src/osal/Linux/2.6.18/sync.c 2009-02-12 10:08:48.000000000 +0530
+@@ -30,9 +30,14 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
+ #include <linux/autoconf.h>
+ #include <linux/spinlock.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+ #include <asm/semaphore.h>
++#else
++#include <linux/semaphore.h>
++#endif
+ #include <linux/timer.h>
+ #include <linux/sched.h>
+ #include <linux/delay.h>
+diff -uNr codec_engine_2_21/cetools/packages/dsplink/gpp/src/osal/Linux/user.c codec_engine_2_21_fix/cetools/packages/dsplink_mod/gpp/src/osal/Linux/user.c
+--- codec_engine_2_21/cetools/packages/dsplink/gpp/src/osal/Linux/user.c 2008-12-19 16:27:19.000000000 +0530
++++ codec_engine_2_21_fix/cetools/packages/dsplink_mod/gpp/src/osal/Linux/user.c 2009-02-12 10:08:05.000000000 +0530
+@@ -30,9 +30,14 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
+ #include <linux/autoconf.h>
+ #include <linux/spinlock.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+ #include <asm/semaphore.h>
++#else
++#include <linux/semaphore.h>
++#endif
+ #include <linux/timer.h>
+ #include <linux/sched.h>
+ #include <linux/delay.h>
diff --git a/recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch b/recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch
new file mode 100644
index 0000000000..271b3043b5
--- /dev/null
+++ b/recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch
@@ -0,0 +1,335 @@
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c 2010-02-09 17:42:37.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OSAL Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <asm/page.h>
+ #include <asm/io.h>
+
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c 2010-02-09 17:43:06.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c 2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c 2010-02-09 17:45:06.000000000 +0000
+@@ -21,7 +21,12 @@
+ */
+
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <asm/page.h>
+ #include <asm/io.h>
+
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c 2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c 2010-02-09 17:44:49.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c 2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c 2010-02-09 17:44:21.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c 2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c 2010-02-09 17:41:46.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c 2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c 2010-02-09 17:42:02.000000000 +0000
+@@ -20,7 +20,12 @@
+ * ============================================================================
+ */
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <asm/page.h>
+ #include <asm/io.h>
+
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c 2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c 2010-02-09 17:42:21.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c 2010-02-09 17:43:29.000000000 +0000
+@@ -25,7 +25,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c 2010-02-09 17:43:50.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c 2010-02-09 17:44:06.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c 2010-02-09 17:47:25.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/sched.h>
+ #include <linux/interrupt.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/isr.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/isr.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/isr.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/isr.c 2010-02-09 17:46:54.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/version.h>
+ #include <linux/spinlock.h>
+ #include <linux/sched.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c 2010-02-09 17:46:39.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/kernel.h>
+ #include <linux/mm.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/mem.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/mem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/mem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/mem.c 2010-02-09 17:46:25.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/sched.h>
+ #include <linux/types.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c 2010-02-09 17:47:12.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/signal.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/sync.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/sync.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/sync.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/sync.c 2010-02-09 17:47:39.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/timer.h>
+ #include <linux/sched.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/prcs.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/prcs.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/prcs.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/prcs.c 2010-02-09 17:45:44.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/module.h>
+ #include <linux/mm.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/print.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/print.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/print.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/print.c 2010-02-09 17:45:30.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <stdarg.h>
+ #include <linux/types.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/user.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/user.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/user.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/user.c 2010-02-09 17:46:07.000000000 +0000
+@@ -22,7 +22,12 @@
+
+
+ /* ----------------------------------- OS Specific Headers */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/timer.h>
+ #include <linux/sched.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c dsplink_linux_1_64b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2009-11-13 12:12:48.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2010-02-09 17:40:59.000000000 +0000
+@@ -33,7 +33,11 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ #include <linux/device.h>
+ #endif
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/module.h>
+ #include <linux/init.h>
diff --git a/recipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh b/recipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh
new file mode 100755
index 0000000000..9cfb19d5c1
--- /dev/null
+++ b/recipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh
@@ -0,0 +1,25 @@
+#
+# Default Memory Map - for OMAP3530 dsplink examples
+#
+# Start Addr Size Description
+# -------------------------------------------
+# 0x80000000 126 MB Linux
+# 0x87E00000 2 MB DSPLINK (MEM) + DDR + DSPLINK (RESET)
+
+# sanity check to verify that we're using the right mem=xxM (126M in this case)
+awk '/MemTotal:/ {
+ mem=$2
+
+ if (mem > 126 * 1024)
+ print "Warning! You need to use mem=126M or less on the kernel cmdline"
+
+ printf "You have %dkB total memory for Linux\n", mem
+}' /proc/meminfo
+
+# insert DSP/BIOS Link driver
+#
+modprobe dsplinkk
+
+# make /dev/dsplink
+#rm -f /dev/dsplink
+#mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/recipes/ti/ti-dsplink/ti-dsplink-examples-run.sh b/recipes/ti/ti-dsplink/ti-dsplink-examples-run.sh
new file mode 100755
index 0000000000..b2f2faac9e
--- /dev/null
+++ b/recipes/ti/ti-dsplink/ti-dsplink-examples-run.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+
+echo "Running Loop Sample App"
+./loopgpp loop.out 1024 2000 0
+
+echo "Running Message Sample App"
+./messagegpp message.out 10000 0
+
+echo "Running Message Multi Sample App"
+./messagemultigpp messagemulti.out 128 1 0
+
+echo "Running MultiProcessor List Sample App"
+./mplistgpp mplist.out 128 128 0
+
+echo "Running MultiProcessorCriticalSection Transfer Sample App"
+./mpcsxfergpp mpcsxfer.out 128 1000 0
+
+echo "Running Ringio Sample App"
+./ringiogpp ringio.out 2048 128 0
+
+echo "Running Scale Sample App"
+./scalegpp scale.out 128 500 0
+
+#echo "Running Read/Write Sample App"
+#./readwritegpp readwrite.out
diff --git a/recipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh b/recipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh
new file mode 100755
index 0000000000..48fa84b03d
--- /dev/null
+++ b/recipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh
@@ -0,0 +1,5 @@
+# Unload modules - DSPLINK - OMAP3530
+
+# remove DSP/BIOS Link driver
+rmmod dsplinkk
+#rm -f /dev/dsplink