diff mbox series

[meta-ti,master/dunfell] machine: Add j784s4-evm configuration.

Message ID 20220926174026.17057-1-reatmon@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series [meta-ti,master/dunfell] machine: Add j784s4-evm configuration. | expand

Commit Message

Ryan Eatmon Sept. 26, 2022, 5:40 p.m. UTC
Adding support for j784s4-evm:
- Add configurations.
- Add firmware.
- Add u-boot.
- Add gpu support.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Randolph Sapp <rs@ti.com>
---
 conf/machine/j784s4-evm-k3r5.conf             | 11 +++
 conf/machine/j784s4-evm.conf                  | 27 +++++++
 recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb    |  2 +-
 .../ti-img-rogue-driver_1.15.6133109.bb       |  6 +-
 recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb        |  1 +
 .../ti-img-rogue-umlibs_1.15.6133109.bb       |  5 +-
 recipes-kernel/linux/kernel-rdepends.inc      |  2 +
 recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb    | 75 +++++++++++++++++++
 8 files changed, 124 insertions(+), 5 deletions(-)
 create mode 100644 conf/machine/j784s4-evm-k3r5.conf
 create mode 100644 conf/machine/j784s4-evm.conf

Comments

Andrew Davis Sept. 26, 2022, 8:17 p.m. UTC | #1
On 9/26/22 12:40 PM, Ryan Eatmon via lists.yoctoproject.org wrote:
> Adding support for j784s4-evm:
> - Add configurations.
> - Add firmware.
> - Add u-boot.
> - Add gpu support.
> 
> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
> Signed-off-by: Randolph Sapp <rs@ti.com>
> ---
>   conf/machine/j784s4-evm-k3r5.conf             | 11 +++
>   conf/machine/j784s4-evm.conf                  | 27 +++++++
>   recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb    |  2 +-
>   .../ti-img-rogue-driver_1.15.6133109.bb       |  6 +-
>   recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb        |  1 +
>   .../ti-img-rogue-umlibs_1.15.6133109.bb       |  5 +-
>   recipes-kernel/linux/kernel-rdepends.inc      |  2 +
>   recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb    | 75 +++++++++++++++++++
>   8 files changed, 124 insertions(+), 5 deletions(-)
>   create mode 100644 conf/machine/j784s4-evm-k3r5.conf
>   create mode 100644 conf/machine/j784s4-evm.conf
> 
> diff --git a/conf/machine/j784s4-evm-k3r5.conf b/conf/machine/j784s4-evm-k3r5.conf
> new file mode 100644
> index 00000000..04feebc6
> --- /dev/null
> +++ b/conf/machine/j784s4-evm-k3r5.conf
> @@ -0,0 +1,11 @@
> +#@TYPE: Machine
> +#@NAME: J784S4 EVM (R5F)
> +#@DESCRIPTION: Machine configuration for the TI J784S4 EVM (R5F core)
> +
> +require conf/machine/include/k3r5.inc
> +
> +SYSFW_SOC = "j784s4"
> +SYSFW_CONFIG = "evm"
> +SYSFW_SUFFIX = "gp"
> +
> +UBOOT_MACHINE = "j784s4_evm_r5_defconfig"
> diff --git a/conf/machine/j784s4-evm.conf b/conf/machine/j784s4-evm.conf
> new file mode 100644
> index 00000000..957e5766
> --- /dev/null
> +++ b/conf/machine/j784s4-evm.conf
> @@ -0,0 +1,27 @@
> +#@TYPE: Machine
> +#@NAME: J784S4 EVM
> +#@DESCRIPTION: Machine configuration for the TI J784S4 EVM
> +
> +require conf/machine/include/j7.inc
> +
> +MACHINE_FEATURES += "gpu"
> +
> +SERIAL_CONSOLES = "115200;ttyS10"
> +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
> +TFA_K3_USART = "0x8"
> +OPTEE_K3_USART = "0x8"
> +
> +KERNEL_DEVICETREE = " \
> +    ti/k3-j784s4-evm.dtb \
> +"
> +
> +UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
> +
> +# J721S2 supports multi-certificate images, use the same
> +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}"
> +
> +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> +
> +TFA_BOARD = "j784s4"
> +
> diff --git a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> index 83619090..cca5704e 100644
> --- a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> +++ b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> @@ -13,7 +13,7 @@ PR = "${INC_PR}.1"
>   
>   CLEANBROKEN = "1"
>   
> -COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm"
> +COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm|j784s4-evm"
>   
>   PACKAGE_ARCH = "${MACHINE_ARCH}"
>   
> diff --git a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> index 3dbc87b6..1127c5d1 100644
> --- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> +++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> @@ -11,7 +11,7 @@ MACHINE_KERNEL_PR_append = "b"
>   PR = "${MACHINE_KERNEL_PR}"
>   
>   PACKAGE_ARCH = "${MACHINE_ARCH}"
> -COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|am62xx"
> +COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|j784s4-evm|am62xx"


j784s4-evm.conf should include a j784s4.inc family file, then here
you'll only need |j784s4|. Makes it easier when adding machines
based on the j784s4 SoC.


>   
>   DEPENDS = "virtual/kernel"
>   
> @@ -26,17 +26,19 @@ SRC_URI = " \
>   
>   S = "${WORKDIR}/git"

...

> --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> @@ -19,6 +19,7 @@ PLAT_SFX_j7200-evm = "j7200"
>   PLAT_SFX_j7200-hs-evm = "j7200"
>   PLAT_SFX_j721s2-evm = "j721s2"
>   PLAT_SFX_j721s2-hs-evm = "j721s2"
> +PLAT_SFX_j784s4-evm = "j784s4"
>   PLAT_SFX_am65xx = "am65xx"
>   PLAT_SFX_am64xx = "am64xx"
>   PLAT_SFX_am62xx = "am62xx"
> @@ -247,6 +248,26 @@ do_install_j721s2-hs-evm() {
>       # install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR}
>   }
>   
> +do_install_j784s4-evm() {
> +    install -d ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_1_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_2_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_3_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
> +    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_4_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
> +    # DM Firmware
> +    install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR}
> +    # ETH firmware
> +    install -d ${LEGACY_ETH_FW_DIR}
> +    install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR}
> +}
> +


I wonder if there is a way to better add these than just long lists,
this file's size is getting out of hand :/

Andrew


>   do_install_am65xx() {
>       install -d ${LEGACY_IPC_FW_DIR}
>       install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
> @@ -372,6 +393,21 @@ ALTERNATIVE_${PN}_j721s2-hs-evm = "\
>                       j721s2-c71_1-fw-sec \
>                       "
>   
> +ALTERNATIVE_${PN}_j784s4-evm = "\
> +                    j784s4-mcu-r5f0_0-fw \
> +                    j784s4-mcu-r5f0_1-fw \
> +                    j784s4-main-r5f0_0-fw \
> +                    j784s4-main-r5f0_1-fw \
> +                    j784s4-main-r5f1_0-fw \
> +                    j784s4-main-r5f1_1-fw \
> +                    j784s4-main-r5f2_0-fw \
> +                    j784s4-main-r5f2_1-fw \
> +                    j784s4-c71_0-fw \
> +                    j784s4-c71_1-fw \
> +                    j784s4-c71_2-fw \
> +                    j784s4-c71_3-fw \
> +                    "
> +
>   # Set up link names for the firmwares
>   
>   TARGET_MCU_R5FSS0_0_am65xx = "am65x-mcu-r5f0_0-fw"
> @@ -442,6 +478,19 @@ TARGET_MAIN_R5FSS1_1_SIGNED_j721s2-hs-evm = "j721s2-main-r5f1_1-fw-sec"
>   TARGET_C7X_0_SIGNED_j721s2-hs-evm = "j721s2-c71_0-fw-sec"
>   TARGET_C7X_1_SIGNED_j721s2-hs-evm = "j721s2-c71_1-fw-sec"
>   
> +TARGET_MCU_R5FSS0_0_j784s4-evm = "j784s4-mcu-r5f0_0-fw"
> +TARGET_MCU_R5FSS0_1_j784s4-evm = "j784s4-mcu-r5f0_1-fw"
> +TARGET_MAIN_R5FSS0_0_j784s4-evm = "j784s4-main-r5f0_0-fw"
> +TARGET_MAIN_R5FSS0_1_j784s4-evm = "j784s4-main-r5f0_1-fw"
> +TARGET_MAIN_R5FSS1_0_j784s4-evm = "j784s4-main-r5f1_0-fw"
> +TARGET_MAIN_R5FSS1_1_j784s4-evm = "j784s4-main-r5f1_1-fw"
> +TARGET_MAIN_R5FSS2_0_j784s4-evm = "j784s4-main-r5f2_0-fw"
> +TARGET_MAIN_R5FSS2_1_j784s4-evm = "j784s4-main-r5f2_1-fw"
> +TARGET_C7X_0_j784s4-evm = "j784s4-c71_0-fw"
> +TARGET_C7X_1_j784s4-evm = "j784s4-c71_1-fw"
> +TARGET_C7X_2_j784s4-evm = "j784s4-c71_2-fw"
> +TARGET_C7X_3_j784s4-evm = "j784s4-c71_3-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}"
>   
> @@ -496,6 +545,19 @@ ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_1-fw-sec] = "${base_libdir}/firmware/${TA
>   ALTERNATIVE_LINK_NAME[j721s2-c71_0-fw-sec] = "${base_libdir}/firmware/${TARGET_C7X_0_SIGNED}"
>   ALTERNATIVE_LINK_NAME[j721s2-c71_1-fw-sec] = "${base_libdir}/firmware/${TARGET_C7X_1_SIGNED}"
>   
> +ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
> +ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}"
> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}"
> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_0}"
> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_1}"
> +ALTERNATIVE_LINK_NAME[j784s4-c71_0-fw] = "${base_libdir}/firmware/${TARGET_C7X_0}"
> +ALTERNATIVE_LINK_NAME[j784s4-c71_1-fw] = "${base_libdir}/firmware/${TARGET_C7X_1}"
> +ALTERNATIVE_LINK_NAME[j784s4-c71_2-fw] = "${base_libdir}/firmware/${TARGET_C7X_2}"
> +ALTERNATIVE_LINK_NAME[j784s4-c71_3-fw] = "${base_libdir}/firmware/${TARGET_C7X_3}"
> +
>   # Create the firmware alternatives
>   
>   ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release_strip.xer5f"
> @@ -552,6 +614,19 @@ ALTERNATIVE_TARGET[j721s2-main-r5f1_1-fw-sec] = "${base_libdir}/firmware/pdk-ipc
>   ALTERNATIVE_TARGET[j721s2-c71_0-fw-sec] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71.signed"
>   ALTERNATIVE_TARGET[j721s2-c71_1-fw-sec] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71.signed"
>   
> +ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-main-r5f2_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_0_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-main-r5f2_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_1_release_strip.xer5f"
> +ALTERNATIVE_TARGET[j784s4-c71_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71"
> +ALTERNATIVE_TARGET[j784s4-c71_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71"
> +ALTERNATIVE_TARGET[j784s4-c71_2-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_3_release_strip.xe71"
> +ALTERNATIVE_TARGET[j784s4-c71_3-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_4_release_strip.xe71"
> +
>   ALTERNATIVE_PRIORITY = "10"
>   
>   # make sure that lib/firmware, and all its contents are part of the package
> 
>
Ryan Eatmon Sept. 26, 2022, 8:50 p.m. UTC | #2
On 9/26/2022 15:17, Andrew Davis wrote:
> On 9/26/22 12:40 PM, Ryan Eatmon via lists.yoctoproject.org wrote:
>> Adding support for j784s4-evm:
>> - Add configurations.
>> - Add firmware.
>> - Add u-boot.
>> - Add gpu support.
>>
>> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
>> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
>> Signed-off-by: Randolph Sapp <rs@ti.com>
>> ---
>>   conf/machine/j784s4-evm-k3r5.conf             | 11 +++
>>   conf/machine/j784s4-evm.conf                  | 27 +++++++
>>   recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb    |  2 +-
>>   .../ti-img-rogue-driver_1.15.6133109.bb       |  6 +-
>>   recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb        |  1 +
>>   .../ti-img-rogue-umlibs_1.15.6133109.bb       |  5 +-
>>   recipes-kernel/linux/kernel-rdepends.inc      |  2 +
>>   recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb    | 75 +++++++++++++++++++
>>   8 files changed, 124 insertions(+), 5 deletions(-)
>>   create mode 100644 conf/machine/j784s4-evm-k3r5.conf
>>   create mode 100644 conf/machine/j784s4-evm.conf
>>
>> diff --git a/conf/machine/j784s4-evm-k3r5.conf 
>> b/conf/machine/j784s4-evm-k3r5.conf
>> new file mode 100644
>> index 00000000..04feebc6
>> --- /dev/null
>> +++ b/conf/machine/j784s4-evm-k3r5.conf
>> @@ -0,0 +1,11 @@
>> +#@TYPE: Machine
>> +#@NAME: J784S4 EVM (R5F)
>> +#@DESCRIPTION: Machine configuration for the TI J784S4 EVM (R5F core)
>> +
>> +require conf/machine/include/k3r5.inc
>> +
>> +SYSFW_SOC = "j784s4"
>> +SYSFW_CONFIG = "evm"
>> +SYSFW_SUFFIX = "gp"
>> +
>> +UBOOT_MACHINE = "j784s4_evm_r5_defconfig"
>> diff --git a/conf/machine/j784s4-evm.conf b/conf/machine/j784s4-evm.conf
>> new file mode 100644
>> index 00000000..957e5766
>> --- /dev/null
>> +++ b/conf/machine/j784s4-evm.conf
>> @@ -0,0 +1,27 @@
>> +#@TYPE: Machine
>> +#@NAME: J784S4 EVM
>> +#@DESCRIPTION: Machine configuration for the TI J784S4 EVM
>> +
>> +require conf/machine/include/j7.inc
>> +
>> +MACHINE_FEATURES += "gpu"
>> +
>> +SERIAL_CONSOLES = "115200;ttyS10"
>> +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
>> +TFA_K3_USART = "0x8"
>> +OPTEE_K3_USART = "0x8"
>> +
>> +KERNEL_DEVICETREE = " \
>> +    ti/k3-j784s4-evm.dtb \
>> +"
>> +
>> +UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
>> +
>> +# J721S2 supports multi-certificate images, use the same
>> +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}"
>> +
>> +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> +
>> +TFA_BOARD = "j784s4"
>> +
>> diff --git a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb 
>> b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
>> index 83619090..cca5704e 100644
>> --- a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
>> +++ b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
>> @@ -13,7 +13,7 @@ PR = "${INC_PR}.1"
>>   CLEANBROKEN = "1"
>> -COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm"
>> +COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm|j784s4-evm"
>>   PACKAGE_ARCH = "${MACHINE_ARCH}"
>> diff --git 
>> a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb 
>> b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
>> index 3dbc87b6..1127c5d1 100644
>> --- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
>> +++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
>> @@ -11,7 +11,7 @@ MACHINE_KERNEL_PR_append = "b"
>>   PR = "${MACHINE_KERNEL_PR}"
>>   PACKAGE_ARCH = "${MACHINE_ARCH}"
>> -COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|am62xx"
>> +COMPATIBLE_MACHINE = 
>> "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|j784s4-evm|am62xx"
> 
> 
> j784s4-evm.conf should include a j784s4.inc family file, then here
> you'll only need |j784s4|. Makes it easier when adding machines
> based on the j784s4 SoC.
> 
> 
>>   DEPENDS = "virtual/kernel"
>> @@ -26,17 +26,19 @@ SRC_URI = " \
>>   S = "${WORKDIR}/git"
> 
> ...
> 
>> --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
>> +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
>> @@ -19,6 +19,7 @@ PLAT_SFX_j7200-evm = "j7200"
>>   PLAT_SFX_j7200-hs-evm = "j7200"
>>   PLAT_SFX_j721s2-evm = "j721s2"
>>   PLAT_SFX_j721s2-hs-evm = "j721s2"
>> +PLAT_SFX_j784s4-evm = "j784s4"
>>   PLAT_SFX_am65xx = "am65xx"
>>   PLAT_SFX_am64xx = "am64xx"
>>   PLAT_SFX_am62xx = "am62xx"
>> @@ -247,6 +248,26 @@ do_install_j721s2-hs-evm() {
>>       # install -m 0644 
>> ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f 
>> ${LEGACY_ETH_FW_DIR}
>>   }
>> +do_install_j784s4-evm() {
>> +    install -d ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_0_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_1_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_0_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_1_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_1_release_strip.xe71 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_2_release_strip.xe71 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_3_release_strip.xe71 
>> ${LEGACY_IPC_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_4_release_strip.xe71 
>> ${LEGACY_IPC_FW_DIR}
>> +    # DM Firmware
>> +    install -m 0644 
>> ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f 
>> ${LEGACY_DM_FW_DIR}
>> +    # ETH firmware
>> +    install -d ${LEGACY_ETH_FW_DIR}
>> +    install -m 0644 
>> ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f 
>> ${LEGACY_ETH_FW_DIR}
>> +}
>> +
> 
> 
> I wonder if there is a way to better add these than just long lists,
> this file's size is getting out of hand :/
> 
> Andrew

Compeltely agree.  I like all of the clean up done so far.  We just need 
to figure out a better solution for the firmware as well.


> 
>>   do_install_am65xx() {
>>       install -d ${LEGACY_IPC_FW_DIR}
>>       install -m 0644 
>> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_0_release_strip.xer5f 
>> ${LEGACY_IPC_FW_DIR}
>> @@ -372,6 +393,21 @@ ALTERNATIVE_${PN}_j721s2-hs-evm = "\
>>                       j721s2-c71_1-fw-sec \
>>                       "
>> +ALTERNATIVE_${PN}_j784s4-evm = "\
>> +                    j784s4-mcu-r5f0_0-fw \
>> +                    j784s4-mcu-r5f0_1-fw \
>> +                    j784s4-main-r5f0_0-fw \
>> +                    j784s4-main-r5f0_1-fw \
>> +                    j784s4-main-r5f1_0-fw \
>> +                    j784s4-main-r5f1_1-fw \
>> +                    j784s4-main-r5f2_0-fw \
>> +                    j784s4-main-r5f2_1-fw \
>> +                    j784s4-c71_0-fw \
>> +                    j784s4-c71_1-fw \
>> +                    j784s4-c71_2-fw \
>> +                    j784s4-c71_3-fw \
>> +                    "
>> +
>>   # Set up link names for the firmwares
>>   TARGET_MCU_R5FSS0_0_am65xx = "am65x-mcu-r5f0_0-fw"
>> @@ -442,6 +478,19 @@ TARGET_MAIN_R5FSS1_1_SIGNED_j721s2-hs-evm = 
>> "j721s2-main-r5f1_1-fw-sec"
>>   TARGET_C7X_0_SIGNED_j721s2-hs-evm = "j721s2-c71_0-fw-sec"
>>   TARGET_C7X_1_SIGNED_j721s2-hs-evm = "j721s2-c71_1-fw-sec"
>> +TARGET_MCU_R5FSS0_0_j784s4-evm = "j784s4-mcu-r5f0_0-fw"
>> +TARGET_MCU_R5FSS0_1_j784s4-evm = "j784s4-mcu-r5f0_1-fw"
>> +TARGET_MAIN_R5FSS0_0_j784s4-evm = "j784s4-main-r5f0_0-fw"
>> +TARGET_MAIN_R5FSS0_1_j784s4-evm = "j784s4-main-r5f0_1-fw"
>> +TARGET_MAIN_R5FSS1_0_j784s4-evm = "j784s4-main-r5f1_0-fw"
>> +TARGET_MAIN_R5FSS1_1_j784s4-evm = "j784s4-main-r5f1_1-fw"
>> +TARGET_MAIN_R5FSS2_0_j784s4-evm = "j784s4-main-r5f2_0-fw"
>> +TARGET_MAIN_R5FSS2_1_j784s4-evm = "j784s4-main-r5f2_1-fw"
>> +TARGET_C7X_0_j784s4-evm = "j784s4-c71_0-fw"
>> +TARGET_C7X_1_j784s4-evm = "j784s4-c71_1-fw"
>> +TARGET_C7X_2_j784s4-evm = "j784s4-c71_2-fw"
>> +TARGET_C7X_3_j784s4-evm = "j784s4-c71_3-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}"
>> @@ -496,6 +545,19 @@ ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_1-fw-sec] 
>> = "${base_libdir}/firmware/${TA
>>   ALTERNATIVE_LINK_NAME[j721s2-c71_0-fw-sec] = 
>> "${base_libdir}/firmware/${TARGET_C7X_0_SIGNED}"
>>   ALTERNATIVE_LINK_NAME[j721s2-c71_1-fw-sec] = 
>> "${base_libdir}/firmware/${TARGET_C7X_1_SIGNED}"
>> +ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = 
>> "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
>> +ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_1-fw] = 
>> "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
>> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_0-fw] = 
>> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
>> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_1-fw] = 
>> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
>> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_0-fw] = 
>> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}"
>> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_1-fw] = 
>> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}"
>> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_0-fw] = 
>> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_0}"
>> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_1-fw] = 
>> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_1}"
>> +ALTERNATIVE_LINK_NAME[j784s4-c71_0-fw] = 
>> "${base_libdir}/firmware/${TARGET_C7X_0}"
>> +ALTERNATIVE_LINK_NAME[j784s4-c71_1-fw] = 
>> "${base_libdir}/firmware/${TARGET_C7X_1}"
>> +ALTERNATIVE_LINK_NAME[j784s4-c71_2-fw] = 
>> "${base_libdir}/firmware/${TARGET_C7X_2}"
>> +ALTERNATIVE_LINK_NAME[j784s4-c71_3-fw] = 
>> "${base_libdir}/firmware/${TARGET_C7X_3}"
>> +
>>   # Create the firmware alternatives
>>   ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release_strip.xer5f" 
>>
>> @@ -552,6 +614,19 @@ ALTERNATIVE_TARGET[j721s2-main-r5f1_1-fw-sec] = 
>> "${base_libdir}/firmware/pdk-ipc
>>   ALTERNATIVE_TARGET[j721s2-c71_0-fw-sec] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71.signed" 
>>
>>   ALTERNATIVE_TARGET[j721s2-c71_1-fw-sec] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71.signed" 
>>
>> +ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-mcu-r5f0_1-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-main-r5f0_1-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-main-r5f1_0-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-main-r5f1_1-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-main-r5f2_0-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_0_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-main-r5f2_1-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_1_release_strip.xer5f" 
>>
>> +ALTERNATIVE_TARGET[j784s4-c71_0-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71"
>> +ALTERNATIVE_TARGET[j784s4-c71_1-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71"
>> +ALTERNATIVE_TARGET[j784s4-c71_2-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_3_release_strip.xe71"
>> +ALTERNATIVE_TARGET[j784s4-c71_3-fw] = 
>> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_4_release_strip.xe71"
>> +
>>   ALTERNATIVE_PRIORITY = "10"
>>   # make sure that lib/firmware, and all its contents are part of the 
>> package
>>
>>
Jonathan Humphreys Oct. 7, 2022, 8:46 p.m. UTC | #3
On Mon, Sep 26, 2022 at 01:50 PM, Ryan Eatmon wrote:

>
> 
> 
> On 9/26/2022 15:17, Andrew Davis wrote:
> > On 9/26/22 12:40 PM, Ryan Eatmon via lists.yoctoproject.org wrote:
> >> Adding support for j784s4-evm:
> >> - Add configurations.
> >> - Add firmware.
> >> - Add u-boot.
> >> - Add gpu support.
> >>
> >> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
> >> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
> >> Signed-off-by: Randolph Sapp <rs@ti.com>
> >> ---
> >>   conf/machine/j784s4-evm-k3r5.conf             | 11 +++
> >>   conf/machine/j784s4-evm.conf                  | 27
> +++++++
> >>   recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb    |  2 +-
> >>   .../ti-img-rogue-driver_1.15.6133109.bb       |  6 +-
> >>   recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb        |  1 +
> >>   .../ti-img-rogue-umlibs_1.15.6133109.bb       |  5 +-
> >>   recipes-kernel/linux/kernel-rdepends.inc      |  2 +
> >>   recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb    | 75
> +++++++++++++++++++
> >>   8 files changed, 124 insertions(+), 5 deletions(-)
> >>   create mode 100644 conf/machine/j784s4-evm-k3r5.conf
> >>   create mode 100644 conf/machine/j784s4-evm.conf
> >>
> >> diff --git a/conf/machine/j784s4-evm-k3r5.conf 
> >> b/conf/machine/j784s4-evm-k3r5.conf
> >> new file mode 100644
> >> index 00000000..04feebc6
> >> --- /dev/null
> >> +++ b/conf/machine/j784s4-evm-k3r5.conf
> >> @@ -0,0 +1,11 @@
> >> +#@TYPE: Machine
> >> +#@NAME: J784S4 EVM (R5F)
> >> +#@DESCRIPTION: Machine configuration for the TI J784S4 EVM (R5F core)
> >> +
> >> +require conf/machine/include/k3r5.inc
> >> +
> >> +SYSFW_SOC = "j784s4"
> >> +SYSFW_CONFIG = "evm"
> >> +SYSFW_SUFFIX = "gp"
> >> +
> >> +UBOOT_MACHINE = "j784s4_evm_r5_defconfig"
> >> diff --git a/conf/machine/j784s4-evm.conf b/conf/machine/j784s4-evm.conf
> >> new file mode 100644
> >> index 00000000..957e5766
> >> --- /dev/null
> >> +++ b/conf/machine/j784s4-evm.conf
> >> @@ -0,0 +1,27 @@
> >> +#@TYPE: Machine
> >> +#@NAME: J784S4 EVM
> >> +#@DESCRIPTION: Machine configuration for the TI J784S4 EVM
> >> +
> >> +require conf/machine/include/j7.inc
> >> +
> >> +MACHINE_FEATURES += "gpu"
> >> +
> >> +SERIAL_CONSOLES = "115200;ttyS10"

Please change to ttyS2.

This is a bug fix similar to what I posted for J721S2 at https://lists.yoctoproject.org/g/meta-ti/message/15116.

> >> +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
> >> +TFA_K3_USART = "0x8"
> >> +OPTEE_K3_USART = "0x8"
> >> +
> >> +KERNEL_DEVICETREE = " \
> >> +    ti/k3-j784s4-evm.dtb \
> >> +"
> >> +
> >> +UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
> >> +
> >> +# J721S2 supports multi-certificate images, use the same
> >> +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}"
> >> +
> >> +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> >> +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> >> +
> >> +TFA_BOARD = "j784s4"
> >> +
> >> diff --git a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb 
> >> b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> >> index 83619090..cca5704e 100644
> >> --- a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> >> +++ b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> >> @@ -13,7 +13,7 @@ PR = "${INC_PR}.1"
> >>   CLEANBROKEN = "1"
> >> -COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm"
> >> +COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm|j784s4-evm"
> >>   PACKAGE_ARCH = "${MACHINE_ARCH}"
> >> diff --git 
> >> a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb 
> >> b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> >> index 3dbc87b6..1127c5d1 100644
> >> --- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> >> +++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
> >> @@ -11,7 +11,7 @@ MACHINE_KERNEL_PR_append = "b"
> >>   PR = "${MACHINE_KERNEL_PR}"
> >>   PACKAGE_ARCH = "${MACHINE_ARCH}"
> >> -COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|am62xx"
> >> +COMPATIBLE_MACHINE = 
> >> "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|j784s4-evm|am62xx"
> > 
> > 
> > j784s4-evm.conf should include a j784s4.inc family file, then here
> > you'll only need |j784s4|. Makes it easier when adding machines
> > based on the j784s4 SoC.
> > 
> > 
> >>   DEPENDS = "virtual/kernel"
> >> @@ -26,17 +26,19 @@ SRC_URI = " \
> >>   S = "${WORKDIR}/git"
> > 
> > ...
> > 
> >> --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> >> +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> >> @@ -19,6 +19,7 @@ PLAT_SFX_j7200-evm = "j7200"
> >>   PLAT_SFX_j7200-hs-evm = "j7200"
> >>   PLAT_SFX_j721s2-evm = "j721s2"
> >>   PLAT_SFX_j721s2-hs-evm = "j721s2"
> >> +PLAT_SFX_j784s4-evm = "j784s4"
> >>   PLAT_SFX_am65xx = "am65xx"
> >>   PLAT_SFX_am64xx = "am64xx"
> >>   PLAT_SFX_am62xx = "am62xx"
> >> @@ -247,6 +248,26 @@ do_install_j721s2-hs-evm() {
> >>       # install -m 0644 
> >> ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f 
> >> ${LEGACY_ETH_FW_DIR}
> >>   }
> >> +do_install_j784s4-evm() {
> >> +    install -d ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_0_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_1_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_0_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_1_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_1_release_strip.xe71 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_2_release_strip.xe71 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_3_release_strip.xe71 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_4_release_strip.xe71 
> >> ${LEGACY_IPC_FW_DIR}
> >> +    # DM Firmware
> >> +    install -m 0644 
> >> ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f 
> >> ${LEGACY_DM_FW_DIR}
> >> +    # ETH firmware
> >> +    install -d ${LEGACY_ETH_FW_DIR}
> >> +    install -m 0644 
> >> ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f 
> >> ${LEGACY_ETH_FW_DIR}
> >> +}
> >> +
> > 
> > 
> > I wonder if there is a way to better add these than just long lists,
> > this file's size is getting out of hand :/
> > 
> > Andrew
> 
> Compeltely agree.  I like all of the clean up done so far.  We just need 
> to figure out a better solution for the firmware as well.
> 
> 
> > 
> >>   do_install_am65xx() {
> >>       install -d ${LEGACY_IPC_FW_DIR}
> >>       install -m 0644 
> >> ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_0_release_strip.xer5f 
> >> ${LEGACY_IPC_FW_DIR}
> >> @@ -372,6 +393,21 @@ ALTERNATIVE_${PN}_j721s2-hs-evm = "\
> >>                       j721s2-c71_1-fw-sec \
> >>                       "
> >> +ALTERNATIVE_${PN}_j784s4-evm = "\
> >> +                    j784s4-mcu-r5f0_0-fw \
> >> +                    j784s4-mcu-r5f0_1-fw \
> >> +                    j784s4-main-r5f0_0-fw \
> >> +                    j784s4-main-r5f0_1-fw \
> >> +                    j784s4-main-r5f1_0-fw \
> >> +                    j784s4-main-r5f1_1-fw \
> >> +                    j784s4-main-r5f2_0-fw \
> >> +                    j784s4-main-r5f2_1-fw \
> >> +                    j784s4-c71_0-fw \
> >> +                    j784s4-c71_1-fw \
> >> +                    j784s4-c71_2-fw \
> >> +                    j784s4-c71_3-fw \
> >> +                    "
> >> +
> >>   # Set up link names for the firmwares
> >>   TARGET_MCU_R5FSS0_0_am65xx = "am65x-mcu-r5f0_0-fw"
> >> @@ -442,6 +478,19 @@ TARGET_MAIN_R5FSS1_1_SIGNED_j721s2-hs-evm = 
> >> "j721s2-main-r5f1_1-fw-sec"
> >>   TARGET_C7X_0_SIGNED_j721s2-hs-evm = "j721s2-c71_0-fw-sec"
> >>   TARGET_C7X_1_SIGNED_j721s2-hs-evm = "j721s2-c71_1-fw-sec"
> >> +TARGET_MCU_R5FSS0_0_j784s4-evm = "j784s4-mcu-r5f0_0-fw"
> >> +TARGET_MCU_R5FSS0_1_j784s4-evm = "j784s4-mcu-r5f0_1-fw"
> >> +TARGET_MAIN_R5FSS0_0_j784s4-evm = "j784s4-main-r5f0_0-fw"
> >> +TARGET_MAIN_R5FSS0_1_j784s4-evm = "j784s4-main-r5f0_1-fw"
> >> +TARGET_MAIN_R5FSS1_0_j784s4-evm = "j784s4-main-r5f1_0-fw"
> >> +TARGET_MAIN_R5FSS1_1_j784s4-evm = "j784s4-main-r5f1_1-fw"
> >> +TARGET_MAIN_R5FSS2_0_j784s4-evm = "j784s4-main-r5f2_0-fw"
> >> +TARGET_MAIN_R5FSS2_1_j784s4-evm = "j784s4-main-r5f2_1-fw"
> >> +TARGET_C7X_0_j784s4-evm = "j784s4-c71_0-fw"
> >> +TARGET_C7X_1_j784s4-evm = "j784s4-c71_1-fw"
> >> +TARGET_C7X_2_j784s4-evm = "j784s4-c71_2-fw"
> >> +TARGET_C7X_3_j784s4-evm = "j784s4-c71_3-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}"
> >> @@ -496,6 +545,19 @@ ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_1-fw-sec] 
> >> = "${base_libdir}/firmware/${TA
> >>   ALTERNATIVE_LINK_NAME[j721s2-c71_0-fw-sec] = 
> >> "${base_libdir}/firmware/${TARGET_C7X_0_SIGNED}"
> >>   ALTERNATIVE_LINK_NAME[j721s2-c71_1-fw-sec] = 
> >> "${base_libdir}/firmware/${TARGET_C7X_1_SIGNED}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_1-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_0-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_1-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_0-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_1-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_0-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_0}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_1-fw] = 
> >> "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_1}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-c71_0-fw] = 
> >> "${base_libdir}/firmware/${TARGET_C7X_0}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-c71_1-fw] = 
> >> "${base_libdir}/firmware/${TARGET_C7X_1}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-c71_2-fw] = 
> >> "${base_libdir}/firmware/${TARGET_C7X_2}"
> >> +ALTERNATIVE_LINK_NAME[j784s4-c71_3-fw] = 
> >> "${base_libdir}/firmware/${TARGET_C7X_3}"
> >> +
> >>   # Create the firmware alternatives
> >>   ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release_strip.xer5f" 
> >>
> >> @@ -552,6 +614,19 @@ ALTERNATIVE_TARGET[j721s2-main-r5f1_1-fw-sec] = 
> >> "${base_libdir}/firmware/pdk-ipc
> >>   ALTERNATIVE_TARGET[j721s2-c71_0-fw-sec] = 
> >>
> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71.signed"
> 
> >>
> >>   ALTERNATIVE_TARGET[j721s2-c71_1-fw-sec] = 
> >>
> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71.signed"
> 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f"
> 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-mcu-r5f0_1-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-main-r5f0_1-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-main-r5f1_0-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-main-r5f1_1-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-main-r5f2_0-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_0_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-main-r5f2_1-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_1_release_strip.xer5f" 
> >>
> >> +ALTERNATIVE_TARGET[j784s4-c71_0-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71"
> >> +ALTERNATIVE_TARGET[j784s4-c71_1-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71"
> >> +ALTERNATIVE_TARGET[j784s4-c71_2-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_3_release_strip.xe71"
> >> +ALTERNATIVE_TARGET[j784s4-c71_3-fw] = 
> >> "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_4_release_strip.xe71"
> >> +
> >>   ALTERNATIVE_PRIORITY = "10"
> >>   # make sure that lib/firmware, and all its contents are part of the 
> >> package
> >>
> >>
> 
> -- 
> Ryan Eatmon                reatmon@ti.com
> -----------------------------------------
> Texas Instruments, Inc.  -  LCPD  -  MGTS
>
diff mbox series

Patch

diff --git a/conf/machine/j784s4-evm-k3r5.conf b/conf/machine/j784s4-evm-k3r5.conf
new file mode 100644
index 00000000..04feebc6
--- /dev/null
+++ b/conf/machine/j784s4-evm-k3r5.conf
@@ -0,0 +1,11 @@ 
+#@TYPE: Machine
+#@NAME: J784S4 EVM (R5F)
+#@DESCRIPTION: Machine configuration for the TI J784S4 EVM (R5F core)
+
+require conf/machine/include/k3r5.inc
+
+SYSFW_SOC = "j784s4"
+SYSFW_CONFIG = "evm"
+SYSFW_SUFFIX = "gp"
+
+UBOOT_MACHINE = "j784s4_evm_r5_defconfig"
diff --git a/conf/machine/j784s4-evm.conf b/conf/machine/j784s4-evm.conf
new file mode 100644
index 00000000..957e5766
--- /dev/null
+++ b/conf/machine/j784s4-evm.conf
@@ -0,0 +1,27 @@ 
+#@TYPE: Machine
+#@NAME: J784S4 EVM
+#@DESCRIPTION: Machine configuration for the TI J784S4 EVM
+
+require conf/machine/include/j7.inc
+
+MACHINE_FEATURES += "gpu"
+
+SERIAL_CONSOLES = "115200;ttyS10"
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+TFA_K3_USART = "0x8"
+OPTEE_K3_USART = "0x8"
+
+KERNEL_DEVICETREE = " \
+    ti/k3-j784s4-evm.dtb \
+"
+
+UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
+
+# J721S2 supports multi-certificate images, use the same
+IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}"
+
+do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
+do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
+
+TFA_BOARD = "j784s4"
+
diff --git a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
index 83619090..cca5704e 100644
--- a/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
+++ b/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
@@ -13,7 +13,7 @@  PR = "${INC_PR}.1"
 
 CLEANBROKEN = "1"
 
-COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm"
+COMPATIBLE_MACHINE = "j721s2-evm|j721s2-hs-evm|j784s4-evm"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
diff --git a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
index 3dbc87b6..1127c5d1 100644
--- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
+++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb
@@ -11,7 +11,7 @@  MACHINE_KERNEL_PR_append = "b"
 PR = "${MACHINE_KERNEL_PR}"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|am62xx"
+COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|j784s4-evm|am62xx"
 
 DEPENDS = "virtual/kernel"
 
@@ -26,17 +26,19 @@  SRC_URI = " \
 
 S = "${WORKDIR}/git"
 
-SRCREV = "6d3d62a15ceb85b719c35f34c6c9e35f556b406b"
+SRCREV = "ea2ac3fda4ac442b639bc3a0b73e9c4feac2081a"
 
 TARGET_PRODUCT_j7-evm = "j721e_linux"
 TARGET_PRODUCT_j7-hs-evm = "j721e_linux"
 TARGET_PRODUCT_j721s2-evm = "j721s2_linux"
 TARGET_PRODUCT_j721s2-hs-evm = "j721s2_linux"
+TARGET_PRODUCT_j784s4-evm = "j784s4_linux"
 TARGET_PRODUCT_am62xx = "am62_linux"
 TARGET_BVNC_j7-evm = "22.104.208.318"
 TARGET_BVNC_j7-hs-evm = "22.104.208.318"
 TARGET_BVNC_j721s2-evm = "36.53.104.796"
 TARGET_BVNC_j721s2-hs-evm = "36.53.104.796"
+TARGET_BVNC_j784s4-evm = "36.53.104.796"
 TARGET_BVNC_am62xx = "33.15.11.3"
 PVR_BUILD = "release"
 PVR_WS = "wayland"
diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
index 2a59e896..866cd7b2 100644
--- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
+++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
@@ -35,6 +35,7 @@  SYSFW_PREFIX_j7200-evm-k3r5 = "fs"
 SYSFW_PREFIX_j7200-hs-evm-k3r5 = "fs"
 SYSFW_PREFIX_j721s2-evm-k3r5 = "fs"
 SYSFW_PREFIX_j721s2-hs-evm-k3r5 = "fs"
+SYSFW_PREFIX_j784s4-evm-k3r5 = "fs"
 SYSFW_PREFIX_am62xx-evm-k3r5 = "fs"
 SYSFW_PREFIX_am62xx-lp-evm-k3r5 = "fs"
 
diff --git a/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb b/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
index 323978bf..b6bb4324 100644
--- a/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
+++ b/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
@@ -8,19 +8,20 @@  inherit features_check
 REQUIRED_MACHINE_FEATURES = "gpu"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|am62xx"
+COMPATIBLE_MACHINE = "j7-evm|j7-hs-evm|j721s2-evm|j721s2-hs-evm|j784s4-evm|am62xx"
 
 PR = "r2"
 
 BRANCH = "linuxws/dunfell/k5.10/${PV}_unified_fw_pagesize"
 
 SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
-SRCREV = "fba0c770b712640ab3761dbe8369d43f89f616ed"
+SRCREV = "4207c0ea429ec751b1ff5f831a84ceeb76ad578d"
 
 TARGET_PRODUCT_j7-evm = "j721e_linux"
 TARGET_PRODUCT_j7-hs-evm = "j721e_linux"
 TARGET_PRODUCT_j721s2-evm = "j721s2_linux"
 TARGET_PRODUCT_j721s2-hs-evm = "j721s2_linux"
+TARGET_PRODUCT_j784s4-evm = "j784s4_linux"
 TARGET_PRODUCT_am62xx = "am62_linux"
 PVR_BUILD ?= "release"
 PVR_WS = "wayland"
diff --git a/recipes-kernel/linux/kernel-rdepends.inc b/recipes-kernel/linux/kernel-rdepends.inc
index ae855a88..8225a5af 100644
--- a/recipes-kernel/linux/kernel-rdepends.inc
+++ b/recipes-kernel/linux/kernel-rdepends.inc
@@ -42,6 +42,7 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j7-evm = " cadence-mhdp-fw"
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j7-hs-evm = " cadence-mhdp-fw"
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j721s2-evm = " cadence-mhdp-fw"
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j721s2-hs-evm = " cadence-mhdp-fw"
+RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j784s4-evm = " cadence-mhdp-fw"
 
 # Add run-time dependency for Video Decoding firmware to the rootfs
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j7 = " vxd-dec-fw"
@@ -49,6 +50,7 @@  RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j7 = " vxd-dec-fw"
 # Add run-time dependency for Chips&Media Wave521 firmware to the rootfs
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j721s2-evm = " cnm-wave-fw"
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j721s2-hs-evm = " cnm-wave-fw"
+RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_j784s4-evm = " cnm-wave-fw"
 
 # Add run-time dependency for TIFS Low Power Module stub
 RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_am62xx-evm = " tifs-lpm-stub"
diff --git a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
index afff8d15..68c93ae7 100644
--- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
+++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
@@ -19,6 +19,7 @@  PLAT_SFX_j7200-evm = "j7200"
 PLAT_SFX_j7200-hs-evm = "j7200"
 PLAT_SFX_j721s2-evm = "j721s2"
 PLAT_SFX_j721s2-hs-evm = "j721s2"
+PLAT_SFX_j784s4-evm = "j784s4"
 PLAT_SFX_am65xx = "am65xx"
 PLAT_SFX_am64xx = "am64xx"
 PLAT_SFX_am62xx = "am62xx"
@@ -247,6 +248,26 @@  do_install_j721s2-hs-evm() {
     # install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR}
 }
 
+do_install_j784s4-evm() {
+    install -d ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu4_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_1_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_2_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_3_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
+    install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_4_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
+    # DM Firmware
+    install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR}
+    # ETH firmware
+    install -d ${LEGACY_ETH_FW_DIR}
+    install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR}
+}
+
 do_install_am65xx() {
     install -d ${LEGACY_IPC_FW_DIR}
     install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
@@ -372,6 +393,21 @@  ALTERNATIVE_${PN}_j721s2-hs-evm = "\
                     j721s2-c71_1-fw-sec \
                     "
 
+ALTERNATIVE_${PN}_j784s4-evm = "\
+                    j784s4-mcu-r5f0_0-fw \
+                    j784s4-mcu-r5f0_1-fw \
+                    j784s4-main-r5f0_0-fw \
+                    j784s4-main-r5f0_1-fw \
+                    j784s4-main-r5f1_0-fw \
+                    j784s4-main-r5f1_1-fw \
+                    j784s4-main-r5f2_0-fw \
+                    j784s4-main-r5f2_1-fw \
+                    j784s4-c71_0-fw \
+                    j784s4-c71_1-fw \
+                    j784s4-c71_2-fw \
+                    j784s4-c71_3-fw \
+                    "
+
 # Set up link names for the firmwares
 
 TARGET_MCU_R5FSS0_0_am65xx = "am65x-mcu-r5f0_0-fw"
@@ -442,6 +478,19 @@  TARGET_MAIN_R5FSS1_1_SIGNED_j721s2-hs-evm = "j721s2-main-r5f1_1-fw-sec"
 TARGET_C7X_0_SIGNED_j721s2-hs-evm = "j721s2-c71_0-fw-sec"
 TARGET_C7X_1_SIGNED_j721s2-hs-evm = "j721s2-c71_1-fw-sec"
 
+TARGET_MCU_R5FSS0_0_j784s4-evm = "j784s4-mcu-r5f0_0-fw"
+TARGET_MCU_R5FSS0_1_j784s4-evm = "j784s4-mcu-r5f0_1-fw"
+TARGET_MAIN_R5FSS0_0_j784s4-evm = "j784s4-main-r5f0_0-fw"
+TARGET_MAIN_R5FSS0_1_j784s4-evm = "j784s4-main-r5f0_1-fw"
+TARGET_MAIN_R5FSS1_0_j784s4-evm = "j784s4-main-r5f1_0-fw"
+TARGET_MAIN_R5FSS1_1_j784s4-evm = "j784s4-main-r5f1_1-fw"
+TARGET_MAIN_R5FSS2_0_j784s4-evm = "j784s4-main-r5f2_0-fw"
+TARGET_MAIN_R5FSS2_1_j784s4-evm = "j784s4-main-r5f2_1-fw"
+TARGET_C7X_0_j784s4-evm = "j784s4-c71_0-fw"
+TARGET_C7X_1_j784s4-evm = "j784s4-c71_1-fw"
+TARGET_C7X_2_j784s4-evm = "j784s4-c71_2-fw"
+TARGET_C7X_3_j784s4-evm = "j784s4-c71_3-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}"
 
@@ -496,6 +545,19 @@  ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_1-fw-sec] = "${base_libdir}/firmware/${TA
 ALTERNATIVE_LINK_NAME[j721s2-c71_0-fw-sec] = "${base_libdir}/firmware/${TARGET_C7X_0_SIGNED}"
 ALTERNATIVE_LINK_NAME[j721s2-c71_1-fw-sec] = "${base_libdir}/firmware/${TARGET_C7X_1_SIGNED}"
 
+ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
+ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_0}"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS2_1}"
+ALTERNATIVE_LINK_NAME[j784s4-c71_0-fw] = "${base_libdir}/firmware/${TARGET_C7X_0}"
+ALTERNATIVE_LINK_NAME[j784s4-c71_1-fw] = "${base_libdir}/firmware/${TARGET_C7X_1}"
+ALTERNATIVE_LINK_NAME[j784s4-c71_2-fw] = "${base_libdir}/firmware/${TARGET_C7X_2}"
+ALTERNATIVE_LINK_NAME[j784s4-c71_3-fw] = "${base_libdir}/firmware/${TARGET_C7X_3}"
+
 # Create the firmware alternatives
 
 ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release_strip.xer5f"
@@ -552,6 +614,19 @@  ALTERNATIVE_TARGET[j721s2-main-r5f1_1-fw-sec] = "${base_libdir}/firmware/pdk-ipc
 ALTERNATIVE_TARGET[j721s2-c71_0-fw-sec] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71.signed"
 ALTERNATIVE_TARGET[j721s2-c71_1-fw-sec] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71.signed"
 
+ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-main-r5f2_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_0_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-main-r5f2_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu4_1_release_strip.xer5f"
+ALTERNATIVE_TARGET[j784s4-c71_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71"
+ALTERNATIVE_TARGET[j784s4-c71_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_2_release_strip.xe71"
+ALTERNATIVE_TARGET[j784s4-c71_2-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_3_release_strip.xe71"
+ALTERNATIVE_TARGET[j784s4-c71_3-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_4_release_strip.xe71"
+
 ALTERNATIVE_PRIORITY = "10"
 
 # make sure that lib/firmware, and all its contents are part of the package