Index: sysutils/Makefile =================================================================== --- sysutils/Makefile +++ sysutils/Makefile @@ -1404,6 +1404,7 @@ SUBDIR += u-boot-rpi3 SUBDIR += u-boot-rpi3-32 SUBDIR += u-boot-rpi4 + SUBDIR += u-boot-sifive-fu540 SUBDIR += u-boot-sinovoip-bpi-m3 SUBDIR += u-boot-sopine SUBDIR += u-boot-sopine-spi Index: sysutils/u-boot-sifive-fu540/Makefile =================================================================== --- /dev/null +++ sysutils/u-boot-sifive-fu540/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../u-boot-master + +MODEL= sifive-fu540 +BOARD_CONFIG= sifive_fu540_defconfig +FAMILY= sifive +UBOOT_ARCH= riscv64 + +# The FIT image will embed an OpenSBI firmware binary +OPENSBI_FIRM= ${LOCALBASE}/share/opensbi/lp64/sifive/fu540/firmware/fw_dynamic.bin +BUILD_DEPENDS+= ${OPENSBI_FIRM}:sysutils/opensbi +MAKE_ENV+= OPENSBI=${OPENSBI_FIRM} + +UBOOT_MOVE= ${WRKSRC}/spl/u-boot-spl.bin +UBOOT_PLIST= u-boot.itb u-boot-spl.bin + +.include "${MASTERDIR}/Makefile" Index: sysutils/u-boot-sifive-fu540/pkg-descr =================================================================== --- /dev/null +++ sysutils/u-boot-sifive-fu540/pkg-descr @@ -0,0 +1,13 @@ +U-Boot loader and related files for the SiFive Unleashed (FU540). + +First, prep the SD card. It must be formatted with a GPT partition scheme, and +expects two specific GUID partition types for the SPL and FIT image. +gpart create -s gpt sdcarddevice +gpart add -b 64 -s 2048 -t "\!5B193300-FC78-40CD-8002-E86C45580B47" sdcarddevice +gpart add -b 2112 -s 8192 -t "\!2E54B353-1271-4842-806F-E436D6AF6985" sdcarddevice + +Now, copy the u-boot files to the SD card via dd(1). +dd if=/usr/local/share/u-boot/u-boot-sifive-fu540/u-boot-spl.bin of=/path/to/sdcarddevice seek=64 bs=512 conv=sync +dd if=/usr/local/share/u-boot/u-boot-sifive-fu540/u-boot.itb of=/path/to/sdcarddevice seek=2112 bs=512 conv=sync + +WWW: https://www.denx.de/wiki/U-Boot