config: rockpi-e: change rkbin repository and use spl-blobs#10027
config: rockpi-e: change rkbin repository and use spl-blobs#10027chenxmqqqq wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe Rock Pi E board configuration switches its boot scenario from ChangesRock Pi E spl-blobs boot scenario
Estimated code review effort🎯 2 (Simple) | ⏱️ ~5 minutes Possibly related PRs
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 |
Hey @chenxmqqqq! 👋Thanks for submitting your first pull request to the Armbian project — we're excited to have you contributing! 🧡 If you'd like to stay informed about project updates or collaborate more closely with the team, Also, don’t forget to ⭐ star the repo if you haven’t already — and welcome aboard! 🚀 |
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 `@config/boards/rockpi-e.conf`:
- Around line 25-27: The declare -g UBOOT_TARGET_MAP assignment is fully
overwriting the variable after prepare_boot_configuration is called, which drops
any helper-added entries like BL32 and SPI-related targets. Instead of
reassigning UBOOT_TARGET_MAP completely, append the Rockchip-specific targets
(BL31, ROCKCHIP_TPL, and the image targets) to the existing UBOOT_TARGET_MAP to
preserve entries that were previously configured by the
prepare_boot_configuration function.
🪄 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: a3e060ed-7519-4b6f-9372-7eb9dfe09c22
📒 Files selected for processing (1)
config/boards/rockpi-e.conf
| prepare_boot_configuration | ||
|
|
||
| declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot.itb idbloader.img" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Preserve prepare_boot_configuration extensions instead of overwriting the full map.
At Line 27, UBOOT_TARGET_MAP is fully reassigned after prepare_boot_configuration, which drops any helper-added entries (e.g., BL32 and SPI-related targets) from the family contract.
Suggested fix
function post_family_config__rockpi_e_spl_blobs() {
display_alert "$BOARD" "Using RK3328 vendor TPL blob" "info"
prepare_boot_configuration
- declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot.itb idbloader.img"
+ # Keep scenario defaults/augmentations from prepare_boot_configuration
+ # and only inject the external TPL blob.
+ declare -g UBOOT_TARGET_MAP="ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB} ${UBOOT_TARGET_MAP}"
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| prepare_boot_configuration | |
| declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot.itb idbloader.img" | |
| function post_family_config__rockpi_e_spl_blobs() { | |
| display_alert "$BOARD" "Using RK3328 vendor TPL blob" "info" | |
| prepare_boot_configuration | |
| # Keep scenario defaults/augmentations from prepare_boot_configuration | |
| # and only inject the external TPL blob. | |
| declare -g UBOOT_TARGET_MAP="ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB} ${UBOOT_TARGET_MAP}" | |
| } |
🤖 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 `@config/boards/rockpi-e.conf` around lines 25 - 27, The declare -g
UBOOT_TARGET_MAP assignment is fully overwriting the variable after
prepare_boot_configuration is called, which drops any helper-added entries like
BL32 and SPI-related targets. Instead of reassigning UBOOT_TARGET_MAP
completely, append the Rockchip-specific targets (BL31, ROCKCHIP_TPL, and the
image targets) to the existing UBOOT_TARGET_MAP to preserve entries that were
previously configured by the prepare_boot_configuration function.
To support the DDR4 version of ROCK Pi E (V3.0). Use Rockchip vendor TPL and BL31 blobs instead of binman for U-Boot. Add rkbin repository configuration and blob paths. Signed-off-by: Xinming Chen <chenxinming@radxa.com>
| DDR_BLOB="bin/rk33/rk3328_ddr_333MHz_v1.22.bin" | ||
| BL31_BLOB="bin/rk33/rk322xh_bl31_v1.49.elf" |
There was a problem hiding this comment.
These DDR and BL31 blobs should simply be committed to armbian/rkbin. Open a PR in there 👍
There was a problem hiding this comment.
Thanks, I have already submitted a new PR. [https://github.com/armbian/rkbin/pull/48].
| BOOTBRANCH_BOARD="tag:v2026.04" | ||
| BOOTPATCHDIR="v2026.04" | ||
| BOOT_SCENARIO="binman" | ||
| BOOT_SCENARIO="spl-blobs" |
There was a problem hiding this comment.
Why?! One can still change blobs without leaving binman.
There was a problem hiding this comment.
I previously tested my generated firmware using binman and found that DDR4 could not boot. It was identified as DDR3.
rockpi-e.conf:
BOOT_SCENARIO="binman"
RKBIN_GIT_URL="https://github.com/rockchip-linux/rkbin"
RKBIN_GIT_BRANCH="master"
DDR_BLOB="bin/rk33/rk3328_ddr_333MHz_v1.22.bin"
BL31_BLOB="bin/rk33/rk322xh_bl31_v1.49.elf"
MINILOADER_BLOB="bin/rk33/rk322xh_miniloader_v2.50.bin"
rock-pi-e boot log:
U-Boot TPL 2026.04_armbian-2026.04-S88dc-P4d0c-Hd9fb-V7915-Bd0d2-R448a (Jun 24 2026 - 08:58:27)
data training error
col error
data training error
DDR3, 333MHz
BW=16 Col=12 Bk=8 CS0 Row=16 CS=1 Die BW=8 Size=4096MB
Trying to boot from BOOTROM
Returning to boot ROM...
Summary by CodeRabbit