[Buildroot] [PATCH 09/17] DSPLink Inter-Processor Communications (IPC) for TI's processors

Pierre-Luc Simard pierreluc.simard at admetric.ca
Fri Sep 17 17:59:54 UTC 2010


---
 package/ti/Config.in                               |    1 +
 package/ti/ti-dsplink/Config.in                    |   12 ++
 .../ti/ti-dsplink/ti-dsplink-1.65.00.03-fpic.patch |   12 ++
 package/ti/ti-dsplink/ti-dsplink.mk                |  137 ++++++++++++++++++++
 4 files changed, 162 insertions(+), 0 deletions(-)
 create mode 100644 package/ti/ti-dsplink/Config.in
 create mode 100644 package/ti/ti-dsplink/ti-dsplink-1.65.00.03-fpic.patch
 create mode 100644 package/ti/ti-dsplink/ti-dsplink.mk

diff --git a/package/ti/Config.in b/package/ti/Config.in
index f127c92..9827b44 100644
--- a/package/ti/Config.in
+++ b/package/ti/Config.in
@@ -39,6 +39,7 @@ endchoice
 
 comment "Target components"
 source "package/ti/ti-codecs-omap3/Config.in"
+source "package/ti/ti-dsplink/Config.in"
 
 comment "Staging tools"
 source "package/ti/ti-biosutils/Config.in"
diff --git a/package/ti/ti-dsplink/Config.in b/package/ti/ti-dsplink/Config.in
new file mode 100644
index 0000000..8c4d353
--- /dev/null
+++ b/package/ti/ti-dsplink/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_TI_DSPLINK
+	bool "DSPLink Inter-Processor Communications (IPC)"
+	depends on BR2_PACKAGE_TI_PLATFORM_omap3
+	# Could also be used for: BR2_PACKAGE_TI_PLATFORM_dm6467 ||  BR2_PACKAGE_TI_PLATFORM_omapl137 || BR2_PACKAGE_TI_PLATFORM_omapl138 || 
+	select BR2_PACKAGE_TI_DSPBIOS
+	select BR2_PACKAGE_TI_XDCTOOLS
+	help
+	  DSPLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors
+	  http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/index.html
+		
+	  You will need to add a startup script to load the kernel module manually.
+	
\ No newline at end of file
diff --git a/package/ti/ti-dsplink/ti-dsplink-1.65.00.03-fpic.patch b/package/ti/ti-dsplink/ti-dsplink-1.65.00.03-fpic.patch
new file mode 100644
index 0000000..a3e7ca5
--- /dev/null
+++ b/package/ti/ti-dsplink/ti-dsplink-1.65.00.03-fpic.patch
@@ -0,0 +1,12 @@
+diff -rup a/dsplink/make/Linux/omap3530_2.6.mk b/dsplink/make/Linux/omap3530_2.6.mk
+--- a/dsplink/make/Linux/omap3530_2.6.mk	2010-07-16 02:03:04.000000000 -0700
++++ b/dsplink/make/Linux/omap3530_2.6.mk	2010-08-23 11:18:35.000000000 -0700
+@@ -129,7 +129,7 @@ CC_SW_DEB       := -g
+ #   ----------------------------------------------------------------------------
+ #   Standard flags for the compiler
+ #   ----------------------------------------------------------------------------
+-STD_USER_FLAGS  := -Wall -c
++STD_USER_FLAGS  := -Wall -fPIC -c
+ 
+ #   ----------------------------------------------------------------------------
+ #   Standard flags for the compiler when building an executable
diff --git a/package/ti/ti-dsplink/ti-dsplink.mk b/package/ti/ti-dsplink/ti-dsplink.mk
new file mode 100644
index 0000000..4323c4f
--- /dev/null
+++ b/package/ti/ti-dsplink/ti-dsplink.mk
@@ -0,0 +1,137 @@
+################################################################################
+#
+# ti-dsplink
+#
+################################################################################
+TI_DSPLINK_VERSION:=1.65.00.03
+TI_DSPLINK_FILE_VERSION_MAJOR:=1_65
+TI_DSPLINK_FILE_VERSION:=$(TI_DSPLINK_FILE_VERSION_MAJOR)_00_03
+TI_DSPLINK_SOURCE = dsplink_linux_$(TI_DSPLINK_FILE_VERSION).tar.gz
+TI_DSPLINK_SITE = http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/$(TI_DSPLINK_FILE_VERSION_MAJOR)/$(TI_DSPLINK_FILE_VERSION)/$(TI_DSPLINK_VERSION)
+TI_DSPLINK_DIR:=$(BUILD_DIR)/ti-dsplink-$(TI_DSPLINK_VERSION)
+TI_DSPLINK_PATH:=$(TI_DSPLINK_DIR)/dsplink
+
+TI_DSPLINK_INSTALL_STAGING = YES
+
+TI_DSPLINK_DEPENDENCIES = ti-xdctools ti-dspbios linux26
+
+TI_DSPLINK_INSTALL_STAGING_DIR=$(STAGING_DIR)/ti/dsplink-$(TI_DSPLINK_VERSION)/packages
+
+TI_DSPLINK_DSPNUM=1
+TI_DSPLINK_DSP_COMP=ponslrmc
+TI_DSPLINK_DSPPOS=DSPBIOS5XX
+TI_DSPLINK_PLATFORM=UNDEFINED
+TI_DSPLINK_DSPCFG=UNDEFINED
+TI_DSPLINK_DSP=UNDEFINED
+TI_DSPLINK_GPPOS=UNDEFINED
+ifeq ($(BR2_PACKAGE_TI_PLATFORM_omap3),y)
+	TI_DSPLINK_PLATFORM=OMAP3530
+	TI_DSPLINK_DSPCFG=OMAP3530SHMEM
+	TI_DSPLINK_DSP=OMAP3530_0
+	TI_DSPLINK_GPPOS=OMAPLSP
+endif
+ifeq ($(BR2_PACKAGE_TI_PLATFORM_dm6446),y)
+	TI_DSPLINK_PLATFORM=DAVINCI
+	TI_DSPLINK_DSPCFG=DM6446GEMSHMEM
+	TI_DSPLINK_DSP=DM6446GEM_0
+	TI_DSPLINK_GPPOS=DM6446LSP
+endif
+ifeq ($(BR2_PACKAGE_TI_PLATFORM_dm6467),y)
+	TI_DSPLINK_PLATFORM=DAVINCIHD
+	TI_DSPLINK_DSPCFG=DM6467GEMSHMEM
+	TI_DSPLINK_DSP=DM6467GEM_0
+	TI_DSPLINK_GPPOS=DM6467LSP
+endif
+ifeq ($(BR2_PACKAGE_TI_PLATFORM_omapl137),y)
+	TI_DSPLINK_PLATFORM=OMAPL1XX
+	TI_DSPLINK_DSPCFG=OMAPL1XXGEMSHMEM
+	TI_DSPLINK_DSP=OMAPL1XXGEM_0
+	TI_DSPLINK_GPPOS=ARM
+endif
+ifeq ($(BR2_PACKAGE_TI_PLATFORM_omapl138),y)
+	TI_DSPLINK_PLATFORM=OMAPL138
+	TI_DSPLINK_DSPCFG=OMAPL138GEMSHMEM
+	TI_DSPLINK_DSP=OMAPL138GEM_0
+	TI_DSPLINK_GPPOS=ARM
+endif
+
+
+define TI_DSPLINK_CONFIGURE_CMDS
+	(export DSPLINK=$(TI_DSPLINK_PATH); \
+	 export C_FLAGS="$(TARGET_CFLAGS) -fPIC"; \
+	 export LD_FLAGS ="$(TARGET_LDFLAGS)";  \
+		/usr/bin/perl $(TI_DSPLINK_PATH)/config/bin/dsplinkcfg.pl \
+			--platform=$(TI_DSPLINK_PLATFORM) \
+			--nodsp=$(TI_DSPLINK_DSPNUM) \
+			--dspcfg_0=$(TI_DSPLINK_DSPCFG) \
+			--dspos_0=$(TI_DSPLINK_DSPPOS) \
+			--comps=$(TI_DSPLINK_DSP_COMP) \
+			--gppos=$(TI_DSPLINK_GPPOS) \
+	)
+	(cd $(TI_DSPLINK_PATH); XDCPATH=$(TI_XDCTOOLS_INSTALL_DIR) $(TI_XDCTOOLS_INSTALL_DIR)/xdc .make -PR .)
+	(cd $(TI_DSPLINK_PATH); XDCPATH=$(TI_XDCTOOLS_INSTALL_DIR) $(TI_XDCTOOLS_INSTALL_DIR)/xdc clean -PR .)
+	(cd $(TI_DSPLINK_PATH); XDCPATH=$(TI_XDCTOOLS_INSTALL_DIR) $(TI_XDCTOOLS_INSTALL_DIR)/xdc .interfaces -PR .)
+endef
+
+define TI_DSPLINK_BUILD_CMDS
+ 	$(MAKE) -C $(TI_DSPLINK_PATH)/gpp/src/api \
+		DSPLINK=$(TI_DSPLINK_PATH) \
+		CROSS_COMPILE="$(TOOLCHAIN_EXTERNAL_PREFIX)" \
+		AR="$(TARGET_CROSS)ar" \
+		LD="$(TARGET_LD)" \
+		COMPILER="$(TARGET_CC)" \
+		ARCHIVER="$(TARGET_CROSS)ar" \
+ 		KERNEL_DIR="$(BUILD_DIR)/linux-$(LINUX26_VERSION)" \
+ 			all
+	# Build the gpp kernel space (debug and release)
+	$(MAKE) -C $(TI_DSPLINK_PATH)/gpp/src \
+		DSPLINK=$(TI_DSPLINK_PATH) \
+		OBJDUMP="$(TARGET_CROSS)objdump" \
+		CROSS_COMPILE="$(TARGET_CROSS)" \
+		CC="$(TARGET_CC)" \
+		AR="$(TARGET_CROSS)ar" \
+		LD="$(TARGET_LD)" \
+		COMPILER="$(TARGET_CC)" \
+		ARCHIVER="$(TARGET_CROSS)ar" \
+		KERNEL_DIR="$(BUILD_DIR)/linux-$(LINUX26_VERSION)" \
+		BASE_BUILDOS="$(BUILD_DIR)/linux-$(LINUX26_VERSION)" \
+			all
+	# Build the dsp library (debug and release)
+ 	$(MAKE) -C $(TI_DSPLINK_PATH)/dsp/src \
+		DSPLINK=$(TI_DSPLINK_PATH) \
+ 		BASE_CGTOOLS="$(TI_CGT6X_INSTALL_DIR)" \
+		BASE_SABIOS="$(TI_DSPBIOS_INSTALL_DIR)" \
+			all
+endef
+
+define TI_DSPLINK_INSTALL_STAGING_CMDS
+	# Install/Stage the Source Tree
+	$(INSTALL) -d $(TI_DSPLINK_INSTALL_STAGING_DIR)
+	cp -pPrf $(TI_DSPLINK_DIR)/* $(TI_DSPLINK_INSTALL_STAGING_DIR)
+	chmod -R +w $(TI_DSPLINK_INSTALL_STAGING_DIR)
+
+	# Changes path of include txt file to use LINK_INSTALL_DIR variable for GPP
+	i_find=`find $(TI_DSPLINK_INSTALL_STAGING_DIR)/dsplink/gpp/export/BIN/Linux/$(TI_DSPLINK_PLATFORM)/*/ -name "*.txt"` ; \
+	for i in $$i_find; do \
+		sed -i $$i -e s=$(TI_DSPLINK_PATH)=$(TI_DSPLINK_INSTALL_STAGING_DIR)=g ; \
+  done; 
+
+	#Changes path of include txt file to use LINK_INSTALL_DIR variable for DSP 
+	i_find=`find $(TI_DSPLINK_INSTALL_STAGING_DIR)/dsplink/dsp/export/BIN/DspBios/$(TI_DSPLINK_PLATFORM)/$(TI_DSPLINK_DSP)/*/ -name "*.txt"` ; \
+	for i in $$i_find; do \
+		sed -i $$i -e s=$(TI_DSPLINK_PATH)=$(TI_DSPLINK_INSTALL_STAGING_DIR)=g ; \
+  done ;
+endef
+
+define TI_DSPLINK_INSTALL_TARGET_CMDS
+	$(INSTALL) -d $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/kernel/drivers/dsp
+	$(INSTALL) -m 0644 $(TI_DSPLINK_PATH)/gpp/export/BIN/Linux/$(TI_DSPLINK_PLATFORM)/RELEASE/dsplinkk.ko $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/kernel/drivers/dsp/dsplinkk.ko
+endef
+
+define TI_DSPLINK_UNINSTALL_TARGET_CMDS
+	rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/kernel/drivers/dsp/dsplinkk.ko
+endef
+
+
+$(eval $(call GENTARGETS,package/ti,ti-dsplink))
+
-- 
1.7.0.4




More information about the buildroot mailing list