Skip to content

Add support for X88 PRO RK3566 TV box#500

Open
Ovaday wants to merge 3 commits into
armbian:rk-6.1-rkr5.1from
Ovaday:rk-6.1-rkr5.1
Open

Add support for X88 PRO RK3566 TV box#500
Ovaday wants to merge 3 commits into
armbian:rk-6.1-rkr5.1from
Ovaday:rk-6.1-rkr5.1

Conversation

@Ovaday

@Ovaday Ovaday commented Jun 11, 2026

Copy link
Copy Markdown

This PR adds a device tree for the X88 PRO TV box based on the Rockchip RK3566 SoC.

photo_2026-06-11_23-23-35

The DTS was reconstructed from the vendor Android DTB and adapted for the Rockchip/Armbian 6.1 vendor kernel.

Tested working:

  • CPU: 4x Cortex-A55, stress-tested
  • RAM: 4 GiB detected
  • Ethernet: working
  • USB: working
  • HDMI/display: working
  • GPU: Mali-G52 via Panfrost
  • RGA: working with IOMMU
  • VPU/MPP video blocks: detected and added to IOMMU groups
  • NPU: RKNPU detected and usable via RKNN runtime
  • RKNN test: MobileNet inference completed successfully using RKNN runtime 2.3.2 and RKNPU driver 0.9.8

Known limitations:

  • DMC/devfreq governor currently fails to initialize
  • Some regulator supply entries are still incomplete
  • Vendor storage remains deferred
  • HDMI EDID/DDC may report warnings on some displays
  • NPU works, but the DT still reports minor warnings around IRQ/resource/OPP handling

This is intended as initial board support for the X88 PRO / RUPA RK3566 TV box.

LSCPU:
Architecture: aarch64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: ARM Model name: Cortex-A55 Model: 0 Thread(s) per core: 1 Core(s) per cluster: 4 Socket(s): - Cluster(s): 1 Stepping: r2p0 CPU(s) scaling MHz: 23% CPU max MHz: 1800.0000 CPU min MHz: 408.0000 BogoMIPS: 48.00 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc d cpop asimddp Vulnerabilities: Gather data sampling: Not affected Itlb multihit: Not affected L1tf: Not affected Mds: Not affected Meltdown: Not affected Mmio stale data: Not affected Reg file data sampling: Not affected Retbleed: Not affected Spec rstack overflow: Not affected Spec store bypass: Not affected Spectre v1: Mitigation; __user pointer sanitization Spectre v2: Not affected Srbds: Not affected Tsx async abort: Not affected
stress-ng --cpu 4 --timeout 60s --metrics-brief
stress-ng: info: [2506] setting to a 1 min run per stressor stress-ng: info: [2506] dispatching hogs: 4 cpu stress-ng: metrc: [2506] stressor bogo ops real time usr time sys time bogo ops/s bogo ops/s stress-ng: metrc: [2506] (secs) (secs) (secs) (real time) (usr+sys time) stress-ng: metrc: [2506] cpu 20698 60.05 237.11 0.21 344.70 87.21 stress-ng: info: [2506] skipped: 0 stress-ng: info: [2506] passed: 4: cpu (4) stress-ng: info: [2506] failed: 0 stress-ng: info: [2506] metrics untrustworthy: 0 stress-ng: info: [2506] successful run completed in 1 min

RKNN test:
rknn_api/rknnrt version: 2.3.2 (429f97ae6b@2025-04-09T09:09:27), driver version: 0.9.8 model input num: 1, output num: 1 input tensors: index=0, name=input, n_dims=4, dims=[1, 224, 224, 3], n_elems=150528, size=150528, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=0, scale=0.007812 output tensors: index=0, name=MobilenetV1/Predictions/Reshape_1, n_dims=2, dims=[1, 1001, 0, 0], n_elems=1001, size=2002, fmt=UNDEFINED, type=FP16, qnt_type=AFFINE, zp=0, scale=1.000000 custom string: Begin perf ... 0: Elapse Time = 8.06ms, FPS = 124.12 ---- Top5 ---- 0.935059 - 156 0.057037 - 155 0.003881 - 205 0.003119 - 284 0.000172 - 285

Armbian forum page:
https://forum.armbian.com/topic/18255-rk3566-and-armbian/page/2/

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d23e23c9-3d97-4bcb-a56a-5fb87c048432

📥 Commits

Reviewing files that changed from the base of the PR and between c42c07d and d0509c2.

📒 Files selected for processing (1)
  • arch/arm64/boot/dts/rockchip/rk3566-box-X88PRO-npu.dts
🚧 Files skipped from review as they are similar to previous changes (1)
  • arch/arm64/boot/dts/rockchip/rk3566-box-X88PRO-npu.dts

Walkthrough

Adds a new DTB build target and introduces rk3566-box-X88PRO-npu.dts describing the board: root model/console, GPIO IR/LED/OpenVFD, SDIO Wi‑Fi pwrseq and fixed 5V regulators, gmac1 RGMII and MDIO PHY with PMU supplies, NPU MMU change, SDHCI/SDMMC controllers (including SDIO-hosted Wi‑Fi), UART1 with Bluetooth child, USB PHY/usbdrd_dwc3 host config, PCIe combphy refclk, and comprehensive pinctrl groups.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: adding support for the X88 PRO RK3566 TV box device tree, which matches the core objective of the pull request.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, providing detailed information about the device tree implementation, testing results, and hardware specifications.
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.

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@arch/arm64/boot/dts/rockchip/rk3566-box-X88PRO-npu.dts`:
- Around line 204-206: The wifi@1 SDIO node currently uses compatible
"brcm,bcm4329-fmac" while the UART/Bluetooth node uses "realtek,rtl8822cs-bt",
indicating a mismatched combo-chip; verify the actual module from the vendor DTB
or boot logs and update one of the nodes so both nodes use the same
silicon-compatible string (either change wifi@1 to the Realtek compatible or
change the BT UART node to the Broadcom compatible), ensuring the two nodes
reference the identical compatible identifier (search for "brcm,bcm4329-fmac"
and "realtek,rtl8822cs-bt" to locate the exact nodes) and keep any required
properties (reg, interrupts, clks) consistent with the chosen driver binding.
🪄 Autofix (Beta)

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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5d0a972a-fafa-4e0c-8ab1-220e85b23b98

📥 Commits

Reviewing files that changed from the base of the PR and between 64a8171 and c42c07d.

📒 Files selected for processing (2)
  • arch/arm64/boot/dts/rockchip/Makefile
  • arch/arm64/boot/dts/rockchip/rk3566-box-X88PRO-npu.dts

Comment thread arch/arm64/boot/dts/rockchip/rk3566-box-X88PRO-npu.dts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant