summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantosh Jha <sjha@ti.com>2019-09-25 21:15:07 +0000
committerDenys Dmytriyenko <denys@ti.com>2019-10-03 00:31:26 +0000
commit91d057eb18de5ace31f8a29db655b1e7f0b68b43 (patch)
treec4b50ad615a66d2a129b6de9a52033511e5a2a8e
parent52089aec615275dc5a974a0c07f0a9641485df1b (diff)
downloadmeta-ti-91d057eb18de5ace31f8a29db655b1e7f0b68b43.tar.gz
ipc-lld: Adding recipe for IPC low-level driver and examples
IPC-LLD provides the low-level RPMSG based communication interface between various cores Signed-off-by: Santosh Jha <sjha@ti.com> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-rw-r--r--recipes-bsp/ipc-lld/ipc-lld-examples-rtos_git.bb47
-rw-r--r--recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb45
-rw-r--r--recipes-bsp/ipc-lld/ipc-lld.inc35
3 files changed, 127 insertions, 0 deletions
diff --git a/recipes-bsp/ipc-lld/ipc-lld-examples-rtos_git.bb b/recipes-bsp/ipc-lld/ipc-lld-examples-rtos_git.bb
new file mode 100644
index 00000000..44f76675
--- /dev/null
+++ b/recipes-bsp/ipc-lld/ipc-lld-examples-rtos_git.bb
@@ -0,0 +1,47 @@
1SUMMARY = "echo_test for IPC-LLD"
2
3require ipc-lld.inc
4
5DEPENDS += " ipc-lld-rtos common-csl-ip-rtos sciclient-rtos board-rtos"
6
7REMOTE_FW_DIR = "${S}/examples/echo_test/yocto_bin"
8REMOTE_FW_BIN_DIR = "${REMOTE_FW_DIR}/ipc_echo_test/bin"
9
10DST_BIN_PATH = "${base_libdir}/firmware/pdk-ipc/"
11
12do_configure[noexec] = "1"
13
14do_compile() {
15 cd ${S}
16
17 for board in ${TI_PDK_LIMIT_BOARDS}
18 do
19 for core in ${TI_PDK_LIMIT_CORES}
20 do
21 oe_runmake examples BOARD="$board" CORE="$core" DEST_ROOT=${REMOTE_FW_DIR}
22 done
23 done
24}
25
26do_install() {
27 install -d ${D}${DST_BIN_PATH}
28
29 for board in ${TI_PDK_LIMIT_BOARDS}
30 do
31 for core in ${TI_PDK_LIMIT_CORES}
32 do
33 install -m 0644 ${REMOTE_FW_BIN_DIR}/$board/ipc_echo_test_${core}_release.x* ${D}${DST_BIN_PATH}
34
35 #removing map files copied in previous line
36 rm ${D}${DST_BIN_PATH}/*.map
37 done
38 done
39}
40
41# make sure that lib/firmware, and all its contents are part of the package
42FILES_${PN} += "${base_libdir}/firmware"
43FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages"
44
45INSANE_SKIP_${PN} = "arch ldflags file-rdeps"
46
47INSANE_SKIP_${PN}-dbg = "arch"
diff --git a/recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb b/recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb
new file mode 100644
index 00000000..e005ea70
--- /dev/null
+++ b/recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb
@@ -0,0 +1,45 @@
1SUMMARY = "TI RTOS low level driver for IPC"
2
3require ipc-lld.inc
4
5DEPENDS += " osal-rtos common-csl-ip-rtos sciclient-rtos"
6
7do_configure() {
8 # remove any previous package
9 rm -rf ${IPCLLD_PACKAGE_BASE}
10 cd ${S}
11
12 mkdir -p ${IPCLLD_ROOTPATH}
13
14 for board in ${TI_PDK_LIMIT_BOARDS}
15 do
16 # make the release package before building it
17 oe_runmake package BOARD=$board DEST_ROOT=${IPCLLD_PACKAGE_BASE} PDK_IPC_COMP_PATH=${S}
18 done
19
20}
21
22do_compile() {
23 cd ${IPCLLD_ROOTPATH}
24
25 oe_runmake lib LIMIT_BOARDS="${TI_PDK_LIMIT_BOARDS}" PDK_IPC_COMP_PATH=${IPCLLD_ROOTPATH}
26}
27
28do_install() {
29 cd ${IPCLLD_ROOTPATH}
30
31 #remove prebuilt binaries
32 rm -rf examples/echo_test/binaries
33
34 #archive
35 tar -cf ipc-lld.tar --exclude='*.tar' ./*
36
37 install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/drv/ipc
38 find -name "*.tar" -exec tar xf {} --no-same-owner -C ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/drv/ipc \;
39}
40
41FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages"
42
43INSANE_SKIP_${PN} = "arch ldflags file-rdeps"
44
45INSANE_SKIP_${PN}-dbg = "arch"
diff --git a/recipes-bsp/ipc-lld/ipc-lld.inc b/recipes-bsp/ipc-lld/ipc-lld.inc
new file mode 100644
index 00000000..1ecf8dbf
--- /dev/null
+++ b/recipes-bsp/ipc-lld/ipc-lld.inc
@@ -0,0 +1,35 @@
1inherit ti-pdk
2
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=7eae093f2b09fd39307f30028a068b91"
5
6COMPATIBLE_MACHINE = "k3"
7PACKAGE_ARCH = "${MACHINE_ARCH}"
8
9IPCLLD_GIT_URI = "git://git.ti.com/keystone-rtos/ipc-lld.git"
10IPCLLD_GIT_PROTOCOL = "git"
11IPCLLD_GIT_BRANCH = "master"
12
13# Below commit ID corresponds to "01.00.00.00"
14IPCLLD_SRCREV = "c695ca99aa4b7242e808889cfeacf848f14112c7"
15
16BRANCH = "${IPCLLD_GIT_BRANCH}"
17SRC_URI = "${IPCLLD_GIT_URI};protocol=${IPCLLD_GIT_PROTOCOL};branch=${BRANCH}"
18
19SRCREV = "${IPCLLD_SRCREV}"
20PV = "01.00.00.00"
21PR = "r0"
22
23# Build with make instead of XDC
24TI_PDK_XDCMAKE = "0"
25
26IPCLLD_PACKAGE_BASE = "${S}/../ipclld_base"
27IPCLLD_ROOTPATH = "${IPCLLD_PACKAGE_BASE}/package/all/pdk_/packages/ti/drv/ipc"
28
29export PDK_INSTALL_PATH = "${PDK_INSTALL_DIR}/packages"
30export PDK_IPC_ROOT_PATH = "${IPCLLD_PACKAGE_BASE}/package/all/pdk_/packages"
31
32# HTML doc link params
33PDK_COMP_LINK_TEXT = "IPCLLD"
34
35EXTRA_OEMAKE = "PDK_INSTALL_PATH=${PDK_INSTALL_PATH} "