diff mbox series

[scarthgap] meta-ti-bsp: ti-rtos-fw: Update IPC firmwares for am62dxx

Message ID 20250609092640.1751993-1-p-bhagat@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series [scarthgap] meta-ti-bsp: ti-rtos-fw: Update IPC firmwares for am62dxx | expand

Commit Message

Paresh Bhagat June 9, 2025, 9:26 a.m. UTC
Previously, AM62d build reused AM62a's IPC firmwares. Now that
dedicated AM62d IPC firmwares are being pushed to ti-linux-firmware
repo, package the new IPC firmwares.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
---
Boot logs
https://gist.github.com/paresh-bhagat12/6fef215c80fa03c8ea55952f46328b83

 .../ti-rtos-fw/ti-rtos-echo-test-fw.bb        | 25 +++++++++++--------
 1 file changed, 15 insertions(+), 10 deletions(-)

Comments

Ryan Eatmon June 9, 2025, 2:37 p.m. UTC | #1
On 6/9/2025 4:26 AM, Paresh Bhagat wrote:
> Previously, AM62d build reused AM62a's IPC firmwares. Now that
> dedicated AM62d IPC firmwares are being pushed to ti-linux-firmware
> repo, package the new IPC firmwares.

So... question for Andrew (and anyone else)...

This recipe is for the ipc-rtos-echo-test-fw, so that implies that this 
recipes installs only that.  Should this commit add in a different 
firmware, or should commit make it so that this recipe adds nothing for 
am62d and then a new recipe for the new file?

Thoughts?

I know we previously accepted a commit that did this same kind of thing, 
but now I'm rethinking that.


> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
> ---
> Boot logs
> https://gist.github.com/paresh-bhagat12/6fef215c80fa03c8ea55952f46328b83
> 
>   .../ti-rtos-fw/ti-rtos-echo-test-fw.bb        | 25 +++++++++++--------
>   1 file changed, 15 insertions(+), 10 deletions(-)
> 
> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
> index 1fe67be8..d43e8a8c 100644
> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
> @@ -20,7 +20,7 @@ PLAT_SFX:am65xx = "am65xx"
>   PLAT_SFX:am64xx = "am64xx"
>   PLAT_SFX:am62xx = "am62xx"
>   PLAT_SFX:am62axx = "am62axx"
> -PLAT_SFX:am62dxx = "am62axx"
> +PLAT_SFX:am62dxx = "am62dxx"
>   PLAT_SFX:am62pxx = "am62pxx"
>   
>   FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
> @@ -39,6 +39,7 @@ INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
>   MCU_1_0_FW =       "ipc_echo_test_mcu1_0_release_strip.xer5f"
>   MCU_1_1_FW =       "ipc_echo_test_mcu1_1_release_strip.xer5f"
>   MCU_2_0_FW =       "ipc_echo_test_mcu2_0_release_strip.xer5f"
> +MCU_2_0_FW:am62dxx = "ipc_rpmsg_echo_linux.mcu-r5f0_0.release.strip.out"

Any reason not to add more spaces to all of the other lines so that 
everything continues to line up?


>   MCU_2_1_FW =       "ipc_echo_test_mcu2_1_release_strip.xer5f"
>   MCU_3_0_FW =       "ipc_echo_test_mcu3_0_release_strip.xer5f"
>   MCU_3_1_FW =       "ipc_echo_test_mcu3_1_release_strip.xer5f"
> @@ -48,6 +49,7 @@ C66_1_FW =         "ipc_echo_test_c66xdsp_1_release_strip.xe66"
>   C66_2_FW =         "ipc_echo_test_c66xdsp_2_release_strip.xe66"
>   C7X_1_FW =         "ipc_echo_test_c7x_1_release_strip.xe71"
>   C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
> +C7X_1_FW:am62dxx = "ipc_rpmsg_echo_linux.c75ss0-0.release.strip.out"
>   C7X_2_FW =         "ipc_echo_test_c7x_2_release_strip.xe71"
>   C7X_3_FW =         "ipc_echo_test_c7x_3_release_strip.xe71"
>   C7X_4_FW =         "ipc_echo_test_c7x_4_release_strip.xe71"
> @@ -98,13 +100,6 @@ do_install:prepend:am62axx() {
>           )
>   }
>   
> -# Update the am62dxx ipc binaries to be consistent with other platforms
> -do_install:prepend:am62dxx() {
> -        ( cd ${S}/${IPC_FW_DIR}; \
> -                ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
> -        )
> -}
> -
>   do_install() {
>       # IPC Firmware
>       for FW_NAME in ${IPC_FW_LIST}
> @@ -149,8 +144,8 @@ ALTERNATIVE:${PN}:am62axx = "\
>                       "
>   
>   ALTERNATIVE:${PN}:am62dxx = "\
> -                    am62a-mcu-r5f0_0-fw   am62a-mcu-r5f0_0-fw-sec \
> -                    am62a-c71_0-fw        am62a-c71_0-fw-sec \
> +                    am62d-mcu-r5f0_0-fw   am62d-mcu-r5f0_0-fw-sec \
> +                    am62d-c75_x-fw        am62d-c75_x-fw-sec \
>                       "
>   
>   ALTERNATIVE:${PN}:j721e = "\
> @@ -243,6 +238,11 @@ ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmwar
>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw]     = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
>   
> +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw]     = "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw"
> +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw-sec"
> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw]     = "${nonarch_base_libdir}/firmware/am62d-c75_x-fw"
> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw-sec] = "${nonarch_base_libdir}/firmware/am62d-c75_x-fw-sec"
> +
>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw]     = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw"
>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw-sec"
>   ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw]     = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
> @@ -364,6 +364,11 @@ ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_F
>   ALTERNATIVE_TARGET[am62a-c71_0-fw]     = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>   ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>   
> +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
> +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
> +ALTERNATIVE_TARGET[am62d-c75_x-fw]     = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
> +ALTERNATIVE_TARGET[am62d-c75_x-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
> +
>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
>   ALTERNATIVE_TARGET[j7-main-r5f0_0-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
Paresh Bhagat June 10, 2025, 4:53 a.m. UTC | #2
Hi Ryan,


On 09/06/25 20:07, Ryan Eatmon wrote:
>
>
> On 6/9/2025 4:26 AM, Paresh Bhagat wrote:
>> Previously, AM62d build reused AM62a's IPC firmwares. Now that
>> dedicated AM62d IPC firmwares are being pushed to ti-linux-firmware
>> repo, package the new IPC firmwares.
>
> So... question for Andrew (and anyone else)...
>
> This recipe is for the ipc-rtos-echo-test-fw, so that implies that 
> this recipes installs only that.  Should this commit add in a 
> different firmware, or should commit make it so that this recipe adds 
> nothing for am62d and then a new recipe for the new file?
>
> Thoughts?
>
> I know we previously accepted a commit that did this same kind of 
> thing, but now I'm rethinking that.


Just trying to clarify, since the new firmware is also for ipc or echo 
test, shouldn't we add it here?
>
>
>
>> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
>> ---
>> Boot logs
>> https://gist.github.com/paresh-bhagat12/6fef215c80fa03c8ea55952f46328b83
>>
>>   .../ti-rtos-fw/ti-rtos-echo-test-fw.bb        | 25 +++++++++++--------
>>   1 file changed, 15 insertions(+), 10 deletions(-)
>>
>> diff --git 
>> a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb 
>> b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>> index 1fe67be8..d43e8a8c 100644
>> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>> @@ -20,7 +20,7 @@ PLAT_SFX:am65xx = "am65xx"
>>   PLAT_SFX:am64xx = "am64xx"
>>   PLAT_SFX:am62xx = "am62xx"
>>   PLAT_SFX:am62axx = "am62axx"
>> -PLAT_SFX:am62dxx = "am62axx"
>> +PLAT_SFX:am62dxx = "am62dxx"
>>   PLAT_SFX:am62pxx = "am62pxx"
>>     FILESEXTRAPATHS:prepend := 
>> "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
>> @@ -39,6 +39,7 @@ INSTALL_IPC_FW_DIR = 
>> "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
>>   MCU_1_0_FW =       "ipc_echo_test_mcu1_0_release_strip.xer5f"
>>   MCU_1_1_FW =       "ipc_echo_test_mcu1_1_release_strip.xer5f"
>>   MCU_2_0_FW =       "ipc_echo_test_mcu2_0_release_strip.xer5f"
>> +MCU_2_0_FW:am62dxx = 
>> "ipc_rpmsg_echo_linux.mcu-r5f0_0.release.strip.out"
>
> Any reason not to add more spaces to all of the other lines so that 
> everything continues to line up?


Will update this, I was confused earlier whether to line them up but 
will do.
>
>
>>   MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f"
>>   MCU_3_0_FW =       "ipc_echo_test_mcu3_0_release_strip.xer5f"
>>   MCU_3_1_FW =       "ipc_echo_test_mcu3_1_release_strip.xer5f"
>> @@ -48,6 +49,7 @@ C66_1_FW = 
>> "ipc_echo_test_c66xdsp_1_release_strip.xe66"
>>   C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66"
>>   C7X_1_FW =         "ipc_echo_test_c7x_1_release_strip.xe71"
>>   C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
>> +C7X_1_FW:am62dxx = "ipc_rpmsg_echo_linux.c75ss0-0.release.strip.out"
>>   C7X_2_FW =         "ipc_echo_test_c7x_2_release_strip.xe71"
>>   C7X_3_FW =         "ipc_echo_test_c7x_3_release_strip.xe71"
>>   C7X_4_FW =         "ipc_echo_test_c7x_4_release_strip.xe71"
>> @@ -98,13 +100,6 @@ do_install:prepend:am62axx() {
>>           )
>>   }
>>   -# Update the am62dxx ipc binaries to be consistent with other 
>> platforms
>> -do_install:prepend:am62dxx() {
>> -        ( cd ${S}/${IPC_FW_DIR}; \
>> -                ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
>> -        )
>> -}
>> -
>>   do_install() {
>>       # IPC Firmware
>>       for FW_NAME in ${IPC_FW_LIST}
>> @@ -149,8 +144,8 @@ ALTERNATIVE:${PN}:am62axx = "\
>>                       "
>>     ALTERNATIVE:${PN}:am62dxx = "\
>> -                    am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \
>> -                    am62a-c71_0-fw        am62a-c71_0-fw-sec \
>> +                    am62d-mcu-r5f0_0-fw am62d-mcu-r5f0_0-fw-sec \
>> +                    am62d-c75_x-fw        am62d-c75_x-fw-sec \
>>                       "
>>     ALTERNATIVE:${PN}:j721e = "\
>> @@ -243,6 +238,11 @@ ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] = 
>> "${nonarch_base_libdir}/firmwar
>>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw]     = 
>> "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
>>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = 
>> "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
>>   +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw]     = 
>> "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw"
>> +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw-sec] = 
>> "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw-sec"
>> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw]     = 
>> "${nonarch_base_libdir}/firmware/am62d-c75_x-fw"
>> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw-sec] = 
>> "${nonarch_base_libdir}/firmware/am62d-c75_x-fw-sec"
>> +
>>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw]     = 
>> "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw"
>>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw-sec] = 
>> "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw-sec"
>>   ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw]     = 
>> "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
>> @@ -364,6 +364,11 @@ ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = 
>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_F
>>   ALTERNATIVE_TARGET[am62a-c71_0-fw]     = 
>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>>   ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = 
>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>>   +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw]     = 
>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
>> +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw-sec] = 
>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
>> +ALTERNATIVE_TARGET[am62d-c75_x-fw]     = 
>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>> +ALTERNATIVE_TARGET[am62d-c75_x-fw-sec] = 
>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>> +
>>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw]     = 
>> "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
>>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw-sec] = 
>> "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
>>   ALTERNATIVE_TARGET[j7-main-r5f0_0-fw]     = 
>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
>
Andrew Davis June 10, 2025, 3:08 p.m. UTC | #3
On 6/9/25 11:53 PM, Paresh Bhagat wrote:
> Hi Ryan,
> 
> 
> On 09/06/25 20:07, Ryan Eatmon wrote:
>>
>>
>> On 6/9/2025 4:26 AM, Paresh Bhagat wrote:
>>> Previously, AM62d build reused AM62a's IPC firmwares. Now that
>>> dedicated AM62d IPC firmwares are being pushed to ti-linux-firmware
>>> repo, package the new IPC firmwares.
>>
>> So... question for Andrew (and anyone else)...
>>
>> This recipe is for the ipc-rtos-echo-test-fw, so that implies that this recipes installs only that.  Should this commit add in a different firmware, or should commit make it so that this recipe adds nothing for am62d and then a new recipe for the new file?
>>
>> Thoughts?
>>
>> I know we previously accepted a commit that did this same kind of thing, but now I'm rethinking that.
> 
> 
> Just trying to clarify, since the new firmware is also for ipc or echo test, shouldn't we add it here?

Is that all this firmware does? Or does it extend the functionality into
some audio processing tasks? If it is only the echo test firmware, why is
the name different from all the others?

Andrew

>>
>>
>>
>>> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
>>> ---
>>> Boot logs
>>> https://gist.github.com/paresh-bhagat12/6fef215c80fa03c8ea55952f46328b83
>>>
>>>   .../ti-rtos-fw/ti-rtos-echo-test-fw.bb        | 25 +++++++++++--------
>>>   1 file changed, 15 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>>> index 1fe67be8..d43e8a8c 100644
>>> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>>> @@ -20,7 +20,7 @@ PLAT_SFX:am65xx = "am65xx"
>>>   PLAT_SFX:am64xx = "am64xx"
>>>   PLAT_SFX:am62xx = "am62xx"
>>>   PLAT_SFX:am62axx = "am62axx"
>>> -PLAT_SFX:am62dxx = "am62axx"
>>> +PLAT_SFX:am62dxx = "am62dxx"
>>>   PLAT_SFX:am62pxx = "am62pxx"
>>>     FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
>>> @@ -39,6 +39,7 @@ INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
>>>   MCU_1_0_FW =       "ipc_echo_test_mcu1_0_release_strip.xer5f"
>>>   MCU_1_1_FW =       "ipc_echo_test_mcu1_1_release_strip.xer5f"
>>>   MCU_2_0_FW =       "ipc_echo_test_mcu2_0_release_strip.xer5f"
>>> +MCU_2_0_FW:am62dxx = "ipc_rpmsg_echo_linux.mcu-r5f0_0.release.strip.out"
>>
>> Any reason not to add more spaces to all of the other lines so that everything continues to line up?
> 
> 
> Will update this, I was confused earlier whether to line them up but will do.
>>
>>
>>>   MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f"
>>>   MCU_3_0_FW =       "ipc_echo_test_mcu3_0_release_strip.xer5f"
>>>   MCU_3_1_FW =       "ipc_echo_test_mcu3_1_release_strip.xer5f"
>>> @@ -48,6 +49,7 @@ C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66"
>>>   C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66"
>>>   C7X_1_FW =         "ipc_echo_test_c7x_1_release_strip.xe71"
>>>   C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
>>> +C7X_1_FW:am62dxx = "ipc_rpmsg_echo_linux.c75ss0-0.release.strip.out"
>>>   C7X_2_FW =         "ipc_echo_test_c7x_2_release_strip.xe71"
>>>   C7X_3_FW =         "ipc_echo_test_c7x_3_release_strip.xe71"
>>>   C7X_4_FW =         "ipc_echo_test_c7x_4_release_strip.xe71"
>>> @@ -98,13 +100,6 @@ do_install:prepend:am62axx() {
>>>           )
>>>   }
>>>   -# Update the am62dxx ipc binaries to be consistent with other platforms
>>> -do_install:prepend:am62dxx() {
>>> -        ( cd ${S}/${IPC_FW_DIR}; \
>>> -                ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
>>> -        )
>>> -}
>>> -
>>>   do_install() {
>>>       # IPC Firmware
>>>       for FW_NAME in ${IPC_FW_LIST}
>>> @@ -149,8 +144,8 @@ ALTERNATIVE:${PN}:am62axx = "\
>>>                       "
>>>     ALTERNATIVE:${PN}:am62dxx = "\
>>> -                    am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \
>>> -                    am62a-c71_0-fw        am62a-c71_0-fw-sec \
>>> +                    am62d-mcu-r5f0_0-fw am62d-mcu-r5f0_0-fw-sec \
>>> +                    am62d-c75_x-fw        am62d-c75_x-fw-sec \
>>>                       "
>>>     ALTERNATIVE:${PN}:j721e = "\
>>> @@ -243,6 +238,11 @@ ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmwar
>>>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw]     = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
>>>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
>>>   +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw]     = "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw"
>>> +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw-sec"
>>> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw]     = "${nonarch_base_libdir}/firmware/am62d-c75_x-fw"
>>> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw-sec] = "${nonarch_base_libdir}/firmware/am62d-c75_x-fw-sec"
>>> +
>>>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw]     = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw"
>>>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw-sec"
>>>   ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw]     = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
>>> @@ -364,6 +364,11 @@ ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_F
>>>   ALTERNATIVE_TARGET[am62a-c71_0-fw]     = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>>>   ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>>>   +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
>>> +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
>>> +ALTERNATIVE_TARGET[am62d-c75_x-fw]     = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>>> +ALTERNATIVE_TARGET[am62d-c75_x-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>>> +
>>>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
>>>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
>>>   ALTERNATIVE_TARGET[j7-main-r5f0_0-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
>>
Paresh Bhagat June 10, 2025, 4:43 p.m. UTC | #4
Hi Andrew,


On 10/06/25 20:38, Andrew Davis wrote:
> On 6/9/25 11:53 PM, Paresh Bhagat wrote:
>> Hi Ryan,
>>
>>
>> On 09/06/25 20:07, Ryan Eatmon wrote:
>>>
>>>
>>> On 6/9/2025 4:26 AM, Paresh Bhagat wrote:
>>>> Previously, AM62d build reused AM62a's IPC firmwares. Now that
>>>> dedicated AM62d IPC firmwares are being pushed to ti-linux-firmware
>>>> repo, package the new IPC firmwares.
>>>
>>> So... question for Andrew (and anyone else)...
>>>
>>> This recipe is for the ipc-rtos-echo-test-fw, so that implies that 
>>> this recipes installs only that.  Should this commit add in a 
>>> different firmware, or should commit make it so that this recipe 
>>> adds nothing for am62d and then a new recipe for the new file?
>>>
>>> Thoughts?
>>>
>>> I know we previously accepted a commit that did this same kind of 
>>> thing, but now I'm rethinking that.
>>
>>
>> Just trying to clarify, since the new firmware is also for ipc or 
>> echo test, shouldn't we add it here?
>
> Is that all this firmware does? Or does it extend the functionality into
> some audio processing tasks? If it is only the echo test firmware, why is
> the name different from all the others?
>
> Andrew


Yep it is only for echo test. Agree it should go with the same name. 
Will send a v2 to avoid overriding the variable and instead rename 
firmware in do_install.
Thanks for the clarification.


>
>>>
>>>
>>>
>>>> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
>>>> ---
>>>> Boot logs
>>>> https://gist.github.com/paresh-bhagat12/6fef215c80fa03c8ea55952f46328b83 
>>>>
>>>>
>>>>   .../ti-rtos-fw/ti-rtos-echo-test-fw.bb        | 25 
>>>> +++++++++++--------
>>>>   1 file changed, 15 insertions(+), 10 deletions(-)
>>>>
>>>> diff --git 
>>>> a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb 
>>>> b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>>>> index 1fe67be8..d43e8a8c 100644
>>>> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>>>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
>>>> @@ -20,7 +20,7 @@ PLAT_SFX:am65xx = "am65xx"
>>>>   PLAT_SFX:am64xx = "am64xx"
>>>>   PLAT_SFX:am62xx = "am62xx"
>>>>   PLAT_SFX:am62axx = "am62axx"
>>>> -PLAT_SFX:am62dxx = "am62axx"
>>>> +PLAT_SFX:am62dxx = "am62dxx"
>>>>   PLAT_SFX:am62pxx = "am62pxx"
>>>>     FILESEXTRAPATHS:prepend := 
>>>> "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
>>>> @@ -39,6 +39,7 @@ INSTALL_IPC_FW_DIR = 
>>>> "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
>>>>   MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f"
>>>>   MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f"
>>>>   MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f"
>>>> +MCU_2_0_FW:am62dxx = 
>>>> "ipc_rpmsg_echo_linux.mcu-r5f0_0.release.strip.out"
>>>
>>> Any reason not to add more spaces to all of the other lines so that 
>>> everything continues to line up?
>>
>>
>> Will update this, I was confused earlier whether to line them up but 
>> will do.
>>>
>>>
>>>>   MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f"
>>>>   MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f"
>>>>   MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f"
>>>> @@ -48,6 +49,7 @@ C66_1_FW = 
>>>> "ipc_echo_test_c66xdsp_1_release_strip.xe66"
>>>>   C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66"
>>>>   C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71"
>>>>   C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
>>>> +C7X_1_FW:am62dxx = "ipc_rpmsg_echo_linux.c75ss0-0.release.strip.out"
>>>>   C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71"
>>>>   C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71"
>>>>   C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71"
>>>> @@ -98,13 +100,6 @@ do_install:prepend:am62axx() {
>>>>           )
>>>>   }
>>>>   -# Update the am62dxx ipc binaries to be consistent with other 
>>>> platforms
>>>> -do_install:prepend:am62dxx() {
>>>> -        ( cd ${S}/${IPC_FW_DIR}; \
>>>> -                ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
>>>> -        )
>>>> -}
>>>> -
>>>>   do_install() {
>>>>       # IPC Firmware
>>>>       for FW_NAME in ${IPC_FW_LIST}
>>>> @@ -149,8 +144,8 @@ ALTERNATIVE:${PN}:am62axx = "\
>>>>                       "
>>>>     ALTERNATIVE:${PN}:am62dxx = "\
>>>> -                    am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \
>>>> -                    am62a-c71_0-fw am62a-c71_0-fw-sec \
>>>> +                    am62d-mcu-r5f0_0-fw am62d-mcu-r5f0_0-fw-sec \
>>>> +                    am62d-c75_x-fw am62d-c75_x-fw-sec \
>>>>                       "
>>>>     ALTERNATIVE:${PN}:j721e = "\
>>>> @@ -243,6 +238,11 @@ ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] 
>>>> = "${nonarch_base_libdir}/firmwar
>>>>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw]     = 
>>>> "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
>>>>   ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = 
>>>> "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
>>>>   +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw]     = 
>>>> "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw"
>>>> +ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw-sec] = 
>>>> "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw-sec"
>>>> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw]     = 
>>>> "${nonarch_base_libdir}/firmware/am62d-c75_x-fw"
>>>> +ALTERNATIVE_LINK_NAME[am62d-c75_x-fw-sec] = 
>>>> "${nonarch_base_libdir}/firmware/am62d-c75_x-fw-sec"
>>>> +
>>>>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw]     = 
>>>> "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw"
>>>>   ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw-sec] = 
>>>> "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw-sec"
>>>>   ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw]     = 
>>>> "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
>>>> @@ -364,6 +364,11 @@ ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = 
>>>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_F
>>>>   ALTERNATIVE_TARGET[am62a-c71_0-fw]     = 
>>>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>>>>   ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = 
>>>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>>>>   +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw]     = 
>>>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
>>>> +ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw-sec] = 
>>>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
>>>> +ALTERNATIVE_TARGET[am62d-c75_x-fw]     = 
>>>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
>>>> +ALTERNATIVE_TARGET[am62d-c75_x-fw-sec] = 
>>>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
>>>> +
>>>>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw]     = 
>>>> "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
>>>>   ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw-sec] = 
>>>> "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
>>>>   ALTERNATIVE_TARGET[j7-main-r5f0_0-fw]     = 
>>>> "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
>>>
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
index 1fe67be8..d43e8a8c 100644
--- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
@@ -20,7 +20,7 @@  PLAT_SFX:am65xx = "am65xx"
 PLAT_SFX:am64xx = "am64xx"
 PLAT_SFX:am62xx = "am62xx"
 PLAT_SFX:am62axx = "am62axx"
-PLAT_SFX:am62dxx = "am62axx"
+PLAT_SFX:am62dxx = "am62dxx"
 PLAT_SFX:am62pxx = "am62pxx"
 
 FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
@@ -39,6 +39,7 @@  INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
 MCU_1_0_FW =       "ipc_echo_test_mcu1_0_release_strip.xer5f"
 MCU_1_1_FW =       "ipc_echo_test_mcu1_1_release_strip.xer5f"
 MCU_2_0_FW =       "ipc_echo_test_mcu2_0_release_strip.xer5f"
+MCU_2_0_FW:am62dxx = "ipc_rpmsg_echo_linux.mcu-r5f0_0.release.strip.out"
 MCU_2_1_FW =       "ipc_echo_test_mcu2_1_release_strip.xer5f"
 MCU_3_0_FW =       "ipc_echo_test_mcu3_0_release_strip.xer5f"
 MCU_3_1_FW =       "ipc_echo_test_mcu3_1_release_strip.xer5f"
@@ -48,6 +49,7 @@  C66_1_FW =         "ipc_echo_test_c66xdsp_1_release_strip.xe66"
 C66_2_FW =         "ipc_echo_test_c66xdsp_2_release_strip.xe66"
 C7X_1_FW =         "ipc_echo_test_c7x_1_release_strip.xe71"
 C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
+C7X_1_FW:am62dxx = "ipc_rpmsg_echo_linux.c75ss0-0.release.strip.out"
 C7X_2_FW =         "ipc_echo_test_c7x_2_release_strip.xe71"
 C7X_3_FW =         "ipc_echo_test_c7x_3_release_strip.xe71"
 C7X_4_FW =         "ipc_echo_test_c7x_4_release_strip.xe71"
@@ -98,13 +100,6 @@  do_install:prepend:am62axx() {
         )
 }
 
-# Update the am62dxx ipc binaries to be consistent with other platforms
-do_install:prepend:am62dxx() {
-        ( cd ${S}/${IPC_FW_DIR}; \
-                ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
-        )
-}
-
 do_install() {
     # IPC Firmware
     for FW_NAME in ${IPC_FW_LIST}
@@ -149,8 +144,8 @@  ALTERNATIVE:${PN}:am62axx = "\
                     "
 
 ALTERNATIVE:${PN}:am62dxx = "\
-                    am62a-mcu-r5f0_0-fw   am62a-mcu-r5f0_0-fw-sec \
-                    am62a-c71_0-fw        am62a-c71_0-fw-sec \
+                    am62d-mcu-r5f0_0-fw   am62d-mcu-r5f0_0-fw-sec \
+                    am62d-c75_x-fw        am62d-c75_x-fw-sec \
                     "
 
 ALTERNATIVE:${PN}:j721e = "\
@@ -243,6 +238,11 @@  ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmwar
 ALTERNATIVE_LINK_NAME[am62a-c71_0-fw]     = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
 ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
 
+ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw]     = "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[am62d-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62d-mcu-r5f0_0-fw-sec"
+ALTERNATIVE_LINK_NAME[am62d-c75_x-fw]     = "${nonarch_base_libdir}/firmware/am62d-c75_x-fw"
+ALTERNATIVE_LINK_NAME[am62d-c75_x-fw-sec] = "${nonarch_base_libdir}/firmware/am62d-c75_x-fw-sec"
+
 ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw]     = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw"
 ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw-sec"
 ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw]     = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
@@ -364,6 +364,11 @@  ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_F
 ALTERNATIVE_TARGET[am62a-c71_0-fw]     = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
 ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
 
+ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
+ALTERNATIVE_TARGET[am62d-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
+ALTERNATIVE_TARGET[am62d-c75_x-fw]     = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
+ALTERNATIVE_TARGET[am62d-c75_x-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
+
 ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
 ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
 ALTERNATIVE_TARGET[j7-main-r5f0_0-fw]     = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"