nanopi-r76s: bump mainline u-boot to v2026.04 and drop vendor-branch gates#9869
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
Disabled knowledge base sources:
📝 WalkthroughWalkthroughBoard config now unconditionally selects mainline U-Boot at tag v2026.04 and Rockchip boot-target reordering runs for all branches; a U-Boot patch adds an upstream RK3576 NanoPi R76S DTS, a U-Boot DTS shim, and a board defconfig enabling RK3576 features. ChangesNanoPi R76S U-Boot and DTS
Sequence DiagramsequenceDiagram
participant Patch as add-nanopi-r76s-support.patch
participant Defconfig as nanopi-r76s-rk3576_defconfig
participant UBootDTS as rk3576-nanopi-r76s.dts
Patch->>Defconfig: add board defconfig enabling RK3576 subsystems
Patch->>UBootDTS: add upstream device tree (regulators, peripherals, PMIC)
Defconfig->>UBootDTS: select default FDT name for board
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 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 |
3dc17d7 to
4c3560d
Compare
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
config/boards/nanopi-r76s.conf (1)
25-56:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftVerify vendor kernel branch compatibility with mainline U-Boot v2026.04.
Vendor branch is an explicitly supported KERNEL_TARGET for this board (line 6). The removal of vendor-branch early-returns means mainline U-Boot v2026.04 will now be used for the vendor kernel branch instead of vendor-specific U-Boot. Since no vendor-specific U-Boot configurations exist elsewhere in the codebase:
- Explicitly test vendor kernel branch build and boot with the new mainline U-Boot configuration
- Verify vendor kernels work correctly with the boot order patch (lines 51-56: BOOT_TARGETS modification for rockchip-common.h)
- Document this behavioral change for existing users on vendor branch, as this is a breaking change from prior configuration
🤖 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/nanopi-r76s.conf` around lines 25 - 56, The change enables mainline U-Boot v2026.04 for this board (post_family_config__nanopi_r76s_use_mainline_uboot) which may break the vendor kernel branch and changes BOOT_TARGETS via pre_config_uboot_target__nanopi_r76s_patch_rockchip_common_boot_order; verify by (1) building and boot-testing the vendor KERNEL_TARGET with BOOTBRANCH="tag:v2026.04" and the build flow that previously used vendor U-Boot, (2) confirming vendor kernel boots correctly with the modified BOOT_TARGETS ("mmc0 mmc1 nvme scsi usb pxe dhcp") applied to include/configs/rockchip-common.h, and (3) add a short note to the board config docs/changelog stating that post_family_config__nanopi_r76s_use_mainline_uboot now applies mainline U-Boot v2026.04 to vendor kernels and that boot order is altered by pre_config_uboot_target__nanopi_r76s_patch_rockchip_common_boot_order so users on the vendor branch are aware this is a breaking change.
🤖 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.
Outside diff comments:
In `@config/boards/nanopi-r76s.conf`:
- Around line 25-56: The change enables mainline U-Boot v2026.04 for this board
(post_family_config__nanopi_r76s_use_mainline_uboot) which may break the vendor
kernel branch and changes BOOT_TARGETS via
pre_config_uboot_target__nanopi_r76s_patch_rockchip_common_boot_order; verify by
(1) building and boot-testing the vendor KERNEL_TARGET with
BOOTBRANCH="tag:v2026.04" and the build flow that previously used vendor U-Boot,
(2) confirming vendor kernel boots correctly with the modified BOOT_TARGETS
("mmc0 mmc1 nvme scsi usb pxe dhcp") applied to
include/configs/rockchip-common.h, and (3) add a short note to the board config
docs/changelog stating that post_family_config__nanopi_r76s_use_mainline_uboot
now applies mainline U-Boot v2026.04 to vendor kernels and that boot order is
altered by pre_config_uboot_target__nanopi_r76s_patch_rockchip_common_boot_order
so users on the vendor branch are aware this is a breaking change.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3ca4fe48-4731-4355-8f31-2cd42fabb849
📒 Files selected for processing (2)
config/boards/nanopi-r76s.confpatch/u-boot/v2026.04/board_nanopi-r76s/add-nanopi-r76s-support.patch
4c3560d to
9b7cc1a
Compare
9b7cc1a to
4956535
Compare
|
Tests are planned for this afternoon. |
EvilOlaf
left a comment
There was a problem hiding this comment.
lgtm. merge at will once tests have succeeded
|
✅ This PR has been reviewed and approved — all set for merge! |
|
I've encountered some issues, which I think I've resolved. I'll send a new commit as soon as I'm sure |
…gates Drop the BRANCH==vendor early-returns in both post_family_config__nanopi_r76s_use_mainline_uboot and pre_config_uboot_target__nanopi_r76s_patch_rockchip_common_boot_order so mainline u-boot is taken on every kernel branch, and bump BOOTBRANCH/BOOTPATCHDIR from v2026.01 to v2026.04. The R76S board support patch is still carried locally since the board is not yet in u-boot upstream. Signed-off-by: SuperKali <hello@superkali.me>
Reformat board support patch with proper format-patch headers, set mmc1 (SD) before mmc0 (eMMC) to match upstream Linux DTS aliases.
4956535 to
6ab7111
Compare
Description
R76S was on mainline u-boot v2026.01, but the path was gated to non-vendor branches; vendor fell back to the Radxa fork. Drop those gates and bump to v2026.04 so all branches get the same mainline u-boot.
The R76S board support is still carried as a local patch since the board has not landed in u-boot upstream yet, and it applies cleanly on v2026.04.
Linux mainline now ships
rk3576-nanopi-r76s.dts. Once u-boot'sdts/upstream/sync catches up, the DTS hunk in our patch drops out and the boot-order list needs to flip to match the upstreammmc0/mmc1alias mapping.How Has This Been Tested?
Checklist:
Summary by CodeRabbit
Release Notes