Skip to content

radxa-e52c: bump uboot to v2026.07#10135

Open
okrc wants to merge 2 commits into
armbian:mainfrom
okrc:e52c-uboot
Open

radxa-e52c: bump uboot to v2026.07#10135
okrc wants to merge 2 commits into
armbian:mainfrom
okrc:e52c-uboot

Conversation

@okrc

@okrc okrc commented Jul 7, 2026

Copy link
Copy Markdown
Member

This PR includes the patch from #9379. I’ve been using this patch on my device for over six months now, and all 8 cores are working perfectly.

Summary by CodeRabbit

  • New Features

    • Added support for the Radxa E52C board.
    • Enabled the generic RK3582 boot target to work with RK3582-based devices.
  • Bug Fixes

    • Improved early boot compatibility for RK3582 systems.
    • Adjusted boot behavior to avoid unnecessary device and CPU disablement during startup.
  • Chores

    • Updated the bootloader release set used by the Radxa E52C configuration.

okrc added 2 commits July 7, 2026 08:35
Signed-off-by: okrc <okrc@hexo.dev>
Signed-off-by: okrc <okrc@hexo.dev>
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Updates the Radxa E52C board configuration to build Mainline U-Boot v2026.07 (from v2026.01) and introduces new v2026.07 patches: one adding Radxa E52C device-tree/defconfig support with LEDs and SDHCI HS200 configuration, and another disabling the ip_state-based CPU/GPU failure policy in ft_system_setup() via #if 0/#endif.

Changes

Radxa E52C U-Boot v2026.07 upgrade

Layer / File(s) Summary
Board config version bump
config/boards/radxa-e52c.conf
BOOTBRANCH and BOOTPATCHDIR changed from v2026.01 to v2026.07.
New Radxa E52C board support patch
patch/u-boot/v2026.07/board_radxa-e52c/1000-add-support-for-radxa-e52c.patch
Adds rk3582-radxa-e52c-u-boot.dtsi with dual GPIO LEDs and HS200 SDHCI config, a new radxa-e52c-rk3582_defconfig, and a docs entry for the board.
Reopen disabled RK3582 fixup nodes
patch/u-boot/v2026.07/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582.patch
Wraps the ip_state-based CPU cluster/GPU/rkvenc failure policy in ft_system_setup() with #if 0/#endif, disabling that runtime behavior.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • armbian/build#9366: Both PRs modify config/boards/radxa-e52c.conf within post_family_config__radxa_e52c_use_mainline_uboot(), adjusting BOOTBRANCH/BOOTPATCHDIR.

Suggested reviewers: ColorfulRhino, NicoD-SBC, SuperKali, Tonymac32, amazingfate, pyavitz, rpardini, schwar3kat

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: updating Radxa E52C U-Boot to v2026.07.
✨ 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.

@github-actions github-actions Bot added size/large PR with 250 lines or more 08 Milestone: Third quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Jul 7, 2026

@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: 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.07/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582.patch`:
- Around line 14-29: The `ft_system_setup()` change disables the entire
OTP-derived fail policy with `#if 0`, which prevents all RK3582
bad-core/bad-GPU/bad-rkvenc nodes from being removed. Rework this so only the
E52C-specific reopen logic is bypassed or narrowed, and keep the shared
`ip_state` policy active for the CPU/GPU/rkvenc checks identified by
`FAIL_CPU_CLUSTER1`, `FAIL_GPU`, and `FAIL_RKVENC0/1`.
🪄 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: 073c46f1-b598-4045-8fbb-48b78fe2a72d

📥 Commits

Reviewing files that changed from the base of the PR and between a7f3a94 and 9690fc5.

📒 Files selected for processing (5)
  • config/boards/radxa-e52c.conf
  • patch/u-boot/v2026.01/board_radxa-e52c/0000-add-initial-rk3582-support.patch
  • patch/u-boot/v2026.01/board_radxa-e52c/0001-rk3588-generic-support-for-rk3582.patch
  • patch/u-boot/v2026.07/board_radxa-e52c/1000-add-support-for-radxa-e52c.patch
  • patch/u-boot/v2026.07/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582.patch
💤 Files with no reviewable changes (2)
  • patch/u-boot/v2026.01/board_radxa-e52c/0001-rk3588-generic-support-for-rk3582.patch
  • patch/u-boot/v2026.01/board_radxa-e52c/0000-add-initial-rk3582-support.patch

Comment on lines +14 to +29
@@ -394,6 +394,7 @@ int ft_system_setup(void *blob, struct bd_info *bd)
log_debug("ip-state: %02x %02x %02x (otp)\n",
ip_state[0], ip_state[1], ip_state[2]);

+#if 0
/* policy: fail entire big core cluster when one or more core is bad */
if (ip_state[0] & FAIL_CPU_CLUSTER1)
ip_state[0] |= FAIL_CPU_CLUSTER1;
@@ -414,6 +415,7 @@ int ft_system_setup(void *blob, struct bd_info *bd)
/* policy: always fail one rkvenc core on rk3582 */
if (!(ip_state[2] & (FAIL_RKVENC0 | FAIL_RKVENC1)))
ip_state[2] |= FAIL_RKVENC1;
+#endif

log_debug("ip-state: %02x %02x %02x (policy)\n",
ip_state[0], ip_state[1], ip_state[2]);

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.

🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the patch and the related source file(s)
git ls-files | rg '9000-reopen-disabled-nodes-for-rk3582\.patch|ft_system_setup|rk3582|rk3588'

# Show the patch context with line numbers
if git ls-files | rg -q 'patch/u-boot/v2026\.07/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582\.patch'; then
  sed -n '1,220p' patch/u-boot/v2026.07/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582.patch | cat -n
fi

# Search for the function and policy symbols in the repo
rg -n --hidden --glob '!**/.git/**' 'ft_system_setup|FAIL_CPU_CLUSTER1|FAIL_GPU|FAIL_RKVENC0|FAIL_RKVENC1|ip_state' .

Repository: armbian/build

Length of output: 41240


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the related Radxa/E52C and Rock-5C patches that touch the same logic
for f in \
  patch/u-boot/v2026.07/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582.patch \
  patch/u-boot/legacy/u-boot-radxa-rk35xx/board_rock-5c/reopen_disabled_nodes.patch \
  patch/u-boot/v2026.01/board_mixtile-core3588e/1001-fdt_fixup_ethernet-add-logs.patch
do
  if [ -f "$f" ]; then
    echo "===== $f ====="
    wc -l "$f"
    sed -n '1,240p' "$f" | cat -n
    echo
  fi
done

# Search for any board-specific references to rk3582/rkvenc policy in patch metadata
rg -n --hidden --glob 'patch/**' 'reopen disabled nodes|rk3582|rkvenc|FAIL_CPU_CLUSTER1|FAIL_GPU|FAIL_RKVENC' patch/u-boot

Repository: armbian/build

Length of output: 24931


Do not disable the shared RK3582 OTP fail policy
#if 0 turns off the OTP-derived CPU/GPU/rkvenc removal policy in ft_system_setup(), so any block marked bad by the fuse state will stay enabled. If the intent is only to reopen the E52C-specific nodes, scope this to the affected blocks instead of blanketing the whole policy.

🤖 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/board_radxa-e52c/9000-reopen-disabled-nodes-for-rk3582.patch`
around lines 14 - 29, The `ft_system_setup()` change disables the entire
OTP-derived fail policy with `#if 0`, which prevents all RK3582
bad-core/bad-GPU/bad-rkvenc nodes from being removed. Rework this so only the
E52C-specific reopen logic is bypassed or narrowed, and keep the shared
`ip_state` policy active for the CPU/GPU/rkvenc checks identified by
`FAIL_CPU_CLUSTER1`, `FAIL_GPU`, and `FAIL_RKVENC0/1`.

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