git: 970cec81a5cd - main - sysutils/u-boot-starfive-visionfive2: new port

From: Mitchell Horne <mhorne_at_FreeBSD.org>
Date: Tue, 23 Jan 2024 17:20:23 UTC
The branch main has been updated by mhorne:

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

commit 970cec81a5cd4e2a11937b3c42ffa398f180c966
Author:     Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2024-01-23 17:19:26 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2024-01-23 17:19:26 +0000

    sysutils/u-boot-starfive-visionfive2: new port
    
    Create a u-boot port for the VisionFive 2 RISC-V SBC.
    
    Reviewed by:    manu
    Approved by:    manu (ports)
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D43517
---
 sysutils/Makefile                              |  1 +
 sysutils/u-boot-starfive-visionfive2/Makefile  | 16 ++++++++++++++++
 sysutils/u-boot-starfive-visionfive2/pkg-descr | 15 +++++++++++++++
 3 files changed, 32 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 8d00c89931ec..c770a710ad59 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1537,6 +1537,7 @@
     SUBDIR += u-boot-sinovoip-bpi-m3
     SUBDIR += u-boot-sopine
     SUBDIR += u-boot-sopine-spi
+    SUBDIR += u-boot-starfive-visionfive2
     SUBDIR += u-boot-tools
     SUBDIR += u-boot-wandboard
     SUBDIR += ua
diff --git a/sysutils/u-boot-starfive-visionfive2/Makefile b/sysutils/u-boot-starfive-visionfive2/Makefile
new file mode 100644
index 000000000000..101a17f18a02
--- /dev/null
+++ b/sysutils/u-boot-starfive-visionfive2/Makefile
@@ -0,0 +1,16 @@
+MASTERDIR=	${.CURDIR}/../u-boot-master
+
+MODEL=		starfive-visionfive2
+BOARD_CONFIG=	starfive_visionfive2_defconfig
+FAMILY=		starfive
+UBOOT_ARCH=	riscv64
+
+# The FIT image will embed an OpenSBI firmware binary
+OPENSBI_FIRM=	${LOCALBASE}/share/opensbi/lp64/generic/firmware/fw_dynamic.bin
+BUILD_DEPENDS+=	${OPENSBI_FIRM}:sysutils/opensbi
+MAKE_ENV+=	OPENSBI=${OPENSBI_FIRM}
+
+UBOOT_MOVE=	${WRKSRC}/spl/u-boot-spl.bin.normal.out
+UBOOT_PLIST=	u-boot.itb u-boot-spl.bin.normal.out
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/u-boot-starfive-visionfive2/pkg-descr b/sysutils/u-boot-starfive-visionfive2/pkg-descr
new file mode 100644
index 000000000000..a3fc9635157c
--- /dev/null
+++ b/sysutils/u-boot-starfive-visionfive2/pkg-descr
@@ -0,0 +1,15 @@
+U-Boot loader and related files for the StarFive VisionFive v2 (JH7110).
+
+The SD card must be formatted with a GPT partition scheme, and expects two
+specific GUID partition types for the SPL and FIT image.
+
+Assuming an SD card device in /dev/da2, execute:
+# gpart create -s gpt da2
+# gpart add -l spl -t !2E54B353-1271-4842-806F-E436D6AF6985 -b 2m -s 2m da2
+# gpart add -l uboot -t !BC13C2FF-59E6-4262-A352-B275FD6F7172 -b 4m -s 4m da2
+
+Now, copy the u-boot files to the SD card with dd(1).
+dd if=/usr/local/share/u-boot/u-boot-starfive-visionfive2/u-boot-spl.bin.normal.out \
+    of=/dev/da2p1 conv=sync
+dd if=/usr/local/share/u-boot/u-boot-starfive-visionfive2/u-boot.itb \
+    of=/dev/da2p2 conv=sync