rockchip: rk35xx: Fix boot with a large fdt blob
authorJonas Karlman <jonas@kwiboo.se>
Mon, 17 Apr 2023 19:07:15 +0000 (19:07 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 21 Apr 2023 07:16:01 +0000 (15:16 +0800)
The TF-A blobs used to boot RK3568 and RK3588 boards is based on atf
v2.3. Mainline atf v2.3 contains an issue that could lead to a crash
when it fails to parse the fdt blob being passed as the platform param.
An issue that was fixed in atf v2.4.

The vendor TF-A seem to suffer from a similar issue, and this prevents
booting when fdt blob is large enough to trigger this condition.

Fix this by implying SPL_ATF_NO_PLATFORM_PARAM to let u-boot pass a
NULL pointer instead of the fdt blob as the platform param.

This fixes booting Radxa ROCK 3A after recent sync of device tree.

Fixes: 073d911ae64a ("rockchip: rk3568-rock-3a: Sync device tree from linux")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
arch/arm/mach-rockchip/Kconfig

index 39cf4b9..50edef0 100644 (file)
@@ -288,6 +288,7 @@ config ROCKCHIP_RK3568
        select BOARD_LATE_INIT
        select DM_REGULATOR_FIXED
        select DM_RESET
+       imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
        imply ROCKCHIP_COMMON_BOARD
        imply ROCKCHIP_OTP
        imply MISC_INIT_R
@@ -309,6 +310,7 @@ config ROCKCHIP_RK3588
        select REGMAP
        select SYSCON
        select BOARD_LATE_INIT
+       imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
        imply ROCKCHIP_COMMON_BOARD
        imply ROCKCHIP_OTP
        imply MISC_INIT_R