WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@rpardini
Copy link
Member

@rpardini rpardini commented Dec 4, 2025

  • already had the regulator (vdd_npu_s0)

Summary by CodeRabbit

  • New Features

    • NPU (Neural Processing Unit) support is now enabled on Turing RK1, providing hardware-accelerated neural network processing capabilities.
  • Improvements

    • Storage controller configuration updated for enhanced compatibility.

✏️ Tip: You can customize this high-level summary in your review settings.

- already had the regulator (`vdd_npu_s0`)
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 4, 2025

Walkthrough

This PR introduces a device tree patch that enables NPU (Neural Processing Unit) support on the Rockchip RK3588 Turing RK1 platform by defining power supplies for NPU cores and MMUs, and updating SD card configuration.

Changes

Cohort / File(s) Summary
NPU Device Tree Enablement
patch/kernel/archive/rockchip64-6.18/rk3588-1202-arm64-dts-rockchip-Enable-the-NPU-on-Turing-RK1.patch
Adds NPU power domain (&pd_npu) with vdd_npu_s0 supply; enables three NPU cores (&rknn_core_0/1/2) with npu-supply and sram-supply references; enables three NPU MMUs (&rknn_mmu_0/1/2); updates SD card host (&sdhci) to use 8-bit bus width and disable SDIO mode

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify power domain supply hierarchy and regulator references (vdd_npu_s0) are consistent across all NPU cores
  • Confirm NPU core and MMU status definitions follow Rockchip RK3588 device tree conventions
  • Validate SD card configuration change (bus-width = <8>; no-sdio;) does not conflict with Turing RK1 hardware specifications

Possibly related PRs

Suggested reviewers

  • rpardini
  • amazingfate
  • JohnTheCoolingFan
  • SuperKali
  • Tonymac32
  • chainsx
  • igorpecovnik

Poem

🐰 The Neural Processing bunny hops with glee,
Three cores awakened, now NPU is free!
With power domains flowing from vdd to the sky,
RK3588 learns to think, and computations fly! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: enabling NPU support on the Turing RK1 platform for the rockchip64-6.18 kernel, which aligns directly with the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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.

@rpardini rpardini marked this pull request as ready for review December 4, 2025 17:19
@github-actions github-actions bot added 02 Milestone: First quarter release size/medium PR with more then 50 and less then 250 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Dec 4, 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 (1)
patch/kernel/archive/rockchip64-6.18/rk3588-1202-arm64-dts-rockchip-Enable-the-NPU-on-Turing-RK1.patch (1)

63-65: SDHCI bus-width/no-sdio change may impact SDIO users — confirm board wiring

Changing &sdhci to bus-width = <8>; and adding no-sdio; is appropriate if this controller is strictly used as 8‑bit eMMC on Turing RK1 with no SDIO consumers. Please verify that there are no board variants or add‑on modules relying on SDIO on this host, to avoid silently breaking WiFi or other peripherals.

📜 Review details

Configuration used: Path: .coderabbit.yaml

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 6f4e67b and 90b16e2.

📒 Files selected for processing (1)
  • patch/kernel/archive/rockchip64-6.18/rk3588-1202-arm64-dts-rockchip-Enable-the-NPU-on-Turing-RK1.patch (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: amazingfate
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:222-230
Timestamp: 2025-09-14T06:32:29.806Z
Learning: In the Armbian build system, the write_uboot_platform() function implementations follow different patterns across Rockchip family files. The newer standard (used in rockchip64_common.inc and rk3506) includes 'status=none' parameter in dd commands, while older implementations (rk3288, rk322x) use an older pattern without this parameter. The rk3506 implementation correctly follows the current Rockchip family standard.
🔇 Additional comments (3)
patch/kernel/archive/rockchip64-6.18/rk3588-1202-arm64-dts-rockchip-Enable-the-NPU-on-Turing-RK1.patch (3)

1-12: Commit header and summary look consistent with the change

Subject, short description, and stats accurately describe enabling the NPU on Turing RK1 and only touching the board DTS include; nothing concerning here.


22-24: Power-domain supply hookup for &pd_npu looks correct; please confirm regulator presence

Hooking &pd_npu to vdd_npu_s0 matches how RK3588 boards usually express NPU power. Please double‑check that vdd_npu_s0 is indeed defined in this board’s DTS stack (and not left disabled) so the NPU domain can actually power up.


33-62: NPU cores/MMUs enablement matches RK3588 patterns; verify all three cores are really usable on Turing RK1

Setting npu-supply and sram-supply for rknn_core_[0-2] to vdd_npu_s0 and flipping all cores and MMUs to "okay" is in line with typical RK3588 NPU enablement overrides. Please confirm that Turing RK1 actually exposes all three NPU cores (no SKU with fused‑off cores) and that there are no board‑specific reasons to keep any of these disabled (e.g., thermal or power constraints).

@github-actions github-actions bot added the Ready to merge Reviewed, tested and ready for merge label Dec 4, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

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

@github-actions github-actions bot removed the Needs review Seeking for review label Dec 4, 2025
@igorpecovnik igorpecovnik merged commit d878139 into armbian:main Dec 4, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02 Milestone: First 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/medium PR with more then 50 and less then 250 lines

Development

Successfully merging this pull request may close these issues.

2 participants