[meta-ti] [PATCH] ipc-lld: add AM65xx IPC echo_test firmware binaries

Bergsagel, Jonathan jbergsagel at ti.com
Fri Aug 2 12:42:30 PDT 2019


Denys,

Ok, sure.  I'll take a look and then post a new version of the patch that combines the handling of the two platforms into a single file.

Thanks,
Jonathan


-----Original Message-----
From: Dmytriyenko, Denys 
Sent: Friday, August 02, 2019 12:59 PM
To: Bergsagel, Jonathan
Cc: meta-ti at yoctoproject.org; Anna, Suman
Subject: Re: [PATCH] ipc-lld: add AM65xx IPC echo_test firmware binaries

Jonathan,

Can you combine the recipes? Instead of adding new ipc-lld-fw-am65x, you can 
re-use existing J7 ipc-lld-fw. Especially since they both pull binaries from 
the same repo and the same SRCREV.

You can install and deploy only binaries needed for the platform - see PRU FW 
recipe for example how to do that:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/tree/recipes-bsp/pru/pru-icss_git.bb

-- 
Denys


On Fri, Aug 02, 2019 at 12:34:46PM -0500, Jonathan Bergsagel wrote:
> Use IPC/LLD based IPC echo test firmware for AM65xx
> Linux IPC testing.
> Updated location of J721E firmware binaries as well,
> with latest IPC/LLD commit.
> 
> Signed-off-by: Jonathan Bergsagel <jbergsagel at ti.com>
> ---
>  recipes-bsp/ipc-lld/ipc-lld-fw-am65x_git.bb | 68 +++++++++++++++++++++
>  recipes-bsp/ipc-lld/ipc-lld-fw_git.bb       |  6 +-
>  2 files changed, 72 insertions(+), 2 deletions(-)
>  create mode 100644 recipes-bsp/ipc-lld/ipc-lld-fw-am65x_git.bb
> 
> diff --git a/recipes-bsp/ipc-lld/ipc-lld-fw-am65x_git.bb b/recipes-bsp/ipc-lld/ipc-lld-fw-am65x_git.bb
> new file mode 100644
> index 000000000000..afe3ce240816
> --- /dev/null
> +++ b/recipes-bsp/ipc-lld/ipc-lld-fw-am65x_git.bb
> @@ -0,0 +1,68 @@
> +SUMMARY = "AM65x R5 IPC Echo Test Firmware Binaries"
> +
> +LICENSE = "TI-TFL"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=7eae093f2b09fd39307f30028a068b91"
> +
> +inherit deploy
> +inherit update-alternatives
> +
> +COMPATIBLE_MACHINE = "am65xx"
> +
> +PV = "1.0-git${SRCPV}"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +PROTOCOL = "git"
> +BRANCH = "master"
> +SRCREV = "81392da08fab2b5cfc23d63dbe71b7244a6af477"
> +
> +SRC_URI = "git://git.ti.com/keystone-rtos/ipc-lld.git;protocol=${PROTOCOL};branch=${BRANCH}"
> +
> +S = "${WORKDIR}/git"
> +
> +R5_FW_DIR = "${S}/examples/echo_test/binaries/am65xx"
> +
> +# make sure that lib/firmware, and all its contents are part of the package
> +FILES_${PN} += "${base_libdir}/firmware"
> +
> +# install the R5 ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level
> +do_install() {
> +  install -d ${D}${base_libdir}/firmware/pdk-ipc
> +  install -m 0644 ${R5_FW_DIR}/ipc_echo_test_mcu1_0_release.xer5f ${D}${base_libdir}/firmware/pdk-ipc/
> +  install -m 0644 ${R5_FW_DIR}/ipc_echo_test_mcu1_0_release.strip.xer5f ${D}${base_libdir}/firmware/pdk-ipc/
> +  install -m 0644 ${R5_FW_DIR}/ipc_echo_test_mcu1_1_release.xer5f ${D}${base_libdir}/firmware/pdk-ipc/
> +  install -m 0644 ${R5_FW_DIR}/ipc_echo_test_mcu1_1_release.strip.xer5f ${D}${base_libdir}/firmware/pdk-ipc/
> +}
> +
> +TARGET_MCU_R5FSS0_0 = "am65x-mcu-r5f0_0-fw"
> +TARGET_MCU_R5FSS0_1 = "am65x-mcu-r5f0_1-fw"
> +ALTERNATIVE_${PN} = "\
> +                    am65x-mcu-r5f0_0-fw \
> +                    am65x-mcu-r5f0_1-fw \
> +                    "
> +ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
> +ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
> +ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release.strip.xer5f"
> +ALTERNATIVE_TARGET[am65x-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release.strip.xer5f"
> +
> +ALTERNATIVE_PRIORITY = "10"
> +
> +# copy the executables into the deploy directory
> +do_deploy () {
> +  install ${R5_FW_DIR}/ipc_echo_test_mcu1_0_release.xer5f ${DEPLOYDIR}/
> +  install ${R5_FW_DIR}/ipc_echo_test_mcu1_0_release.strip.xer5f ${DEPLOYDIR}/
> +  install ${R5_FW_DIR}/ipc_echo_test_mcu1_1_release.xer5f ${DEPLOYDIR}/
> +  install ${R5_FW_DIR}/ipc_echo_test_mcu1_1_release.strip.xer5f ${DEPLOYDIR}/
> +}
> +addtask deploy after do_install before do_build
> +
> +# This is used to prevent the build system to strip the executables
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_SYSROOT_STRIP = "1"
> +# This is used to prevent the build system to split the debug info in a separate file
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +# As it likely to be a different arch from the Yocto build, disable checking by adding "arch" to INSANE_SKIP
> +INSANE_SKIP_${PN} += "arch"
> +
> +# we don't want to configure and build the source code
> +do_compile[noexec] = "1"
> +do_configure[noexec] = "1"
> diff --git a/recipes-bsp/ipc-lld/ipc-lld-fw_git.bb b/recipes-bsp/ipc-lld/ipc-lld-fw_git.bb
> index f8157d8c6e5b..82cc11186aac 100644
> --- a/recipes-bsp/ipc-lld/ipc-lld-fw_git.bb
> +++ b/recipes-bsp/ipc-lld/ipc-lld-fw_git.bb
> @@ -6,18 +6,20 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=7eae093f2b09fd39307f30028a068b91"
>  inherit deploy
>  inherit update-alternatives
>  
> +COMPATIBLE_MACHINE = "j7-evm"
> +
>  PV = "1.0-git${SRCPV}"
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
>  PROTOCOL = "git"
>  BRANCH = "master"
> -SRCREV = "66764a5f063db606ea9db23380694bfd7d4aeafb"
> +SRCREV = "81392da08fab2b5cfc23d63dbe71b7244a6af477"
>  
>  SRC_URI = "git://git.ti.com/keystone-rtos/ipc-lld.git;protocol=${PROTOCOL};branch=${BRANCH}"
>  
>  S = "${WORKDIR}/git"
>  
> -R5_DSP_FW_DIR = "${S}/examples/echo_test/binaries"
> +R5_DSP_FW_DIR = "${S}/examples/echo_test/binaries/j721e"
>  
>  # make sure that lib/firmware, and all its contents are part of the package
>  FILES_${PN} += "${base_libdir}/firmware"
> -- 
> 2.17.1
> 


More information about the meta-ti mailing list