[v2] board: rockchip: Fix binman_init failure on EVB-RK3568

Message ID 20230108161734.50094-1-jagan@amarulasolutions.com
State New
Headers show
Series
  • [v2] board: rockchip: Fix binman_init failure on EVB-RK3568
Related show

Commit Message

Jagan Teki Jan. 8, 2023, 4:17 p.m. UTC
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 Radxa-CM3 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_FDT for evb-rk3568 defconfig 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@theobroma-systems.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v2:
- disable BINMAN_FDT in defconfig instead disabling BINMAN in
  ARCH_ROCKCHIP

 configs/evb-rk3568_defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Kever Yang Jan. 9, 2023, 7:59 a.m. UTC | #1
On 2023/1/9 00:17, 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 Radxa-CM3 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_FDT for evb-rk3568 defconfig 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@theobroma-systems.com>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
> Changes for v2:
> - disable BINMAN_FDT in defconfig instead disabling BINMAN in
>    ARCH_ROCKCHIP
>
>   configs/evb-rk3568_defconfig | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/configs/evb-rk3568_defconfig b/configs/evb-rk3568_defconfig
> index db3acf5be5..e799690578 100644
> --- a/configs/evb-rk3568_defconfig
> +++ b/configs/evb-rk3568_defconfig
> @@ -64,4 +64,5 @@ CONFIG_DM_RESET=y
>   CONFIG_BAUDRATE=1500000
>   CONFIG_DEBUG_UART_SHIFT=2
>   CONFIG_SYSRESET=y
> +# CONFIG_BINMAN_FDT is not set
>   CONFIG_ERRNO_STR=y
Tom Rini Jan. 9, 2023, 1:29 p.m. UTC | #2
On Sun, Jan 08, 2023 at 09:47:34PM +0530, 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 Radxa-CM3 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_FDT for evb-rk3568 defconfig 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@theobroma-systems.com>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Applied to u-boot/master, thanks!

Patch

diff --git a/configs/evb-rk3568_defconfig b/configs/evb-rk3568_defconfig
index db3acf5be5..e799690578 100644
--- a/configs/evb-rk3568_defconfig
+++ b/configs/evb-rk3568_defconfig
@@ -64,4 +64,5 @@  CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYSRESET=y
+# CONFIG_BINMAN_FDT is not set
 CONFIG_ERRNO_STR=y