summaryrefslogtreecommitdiffstats
path: root/extras/recipes-ti/codec-engine/ti-codec-engine.inc
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-ti/codec-engine/ti-codec-engine.inc')
-rw-r--r--extras/recipes-ti/codec-engine/ti-codec-engine.inc199
1 files changed, 199 insertions, 0 deletions
diff --git a/extras/recipes-ti/codec-engine/ti-codec-engine.inc b/extras/recipes-ti/codec-engine/ti-codec-engine.inc
new file mode 100644
index 00000000..15bd4642
--- /dev/null
+++ b/extras/recipes-ti/codec-engine/ti-codec-engine.inc
@@ -0,0 +1,199 @@
1DESCRIPTION = "Codec Engine for TI ARM/DSP processors"
2HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce"
3SECTION = "devel"
4LICENSE = "BSD"
5
6# TODO :: Add Codec Engine Library Rebuild
7# TODO :: Add Examples APP_LOCAL build as well?
8# TODO :: Check DEPENDS - are the DSP side packages required for ARM-only products?
9
10require recipes-ti/includes/ti-paths.inc
11require recipes-ti/includes/ti-staging.inc
12
13PROVIDES += "ti-codec-engine-examples"
14
15PR = "${MACHINE_KERNEL_PR}"
16
17S = "${WORKDIR}/codec_engine_${PV}"
18
19SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce/${PV}/exports/codec_engine_${PV},lite.tar.gz;name=cetarball "
20
21DEPENDS = "ti-framework-components ti-xdais ti-xdctools ti-linuxutils"
22DEPENDS_append_dm6446 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld"
23DEPENDS_append_dm6467 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld"
24DEPENDS_append_omap3 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld"
25DEPENDS_append_omapl137 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld"
26DEPENDS_append_omapl138 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld"
27
28# SOC_FAMILY configuration
29
30# Define DEVICES variable
31CEEXAMPLESDEVICES_dm6446 = "DM6446"
32CEEXAMPLESDEVICES_dm6467 = "DM6467"
33CEEXAMPLESDEVICES_omap3 = "OMAP3530"
34CEEXAMPLESDEVICES_dm355 = "DM355"
35CEEXAMPLESDEVICES_dm365 = "DM365"
36CEEXAMPLESDEVICES_omapl137 = "OMAPL137"
37CEEXAMPLESDEVICES_omapl138 = "OMAPL138"
38CEEXAMPLESDEVICES ?= "<UNDEFINED_CEEXAMPLESDEVICES>"
39
40# Define GPPOS variable
41CEEXAMPLESGPPOS_dm6446 = "LINUX_GCC"
42CEEXAMPLESGPPOS_dm6467 = "LINUX_GCC"
43CEEXAMPLESGPPOS_omap3 = "LINUX_GCC"
44CEEXAMPLESGPPOS_dm355 = "LINUX_GCC"
45CEEXAMPLESGPPOS_dm365 = "LINUX_GCC"
46CEEXAMPLESGPPOS_omapl137 = "LINUX_GCC"
47CEEXAMPLESGPPOS_omapl138 = "LINUX_GCC"
48CEEXAMPLESGPPOS ?= "<UNDEFINED_CEEXAMPLESGPPOS>"
49
50# Define PROGRAM variable
51CEEXAMPLESPROGRAMS_dm6446 = "APP_CLIENT DSP_SERVER"
52CEEXAMPLESPROGRAMS_dm6467 = "APP_CLIENT DSP_SERVER"
53CEEXAMPLESPROGRAMS_omap3 = "APP_CLIENT DSP_SERVER"
54CEEXAMPLESPROGRAMS_dm355 = "APP_LOCAL"
55CEEXAMPLESPROGRAMS_dm365 = "APP_LOCAL"
56CEEXAMPLESPROGRAMS_omapl137 = "APP_CLIENT DSP_SERVER"
57CEEXAMPLESPROGRAMS_omapl138 = "APP_CLIENT DSP_SERVER"
58CEEXAMPLESPROGRAMS ?= "<UNDEFINED_CEEXAMPLESPROGRAMS>"
59
60do_configure() {
61
62 # No way to pass this via ENV?
63 sed -i \
64 -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
65 ${S}/examples/xdcpaths.mak
66
67 # compiler is not under ${TOOLCHAIN_PATH}/bin anymore...
68 sed -i \
69 -e s:bin/${TARGET_PREFIX}gcc:${TARGET_PREFIX}gcc:g \
70 ${S}/examples/xdcpaths.mak
71
72 # ... and ar is not there too
73# sed -i \
74# -e s:/arm-angstrom-linux-gnueabi/bin/ar:/arm-angstrom-linux-gnueabi-ar:g \
75# ${S}/examples/ti/xdais/dm/examples/viddec1_copy/package.mak
76}
77
78do_prepsources() {
79
80 for i in codecs extensions servers apps ; do
81 cd ${S}/examples/ti/sdo/ce/examples/$i
82 make DEVICES="${CEEXAMPLESDEVICES}" \
83 GPPOS="${CEEXAMPLESGPPOS}" \
84 PROGRAMS="${CEEXAMPLESPROGRAMS}" \
85 CE_INSTALL_DIR="${S}" \
86 XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
87 BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \
88 BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \
89 DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
90 XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \
91 FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
92 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
93 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
94 EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \
95 CGTOOLS_V5T="${TOOLCHAIN_PATH}" \
96 CGTOOLS_C64P="${CODEGEN_INSTALL_DIR}" \
97 CGTOOLS_C674="${CODEGEN_INSTALL_DIR}" \
98 clean
99 # '.make' target was used in CE < 2.26, but its no longer
100 # supported in CE >= 2.26. Now we are moved to >=2.26
101 # hence commenting out the .make target.
102 # .make clean
103 done
104}
105
106addtask prepsources after do_configure before do_compile
107
108do_compile () {
109
110 for i in codecs extensions servers apps ; do
111 cd ${S}/examples/ti/sdo/ce/examples/$i
112 make DEVICES="${CEEXAMPLESDEVICES}" \
113 GPPOS="${CEEXAMPLESGPPOS}" \
114 PROGRAMS="${CEEXAMPLESPROGRAMS}" \
115 CE_INSTALL_DIR="${S}" \
116 XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
117 BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \
118 BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \
119 DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
120 XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \
121 FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
122 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
123 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
124 EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \
125 CGTOOLS_V5T="${TOOLCHAIN_PATH}" \
126 CGTOOLS_C64P="${CODEGEN_INSTALL_DIR}" \
127 CGTOOLS_C674="${CODEGEN_INSTALL_DIR}" \
128 all
129 done
130}
131
132do_install() {
133
134 install -d ${D}/${installdir}/ti-codec-engine-examples
135 if [ -e ${S}/examples/apps/system_files/${CEEXAMPLESDEVICES}/loadmodules.sh ]; then
136 cp ${S}/examples/apps/system_files/${CEEXAMPLESDEVICES}/loadmodules.sh ${D}/${installdir}/ti-codec-engine-examples
137 elif [ -e ${WORKDIR}/loadmodules.sh ]; then
138 cp ${WORKDIR}/loadmodules.sh ${D}/${installdir}/ti-codec-engine-examples
139 fi
140
141 cd ${S}/examples/ti/sdo/ce/examples
142
143 # Install the apps, servers and test data, mirroring the source directory structure
144 # - Put the servers inside the same folder as the executable
145 # - TODO - Check nested dirs (e.g. dualcpu_separateconfig)
146
147 # Put all servers in separate tree.
148 for i in $(find . -name "*.${DSPSUFFIX}"); do
149 install -d ${D}/${installdir}/ti-codec-engine-examples/servers/`dirname ${i} | cut -f3 -d /`
150 install ${i} ${D}/${installdir}/ti-codec-engine-examples/servers/`dirname ${i} | cut -f3 -d /`
151 done
152
153 for i in $(find . -name "*.xv5T"); do
154 install -d ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /`
155 install ${i} ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /`
156 done
157
158 for i in $(find . -name "*.dat"); do
159 install -d ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /`
160 install ${i} ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /`
161 done
162
163 # For each directory, softlink to the app server, except special cases
164 cd ${D}/${installdir}/ti-codec-engine-examples
165 for i in $(find . -type d | grep -v servers); do
166 {
167 pwd
168 cd ${D}/${installdir}/ti-codec-engine-examples/$i
169 if [ $(basename $i) = "audio1_ires" ] ; then
170 ln -s ../servers/audio1_ires/audio1_ires.${DSPSUFFIX}
171 elif [ $(basename $i) = "server_api_example" ] ; then
172 ln -s ../servers/server_api_example/audio_copy.${DSPSUFFIX}
173 elif [ $(basename $i) != "." ] ; then
174 ln -s ../servers/all_codecs/all.${DSPSUFFIX}
175 else
176 echo Skipping $i
177 fi
178 }
179 done
180
181 # Install/Stage the Source Tree
182 install -d ${D}${CE_INSTALL_DIR_RECIPE}
183 cp -pPrf ${S}/* ${D}${CE_INSTALL_DIR_RECIPE}
184}
185
186PACKAGE_ARCH = "${MACHINE_ARCH}"
187
188PACKAGES += "ti-codec-engine-examples"
189
190RDEPENDS_ti-codec-engine-examples = " ti-cmem-module"
191RDEPENDS_ti-codec-engine-examples_append_dm6446 = " ti-dsplink-module ti-lpm-module"
192RDEPENDS_ti-codec-engine-examples_append_dm6467 = " ti-dsplink-module"
193RDEPENDS_ti-codec-engine-examples_append_omap3 = " ti-dsplink-module ti-lpm-module"
194RDEPENDS_ti-codec-engine-examples_append_omapl137 = " ti-dsplink-module"
195RDEPENDS_ti-codec-engine-examples_append_omapl138 = " ti-dsplink-module"
196FILES_ti-codec-engine-examples = "${installdir}/ti-codec-engine-examples/*"
197INSANE_SKIP_ti-codec-engine-examples = "1"
198
199FILES_${PN}-dbg += "${installdir}/ti-codec-engine-examples/*/.debug"