summaryrefslogtreecommitdiffstats
path: root/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb')
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb141
1 files changed, 141 insertions, 0 deletions
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb
new file mode 100644
index 00000000..4c0e71e6
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb
@@ -0,0 +1,141 @@
+require ti-ipc.inc
+require ti-ipc-common.inc
+require ti-ipc-rtos.inc
+
+DEPENDS = "ti-xdctools-native ti-sysbios doxygen-native zip-native"
+DEPENDS_append_am65xx = " sciclient-rtos"
+
+PACKAGES =+ "${PN}-fw"
+FILES_${PN}-fw = "${base_libdir}/firmware/*"
+FILES_${PN}-dev += "${IPC_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-fw += "arch"
+INSANE_SKIP_${PN}-dev += "arch"
+
+ALLOW_EMPTY_${PN} = "1"
+
+IPC_PACKAGE_DIR = "${S}/ipc-package"
+
+do_compile() {
+ oe_runmake -f ipc-bios.mak clean
+ oe_runmake -f ipc-bios.mak release
+
+ cd ${S_ipc-metadata}
+ oe_runmake .all-files IPC_INSTALL_DIR="${S}" \
+ BUILD_HOST_OS="linux" \
+ RELEASE_TYPE="${RELEASE_TYPE}"
+
+ cd ${S_ipc-examples}/src
+ oe_runmake .examples \
+ IPCTOOLS="${S_ipc-metadata}/src/etc"
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake .examples \
+ IPCTOOLS="${S_ipc-metadata}/src/etc" \
+ PLATFORM=${alt_platform}
+ done
+
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${S}"
+ oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${S}"
+
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake extract PLATFORM=${alt_platform} HOSTOS="bios" IPC_INSTALL_DIR="${S}"
+ oe_runmake extract PLATFORM=${alt_platform} HOSTOS="linux" IPC_INSTALL_DIR="${S}"
+ done
+ fi
+
+ IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
+ install -d ${IPC_PACKAGE_DIR}
+ # Copy docs and other meta files
+ cp -pPrf ${S_ipc-metadata}/exports/ipc_${IPC_VERSION}/* -d ${IPC_PACKAGE_DIR}
+
+ # Copy example folders corresponding to the platforms
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ install -d ${IPC_PACKAGE_DIR}/examples
+ cp -pPf ${S_ipc-examples}/src/examples/*.* ${IPC_PACKAGE_DIR}/examples/
+ cp -pPf ${S_ipc-examples}/src/examples/makefile ${IPC_PACKAGE_DIR}/examples/
+ cp -pPrf ${S_ipc-examples}/src/examples/${PLATFORM}* ${IPC_PACKAGE_DIR}/examples/
+ for alt_platform in ${ALT_PLATFORM}; do
+ cp -pPrf ${S_ipc-examples}/src/examples/${alt_platform}* ${IPC_PACKAGE_DIR}/examples/
+ done
+ find ${IPC_PACKAGE_DIR}/examples/ -name "*zip" -type f | xargs -I {} rm {}
+ fi
+}
+
+do_install_prepend_am65xx () {
+ # Trim directory name
+ mv ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_false_R5F0 ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_R5F0
+ mv ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_false_R5F1 ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_R5F1
+}
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
+ # Copy docs and other meta files
+ install -d ${D}${IPC_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${IPC_PACKAGE_DIR}/* -d ${D}${IPC_INSTALL_DIR_RECIPE}
+
+ install -d ${D}${base_libdir}/firmware/ipc
+ cp ${CP_ARGS} ${S}/packages/ti/ipc/tests/bin/* ${D}${base_libdir}/firmware/ipc || true
+}
+
+KFDSPNUM = "0"
+KFDSPNUM_k2hk = "8"
+KFDSPNUM_k2l = "4"
+KFDSPNUM_keystone = "1"
+
+KFPLAT = ""
+KFPLAT_k2hk = "TCI6638K2K"
+KFPLAT_k2l = "TCI6630K2L"
+KFPLAT_k2e = "C66AK2E"
+KFPLAT_k2g = "TCI66AK2G02"
+
+ALTERNATIVE_PRIORITY = "5"
+
+pkg_postinst_${PN}-fw_keystone () {
+ i=0
+ while [ $i -lt ${KFDSPNUM} ]; do
+ update-alternatives --install /lib/firmware/keystone-dsp$i-fw keystone-dsp$i-fw ipc/ti_platforms_evm${KFPLAT}_core0/messageq_single.xe66 ${ALTERNATIVE_PRIORITY}
+ i=$(($i + 1))
+ done
+}
+
+pkg_postrm_${PN}-fw_keystone () {
+ i=0
+ while [ $i -lt ${KFDSPNUM} ]; do
+ update-alternatives --remove keystone-dsp$i-fw ipc/ti_platforms_evm${KFPLAT}_core0/messageq_single.xe66
+ i=$(($i + 1))
+ done
+}
+
+pkg_postinst_${PN}-fw_omap-a15 () {
+ 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}
+ 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}
+ 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}
+ 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}
+}
+
+pkg_postrm_${PN}-fw_omap-a15 () {
+ update-alternatives --remove dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66
+ update-alternatives --remove dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66
+ update-alternatives --remove dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4
+ update-alternatives --remove dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4
+}
+
+pkg_postinst_${PN}-fw_omapl138 () {
+ update-alternatives --install /lib/firmware/rproc-dsp-fw rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674 ${ALTERNATIVE_PRIORITY}
+}
+
+pkg_postrm_${PN}-fw_omapl138 () {
+ update-alternatives --remove rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674
+}
+
+pkg_postinst_${PN}-fw_am65xx () {
+ update-alternatives --install /lib/firmware/am65x-mcu-r5f0_0-fw am65x-mcu-r5f0_0-fw ipc/ti_platforms_cortexR_AM65X_R5F0/messageq_single.xer5f ${ALTERNATIVE_PRIORITY}
+ update-alternatives --install /lib/firmware/am65x-mcu-r5f0_1-fw am65x-mcu-r5f0_1-fw ipc/ti_platforms_cortexR_AM65X_R5F1/messageq_single.xer5f ${ALTERNATIVE_PRIORITY}
+}
+
+pkg_postrm_${PN}-fw_am65xx () {
+ update-alternatives --remove am65x-mcu-r5f0_0-fw ipc/ti_platforms_cortexR_AM65X_R5F0/messageq_single.xer5f
+ update-alternatives --remove am65x-mcu-r5f0_1-fw ipc/ti_platforms_cortexR_AM65X_R5F1/messageq_single.xer5f
+}