From 86b80805da76a4bc293952a71aa44b07322e4b28 Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin <6576495+widgetii@users.noreply.github.com> Date: Sat, 17 Oct 2026 19:18:37 +0300 Subject: [PATCH] nor: boot the split layout on gk7202v300 and gk7605v100 Same as gk7205v200 and gk7205v300 (#18): CONFIG_FIT, CONFIG_SHA1 and CONFIG_OPENIPC_NOR_FIT_SPLIT in their fragments, and verify=n set before openipc_helper() so firmware_scan() can drop it for a FIT. Their kernels come from the same OpenIPC/linux goke-gk7205v200 branch, which carries mtdsplit, and OpenIPC/firmware already enables it for both. NOR images: gk7202v300 222 KB, gk7605v100 216 KB (256 KB boot partition). Build-tested only: no gk7202v300 or gk7605v100 board was run. --- board/xmedia/xm72020300/board.c | 4 +++- board/xmedia/xm76050100/board.c | 4 +++- openipc/xm72020300_config | 4 ++++ openipc/xm76050100_config | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/board/xmedia/xm72020300/board.c b/board/xmedia/xm72020300/board.c index a942b75627aa..756e9416d215 100755 --- a/board/xmedia/xm72020300/board.c +++ b/board/xmedia/xm72020300/board.c @@ -330,11 +330,13 @@ void clear_update_flag(int update_flag) int misc_init_r(void) { + /* Before openipc_helper(): a FIT on the split NOR layout carries + * hashes, and firmware_scan() drops this for it. */ + env_set("verify", "n"); openipc_helper(); #ifdef CONFIG_RANDOM_ETHADDR random_init_r(); #endif - env_set("verify", "n"); #ifdef CFG_MMU_HANDLEOK dcache_stop(); diff --git a/board/xmedia/xm76050100/board.c b/board/xmedia/xm76050100/board.c index 101c4ddc74d6..7f654fdb2d18 100755 --- a/board/xmedia/xm76050100/board.c +++ b/board/xmedia/xm76050100/board.c @@ -277,11 +277,13 @@ int check_update_button(void) int misc_init_r(void) { + /* Before openipc_helper(): a FIT on the split NOR layout carries + * hashes, and firmware_scan() drops this for it. */ + env_set("verify", "n"); openipc_helper(); #ifdef CONFIG_RANDOM_ETHADDR random_init_r(); #endif - env_set("verify", "n"); #ifdef CFG_MMU_HANDLEOK dcache_stop(); diff --git a/openipc/xm72020300_config b/openipc/xm72020300_config index 8c1a5e454794..9e34729fe213 100644 --- a/openipc/xm72020300_config +++ b/openipc/xm72020300_config @@ -8,3 +8,7 @@ CONFIG_SYS_LOAD_ADDR=0x42000000 CONFIG_MMC=y CONFIG_CMD_MMC=y CONFIG_MMC_SDHCI=y +# Split NOR layout: a hashed FIT kernel (board nor-fit.its in OpenIPC/firmware) +CONFIG_FIT=y +CONFIG_SHA1=y +CONFIG_OPENIPC_NOR_FIT_SPLIT=y diff --git a/openipc/xm76050100_config b/openipc/xm76050100_config index d19e04445f4a..6117d549fc57 100644 --- a/openipc/xm76050100_config +++ b/openipc/xm76050100_config @@ -8,3 +8,7 @@ CONFIG_SYS_LOAD_ADDR=0x42000000 CONFIG_MMC=y CONFIG_CMD_MMC=y CONFIG_MMC_SDHCI=y +# Split NOR layout: a hashed FIT kernel (board nor-fit.its in OpenIPC/firmware) +CONFIG_FIT=y +CONFIG_SHA1=y +CONFIG_OPENIPC_NOR_FIT_SPLIT=y