git: e6f58d0eca49 - main - sysutils/u-boot-nanopi-r6s: Add new port

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Sat, 12 Apr 2025 17:58:32 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e6f58d0eca49e2bdf35d14f05e1bc2ffa9d4eaa6

commit e6f58d0eca49e2bdf35d14f05e1bc2ffa9d4eaa6
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2025-04-12 17:56:07 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2025-04-12 17:58:21 +0000

    sysutils/u-boot-nanopi-r6s: Add new port
    
    Add new u-boot port targetting the RK3588s NanoPi R6s.
---
 sysutils/Makefile                    |  1 +
 sysutils/u-boot-master/Makefile      | 11 +++++++++++
 sysutils/u-boot-nanopi-r6s/Makefile  |  7 +++++++
 sysutils/u-boot-nanopi-r6s/pkg-descr |  6 ++++++
 4 files changed, 25 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 26edce481016..289788d71786 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1423,6 +1423,7 @@
     SUBDIR += u-boot-nanopi-r2s
     SUBDIR += u-boot-nanopi-r4s
     SUBDIR += u-boot-nanopi-r5s
+    SUBDIR += u-boot-nanopi-r6s
     SUBDIR += u-boot-olimex-a20-som-evb
     SUBDIR += u-boot-olinuxino-lime
     SUBDIR += u-boot-olinuxino-lime2
diff --git a/sysutils/u-boot-master/Makefile b/sysutils/u-boot-master/Makefile
index 11ea7d169c48..a09d24cc588b 100644
--- a/sysutils/u-boot-master/Makefile
+++ b/sysutils/u-boot-master/Makefile
@@ -110,6 +110,10 @@ UBOOT_ARCH_RK3399=	aarch64
 UBOOT_PLIST_RK356X=	idbloader.img u-boot.itb
 UBOOT_ARCH_RK356X=	aarch64
 
+# Override for RK3588 family
+UBOOT_PLIST_RK3588=	idbloader.img u-boot.itb
+UBOOT_ARCH_RK3588=	aarch64
+
 # Override for ARMADA38X family
 UBOOT_PLIST_ARMADA38X=	u-boot-with-spl.kwb
 UBOOT_METADATA_ARMADA38X_FILES=		${UBOOT_PLIST_ARMADA38X}
@@ -194,6 +198,13 @@ MAKE_ENV+=	BL31=${LOCALBASE}/share/rkbin/rk35/rk3568_bl31_v1.44.elf \
 		ROCKCHIP_TPL=${LOCALBASE}/share/rkbin/rk35/rk3566_ddr_1056MHz_v1.21.bin
 .endif
 
+.if defined(FAMILY) && ${FAMILY} == rk3588
+BUILD_DEPENDS+=	${LOCALBASE}/share/rkbin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin:sysutils/rkbin \
+		${PYTHON_PKGNAMEPREFIX}pyelftools>0:devel/py-pyelftools@${PY_FLAVOR}
+MAKE_ENV+=	BL31=${LOCALBASE}/share/rkbin/rk35/rk3588_bl31_v1.47.elf \
+		ROCKCHIP_TPL=${LOCALBASE}/share/rkbin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
+.endif
+
 # Each u-boot family has different files to include, bring them in.
 .for i in ${UBOOT_PLIST}
 PLIST_FILES+=	${UBOOT_DIR}/${i}
diff --git a/sysutils/u-boot-nanopi-r6s/Makefile b/sysutils/u-boot-nanopi-r6s/Makefile
new file mode 100644
index 000000000000..fd108860c091
--- /dev/null
+++ b/sysutils/u-boot-nanopi-r6s/Makefile
@@ -0,0 +1,7 @@
+MASTERDIR=	${.CURDIR}/../u-boot-master
+
+MODEL=		nanopi-r6s
+BOARD_CONFIG=	nanopi-r6s-rk3588s_defconfig
+FAMILY=		rk3588
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/u-boot-nanopi-r6s/pkg-descr b/sysutils/u-boot-nanopi-r6s/pkg-descr
new file mode 100644
index 000000000000..e75ab091f339
--- /dev/null
+++ b/sysutils/u-boot-nanopi-r6s/pkg-descr
@@ -0,0 +1,6 @@
+U-Boot loader and related files for the FriendlyARM NanoPi-R6S
+
+To install this bootloader on an sdcard just do:
+
+dd if=/usr/local/share/u-boot/u-boot-nanopi-r6s/idbloader.img of=/path/to/sdcarddevice seek=64 bs=512 conv=sync
+dd if=/usr/local/share/u-boot/u-boot-nanopi-r6s/u-boot.itb of=/path/to/sdcarddevice seek=16384 bs=512 conv=sync