1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-06-06 02:42:34 +00:00

recipes-ti: initial check in of dsplink stack

* the focus was on to get it to build, not to make the recipes perfect

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Koen Kooi
2011-03-14 19:10:15 +01:00
parent 4884692d7f
commit c1af7e34f0
24 changed files with 1850 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
DESCRIPTION = "TI DSP/BIOS v5 Kernel"
HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios"
SECTION = "devel"
LICENSE = "TI"
LIC_FILES_CHKSUM = "file://docs/license/TSPA_License_Agreement_DSP_BIOS_bios_5_41_07_24.html;md5=86096a08e4088ef291c98313d82b8742"
require ../includes/ti-paths.inc
require ../includes/ti-staging.inc
require ../includes/ti-eula-unpack.inc
PR = "r1"
S = "${WORKDIR}/bios_${PV}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/${PV}/exports/bios_setuplinux_${PV}.bin;name=biosbin"
BINFILE="bios_setuplinux_${PV}.bin"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
do_install() {
install -d ${D}${BIOS_INSTALL_DIR_RECIPE}
cp -pPrf ${S}/* ${D}${BIOS_INSTALL_DIR_RECIPE}
}
+8
View File
@@ -0,0 +1,8 @@
require ti-dspbios.inc
PV = "5_41_07_24"
SRC_URI[biosbin.md5sum] = "18301d0e1d351bcece9ce97255b8ff1b"
SRC_URI[biosbin.sha256sum] = "1531dca674154fbe179ad5017555e963bcf3d74a47a0fbf10e8a7009639d6c34"
+26
View File
@@ -0,0 +1,26 @@
DESCRIPTION = "TI DSP Code Generation Tools"
HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
SECTION = "devel"
LICENSE = "TI"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=712a8c64bb70c5ea5fa193faef3bed6f"
require ../includes/ti-paths.inc
require ../includes/ti-staging.inc
require ../includes/ti-eula-unpack.inc
PR = "r4"
S = "${WORKDIR}/cgt6x_${PV}"
SRC_URI = "http://install.source.dir.local/ti_cgt_c6000_${PVwithdots}_setup_linux_x86.bin;name=cgt6xbin"
BINFILE="ti_cgt_c6000_${PVwithdots}_setup_linux_x86.bin"
TI_BIN_UNPK_CMDS="Y:qY:workdir: : "
TI_BIN_UNPK_WDEXT="/cgt6x_${PV}"
do_install() {
install -d ${D}${CODEGEN_INSTALL_DIR_RECIPE}
cp -pPrf ${S}/* ${D}${CODEGEN_INSTALL_DIR_RECIPE}
}
+9
View File
@@ -0,0 +1,9 @@
require ti-cgt6x.inc
PE = "1"
PV = "6_1_17"
PVwithdots = "6.1.17"
SRC_URI[cgt6xbin.md5sum] = "41ee41cc74800b06705804f7ef901447"
SRC_URI[cgt6xbin.sha256sum] = "7e1c8b67420abf6f2f44786811d0a2b5692e76194743bed714ec9087cc1a75c7"
+65
View File
@@ -0,0 +1,65 @@
DESCRIPTION = "TI XDCtools (RTSC - Real Time Software Components - http://rtsc.eclipse.org)"
HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc"
SECTION = "devel"
LICENSE = "BSD, GPLv2"
LIC_FILES_CHKSUM = "file://docs/license/xdc/shelf/package.html;md5=fd6d0bfcac476bd22c1f1525a91c9807"
PR = "r2"
require ../includes/ti-paths.inc
require ../includes/ti-staging.inc
require ../includes/ti-eula-unpack.inc
S = "${WORKDIR}/xdctools_${PV}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/${PV}/exports/xdctools_setuplinux_${PV}.bin;name=xdcbin"
BINFILE="xdctools_setuplinux_${PV}.bin"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
do_install() {
install -d ${D}${XDC_INSTALL_DIR_RECIPE}
cp -pPrf ${S}/* ${D}${XDC_INSTALL_DIR_RECIPE}
}
# Prevent internal libs from getting picked up
PRIVATE_LIBS = " \
libncdb.so \
libcdb.so \
libjavaplugin_oji.so \
libjavaplugin_jni.so \
libjsound.so \
libinstrument.so \
libjawt.so \
libzip.so \
libjava_crw_demo.so \
libjavaplugin_nscp_gcc29.so \
libhprof.so \
libcmm.so \
libjdwp.so \
libmlib_image.so \
libjpeg.so \
libverify.so \
libjavaplugin_nscp.so \
libmanagement.so \
libunpack.so \
librmi.so \
libJdbcOdbc.so \
libawt.so \
libnet.so \
libjaas_unix.so \
libnio.so \
libdcpr.so \
libioser12.so \
libjsoundalsa.so \
libjava.so \
libfontmanager.so \
libdt_socket.so \
libmawt.so \
libjvm.so \
libhpi.so \
lib.so \
libcairo.so.2 \
"
@@ -0,0 +1,19 @@
--- a/packages/gnu/targets/arm/linkcmd.xdt 2010-12-30 19:33:53.000000000 +0100
+++ b/packages/gnu/targets/arm/linkcmd.xdt 2010-12-30 19:42:55.000000000 +0100
@@ -40,12 +40,13 @@
%if ("BINVERS" in prog.build.target) {
% var _utils = xdc.loadCapsule("gnu/targets/linkUtils.xs");
+% if (prog.build.target.GCCVERS < "4.3.3") {
SECTIONS {
`_utils.genSections(prog)`
}
-
-% if (!prog.build.target.noStdLinkScript
-% && prog.build.target.BINVERS >= "2.19") {
+% }
+% if (prog.build.target.noStdLinkScript
+% && prog.build.target.BINVERS >= "2.19") {
INSERT BEFORE .gnu.attributes
% }
@@ -0,0 +1,7 @@
require ti-xdctools.inc
PV = "3_20_03_63"
SRC_URI[xdcbin.md5sum] = "ef3e7ab06dca1d346731d87a6525d2a7"
SRC_URI[xdcbin.sha256sum] = "da5df132c96c8d73c6ca1e03dcd3b854a1850e3abab04749d858d6fbb9111e0f"
@@ -0,0 +1,12 @@
require ti-xdctools.inc
PV = "3_20_06_81"
# This fixes c6accel, but breaks codec-engine and lpm
#SRC_URI += "file://arm-linker-hack.diff"
SRC_URI[xdcbin.md5sum] = "65151268d6be6ad6eb940ef7ed03af16"
SRC_URI[xdcbin.sha256sum] = "8ea6b851521ce41fe0b4a349b2d922af7e70f48c50ad9fd21f62627446a834f8"
+208
View File
@@ -0,0 +1,208 @@
DESCRIPTION = "DSPLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors"
HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/index.html"
SECTION = "devel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://dsplink/doc/gpl_2.0.pdf;md5=70996be607b61df78ce46093f4afe2bd"
# TODO :: KERNEL_CC, should use for kernel cc for module build?
# TODO :: Need to understand why OBJDUMP is required for kernel module
# TODO :: Unset required since LDFLAGS gets picked up and used incorrectly - investigate
# TODO :: Do we need to pass so many variables to each make step?
require ../includes/ti-paths.inc
require ../includes/ti-staging.inc
PROVIDES = "ti-dsplink-module"
PROVIDES += "ti-dsplink-examples"
# This package builds a kernel module, use kernel PR as base and append a local version
PR = "${MACHINE_KERNEL_PR}"
PR_append = "i"
S = "${WORKDIR}/dsplink_linux_${PV}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/${PV_DL_PATH}/dsplink_linux_${PV}.tar.gz;name=dsplinktarball \
file://ti-dsplink-examples-run.sh \
file://ti-dsplink-examples-loadmodules.sh \
file://ti-dsplink-examples-unloadmodules.sh "
DEPENDS = "ti-dspbios ti-xdctools ti-cgt6x"
DEPENDS += "virtual/kernel perl-native"
# SOC_FAMILY configuration
DSPLINKPLATFORM_dm6446 = "DAVINCI"
DSPLINKPLATFORM_dm6467 = "DAVINCIHD"
DSPLINKPLATFORM_omapl137 = "OMAPL1XX"
DSPLINKPLATFORM_omapl138 = "OMAPL138"
DSPLINKPLATFORM_omap3 = "OMAP3530"
DSPLINKPLATFORM ?= "<UNDEFINED_DSPLINKPLATFORM>"
DSPLINKDSPCFG_dm6446 = "DM6446GEMSHMEM"
DSPLINKDSPCFG_dm6467 = "DM6467GEMSHMEM"
DSPLINKDSPCFG_omapl137 = "OMAPL1XXGEMSHMEM"
DSPLINKDSPCFG_omapl138 = "OMAPL138GEMSHMEM"
DSPLINKDSPCFG_omap3 = "OMAP3530SHMEM"
DSPLINKDSPCFG ?= "<UNDEFINED_DSPLINKDSPCFG>"
DSPLINKDSP_dm6446 = "DM6446GEM_0"
DSPLINKDSP_dm6467 = "DM6467GEM_0"
DSPLINKDSP_omapl137 = "OMAPL1XXGEM_0"
DSPLINKDSP_omapl138 = "OMAPL138GEM_0"
DSPLINKDSP_omap3 = "OMAP3530_0"
DSPLINKDSP ?= "<UNDEFINED_DSPLINKDSP>"
DSPLINKGPPOS_dm6446 = "DM6446LSP"
DSPLINKGPPOS_dm6467 = "DM6467LSP"
DSPLINKGPPOS_omapl137 = "ARM"
DSPLINKGPPOS_omapl138 = "ARM"
DSPLINKGPPOS_omap3 = "OMAPLSP"
DSPLINKGPPOS ?= "<DEFINED_DSPLINKGPPOS>"
# Exported Variable needed by build
DSPLINK = "${S}/dsplink"
export DSPLINK
do_configure() {
# Run perl script to create appropriate makefiles (v1.60 and up)
(
cd ${DSPLINK}
perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 \
--dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS5XX \
--gppos=${DSPLINKGPPOS} --comps=ponslrmc
)
}
do_prepsources () {
# Prepare the tree for rebuiling - clean and generate interfaces
XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc .make -PR .
XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc clean -PR .
XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc .interfaces -PR .
}
addtask prepsources after do_configure before do_compile
do_compile() {
# TODO :: KERNEL_CC, should use for kernel module build?
# TODO :: Need to understand why OBJDUMP is required for kernel module
# Unset these since LDFLAGS gets picked up and used incorrectly.... need
# investigation
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
# Build the gpp user space library
cd ${DSPLINK}/gpp/src/api && make \
CROSS_COMPILE="${TARGET_PREFIX}" \
CC="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
AR="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
LD="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ld" \
COMPILER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
ARCHIVER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
KERNEL_DIR="${STAGING_KERNEL_DIR}" \
all
# Build the gpp kernel space (debug and release)
cd ${DSPLINK}/gpp/src && make \
OBJDUMP="${TARGET_PREFIX}objdump" \
CROSS_COMPILE="${TARGET_PREFIX}" \
CC="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
AR="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
LD="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ld" \
COMPILER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
ARCHIVER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
KERNEL_DIR="${STAGING_KERNEL_DIR}" \
BASE_BUILDOS="${STAGING_KERNEL_DIR}" \
all
# Build the gpp samples
cd ${DSPLINK}/gpp/src/samples && make \
BASE_TOOLCHAIN="${TOOLCHAIN_PATH}" \
BASE_CGTOOLS="${BASE_TOOLCHAIN}/bin" \
OSINC_PLATFORM="${TOOLCHAIN_PATH}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include" \
OSINC_TARGET="${BASE_TOOLCHAIN}/target/usr/include" \
CROSS_COMPILE="${TARGET_PREFIX}" \
CC="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
LD="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
AR="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
COMPILER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
LINKER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
ARCHIVER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
KERNEL_DIR="${STAGING_KERNEL_DIR}" \
all
# Build the dsp library (debug and release)
cd ${DSPLINK}/dsp/src && make \
BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
BASE_SABIOS="${BIOS_INSTALL_DIR}" \
all
# Build the dsp samples (debug and release)
cd ${DSPLINK}/dsp/src/samples && make \
BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
BASE_SABIOS="${BIOS_INSTALL_DIR}" \
all
}
KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
do_install () {
# Install the kernel module
install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
install -m 0755 ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/
# Install the example apps (gpp and dsp)
install -d ${D}/${installdir}/ti-dsplink-examples/
cp ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/*gpp ${D}/${installdir}/ti-dsplink-examples
cp ${DSPLINK}/dsp/export/BIN/DspBios/${DSPLINKPLATFORM}/${DSPLINKDSP}/RELEASE/*.out ${D}/${installdir}/ti-dsplink-examples
# Install the example apps module un/load scripts
install ${WORKDIR}/ti-dsplink-examples-loadmodules.sh ${D}/${installdir}/ti-dsplink-examples
install ${WORKDIR}/ti-dsplink-examples-unloadmodules.sh ${D}/${installdir}/ti-dsplink-examples
install ${WORKDIR}/ti-dsplink-examples-run.sh ${D}/${installdir}/ti-dsplink-examples
# Install/Stage the Source Tree
install -d ${D}${LINK_INSTALL_DIR_RECIPE}
cp -pPrf ${S}/* ${D}${LINK_INSTALL_DIR_RECIPE}
chmod -R +w ${D}${LINK_INSTALL_DIR_RECIPE}
# Changes path of include txt file to use LINK_INSTALL_DIR variable for GPP
for i in $(find ${D}${LINK_INSTALL_DIR_RECIPE}/dsplink/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/*/ -name "*.txt"); do
sed -i ${i} -e s=${S}=\$\{LINK_INSTALL_DIR\}=g
done
# Changes path of include txt file to use LINK_INSTALL_DIR variable for DSP
for i in $(find ${D}${LINK_INSTALL_DIR_RECIPE}/dsplink/dsp/export/BIN/DspBios/${DSPLINKPLATFORM}/${DSPLINKDSP}/*/ -name "*.txt"); do
sed -i ${i} -e s=${S}=\$\{LINK_INSTALL_DIR\}=g
done
}
PACKAGES += "ti-dsplink-module"
FILES_ti-dsplink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dsplinkk.ko"
RDEPENDS_ti-dsplink-module += "update-modules"
pkg_postinst_ti-dsplink-module () {
#!/bin/sh
if [ -n "$D" ]; then
exit 1
fi
depmod -a
update-modules || true
}
pkg_postrm_ti-dsplink-module () {
#!/bin/sh
update-modules || true
}
PACKAGES += "ti-dsplink-examples"
RDEPENDS_ti-dsplink-examples_append = " ti-dsplink-module"
RDEPENDS_ti-dsplink-examples_append_omap3 += " ti-lpm-module ti-lpm-utils"
FILES_ti-dsplink-examples = "${installdir}/ti-dsplink-examples/*"
INSANE_SKIP_ti-dsplink-examples = True
@@ -0,0 +1,71 @@
From e0931bf37628727903a567f1c7096ae0011edc3d Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 4 Jan 2011 13:49:05 +0100
Subject: [PATCH] Adjust drv_pmgr for post 2.6.36 ioctl changes
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
index a9b831c..e4a836d 100644
--- a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
+++ b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
@@ -399,10 +399,15 @@ DRV_Release (struct inode * inode, struct file * filp) ;
* @see None
* ----------------------------------------------------------------------------
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
STATIC
int
DRV_Ioctl (struct inode * inode, struct file * filp,
unsigned int cmd, unsigned long args) ;
+#else
+STATIC
+int DRV_Ioctl (struct file *filp, unsigned int cmd, unsigned long args);
+#endif
/** ----------------------------------------------------------------------------
@@ -495,7 +500,11 @@ STATIC struct file_operations driverOps = {
open: DRV_Open,
flush: DRV_Flush,
release: DRV_Release,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
ioctl: DRV_Ioctl,
+#else
+ unlocked_ioctl: DRV_Ioctl,
+#endif
mmap: DRV_Mmap,
read: DRV_Read,
.owner = THIS_MODULE
@@ -817,10 +826,16 @@ DRV_Release (struct inode * inode, struct file * filp)
* @desc Function to invoke the APIs through ioctl.
* ----------------------------------------------------------------------------
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
STATIC
NORMAL_API
int DRV_Ioctl (struct inode * inode, struct file * filp,
unsigned int cmd, unsigned long args)
+#else
+STATIC
+NORMAL_API
+int DRV_Ioctl (struct file *filp, unsigned int cmd, unsigned long args)
+#endif
{
DSP_STATUS status = DSP_SOK ;
int osStatus = 0 ;
@@ -829,7 +844,7 @@ int DRV_Ioctl (struct inode * inode, struct file * filp,
CMD_Args apiArgs ;
- TRC_4ENTER ("DRV_Ioctl", inode, filp, cmd, args) ;
+ TRC_3ENTER ("DRV_Ioctl", filp, cmd, args) ;
retVal = copy_from_user ((Pvoid) &apiArgs,
(const Pvoid) srcAddr,
--
1.6.6.1
@@ -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
@@ -0,0 +1,288 @@
From fd5858c3a247bc61a4de3af1a5097cb05042cfa4 Mon Sep 17 00:00:00 2001
From: Roger Monk <r-monk@ti.com>
Date: Sun, 14 Mar 2010 22:13:42 +0000
Subject: [PATCH] omap1
Signed-off-by: Roger Monk <r-monk@ti.com>
---
dsplink/config/bin/dsplinkcfg.pl | 2 +-
dsplink/gpp/src/DIRS | 5 +
dsplink/gpp/src/Makefile | 8 ++-
dsplink/make/Linux/omapl1xx_arm.mk | 210 ++++++++++++++++++++++++++++++++++++
4 files changed, 223 insertions(+), 2 deletions(-)
create mode 100644 dsplink/make/Linux/omapl1xx_arm.mk
diff --git a/dsplink/config/bin/dsplinkcfg.pl b/dsplink/config/bin/dsplinkcfg.pl
index e83c133..8151945 100644
--- a/dsplink/config/bin/dsplinkcfg.pl
+++ b/dsplink/config/bin/dsplinkcfg.pl
@@ -523,7 +523,7 @@ my %CFG_DSPCFG_OMAPL1XXGEMSHMEM =
'PHYID' => 'OMAPL1XXGEMSHMEM',
'PHYDESC' => 'Shared Memory Physical Interface',
'PHYTYPE' => 'SHMEM',
- 'GPPOS' => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G],
+ 'GPPOS' => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G, \%CFG_GPPOS_ARM],
'DSPOS' => [\%CFG_DSPOS_5XX],
# DSP defines
'DSPNAME' => 'OMAPL1XXGEM',
diff --git a/dsplink/gpp/src/DIRS b/dsplink/gpp/src/DIRS
index 05bad2b..af48904 100644
--- a/dsplink/gpp/src/DIRS
+++ b/dsplink/gpp/src/DIRS
@@ -55,6 +55,10 @@ ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
DIRS += \
api
else # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
+DIRS += \
+ api
+else # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
DIRS += \
api
@@ -83,6 +87,7 @@ endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+endif
else # ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
DIRS += \
arch \
diff --git a/dsplink/gpp/src/Makefile b/dsplink/gpp/src/Makefile
index 49c3b97..0afd988 100644
--- a/dsplink/gpp/src/Makefile
+++ b/dsplink/gpp/src/Makefile
@@ -83,7 +83,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)", "DAVINCI")
- include Makefile_bld
+ ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
+ 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
endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
diff --git a/dsplink/make/Linux/omapl1xx_arm.mk b/dsplink/make/Linux/omapl1xx_arm.mk
new file mode 100644
index 0000000..3e42e87
--- /dev/null
+++ b/dsplink/make/Linux/omapl1xx_arm.mk
@@ -0,0 +1,210 @@
+# ============================================================================
+# @file omapl1xx_arm.mk
+#
+# @path $(DSPLINK)/make/Linux/
+#
+# @desc This makefile defines OS specific macros used by MAKE system for
+# the Montavista Pro 5.0 Linux distribution with mvlpro.
+#
+# @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 OMAPL1XX_ARM_MK
+
+define OMAPL1XX_ARM_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}/da850/DaVinci-PSP-SDK-03.20.00.01/src/kernel/linux-03.20.00.01
+
+# ----------------------------------------------------------------------------
+# Base for toolchain
+# ----------------------------------------------------------------------------
+BASE_TOOLCHAIN := ${HOME}/git/arm-2008q3
+
+# ----------------------------------------------------------------------------
+# 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.3.2/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
+
+# ----------------------------------------------------------------------------
+# Standard flags for the compiler when building an executable
+# ----------------------------------------------------------------------------
+EXE_CC_FLAGS :=
+
+# ----------------------------------------------------------------------------
+# Flags for the compiler when building a driver
+# ----------------------------------------------------------------------------
+DRV_CC_FLAGS := -nostdinc
+
+# ----------------------------------------------------------------------------
+# Flags for the compiler when building a library
+# ----------------------------------------------------------------------------
+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 - The compiler is used for linking purpose as well.
+# ============================================================================
+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
+
+# ----------------------------------------------------------------------------
+# Standard flags for the linker
+# ----------------------------------------------------------------------------
+STD_LD_FLAGS :=
+
+# ----------------------------------------------------------------------------
+# Flags for the linker when building an executable
+# ----------------------------------------------------------------------------
+EXE_LD_FLAGS := -lpthread -lc
+
+# ----------------------------------------------------------------------------
+# Flags for the linker when building a driver
+# ----------------------------------------------------------------------------
+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 OMAPL1XX_ARM_MK
--
1.6.0.6
@@ -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>
@@ -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
+25
View File
@@ -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
@@ -0,0 +1,5 @@
# Unload modules - DSPLINK - OMAP3530
# remove DSP/BIOS Link driver
rmmod dsplinkk
#rm -f /dev/dsplink
@@ -0,0 +1,14 @@
require ti-dsplink.inc
PE = "1"
PV = "1_65_00_03"
PV_dot = "1.65.00.03"
PV_major = "1_65"
PV_DL_PATH = "DSPLink/${PV_major}/${PV}/${PV_dot}"
SRC_URI += "file://dsplink-BKL-fix.patch"
SRC_URI[dsplinktarball.md5sum] = "1bda596b631bd2f517edc70f6be4f2ca"
SRC_URI[dsplinktarball.sha256sum] = "4b1bda89bd8465b887f5bcdf7b95018bc1d1f8968c0c44f8cbad2a9e1c52bcb7"
+71
View File
@@ -0,0 +1,71 @@
# This file defines function used for unpacking the .bin file downloaded over
# the http and display EULA.
# BINFILE - name of the install jammer .bin file
# TARFILE - name of the tar file inside the install jammer
# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be
# passed while unpacking the bin file. The keyword
# workdir expands to WORKDIR and commands are appendded
# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir"
# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put
# the output in some internal directory
python do_unpack () {
bb.build.exec_func('base_do_unpack', d)
bb.build.exec_func('ti_bin_do_unpack', d)
}
TI_BIN_UNPK_WDEXT += ""
python ti_bin_do_unpack() {
import os
localdata = bb.data.createCopy(d)
bb.data.update_data(localdata)
binfile = bb.data.getVar('BINFILE', localdata)
binfile = bb.data.expand(binfile, localdata)
# Change to the working directory
save_cwd = os.getcwd()
workdir = bb.data.getVar('WORKDIR', localdata)
workdir = bb.data.expand(workdir, localdata)
os.chdir(workdir)
# Get unpack commands
cmd_string = bb.data.getVar('TI_BIN_UNPK_CMDS', localdata)
cmd_list = cmd_string.split( ":" )
# Make the InstallJammer binary executable so we can run it
os.chmod(binfile, 0755)
# Run the InstallJammer binary and accept the EULA
filename = "HOME=%s ./%s --mode console" % (workdir, binfile)
# Test executable by printing installer version or help screen (--version currently broken for some installers)
# - this is currently broken in some IJ installers - comment out for now
#if os.system(filename + " --version") != 0:
# print "ERROR: ti-eula-unpack: failed to execute binary installer"
# raise bb.build.FuncFailed()
f = os.popen(filename,'w')
for cmd in cmd_list:
if cmd == "workdir":
wdext = bb.data.getVar('TI_BIN_UNPK_WDEXT', localdata)
wdext = bb.data.expand(wdext, localdata)
cmd = workdir+wdext
print >>f, "%s\n" % cmd
f.close()
# Expand the tarball that was created if required
tarfile = bb.data.getVar('TARFILE', localdata)
if bool(tarfile) == True:
tarfile = bb.data.expand(tarfile, localdata)
tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir)
if os.system(tcmd) != 0:
print "ERROR: ti-eula-unpack: failed to extract tarfile"
raise bb.build.FuncFailed()
# Return to the previous directory
os.chdir(save_cwd)
}
+56
View File
@@ -0,0 +1,56 @@
installdir = "${datadir}/ti"
# This is where do_install will put it
export CODEGEN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt6x-tree"
export XDC_INSTALL_DIR_RECIPE = "${installdir}/ti-xdctools-tree"
export XDAIS_INSTALL_DIR_RECIPE = "${installdir}/ti-xdais-tree"
export BIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-dspbios-tree"
export SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-sysbios-tree"
export BIOSUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-biosutils-tree"
export FC_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components-tree"
export FC3_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components3-tree"
export CE_INSTALL_DIR_RECIPE = "${installdir}/ti-codec-engine-tree"
export EDMA3_LLD_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-tree"
export EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-sysbios-tree"
export LINUXUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
export CMEM_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
export LINK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplink-tree"
export SYSLINK_INSTALL_DIR_RECIPE = "${installdir}/ti-syslink-tree"
export IPC_INSTALL_DIR_RECIPE = "${installdir}/ti-ipc-tree"
export LPM_INSTALL_DIR_RECIPE = "${installdir}/ti-local-power-manager-tree"
export DMAI_INSTALL_DIR_RECIPE = "${installdir}/ti-dmai-tree"
export CODEC_INSTALL_DIR_RECIPE = "${installdir}/ti-codecs-tree"
export DSPLIB_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-tree"
export DVSDK_DEMOS_INSTALL_DIR_RECIPE = "${installdir}/ti-dvsdk-demos-tree"
export BIOSPSP_INSTALL_DIR_RECIPE = "${installdir}/ti-biospsp-tree"
export AUDIO_SOC_INSTALL_DIR_RECIPE = "${installdir}/ti-audio-soc-example-tree"
export C6ACCEL_INSTALL_DIR_RECIPE = "${installdir}/ti-c6accel-tree"
# This is where the tools will end up in staging provided PACKAGE_ARCH = ${MACHINE_ARCH} is set
export CODEGEN_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CODEGEN_INSTALL_DIR_RECIPE}"
export XDC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${XDC_INSTALL_DIR_RECIPE}"
export XDAIS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${XDAIS_INSTALL_DIR_RECIPE}"
export BIOS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${BIOS_INSTALL_DIR_RECIPE}"
export SYSBIOS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${SYSBIOS_INSTALL_DIR_RECIPE}"
export BIOSUTILS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${BIOSUTILS_INSTALL_DIR_RECIPE}"
export FC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${FC_INSTALL_DIR_RECIPE}"
export FC3_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${FC3_INSTALL_DIR_RECIPE}"
export CE_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CE_INSTALL_DIR_RECIPE}"
export EDMA3_LLD_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${EDMA3_LLD_INSTALL_DIR_RECIPE}"
export EDMA3_LLD_SYSBIOS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE}"
export LINUXUTILS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${LINUXUTILS_INSTALL_DIR_RECIPE}"
export CMEM_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CMEM_INSTALL_DIR_RECIPE}"
export LINK_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${LINK_INSTALL_DIR_RECIPE}"
export SYSLINK_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${SYSLINK_INSTALL_DIR_RECIPE}"
export IPC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${IPC_INSTALL_DIR_RECIPE}"
export LPM_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${LPM_INSTALL_DIR_RECIPE}"
export DMAI_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${DMAI_INSTALL_DIR_RECIPE}"
export CODEC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CODEC_INSTALL_DIR_RECIPE}"
export DSPLIB_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${DSPLIB_INSTALL_DIR_RECIPE}"
export BIOSPSP_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${BIOSPSP_INSTALL_DIR_RECIPE}"
export C6ACCEL_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${C6ACCEL_INSTALL_DIR_RECIPE}"
DSPSUFFIX_omapl137 = "x674"
DSPSUFFIX_omapl138 = "x674"
DSPSUFFIX ?= "x64P"
+8
View File
@@ -0,0 +1,8 @@
PACKAGE_ARCH = "${MACHINE_ARCH}"
PACKAGE_STRIP = "no"
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-dev = "1"
@@ -0,0 +1,130 @@
DESCRIPTION = "TI Local Power Manager (LPM)"
HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/lpm"
SECTION = "devel"
LICENSE = "GPLv2"
# TODO : Hardcoded path to evm3530 - need to fix when adding omap24xx/dm6446 (other lpm targets)
require ../includes/ti-paths.inc
require ../includes/ti-staging.inc
PROVIDES = "ti-lpm-module"
PROVIDES += "ti-lpm-utils"
# This package builds a kernel module, use kernel PR as base and append a local version
PR = "${MACHINE_KERNEL_PR}"
PR_append = "e"
S = "${WORKDIR}/local_power_manager_linux_${PV}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/lpm/${PV}/exports/local_power_manager_linux_${PV}.tar.gz;name=lpmtarball"
DEPENDS = "ti-dsplink ti-xdctools"
DEPENDS += "virtual/kernel"
# SOC_FAMILY configuration
LPMDSPPOWERSOC_omap3 = "omap3530"
LPMDSPPOWERSOC_dm6446 = "dm6446"
LPMDSPPOWERSOC ?= "<UNDEFINED_LPMDSPPOWERSOC>"
XDC_PLATFORM_dm6446 = "ti.platforms.evmDM6446"
XDC_PLATFORM_omap3 = "ti.platforms.evm3530"
XDC_PLATFORM ?= "<UNDEFINED_XDC_PLATFORM>"
do_configure () {
# Generate a config.bld for XDC
cat > ${S}/config.bld <<EOF
/* Generated by ti-local-power-manager.inc OE recipe */
var Build = xdc.useModule('xdc.bld.BuildEnvironment');
var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing ";
GCArmv5T.lnkOpts.suffix = GCArmv5T.lnkOpts.suffix.replace("-lstdc++", "");
GCArmv5T.lnkOpts.suffix += " -lpthread ";
GCArmv5T.platform = null;
GCArmv5T.platforms = [
"${XDC_PLATFORM}"
];
/* remove profiles we don't use */
delete GCArmv5T.profiles["coverage"];
delete GCArmv5T.profiles["profile"];
Build.targets.\$add(GCArmv5T);
EOF
}
do_prepsources () {
# Prepare the tree for rebuiling - generate makefiles and clean
XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc .make -PR .
XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc clean -PR .
}
addtask prepsources after do_configure before do_compile
do_compile () {
# Build the LPM kernel module
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
cd ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm
make \
DSPLINK_REPO="${LINK_INSTALL_DIR}" \
LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
MVTOOL_PREFIX="${TARGET_PREFIX}" \
clean default
# Build the user space library
# TODO
# Build the utilities (lpmON/OFF)
cd ${S}
XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc -PR .
}
KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
do_install () {
# Install the kernel module
install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
install -m 0755 ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
# Install the Utilities
install -d ${D}/${installdir}/ti-lpm-utils
install -m 0755 ${S}/packages/ti/bios/power/utils/bin/$(echo ${XDC_PLATFORM} | sed s:\\.:_:g)/linux/release/* ${D}/${installdir}/ti-lpm-utils
# Install/Stage the Source Tree
install -d ${D}${LPM_INSTALL_DIR_RECIPE}
cp -pPrf ${S}/* ${D}${LPM_INSTALL_DIR_RECIPE}
}
PACKAGES += "ti-lpm-module"
FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
RDEPENDS_ti-lpm-module += "ti-dsplink-module"
RDEPENDS_ti-lpm-module += "update-modules"
pkg_postinst_ti-lpm-module_append () {
if [ -n "$D" ]; then
exit 1
fi
depmod -a
update-modules || true
}
pkg_postrm_ti-lpm-module_append () {
update-modules || true
}
PACKAGES += "ti-lpm-utils"
RDEPENDS_ti-lpm-utils += "ti-lpm-module"
FILES_ti-lpm-utils = "${installdir}/ti-lpm-utils/*"
INSANE_SKIP_ti-lpm-utils = True
@@ -0,0 +1,24 @@
diff -uNr local_power_manager_linux_1_24_01_orig/packages/ti/bios/power/modules/dm6446/lpm/Makefile local_power_manager_linux_1_24_01/packages/ti/bios/power/modules/dm6446/lpm/Makefile
--- local_power_manager_linux_1_24_01_orig/packages/ti/bios/power/modules/dm6446/lpm/Makefile 2009-07-22 23:10:04.000000000 -0500
+++ local_power_manager_linux_1_24_01/packages/ti/bios/power/modules/dm6446/lpm/Makefile 2010-04-16 15:26:14.000000000 -0500
@@ -54,7 +54,7 @@
endif
MAKE_OPTS = ARCH=arm CROSS_COMPILE=$(MVTOOL_PREFIX)
-CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL \
+CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL -DOPT="" \
$(LINK_DEFS) $(LINK_INCS) $(LINK_INCS_INTERNAL)
# Invoke the kernel build system
diff -uNr local_power_manager_linux_1_24_01_orig/packages/ti/bios/power/modules/omap3530/lpm/Makefile local_power_manager_linux_1_24_01/packages/ti/bios/power/modules/omap3530/lpm/Makefile
--- local_power_manager_linux_1_24_01_orig/packages/ti/bios/power/modules/omap3530/lpm/Makefile 2009-07-22 23:10:05.000000000 -0500
+++ local_power_manager_linux_1_24_01/packages/ti/bios/power/modules/omap3530/lpm/Makefile 2010-04-16 15:26:38.000000000 -0500
@@ -54,7 +54,7 @@
endif
MAKE_OPTS = ARCH=arm CROSS_COMPILE=$(MVTOOL_PREFIX)
-CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL \
+CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL -DOPT="" \
$(LINK_DEFS) $(LINK_INCS) $(LINK_INCS_INTERNAL)
# Invoke the kernel build system
@@ -0,0 +1,72 @@
From b7e83000f316f5f109b9237fde4d1c576534aa1a Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 4 Jan 2011 14:21:02 +0100
Subject: [PATCH] Fix build with 2.6.37rcX
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
.../bios/power/modules/omap3530/lpm/lpm_driver.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c b/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
index fa22ea3..4663fc9 100644
--- a/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
+++ b/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
@@ -40,6 +40,7 @@
#include <asm/semaphore.h>
#endif
#include <linux/io.h>
+#include <linux/slab.h>
#include "lpm_driver.h"
#include "lpm_dev.h"
@@ -95,7 +96,7 @@ static int enablevicp = -1;
module_param(enablevicp, int, S_IRUGO);
/* forward declaration of system calls (used by Linux driver) */
-static int lpm_ioctl (struct inode *inode, struct file *filp,
+static long lpm_ioctl (struct file *filp,
unsigned int cmd, unsigned long args);
static int lpm_open (struct inode *inode, struct file *filp);
static int lpm_release (struct inode *inode, struct file *filp);
@@ -111,7 +112,7 @@ static void lpm_os_trace (char *fmt, ...);
static struct file_operations lpm_fops = {
.owner = THIS_MODULE,
- .ioctl = lpm_ioctl,
+ .unlocked_ioctl = lpm_ioctl,
.open = lpm_open,
.release = lpm_release,
};
@@ -244,7 +245,11 @@ static int __init lpm_init(void)
lpm->inst[i].major = MAJOR(lpm->first);
lpm->inst[i].minor = MINOR(lpm->first) + i;
INIT_LIST_HEAD(&lpm->inst[i].clients);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
init_MUTEX(&lpm->inst[i].sem);
+#else
+ sema_init(&lpm->inst[i].sem,1);
+#endif
init_completion(&lpm->inst[i].event);
lpm_devAttrs.os_instance = (void *)&lpm->inst[i];
LPM_init(i, &lpm->inst[i].lpm, &lpm_devAttrs);
@@ -320,7 +325,7 @@ fail_02:
/*
* ======== lpm_ioctl ========
*/
-static int lpm_ioctl(struct inode *inode, struct file *filp,
+static long lpm_ioctl(struct file *filp,
unsigned int cmd, unsigned long args)
{
struct LPM_Dev *dev;
@@ -328,6 +333,7 @@ static int lpm_ioctl(struct inode *inode, struct file *filp,
LPM_Client *client;
LPM_Status lpmStat = LPM_SOK;
int stat = 0;
+ struct inode *inode = filp->f_dentry->d_inode;
TRACE(KERN_ALERT "--> lpm_ioctl, cmd: 0x%X\n", cmd);
--
1.6.6.1
@@ -0,0 +1,10 @@
require ti-local-power-manager.inc
PV = "1_24_02_09"
PE = "1"
SRC_URI += "file://lpm-BKL-fix.patch"
SRC_URI[lpmtarball.md5sum] = "3d05453df26dfc811de04839d74c2f2b"
SRC_URI[lpmtarball.sha256sum] = "7335959a6217df17289f81839e6c6948f31cc0797ebc5389edef7190ed3ea589"