The RK3328 has 36 KiB SRAM at [0xff090000, 0xff099000). With 4 KiB of the initial SRAM typically reserved for BootROM during early boot.
BootROM will load init code of up to 32 KiB (0x8000 bytes) to address 0xff091000 in SRAM, before jumping to it. BootROM typically jumps to init code with following registers: x0: 00000000 ff091004 x1: 00000000 32334b52 x2: 00000000 ff520000 x3: 00000000 ff500000 sp: 00000000 ff090f50 mkimage is enforcing a 30 KiB init code size limit for RK3328. However, the BootRAM can load up to 32 KiB of init code. Change the init code size limit to 32 KiB using the <size> - <reserved> pattern to closer match the actual limit of BootROM on RK3328. Signed-off-by: Jonas Karlman <[email protected]> --- tools/rkcommon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rkcommon.c b/tools/rkcommon.c index ccd1cb5b1ef6..cb904db20b4e 100644 --- a/tools/rkcommon.c +++ b/tools/rkcommon.c @@ -145,7 +145,7 @@ static struct spl_info spl_infos[] = { { "rk322x", "RK32", 0x8000 - 0x1000, false, RK_HEADER_V1 }, { "rk3288", "RK32", 0x8000, false, RK_HEADER_V1 }, { "rk3308", "RK33", 0x40000 - 0x1000, false, RK_HEADER_V1 }, - { "rk3328", "RK32", 0x8000 - 0x800, false, RK_HEADER_V1 }, + { "rk3328", "RK32", 0x9000 - 0x1000, false, RK_HEADER_V1 }, { "rk3368", "RK33", 0x8000 - 0x1000, false, RK_HEADER_V1 }, { "rk3399", "RK33", 0x30000 - 0x2000, false, RK_HEADER_V1 }, { "rk3506", "RK35", 0xC000 - 0x1000, false, RK_HEADER_V2 }, -- 2.55.0
