summaryrefslogtreecommitdiffstats
path: root/meta-ti-extras/recipes-ti/ipc
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denys@konsulko.com>2022-02-22 04:13:51 +0000
committerRyan Eatmon <reatmon@ti.com>2022-02-22 12:01:39 -0600
commit37ef6ae6fe518e78a6b44b8633d4c38cc7792c3e (patch)
tree0cb0ca43d699f542e4421b3ce34607823774f841 /meta-ti-extras/recipes-ti/ipc
parentc3007665063fac4140a6dddd3d76378ec5ae5c19 (diff)
downloadmeta-ti-37ef6ae6fe518e78a6b44b8633d4c38cc7792c3e.tar.gz
meta-ti: move BIOS,XDC,XDAIS, CGT,DSP libs and components to meta-ti-extras
Legacy platforms AM3/4/5/J6 build components for multimedia acceleration and other DSP showcasing using SYS/BIOS, XDC, XDAIS, CodeGen Tools and different DSP libraries. Move all of them to meta-ti-extras. Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Diffstat (limited to 'meta-ti-extras/recipes-ti/ipc')
-rw-r--r--meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch40
-rw-r--r--meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb49
-rw-r--r--meta-ti-extras/recipes-ti/ipc/ti-ipc-examples.inc31
-rw-r--r--meta-ti-extras/recipes-ti/ipc/ti-ipc-examples_git.bb44
-rw-r--r--meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos.inc73
-rw-r--r--meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb101
6 files changed, 338 insertions, 0 deletions
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch
new file mode 100644
index 00000000..ea514695
--- /dev/null
+++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch
@@ -0,0 +1,40 @@
1From cca4fd812959a0cd241dd3bbebfd461ece94c9b8 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denis@denix.org>
3Date: Mon, 29 Mar 2021 19:42:00 -0400
4Subject: [PATCH] examples/ClusterMgr: sys_errlist[] has been deprecated in
5 glibc
6
7Use strerror() instead.
8
9Upstream-Status: Pending
10
11Signed-off-by: Denys Dmytriyenko <denis@denix.org>
12---
13 src/examples/templates/ex46_graph/manager/ClusterMgr.c | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/src/examples/templates/ex46_graph/manager/ClusterMgr.c b/src/examples/templates/ex46_graph/manager/ClusterMgr.c
17index 19216c9..a1fa679 100644
18--- a/src/examples/templates/ex46_graph/manager/ClusterMgr.c
19+++ b/src/examples/templates/ex46_graph/manager/ClusterMgr.c
20@@ -714,7 +714,7 @@ static pid_t ClusterMgr_system(char *cmd, bool wait)
21 pid = fork();
22
23 if (pid == -1) {
24- LOG "CM_system: fork error: %s\n", sys_errlist[errno] LOGF
25+ LOG "CM_system: fork error: %s\n", strerror(errno) LOGF
26 status = -1;
27 goto leave;
28 }
29@@ -739,7 +739,7 @@ static pid_t ClusterMgr_system(char *cmd, bool wait)
30 else {
31 /* overlay a new executable */
32 execvp(argv[0], argv);
33- LOG "CM_system: execvp error: %s\n", sys_errlist[errno] LOGF
34+ LOG "CM_system: execvp error: %s\n", strerror(errno) LOGF
35 status = -1;
36 }
37
38--
392.7.4
40
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb
new file mode 100644
index 00000000..81706592
--- /dev/null
+++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb
@@ -0,0 +1,49 @@
1DESCRIPTION = "TI Inter Process Communication (IPC) examples with Host running bios"
2require ti-ipc-examples.inc
3
4SRC_URI += "file://0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch;patchdir=../git/ipc-examples"
5
6DEPENDS = "ti-ipc ti-xdctools-native ti-sysbios ti-ipc-rtos zip-native"
7
8do_compile:append() {
9
10 if [ "${PLATFORM}" != "UNKNOWN" ]; then
11 oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
12
13 if [ ! -z ${ALT_PLATFORM} ]; then
14 oe_runmake extract PLATFORM="${ALT_PLATFORM}" HOSTOS="linux" \
15 IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
16 fi
17 oe_runmake -C examples all HOSTOS="linux" \
18 LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
19 IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
20
21 if [ ! -z ${ALT_PLATFORM} ]; then
22 oe_runmake -C examples all HOSTOS="linux" \
23 LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
24 IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
25 PLATFORM="${ALT_PLATFORM}"
26 fi
27 fi
28}
29
30do_install:append() {
31 cd ${S_ipc-examples}/src
32
33 if [ "${PLATFORM}" != "UNKNOWN" ]; then
34 # Install directory for linux examples
35 install -d ${D}${bindir}/ipc/examples
36 oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
37 LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
38 HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples"
39
40 if [ ! -z ${ALT_PLATFORM} ]; then
41 oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
42 LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
43 HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples" \
44 PLATFORM="${ALT_PLATFORM}"
45 fi
46 fi
47}
48
49FILES:${PN} += "${bindir}/*"
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples.inc b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples.inc
new file mode 100644
index 00000000..66cd5d32
--- /dev/null
+++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples.inc
@@ -0,0 +1,31 @@
1HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:IPC"
2require ti-ipc-common.inc
3require ti-ipc-rtos.inc
4
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://${S_ipc-examples}/src/makefile;beginline=1;endline=30;md5=a52324bd5033bb49ea07bade1244ac9a"
7
8INSANE_SKIP:${PN} += "arch"
9
10ALLOW_EMPTY:${PN} = "1"
11
12IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree"
13
14do_compile() {
15
16 cd ${S_ipc-examples}/src
17 oe_runmake .examples \
18 IPCTOOLS="${S_ipc-metadata}/src/etc"
19
20 for alt_platform in ${ALT_PLATFORM}; do
21 oe_runmake .examples "PLATFORM=${alt_platform}" \
22 IPCTOOLS="${S_ipc-metadata}/src/etc"
23 done
24}
25
26do_install() {
27 cd ${S_ipc-examples}/src
28 IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
29}
30
31INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples_git.bb
new file mode 100644
index 00000000..bcc8674e
--- /dev/null
+++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples_git.bb
@@ -0,0 +1,44 @@
1DESCRIPTION = "TI Inter Process Communication (IPC) examples with Host running linux"
2require ti-ipc-examples.inc
3
4DEPENDS = "ti-ipc ti-xdctools-native ti-sysbios ti-ipc-rtos zip-native"
5
6do_compile:append() {
7
8 if [ "${PLATFORM}" != "UNKNOWN" ]; then
9 oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
10
11 for alt_platform in ${ALT_PLATFORM}; do
12 oe_runmake extract PLATFORM="${alt_platform}" HOSTOS="bios" \
13 IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
14 done
15 oe_runmake -C examples all HOSTOS="bios" \
16 IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
17 for alt_platform in ${ALT_PLATFORM}; do
18 oe_runmake -C examples all HOSTOS="bios" \
19 IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" PLATFORM="${alt_platform}"
20 done
21 fi
22}
23
24do_install:append() {
25 if [ "${PLATFORM}" != "UNKNOWN" ]; then
26 # Install directory for bios examples
27 install -d ${D}/ipc_${IPC_VERSION}/examples/bios
28 oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
29 HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/bios"
30 oe_runmake -C examples install_rov IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
31 HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/bios"
32
33 for alt_platform in ${ALT_PLATFORM}; do
34 oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
35 HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/${alt_platform}/bios" \
36 PLATFORM="${alt_platform}"
37 oe_runmake -C examples install_rov IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
38 HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/${alt_platform}/bios" \
39 PLATFORM="${alt_platform}"
40 done
41 fi
42}
43
44FILES:${PN} += "ipc_*"
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos.inc b/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos.inc
new file mode 100644
index 00000000..56667ad1
--- /dev/null
+++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos.inc
@@ -0,0 +1,73 @@
1require recipes-ti/includes/ti-paths.inc
2
3TI_IPC_EXAMPLES_GIT_URI = "git://git.ti.com/ipc/ipc-examples.git"
4TI_IPC_EXAMPLES_DEST_SUFFIX = "git/ipc-examples"
5TI_IPC_EXAMPLES_GIT_PROTOCOL = "git"
6TI_IPC_EXAMPLES_GIT_BRANCH = "master"
7TI_IPC_EXAMPLES_NAME = "ipc-examples"
8
9SRC_URI += "${TI_IPC_EXAMPLES_GIT_URI};\
10destsuffix=${TI_IPC_EXAMPLES_DEST_SUFFIX};\
11protocol=${TI_IPC_EXAMPLES_GIT_PROTOCOL};\
12branch=${TI_IPC_EXAMPLES_GIT_BRANCH};\
13name=${TI_IPC_EXAMPLES_NAME}"
14
15TI_IPC_METADATA_GIT_URI = "git://git.ti.com/ipc/ipc-metadata.git"
16TI_IPC_METADATA_DEST_SUFFIX = "git/ipc-metadata"
17TI_IPC_METADATA_GIT_PROTOCOL = "git"
18TI_IPC_METADATA_GIT_BRANCH = "master"
19TI_IPC_METADATA_NAME = "ipc-metadata"
20
21SRC_URI += "${TI_IPC_METADATA_GIT_URI};\
22destsuffix=${TI_IPC_METADATA_DEST_SUFFIX};\
23protocol=${TI_IPC_METADATA_GIT_PROTOCOL};\
24branch=${TI_IPC_METADATA_GIT_BRANCH};\
25name=${TI_IPC_METADATA_NAME}"
26
27# Corresponds to tag: 3.51.00.00
28TI_IPC_METADATA_SRCREV = "1bf668fd6b0ec2ef6956fa55b8484d0b21a9f9e2"
29# Corresponds to tag: 3.51.00.00
30TI_IPC_EXAMPLES_SRCREV = "4707fcbbe0d136e781c4a7ffdc072be407c34358"
31
32SRCREV_FORMAT = "default"
33SRCREV_ipc-metadata = "${TI_IPC_METADATA_SRCREV}"
34SRCREV_ipc-examples = "${TI_IPC_EXAMPLES_SRCREV}"
35
36S_ipc-examples = "${WORKDIR}/git/ipc-examples"
37S_ipc-metadata = "${WORKDIR}/git/ipc-metadata"
38
39RELEASE_TYPE = "GA"
40RELEASE_SUFFIX = ""
41
42PR = "${INC_PR}.r0"
43
44DEPENDS:append:omap-a15 = " ti-cgt6x-native \
45 ti-cgt-arm-native \
46 gcc-arm-baremetal-native \
47"
48DEPENDS:append:omapl138 = " ti-cgt6x-native \
49"
50
51IPC_TARGETS = ""
52
53IPC_TARGETS:omap-a15 = "\
54 gnu.targets.arm.A15F="${GCC_ARM_NONE_TOOLCHAIN}" \
55 ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
56 ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
57 ti.targets.arm.elf.M4="${M4_TOOLCHAIN_INSTALL_DIR}" \
58"
59
60IPC_TARGETS:omapl138 = "\
61 ti.targets.elf.C674="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
62"
63
64PARALLEL_XDC = "${@oe.utils.parallel_make_argument(d, '--jobs=%d')}"
65EXTRA_OEMAKE = "\
66 PLATFORM=${PLATFORM} \
67 XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
68 BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \
69 ${IPC_TARGETS} \
70 ${PARALLEL_XDC} \
71 JAVA_TOOL_OPTIONS=-Xss2560k \
72"
73
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb
new file mode 100644
index 00000000..abef3195
--- /dev/null
+++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb
@@ -0,0 +1,101 @@
1require ti-ipc.inc
2require ti-ipc-common.inc
3require ti-ipc-rtos.inc
4
5DEPENDS = "ti-xdctools-native ti-sysbios doxygen-native zip-native"
6
7PACKAGES =+ "${PN}-fw"
8FILES:${PN}-fw = "${base_libdir}/firmware/*"
9FILES:${PN}-dev += "${IPC_INSTALL_DIR_RECIPE}"
10
11INSANE_SKIP:${PN}-fw += "arch"
12INSANE_SKIP:${PN}-dev += "arch"
13
14ALLOW_EMPTY:${PN} = "1"
15
16IPC_PACKAGE_DIR = "${S}/ipc-package"
17
18do_compile() {
19 oe_runmake -f ipc-bios.mak clean
20 oe_runmake -f ipc-bios.mak release
21
22 cd ${S_ipc-metadata}
23 oe_runmake .all-files IPC_INSTALL_DIR="${S}" \
24 BUILD_HOST_OS="linux" \
25 RELEASE_TYPE="${RELEASE_TYPE}"
26
27 cd ${S_ipc-examples}/src
28 oe_runmake .examples \
29 IPCTOOLS="${S_ipc-metadata}/src/etc"
30 for alt_platform in ${ALT_PLATFORM}; do
31 oe_runmake .examples \
32 IPCTOOLS="${S_ipc-metadata}/src/etc" \
33 PLATFORM=${alt_platform}
34 done
35
36 if [ "${PLATFORM}" != "UNKNOWN" ]; then
37 oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${S}"
38 oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${S}"
39
40 for alt_platform in ${ALT_PLATFORM}; do
41 oe_runmake extract PLATFORM=${alt_platform} HOSTOS="bios" IPC_INSTALL_DIR="${S}"
42 oe_runmake extract PLATFORM=${alt_platform} HOSTOS="linux" IPC_INSTALL_DIR="${S}"
43 done
44 fi
45
46 IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
47 install -d ${IPC_PACKAGE_DIR}
48 # Copy docs and other meta files
49 cp -pPrf ${S_ipc-metadata}/exports/ipc_${IPC_VERSION}/* -d ${IPC_PACKAGE_DIR}
50
51 # Copy example folders corresponding to the platforms
52 if [ "${PLATFORM}" != "UNKNOWN" ]; then
53 install -d ${IPC_PACKAGE_DIR}/examples
54 cp -pPf ${S_ipc-examples}/src/examples/*.* ${IPC_PACKAGE_DIR}/examples/
55 cp -pPf ${S_ipc-examples}/src/examples/makefile ${IPC_PACKAGE_DIR}/examples/
56 cp -pPrf ${S_ipc-examples}/src/examples/${PLATFORM}* ${IPC_PACKAGE_DIR}/examples/
57 for alt_platform in ${ALT_PLATFORM}; do
58 cp -pPrf ${S_ipc-examples}/src/examples/${alt_platform}* ${IPC_PACKAGE_DIR}/examples/
59 done
60 find ${IPC_PACKAGE_DIR}/examples/ -name "*zip" -type f | xargs -I {} rm {}
61 fi
62}
63
64do_install() {
65 CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
66 IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
67 # Copy docs and other meta files
68 install -d ${D}${IPC_INSTALL_DIR_RECIPE}
69 cp ${CP_ARGS} ${IPC_PACKAGE_DIR}/* -d ${D}${IPC_INSTALL_DIR_RECIPE}
70
71 install -d ${D}${base_libdir}/firmware/ipc
72 cp ${CP_ARGS} ${S}/packages/ti/ipc/tests/bin/* ${D}${base_libdir}/firmware/ipc || true
73}
74
75KFDSPNUM = "0"
76
77KFPLAT = ""
78
79ALTERNATIVE_PRIORITY = "5"
80
81pkg_postinst:${PN}-fw:omap-a15 () {
82 update-alternatives --install /lib/firmware/dra7-dsp1-fw.xe66 dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66 ${ALTERNATIVE_PRIORITY}
83 update-alternatives --install /lib/firmware/dra7-dsp2-fw.xe66 dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66 ${ALTERNATIVE_PRIORITY}
84 update-alternatives --install /lib/firmware/dra7-ipu1-fw.xem4 dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4 ${ALTERNATIVE_PRIORITY}
85 update-alternatives --install /lib/firmware/dra7-ipu2-fw.xem4 dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4 ${ALTERNATIVE_PRIORITY}
86}
87
88pkg_postrm:${PN}-fw:omap-a15 () {
89 update-alternatives --remove dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66
90 update-alternatives --remove dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66
91 update-alternatives --remove dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4
92 update-alternatives --remove dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4
93}
94
95pkg_postinst:${PN}-fw:omapl138 () {
96 update-alternatives --install /lib/firmware/rproc-dsp-fw rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674 ${ALTERNATIVE_PRIORITY}
97}
98
99pkg_postrm:${PN}-fw:omapl138 () {
100 update-alternatives --remove rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674
101}