Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

cm3588-nas: u-boot: bump to v2026.07-rc3 - #9975

#9975
Merged
igorpecovnik merged 3 commits into
armbian:mainarmbian/build:mainfrom
rpardini:pr/cm3588-nas-u-boot-bump-to-v202607-rc3rpardini/armbian-build:pr/cm3588-nas-u-boot-bump-to-v202607-rc3Copy head branch name to clipboard
Jun 15, 2026
Merged

cm3588-nas: u-boot: bump to v2026.07-rc3#9975
igorpecovnik merged 3 commits into
armbian:mainarmbian/build:mainfrom
rpardini:pr/cm3588-nas-u-boot-bump-to-v202607-rc3rpardini/armbian-build:pr/cm3588-nas-u-boot-bump-to-v202607-rc3Copy head branch name to clipboard

Conversation

@rpardini

@rpardini rpardini commented Jun 14, 2026

Copy link
Copy Markdown
Member

cm3588-nas: u-boot: bump to v2026.07-rc3

  • 🍀 u-boot: v2026.07: prepare patching folder for v2026.07
  • 🌱 cm3588-nas: u-boot: bump to v2026.07-rc3
    • incl LED name change fix
  • 🌿 cm3588-nas: use Rockchip BL31 blob for BRANCH==vendor; still mainline u-boot

Summary by CodeRabbit

Release Notes

  • New Features

    • Added fileenv command to read files from FAT filesystem into environment variables.
  • Chores

    • Updated CM3588 NAS board configuration with U-Boot version changes and LED pattern updates.
    • Added I2S MCLK output clock definitions for RK3588.
    • Enhanced bootloader logging for ethernet and device tree operations.

@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The CM3588-NAS board config is bumped to U-Boot v2026.07-rc4 with branch-dependent BL31 selection (rkbin blob for vendor branch, mainline bl31.elf otherwise), updated preboot LED sequence, and a duplicate config entry removed. A new patch/u-boot/v2026.07 directory is introduced with an overlay config YAML, an FDT Ethernet fixup logging patch, a new fileenv command patch, and an RK3588 I2S MCLK clock ID additions patch.

Changes

CM3588-NAS board config and U-Boot v2026.07 patches

Layer / File(s) Summary
CM3588-NAS board config: U-Boot bump, BL31 selection, and fixups
config/boards/cm3588-nas.csc
Bumps U-Boot to v2026.07-rc4/v2026.07 patch dir, introduces branch-conditional BL31 selection (rkbin blob for vendor, bl31.elf otherwise) in UBOOT_TARGET_MAP, updates preboot LED heartbeat sequence, removes duplicate CONFIG_CMD_USB_MASS_STORAGE, and adds TODO comments for vendor-only workarounds.
v2026.07 patch directory overlay config
patch/u-boot/v2026.07/0000.patching_config.yaml
New patching config YAML that declares three overlay-directory mappings (defconfigconfigs, dt_upstream_rockchipdts/upstream/src/arm64/rockchip, dt_ubootarch/arm/dts) for populating the U-Boot source tree.
FDT Ethernet fixup logging patch
patch/u-boot/v2026.07/1001-fdt_fixup_ethernet-add-logs.patch
Instruments fdt_fixup_ethernet with per-alias log_info messages, skip-path guards, and a final summary counter. Adds weak ft_board_setup/ft_system_setup stubs with logging in image-fdt.c and wraps existing call sites.
New fileenv U-Boot command patch
patch/u-boot/v2026.07/cmd-fileenv-read-string-from-file-into-env.patch
Introduces CMD_FILEENV Kconfig option, cmd/Makefile wiring, and cmd/fileenv.c implementing do_fileenv() which loads a FAT file into a memory buffer, sanitizes it, and stores the result as a U-Boot environment variable.
RK3588 I2S MCLK clock ID additions
patch/u-boot/v2026.07/general-rk3588-add-i2s-mclk-output-to-io-clock-ids.patch
Adds four I2S{0,1}_8CH_MCLKOUT_TO_IO and I2S{2,3}_2CH_MCLKOUT_TO_IO clock ID macros to rockchip,rk3588-cru.h.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • armbian/build#9869: Modifies board-level U-Boot selection logic (BOOTBRANCH/BOOTPATCHDIR) in board config files, the same mechanism updated here for CM3588-NAS.
  • armbian/build#9933: Introduces ethernet0/ethernet1 DT aliases with placeholder MACs for the same U-Boot fdt_fixup_ethernet injection path patched in this PR.
  • armbian/build#9903: Updates mainline U-Boot BOOTBRANCH/BOOTPATCHDIR/UBOOT_TARGET_MAP and BL31 handling in a board .csc file, directly parallel to the changes here.

Suggested labels

Ready to merge

Suggested reviewers

  • amazingfate
  • paolosabatino
  • prahal
  • igorpecovnik
  • lanefu

🐇 A new version hops into view,
BL31 picks the right blob too,
fileenv reads from FAT with care,
logs now trace each alias there,
CM3588 leaps ahead — hooray! 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title states a bump to v2026.07-rc3, but the actual changes show a bump to v2026.07-rc4 and v2026.07, not rc3 as claimed. Update the PR title to accurately reflect the actual u-boot version bump (v2026.07-rc4) or verify the version change aligns with the stated objective.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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

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 08 Milestone: Third quarter release size/large PR with 250 lines or more Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Jun 14, 2026
@rpardini
rpardini marked this pull request as ready for review June 14, 2026 19:38

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (1)
patch/u-boot/v2026.07/cmd-fileenv-read-string-from-file-into-env.patch (1)

57-57: 💤 Low value

Consider using a local variable instead of static global.

fs_argv doesn't need to persist across calls and could be a local array inside do_fileenv(). This avoids unnecessary static state.

Proposed change
-static char *fs_argv[5];
-
 int do_fileenv(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
 {
+	char *fs_argv[5];
+
 	if (argc < 6)
 		return CMD_RET_USAGE;
🤖 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.07/cmd-fileenv-read-string-from-file-into-env.patch` at
line 57, The variable `fs_argv` is currently declared as a static global array
that persists across function calls, but since it does not need to retain its
value between invocations, convert it to a local variable. Move the declaration
`static char *fs_argv[5];` from the global scope into the `do_fileenv()`
function (removing the static keyword), placing it near the beginning of the
function before it is first used. Update all references to `fs_argv` within
`do_fileenv()` to work with the local variable.
🤖 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.07/1001-fdt_fixup_ethernet-add-logs.patch`:
- Around line 130-131: The patch file 1001-fdt_fixup_ethernet-add-logs.patch has
an unintended blank line being added before the SPDX-License-Identifier header
at the start of the file. Remove the blank line that appears before the SPDX
header so that the SPDX-License-Identifier comment becomes the first line of the
file, as required by license-scanning tools.
- Around line 92-103: The variable nodeoff is being redeclared at line 92 which
shadows the existing nodeoff variable declared at function scope (line 70 when
FDT_SEQ_MACADDR_FROM_ENV is defined), causing a redundant fdt_path_offset call.
Remove the variable declaration at line 92 and reuse the existing nodeoff
variable instead, assigning the result of fdt_path_offset directly to it.
Additionally, review the status check logic at lines 98-103: the current
condition strcmp((const char *)status_prop->data, "okay") only allows nodes with
status="okay" or no status property, but the previous behavior would patch any
node that is not "disabled". Determine whether this stricter check is
intentional for backward compatibility or if it should be changed to skip only
"disabled" nodes.

In `@patch/u-boot/v2026.07/cmd-fileenv-read-string-from-file-into-env.patch`:
- Around line 25-29: The CMD_FILEENV Kconfig configuration block is missing a
dependency declaration on CMD_FAT. Since the implementation relies on
do_fat_fsload() which is only available when CMD_FAT is enabled, add a
dependency statement within the config CMD_FILEENV block to declare the required
dependency on CMD_FAT. This will prevent link-time failures when enabling
CMD_FILEENV without FAT support.
- Around line 79-86: The sanitization loop exits immediately when it encounters
a non-printable character because it sets *s = 0x00 (null-terminating the
string) without advancing the pointer, causing the while condition to become
false on the next iteration. This truncates the string at the first
non-printable character rather than removing it. To fix this, either: (1) add a
comment to clarify that truncation at first non-printable is intentional
behavior, or (2) if the intent is to strip non-printables while preserving
subsequent content, use a two-pointer approach where you write printable
characters to a destination pointer while reading from source pointer s,
allowing the loop to continue processing the entire string and compact it by
removing non-printables.

---

Nitpick comments:
In `@patch/u-boot/v2026.07/cmd-fileenv-read-string-from-file-into-env.patch`:
- Line 57: The variable `fs_argv` is currently declared as a static global array
that persists across function calls, but since it does not need to retain its
value between invocations, convert it to a local variable. Move the declaration
`static char *fs_argv[5];` from the global scope into the `do_fileenv()`
function (removing the static keyword), placing it near the beginning of the
function before it is first used. Update all references to `fs_argv` within
`do_fileenv()` to work with the local variable.
🪄 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: 87a53645-e2ad-4ffb-8ca6-26ac9041271f

📥 Commits

Reviewing files that changed from the base of the PR and between 58bd5fe and 5ae0931.

📒 Files selected for processing (5)
  • config/boards/cm3588-nas.csc
  • patch/u-boot/v2026.07/0000.patching_config.yaml
  • patch/u-boot/v2026.07/1001-fdt_fixup_ethernet-add-logs.patch
  • patch/u-boot/v2026.07/cmd-fileenv-read-string-from-file-into-env.patch
  • patch/u-boot/v2026.07/general-rk3588-add-i2s-mclk-output-to-io-clock-ids.patch

Comment thread patch/u-boot/v2026.07/1001-fdt_fixup_ethernet-add-logs.patch
Comment thread patch/u-boot/v2026.07/1001-fdt_fixup_ethernet-add-logs.patch
@github-actions github-actions Bot added the Ready to merge Reviewed, tested and ready for merge label Jun 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ This PR has been reviewed and approved — all set for merge!

@github-actions github-actions Bot removed the Needs review Seeking for review label Jun 15, 2026
@igorpecovnik
igorpecovnik merged commit de8c77b into armbian:main Jun 15, 2026
17 checks passed
@HeyMeco

HeyMeco commented Jun 15, 2026

Copy link
Copy Markdown
Member

@rpardini any specific reason you did 5ae0931 ?

@rpardini

Copy link
Copy Markdown
Member Author

@rpardini any specific reason you did 5ae0931 ?

Yep, hdmi-rx on vendor requires the vendor BL31/ATF/TF-A blob.
While mainline kernel requires mainline AT-F.

There's an interrupt remap, see https://lore.kernel.org/linux-rockchip/20251210160006.528997-1-dmitry.osipenko@collabora.com/

@HeyMeco

HeyMeco commented Jun 15, 2026

Copy link
Copy Markdown
Member

Ah okay that’s what I thought might be it. Haven’t considered the hybrid approach you used here but my thought process on my maintained boards was that if you know how to utilise HDMI RX you can also build your own u-boot but I think I'm going to adapt this too

@rpardini

Copy link
Copy Markdown
Member Author

It does make it work -- but it creates the situation "what the hell TF-A/u-boot do I have on this eMMC/SPI/etc?" which is quite confusing. Specially for boards with say SPI, and people might be switching between vendor and mainline.

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

Labels

08 Milestone: Third quarter release Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.