radxa-e52c: bump uboot to v2026.07#10135
Conversation
Signed-off-by: okrc <okrc@hexo.dev>
Signed-off-by: okrc <okrc@hexo.dev>
📝 WalkthroughWalkthroughUpdates 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 ChangesRadxa E52C U-Boot v2026.07 upgrade
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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.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
📒 Files selected for processing (5)
config/boards/radxa-e52c.confpatch/u-boot/v2026.01/board_radxa-e52c/0000-add-initial-rk3582-support.patchpatch/u-boot/v2026.01/board_radxa-e52c/0001-rk3588-generic-support-for-rk3582.patchpatch/u-boot/v2026.07/board_radxa-e52c/1000-add-support-for-radxa-e52c.patchpatch/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
| @@ -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]); |
There was a problem hiding this comment.
🩺 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-bootRepository: 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`.
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
Bug Fixes
Chores