Skip to content

boards: Add Xunlong Orange Pi 5 Ultra RK3588 #93631

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

MRNIU
Copy link

@MRNIU MRNIU commented Jul 24, 2025

This pull request adds support for the Orange Pi 5 Ultra board, which is based on the Rockchip RK3588 SoC. It includes board-specific configuration, documentation, and device tree files, as well as updates to the Zephyr build system and SoC configuration to enable RK3588 support.

Board Support for Orange Pi 5 Ultra

  • Added board-specific files for orangepi_5_ultra_rk3588, including CMakeLists.txt, Kconfig, board.yml, doc/index.rst, dts, and defconfig files. These define the board's hardware features, supported peripherals, and configuration options.

  • Detailed documentation added in doc/index.rst for the Orange Pi 5 Ultra, including hardware specifications, supported features, and instructions for building, flashing, and debugging Zephyr applications.

SoC Support for Rockchip RK3588

  • Introduced SoC-specific configuration for RK3588 in soc/rockchip/rk35/rk3588, including CMakeLists.txt, Kconfig, Kconfig.defconfig, and device tree files. These enable core features such as ARM64 architecture, ARM Cortex-A55 and Cortex-A76 CPUs, and ARM MMU.

  • Updated soc/rockchip/rk35/CMakeLists.txt to include support for the RK3588 SoC.

Device Tree and Bindings Enhancements

  • Added RK3588-specific device tree files (rk3588.dtsi) and updated bindings to define CPU cache properties, power management states, and other hardware details.

  • Introduced a new header file rockchip,rk3588-cru.h for clock bindings specific to RK3588.

This comprehensive addition lays the groundwork for using Zephyr on the Orange Pi 5 Ultra board and the Rockchip RK3588 SoC.

MRNIU added 5 commits July 24, 2025 11:10
Added rockchip rk3588 clock header file.

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
Added no-map support for arm,scmi-shmem

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
Added i-cache/d-cache/dmips... property support

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
Added rockchip rk3588 support

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
Added Xunlong orangepi-5-ultra-rk3588 support

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
Comment on lines 1 to 2
// SPDX-License-Identifier: Apache-2.0
// Copyright The Zephyr Project Contributors
Copy link
Contributor

Choose a reason for hiding this comment

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

no // comments

core0 {
cpu = <&cpu_l0>;
};
core1 {
Copy link
Contributor

Choose a reason for hiding this comment

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

child nodes need newline separation, fix in whole PR


idle-states {
entry-method = "psci";
CPU_SLEEP: cpu-sleep {
Copy link
Contributor

Choose a reason for hiding this comment

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

newline gap on line 297, fix in whole PR, and lower case, fix in whole PR


scmi_clk: protocol@14 {
compatible = "arm,scmi-clock";
reg = <0x14>;
Copy link
Contributor

Choose a reason for hiding this comment

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

alignment here is off, fix in whole PR

Comment on lines 8 to 10

config SOC_PART_NUMBER
default "RK3588" if SOC_RK3588
Copy link
Contributor

Choose a reason for hiding this comment

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

is this needed?

@@ -0,0 +1 @@
# SPDX-License-Identifier: Apache-2.0
Copy link
Contributor

Choose a reason for hiding this comment

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

file to go

Comment on lines 1 to 2
// SPDX-License-Identifier: Apache-2.0
// Copyright The Zephyr Project Contributors
Copy link
Contributor

Choose a reason for hiding this comment

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

as before


# Platform Configuration
CONFIG_ARM_ARCH_TIMER=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=24000000
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=24000000

Move to soc Kconfig and value must come from dts

Copy link
Author

Choose a reason for hiding this comment

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

rk3588 use SCMI to control cpu clock frequency, I just move it to soc Kconfig

fixed: dts style
fixed: unused file
fixed: move SYS_CLOCK_HW_CYCLES_PER_SEC from
  orangepi_5_ultra_rk3588_defconfig  to
  Kconfig.defconfig.rk3588

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
@MRNIU MRNIU requested a review from nordicjm July 24, 2025 08:04
MRNIU added 2 commits July 25, 2025 08:52
Remove trailing whitespace and fix
formatting in Orange Pi 5 Ultra RK3588 board
files and related device tree bindings.

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
use lowercase for vendor name

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants