diff options
author | Koen Kooi <k-kooi@ti.com> | 2011-07-06 09:56:26 +0100 |
---|---|---|
committer | Koen Kooi <k-kooi@ti.com> | 2011-07-06 15:34:44 +0100 |
commit | e73385b2d94472040431834e32da322843c0155c (patch) | |
tree | 41ca89db8a6f0cbae9a847a179957696fe3184d0 /recipes-ti/syslink | |
parent | 8f7291208ea7195654fa5ce6a3861f6eebb5916d (diff) | |
download | meta-ti-e73385b2d94472040431834e32da322843c0155c.tar.gz |
add syslink 02.00.00.78
install paths need some cleaning up e.g. slaveLoader needs to be in ${bindir}
Signed-off-by: Koen Kooi <k-kooi@ti.com>
Diffstat (limited to 'recipes-ti/syslink')
-rw-r--r-- | recipes-ti/syslink/ti-syslink.inc | 241 | ||||
-rw-r--r-- | recipes-ti/syslink/ti-syslink/syslink.pc | 10 | ||||
-rw-r--r-- | recipes-ti/syslink/ti-syslink_2.00.00.78.bb | 8 |
3 files changed, 259 insertions, 0 deletions
diff --git a/recipes-ti/syslink/ti-syslink.inc b/recipes-ti/syslink/ti-syslink.inc new file mode 100644 index 00000000..8cc57751 --- /dev/null +++ b/recipes-ti/syslink/ti-syslink.inc | |||
@@ -0,0 +1,241 @@ | |||
1 | DESCRIPTION = "SYSLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors" | ||
2 | HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/syslink/index.html" | ||
3 | SECTION = "devel" | ||
4 | LICENSE = "BSD" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://docs/bsd.pdf;md5=9f2edd962cd129f8c24e9ef1bd641029" | ||
7 | |||
8 | # TODO :: multi-machine, add m3 build as well? | ||
9 | # TODO :: proper staging? | ||
10 | # TODO :: kernel module examples? | ||
11 | # TODO :: smarter handling of config.bld | ||
12 | # TODO :: review XDC parallel make - why not happening automatically? | ||
13 | # TODO :: smarter suffix management | ||
14 | |||
15 | require ../includes/ti-paths.inc | ||
16 | require ../includes/ti-staging.inc | ||
17 | |||
18 | PROVIDES = "ti-syslink-module" | ||
19 | PROVIDES += "ti-syslink-examples" | ||
20 | |||
21 | # This package builds a kernel module, use kernel PR as base and append a local version | ||
22 | PR = "${MACHINE_KERNEL_PR}" | ||
23 | PR_append = "a" | ||
24 | PVExtra = "" | ||
25 | |||
26 | inherit module pkgconfig | ||
27 | |||
28 | S = "${WORKDIR}/syslink_${PV}${PVExtra}" | ||
29 | |||
30 | SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/syslink/${PV}${PVExtra}/exports/syslink_${PV}${PVExtra}.tar.gz;name=syslinktarball \ | ||
31 | file://syslink.pc \ | ||
32 | " | ||
33 | |||
34 | DEPENDS = "ti-sysbios ti-xdctools ti-cgt6x ti-ipc ti-cgt470" | ||
35 | DEPENDS += "virtual/kernel" | ||
36 | |||
37 | #common frameq gateMP heapBufMP heapMemMP knlNotify listMP messageQ notify ringIO ringIO_gpp sharedRegion slaveLoader tilerDaemon | ||
38 | SYSLINKHLOSSAMPLES = "knlnotify slaveLoader frameq notify" | ||
39 | #SYSLINKRTOSSAMPLES = "frameq gateMP heapBufMP heapMemMP listMP messageQ notify ringIO ringIO_gpp sharedRegion" | ||
40 | |||
41 | # SOC_FAMILY configuration | ||
42 | |||
43 | SYSLINKPLATFORM_omap3 = "OMAP3530" | ||
44 | SYSLINKPLATFORM_omapl137 = "OMAPL1XX" | ||
45 | SYSLINKPLATFORM_omapl138 = "OMAPL1XX" | ||
46 | SYSLINKPLATFORM_ti816x = "TI81XX" | ||
47 | SYSLINKPLATFORM_ti814x = "TI81XX" | ||
48 | SYSLINKPLATFORM ?= "<UNDEFINED_SYSLINKPLATFORM>" | ||
49 | |||
50 | SYSLINKVARIANT_omap3 = "OMAP3530" | ||
51 | SYSLINKVARIANT_omapl137 = "OMAPL1XX" | ||
52 | SYSLINKVARIANT_omapl138 = "OMAPL1XX" | ||
53 | SYSLINKVARIANT_ti816x = "TI816X" | ||
54 | SYSLINKVARIANT_ti814x = "TI814X" | ||
55 | SYSLINKVARIANT ?= "<UNDEFINED_SYSLINKVARIANT>" | ||
56 | |||
57 | # COFF/ELF config - omap3 can be coff/elf, omapl only coff, ti816x and ti814x only elf | ||
58 | |||
59 | # this really needs to be a list... in the case of ELF/COFF (and this could use DSPSUFFIX?) | ||
60 | SYSLINKSUFFIX_omap3 = "x64P" | ||
61 | SYSLINKSUFFIX_omapl137 = "x674" | ||
62 | SYSLINKSUFFIX_omapl138 = "x674" | ||
63 | SYSLINKSUFFIX_ti816x = "xe674" | ||
64 | SYSLINKSUFFIX_ti814x = "xe674" | ||
65 | SYSLINKSUFFIX ?= "<UNDEFINED_SYSLINKSUFFIX>" | ||
66 | |||
67 | SYSLINKLOADER_omap3 = "COFF" | ||
68 | SYSLINKLOADER_omapl137 = "COFF" | ||
69 | SYSLINKLOADER_omapl138 = "COFF" | ||
70 | SYSLINKLOADER_ti816x = "ELF" | ||
71 | SYSLINKLOADER_ti814x = "ELF" | ||
72 | SYSLINKLOADER ?= "<UNDEFINED_SYSLINKLOADER>" | ||
73 | |||
74 | # Do we really need to configure this? - configured already in config.bld | ||
75 | XDCTARGETS_omap3 = "ti.targets.C64P" | ||
76 | XDCTARGETS_omapl137 = "ti.targets.C674" | ||
77 | XDCTARGETS_omapl138 = "ti.targets.C674" | ||
78 | # for ti816x and ti814x, we should later also build for ti.targets.arm.elf.M3 | ||
79 | XDCTARGETS_ti816x = "ti.targets.elf.C674 ti.targets.arm.elf.M3" | ||
80 | XDCTARGETS_ti814x = "ti.targets.elf.C674 ti.targets.arm.elf.M3" | ||
81 | XDCTARGETS ?= "<UNDEFINED_XDCTARGETS>" | ||
82 | export XDCTARGETS | ||
83 | |||
84 | # Exported Variable needed by build | ||
85 | export SYSLINK_ROOT = "${S}/packages/" | ||
86 | |||
87 | export XDCPATH = "${IPC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages" | ||
88 | |||
89 | do_configure() { | ||
90 | sed -i -e s:@VERSION@:${PV}:g ${WORKDIR}/syslink.pc | ||
91 | |||
92 | cp ${WORKDIR}/syslink.pc ${S} | ||
93 | } | ||
94 | |||
95 | do_prepsources () { | ||
96 | |||
97 | # Prepare the tree for rebuiling - clean and generate interfaces | ||
98 | cd ${SYSLINK_ROOT}/ti/syslink | ||
99 | ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} .make -PR . | ||
100 | ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} clean -PR . | ||
101 | ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} .interfaces -PR . | ||
102 | } | ||
103 | |||
104 | addtask prepsources after do_configure before do_compile | ||
105 | |||
106 | do_compile() { | ||
107 | # TODO :: KERNEL_CC, should use for kernel module build? | ||
108 | # TODO :: Check the 'unset's | ||
109 | |||
110 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
111 | |||
112 | do_make_scripts | ||
113 | |||
114 | # Build the gpp (hlos) kernel space | ||
115 | cd ${SYSLINK_ROOT}/ti/syslink/utils/hlos/knl/Linux && make \ | ||
116 | ARCH="${TARGET_ARCH}" \ | ||
117 | CROSS_COMPILE="${TARGET_PREFIX}" \ | ||
118 | SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \ | ||
119 | SYSLINK_VARIANT="${SYSLINKVARIANT}" \ | ||
120 | SYSLINK_LOADER="${SYSLINKLOADER}" \ | ||
121 | SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" \ | ||
122 | KDIR="${STAGING_KERNEL_DIR}" | ||
123 | |||
124 | # # Build the gpp (hlos) kernel space samples. | ||
125 | # for sample in ${SYSLINKHLOSSAMPLES}; do | ||
126 | # cd ${SYSLINK_ROOT}/ti/syslink/samples/hlos/$sample/knl/Linux && make \ | ||
127 | # ARCH="${TARGET_ARCH}" \ | ||
128 | # CROSS_COMPILE="${TARGET_PREFIX}" \ | ||
129 | # SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \ | ||
130 | # SYSLINK_VARIANT="${SYSLINKVARIANT}" \ | ||
131 | # SYSLINK_LOADER="${SYSLINKLOADER}" \ | ||
132 | # SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" \ | ||
133 | # SYSLINK_SDK=EZSDK \ | ||
134 | # KDIR="${STAGING_KERNEL_DIR}" | ||
135 | # done | ||
136 | |||
137 | # Build the gpp (hlos) user space | ||
138 | cd ${SYSLINK_ROOT}/ti/syslink/utils/hlos/usr/Linux && make \ | ||
139 | ARCH="${TARGET_ARCH}" \ | ||
140 | CROSS_COMPILE="${TARGET_PREFIX}" \ | ||
141 | TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/${TARGET_PREFIX}" \ | ||
142 | SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \ | ||
143 | SYSLINK_VARIANT="${SYSLINKVARIANT}" \ | ||
144 | SYSLINK_LOADER="${SYSLINKLOADER}" \ | ||
145 | SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" | ||
146 | |||
147 | # Build the gpp (hlos) user space samples | ||
148 | # First build the common lib for samples. | ||
149 | cd ${SYSLINK_ROOT}/ti/syslink/samples/hlos/common/usr/Linux && make \ | ||
150 | ARCH="${TARGET_ARCH}" \ | ||
151 | CROSS_COMPILE="${TARGET_PREFIX}" \ | ||
152 | TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/${TARGET_PREFIX}" \ | ||
153 | SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \ | ||
154 | SYSLINK_VARIANT="${SYSLINKVARIANT}" \ | ||
155 | SYSLINK_LOADER="${SYSLINKLOADER}" \ | ||
156 | SYSLINK_SDK=EZSDK \ | ||
157 | SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" | ||
158 | |||
159 | for sample in ${SYSLINKHLOSSAMPLES}; do | ||
160 | cd ${SYSLINK_ROOT}/ti/syslink/samples/hlos/$sample/usr/Linux && make \ | ||
161 | ARCH="${TARGET_ARCH}" \ | ||
162 | CROSS_COMPILE="${TARGET_PREFIX}" \ | ||
163 | TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/${TARGET_PREFIX}" \ | ||
164 | SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \ | ||
165 | SYSLINK_VARIANT="${SYSLINKVARIANT}" \ | ||
166 | SYSLINK_LOADER="${SYSLINKLOADER}" \ | ||
167 | SYSLINK_SDK=EZSDK \ | ||
168 | SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" | ||
169 | done | ||
170 | |||
171 | # Build the dsp/arm (rtos) code (system and samples) | ||
172 | # cd ${SYSLINK_ROOT}/ti/syslink && \ | ||
173 | # ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} -PR . | ||
174 | export XDCOPTIONS=v | ||
175 | cd ${SYSLINK_ROOT}/ti/syslink && \ | ||
176 | ${XDC_INSTALL_DIR}/xdc -P \ | ||
177 | `${XDC_INSTALL_DIR}/bin/xdcpkg ${SYSLINK_ROOT}/ti/syslink | grep -v samples` | ||
178 | export XDCARGS="profile=debug" | ||
179 | cd ${SYSLINK_ROOT}/ti/syslink && \ | ||
180 | ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} -P \ | ||
181 | `${XDC_INSTALL_DIR}/bin/xdcpkg ${SYSLINK_ROOT}/ti/syslink | grep samples` | ||
182 | } | ||
183 | |||
184 | KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}" | ||
185 | |||
186 | do_install () { | ||
187 | |||
188 | # Install the hlos kernel module | ||
189 | install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp | ||
190 | install -m 0755 ${SYSLINK_ROOT}/ti/syslink/bin/${SYSLINKVARIANT}/syslink.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ | ||
191 | |||
192 | # Install the hlos example kernel modules and apps | ||
193 | install -d ${D}/${installdir}/ti-syslink-examples | ||
194 | install -m 0755 ${SYSLINK_ROOT}/ti/syslink/bin/${SYSLINKVARIANT}/samples/* ${D}/${installdir}/ti-syslink-examples/ | ||
195 | |||
196 | # Install the rtos example apps | ||
197 | install -d ${D}/${installdir}/ti-syslink-examples/dsp | ||
198 | cd ${SYSLINK_ROOT}/ti/syslink/samples/rtos | ||
199 | for i in $(find . -name "*.${SYSLINKSUFFIX}" | grep ${SOC_FAMILY}); do | ||
200 | install ${i} ${D}/${installdir}/ti-syslink-examples/dsp/ | ||
201 | done | ||
202 | |||
203 | # TODO :: Fixup - library/headers installation - this shouldn't go into the examples directory.... | ||
204 | # Needs proper staging | ||
205 | # Install the library in the filesystem | ||
206 | # install -d ${D}/${installdir}/ti-syslink-examples | ||
207 | # install -m 0755 ${SYSLINK_ROOT}/ti/syslink/lib/syslink.a ${D}/${installdir}/ti-syslink-examples/ | ||
208 | |||
209 | # Install/Stage the Source Tree | ||
210 | install -d ${D}${SYSLINK_INSTALL_DIR_RECIPE} | ||
211 | cp -pPrf ${S}/* ${D}${SYSLINK_INSTALL_DIR_RECIPE} | ||
212 | |||
213 | install -d ${D}/${libdir}/pkgconfig | ||
214 | install ${S}/syslink.pc ${D}/${libdir}/pkgconfig/ | ||
215 | } | ||
216 | |||
217 | PACKAGES =+ "ti-syslink-module" | ||
218 | FILES_ti-syslink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/syslink.ko" | ||
219 | RDEPENDS_ti-syslink-module += "update-modules" | ||
220 | |||
221 | pkg_postinst_ti-syslink-module () { | ||
222 | #!/bin/sh | ||
223 | if [ -n "$D" ]; then | ||
224 | exit 1 | ||
225 | fi | ||
226 | |||
227 | depmod -a | ||
228 | update-modules || true | ||
229 | } | ||
230 | |||
231 | pkg_postrm_ti-syslink-module () { | ||
232 | #!/bin/sh | ||
233 | update-modules || true | ||
234 | } | ||
235 | |||
236 | PACKAGES =+ "ti-syslink-examples" | ||
237 | RRECOMMENDS_ti-syslink-examples_append = " ti-syslink-module" | ||
238 | FILES_ti-syslink-examples = "${installdir}/ti-syslink-examples/*" | ||
239 | INSANE_SKIP_ti-syslink-examples = True | ||
240 | |||
241 | FILES_ti-syslink-dev = "${libdir}/*" | ||
diff --git a/recipes-ti/syslink/ti-syslink/syslink.pc b/recipes-ti/syslink/ti-syslink/syslink.pc new file mode 100644 index 00000000..c4d720f1 --- /dev/null +++ b/recipes-ti/syslink/ti-syslink/syslink.pc | |||
@@ -0,0 +1,10 @@ | |||
1 | prefix=/../..//syslink_@VERSION@ | ||
2 | libdir=${prefix}/ti/syslink/lib | ||
3 | includedir=${prefix}/ti/syslink | ||
4 | |||
5 | Name: TI Syslink | ||
6 | Description: Syslink ARM-DSP IPC (Inter Processor Communication) | ||
7 | Version: @VERSION@ | ||
8 | Requires: ipc | ||
9 | Libs: ${libdir}/syslink.a_release | ||
10 | Cflags: -I${includedir} -I${includedir}/inc -I${includedir}/utils | ||
diff --git a/recipes-ti/syslink/ti-syslink_2.00.00.78.bb b/recipes-ti/syslink/ti-syslink_2.00.00.78.bb new file mode 100644 index 00000000..71e96212 --- /dev/null +++ b/recipes-ti/syslink/ti-syslink_2.00.00.78.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | require ti-syslink.inc | ||
2 | |||
3 | PV = "2_00_00_78" | ||
4 | PVwithdots = "2.00.00.78" | ||
5 | |||
6 | SRC_URI[syslinktarball.md5sum] = "df7c92cd2cca38fdb38e59e4175aba61" | ||
7 | SRC_URI[syslinktarball.sha256sum] = "3409d080b08ec1d0bd24a715dbec783f1d52020e452485c165ad64e121548ebc" | ||
8 | |||