Conversation
📝 WalkthroughWalkthroughBump Helios4 U-Boot to tag v2026.04 and apply related patches: DDR ODT tuning, restore SPI DTS nodes, enable DT overlays, add RTC/commands, adjust boot scripts and boot-target ordering, change SPL/env storage flags, and fix BTRFS zstd decompression. ChangesHelios4 U-Boot v2026.04 Upgrade with Hardware and Boot Improvements
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@patch/u-boot/v2026.04/board_helios4/target_uart/0201-helios4-prepare-for-uart-image.patch`:
- Around line 19-20: Replace the invalid Kconfig symbol CONFIG_ENV_IS_IN_SPI
with the correct CONFIG_ENV_IS_IN_SPI_FLASH in the patch so the config lines
read CONFIG_ENV_IS_IN_MMC=n and CONFIG_ENV_IS_IN_SPI_FLASH=n; locate the
occurrence of CONFIG_ENV_IS_IN_SPI in the change block (next to
CONFIG_ENV_IS_IN_MMC) and update it to CONFIG_ENV_IS_IN_SPI_FLASH to match
U-Boot v2026.04 symbols.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: f5725960-5624-4106-8bcc-eef91ef3283d
📒 Files selected for processing (12)
config/sources/families/include/mvebu-helios4.incpatch/u-boot/v2026.04/board_helios4/0001-ARMADA-A388-SOM-U-Boot-ODT-Update.patchpatch/u-boot/v2026.04/board_helios4/0002-Add-RTC-to-helios4.patchpatch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patchpatch/u-boot/v2026.04/board_helios4/0004-arm-dts-armada-38x-Fix-broken-SPI-support-after-dts-sync.patchpatch/u-boot/v2026.04/board_helios4/0005-arm-mvebu-helios4-Update-Load-address.patch.disabledpatch/u-boot/v2026.04/board_helios4/0006-enable-DT-overlays-support.patchpatch/u-boot/v2026.04/board_helios4/0007-helios4_defconfig-0002-enable-setexpr-command.patchpatch/u-boot/v2026.04/board_helios4/general-fix-btrfs-zstd-decompression.patchpatch/u-boot/v2026.04/board_helios4/target_spi/0101-helios4-config-set-boot-device-spinor.patchpatch/u-boot/v2026.04/board_helios4/target_spi/0102-helios4-reorder-boot-device.patchpatch/u-boot/v2026.04/board_helios4/target_uart/0201-helios4-prepare-for-uart-image.patch
|
@coderabbitai, These patches were simply ported over from an earlier version. They are not new developments. The only change this PR makes is the change to the uBoot version. |
|
Tip For best results, initiate chat on the files or code changes.
✏️ Learnings added
|
|
Tip For best results, initiate chat on the files or code changes.
|
Patches forked from board_helios4/v2025.10/ to board_helios4/v2026.04/; all 9 apply (5 with rebase fuzz, left as follow-up). Patch 0005 'arm-mvebu-helios4-Update-Load-address' is carried as .disabled. Its vendor 2013 layout (kernel/initrd gap=8 MiB, KERNEL_ADDR_R=0x2080000) was the source of "RD image overlaps OS image" PXE failures with modern zImage 6.12+; upstream defaults (KERNEL=0x800000, RAMDISK=0x1800000, gap=16 MiB) work fine. boot-mvebu.cmd already runtime-overrides ramdisk_addr_r to 0x03080000, so SD-flow remains unaffected. Validated by SD-boot of resolute armhf 6.18.27-edge-mvebu image on real Helios4: u-boot 2026.04, btrfs root, mvneta DHCP, SATA attached, no kernel panics, firstrun completes. Assisted-by: Claude:claude-opus-4.7
b98f628 to
5506030
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch (1)
23-24: 💤 Low valueBoard-specific workaround injected into a board-agnostic header.
include/config_distro_bootcmd.his shared by all U-Boot boards that enable distro boot. Thesetenv boot_interface ${devtype}line is Helios4-specific backward-compat logic. Setting an extra env variable here is harmless for other boards today, but it pollutes the generic boot script template and would complicate any future upstreaming effort.Consider guarding the injection with a Helios4-specific
#ifdef CONFIG_TARGET_HELIOS4(or equivalent Kconfig symbol), or relocating thesetenvinto the board's ownbootcmd/prebootenvironment variable rather than the shared distro template.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch` around lines 23 - 24, The patch injects a Helios4-specific "setenv boot_interface ${devtype}" into the shared include/config_distro_bootcmd.h template; instead, guard or relocate it: wrap the "setenv boot_interface ${devtype}" insertion with a `#ifdef` CONFIG_TARGET_HELIOS4 (or equivalent Kconfig symbol) in include/config_distro_bootcmd.h so other boards are unaffected, or remove it from the shared template and add the setenv into the Helios4 board-specific environment (e.g., the board's bootcmd or preboot variable) so only target Helios4 runs setenv boot_interface ${devtype}.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch`:
- Around line 23-24: The patch injects a Helios4-specific "setenv boot_interface
${devtype}" into the shared include/config_distro_bootcmd.h template; instead,
guard or relocate it: wrap the "setenv boot_interface ${devtype}" insertion with
a `#ifdef` CONFIG_TARGET_HELIOS4 (or equivalent Kconfig symbol) in
include/config_distro_bootcmd.h so other boards are unaffected, or remove it
from the shared template and add the setenv into the Helios4 board-specific
environment (e.g., the board's bootcmd or preboot variable) so only target
Helios4 runs setenv boot_interface ${devtype}.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: bbb2ceb1-ea3a-4dda-ab2e-6f09045d7a1c
📒 Files selected for processing (12)
config/sources/families/include/mvebu-helios4.incpatch/u-boot/v2026.04/board_helios4/0001-ARMADA-A388-SOM-U-Boot-ODT-Update.patchpatch/u-boot/v2026.04/board_helios4/0002-Add-RTC-to-helios4.patchpatch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patchpatch/u-boot/v2026.04/board_helios4/0004-arm-dts-armada-38x-Fix-broken-SPI-support-after-dts-sync.patchpatch/u-boot/v2026.04/board_helios4/0005-arm-mvebu-helios4-Update-Load-address.patch.disabledpatch/u-boot/v2026.04/board_helios4/0006-enable-DT-overlays-support.patchpatch/u-boot/v2026.04/board_helios4/0007-helios4_defconfig-0002-enable-setexpr-command.patchpatch/u-boot/v2026.04/board_helios4/general-fix-btrfs-zstd-decompression.patchpatch/u-boot/v2026.04/board_helios4/target_spi/0101-helios4-config-set-boot-device-spinor.patchpatch/u-boot/v2026.04/board_helios4/target_spi/0102-helios4-reorder-boot-device.patchpatch/u-boot/v2026.04/board_helios4/target_uart/0201-helios4-prepare-for-uart-image.patch
✅ Files skipped from review due to trivial changes (3)
- patch/u-boot/v2026.04/board_helios4/0007-helios4_defconfig-0002-enable-setexpr-command.patch
- patch/u-boot/v2026.04/board_helios4/0006-enable-DT-overlays-support.patch
- patch/u-boot/v2026.04/board_helios4/0002-Add-RTC-to-helios4.patch
🚧 Files skipped from review as they are similar to previous changes (5)
- patch/u-boot/v2026.04/board_helios4/target_uart/0201-helios4-prepare-for-uart-image.patch
- patch/u-boot/v2026.04/board_helios4/target_spi/0101-helios4-config-set-boot-device-spinor.patch
- config/sources/families/include/mvebu-helios4.inc
- patch/u-boot/v2026.04/board_helios4/0005-arm-mvebu-helios4-Update-Load-address.patch.disabled
- patch/u-boot/v2026.04/board_helios4/target_spi/0102-helios4-reorder-boot-device.patch
Summary
patch/u-boot/v2026.04/board_helios4/; 5 needs_rebase fuzz left as follow-up..disabled— fixes "RD image overlaps OS image" on PXE with zImage 6.12+.Test plan
./compile.sh build BOARD=helios4 BRANCH=edge ARTIFACT=uboot— 4 targets (mmc/sata/spi/uart) build cleanly.Summary by CodeRabbit
Chores
New Features
Bug Fixes / Improvements