Skip to content

Conversation

@SuperKali
Copy link
Member

Description

This PR updates U-Boot to version 2025.10 and refactors the Youyeetoo R1 device tree with audio and NPU support improvements.

Changes include:

  • U-Boot version bump to 2025.10
  • Youyeetoo R1 DTS refactoring:
    • Added ES8323 audio codec device node
    • Added NPU (Neural Processing Unit) device node
    • Corrected audio codec naming from ES8388 to ES8323 in youyeetoo-r1-v3.csc (the board uses ES8323, not ES8388)
  • Enabled CONFIG_SND_SOC_ES8323=y in linux-rockchip64-edge.config for proper audio codec driver support
  • Re-enabled HS400-ES support for eMMC

How Has This Been Tested?

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 23, 2025

Walkthrough

This pull request updates configuration for the youyeetoo-r1-v3 board and associated kernel driver support. Changes include: updating the board's audio device naming from ES8388 to ES8323 in naming rules, bumping U-Boot version references from v2025.04 to v2025.10, adding a new hook function to allow U-Boot to auto-detect DTB names when using mainline U-Boot, adjusting boot target ordering in common Rockchip configuration, and enabling the CONFIG_SND_SOC_ES8323 kernel audio driver.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

The changes consist primarily of version updates (v2025.04 to v2025.10) and configuration adjustments across two files. While the new hook function for DTB auto-detection and boot target reordering introduce minor logic considerations, the overall pattern is straightforward and relatively homogeneous. The kernel config change is a single-line addition.

Possibly related PRs

Suggested labels

Ready to merge, size/medium, Hardware, Patches, BSP

Suggested reviewers

  • igorpecovnik
  • rpardini
  • paolosabatino
  • joekhoobyar
  • pyavitz
  • catalinii

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "Update U-Boot to 2025.10 and refactor Youyeetoo R1 DTS (ES8323 audio + NPU)" directly and clearly summarizes the main changes in the changeset. The title identifies both the primary change (U-Boot version bump) and the secondary major change (Youyeetoo R1 DTS refactoring), with specific details about the audio codec and NPU support. The title is concise, specific, and a teammate reviewing commit history would immediately understand the core purpose of these changes.
Description Check ✅ Passed The pull request description is directly related to the changeset and provides meaningful information about the modifications. It clearly outlines the key changes including the U-Boot version bump, specific DTS refactoring details (ES8323 audio codec correction, NPU support), kernel configuration updates, and eMMC improvements. The description also includes testing verification details and completed checklist items, demonstrating the author's diligence and providing context for the changes.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@github-actions github-actions bot added the Needs review Seeking for review label Oct 23, 2025
@github-actions github-actions bot added Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Oct 23, 2025
Copy link
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.

Actionable comments posted: 0

🧹 Nitpick comments (2)
config/kernel/linux-rockchip64-edge.config (1)

2194-2194: Verify the built-in driver choice for ES8323.

The ES8323 codec is enabled as built-in (=y), while the neighboring ES8316 (line 2193) and ES8326 (line 2195) codecs are configured as modules (=m). Building it in is reasonable for board-specific hardware, but consider whether a module would provide better flexibility for users who may not need this codec.

If a module is preferred, apply this change:

-CONFIG_SND_SOC_ES8323=y
+CONFIG_SND_SOC_ES8323=m
config/boards/youyeetoo-r1-v3.csc (1)

56-61: Verify U-Boot auto-detection works and consider branch-specific logic.

This new function unsets BOOT_FDT_FILE to allow U-Boot to auto-detect the DTB. A few considerations:

  1. Auto-detection verification: The comment states "U-boot 2025.04+ can detect and set fdtfile automatically on youyeetoo r1 v3", but this needs confirmation with v2025.10 on actual hardware. Boot failure will occur if auto-detection fails.

  2. Vendor kernel builds: This function runs unconditionally for all kernel branches (vendor, current, edge). If vendor builds use different U-Boot (e.g., not mainline), they might need the explicit BOOT_FDT_FILE setting. Consider adding a branch check:

    if [[ "${BRANCH}" != "vendor" ]]; then
      unset BOOT_FDT_FILE
    fi
  3. Function naming: The function name includes "v3" but the comment suggests it works for "both variants". Consider clarifying which variants are supported.

The verification mentioned in line 41-42 comment will help confirm point 1 above. For point 2, please confirm whether vendor builds are intended to use this configuration or if there's a separate board config file for vendor/LTS builds as suggested by the comment on line 58.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4a7b997 and 5e00644.

⛔ Files ignored due to path filters (3)
  • patch/kernel/archive/rockchip64-6.18/dt/rk3588s-youyeetoo-r1.dts is excluded by !patch/**
  • patch/u-boot/v2025.10/board_youyeetoo-r1-v3/youyeetoo-r1-v3-add-support.patch is excluded by !patch/**
  • patch/u-boot/v2025.10/board_youyeetoo-r1-v3/youyeetoo-r1-v3-upstream-dts.patch is excluded by !patch/**
📒 Files selected for processing (2)
  • config/boards/youyeetoo-r1-v3.csc (3 hunks)
  • config/kernel/linux-rockchip64-edge.config (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-14T05:08:11.785Z
Learnt from: EvilOlaf
PR: armbian/build#8754
File: config/boards/bestv-r3300-l.csc:14-16
Timestamp: 2025-10-14T05:08:11.785Z
Learning: In the Armbian build system, BOOTBRANCH_BOARD is a valid framework variable used as a fallback when BOOTBRANCH is unset. The framework checks BOOTBRANCH_BOARD before applying the default bootloader branch value (see config/sources/common.conf). Board configuration files can use BOOTBRANCH_BOARD to specify the bootloader branch.

Applied to files:

  • config/boards/youyeetoo-r1-v3.csc
📚 Learning: 2025-06-04T23:45:38.860Z
Learnt from: djurny
PR: armbian/build#8272
File: config/bootscripts/boot-mvebu.cmd:182-186
Timestamp: 2025-06-04T23:45:38.860Z
Learning: In config/bootscripts/boot-mvebu.cmd, the `fdtfile` variable is mandatory for booting and is pre-set by U-Boot, but can be overridden via armbianEnv.txt. If `fdtfile` is empty, the subsequent device tree file search logic will eventually fail and trigger the critical error "Cannot find DT!" with proper error handling.

Applied to files:

  • config/boards/youyeetoo-r1-v3.csc
🔇 Additional comments (2)
config/boards/youyeetoo-r1-v3.csc (2)

20-20: LGTM - Audio device naming correction looks good.

The change from platform-es8388-sound to platform-es8323-sound correctly reflects the actual hardware codec and aligns with the kernel driver being enabled in linux-rockchip64-edge.config.


41-42: U-Boot v2025.10 version bump verified.

The U-Boot version has been successfully updated from v2025.04 to v2025.10:

  • The v2025.10 tag exists in the U-Boot repository
  • Patches for v2025.10 are available, including board-specific patches

BOOTBRANCH and BOOTPATCHDIR changes are consistent with this version.

@github-actions github-actions bot added the Ready to merge Reviewed, tested and ready for merge label Oct 23, 2025
@github-actions
Copy link
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 Oct 23, 2025
@SuperKali SuperKali merged commit a24fada into armbian:main Oct 23, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Milestone: Fourth 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.

2 participants