[PATCH] arm: rockchip: Fix binman_init failure on RK3568

Quentin Schulz quentin.schulz at theobroma-systems.com
Thu Jan 5 10:57:38 CET 2023


Hi Kever,

On 1/5/23 10:41, Kever Yang wrote:
> 
> On 2023/1/5 03:18, Jagan Teki wrote:
>> For some newer SoCs like RK3568, the Rockchip has not released
>> any DDR drivers yet so idbloader needs to create manually using
>> DDR binaries offered by rkbin. This indeed no requirement to
>> enable TPL in the U-Boot source code.
>>
>> If we mark TPL disabled and mark BINMAN enabled by default then
>> there would be an issue of binman_init failure during board
>> relocation. This is true as binman failed to find the top-level
>> node like u-boot-tpl here.
>>
>> Here is the boot issue observed in RK3566 board,
>>
>>   U-Boot 2023.01-rc4-00057-gac2505d463-dirty (Jan 04 2023 - 23:44:18 
>> +0530)
>>
>>   Model: Radxa Compute Module 3(CM3) IO Board
>>   DRAM:  2 GiB
>>   binman_init failed:-2
>>   initcall sequence 000000007ffd2008 failed at call 0000000000a18cac 
>> (err=-2)
>>   ### ERROR ### Please RESET the board ###
>>
>> This might be fixed via binman node in rockchip-u-boot.dtsi however
>> disable binman for rk3568 for now as we are at the end of the release
>> cycle.
>>
>> Fixes: 05713d570762 ("rockchip: generate u-boot-rockchip.bin with binman
>> for ARM64 boards")
>> Cc: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
>> ---
>>   arch/arm/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index cac4fa09fd..0e7a511c79 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -1934,7 +1934,7 @@ config ARCH_STM32MP
>>   config ARCH_ROCKCHIP
>>       bool "Support Rockchip SoCs"
>>       select BLK
>> -    select BINMAN if SPL_OPTEE || SPL
>> +    select BINMAN if SPL_OPTEE || (SPL && !ROCKCHIP_RK3568)
> 
> BINMAN should be available only when both TPL and SPL are available.
> 
> if no TPL, means there is no DDR binary available, so not able to use 
> binman to generate
> 
> the image.
> 

Binman can still generate u-boot.itb, u-boot-spl.bin and co. The final 
u-boot-rockchip.bin won't work indeed, until we fix this in another 
ifdef madness for cases where TPL/SPL is an external blob and not 
created by U-Boot.

In next release (not 2023.01) I have high hopes we can have fully 
migrated to binman, which makes me a bit sad we go a step back by 
disabling it for RK356x :/

But since the release is a question of days now, maybe that's fine, I 
don't know. You're the maintainer :)

Cheers,
Quentin


More information about the U-Boot mailing list