summaryrefslogtreecommitdiffstats
path: root/recipes-ti
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-03-14 19:10:15 +0100
committerKoen Kooi <koen@dominion.thruhere.net>2011-03-14 19:10:15 +0100
commitc1af7e34f0f780e7fdd93a529445fedb3057c5f3 (patch)
tree5c5d1a77cd2d492cbce4f2bf7823bf02b3764474 /recipes-ti
parent4884692d7f6b9cc76ab3535fc0790a148b1137f6 (diff)
downloadmeta-ti-c1af7e34f0f780e7fdd93a529445fedb3057c5f3.tar.gz
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>
Diffstat (limited to 'recipes-ti')
-rw-r--r--recipes-ti/bios/ti-dspbios.inc25
-rw-r--r--recipes-ti/bios/ti-dspbios_5.41.07.24.bb8
-rw-r--r--recipes-ti/devtools/ti-cgt6x.inc26
-rw-r--r--recipes-ti/devtools/ti-cgt6x_6.1.17.bb9
-rw-r--r--recipes-ti/devtools/ti-xdctools.inc65
-rw-r--r--recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff19
-rw-r--r--recipes-ti/devtools/ti-xdctools_3.20.03.63.bb7
-rw-r--r--recipes-ti/devtools/ti-xdctools_3.20.06.81.bb12
-rw-r--r--recipes-ti/dsplink/ti-dsplink.inc208
-rw-r--r--recipes-ti/dsplink/ti-dsplink/dsplink-BKL-fix.patch71
-rw-r--r--recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch337
-rw-r--r--recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch288
-rw-r--r--recipes-ti/dsplink/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch335
-rwxr-xr-xrecipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-loadmodules.sh25
-rwxr-xr-xrecipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-run.sh25
-rwxr-xr-xrecipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-unloadmodules.sh5
-rw-r--r--recipes-ti/dsplink/ti-dsplink_1.65.00.03.bb14
-rw-r--r--recipes-ti/includes/ti-eula-unpack.inc71
-rw-r--r--recipes-ti/includes/ti-paths.inc56
-rw-r--r--recipes-ti/includes/ti-staging.inc8
-rw-r--r--recipes-ti/local-power-manager/ti-local-power-manager.inc130
-rw-r--r--recipes-ti/local-power-manager/ti-local-power-manager/lpm-1_24_01-replace-define-OPT.patch24
-rw-r--r--recipes-ti/local-power-manager/ti-local-power-manager/lpm-BKL-fix.patch72
-rw-r--r--recipes-ti/local-power-manager/ti-local-power-manager_1.24.02.09.bb10
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 00000000..4bad8349
--- /dev/null
+++ b/recipes-ti/bios/ti-dspbios.inc
@@ -0,0 +1,25 @@
1DESCRIPTION = "TI DSP/BIOS v5 Kernel"
2HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios"
3SECTION = "devel"
4LICENSE = "TI"
5
6LIC_FILES_CHKSUM = "file://docs/license/TSPA_License_Agreement_DSP_BIOS_bios_5_41_07_24.html;md5=86096a08e4088ef291c98313d82b8742"
7
8require ../includes/ti-paths.inc
9require ../includes/ti-staging.inc
10require ../includes/ti-eula-unpack.inc
11
12PR = "r1"
13
14S = "${WORKDIR}/bios_${PV}"
15
16SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/${PV}/exports/bios_setuplinux_${PV}.bin;name=biosbin"
17
18BINFILE="bios_setuplinux_${PV}.bin"
19TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
20
21do_install() {
22 install -d ${D}${BIOS_INSTALL_DIR_RECIPE}
23 cp -pPrf ${S}/* ${D}${BIOS_INSTALL_DIR_RECIPE}
24}
25
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 00000000..536939ed
--- /dev/null
+++ b/recipes-ti/bios/ti-dspbios_5.41.07.24.bb
@@ -0,0 +1,8 @@
1require ti-dspbios.inc
2
3PV = "5_41_07_24"
4
5SRC_URI[biosbin.md5sum] = "18301d0e1d351bcece9ce97255b8ff1b"
6SRC_URI[biosbin.sha256sum] = "1531dca674154fbe179ad5017555e963bcf3d74a47a0fbf10e8a7009639d6c34"
7
8
diff --git a/recipes-ti/devtools/ti-cgt6x.inc b/recipes-ti/devtools/ti-cgt6x.inc
new file mode 100644
index 00000000..c9c3fda4
--- /dev/null
+++ b/recipes-ti/devtools/ti-cgt6x.inc
@@ -0,0 +1,26 @@
1DESCRIPTION = "TI DSP Code Generation Tools"
2HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
3SECTION = "devel"
4LICENSE = "TI"
5
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=712a8c64bb70c5ea5fa193faef3bed6f"
7
8require ../includes/ti-paths.inc
9require ../includes/ti-staging.inc
10require ../includes/ti-eula-unpack.inc
11
12PR = "r4"
13
14S = "${WORKDIR}/cgt6x_${PV}"
15
16SRC_URI = "http://install.source.dir.local/ti_cgt_c6000_${PVwithdots}_setup_linux_x86.bin;name=cgt6xbin"
17
18BINFILE="ti_cgt_c6000_${PVwithdots}_setup_linux_x86.bin"
19TI_BIN_UNPK_CMDS="Y:qY:workdir: : "
20TI_BIN_UNPK_WDEXT="/cgt6x_${PV}"
21
22do_install() {
23 install -d ${D}${CODEGEN_INSTALL_DIR_RECIPE}
24 cp -pPrf ${S}/* ${D}${CODEGEN_INSTALL_DIR_RECIPE}
25}
26
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 00000000..7798d400
--- /dev/null
+++ b/recipes-ti/devtools/ti-cgt6x_6.1.17.bb
@@ -0,0 +1,9 @@
1require ti-cgt6x.inc
2
3PE = "1"
4PV = "6_1_17"
5PVwithdots = "6.1.17"
6
7SRC_URI[cgt6xbin.md5sum] = "41ee41cc74800b06705804f7ef901447"
8SRC_URI[cgt6xbin.sha256sum] = "7e1c8b67420abf6f2f44786811d0a2b5692e76194743bed714ec9087cc1a75c7"
9
diff --git a/recipes-ti/devtools/ti-xdctools.inc b/recipes-ti/devtools/ti-xdctools.inc
new file mode 100644
index 00000000..d462d9f0
--- /dev/null
+++ b/recipes-ti/devtools/ti-xdctools.inc
@@ -0,0 +1,65 @@
1DESCRIPTION = "TI XDCtools (RTSC - Real Time Software Components - http://rtsc.eclipse.org)"
2HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc"
3SECTION = "devel"
4LICENSE = "BSD, GPLv2"
5
6LIC_FILES_CHKSUM = "file://docs/license/xdc/shelf/package.html;md5=fd6d0bfcac476bd22c1f1525a91c9807"
7
8PR = "r2"
9
10require ../includes/ti-paths.inc
11require ../includes/ti-staging.inc
12require ../includes/ti-eula-unpack.inc
13
14S = "${WORKDIR}/xdctools_${PV}"
15
16SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/${PV}/exports/xdctools_setuplinux_${PV}.bin;name=xdcbin"
17
18BINFILE="xdctools_setuplinux_${PV}.bin"
19TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
20
21do_install() {
22 install -d ${D}${XDC_INSTALL_DIR_RECIPE}
23 cp -pPrf ${S}/* ${D}${XDC_INSTALL_DIR_RECIPE}
24}
25
26# Prevent internal libs from getting picked up
27PRIVATE_LIBS = " \
28libncdb.so \
29libcdb.so \
30libjavaplugin_oji.so \
31libjavaplugin_jni.so \
32libjsound.so \
33libinstrument.so \
34libjawt.so \
35libzip.so \
36libjava_crw_demo.so \
37libjavaplugin_nscp_gcc29.so \
38libhprof.so \
39libcmm.so \
40libjdwp.so \
41libmlib_image.so \
42libjpeg.so \
43libverify.so \
44libjavaplugin_nscp.so \
45libmanagement.so \
46libunpack.so \
47librmi.so \
48libJdbcOdbc.so \
49libawt.so \
50libnet.so \
51libjaas_unix.so \
52libnio.so \
53libdcpr.so \
54libioser12.so \
55libjsoundalsa.so \
56libjava.so \
57libfontmanager.so \
58libdt_socket.so \
59libmawt.so \
60libjvm.so \
61libhpi.so \
62lib.so \
63libcairo.so.2 \
64"
65
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 00000000..26debf8f
--- /dev/null
+++ b/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff
@@ -0,0 +1,19 @@
1--- a/packages/gnu/targets/arm/linkcmd.xdt 2010-12-30 19:33:53.000000000 +0100
2+++ b/packages/gnu/targets/arm/linkcmd.xdt 2010-12-30 19:42:55.000000000 +0100
3@@ -40,12 +40,13 @@
4
5 %if ("BINVERS" in prog.build.target) {
6 % var _utils = xdc.loadCapsule("gnu/targets/linkUtils.xs");
7+% if (prog.build.target.GCCVERS < "4.3.3") {
8 SECTIONS {
9 `_utils.genSections(prog)`
10 }
11-
12-% if (!prog.build.target.noStdLinkScript
13-% && prog.build.target.BINVERS >= "2.19") {
14+% }
15+% if (prog.build.target.noStdLinkScript
16+% && prog.build.target.BINVERS >= "2.19") {
17 INSERT BEFORE .gnu.attributes
18 % }
19
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 00000000..a743a6d3
--- /dev/null
+++ b/recipes-ti/devtools/ti-xdctools_3.20.03.63.bb
@@ -0,0 +1,7 @@
1require ti-xdctools.inc
2
3PV = "3_20_03_63"
4
5SRC_URI[xdcbin.md5sum] = "ef3e7ab06dca1d346731d87a6525d2a7"
6SRC_URI[xdcbin.sha256sum] = "da5df132c96c8d73c6ca1e03dcd3b854a1850e3abab04749d858d6fbb9111e0f"
7
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 00000000..110ee356
--- /dev/null
+++ b/recipes-ti/devtools/ti-xdctools_3.20.06.81.bb
@@ -0,0 +1,12 @@
1require ti-xdctools.inc
2
3PV = "3_20_06_81"
4
5# This fixes c6accel, but breaks codec-engine and lpm
6#SRC_URI += "file://arm-linker-hack.diff"
7
8SRC_URI[xdcbin.md5sum] = "65151268d6be6ad6eb940ef7ed03af16"
9SRC_URI[xdcbin.sha256sum] = "8ea6b851521ce41fe0b4a349b2d922af7e70f48c50ad9fd21f62627446a834f8"
10
11
12
diff --git a/recipes-ti/dsplink/ti-dsplink.inc b/recipes-ti/dsplink/ti-dsplink.inc
new file mode 100644
index 00000000..396b3561
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink.inc
@@ -0,0 +1,208 @@
1DESCRIPTION = "DSPLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors"
2HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/index.html"
3SECTION = "devel"
4LICENSE = "GPLv2"
5
6LIC_FILES_CHKSUM = "file://dsplink/doc/gpl_2.0.pdf;md5=70996be607b61df78ce46093f4afe2bd"
7
8
9# TODO :: KERNEL_CC, should use for kernel cc for module build?
10# TODO :: Need to understand why OBJDUMP is required for kernel module
11# TODO :: Unset required since LDFLAGS gets picked up and used incorrectly - investigate
12# TODO :: Do we need to pass so many variables to each make step?
13
14require ../includes/ti-paths.inc
15require ../includes/ti-staging.inc
16
17PROVIDES = "ti-dsplink-module"
18PROVIDES += "ti-dsplink-examples"
19
20# This package builds a kernel module, use kernel PR as base and append a local version
21PR = "${MACHINE_KERNEL_PR}"
22PR_append = "i"
23
24S = "${WORKDIR}/dsplink_linux_${PV}"
25
26SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/${PV_DL_PATH}/dsplink_linux_${PV}.tar.gz;name=dsplinktarball \
27 file://ti-dsplink-examples-run.sh \
28 file://ti-dsplink-examples-loadmodules.sh \
29 file://ti-dsplink-examples-unloadmodules.sh "
30
31DEPENDS = "ti-dspbios ti-xdctools ti-cgt6x"
32DEPENDS += "virtual/kernel perl-native"
33
34# SOC_FAMILY configuration
35
36DSPLINKPLATFORM_dm6446 = "DAVINCI"
37DSPLINKPLATFORM_dm6467 = "DAVINCIHD"
38DSPLINKPLATFORM_omapl137 = "OMAPL1XX"
39DSPLINKPLATFORM_omapl138 = "OMAPL138"
40DSPLINKPLATFORM_omap3 = "OMAP3530"
41DSPLINKPLATFORM ?= "<UNDEFINED_DSPLINKPLATFORM>"
42
43DSPLINKDSPCFG_dm6446 = "DM6446GEMSHMEM"
44DSPLINKDSPCFG_dm6467 = "DM6467GEMSHMEM"
45DSPLINKDSPCFG_omapl137 = "OMAPL1XXGEMSHMEM"
46DSPLINKDSPCFG_omapl138 = "OMAPL138GEMSHMEM"
47DSPLINKDSPCFG_omap3 = "OMAP3530SHMEM"
48DSPLINKDSPCFG ?= "<UNDEFINED_DSPLINKDSPCFG>"
49
50DSPLINKDSP_dm6446 = "DM6446GEM_0"
51DSPLINKDSP_dm6467 = "DM6467GEM_0"
52DSPLINKDSP_omapl137 = "OMAPL1XXGEM_0"
53DSPLINKDSP_omapl138 = "OMAPL138GEM_0"
54DSPLINKDSP_omap3 = "OMAP3530_0"
55DSPLINKDSP ?= "<UNDEFINED_DSPLINKDSP>"
56
57DSPLINKGPPOS_dm6446 = "DM6446LSP"
58DSPLINKGPPOS_dm6467 = "DM6467LSP"
59DSPLINKGPPOS_omapl137 = "ARM"
60DSPLINKGPPOS_omapl138 = "ARM"
61DSPLINKGPPOS_omap3 = "OMAPLSP"
62DSPLINKGPPOS ?= "<DEFINED_DSPLINKGPPOS>"
63
64# Exported Variable needed by build
65DSPLINK = "${S}/dsplink"
66export DSPLINK
67
68do_configure() {
69
70 # Run perl script to create appropriate makefiles (v1.60 and up)
71 (
72 cd ${DSPLINK}
73 perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 \
74 --dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS5XX \
75 --gppos=${DSPLINKGPPOS} --comps=ponslrmc
76 )
77}
78
79do_prepsources () {
80
81 # Prepare the tree for rebuiling - clean and generate interfaces
82 XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc .make -PR .
83 XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc clean -PR .
84 XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc .interfaces -PR .
85}
86
87addtask prepsources after do_configure before do_compile
88
89do_compile() {
90 # TODO :: KERNEL_CC, should use for kernel module build?
91 # TODO :: Need to understand why OBJDUMP is required for kernel module
92 # Unset these since LDFLAGS gets picked up and used incorrectly.... need
93 # investigation
94
95 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
96
97 # Build the gpp user space library
98 cd ${DSPLINK}/gpp/src/api && make \
99 CROSS_COMPILE="${TARGET_PREFIX}" \
100 CC="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
101 AR="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
102 LD="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ld" \
103 COMPILER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
104 ARCHIVER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
105 KERNEL_DIR="${STAGING_KERNEL_DIR}" \
106 all
107
108 # Build the gpp kernel space (debug and release)
109 cd ${DSPLINK}/gpp/src && make \
110 OBJDUMP="${TARGET_PREFIX}objdump" \
111 CROSS_COMPILE="${TARGET_PREFIX}" \
112 CC="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
113 AR="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
114 LD="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ld" \
115 COMPILER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
116 ARCHIVER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
117 KERNEL_DIR="${STAGING_KERNEL_DIR}" \
118 BASE_BUILDOS="${STAGING_KERNEL_DIR}" \
119 all
120
121 # Build the gpp samples
122 cd ${DSPLINK}/gpp/src/samples && make \
123 BASE_TOOLCHAIN="${TOOLCHAIN_PATH}" \
124 BASE_CGTOOLS="${BASE_TOOLCHAIN}/bin" \
125 OSINC_PLATFORM="${TOOLCHAIN_PATH}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include" \
126 OSINC_TARGET="${BASE_TOOLCHAIN}/target/usr/include" \
127 CROSS_COMPILE="${TARGET_PREFIX}" \
128 CC="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
129 LD="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
130 AR="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
131 COMPILER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
132 LINKER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}gcc" \
133 ARCHIVER="${TOOLCHAIN_PATH}/${TARGET_PREFIX}ar" \
134 KERNEL_DIR="${STAGING_KERNEL_DIR}" \
135 all
136
137 # Build the dsp library (debug and release)
138 cd ${DSPLINK}/dsp/src && make \
139 BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
140 BASE_SABIOS="${BIOS_INSTALL_DIR}" \
141 all
142
143 # Build the dsp samples (debug and release)
144 cd ${DSPLINK}/dsp/src/samples && make \
145 BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
146 BASE_SABIOS="${BIOS_INSTALL_DIR}" \
147 all
148}
149
150KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
151
152do_install () {
153
154 # Install the kernel module
155 install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
156 install -m 0755 ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/
157
158 # Install the example apps (gpp and dsp)
159 install -d ${D}/${installdir}/ti-dsplink-examples/
160 cp ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/*gpp ${D}/${installdir}/ti-dsplink-examples
161 cp ${DSPLINK}/dsp/export/BIN/DspBios/${DSPLINKPLATFORM}/${DSPLINKDSP}/RELEASE/*.out ${D}/${installdir}/ti-dsplink-examples
162
163 # Install the example apps module un/load scripts
164 install ${WORKDIR}/ti-dsplink-examples-loadmodules.sh ${D}/${installdir}/ti-dsplink-examples
165 install ${WORKDIR}/ti-dsplink-examples-unloadmodules.sh ${D}/${installdir}/ti-dsplink-examples
166 install ${WORKDIR}/ti-dsplink-examples-run.sh ${D}/${installdir}/ti-dsplink-examples
167
168 # Install/Stage the Source Tree
169 install -d ${D}${LINK_INSTALL_DIR_RECIPE}
170 cp -pPrf ${S}/* ${D}${LINK_INSTALL_DIR_RECIPE}
171 chmod -R +w ${D}${LINK_INSTALL_DIR_RECIPE}
172
173 # Changes path of include txt file to use LINK_INSTALL_DIR variable for GPP
174 for i in $(find ${D}${LINK_INSTALL_DIR_RECIPE}/dsplink/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/*/ -name "*.txt"); do
175 sed -i ${i} -e s=${S}=\$\{LINK_INSTALL_DIR\}=g
176 done
177
178 # Changes path of include txt file to use LINK_INSTALL_DIR variable for DSP
179 for i in $(find ${D}${LINK_INSTALL_DIR_RECIPE}/dsplink/dsp/export/BIN/DspBios/${DSPLINKPLATFORM}/${DSPLINKDSP}/*/ -name "*.txt"); do
180 sed -i ${i} -e s=${S}=\$\{LINK_INSTALL_DIR\}=g
181 done
182
183}
184
185PACKAGES += "ti-dsplink-module"
186FILES_ti-dsplink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dsplinkk.ko"
187RDEPENDS_ti-dsplink-module += "update-modules"
188
189pkg_postinst_ti-dsplink-module () {
190#!/bin/sh
191if [ -n "$D" ]; then
192 exit 1
193fi
194
195depmod -a
196update-modules || true
197}
198
199pkg_postrm_ti-dsplink-module () {
200#!/bin/sh
201update-modules || true
202}
203
204PACKAGES += "ti-dsplink-examples"
205RDEPENDS_ti-dsplink-examples_append = " ti-dsplink-module"
206RDEPENDS_ti-dsplink-examples_append_omap3 += " ti-lpm-module ti-lpm-utils"
207FILES_ti-dsplink-examples = "${installdir}/ti-dsplink-examples/*"
208INSANE_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 00000000..eab3ec63
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/dsplink-BKL-fix.patch
@@ -0,0 +1,71 @@
1From e0931bf37628727903a567f1c7096ae0011edc3d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 4 Jan 2011 13:49:05 +0100
4Subject: [PATCH] Adjust drv_pmgr for post 2.6.36 ioctl changes
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c | 17 ++++++++++++++++-
9 1 files changed, 16 insertions(+), 1 deletions(-)
10
11diff --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
12index a9b831c..e4a836d 100644
13--- a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
14+++ b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
15@@ -399,10 +399,15 @@ DRV_Release (struct inode * inode, struct file * filp) ;
16 * @see None
17 * ----------------------------------------------------------------------------
18 */
19+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
20 STATIC
21 int
22 DRV_Ioctl (struct inode * inode, struct file * filp,
23 unsigned int cmd, unsigned long args) ;
24+#else
25+STATIC
26+int DRV_Ioctl (struct file *filp, unsigned int cmd, unsigned long args);
27+#endif
28
29
30 /** ----------------------------------------------------------------------------
31@@ -495,7 +500,11 @@ STATIC struct file_operations driverOps = {
32 open: DRV_Open,
33 flush: DRV_Flush,
34 release: DRV_Release,
35+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
36 ioctl: DRV_Ioctl,
37+#else
38+ unlocked_ioctl: DRV_Ioctl,
39+#endif
40 mmap: DRV_Mmap,
41 read: DRV_Read,
42 .owner = THIS_MODULE
43@@ -817,10 +826,16 @@ DRV_Release (struct inode * inode, struct file * filp)
44 * @desc Function to invoke the APIs through ioctl.
45 * ----------------------------------------------------------------------------
46 */
47+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
48 STATIC
49 NORMAL_API
50 int DRV_Ioctl (struct inode * inode, struct file * filp,
51 unsigned int cmd, unsigned long args)
52+#else
53+STATIC
54+NORMAL_API
55+int DRV_Ioctl (struct file *filp, unsigned int cmd, unsigned long args)
56+#endif
57 {
58 DSP_STATUS status = DSP_SOK ;
59 int osStatus = 0 ;
60@@ -829,7 +844,7 @@ int DRV_Ioctl (struct inode * inode, struct file * filp,
61 CMD_Args apiArgs ;
62
63
64- TRC_4ENTER ("DRV_Ioctl", inode, filp, cmd, args) ;
65+ TRC_3ENTER ("DRV_Ioctl", filp, cmd, args) ;
66
67 retVal = copy_from_user ((Pvoid) &apiArgs,
68 (const Pvoid) srcAddr,
69--
701.6.6.1
71
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 00000000..5a25dbb5
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch
@@ -0,0 +1,337 @@
1From 7b36e94dcb33892e1df7d3327db31bd41fb6167e Mon Sep 17 00:00:00 2001
2From: Roger Monk <r-monk@ti.com>
3Date: Fri, 5 Mar 2010 19:22:58 +0000
4Subject: [PATCH] dsplink_1_64: Add support for building with CS tools + against 2.6.30+
5
6 * Tweaked Patches from Niclas
7
8Signed-off-by: Roger Monk <r-monk@ti.com>
9---
10 dsplink/config/bin/dsplinkcfg.pl | 17 ++++-
11 dsplink/gpp/src/DIRS | 5 +
12 dslpink/gpp/src/Makefile | 8 ++-
13 dsplink/gpp/src/Rules.mk | 5 +
14 dsplink/make/Linux/davinci_2.6.mk | 211 +++++++++++++++++++++++++++++++++++++++++++++
15 5 files changed, 244 insertions(+), 2 deletions(-)
16 create mode 100644 make/Linux/davinci_2.6.mk
17
18diff --git a/dsplink/config/bin/dsplinkcfg.pl b/dsplink/config/bin/dsplinkcfg.pl
19index 644aa38..e83c133 100644
20--- a/dsplink/config/bin/dsplinkcfg.pl
21+++ b/dsplink/config/bin/dsplinkcfg.pl
22@@ -215,6 +215,18 @@ my %CFG_GPPOS_DM6467LSPuc =
23 'OSPREFIX' => 'uc',
24 ) ;
25
26+# DM6446 Linux
27+my %CFG_GPPOS_DM6446LSP =
28+(
29+ 'NAME' => 'DM6446LSP',
30+ 'PREFIX' => '2.6',
31+ 'ID' => 'DM6446LSP',
32+ 'DESC' => 'DM6446 LSP for DM6446',
33+ 'VER' => '2.6.18',
34+ 'TYPE' => 'Linux',
35+ 'LOADERS'=> [\%CFG_LOADER_COFF, ],
36+ 'COMPS' => 'ponslrmc',
37+) ;
38
39 # OMAPL138 Linux with uCLibc filesystem
40 my %CFG_GPPOS_OMAPL138LSPuc =
41@@ -356,7 +368,7 @@ my %CFG_DSPCFG_DM6446GEMSHMEM =
42 'PHYID' => 'DM6446GEMSHMEM',
43 'PHYDESC' => 'Shared Memory Physical Interface',
44 'PHYTYPE' => 'SHMEM',
45- 'GPPOS' => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G],
46+ 'GPPOS' => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G, \%CFG_GPPOS_DM6446LSP],
47 'DSPOS' => [\%CFG_DSPOS_5XX, \%CFG_DSPOS_6XX],
48 # DSP defines
49 'DSPNAME' => 'DM6446GEM',
50@@ -2994,6 +3006,9 @@ sub main {
51 if ($platform {'ID'} eq 'DA850') {
52 print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
53 }
54+ if ($platform {'ID'} eq 'DAVINCI') {
55+ print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
56+ }
57 if ($platform {'ID'} eq 'DAVINCIHD') {
58 print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
59 }
60diff --git a/dsplink/gpp/src/DIRS b/dsplink/gpp/src/DIRS
61index e82969c..05bad2b 100644
62--- a/dsplink/gpp/src/DIRS
63+++ b/dsplink/gpp/src/DIRS
64@@ -63,6 +63,10 @@ ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
65 DIRS += \
66 api
67 else # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
68+ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
69+DIRS += \
70+ api
71+else # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
72 ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
73 DIRS += \
74 api
75@@ -77,6 +81,7 @@ DIRS += \
76 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
77 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
78 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
79+endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
80 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
81 else # ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
82 DIRS += \
83diff --git a/dsplink/gpp/src/Makefile b/dsplink/gpp/src/Makefile
84index 9e6bbb1..49c3b97 100644
85--- a/dsplink/gpp/src/Makefile
86+++ b/dsplink/gpp/src/Makefile
87@@ -78,7 +78,13 @@ ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
88 include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
89 include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
90 else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
91- include Makefile_bld
92+ ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
93+ include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_bld
94+ include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
95+ include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
96+ else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
97+ include Makefile_bld
98+ endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
99 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
100 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
101 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
102diff --git a/dsplink/gpp/src/Rules.mk b/dsplink/gpp/src/Rules.mk
103index 658ee8a..5a6f52a 100644
104--- a/dsplink/gpp/src/Rules.mk
105+++ b/dsplink/gpp/src/Rules.mk
106@@ -63,6 +63,11 @@ KERNEL_DIR := ${HOME}/da850/DaVinci-PSP-SDK-03.20.00.01/src/kernel/linux-03.2
107 TOOL_PATH := ${HOME}/git/arm-2008q3/bin
108 endif #ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
109
110+ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
111+KERNEL_DIR := ${HOME}/linux-davinci
112+TOOL_PATH := ${HOME}/toolchains/git/arm-2009q1-203/bin
113+endif #ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
114+
115 ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
116 KERNEL_DIR := ${HOME}/linux-davinci
117 TOOL_PATH := ${HOME}/toolchains/git/arm-2009q1-203/bin
118diff --git a/dsplink/make/Linux/davinci_2.6.mk b/dsplink/make/Linux/davinci_2.6.mk
119new file mode 100644
120index 0000000..834fd74
121--- /dev/null
122+++ b/dsplink/make/Linux/davinci_2.6.mk
123@@ -0,0 +1,211 @@
124+# ============================================================================
125+# @file davinci_2.6.mk
126+#
127+# @path $(DSPLINK)/make/Linux/
128+#
129+# @desc This makefile defines OS specific macros used by MAKE system for
130+# the Montavista Pro 5.0 Linux distribution.
131+#
132+# @ver 1.64
133+# ============================================================================
134+# Copyright (C) 2002-2009, Texas Instruments Incorporated -
135+# http://www.ti.com/
136+#
137+# Redistribution and use in source and binary forms, with or without
138+# modification, are permitted provided that the following conditions
139+# are met:
140+#
141+# * Redistributions of source code must retain the above copyright
142+# notice, this list of conditions and the following disclaimer.
143+#
144+# * Redistributions in binary form must reproduce the above copyright
145+# notice, this list of conditions and the following disclaimer in the
146+# documentation and/or other materials provided with the distribution.
147+#
148+# * Neither the name of Texas Instruments Incorporated nor the names of
149+# its contributors may be used to endorse or promote products derived
150+# from this software without specific prior written permission.
151+#
152+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
153+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
154+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
155+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
156+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
157+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
158+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
159+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
160+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
161+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
162+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
163+# ============================================================================
164+
165+
166+ifndef DAVINCI_LINUX2_6_MK
167+
168+define DAVINCI_LINUX2_6_MK
169+endef
170+
171+
172+# ============================================================================
173+# Let the make system know that a specific distribution for the GPP OS
174+# is being used.
175+# ============================================================================
176+USE_DISTRIBUTION := 1
177+
178+
179+# ============================================================================
180+# Set the values of necessary variables to be used for the OS.
181+# ============================================================================
182+
183+# ----------------------------------------------------------------------------
184+# Base directory for the GPP OS
185+# ----------------------------------------------------------------------------
186+BASE_BUILDOS := ${HOME}/linux-davinci
187+
188+# ----------------------------------------------------------------------------
189+# Base for toolchain
190+# ----------------------------------------------------------------------------
191+BASE_TOOLCHAIN := ${HOME}/toolchains/git/arm-2009q1-203
192+
193+# ----------------------------------------------------------------------------
194+# Base for code generation tools - compiler, linker, archiver etc.
195+# ----------------------------------------------------------------------------
196+BASE_CGTOOLS := $(BASE_TOOLCHAIN)/bin
197+
198+# ----------------------------------------------------------------------------
199+# Base directory for include files provided by GPP OS
200+# ----------------------------------------------------------------------------
201+BASE_OSINC := $(BASE_BUILDOS)/include
202+
203+OSINC_GENERIC := $(BASE_OSINC)
204+OSINC_PLATFORM := $(BASE_TOOLCHAIN)/lib/gcc/arm-none-linux-gnueabi/4.2.3/include
205+OSINC_TARGET := $(BASE_TOOLCHAIN)/arm-none-linux-gnueabi/libc/usr/include
206+
207+ifneq ("$(VARIANT)", "")
208+OSINC_VARIANT := $(BASE_OSINC)
209+endif
210+
211+
212+# ----------------------------------------------------------------------------
213+# Base directory for libraries provided by GPP OS
214+# ----------------------------------------------------------------------------
215+BASE_OSLIB := $(BASE_TOOLCHAIN)/lib
216+
217+OSLIB_GENERIC := $(BASE_OSLIB)
218+OSLIB_PLATFORM := $(BASE_OSLIB)
219+
220+
221+ifneq ("$(VARIANT)", "")
222+OSLIB_VARIANT := $(BASE_OSLIB)
223+endif
224+
225+
226+# ============================================================================
227+# COMPILER
228+# ============================================================================
229+
230+# ----------------------------------------------------------------------------
231+# Name of the compiler
232+# ----------------------------------------------------------------------------
233+COMPILER := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
234+LD := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ld
235+
236+CROSS_COMPILE := arm-none-linux-gnueabi-
237+export CROSS_COMPILE
238+
239+# ----------------------------------------------------------------------------
240+# Command line switches used by the compiler
241+#
242+# CC_SW_DEF Command line defines
243+# CC_SW_INC Search path for header files
244+# CC_SW_OBJ Create object file
245+# CC_SW_DEB Include debug information
246+# ----------------------------------------------------------------------------
247+CC_SW_DEF := -D
248+CC_SW_INC := -I
249+CC_SW_OBJ := -o
250+CC_SW_DEB := -g
251+
252+# ----------------------------------------------------------------------------
253+# Standard flags for the compiler
254+# ----------------------------------------------------------------------------
255+STD_USER_FLAGS := -Wall -c
256+
257+# ----------------------------------------------------------------------------
258+# Flags for the compiler when building a library
259+# ----------------------------------------------------------------------------
260+EXE_CC_FLAGS :=
261+
262+# ----------------------------------------------------------------------------
263+# Standard flags for the compiler when building an executable
264+# ----------------------------------------------------------------------------
265+DRV_CC_FLAGS := -nostdinc
266+
267+# ----------------------------------------------------------------------------
268+# Flags for the compiler when building a driver
269+# ----------------------------------------------------------------------------
270+LIB_CC_FLAGS :=
271+
272+# ----------------------------------------------------------------------------
273+# Standard definitions for the compiler
274+# ----------------------------------------------------------------------------
275+STD_CC_DEFNS := -D_REENTRANT
276+
277+# ============================================================================
278+# ARCHIVER2 - This denotes the archiver.
279+# ============================================================================
280+ARCHIVER := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ar
281+
282+# ----------------------------------------------------------------------------
283+# Standard flags for the archiver
284+# ----------------------------------------------------------------------------
285+STD_AR_FLAGS := -rs
286+
287+
288+# ============================================================================
289+# LINKER used for Library & Driver build
290+# ============================================================================
291+LINKER := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
292+
293+# ----------------------------------------------------------------------------
294+# Command line switches used by the linker
295+#
296+# LD_SW_LIB Search path for libraries
297+# LD_SW_OUT Output filename
298+# LD_SW_RELOC Generate relocateable output
299+# ----------------------------------------------------------------------------
300+LD_SW_LIB := -L
301+LD_SW_OUT := -o
302+LD_SW_RELOC := -r
303+
304+# ----------------------------------------------------------------------------
305+# Flags for the LD when building an executable
306+# ----------------------------------------------------------------------------
307+STD_LD_FLAGS :=
308+
309+# ----------------------------------------------------------------------------
310+# Standard flags for the LD
311+# ----------------------------------------------------------------------------
312+EXE_LD_FLAGS := -lpthread -lc
313+
314+# ----------------------------------------------------------------------------
315+# Standard flags for the archiver
316+# ----------------------------------------------------------------------------
317+DRV_LD_FLAGS :=
318+
319+
320+# ============================================================================
321+# Post processing utilities for Linux 2.6
322+# ============================================================================
323+ifneq ($(CONFIG_MODVERSIONS),)
324+CMD_MODPOST_FLAGS := -m -i
325+else
326+CMD_MODPOST_FLAGS := -i
327+endif
328+
329+CMD_MODPOST := $(BASE_BUILDOS)/scripts/mod/modpost \
330+ $(CMD_MODPOST_FLAGS) $(BASE_BUILDOS)/Module.symvers \
331+ $(BASE_BUILDOS)/vmlinux
332+
333+
334+endif # ifndef DAVINCI_LINUX2_6_MK
335--
3361.6.0.6
337
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 00000000..fa4cb2e6
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch
@@ -0,0 +1,288 @@
1From fd5858c3a247bc61a4de3af1a5097cb05042cfa4 Mon Sep 17 00:00:00 2001
2From: Roger Monk <r-monk@ti.com>
3Date: Sun, 14 Mar 2010 22:13:42 +0000
4Subject: [PATCH] omap1
5
6Signed-off-by: Roger Monk <r-monk@ti.com>
7---
8 dsplink/config/bin/dsplinkcfg.pl | 2 +-
9 dsplink/gpp/src/DIRS | 5 +
10 dsplink/gpp/src/Makefile | 8 ++-
11 dsplink/make/Linux/omapl1xx_arm.mk | 210 ++++++++++++++++++++++++++++++++++++
12 4 files changed, 223 insertions(+), 2 deletions(-)
13 create mode 100644 dsplink/make/Linux/omapl1xx_arm.mk
14
15diff --git a/dsplink/config/bin/dsplinkcfg.pl b/dsplink/config/bin/dsplinkcfg.pl
16index e83c133..8151945 100644
17--- a/dsplink/config/bin/dsplinkcfg.pl
18+++ b/dsplink/config/bin/dsplinkcfg.pl
19@@ -523,7 +523,7 @@ my %CFG_DSPCFG_OMAPL1XXGEMSHMEM =
20 'PHYID' => 'OMAPL1XXGEMSHMEM',
21 'PHYDESC' => 'Shared Memory Physical Interface',
22 'PHYTYPE' => 'SHMEM',
23- 'GPPOS' => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G],
24+ 'GPPOS' => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G, \%CFG_GPPOS_ARM],
25 'DSPOS' => [\%CFG_DSPOS_5XX],
26 # DSP defines
27 'DSPNAME' => 'OMAPL1XXGEM',
28diff --git a/dsplink/gpp/src/DIRS b/dsplink/gpp/src/DIRS
29index 05bad2b..af48904 100644
30--- a/dsplink/gpp/src/DIRS
31+++ b/dsplink/gpp/src/DIRS
32@@ -55,6 +55,10 @@ ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
33 DIRS += \
34 api
35 else # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
36+ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
37+DIRS += \
38+ api
39+else # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
40 ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
41 DIRS += \
42 api
43@@ -83,6 +87,7 @@ endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
44 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
45 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
46 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
47+endif
48 else # ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
49 DIRS += \
50 arch \
51diff --git a/dsplink/gpp/src/Makefile b/dsplink/gpp/src/Makefile
52index 49c3b97..0afd988 100644
53--- a/dsplink/gpp/src/Makefile
54+++ b/dsplink/gpp/src/Makefile
55@@ -83,7 +83,13 @@ ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
56 include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
57 include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
58 else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
59- include Makefile_bld
60+ ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
61+ include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_bld
62+ include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
63+ include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
64+ else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
65+ include Makefile_bld
66+ endif
67 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
68 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
69 endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
70diff --git a/dsplink/make/Linux/omapl1xx_arm.mk b/dsplink/make/Linux/omapl1xx_arm.mk
71new file mode 100644
72index 0000000..3e42e87
73--- /dev/null
74+++ b/dsplink/make/Linux/omapl1xx_arm.mk
75@@ -0,0 +1,210 @@
76+# ============================================================================
77+# @file omapl1xx_arm.mk
78+#
79+# @path $(DSPLINK)/make/Linux/
80+#
81+# @desc This makefile defines OS specific macros used by MAKE system for
82+# the Montavista Pro 5.0 Linux distribution with mvlpro.
83+#
84+# @ver 1.64
85+# ============================================================================
86+# Copyright (C) 2002-2009, Texas Instruments Incorporated -
87+# http://www.ti.com/
88+#
89+# Redistribution and use in source and binary forms, with or without
90+# modification, are permitted provided that the following conditions
91+# are met:
92+#
93+# * Redistributions of source code must retain the above copyright
94+# notice, this list of conditions and the following disclaimer.
95+#
96+# * Redistributions in binary form must reproduce the above copyright
97+# notice, this list of conditions and the following disclaimer in the
98+# documentation and/or other materials provided with the distribution.
99+#
100+# * Neither the name of Texas Instruments Incorporated nor the names of
101+# its contributors may be used to endorse or promote products derived
102+# from this software without specific prior written permission.
103+#
104+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
105+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
106+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
107+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
108+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
109+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
110+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
111+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
112+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
113+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
114+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
115+# ============================================================================
116+
117+ifndef OMAPL1XX_ARM_MK
118+
119+define OMAPL1XX_ARM_MK
120+endef
121+
122+
123+# ============================================================================
124+# Let the make system know that a specific distribution for the GPP OS
125+# is being used.
126+# ============================================================================
127+USE_DISTRIBUTION := 1
128+
129+
130+# ============================================================================
131+# Set the values of necessary variables to be used for the OS.
132+# ============================================================================
133+
134+# ----------------------------------------------------------------------------
135+# Base directory for the GPP OS
136+# ----------------------------------------------------------------------------
137+BASE_BUILDOS := ${HOME}/da850/DaVinci-PSP-SDK-03.20.00.01/src/kernel/linux-03.20.00.01
138+
139+# ----------------------------------------------------------------------------
140+# Base for toolchain
141+# ----------------------------------------------------------------------------
142+BASE_TOOLCHAIN := ${HOME}/git/arm-2008q3
143+
144+# ----------------------------------------------------------------------------
145+# Base for code generation tools - compiler, linker, archiver etc.
146+# ----------------------------------------------------------------------------
147+BASE_CGTOOLS := $(BASE_TOOLCHAIN)/bin
148+
149+# ----------------------------------------------------------------------------
150+# Base directory for include files provided by GPP OS
151+# ----------------------------------------------------------------------------
152+BASE_OSINC := $(BASE_BUILDOS)/include
153+
154+OSINC_GENERIC := $(BASE_OSINC)
155+OSINC_PLATFORM := $(BASE_TOOLCHAIN)/lib/gcc/arm-none-linux-gnueabi/4.3.2/include
156+OSINC_TARGET := $(BASE_TOOLCHAIN)/arm-none-linux-gnueabi/libc/usr/include
157+
158+ifneq ("$(VARIANT)", "")
159+OSINC_VARIANT := $(BASE_OSINC)
160+endif
161+
162+
163+# ----------------------------------------------------------------------------
164+# Base directory for libraries provided by GPP OS
165+# ----------------------------------------------------------------------------
166+BASE_OSLIB := $(BASE_TOOLCHAIN)/lib
167+
168+OSLIB_GENERIC := $(BASE_OSLIB)
169+OSLIB_PLATFORM := $(BASE_OSLIB)
170+
171+
172+ifneq ("$(VARIANT)", "")
173+OSLIB_VARIANT := $(BASE_OSLIB)
174+endif
175+
176+
177+# ============================================================================
178+# COMPILER
179+# ============================================================================
180+
181+# ----------------------------------------------------------------------------
182+# Name of the compiler
183+# ----------------------------------------------------------------------------
184+COMPILER := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
185+LD := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ld
186+
187+CROSS_COMPILE := arm-none-linux-gnueabi-
188+export CROSS_COMPILE
189+
190+# ----------------------------------------------------------------------------
191+# Command line switches used by the compiler
192+#
193+# CC_SW_DEF Command line defines
194+# CC_SW_INC Search path for header files
195+# CC_SW_OBJ Create object file
196+# CC_SW_DEB Include debug information
197+# ----------------------------------------------------------------------------
198+CC_SW_DEF := -D
199+CC_SW_INC := -I
200+CC_SW_OBJ := -o
201+CC_SW_DEB := -g
202+
203+# ----------------------------------------------------------------------------
204+# Standard flags for the compiler
205+# ----------------------------------------------------------------------------
206+STD_USER_FLAGS := -Wall -c
207+
208+# ----------------------------------------------------------------------------
209+# Standard flags for the compiler when building an executable
210+# ----------------------------------------------------------------------------
211+EXE_CC_FLAGS :=
212+
213+# ----------------------------------------------------------------------------
214+# Flags for the compiler when building a driver
215+# ----------------------------------------------------------------------------
216+DRV_CC_FLAGS := -nostdinc
217+
218+# ----------------------------------------------------------------------------
219+# Flags for the compiler when building a library
220+# ----------------------------------------------------------------------------
221+LIB_CC_FLAGS :=
222+
223+# ----------------------------------------------------------------------------
224+# Standard definitions for the compiler
225+# ----------------------------------------------------------------------------
226+STD_CC_DEFNS := -D_REENTRANT
227+
228+# ============================================================================
229+# ARCHIVER2 - This denotes the archiver.
230+# ============================================================================
231+ARCHIVER := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ar
232+
233+# ----------------------------------------------------------------------------
234+# Standard flags for the archiver
235+# ----------------------------------------------------------------------------
236+STD_AR_FLAGS := -rs
237+
238+
239+# ============================================================================
240+# LINKER - The compiler is used for linking purpose as well.
241+# ============================================================================
242+LINKER := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
243+
244+# ----------------------------------------------------------------------------
245+# Command line switches used by the linker
246+#
247+# LD_SW_LIB Search path for libraries
248+# LD_SW_OUT Output filename
249+# LD_SW_RELOC Generate relocateable output
250+# ----------------------------------------------------------------------------
251+LD_SW_LIB := -L
252+LD_SW_OUT := -o
253+LD_SW_RELOC := -r
254+
255+# ----------------------------------------------------------------------------
256+# Standard flags for the linker
257+# ----------------------------------------------------------------------------
258+STD_LD_FLAGS :=
259+
260+# ----------------------------------------------------------------------------
261+# Flags for the linker when building an executable
262+# ----------------------------------------------------------------------------
263+EXE_LD_FLAGS := -lpthread -lc
264+
265+# ----------------------------------------------------------------------------
266+# Flags for the linker when building a driver
267+# ----------------------------------------------------------------------------
268+DRV_LD_FLAGS :=
269+
270+
271+# ============================================================================
272+# Post processing utilities for Linux 2.6
273+# ============================================================================
274+ifneq ($(CONFIG_MODVERSIONS),)
275+CMD_MODPOST_FLAGS := -m -i
276+else
277+CMD_MODPOST_FLAGS := -i
278+endif
279+
280+CMD_MODPOST := $(BASE_BUILDOS)/scripts/mod/modpost \
281+ $(CMD_MODPOST_FLAGS) $(BASE_BUILDOS)/Module.symvers \
282+ $(BASE_BUILDOS)/vmlinux
283+
284+
285+endif # ifndef OMAPL1XX_ARM_MK
286--
2871.6.0.6
288
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 00000000..271b3043
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch
@@ -0,0 +1,335 @@
1diff -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
2--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c 2009-11-13 12:12:47.000000000 +0000
3+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c 2010-02-09 17:42:37.000000000 +0000
4@@ -22,7 +22,12 @@
5
6
7 /* ----------------------------------- OSAL Headers */
8+#include <linux/version.h>
9+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
10+#include <generated/autoconf.h>
11+#else
12 #include <linux/autoconf.h>
13+#endif
14 #include <asm/page.h>
15 #include <asm/io.h>
16
17diff -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
18--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
19+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c 2010-02-09 17:43:06.000000000 +0000
20@@ -22,7 +22,12 @@
21
22
23 /* ----------------------------------- OS Headers */
24+#include <linux/version.h>
25+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
26+#include <generated/autoconf.h>
27+#else
28 #include <linux/autoconf.h>
29+#endif
30 #include <linux/module.h>
31 #include <linux/types.h>
32 #include <linux/kernel.h>
33diff -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
34--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c 2009-11-13 12:12:46.000000000 +0000
35+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c 2010-02-09 17:45:06.000000000 +0000
36@@ -21,7 +21,12 @@
37 */
38
39
40+#include <linux/version.h>
41+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
42+#include <generated/autoconf.h>
43+#else
44 #include <linux/autoconf.h>
45+#endif
46 #include <asm/page.h>
47 #include <asm/io.h>
48
49diff -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
50--- 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
51+++ 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
52@@ -22,7 +22,12 @@
53
54
55 /* ----------------------------------- OS Headers */
56+#include <linux/version.h>
57+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
58+#include <generated/autoconf.h>
59+#else
60 #include <linux/autoconf.h>
61+#endif
62 #include <linux/module.h>
63 #include <linux/types.h>
64 #include <linux/kernel.h>
65diff -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
66--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c 2009-11-13 12:12:46.000000000 +0000
67+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c 2010-02-09 17:44:21.000000000 +0000
68@@ -22,7 +22,12 @@
69
70
71 /* ----------------------------------- OS Headers */
72+#include <linux/version.h>
73+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
74+#include <generated/autoconf.h>
75+#else
76 #include <linux/autoconf.h>
77+#endif
78 #include <linux/module.h>
79 #include <linux/types.h>
80 #include <linux/kernel.h>
81diff -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
82--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c 2009-11-13 12:12:46.000000000 +0000
83+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c 2010-02-09 17:41:46.000000000 +0000
84@@ -22,7 +22,12 @@
85
86
87 /* ----------------------------------- OS Headers */
88+#include <linux/version.h>
89+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
90+#include <generated/autoconf.h>
91+#else
92 #include <linux/autoconf.h>
93+#endif
94 #include <linux/module.h>
95 #include <linux/types.h>
96 #include <linux/kernel.h>
97diff -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
98--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c 2009-11-13 12:12:46.000000000 +0000
99+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c 2010-02-09 17:42:02.000000000 +0000
100@@ -20,7 +20,12 @@
101 * ============================================================================
102 */
103
104+#include <linux/version.h>
105+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
106+#include <generated/autoconf.h>
107+#else
108 #include <linux/autoconf.h>
109+#endif
110 #include <asm/page.h>
111 #include <asm/io.h>
112
113diff -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
114--- 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
115+++ 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
116@@ -22,7 +22,12 @@
117
118
119 /* ----------------------------------- OS Headers */
120+#include <linux/version.h>
121+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
122+#include <generated/autoconf.h>
123+#else
124 #include <linux/autoconf.h>
125+#endif
126 #include <linux/module.h>
127 #include <linux/types.h>
128 #include <linux/kernel.h>
129diff -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
130--- dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
131+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c 2010-02-09 17:43:29.000000000 +0000
132@@ -25,7 +25,12 @@
133
134
135 /* ----------------------------------- OS Headers */
136+#include <linux/version.h>
137+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
138+#include <generated/autoconf.h>
139+#else
140 #include <linux/autoconf.h>
141+#endif
142 #include <linux/module.h>
143 #include <linux/types.h>
144 #include <linux/kernel.h>
145diff -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
146--- dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
147+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c 2010-02-09 17:43:50.000000000 +0000
148@@ -22,7 +22,12 @@
149
150
151 /* ----------------------------------- OS Headers */
152+#include <linux/version.h>
153+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
154+#include <generated/autoconf.h>
155+#else
156 #include <linux/autoconf.h>
157+#endif
158 #include <linux/module.h>
159 #include <linux/types.h>
160 #include <linux/kernel.h>
161diff -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
162--- dsplink_linux_1_64a/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
163+++ dsplink_linux_1_64b/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c 2010-02-09 17:44:06.000000000 +0000
164@@ -22,7 +22,12 @@
165
166
167 /* ----------------------------------- OS Headers */
168+#include <linux/version.h>
169+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
170+#include <generated/autoconf.h>
171+#else
172 #include <linux/autoconf.h>
173+#endif
174 #include <linux/module.h>
175 #include <linux/types.h>
176 #include <linux/kernel.h>
177diff -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
178--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c 2009-11-13 12:12:47.000000000 +0000
179+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c 2010-02-09 17:47:25.000000000 +0000
180@@ -22,7 +22,12 @@
181
182
183 /* ----------------------------------- OS Specific Headers */
184+#include <linux/version.h>
185+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
186+#include <generated/autoconf.h>
187+#else
188 #include <linux/autoconf.h>
189+#endif
190 #include <linux/spinlock.h>
191 #include <linux/sched.h>
192 #include <linux/interrupt.h>
193diff -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
194--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/isr.c 2009-11-13 12:12:47.000000000 +0000
195+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/isr.c 2010-02-09 17:46:54.000000000 +0000
196@@ -22,7 +22,12 @@
197
198
199 /* ----------------------------------- OS Specific Headers */
200+#include <linux/version.h>
201+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
202+#include <generated/autoconf.h>
203+#else
204 #include <linux/autoconf.h>
205+#endif
206 #include <linux/version.h>
207 #include <linux/spinlock.h>
208 #include <linux/sched.h>
209diff -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
210--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c 2009-11-13 12:12:47.000000000 +0000
211+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c 2010-02-09 17:46:39.000000000 +0000
212@@ -22,7 +22,12 @@
213
214
215 /* ----------------------------------- OS Specific Headers */
216+#include <linux/version.h>
217+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
218+#include <generated/autoconf.h>
219+#else
220 #include <linux/autoconf.h>
221+#endif
222 #include <linux/spinlock.h>
223 #include <linux/kernel.h>
224 #include <linux/mm.h>
225diff -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
226--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/mem.c 2009-11-13 12:12:47.000000000 +0000
227+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/mem.c 2010-02-09 17:46:25.000000000 +0000
228@@ -22,7 +22,12 @@
229
230
231 /* ----------------------------------- OS Specific Headers */
232+#include <linux/version.h>
233+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
234+#include <generated/autoconf.h>
235+#else
236 #include <linux/autoconf.h>
237+#endif
238 #include <linux/spinlock.h>
239 #include <linux/sched.h>
240 #include <linux/types.h>
241diff -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
242--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c 2009-11-13 12:12:47.000000000 +0000
243+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c 2010-02-09 17:47:12.000000000 +0000
244@@ -22,7 +22,12 @@
245
246
247 /* ----------------------------------- OS Specific Headers */
248+#include <linux/version.h>
249+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
250+#include <generated/autoconf.h>
251+#else
252 #include <linux/autoconf.h>
253+#endif
254 #include <linux/spinlock.h>
255 #include <linux/signal.h>
256 #include <linux/kernel.h>
257diff -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
258--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/sync.c 2009-11-13 12:12:47.000000000 +0000
259+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/sync.c 2010-02-09 17:47:39.000000000 +0000
260@@ -22,7 +22,12 @@
261
262
263 /* ----------------------------------- OS Specific Headers */
264+#include <linux/version.h>
265+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
266+#include <generated/autoconf.h>
267+#else
268 #include <linux/autoconf.h>
269+#endif
270 #include <linux/spinlock.h>
271 #include <linux/timer.h>
272 #include <linux/sched.h>
273diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/prcs.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/prcs.c
274--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/prcs.c 2009-11-13 12:12:47.000000000 +0000
275+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/prcs.c 2010-02-09 17:45:44.000000000 +0000
276@@ -22,7 +22,12 @@
277
278
279 /* ----------------------------------- OS Specific Headers */
280+#include <linux/version.h>
281+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
282+#include <generated/autoconf.h>
283+#else
284 #include <linux/autoconf.h>
285+#endif
286 #include <linux/spinlock.h>
287 #include <linux/module.h>
288 #include <linux/mm.h>
289diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/print.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/print.c
290--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/print.c 2009-11-13 12:12:47.000000000 +0000
291+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/print.c 2010-02-09 17:45:30.000000000 +0000
292@@ -22,7 +22,12 @@
293
294
295 /* ----------------------------------- OS Specific Headers */
296+#include <linux/version.h>
297+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
298+#include <generated/autoconf.h>
299+#else
300 #include <linux/autoconf.h>
301+#endif
302 #include <linux/spinlock.h>
303 #include <stdarg.h>
304 #include <linux/types.h>
305diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/user.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/user.c
306--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/user.c 2009-11-13 12:12:47.000000000 +0000
307+++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/user.c 2010-02-09 17:46:07.000000000 +0000
308@@ -22,7 +22,12 @@
309
310
311 /* ----------------------------------- OS Specific Headers */
312+#include <linux/version.h>
313+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
314+#include <generated/autoconf.h>
315+#else
316 #include <linux/autoconf.h>
317+#endif
318 #include <linux/spinlock.h>
319 #include <linux/timer.h>
320 #include <linux/sched.h>
321diff -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
322--- dsplink_linux_1_64a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2009-11-13 12:12:48.000000000 +0000
323+++ dsplink_linux_1_64b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2010-02-09 17:40:59.000000000 +0000
324@@ -33,7 +33,11 @@
325 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
326 #include <linux/device.h>
327 #endif
328+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
329+#include <generated/autoconf.h>
330+#else
331 #include <linux/autoconf.h>
332+#endif
333 #include <linux/spinlock.h>
334 #include <linux/module.h>
335 #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 00000000..9cfb19d5
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-loadmodules.sh
@@ -0,0 +1,25 @@
1#
2# Default Memory Map - for OMAP3530 dsplink examples
3#
4# Start Addr Size Description
5# -------------------------------------------
6# 0x80000000 126 MB Linux
7# 0x87E00000 2 MB DSPLINK (MEM) + DDR + DSPLINK (RESET)
8
9# sanity check to verify that we're using the right mem=xxM (126M in this case)
10awk '/MemTotal:/ {
11 mem=$2
12
13 if (mem > 126 * 1024)
14 print "Warning! You need to use mem=126M or less on the kernel cmdline"
15
16 printf "You have %dkB total memory for Linux\n", mem
17}' /proc/meminfo
18
19# insert DSP/BIOS Link driver
20#
21modprobe dsplinkk
22
23# make /dev/dsplink
24#rm -f /dev/dsplink
25#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 00000000..b2f2faac
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-run.sh
@@ -0,0 +1,25 @@
1#! /bin/sh
2
3echo "Running Loop Sample App"
4./loopgpp loop.out 1024 2000 0
5
6echo "Running Message Sample App"
7./messagegpp message.out 10000 0
8
9echo "Running Message Multi Sample App"
10./messagemultigpp messagemulti.out 128 1 0
11
12echo "Running MultiProcessor List Sample App"
13./mplistgpp mplist.out 128 128 0
14
15echo "Running MultiProcessorCriticalSection Transfer Sample App"
16./mpcsxfergpp mpcsxfer.out 128 1000 0
17
18echo "Running Ringio Sample App"
19./ringiogpp ringio.out 2048 128 0
20
21echo "Running Scale Sample App"
22./scalegpp scale.out 128 500 0
23
24#echo "Running Read/Write Sample App"
25#./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 00000000..48fa84b0
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink/ti-dsplink-examples-unloadmodules.sh
@@ -0,0 +1,5 @@
1# Unload modules - DSPLINK - OMAP3530
2
3# remove DSP/BIOS Link driver
4rmmod dsplinkk
5#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 00000000..c2ca5d9f
--- /dev/null
+++ b/recipes-ti/dsplink/ti-dsplink_1.65.00.03.bb
@@ -0,0 +1,14 @@
1require ti-dsplink.inc
2
3PE = "1"
4PV = "1_65_00_03"
5PV_dot = "1.65.00.03"
6PV_major = "1_65"
7
8PV_DL_PATH = "DSPLink/${PV_major}/${PV}/${PV_dot}"
9
10SRC_URI += "file://dsplink-BKL-fix.patch"
11
12SRC_URI[dsplinktarball.md5sum] = "1bda596b631bd2f517edc70f6be4f2ca"
13SRC_URI[dsplinktarball.sha256sum] = "4b1bda89bd8465b887f5bcdf7b95018bc1d1f8968c0c44f8cbad2a9e1c52bcb7"
14
diff --git a/recipes-ti/includes/ti-eula-unpack.inc b/recipes-ti/includes/ti-eula-unpack.inc
new file mode 100644
index 00000000..3b79c243
--- /dev/null
+++ b/recipes-ti/includes/ti-eula-unpack.inc
@@ -0,0 +1,71 @@
1# This file defines function used for unpacking the .bin file downloaded over
2# the http and display EULA.
3# BINFILE - name of the install jammer .bin file
4# TARFILE - name of the tar file inside the install jammer
5# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be
6# passed while unpacking the bin file. The keyword
7# workdir expands to WORKDIR and commands are appendded
8# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir"
9# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put
10# the output in some internal directory
11
12python do_unpack () {
13 bb.build.exec_func('base_do_unpack', d)
14 bb.build.exec_func('ti_bin_do_unpack', d)
15}
16
17TI_BIN_UNPK_WDEXT += ""
18python ti_bin_do_unpack() {
19
20 import os
21
22 localdata = bb.data.createCopy(d)
23 bb.data.update_data(localdata)
24
25 binfile = bb.data.getVar('BINFILE', localdata)
26 binfile = bb.data.expand(binfile, localdata)
27
28 # Change to the working directory
29 save_cwd = os.getcwd()
30 workdir = bb.data.getVar('WORKDIR', localdata)
31 workdir = bb.data.expand(workdir, localdata)
32 os.chdir(workdir)
33
34 # Get unpack commands
35 cmd_string = bb.data.getVar('TI_BIN_UNPK_CMDS', localdata)
36 cmd_list = cmd_string.split( ":" )
37
38 # Make the InstallJammer binary executable so we can run it
39 os.chmod(binfile, 0755)
40
41 # Run the InstallJammer binary and accept the EULA
42 filename = "HOME=%s ./%s --mode console" % (workdir, binfile)
43
44 # Test executable by printing installer version or help screen (--version currently broken for some installers)
45 # - this is currently broken in some IJ installers - comment out for now
46 #if os.system(filename + " --version") != 0:
47 # print "ERROR: ti-eula-unpack: failed to execute binary installer"
48 # raise bb.build.FuncFailed()
49
50 f = os.popen(filename,'w')
51 for cmd in cmd_list:
52 if cmd == "workdir":
53 wdext = bb.data.getVar('TI_BIN_UNPK_WDEXT', localdata)
54 wdext = bb.data.expand(wdext, localdata)
55 cmd = workdir+wdext
56 print >>f, "%s\n" % cmd
57 f.close()
58
59 # Expand the tarball that was created if required
60 tarfile = bb.data.getVar('TARFILE', localdata)
61 if bool(tarfile) == True:
62 tarfile = bb.data.expand(tarfile, localdata)
63 tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir)
64 if os.system(tcmd) != 0:
65 print "ERROR: ti-eula-unpack: failed to extract tarfile"
66 raise bb.build.FuncFailed()
67
68 # Return to the previous directory
69 os.chdir(save_cwd)
70}
71
diff --git a/recipes-ti/includes/ti-paths.inc b/recipes-ti/includes/ti-paths.inc
new file mode 100644
index 00000000..e7eefe1d
--- /dev/null
+++ b/recipes-ti/includes/ti-paths.inc
@@ -0,0 +1,56 @@
1installdir = "${datadir}/ti"
2
3# This is where do_install will put it
4export CODEGEN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt6x-tree"
5export XDC_INSTALL_DIR_RECIPE = "${installdir}/ti-xdctools-tree"
6export XDAIS_INSTALL_DIR_RECIPE = "${installdir}/ti-xdais-tree"
7export BIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-dspbios-tree"
8export SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-sysbios-tree"
9export BIOSUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-biosutils-tree"
10export FC_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components-tree"
11export FC3_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components3-tree"
12export CE_INSTALL_DIR_RECIPE = "${installdir}/ti-codec-engine-tree"
13export EDMA3_LLD_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-tree"
14export EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-sysbios-tree"
15export LINUXUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
16export CMEM_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
17export LINK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplink-tree"
18export SYSLINK_INSTALL_DIR_RECIPE = "${installdir}/ti-syslink-tree"
19export IPC_INSTALL_DIR_RECIPE = "${installdir}/ti-ipc-tree"
20export LPM_INSTALL_DIR_RECIPE = "${installdir}/ti-local-power-manager-tree"
21export DMAI_INSTALL_DIR_RECIPE = "${installdir}/ti-dmai-tree"
22export CODEC_INSTALL_DIR_RECIPE = "${installdir}/ti-codecs-tree"
23export DSPLIB_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-tree"
24export DVSDK_DEMOS_INSTALL_DIR_RECIPE = "${installdir}/ti-dvsdk-demos-tree"
25export BIOSPSP_INSTALL_DIR_RECIPE = "${installdir}/ti-biospsp-tree"
26export AUDIO_SOC_INSTALL_DIR_RECIPE = "${installdir}/ti-audio-soc-example-tree"
27export C6ACCEL_INSTALL_DIR_RECIPE = "${installdir}/ti-c6accel-tree"
28
29# This is where the tools will end up in staging provided PACKAGE_ARCH = ${MACHINE_ARCH} is set
30export CODEGEN_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CODEGEN_INSTALL_DIR_RECIPE}"
31export XDC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${XDC_INSTALL_DIR_RECIPE}"
32export XDAIS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${XDAIS_INSTALL_DIR_RECIPE}"
33export BIOS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${BIOS_INSTALL_DIR_RECIPE}"
34export SYSBIOS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${SYSBIOS_INSTALL_DIR_RECIPE}"
35export BIOSUTILS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${BIOSUTILS_INSTALL_DIR_RECIPE}"
36export FC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${FC_INSTALL_DIR_RECIPE}"
37export FC3_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${FC3_INSTALL_DIR_RECIPE}"
38export CE_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CE_INSTALL_DIR_RECIPE}"
39export EDMA3_LLD_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${EDMA3_LLD_INSTALL_DIR_RECIPE}"
40export EDMA3_LLD_SYSBIOS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE}"
41export LINUXUTILS_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${LINUXUTILS_INSTALL_DIR_RECIPE}"
42export CMEM_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CMEM_INSTALL_DIR_RECIPE}"
43export LINK_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${LINK_INSTALL_DIR_RECIPE}"
44export SYSLINK_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${SYSLINK_INSTALL_DIR_RECIPE}"
45export IPC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${IPC_INSTALL_DIR_RECIPE}"
46export LPM_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${LPM_INSTALL_DIR_RECIPE}"
47export DMAI_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${DMAI_INSTALL_DIR_RECIPE}"
48export CODEC_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${CODEC_INSTALL_DIR_RECIPE}"
49export DSPLIB_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${DSPLIB_INSTALL_DIR_RECIPE}"
50export BIOSPSP_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${BIOSPSP_INSTALL_DIR_RECIPE}"
51export C6ACCEL_INSTALL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${C6ACCEL_INSTALL_DIR_RECIPE}"
52
53DSPSUFFIX_omapl137 = "x674"
54DSPSUFFIX_omapl138 = "x674"
55DSPSUFFIX ?= "x64P"
56
diff --git a/recipes-ti/includes/ti-staging.inc b/recipes-ti/includes/ti-staging.inc
new file mode 100644
index 00000000..2bacd7a9
--- /dev/null
+++ b/recipes-ti/includes/ti-staging.inc
@@ -0,0 +1,8 @@
1PACKAGE_ARCH = "${MACHINE_ARCH}"
2
3PACKAGE_STRIP = "no"
4
5ALLOW_EMPTY_${PN} = "1"
6ALLOW_EMPTY_${PN}-dev = "1"
7
8
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 00000000..836e1181
--- /dev/null
+++ b/recipes-ti/local-power-manager/ti-local-power-manager.inc
@@ -0,0 +1,130 @@
1DESCRIPTION = "TI Local Power Manager (LPM)"
2HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/lpm"
3SECTION = "devel"
4LICENSE = "GPLv2"
5
6# TODO : Hardcoded path to evm3530 - need to fix when adding omap24xx/dm6446 (other lpm targets)
7
8require ../includes/ti-paths.inc
9require ../includes/ti-staging.inc
10
11PROVIDES = "ti-lpm-module"
12PROVIDES += "ti-lpm-utils"
13
14# This package builds a kernel module, use kernel PR as base and append a local version
15PR = "${MACHINE_KERNEL_PR}"
16PR_append = "e"
17
18S = "${WORKDIR}/local_power_manager_linux_${PV}"
19
20SRC_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"
21
22DEPENDS = "ti-dsplink ti-xdctools"
23DEPENDS += "virtual/kernel"
24
25# SOC_FAMILY configuration
26
27LPMDSPPOWERSOC_omap3 = "omap3530"
28LPMDSPPOWERSOC_dm6446 = "dm6446"
29LPMDSPPOWERSOC ?= "<UNDEFINED_LPMDSPPOWERSOC>"
30
31XDC_PLATFORM_dm6446 = "ti.platforms.evmDM6446"
32XDC_PLATFORM_omap3 = "ti.platforms.evm3530"
33XDC_PLATFORM ?= "<UNDEFINED_XDC_PLATFORM>"
34
35do_configure () {
36
37 # Generate a config.bld for XDC
38
39 cat > ${S}/config.bld <<EOF
40
41/* Generated by ti-local-power-manager.inc OE recipe */
42
43var Build = xdc.useModule('xdc.bld.BuildEnvironment');
44
45var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
46GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
47GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
48GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing ";
49GCArmv5T.lnkOpts.suffix = GCArmv5T.lnkOpts.suffix.replace("-lstdc++", "");
50GCArmv5T.lnkOpts.suffix += " -lpthread ";
51GCArmv5T.platform = null;
52GCArmv5T.platforms = [
53 "${XDC_PLATFORM}"
54];
55
56/* remove profiles we don't use */
57delete GCArmv5T.profiles["coverage"];
58delete GCArmv5T.profiles["profile"];
59
60Build.targets.\$add(GCArmv5T);
61EOF
62
63}
64
65do_prepsources () {
66
67 # Prepare the tree for rebuiling - generate makefiles and clean
68 XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc .make -PR .
69 XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc clean -PR .
70}
71
72addtask prepsources after do_configure before do_compile
73
74do_compile () {
75
76 # Build the LPM kernel module
77 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
78 cd ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm
79 make \
80 DSPLINK_REPO="${LINK_INSTALL_DIR}" \
81 LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
82 MVTOOL_PREFIX="${TARGET_PREFIX}" \
83 clean default
84
85 # Build the user space library
86 # TODO
87
88 # Build the utilities (lpmON/OFF)
89 cd ${S}
90 XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc -PR .
91}
92
93KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
94
95do_install () {
96
97 # Install the kernel module
98 install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
99 install -m 0755 ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
100
101 # Install the Utilities
102 install -d ${D}/${installdir}/ti-lpm-utils
103 install -m 0755 ${S}/packages/ti/bios/power/utils/bin/$(echo ${XDC_PLATFORM} | sed s:\\.:_:g)/linux/release/* ${D}/${installdir}/ti-lpm-utils
104
105 # Install/Stage the Source Tree
106 install -d ${D}${LPM_INSTALL_DIR_RECIPE}
107 cp -pPrf ${S}/* ${D}${LPM_INSTALL_DIR_RECIPE}
108}
109
110PACKAGES += "ti-lpm-module"
111FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
112RDEPENDS_ti-lpm-module += "ti-dsplink-module"
113RDEPENDS_ti-lpm-module += "update-modules"
114
115pkg_postinst_ti-lpm-module_append () {
116 if [ -n "$D" ]; then
117 exit 1
118 fi
119 depmod -a
120 update-modules || true
121}
122
123pkg_postrm_ti-lpm-module_append () {
124 update-modules || true
125}
126
127PACKAGES += "ti-lpm-utils"
128RDEPENDS_ti-lpm-utils += "ti-lpm-module"
129FILES_ti-lpm-utils = "${installdir}/ti-lpm-utils/*"
130INSANE_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 00000000..120792b8
--- /dev/null
+++ b/recipes-ti/local-power-manager/ti-local-power-manager/lpm-1_24_01-replace-define-OPT.patch
@@ -0,0 +1,24 @@
1diff -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
2--- local_power_manager_linux_1_24_01_orig/packages/ti/bios/power/modules/dm6446/lpm/Makefile 2009-07-22 23:10:04.000000000 -0500
3+++ local_power_manager_linux_1_24_01/packages/ti/bios/power/modules/dm6446/lpm/Makefile 2010-04-16 15:26:14.000000000 -0500
4@@ -54,7 +54,7 @@
5 endif
6
7 MAKE_OPTS = ARCH=arm CROSS_COMPILE=$(MVTOOL_PREFIX)
8-CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL \
9+CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL -DOPT="" \
10 $(LINK_DEFS) $(LINK_INCS) $(LINK_INCS_INTERNAL)
11
12 # Invoke the kernel build system
13diff -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
14--- local_power_manager_linux_1_24_01_orig/packages/ti/bios/power/modules/omap3530/lpm/Makefile 2009-07-22 23:10:05.000000000 -0500
15+++ local_power_manager_linux_1_24_01/packages/ti/bios/power/modules/omap3530/lpm/Makefile 2010-04-16 15:26:38.000000000 -0500
16@@ -54,7 +54,7 @@
17 endif
18
19 MAKE_OPTS = ARCH=arm CROSS_COMPILE=$(MVTOOL_PREFIX)
20-CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL \
21+CFLAGS = -DUSE_UDEV -DOS_LINUX -DLINUX_KERNEL -DOPT="" \
22 $(LINK_DEFS) $(LINK_INCS) $(LINK_INCS_INTERNAL)
23
24 # 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 00000000..4b5a537a
--- /dev/null
+++ b/recipes-ti/local-power-manager/ti-local-power-manager/lpm-BKL-fix.patch
@@ -0,0 +1,72 @@
1From b7e83000f316f5f109b9237fde4d1c576534aa1a Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 4 Jan 2011 14:21:02 +0100
4Subject: [PATCH] Fix build with 2.6.37rcX
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 .../bios/power/modules/omap3530/lpm/lpm_driver.c | 12 +++++++++---
9 1 files changed, 9 insertions(+), 3 deletions(-)
10
11diff --git a/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c b/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
12index fa22ea3..4663fc9 100644
13--- a/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
14+++ b/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
15@@ -40,6 +40,7 @@
16 #include <asm/semaphore.h>
17 #endif
18 #include <linux/io.h>
19+#include <linux/slab.h>
20
21 #include "lpm_driver.h"
22 #include "lpm_dev.h"
23@@ -95,7 +96,7 @@ static int enablevicp = -1;
24 module_param(enablevicp, int, S_IRUGO);
25
26 /* forward declaration of system calls (used by Linux driver) */
27-static int lpm_ioctl (struct inode *inode, struct file *filp,
28+static long lpm_ioctl (struct file *filp,
29 unsigned int cmd, unsigned long args);
30 static int lpm_open (struct inode *inode, struct file *filp);
31 static int lpm_release (struct inode *inode, struct file *filp);
32@@ -111,7 +112,7 @@ static void lpm_os_trace (char *fmt, ...);
33
34 static struct file_operations lpm_fops = {
35 .owner = THIS_MODULE,
36- .ioctl = lpm_ioctl,
37+ .unlocked_ioctl = lpm_ioctl,
38 .open = lpm_open,
39 .release = lpm_release,
40 };
41@@ -244,7 +245,11 @@ static int __init lpm_init(void)
42 lpm->inst[i].major = MAJOR(lpm->first);
43 lpm->inst[i].minor = MINOR(lpm->first) + i;
44 INIT_LIST_HEAD(&lpm->inst[i].clients);
45+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
46 init_MUTEX(&lpm->inst[i].sem);
47+#else
48+ sema_init(&lpm->inst[i].sem,1);
49+#endif
50 init_completion(&lpm->inst[i].event);
51 lpm_devAttrs.os_instance = (void *)&lpm->inst[i];
52 LPM_init(i, &lpm->inst[i].lpm, &lpm_devAttrs);
53@@ -320,7 +325,7 @@ fail_02:
54 /*
55 * ======== lpm_ioctl ========
56 */
57-static int lpm_ioctl(struct inode *inode, struct file *filp,
58+static long lpm_ioctl(struct file *filp,
59 unsigned int cmd, unsigned long args)
60 {
61 struct LPM_Dev *dev;
62@@ -328,6 +333,7 @@ static int lpm_ioctl(struct inode *inode, struct file *filp,
63 LPM_Client *client;
64 LPM_Status lpmStat = LPM_SOK;
65 int stat = 0;
66+ struct inode *inode = filp->f_dentry->d_inode;
67
68 TRACE(KERN_ALERT "--> lpm_ioctl, cmd: 0x%X\n", cmd);
69
70--
711.6.6.1
72
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 00000000..759561f3
--- /dev/null
+++ b/recipes-ti/local-power-manager/ti-local-power-manager_1.24.02.09.bb
@@ -0,0 +1,10 @@
1require ti-local-power-manager.inc
2
3PV = "1_24_02_09"
4PE = "1"
5
6SRC_URI += "file://lpm-BKL-fix.patch"
7
8SRC_URI[lpmtarball.md5sum] = "3d05453df26dfc811de04839d74c2f2b"
9SRC_URI[lpmtarball.sha256sum] = "7335959a6217df17289f81839e6c6948f31cc0797ebc5389edef7190ed3ea589"
10