From 91d057eb18de5ace31f8a29db655b1e7f0b68b43 Mon Sep 17 00:00:00 2001 From: Santosh Jha Date: Wed, 25 Sep 2019 21:15:07 +0000 Subject: 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 Signed-off-by: Denys Dmytriyenko --- recipes-bsp/ipc-lld/ipc-lld-examples-rtos_git.bb | 47 ++++++++++++++++++++++++ recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb | 45 +++++++++++++++++++++++ recipes-bsp/ipc-lld/ipc-lld.inc | 35 ++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 recipes-bsp/ipc-lld/ipc-lld-examples-rtos_git.bb create mode 100644 recipes-bsp/ipc-lld/ipc-lld-rtos_git.bb create mode 100644 recipes-bsp/ipc-lld/ipc-lld.inc 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 @@ +SUMMARY = "echo_test for IPC-LLD" + +require ipc-lld.inc + +DEPENDS += " ipc-lld-rtos common-csl-ip-rtos sciclient-rtos board-rtos" + +REMOTE_FW_DIR = "${S}/examples/echo_test/yocto_bin" +REMOTE_FW_BIN_DIR = "${REMOTE_FW_DIR}/ipc_echo_test/bin" + +DST_BIN_PATH = "${base_libdir}/firmware/pdk-ipc/" + +do_configure[noexec] = "1" + +do_compile() { + cd ${S} + + for board in ${TI_PDK_LIMIT_BOARDS} + do + for core in ${TI_PDK_LIMIT_CORES} + do + oe_runmake examples BOARD="$board" CORE="$core" DEST_ROOT=${REMOTE_FW_DIR} + done + done +} + +do_install() { + install -d ${D}${DST_BIN_PATH} + + for board in ${TI_PDK_LIMIT_BOARDS} + do + for core in ${TI_PDK_LIMIT_CORES} + do + install -m 0644 ${REMOTE_FW_BIN_DIR}/$board/ipc_echo_test_${core}_release.x* ${D}${DST_BIN_PATH} + + #removing map files copied in previous line + rm ${D}${DST_BIN_PATH}/*.map + done + done +} + +# make sure that lib/firmware, and all its contents are part of the package +FILES_${PN} += "${base_libdir}/firmware" +FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages" + +INSANE_SKIP_${PN} = "arch ldflags file-rdeps" + +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 @@ +SUMMARY = "TI RTOS low level driver for IPC" + +require ipc-lld.inc + +DEPENDS += " osal-rtos common-csl-ip-rtos sciclient-rtos" + +do_configure() { + # remove any previous package + rm -rf ${IPCLLD_PACKAGE_BASE} + cd ${S} + + mkdir -p ${IPCLLD_ROOTPATH} + + for board in ${TI_PDK_LIMIT_BOARDS} + do + # make the release package before building it + oe_runmake package BOARD=$board DEST_ROOT=${IPCLLD_PACKAGE_BASE} PDK_IPC_COMP_PATH=${S} + done + +} + +do_compile() { + cd ${IPCLLD_ROOTPATH} + + oe_runmake lib LIMIT_BOARDS="${TI_PDK_LIMIT_BOARDS}" PDK_IPC_COMP_PATH=${IPCLLD_ROOTPATH} +} + +do_install() { + cd ${IPCLLD_ROOTPATH} + + #remove prebuilt binaries + rm -rf examples/echo_test/binaries + + #archive + tar -cf ipc-lld.tar --exclude='*.tar' ./* + + install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/drv/ipc + find -name "*.tar" -exec tar xf {} --no-same-owner -C ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/drv/ipc \; +} + +FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages" + +INSANE_SKIP_${PN} = "arch ldflags file-rdeps" + +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 @@ +inherit ti-pdk + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7eae093f2b09fd39307f30028a068b91" + +COMPATIBLE_MACHINE = "k3" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +IPCLLD_GIT_URI = "git://git.ti.com/keystone-rtos/ipc-lld.git" +IPCLLD_GIT_PROTOCOL = "git" +IPCLLD_GIT_BRANCH = "master" + +# Below commit ID corresponds to "01.00.00.00" +IPCLLD_SRCREV = "c695ca99aa4b7242e808889cfeacf848f14112c7" + +BRANCH = "${IPCLLD_GIT_BRANCH}" +SRC_URI = "${IPCLLD_GIT_URI};protocol=${IPCLLD_GIT_PROTOCOL};branch=${BRANCH}" + +SRCREV = "${IPCLLD_SRCREV}" +PV = "01.00.00.00" +PR = "r0" + +# Build with make instead of XDC +TI_PDK_XDCMAKE = "0" + +IPCLLD_PACKAGE_BASE = "${S}/../ipclld_base" +IPCLLD_ROOTPATH = "${IPCLLD_PACKAGE_BASE}/package/all/pdk_/packages/ti/drv/ipc" + +export PDK_INSTALL_PATH = "${PDK_INSTALL_DIR}/packages" +export PDK_IPC_ROOT_PATH = "${IPCLLD_PACKAGE_BASE}/package/all/pdk_/packages" + +# HTML doc link params +PDK_COMP_LINK_TEXT = "IPCLLD" + +EXTRA_OEMAKE = "PDK_INSTALL_PATH=${PDK_INSTALL_PATH} " -- cgit v1.2.3-54-g00ecf