diff options
| author | Santosh Jha <sjha@ti.com> | 2019-09-25 21:15:07 +0000 |
|---|---|---|
| committer | Denys Dmytriyenko <denys@ti.com> | 2019-10-03 13:59:47 +0000 |
| commit | ee4fc84fd5cd76086d69690bf07b557e70c26369 (patch) | |
| tree | 2b88d22d5a430edc6b5b7100b9a0913362abb541 | |
| parent | 2aba7315d4d389887cb1f8c5199f9e827078826d (diff) | |
| download | meta-ti-ee4fc84fd5cd76086d69690bf07b557e70c26369.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.bb | 47 | ||||
| -rw-r--r-- | recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb | 45 | ||||
| -rw-r--r-- | recipes-bsp/ipc-lld/ipc-lld.inc | 35 |
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 @@ | |||
| 1 | SUMMARY = "echo_test for IPC-LLD" | ||
| 2 | |||
| 3 | require ipc-lld.inc | ||
| 4 | |||
| 5 | DEPENDS += " ipc-lld-rtos common-csl-ip-rtos sciclient-rtos board-rtos" | ||
| 6 | |||
| 7 | REMOTE_FW_DIR = "${S}/examples/echo_test/yocto_bin" | ||
| 8 | REMOTE_FW_BIN_DIR = "${REMOTE_FW_DIR}/ipc_echo_test/bin" | ||
| 9 | |||
| 10 | DST_BIN_PATH = "${base_libdir}/firmware/pdk-ipc/" | ||
| 11 | |||
| 12 | do_configure[noexec] = "1" | ||
| 13 | |||
| 14 | do_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 | |||
| 26 | do_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 | ||
| 42 | FILES_${PN} += "${base_libdir}/firmware" | ||
| 43 | FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages" | ||
| 44 | |||
| 45 | INSANE_SKIP_${PN} = "arch ldflags file-rdeps" | ||
| 46 | |||
| 47 | INSANE_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 @@ | |||
| 1 | SUMMARY = "TI RTOS low level driver for IPC" | ||
| 2 | |||
| 3 | require ipc-lld.inc | ||
| 4 | |||
| 5 | DEPENDS += " osal-rtos common-csl-ip-rtos sciclient-rtos" | ||
| 6 | |||
| 7 | do_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 | |||
| 22 | do_compile() { | ||
| 23 | cd ${IPCLLD_ROOTPATH} | ||
| 24 | |||
| 25 | oe_runmake lib LIMIT_BOARDS="${TI_PDK_LIMIT_BOARDS}" PDK_IPC_COMP_PATH=${IPCLLD_ROOTPATH} | ||
| 26 | } | ||
| 27 | |||
| 28 | do_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 | |||
| 41 | FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages" | ||
| 42 | |||
| 43 | INSANE_SKIP_${PN} = "arch ldflags file-rdeps" | ||
| 44 | |||
| 45 | INSANE_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 @@ | |||
| 1 | inherit ti-pdk | ||
| 2 | |||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7eae093f2b09fd39307f30028a068b91" | ||
| 5 | |||
| 6 | COMPATIBLE_MACHINE = "k3" | ||
| 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 8 | |||
| 9 | IPCLLD_GIT_URI = "git://git.ti.com/keystone-rtos/ipc-lld.git" | ||
| 10 | IPCLLD_GIT_PROTOCOL = "git" | ||
| 11 | IPCLLD_GIT_BRANCH = "master" | ||
| 12 | |||
| 13 | # Below commit ID corresponds to "01.00.00.00" | ||
| 14 | IPCLLD_SRCREV = "c695ca99aa4b7242e808889cfeacf848f14112c7" | ||
| 15 | |||
| 16 | BRANCH = "${IPCLLD_GIT_BRANCH}" | ||
| 17 | SRC_URI = "${IPCLLD_GIT_URI};protocol=${IPCLLD_GIT_PROTOCOL};branch=${BRANCH}" | ||
| 18 | |||
| 19 | SRCREV = "${IPCLLD_SRCREV}" | ||
| 20 | PV = "01.00.00.00" | ||
| 21 | PR = "r0" | ||
| 22 | |||
| 23 | # Build with make instead of XDC | ||
| 24 | TI_PDK_XDCMAKE = "0" | ||
| 25 | |||
| 26 | IPCLLD_PACKAGE_BASE = "${S}/../ipclld_base" | ||
| 27 | IPCLLD_ROOTPATH = "${IPCLLD_PACKAGE_BASE}/package/all/pdk_/packages/ti/drv/ipc" | ||
| 28 | |||
| 29 | export PDK_INSTALL_PATH = "${PDK_INSTALL_DIR}/packages" | ||
| 30 | export PDK_IPC_ROOT_PATH = "${IPCLLD_PACKAGE_BASE}/package/all/pdk_/packages" | ||
| 31 | |||
| 32 | # HTML doc link params | ||
| 33 | PDK_COMP_LINK_TEXT = "IPCLLD" | ||
| 34 | |||
| 35 | EXTRA_OEMAKE = "PDK_INSTALL_PATH=${PDK_INSTALL_PATH} " | ||
