
Hi Jagan,
On 1/4/23 20: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
This function seems to not be called if you do NOT define BINMAN_FDT Kconfig option. Is this something you could check? I see that STM32 boards and some Mediatek ones have this disabled. The benefit would be to still have binman build the images like all other rockchip platforms but let your RK336x board boot properly.
I'm wondering what this binman_init is needed for? It seems to me that the functions defined in lib/binman.c are actually used only in x86 platforms?
Cheers, Quentin