[PATCH] board: ti: j722s: j722s.env: Set remoteproc firmware names

Beleswar Prasad Padhi b-padhi at ti.com
Thu Jan 9 11:23:22 CET 2025


Hi Bryan!

On 08/01/25 19:46, Bryan Brattlof wrote:
> Hi Beleswar!
>
> On January  8, 2025 thus sayeth Beleswar Padhi:
>> Include k3_rproc.env to access rproc boot commands and specify rproc
>> firmware names for adding remoteproc support in J722S SoCs.
>>
>> Signed-off-by: Beleswar Padhi <b-padhi at ti.com>
>> ---
>> This patch is independent and puts the environment in place to boot remote
>> processors at U-Boot stage.
>>
>> However, for successfully loading the firmwares into remote cores, rproc
>> DT node definitions are required. These DT changes have been merged into
>> Linux and available with v6.12 tag[0]. Once the DT Sync happens in U-Boot,
>> remote processors can be probed and booted with the help of env commands
>> enabled with this patch.
>>
>> Sample Boot Test logs after manually adding DT nodes in U-Boot:
>> https://gist.github.com/3V3RYONE/0b5c7df5b5c88d2a2f273b6a04a3dd46
>>
>> [0]: https://lore.kernel.org/all/20240830161742.925145-1-b-padhi@ti.com/
>>
>> Thanks,
>> Beleswar
>>
>>   board/ti/j722s/j722s.env | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/board/ti/j722s/j722s.env b/board/ti/j722s/j722s.env
>> index f8b6aff2c2f..10d62034e1a 100644
>> --- a/board/ti/j722s/j722s.env
>> +++ b/board/ti/j722s/j722s.env
>> @@ -1,6 +1,10 @@
>>   #include <env/ti/ti_common.env>
>>   #include <env/ti/mmc.env>
>>   
>> +#if CONFIG_CMD_REMOTEPROC
>> +#include <env/ti/k3_rproc.env>
>> +#endif
>> +
>>   name_kern=Image
>>   console=ttyS2,115200n8
>>   args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
>> @@ -13,3 +17,5 @@ mmcdev=1
>>   bootpart=1:2
>>   bootdir=/boot
>>   rd_spec=-
>> +
>> +rproc_fw_binaries= 0 /lib/firmware/j722s-mcu-r5f0_0-fw 2 /lib/firmware/j722s-main-r5f0_0-fw 3 /lib/firmware/j722s-c71_0-fw 4 /lib/firmware/j722s-c71_1-fw
> For SE devices do these firmware have that *-sig suffix?


Yes, for all K3 SE devices, the "*-sec" suffix is appended to the 
existing firmware paths[0].

> My thinking is
> this seems fairly specific to yocto with other distributions like debian
> or QNX will have different names or paths. Should this be put in the env
> that yocto builds?


Debian currently uses the same firmware names like Yocto. But yes, 
thinking about multi-distro, we can leave the default firmware paths as 
empty, and leave it to the user to override these paths according to 
their distro. That will have to be done for all K3 devices, as currently 
all those define Yocto based firmware paths in the U-Boot board environment.

However, if we leave the default `rproc_fw_binaries` as empty, rproc 
boot will fail silently without complaining, which could be confusing to 
the user. Whereas, if we have Yocto (or any other distro's) firmware 
paths as default, rproc boot will complain "No such file or directory" 
and fail when using with a different distro. What are your thoughts?

[0]: 
https://source.denx.de/u-boot/u-boot/-/blob/master/include/env/ti/k3_rproc.env?ref_type=heads#L18

Thanks,
Beleswar

>
> ~Bryan


More information about the U-Boot mailing list