Skip to content

nanopi-r76s: bump mainline u-boot to v2026.04 and drop vendor-branch gates#9869

Merged
SuperKali merged 2 commits into
armbian:mainfrom
OpenSource-YYT:feat/nanopi-r76s-uboot-v2026.04
May 20, 2026
Merged

nanopi-r76s: bump mainline u-boot to v2026.04 and drop vendor-branch gates#9869
SuperKali merged 2 commits into
armbian:mainfrom
OpenSource-YYT:feat/nanopi-r76s-uboot-v2026.04

Conversation

@SuperKali
Copy link
Copy Markdown
Member

@SuperKali SuperKali commented May 20, 2026

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's dts/upstream/ sync catches up, the DTS hunk in our patch drops out and the boot-order list needs to flip to match the upstream mmc0/mmc1 alias mapping.

How Has This Been Tested?

  • Patch applies on u-boot v2026.04
  • Build pending
  • Boot validation pending

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code

Summary by CodeRabbit

Release Notes

  • New Features
    • Added complete U-Boot support for FriendlyELEC NanoPi R76S (RK3576) with MMC, PCIe, Ethernet, USB, and HDMI subsystems.
    • Updated NanoPi R76S U-Boot to version 2026.04.
    • Modified boot device priority order for more reliable system initialization.

Review Change Stack

@github-actions github-actions Bot added 05 Milestone: Second quarter release size/small PR with less then 50 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels May 20, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 57d8fe51-953f-41d3-9e31-72a6d07f2ec8

📥 Commits

Reviewing files that changed from the base of the PR and between 4956535 and 6ab7111.

📒 Files selected for processing (2)
  • config/boards/nanopi-r76s.conf
  • patch/u-boot/v2026.04/board_nanopi-r76s/add-nanopi-r76s-support.patch

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.


📝 Walkthrough

Walkthrough

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

Changes

NanoPi R76S U-Boot and DTS

Layer / File(s) Summary
Mainline U-Boot selection and boot-order patching
config/boards/nanopi-r76s.conf
post_family_config__nanopi_r76s_use_mainline_uboot() now always selects mainline U-Boot and updates BOOTBRANCH/BOOTPATCHDIR to tag:v2026.04/v2026.04. pre_config_uboot_target__nanopi_r76s_patch_rockchip_common_boot_order() no longer early-returns on BRANCH="vendor", and boot-target ordering uses mmc1 before mmc0.
Patch header and board defconfig
patch/u-boot/v2026.04/board_nanopi-r76s/add-nanopi-r76s-support.patch
Adds the patch that declares a U-Boot DTS shim and nanopi-r76s-rk3576_defconfig, enabling RK3576 MMC/SDHCI and required U-Boot subsystems.
Upstream DTS: identity, regulators, PMIC, and peripherals
patch/u-boot/.../rk3576-nanopi-r76s.dts
Adds upstream DTS nodes: model/compatibles, chosen serial stdout, GPIO keys/LEDs, HDMI wiring, SDIO power-seq, RK806 PMIC (pinctrl/DVS groups), a detailed regulators subtree, RTC, PCIe power/reset, SD/MMC/SDIO (RTL8822CS) and SDHCI controller settings, USB/UART wiring, SARADC, and HDMI/VOP endpoint connections.

Sequence Diagram

sequenceDiagram
  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
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • armbian/build#9848: Similar Rockchip boot-order and mainline U-Boot v2026.04 updates.
  • armbian/build#9869: Direct overlap modifying config/boards/nanopi-r76s.conf mainline U-Boot hooks and boot-order logic.
  • armbian/build#9836: Removes BRANCH="vendor" early returns in board U-Boot hooks for other boards.

Suggested reviewers

  • prahal
  • rpardini
  • amazingfate
  • igorpecovnik
  • catalinii
  • paolosabatino
  • Tonymac32
  • HeyMeco
  • pyavitz
  • NicoD-SBC
  • schwar3kat
  • ColorfulRhino

Poem

🐇 I nudged the boot, hopped branches into light,
v2026.04 now wakes the board at night.
DTS wires rails and LEDs aglow,
SD spins first, PCIe and USB flow.
NanoPi R76S — a rabbit's tiny show.

🚥 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.
Title check ✅ Passed The title accurately summarizes the main changes: bumping mainline u-boot to v2026.04 and removing vendor-branch conditional gates, which are the primary objectives of the pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ 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.

@SuperKali SuperKali force-pushed the feat/nanopi-r76s-uboot-v2026.04 branch from 3dc17d7 to 4c3560d Compare May 20, 2026 11:56
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

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 lift

Verify 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:

  1. Explicitly test vendor kernel branch build and boot with the new mainline U-Boot configuration
  2. Verify vendor kernels work correctly with the boot order patch (lines 51-56: BOOT_TARGETS modification for rockchip-common.h)
  3. 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

📥 Commits

Reviewing files that changed from the base of the PR and between 4a09ca3 and 3dc17d7.

📒 Files selected for processing (2)
  • config/boards/nanopi-r76s.conf
  • patch/u-boot/v2026.04/board_nanopi-r76s/add-nanopi-r76s-support.patch

@SuperKali SuperKali force-pushed the feat/nanopi-r76s-uboot-v2026.04 branch from 4c3560d to 9b7cc1a Compare May 20, 2026 11:57
@SuperKali SuperKali changed the title nanopi-r76s: use mainline u-boot v2026.04 for all branches nanopi-r76s: bump mainline u-boot to v2026.04 and drop vendor-branch gates May 20, 2026
@SuperKali SuperKali force-pushed the feat/nanopi-r76s-uboot-v2026.04 branch 2 times, most recently from 9b7cc1a to 4956535 Compare May 20, 2026 11:59
@SuperKali
Copy link
Copy Markdown
Member Author

Tests are planned for this afternoon.

Copy link
Copy Markdown
Member

@EvilOlaf EvilOlaf left a comment

Choose a reason for hiding this comment

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

lgtm. merge at will once tests have succeeded

@github-actions github-actions Bot added the Ready to merge Reviewed, tested and ready for merge label May 20, 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 May 20, 2026
@SuperKali
Copy link
Copy Markdown
Member Author

I've encountered some issues, which I think I've resolved. I'll send a new commit as soon as I'm sure

SuperKali added 2 commits May 20, 2026 22:44
…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.
@SuperKali SuperKali force-pushed the feat/nanopi-r76s-uboot-v2026.04 branch from 4956535 to 6ab7111 Compare May 20, 2026 20:44
@github-actions github-actions Bot added size/large PR with 250 lines or more Ready to merge Reviewed, tested and ready for merge Needs review Seeking for review and removed size/small PR with less then 50 lines Ready to merge Reviewed, tested and ready for merge labels May 20, 2026
@SuperKali SuperKali merged commit ff85b4e into armbian:main May 20, 2026
12 of 13 checks passed
@SuperKali SuperKali deleted the feat/nanopi-r76s-uboot-v2026.04 branch May 20, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review 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.

2 participants