Orange Pi 5 Plus is RK3588 based SBC featuring:
- 2x 2.5G ethernet ports – onboard NIC hooked to PCIe 2.0 interface
- 2x USB 2.0 host ports
- 2x USB 3.0 host ports (exposed over USB 3.0 hub)
- Type-C port featuring USB 2.0/3.0 and Alt-DP mode
- PCIe 2.0/USB 2.0/I2S/I2C/UART on E.KEY socket
- RTC
- ES8388 on-board sound codec – jack in/out, onboard mic, speaker amplifier
- SPI NOR flash
- RGB LED (R is always on)
- IR receiver
- PCIe 3.0 on the bottom for NVMe, etc.
- 40pin GPIO header (with gpio, I2C, SPI, PWM, UART)
- Power, recovery and Mask ROM buttons
- 2x HDMI out, 1x HDMI in
- Slots/connectors for eMMC, uSD card, fan, MIPI CSI/DSI
- 4 GB, 8 GB, 16 GB and 32 GB of RAM

Signed-off-by: Abhisit Sangjan <abhisit.sang...@gmail.com>
---
 README                                        |  3 ++-
 conf/machine/include/rk3588.inc               |  4 +---
 conf/machine/orange-pi-5-plus.conf            | 14 ++++++++++++++
 recipes-bsp/rkbin/rockchip-rkbin_git.bb       | 10 ++++++++++
 recipes-bsp/u-boot/u-boot%.bbappend           |  5 +++++
 recipes-bsp/u-boot/u-boot_2024.01.bb          |  5 +++++
 recipes-kernel/linux/linux-yocto-dev.bbappend |  5 +++++
 7 files changed, 42 insertions(+), 4 deletions(-)
 create mode 100644 conf/machine/orange-pi-5-plus.conf
 create mode 100644 recipes-bsp/u-boot/u-boot_2024.01.bb

diff --git a/README b/README
index e5beaa0..4d1a83e 100644
--- a/README
+++ b/README
@@ -31,6 +31,7 @@ Status of supported boards:
                firefly-rk3288
                nanopi-r4s
                rock-5b
+               orange-pi-5-plus
                nanopi-r2s
                nanopi-m4b
                rock-pi-s
@@ -57,7 +58,7 @@ Notes:
        initializer from rkbin, simply set:
 
                RKBIN_RK3308_LATEST = "1"
-       
+
        in the configuration (e.g. conf/local.conf).
 
 Maintenance:
diff --git a/conf/machine/include/rk3588.inc b/conf/machine/include/rk3588.inc
index 34f0627..46ac2ba 100644
--- a/conf/machine/include/rk3588.inc
+++ b/conf/machine/include/rk3588.inc
@@ -1,6 +1,4 @@
 MACHINEOVERRIDES =. "rk3588:"
 
-# the rk3588s is a "stripped-down" version of the rk3588
-# in the kernel's device-tree the rk3588 builds on top of the rk3588s
-# so anything that is valid for the rk3588s is valid for the rk3588
+# The rk3588 is a "full" version of the rk3588 series
 require conf/machine/include/rk3588s.inc
diff --git a/conf/machine/orange-pi-5-plus.conf 
b/conf/machine/orange-pi-5-plus.conf
new file mode 100644
index 0000000..a222c84
--- /dev/null
+++ b/conf/machine/orange-pi-5-plus.conf
@@ -0,0 +1,14 @@
+#@TYPE: Machine
+#@NAME: Xunlong Orange Pi 5 Plus
+#@DESCRIPTION: It is the 5th generation of single-board computer designed by 
Kunlong.
+#http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus-32GB.html
+
+require conf/machine/include/rk3588.inc
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
+KERNEL_DEVICETREE = "rockchip/rk3588-orangepi-5-plus.dtb"
+MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+
+UBOOT_MACHINE = "orangepi-5-plus-rk3588_defconfig"
+
+PREFERRED_VERSION_u-boot:orange-pi-5-plus = "2024.01"
diff --git a/recipes-bsp/rkbin/rockchip-rkbin_git.bb 
b/recipes-bsp/rkbin/rockchip-rkbin_git.bb
index f1609c7..5573ad2 100644
--- a/recipes-bsp/rkbin/rockchip-rkbin_git.bb
+++ b/recipes-bsp/rkbin/rockchip-rkbin_git.bb
@@ -14,6 +14,7 @@ S = "${WORKDIR}/git"
 
 COMPATIBLE_MACHINE = "^$"
 COMPATIBLE_MACHINE:rk3308 = "rk3308"
+COMPATIBLE_MACHINE:rk3588 = "rk3588"
 COMPATIBLE_MACHINE:rk3588s = "rk3588s"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -35,6 +36,15 @@ do_deploy:rk3308() {
        install -m 644 ${S}/bin/rk33/rk3308_ddr_589MHz_uart?_m0_v*.bin 
${DEPLOYDIR}/ddr-rk3308.bin
 }
 
+do_deploy:rk3588() {
+       # Prebuilt TF-A
+       install -m 644 ${S}/bin/rk35/rk3588_bl31_v*.elf 
${DEPLOYDIR}/bl31-rk3588.elf
+       # Prebuilt OPTEE-OS
+       install -m 644 ${S}/bin/rk35/rk3588_bl32_v*.bin 
${DEPLOYDIR}/tee-rk3588.bin
+       # Prebuilt U-Boot TPL (DDR init)
+       install -m 644 ${S}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v*.bin 
${DEPLOYDIR}/ddr-rk3588.bin
+}
+
 do_deploy:rk3588s() {
        # Prebuilt TF-A
        install -m 644 ${S}/bin/rk35/rk3588_bl31_v*.elf 
${DEPLOYDIR}/bl31-rk3588.elf
diff --git a/recipes-bsp/u-boot/u-boot%.bbappend 
b/recipes-bsp/u-boot/u-boot%.bbappend
index d902c9a..afd3344 100644
--- a/recipes-bsp/u-boot/u-boot%.bbappend
+++ b/recipes-bsp/u-boot/u-boot%.bbappend
@@ -7,6 +7,10 @@ EXTRA_OEMAKE:append:px30 = " 
BL31=${DEPLOY_DIR_IMAGE}/bl31-px30.elf"
 EXTRA_OEMAKE:append:rk3308 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3308.elf"
 EXTRA_OEMAKE:append:rk3328 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3328.elf"
 EXTRA_OEMAKE:append:rk3399 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3399.elf"
+EXTRA_OEMAKE:append:rk3588 = " \
+       BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3588.elf \
+       ROCKCHIP_TPL=${DEPLOY_DIR_IMAGE}/ddr-rk3588.bin \
+       "
 EXTRA_OEMAKE:append:rk3588s = " \
        BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3588.elf \
        ROCKCHIP_TPL=${DEPLOY_DIR_IMAGE}/ddr-rk3588.bin \
@@ -17,6 +21,7 @@ INIT_FIRMWARE_DEPENDS:px30 = " trusted-firmware-a:do_deploy"
 INIT_FIRMWARE_DEPENDS:rk3308 = " ${@bb.utils.contains('RKBIN_RK3308_LATEST', 
'1', 'rockchip-rkbin', 'rk3308-rkbin', d)}:do_deploy"
 INIT_FIRMWARE_DEPENDS:rk3328 = " trusted-firmware-a:do_deploy"
 INIT_FIRMWARE_DEPENDS:rk3399 = " trusted-firmware-a:do_deploy"
+INIT_FIRMWARE_DEPENDS:rk3588 = " rockchip-rkbin:do_deploy"
 INIT_FIRMWARE_DEPENDS:rk3588s = " rockchip-rkbin:do_deploy"
 do_compile[depends] .= "${INIT_FIRMWARE_DEPENDS}"
 
diff --git a/recipes-bsp/u-boot/u-boot_2024.01.bb 
b/recipes-bsp/u-boot/u-boot_2024.01.bb
new file mode 100644
index 0000000..cfa3a87
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot_2024.01.bb
@@ -0,0 +1,5 @@
+require recipes-bsp/u-boot/u-boot-common.inc
+require recipes-bsp/u-boot/u-boot.inc
+
+SRCREV:orange-pi-5-plus = "b51cf8bb09b67958fef9424f7c9fa202a4948c12"
+SRC_URI:orange-pi-5-plus = 
"git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master"
diff --git a/recipes-kernel/linux/linux-yocto-dev.bbappend 
b/recipes-kernel/linux/linux-yocto-dev.bbappend
index 419ebc1..bed6ed2 100644
--- a/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -1,3 +1,8 @@
 FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 COMPATIBLE_MACHINE:rock-5b = "rock-5b"
 SRC_URI:append:rock-5b = " 
file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta"
+
+KBRANCH:orange-pi-5-plus = "v6.7/standard/base"
+LINUX_VERSION:orange-pi-5-plus = "6.7"
+COMPATIBLE_MACHINE:orange-pi-5-plus = "orange-pi-5-plus"
+SRC_URI:append:orange-pi-5-plus = " 
file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta"
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#61907): https://lists.yoctoproject.org/g/yocto/message/61907
Mute This Topic: https://lists.yoctoproject.org/mt/103192532/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to