Skip to content

helios4: bump u-boot to v2026.04#9786

Open
iav wants to merge 1 commit intomainfrom
helios4/uboot-v2026.04
Open

helios4: bump u-boot to v2026.04#9786
iav wants to merge 1 commit intomainfrom
helios4/uboot-v2026.04

Conversation

@iav
Copy link
Copy Markdown
Contributor

@iav iav commented May 8, 2026

Summary

  • Bump helios4 u-boot v2025.10 → v2026.04.
  • 9 patches ported into patch/u-boot/v2026.04/board_helios4/; 5 needs_rebase fuzz left as follow-up.
  • Patch 0005 (vendor 2013 load-address override) carried as .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.
  • Full image build (resolute armhf, edge 6.18.27-mvebu) — boots on real Helios4: btrfs root, mvneta DHCP, SATA attached.
  • PXE/netboot validation deferred (separate test).

Summary by CodeRabbit

  • Chores

    • Updated U‑Boot to v2026.04.
  • New Features

    • Added RTC support and enabled date/setexpr commands.
    • Enabled device-tree overlay support.
  • Bug Fixes / Improvements

    • Restored SPI device support and updated boot ordering; SPL default boot device set to SPI.
    • Improved Btrfs zstd decompression robustness.
    • Added backward compatibility for legacy boot scripts and adjusted environment/load addresses for reliable DT/script loading.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 8, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

Bump 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.

Changes

Helios4 U-Boot v2026.04 Upgrade with Hardware and Boot Improvements

Layer / File(s) Summary
U-Boot Version Selection
config/sources/families/include/mvebu-helios4.inc
BOOTBRANCH updated from tag:v2025.10 to tag:v2026.04.
Memory DDR3 ODT Tuning
patch/u-boot/v2026.04/board_helios4/0001-ARMADA-A388-SOM-U-Boot-ODT-Update.patch
ODT base constant changed from 0x91 to 0x71 in two ddr3_training.c paths; TUNE_TRAINING_PARAMS_ODT_CONFIG_1CS changed from 0x10000 to 0x30000.
Device Tree SPI Support
patch/u-boot/v2026.04/board_helios4/0004-arm-dts-armada-38x-Fix-broken-SPI-support-after-dts-sync.patch
Restore spi0@10600 and spi1@10680 nodes with reg as address/size pairs (remove MBUS_ID() wrapper).
Device Tree Overlay Support
patch/u-boot/v2026.04/board_helios4/0006-enable-DT-overlays-support.patch
ARCH_MVEBU Kconfig now selects OF_LIBFDT and OF_LIBFDT_OVERLAY.
Board RTC and Command Support
patch/u-boot/v2026.04/board_helios4/0002-Add-RTC-to-helios4.patch, patch/u-boot/v2026.04/board_helios4/0007-helios4_defconfig-0002-enable-setexpr-command.patch
Enable CONFIG_CMD_DATE, CONFIG_DM_RTC, CONFIG_RTC_ARMADA38X, and CONFIG_CMD_SETEXPR in helios4_defconfig.
Boot Script Backward Compatibility
patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch
Distro boot template sets boot_interface from ${devtype} before source; board env adds loadaddr=0x02000000 and fdt_addr=${FDT_ADDR_R}.
Boot Device Selection and Storage
patch/u-boot/v2026.04/board_helios4/target_spi/0101-helios4-config-set-boot-device-spinor.patch
Switch SPL boot device to SPI (CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI) and enable CONFIG_ENV_IS_IN_SPI_FLASH.
Boot Target Device Ordering
patch/u-boot/v2026.04/board_helios4/target_spi/0102-helios4-reorder-boot-device.patch
Reorder BOOT_TARGET_DEVICES(func) to move MMC after SCSI targets.
Environment Storage Preparation
patch/u-boot/v2026.04/board_helios4/target_uart/0201-helios4-prepare-for-uart-image.patch
helios4_defconfig sets CONFIG_ENV_IS_IN_MMC=n and CONFIG_ENV_IS_IN_SPI_FLASH=n for UART image variant.
Storage and Filesystem Improvements
patch/u-boot/v2026.04/board_helios4/general-fix-btrfs-zstd-decompression.patch
Rewrite decompress_zstd() to use zstd dctx path, compute frame size, handle expanded decompressed size, allocate temp buffer if needed, and validate output.
Advanced Memory Load Addresses (Disabled)
patch/u-boot/v2026.04/board_helios4/0005-arm-mvebu-helios4-Update-Load-address.patch.disabled
Update KERNEL_ADDR_R, FDT_ADDR_R, RAMDISK_ADDR_R, SCRIPT_ADDR_R, PXEFILE_ADDR_R macros; patch is disabled.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

02

Suggested reviewers

  • igorpecovnik

Poem

A rabbit hops through U-Boot's hall,
From v2025 to v2026 tall,
DDR tuned, SPI nodes set right,
Boot scripts sing into the night,
Overlays, RTC—systems bright! 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'helios4: bump u-boot to v2026.04' directly and clearly reflects the primary change: updating the Helios4 board's U-Boot version from v2025.10 to v2026.04 via the BOOTBRANCH variable.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch helios4/uboot-v2026.04

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added 05 Milestone: Second quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... size/large PR with 250 lines or more labels May 8, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 1bac6d9 and b98f628.

📒 Files selected for processing (12)
  • config/sources/families/include/mvebu-helios4.inc
  • patch/u-boot/v2026.04/board_helios4/0001-ARMADA-A388-SOM-U-Boot-ODT-Update.patch
  • patch/u-boot/v2026.04/board_helios4/0002-Add-RTC-to-helios4.patch
  • patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch
  • patch/u-boot/v2026.04/board_helios4/0004-arm-dts-armada-38x-Fix-broken-SPI-support-after-dts-sync.patch
  • patch/u-boot/v2026.04/board_helios4/0005-arm-mvebu-helios4-Update-Load-address.patch.disabled
  • patch/u-boot/v2026.04/board_helios4/0006-enable-DT-overlays-support.patch
  • patch/u-boot/v2026.04/board_helios4/0007-helios4_defconfig-0002-enable-setexpr-command.patch
  • patch/u-boot/v2026.04/board_helios4/general-fix-btrfs-zstd-decompression.patch
  • patch/u-boot/v2026.04/board_helios4/target_spi/0101-helios4-config-set-boot-device-spinor.patch
  • patch/u-boot/v2026.04/board_helios4/target_spi/0102-helios4-reorder-boot-device.patch
  • patch/u-boot/v2026.04/board_helios4/target_uart/0201-helios4-prepare-for-uart-image.patch

@iav
Copy link
Copy Markdown
Contributor Author

iav commented May 8, 2026

@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.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 8, 2026

Tip

For best results, initiate chat on the files or code changes.

@iav, Got it—thanks for the clarification! I'll keep in mind that the patches in patch/u-boot/v2026.04/board_helios4/ are simply ported from board_helios4/v2025.10 and aren't new developments, and the only significant change in this PR is the change of BOOTBRANCH from tag:v2025.10 to tag:v2026.04.


✏️ Learnings added
Learnt from: iav
URL: https://github.com/armbian/build/pull/9786

Timestamp: 2026-05-08T03:31:16.991Z
Learning: In the Armbian build repository (https://github.com/armbian/build), patches in `patch/u-boot/v2026.04/board_helios4/` were ported as-is from `patch/u-boot/v2025.10/board_helios4/`. The only functional change in PR `#9786` (helios4: bump u-boot to v2026.04) is updating `BOOTBRANCH` from `tag:v2025.10` to `tag:v2026.04` in `config/sources/families/include/mvebu-helios4.inc`. The patches themselves are not new development.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 8, 2026

Tip

For best results, initiate chat on the files or code changes.

@iav, thank you for the clarification — I've already noted this in my previous reply and added it to long-term memory. The patches in patch/u-boot/v2026.04/board_helios4/ are a straight port from v2025.10, and the only meaningful change in this PR is the BOOTBRANCH bump from tag:v2025.10 to tag:v2026.04 in config/sources/families/include/mvebu-helios4.inc. I'll keep that context in mind for any further review of this PR.

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
@iav iav force-pushed the helios4/uboot-v2026.04 branch from b98f628 to 5506030 Compare May 8, 2026 03:41
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch (1)

23-24: 💤 Low value

Board-specific workaround injected into a board-agnostic header.

include/config_distro_bootcmd.h is shared by all U-Boot boards that enable distro boot. The setenv 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 the setenv into the board's own bootcmd/preboot environment 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

📥 Commits

Reviewing files that changed from the base of the PR and between b98f628 and 5506030.

📒 Files selected for processing (12)
  • config/sources/families/include/mvebu-helios4.inc
  • patch/u-boot/v2026.04/board_helios4/0001-ARMADA-A388-SOM-U-Boot-ODT-Update.patch
  • patch/u-boot/v2026.04/board_helios4/0002-Add-RTC-to-helios4.patch
  • patch/u-boot/v2026.04/board_helios4/0003-add-boot-marvell.cmd-backward-compatibility.patch
  • patch/u-boot/v2026.04/board_helios4/0004-arm-dts-armada-38x-Fix-broken-SPI-support-after-dts-sync.patch
  • patch/u-boot/v2026.04/board_helios4/0005-arm-mvebu-helios4-Update-Load-address.patch.disabled
  • patch/u-boot/v2026.04/board_helios4/0006-enable-DT-overlays-support.patch
  • patch/u-boot/v2026.04/board_helios4/0007-helios4_defconfig-0002-enable-setexpr-command.patch
  • patch/u-boot/v2026.04/board_helios4/general-fix-btrfs-zstd-decompression.patch
  • patch/u-boot/v2026.04/board_helios4/target_spi/0101-helios4-config-set-boot-device-spinor.patch
  • patch/u-boot/v2026.04/board_helios4/target_spi/0102-helios4-reorder-boot-device.patch
  • patch/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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

1 participant