diff options
24 files changed, 1850 insertions, 0 deletions
diff --git a/recipes-ti/bios/ti-dspbios.inc b/recipes-ti/bios/ti-dspbios.inc new file mode 100644 index 0000000000..4bad83490e --- /dev/null +++ b/recipes-ti/bios/ti-dspbios.inc @@ -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} +} + diff --git a/recipes-ti/bios/ti-dspbios_5.41.07.24.bb b/recipes-ti/bios/ti-dspbios_5.41.07.24.bb new file mode 100644 index 0000000000..536939ed0d --- /dev/null +++ b/recipes-ti/bios/ti-dspbios_5.41.07.24.bb @@ -0,0 +1,8 @@ +require ti-dspbios.inc + +PV = "5_41_07_24" + +SRC_URI[biosbin.md5sum] = "18301d0e1d351bcece9ce97255b8ff1b" +SRC_URI[biosbin.sha256sum] = "1531dca674154fbe179ad5017555e963bcf3d74a47a0fbf10e8a7009639d6c34" + + diff --git a/recipes-ti/devtools/ti-cgt6x.inc b/recipes-ti/devtools/ti-cgt6x.inc new file mode 100644 index 0000000000..c9c3fda448 --- /dev/null +++ b/recipes-ti/devtools/ti-cgt6x.inc @@ -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} +} + diff --git a/recipes-ti/devtools/ti-cgt6x_6.1.17.bb b/recipes-ti/devtools/ti-cgt6x_6.1.17.bb new file mode 100644 index 0000000000..7798d400bc --- /dev/null +++ b/recipes-ti/devtools/ti-cgt6x_6.1.17.bb @@ -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" + diff --git a/recipes-ti/devtools/ti-xdctools.inc b/recipes-ti/devtools/ti-xdctools.inc new file mode 100644 index 0000000000..d462d9f0d8 --- /dev/null +++ b/recipes-ti/devtools/ti-xdctools.inc @@ -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 \ +" + diff --git a/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff b/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff new file mode 100644 index 0000000000..26debf8f6d --- /dev/null +++ b/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff @@ -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 + % } + diff --git a/recipes-ti/devtools/ti-xdctools_3.20.03.63.bb b/recipes-ti/devtools/ti-xdctools_3.20.03.63.bb new file mode 100644 index 0000000000..a743a6d3be --- /dev/null +++ b/recipes-ti/devtools/ti-xdctools_3.20.03.63.bb @@ -0,0 +1,7 @@ +require ti-xdctools.inc + +PV = "3_20_03_63" + +SRC_URI[xdcbin.md5sum] = "ef3e7ab06dca1d346731d87a6525d2a7" +SRC_URI[xdcbin.sha256sum] = "da5df132c96c8d73c6ca1e03dcd3b854a1850e3abab04749d858d6fbb9111e0f" + diff --git a/recipes-ti/devtools/ti-xdctools_3.20.06.81.bb b/recipes-ti/devtools/ti-xdctools_3.20.06.81.bb new file mode 100644 index 0000000000..110ee356e5 --- /dev/null +++ b/recipes-ti/devtools/ti-xdctools_3.20.06.81.bb @@ -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" + + + diff --git a/recipes-ti/dsplink/ti-dsplink.inc b/recipes-ti/dsplink/ti-dsplink.inc new file mode 100644 index 0000000000..396b35610a --- /dev/null +++ b/recipes-ti/dsplink/ti-dsplink.inc @@ -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 diff --git a/recipes-ti/dsplink/ti-dsplink/dsplink-BKL-fix.patch b/recipes-ti/dsplink/ti-dsplink/dsplink-BKL-fix.patch new file mode 100644 index 0000000000..eab3ec6386 --- /dev/null +++ b/recipes-ti/dsplink/ti-dsplink/dsplink-BKL-fix.patch @@ -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 + diff --git a/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch new file mode 100644 index 0000000000..5a25dbb588 --- /dev/null +++ b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch @@ -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 + diff --git a/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch new file mode 100644 index 0000000000..fa4cb2e642 --- /dev/null +++ b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch @@ -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 + diff --git a/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch new file mode 100644 index 0000000000..271b3043b5 --- /dev/null +++ b/recipes-ti/dsplink/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/dsplink/ti-dsplink/ti-dsplink-examples-loadmodules.sh b/recipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-loadmodules.sh new file mode 100755 index 0000000000..9cfb19d5c1 --- /dev/null +++ b/recipes-ti/dsplink/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/dsplink/ti-dsplink/ti-dsplink-examples-run.sh b/recipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-run.sh new file mode 100755 index 0000000000..b2f2faac9e --- /dev/null +++ b/recipes-ti/dsplink/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/dsplink/ti-dsplink/ti-dsplink-examples-unloadmodules.sh b/recipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-unloadmodules.sh new file mode 100755 index 0000000000..48fa84b03d --- /dev/null +++ b/recipes-ti/dsplink/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 diff --git a/recipes-ti/dsplink/ti-dsplink_1.65.00.03.bb b/recipes-ti/dsplink/ti-dsplink_1.65.00.03.bb new file mode 100644 index 0000000000..c2ca5d9f61 --- /dev/null +++ b/recipes-ti/dsplink/ti-dsplink_1.65.00.03.bb @@ -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" + diff --git a/recipes-ti/includes/ti-eula-unpack.inc b/recipes-ti/includes/ti-eula-unpack.inc new file mode 100644 index 0000000000..3b79c24383 --- /dev/null +++ b/recipes-ti/includes/ti-eula-unpack.inc @@ -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) +} + diff --git a/recipes-ti/includes/ti-paths.inc b/recipes-ti/includes/ti-paths.inc new file mode 100644 index 0000000000..e7eefe1deb --- /dev/null +++ b/recipes-ti/includes/ti-paths.inc @@ -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" + diff --git a/recipes-ti/includes/ti-staging.inc b/recipes-ti/includes/ti-staging.inc new file mode 100644 index 0000000000..2bacd7a99d --- /dev/null +++ b/recipes-ti/includes/ti-staging.inc @@ -0,0 +1,8 @@ +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PACKAGE_STRIP = "no" + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-dev = "1" + + diff --git a/recipes-ti/local-power-manager/ti-local-power-manager.inc b/recipes-ti/local-power-manager/ti-local-power-manager.inc new file mode 100644 index 0000000000..836e118147 --- /dev/null +++ b/recipes-ti/local-power-manager/ti-local-power-manager.inc @@ -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 diff --git a/recipes-ti/local-power-manager/ti-local-power-manager/lpm-1_24_01-replace-define-OPT.patch b/recipes-ti/local-power-manager/ti-local-power-manager/lpm-1_24_01-replace-define-OPT.patch new file mode 100644 index 0000000000..120792b891 --- /dev/null +++ b/recipes-ti/local-power-manager/ti-local-power-manager/lpm-1_24_01-replace-define-OPT.patch @@ -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 diff --git a/recipes-ti/local-power-manager/ti-local-power-manager/lpm-BKL-fix.patch b/recipes-ti/local-power-manager/ti-local-power-manager/lpm-BKL-fix.patch new file mode 100644 index 0000000000..4b5a537ab1 --- /dev/null +++ b/recipes-ti/local-power-manager/ti-local-power-manager/lpm-BKL-fix.patch @@ -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 + diff --git a/recipes-ti/local-power-manager/ti-local-power-manager_1.24.02.09.bb b/recipes-ti/local-power-manager/ti-local-power-manager_1.24.02.09.bb new file mode 100644 index 0000000000..759561f38c --- /dev/null +++ b/recipes-ti/local-power-manager/ti-local-power-manager_1.24.02.09.bb @@ -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" + |