Skip to content

nor: boot the split layout on gk7202v300 and gk7605v100 - #19

Merged
widgetii merged 1 commit into
openipc-hisiliconfrom
nor/fit-split-gk7202v300-gk7605v100
Oct 17, 2026
Merged

widgetii merged 1 commit into
openipc-hisiliconfrom
nor/fit-split-gk7202v300-gk7605v100

Conversation

@widgetii

Copy link
Copy Markdown
Member

This enables the split NOR layout from #18 on the other two SoCs of the gk7205v200 kernel family:

  • CONFIG_FIT, CONFIG_SHA1 and CONFIG_OPENIPC_NOR_FIT_SPLIT in xm72020300_config and xm76050100_config;
  • verify=n set before openipc_helper(), so the FIT path can drop it and check the hashes.

A uImage at the kernel offset keeps the fixed slots, exactly as before.

Size: NOR images are 222 KB (gk7202v300) and 216 KB (gk7605v100), against the 256 KB limit.

Build-tested only: I have no gk7202v300 or gk7605v100 board. The same code is verified on GK7205V200 and GK7205V300, both running the published g7e52056f image from flash.

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.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Enable split NOR FIT boot on gk7202v300 and gk7605v100

✨ Enhancement ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Enable hashed split-NOR FIT boot on gk7202v300 and gk7605v100.
• Preserve fixed-slot uImage boot while allowing FIT hashes to be checked.
• Both images fit the 256 KB boot partition; hardware boot remains untested.
Diagram

graph TD
  C1["7202 config"] --> B["Board init"] --> H["OpenIPC helper"] --> S{"FIT header?"} -->|yes| F["Hashed FIT boot"]
  C2["7605 config"] --> B
  S -->|no| U["Fixed uImage slots"]
Loading
High-Level Assessment

Extending the existing split-NOR path through board configuration and initialization order is appropriate. A shared-board refactor would add scope without changing the boot behavior.

Files changed (4) +14 / -2

Enhancement (2) +6 / -2
board.cSet the 7202 verification default before firmware scanning +3/-1

Set the 7202 verification default before firmware scanning

• Moves verify=n ahead of openipc_helper(). The helper can then clear it when it detects a FIT, allowing FIT hashes to be checked.

board/xmedia/xm72020300/board.c

board.cSet the 7605 verification default before firmware scanning +3/-1

Set the 7605 verification default before firmware scanning

• Moves verify=n ahead of openipc_helper(). The helper can then clear it when it detects a FIT, allowing FIT hashes to be checked.

board/xmedia/xm76050100/board.c

Other (2) +8 / -0
xm72020300_configEnable split-NOR FIT support for xm72020300 +4/-0

Enable split-NOR FIT support for xm72020300

• Enables FIT, SHA-1, and the existing split-NOR detection path for this board.

openipc/xm72020300_config

xm76050100_configEnable split-NOR FIT support for xm76050100 +4/-0

Enable split-NOR FIT support for xm76050100

• Enables FIT, SHA-1, and the existing split-NOR detection path for this board.

openipc/xm76050100_config

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can see how risky a PR is at a glance with blast radius labels

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@widgetii
widgetii merged commit e7a12d6 into openipc-hisilicon Oct 17, 2026
72 checks passed
widgetii added a commit to OpenIPC/firmware that referenced this pull request Oct 17, 2026
Their kernels already carry mtdsplit and the split options (the
gk7205v200 family's config fragments, #2617), but only the gk7205v200
and gk7205v300 defconfigs ran post-image.sh, so these two produced no
firmware.bin and no -split package. They now do, beside the unchanged
plain package. OpenIPC/u-boot#19 enables the layout in their
bootloaders; until a camera runs one, sysupgrade keeps it on the plain
package.

Local builds: gk7202v300_lite firmware.bin 7040KB/7616KB, gk7605v100_lite
7040KB/7616KB; each FIT is described "OpenIPC <soc>".

Build-tested only: no gk7202v300 or gk7605v100 camera was run.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant