Skip to content

youyeetoo-yy3568: bump to mainline U-Boot v2026.07 - #10365

Open
hqnicolas wants to merge 1 commit into
armbian:mainfrom
hqnicolas:main
Open

youyeetoo-yy3568: bump to mainline U-Boot v2026.07#10365
hqnicolas wants to merge 1 commit into
armbian:mainfrom
hqnicolas:main

Conversation

@hqnicolas

@hqnicolas hqnicolas commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Switch the YouYeeToo YY3568 from the Radxa U-Boot fork to upstream U-Boot v2026.07.

This change:

  • Adds mainline YY3568 U-Boot DTS, U-Boot-specific DTSI, and defconfig.
  • Uses Armbian's RK3568 BL31 and DDR blobs through binman.
  • Configures the boot order as SD, NVMe, eMMC, SCSI, USB, PXE, and DHCP.
  • Removes the obsolete YY3568 DT and defconfig from the Radxa U-Boot patch directory.

How Has This Been Tested?

Checklist

  • My code follows the style guidelines of this project.
  • I have performed a self-review of my changes.
  • Hard-to-understand behavior is documented.
  • The final image build generates no new warnings.

Summary by CodeRabbit

  • New Features

    • Added mainline U-Boot support for the Youyeetoo YY3568 RK3568 board.
    • Enabled booting from SD card, NVMe, eMMC, USB, and network sources.
    • Added support for Ethernet, PCIe/NVMe, USB, display, audio, storage, and power-management hardware.
    • Updated firmware and memory initialization for board support.
  • Bug Fixes

    • Enabled two-lane operation for the PCIe 3x2 controller across supported kernel versions.
  • Refactor

    • Replaced the legacy YY3568 boot configuration with the mainline-based setup.

@github-actions github-actions Bot added size/large PR with 250 lines or more 08 Milestone: Third quarter release labels Aug 8, 2026
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The YY3568 board switches from legacy U-Boot to mainline U-Boot v2026.07. The change adds board hardware definitions, configures Armbian image integration, removes legacy board files, updates PCIe lane settings across kernel versions, and sets Rockchip boot-target priority.

Changes

YY3568 mainline U-Boot support

Layer / File(s) Summary
U-Boot board definition
patch/u-boot/v2026.07/board_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch
Adds the YY3568 defconfig and U-Boot device-tree include with SPL, FIT, storage, PCIe, network, USB, PMIC, and peripheral support.
Power, display, and PCIe hardware
patch/u-boot/v2026.07/board_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch
Adds board regulators, RK809 PMIC rails, CPU and peripheral supplies, HDMI, audio, display, and PCIe configuration.
Board I/O peripherals
patch/u-boot/v2026.07/board_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch
Configures pinctrl, audio, ADC, thermal monitoring, UART, eMMC, SD, dual Ethernet, and USB controllers.
Armbian U-Boot integration
config/boards/yy3568.csc, patch/u-boot/legacy/u-boot-radxa-rk35xx/defconfig/yy3568-rk3568_defconfig, patch/u-boot/legacy/u-boot-radxa-rk35xx/dt/rk3568-yy3568.dts
Selects the YouYeeToo defconfig, integrates U-Boot v2026.07, writes u-boot-rockchip.bin directly, sets boot-target ordering, and removes legacy board definitions.
Kernel PCIe lane configuration
patch/kernel/archive/rockchip64-6.12/dt/rk3568-yy3568.dts, patch/kernel/archive/rockchip64-6.18/dt/rk3568-yy3568.dts, patch/kernel/archive/rockchip64-7.1/dt/rk3568-yy3568.dts, patch/kernel/archive/rockchip64-7.2/dt/rk3568-yy3568.dts
Configures PCIe 3x2 for two lanes in each kernel device tree.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant BoardConfig
  participant UBootBuild
  participant ImageWriter
  participant RockchipBootTargets
  BoardConfig->>UBootBuild: select v2026.07 and YY3568 defconfig
  UBootBuild->>ImageWriter: produce u-boot-rockchip.bin
  ImageWriter->>ImageWriter: write binary at target image offset
  BoardConfig->>RockchipBootTargets: set mmc1, nvme, mmc0, scsi, usb, pxe, dhcp
Loading

Possibly related PRs

Suggested labels: BSP

Suggested reviewers: ginkage, igorpecovnik, evilolaf, iav, amazingfate

🚥 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 clearly and concisely describes the main change: updating the YY3568 to mainline U-Boot 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 Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Aug 8, 2026
@hqnicolas
hqnicolas requested review from EvilOlaf and andyshrk August 8, 2026 03:29

@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: 8

🧹 Nitpick comments (3)
patch/u-boot/v2026.07/board_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch (1)

427-433: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Remove the duplicated &hdmi_sound block.

The same override appears twice.

♻️ Proposed cleanup
 +&hdmi_sound {
 +	status = "okay";
 +};
-+
-+&hdmi_sound {
-+	status = "okay";
-+};
🤖 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_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch`
around lines 427 - 433, Remove the duplicated &hdmi_sound override so only one
block setting status to "okay" remains in the board device-tree changes.
config/boards/yy3568.csc (2)

7-8: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

BOOTCONFIG is assigned twice with the same value.

Line 20 sets the same BOOTCONFIG inside post_family_config__yy3568_use_mainline_uboot. Keep one assignment. If you keep only the hook assignment, the top-level line is dead 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/yy3568.csc` around lines 7 - 8, Remove the duplicate BOOTCONFIG
assignment by keeping only the assignment inside
post_family_config__yy3568_use_mainline_uboot; delete the top-level BOOTCONFIG
line so there is a single authoritative configuration.

37-42: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Fail the build if the BOOT_TARGETS define is absent.

sed -i reports success when the pattern does not match. If include/configs/rockchip-common.h changes shape in a future U-Boot tag, the boot order silently reverts to the U-Boot default and the diff at Line 41 prints nothing. Add a guard so the mismatch is visible.

🔧 Proposed guard
 function pre_config_uboot_target__yy3568_patch_rockchip_common_boot_order() {
 	declare -a rockchip_uboot_targets=("mmc1" "nvme" "mmc0" "scsi" "usb" "pxe" "dhcp") # mmc1=SD, mmc0=eMMC
 	display_alert "u-boot for ${BOARD}/${BRANCH}" "u-boot: adjust boot order to '${rockchip_uboot_targets[*]}'" "info"
+	grep -q '^`#define` BOOT_TARGETS' include/configs/rockchip-common.h ||
+		exit_with_error "BOOT_TARGETS define not found in include/configs/rockchip-common.h for ${BOARD}"
 	sed -i -e "s/#define BOOT_TARGETS.*/#define BOOT_TARGETS \"${rockchip_uboot_targets[*]}\"/" include/configs/rockchip-common.h
 	regular_git diff -u include/configs/rockchip-common.h || true
 }
🤖 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/yy3568.csc` around lines 37 - 42, Update
pre_config_uboot_target__yy3568_patch_rockchip_common_boot_order to verify that
include/configs/rockchip-common.h contains the BOOT_TARGETS define before or
while applying the sed replacement. Fail the build with a clear error when the
pattern is absent, rather than allowing sed to succeed silently; preserve the
existing replacement and diff behavior on a successful match.
🤖 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_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch`:
- Around line 294-303: Update the pcie_oe_regulator fixed-regulator definition
to resolve the commented-out enable-active-high property: either remove the
stale commented line or enable it, while preserving the intended active-high
polarity consistent with GPIO_ACTIVE_HIGH and the combphy1 clock-buffer
output-enable signal.
- Around line 229-239: The vcc5v0_otg regulator definition uses a different pin
than the vcc5v0_otg_en pinctrl entry and is not consumed. Align its GPIO with
the pin configured by vcc5v0_otg_en, then update usb2phy1_otg to reference
vcc5v0_otg as its OTG supply; otherwise remove the unused regulator and
associated pinctrl configuration.
- Around line 31-33: Update the &pcie3x2 pinctrl-0 assignment to retain the
existing pcie30x2m1_pins phandle and add pcie30x2_reset_h alongside it, ensuring
both the PCIe x2 mux and reset pin are applied.
- Around line 689-691: Correct the bank reference in the led_user_en pinctrl
definition to match the GPIO bank used by led_user, ensuring it muxes GPIO3 pin
RK_PA4 rather than bank 0’s SD card-detect pin. Keep the existing GPIO function
and pin configuration unchanged.
- Around line 80-81: Remove CONFIG_SPL_FIT_SIGNATURE from the YY3568 board
configuration while retaining CONFIG_SPL_LOAD_FIT, since the current patch does
not configure verified FIT boot. Only keep the signature option if the board’s
FIT signing, SPL public-key configuration, and boot pipeline are also added.
- Around line 152-157: Add rk3568-youyeetoo-yy3568.dtb to the upstream Rockchip
device-tree targets in the arm64/rockchip Makefile so
CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3568-youyeetoo-yy3568" can build it
through OF_UPSTREAM.
- Around line 835-865: Update the gmac0 and gmac1 nodes to configure the
required RGMII timing: add the board-specific tx_delay and rx_delay properties,
or change phy-mode to rgmii-id only if rgmii_phy0 and rgmii_phy1 provide both
delays. Keep the selected configuration consistent for both MACs and preserve
their existing clock, PHY, and pinctrl settings.
- Around line 435-445: Align the PCIe configuration in the device-tree fragment:
update the &pcie2x1 pinctrl setup by adding the matching pinctrl-0 group or
removing pinctrl-names, and configure the enabled &pcie3x2 controller and
&pcie30phy for both routed lanes with num-lanes = <2> and data-lanes = <2 2>.
Remove the unused vcc3v3_pcie30x1 regulator or connect it to the appropriate
PCIe supply.

---

Nitpick comments:
In `@config/boards/yy3568.csc`:
- Around line 7-8: Remove the duplicate BOOTCONFIG assignment by keeping only
the assignment inside post_family_config__yy3568_use_mainline_uboot; delete the
top-level BOOTCONFIG line so there is a single authoritative configuration.
- Around line 37-42: Update
pre_config_uboot_target__yy3568_patch_rockchip_common_boot_order to verify that
include/configs/rockchip-common.h contains the BOOT_TARGETS define before or
while applying the sed replacement. Fail the build with a clear error when the
pattern is absent, rather than allowing sed to succeed silently; preserve the
existing replacement and diff behavior on a successful match.

In
`@patch/u-boot/v2026.07/board_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch`:
- Around line 427-433: Remove the duplicated &hdmi_sound override so only one
block setting status to "okay" remains in the board device-tree changes.
🪄 Autofix

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 Plus

Run ID: 1c4f2a1a-8cab-4718-838a-f0523d887547

📥 Commits

Reviewing files that changed from the base of the PR and between 8b778f3 and fdc4612.

📒 Files selected for processing (4)
  • config/boards/yy3568.csc
  • patch/u-boot/legacy/u-boot-radxa-rk35xx/defconfig/yy3568-rk3568_defconfig
  • patch/u-boot/legacy/u-boot-radxa-rk35xx/dt/rk3568-yy3568.dts
  • patch/u-boot/v2026.07/board_yy3568/0001-board-rockchip-add-Youyeetoo-YY3568-support.patch
💤 Files with no reviewable changes (2)
  • patch/u-boot/legacy/u-boot-radxa-rk35xx/defconfig/yy3568-rk3568_defconfig
  • patch/u-boot/legacy/u-boot-radxa-rk35xx/dt/rk3568-yy3568.dts

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

✅ This PR has been reviewed and approved — all set for merge!

@github-actions github-actions Bot added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Aug 8, 2026
@igorpecovnik igorpecovnik added 11 Milestone: Fourth quarter release 08 Milestone: Third quarter release and removed 08 Milestone: Third quarter release 11 Milestone: Fourth quarter release labels Aug 8, 2026
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, ... 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.

3 participants