Monday, August 07, 2023

Re: [RFC] Split sysutils/u-boot

Just had a quick read through on my phone, I'll try to have another look
tomorrow, generally looks good.

For each of the new PLIST files you need to add "@pkgpath
sysutils/u-boot,old_flavour_name" alongside any existing @pkgpath so that
pkg_add -u accepts it as an update despite the different path.

I'd suggest splitting the build/install steps to the arch Makefiles (either
move completely, or keep the common parts in Makefile.inc by using
do-build/do-install in one file, post-build/post-install for the other) but
probably simpler to do that as a separate step.

--
Sent from a phone, apologies for poor formatting.

On 7 August 2023 22:11:43 Mark Kettenis <mark.kettenis@xs4all.nl> wrote:

> This splits sysutils/u-boot into three different ports instead of
> using flavours. The motivation behind this is that the current port
> is very hard to update without breaking shit. By turning this into
> separate ports we can update them individually. My idea is that we
> split this up by SoC family/generation where appropriate. Then we can
> test a few boards with that particular SoC and be reasonably sure that
> things still work on the other boards. For example I will probably
> create a new "sun50i" port with proper support for suspend/resume
> (this needs a newer version of u-boot as well as some additional
> firmware). Support for older SoCs will probably not be updated at
> all.
>
> Since I am fairly clueless regarding ports, please let me know if this
> makes sense. The new packages should have the same name as the old
> flavours. Does that mean upgrading them will work?
>
> I created a git diff for this since I didn't want to pollute the CVS
> repo with new directories yet. This has the benefit that it clearly
> shows that the patch files have simply been moved.
>
> Thoughts?
>
>
> From 3dcb8724513098a710972a3b3f47c7601756cd76 Mon Sep 17 00:00:00 2001
> From: Mark Kettenis <kettenis@zemlinsky.sibelius.xs4all.nl>
> Date: Mon, 7 Aug 2023 22:56:47 +0200
> Subject: [PATCH] Split u-boot port
>
> ---
> sysutils/u-boot/Makefile | 248 +---------------
> sysutils/u-boot/Makefile.inc | 143 ++++++++++
> sysutils/u-boot/aarch64/Makefile | 39 +++
> sysutils/u-boot/{ => aarch64}/distinfo | 0
> .../patches/patch-arch_arm_dts_Makefile | 0
> .../patch-arch_arm_dts_rk3328-nanopi-r2s_dts | 0
> .../patch-arch_arm_dts_rk3328-rock64_dts | 0
> .../patch-arch_arm_dts_rk3399-nanopi4_dtsi | 0
> ...patch-arch_arm_dts_rk3399-pinebook-pro_dts | 0
> .../patch-arch_arm_dts_rk3399-rock-pi-4_dtsi | 0
> .../patch-arch_arm_dts_rk3399-rock960_dts | 0
> .../patch-arch_arm_dts_rk3399-rockpro64_dtsi | 0
> .../patch-arch_arm_dts_rk3399-u-boot_dtsi | 0
> ...tch-arch_arm_dts_rk3399pro-rock-pi-n10_dts | 0
> ...rch_arm_dts_sun50i-h6-pine-h64-model-b_dts | 0
> .../patch-configs_firefly-rk3399_defconfig | 0
> .../patch-configs_nanopc-t4-rk3399_defconfig | 0
> ...patch-configs_nanopi-neo4-rk3399_defconfig | 0
> .../patch-configs_nanopi-r2s-rk3328_defconfig | 0
> .../patch-configs_nanopi-r4s-rk3399_defconfig | 0
> .../patch-configs_pine_h64-model-b_defconfig | 0
> ...atch-configs_pinebook-pro-rk3399_defconfig | 0
> .../patch-configs_rock-pi-4-rk3399_defconfig | 0
> ...ch-configs_rock-pi-n10-rk3399pro_defconfig | 0
> .../patch-configs_rock64-rk3328_defconfig | 0
> .../patch-configs_rock960-rk3399_defconfig | 0
> .../patch-configs_rockpro64-rk3399_defconfig | 0
> .../patches/patch-drivers_pci_pcie_brcmstb_c | 0
> sysutils/u-boot/aarch64/pkg/DESCR | 8 +
> sysutils/u-boot/aarch64/pkg/PLIST | 193 +++++++++++++
> sysutils/u-boot/arm/Makefile | 64 +++++
> sysutils/u-boot/arm/distinfo | 2 +
> .../patches/patch-configs_rpi_2_defconfig | 0
> .../patches/patch-configs_rpi_3_32b_defconfig | 0
> .../patches/patch-drivers_pci_pcie_brcmstb_c | 42 +++
> sysutils/u-boot/arm/pkg/DESCR | 8 +
> sysutils/u-boot/arm/pkg/PLIST | 264 ++++++++++++++++++
> .../patches/patch-configs_rpi_3_defconfig | 28 --
> sysutils/u-boot/riscv64/Makefile | 11 +
> sysutils/u-boot/riscv64/distinfo | 2 +
> .../patches/patch-arch_riscv_Makefile | 0
> sysutils/u-boot/riscv64/pkg/DESCR | 8 +
> sysutils/u-boot/riscv64/pkg/PLIST | 10 +
> 43 files changed, 799 insertions(+), 271 deletions(-)
> create mode 100644 sysutils/u-boot/Makefile.inc
> create mode 100644 sysutils/u-boot/aarch64/Makefile
> rename sysutils/u-boot/{ => aarch64}/distinfo (100%)
> rename sysutils/u-boot/{ => aarch64}/patches/patch-arch_arm_dts_Makefile (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3328-nanopi-r2s_dts (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3328-rock64_dts (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399-nanopi4_dtsi (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399-pinebook-pro_dts (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399-rock-pi-4_dtsi (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399-rock960_dts (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399-rockpro64_dtsi (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399-u-boot_dtsi (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_rk3399pro-rock-pi-n10_dts (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_firefly-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_nanopc-t4-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_nanopi-neo4-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_nanopi-r2s-rk3328_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_nanopi-r4s-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_pine_h64-model-b_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_pinebook-pro-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_rock-pi-4-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_rock-pi-n10-rk3399pro_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_rock64-rk3328_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_rock960-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-configs_rockpro64-rk3399_defconfig (100%)
> rename sysutils/u-boot/{ =>
> aarch64}/patches/patch-drivers_pci_pcie_brcmstb_c (100%)
> create mode 100644 sysutils/u-boot/aarch64/pkg/DESCR
> create mode 100644 sysutils/u-boot/aarch64/pkg/PLIST
> create mode 100644 sysutils/u-boot/arm/Makefile
> create mode 100644 sysutils/u-boot/arm/distinfo
> rename sysutils/u-boot/{ => arm}/patches/patch-configs_rpi_2_defconfig (100%)
> rename sysutils/u-boot/{ => arm}/patches/patch-configs_rpi_3_32b_defconfig
> (100%)
> create mode 100644 sysutils/u-boot/arm/patches/patch-drivers_pci_pcie_brcmstb_c
> create mode 100644 sysutils/u-boot/arm/pkg/DESCR
> create mode 100644 sysutils/u-boot/arm/pkg/PLIST
> delete mode 100644 sysutils/u-boot/patches/patch-configs_rpi_3_defconfig
> create mode 100644 sysutils/u-boot/riscv64/Makefile
> create mode 100644 sysutils/u-boot/riscv64/distinfo
> rename sysutils/u-boot/{ => riscv64}/patches/patch-arch_riscv_Makefile (100%)
> create mode 100644 sysutils/u-boot/riscv64/pkg/DESCR
> create mode 100644 sysutils/u-boot/riscv64/pkg/PLIST
>
> diff --git a/sysutils/u-boot/Makefile b/sysutils/u-boot/Makefile
> index d2dd2fad980..857155ac9f6 100644
> --- a/sysutils/u-boot/Makefile
> +++ b/sysutils/u-boot/Makefile
> @@ -1,244 +1,6 @@
> -BROKEN-sparc64= Error: the specified option is not accepted in ISB at
> operand 1 -- isb sy
> -BROKEN-arm= lib/time.c:187:1: internal compiler error: Bus error
> + SUBDIR =
> + SUBDIR += aarch64
> + SUBDIR += arm
> + SUBDIR += riscv64
>
> -DPB_PROPERTIES= parallel
> -
> -FLAVORS= aarch64 arm riscv64
> -FLAVOR?= arm
> -
> -COMMENT= U-Boot firmware
> -VERSION= 2021.10
> -REVISION= 6
> -DISTNAME= u-boot-${VERSION}
> -PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//}
> -FULLPKGNAME= ${PKGNAME}
> -CATEGORIES= sysutils
> -HOMEPAGE= https://www.denx.de/wiki/U-Boot
> -
> -# GPLv2
> -PERMIT_PACKAGE= Yes
> -
> -MASTER_SITES= https://ftp.denx.de/pub/u-boot/
> -EXTRACT_SUFX= .tar.bz2
> -PKG_ARCH= *
> -
> -BUILD_DEPENDS= devel/bison \
> - devel/dtc \
> - devel/swig
> -
> -# for pkg_resources used in tools/binman/control.py
> -BUILD_DEPENDS+= devel/py-setuptools${MODPY_FLAVOR}
> -
> -MODULES= lang/python
> -MODPY_RUNDEP= No
> -
> -MODPY_ADJ_FILES=\
> - arch/arm/mach-rockchip/make_fit_atf.py
> -
> -MAKE_ENV= KBUILD_VERBOSE=1 \
> - PYTHON="${MODPY_BIN}"
> -
> -.if "${FLAVOR}" == "aarch64"
> -BUILD_DEPENDS+= devel/arm-none-eabi/gcc,aarch64 \
> - devel/py-elftools${MODPY_FLAVOR} \
> - sysutils/arm-trusted-firmware>=2.2p0v0
> -MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-"
> -RK3328_BL31= "${LOCALBASE}/share/arm-trusted-firmware/rk3328-bl31.elf"
> -RK3399_BL31= "${LOCALBASE}/share/arm-trusted-firmware/rk3399-bl31.elf"
> -SUNXI_BL31= "${LOCALBASE}/share/arm-trusted-firmware/sun50i_a64-bl31.bin"
> -SUNXI_H6_BL31= "${LOCALBASE}/share/arm-trusted-firmware/sun50i_h6-bl31.bin"
> -.elif "${FLAVOR}" == "arm"
> -BUILD_DEPENDS+= devel/arm-none-eabi/gcc,arm
> -MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-"
> -.elif "${FLAVOR}" == "riscv64"
> -BUILD_DEPENDS+= devel/riscv-elf/gcc \
> - sysutils/opensbi>=0.9p0
> -MAKE_ENV+= CROSS_COMPILE="riscv64-unknown-elf-"
> -FW_DYNAMIC= "${LOCALBASE}/share/opensbi/generic/fw_dynamic.bin"
> -.endif
> -
> -USE_GMAKE= Yes
> -NO_TEST= Yes
> -
> -.if "${FLAVOR}" == "aarch64"
> -SUNXI64=\
> - a64-olinuxino \
> - bananapi_m64 \
> - nanopi_a64 \
> - nanopi_neo2 \
> - orangepi_pc2 \
> - orangepi_prime \
> - orangepi_win \
> - orangepi_zero_plus \
> - pine64-lts \
> - pine64_plus \
> - pine_h64-model-b \
> - pinebook \
> - sopine_baseboard
> -BOARDS=\
> - firefly-rk3399 \
> - mvebu_espressobin-88f3720 \
> - mvebu_mcbin-88f8040 \
> - nanopc-t4-rk3399 \
> - nanopi-neo4-rk3399 \
> - nanopi-r2s-rk3328 \
> - nanopi-r4s-rk3399 \
> - pinebook-pro-rk3399 \
> - qemu_arm64 \
> - rock64-rk3328 \
> - rock960-rk3399 \
> - rock-pi-4-rk3399 \
> - rock-pi-n10-rk3399pro \
> - rockpro64-rk3399 \
> - rpi_arm64
> -.elif "${FLAVOR}" == "arm"
> -OMAP=\
> - omap4_panda \
> - am335x_evm
> -SUNXI64=
> -SUNXI=\
> - A10-OLinuXino-Lime \
> - A10s-OLinuXino-M \
> - A20-OLinuXino-Lime \
> - A20-OLinuXino-Lime2 \
> - A20-OLinuXino-Lime2-eMMC \
> - A20-OLinuXino_MICRO \
> - Bananapi \
> - Bananapi_M2_Ultra \
> - Bananapi_m2m \
> - bananapi_m2_plus_h3 \
> - bananapi_m2_zero \
> - Bananapro \
> - CHIP \
> - Cubieboard \
> - Cubieboard2 \
> - Cubieboard4 \
> - Cubietruck \
> - Lamobo_R1 \
> - Linksprite_pcDuino \
> - Linksprite_pcDuino3 \
> - Linksprite_pcDuino3_Nano \
> - nanopi_neo \
> - Orangepi \
> - Orangepi_mini \
> - orangepi_2 \
> - orangepi_lite \
> - orangepi_one \
> - orangepi_pc \
> - orangepi_pc_plus \
> - orangepi_plus \
> - orangepi_plus2e \
> - orangepi_zero
> -IMX=\
> - cm_fx6 \
> - mx6cuboxi \
> - mx6qsabrelite \
> - nitrogen6q \
> - novena \
> - udoo \
> - usbarmory \
> - wandboard
> -BOARDS=\
> - ${OMAP} \
> - ${SUNXI} \
> - ${IMX} \
> - clearfog \
> - qemu_arm \
> - rpi_2 \
> - rpi_3_32b \
> - tinker-rk3288 \
> - turris_omnia
> -.elif "${FLAVOR}" == "riscv64"
> -BOARDS=\
> - qemu-riscv64_smode \
> - sifive_unmatched
> -.endif
> -
> -FILES=\
> - MLO \
> - SPL \
> - u-boot \
> - u-boot.img \
> - u-boot.bin \
> - u-boot-sunxi-with-spl.bin \
> - u-boot.imx \
> - u-boot-dtb.imx \
> - u-boot-spl.kwb \
> - u-boot-with-spl.bin \
> - u-boot.itb \
> - u-boot-rockchip.bin \
> - idbloader.img \
> - spl/sunxi-spl.bin \
> - spl/u-boot-spl.bin
> -
> -do-build:
> -.for BOARD in ${BOARDS}
> - cd ${WRKSRC} && \
> - mkdir -p build/${BOARD} && \
> - ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
> - O="build/${BOARD}" \
> - -f ${MAKE_FILE} "${BOARD}"_defconfig
> -.if "${BOARD:M*-rk3399*}"
> - cd ${WRKSRC} && \
> - ${SETENV} ${MAKE_ENV} BL31=${RK3399_BL31} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} ${ALL_TARGET}
> -.elif "${BOARD:M*-rk3328}"
> - cd ${WRKSRC} && \
> - ${SETENV} ${MAKE_ENV} BL31=${RK3328_BL31} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} ${ALL_TARGET}
> -.elif "${BOARD:M*sifive_*}"
> - cd ${WRKSRC} && \
> - ${SETENV} ${MAKE_ENV} OPENSBI=${FW_DYNAMIC} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} ${ALL_TARGET}
> -.else
> - cd ${WRKSRC} && \
> - ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
> - O="build/${BOARD}" \
> - -f ${MAKE_FILE} ${ALL_TARGET}
> -.endif
> -.if "${BOARD:M*-rk3288}"
> - cd ${WRKSRC}/build/${BOARD} && \
> - tools/mkimage -n rk3288 -T rksd -d tpl/u-boot-tpl.bin \
> - idbloader.img && \
> - cat spl/u-boot-spl-dtb.bin >> idbloader.img
> -.endif
> -.endfor
> -.for BOARD in ${SUNXI64}
> -.if "${BOARD:M*_h64*}"
> - cd ${WRKSRC} && \
> - mkdir -p build/${BOARD} && \
> - ${SETENV} ${MAKE_ENV} BL31=${SUNXI_H6_BL31} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} "${BOARD}"_defconfig && \
> - ${SETENV} ${MAKE_ENV} BL31=${SUNXI_H6_BL31} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} ${ALL_TARGET}
> -.else
> - cd ${WRKSRC} && \
> - mkdir -p build/${BOARD} && \
> - ${SETENV} ${MAKE_ENV} BL31=${SUNXI_BL31} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} "${BOARD}"_defconfig && \
> - ${SETENV} ${MAKE_ENV} BL31=${SUNXI_BL31} ${MAKE_PROGRAM} \
> - ${MAKE_FLAGS} O="build/${BOARD}" \
> - -f ${MAKE_FILE} ${ALL_TARGET}
> -.endif
> - if [[ -f ${WRKSRC}/build/${BOARD}/spl/sunxi-spl.bin && \
> - -f ${WRKSRC}/build/${BOARD}/u-boot.itb ]]; then \
> - cd ${WRKSRC}/build/${BOARD} && \
> - cat spl/sunxi-spl.bin u-boot.itb > u-boot-sunxi-with-spl.bin ; \
> - fi
> -.endfor
> -
> -do-install:
> - ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot
> -.for BOARD in ${BOARDS} ${SUNXI64}
> - ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot/${BOARD}
> - -cd ${WRKSRC}/build/${BOARD} && \
> - cp ${FILES} ${PREFIX}/share/u-boot/${BOARD}/
> -.endfor
> -
> -.include <bsd.port.mk>
> +.include <bsd.port.subdir.mk>
> diff --git a/sysutils/u-boot/Makefile.inc b/sysutils/u-boot/Makefile.inc
> new file mode 100644
> index 00000000000..6e80db36be0
> --- /dev/null
> +++ b/sysutils/u-boot/Makefile.inc
> @@ -0,0 +1,143 @@
> +BROKEN-sparc64= Error: the specified option is not accepted in ISB at
> operand 1 -- isb sy
> +BROKEN-arm= lib/time.c:187:1: internal compiler error: Bus error
> +
> +DPB_PROPERTIES= parallel
> +
> +COMMENT= U-Boot firmware
> +DISTNAME= u-boot-${VERSION}
> +PKGNAME= u-boot-${SOC}-${VERSION:S/-//}
> +FULLPKGNAME= ${PKGNAME}
> +CATEGORIES= sysutils
> +HOMEPAGE= https://www.denx.de/wiki/U-Boot
> +
> +# GPLv2
> +PERMIT_PACKAGE= Yes
> +
> +MASTER_SITES= https://ftp.denx.de/pub/u-boot/
> +EXTRACT_SUFX= .tar.bz2
> +PKG_ARCH= *
> +
> +BUILD_DEPENDS= devel/bison \
> + devel/dtc \
> + devel/swig
> +
> +# for pkg_resources used in tools/binman/control.py
> +BUILD_DEPENDS+= devel/py-setuptools${MODPY_FLAVOR}
> +
> +MODULES= lang/python
> +MODPY_RUNDEP= No
> +
> +MODPY_ADJ_FILES=\
> + arch/arm/mach-rockchip/make_fit_atf.py
> +
> +MAKE_ENV= KBUILD_VERBOSE=1 \
> + PYTHON="${MODPY_BIN}"
> +
> +.if "${SOC_CPU}" == "arm64"
> +BUILD_DEPENDS+= devel/arm-none-eabi/gcc,aarch64 \
> + devel/py-elftools${MODPY_FLAVOR} \
> + sysutils/arm-trusted-firmware>=2.2p0v0
> +MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-"
> +RK3328_BL31= "${LOCALBASE}/share/arm-trusted-firmware/rk3328-bl31.elf"
> +RK3399_BL31= "${LOCALBASE}/share/arm-trusted-firmware/rk3399-bl31.elf"
> +SUNXI_BL31= "${LOCALBASE}/share/arm-trusted-firmware/sun50i_a64-bl31.bin"
> +SUNXI_H6_BL31= "${LOCALBASE}/share/arm-trusted-firmware/sun50i_h6-bl31.bin"
> +.elif "${SOC_CPU}" == "arm"
> +BUILD_DEPENDS+= devel/arm-none-eabi/gcc,arm
> +MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-"
> +.elif "${SOC_CPU}" == "riscv64"
> +BUILD_DEPENDS+= devel/riscv-elf/gcc \
> + sysutils/opensbi>=0.9p0
> +MAKE_ENV+= CROSS_COMPILE="riscv64-unknown-elf-"
> +FW_DYNAMIC= "${LOCALBASE}/share/opensbi/generic/fw_dynamic.bin"
> +.endif
> +
> +USE_GMAKE= Yes
> +NO_TEST= Yes
> +
> +FILES=\
> + MLO \
> + SPL \
> + u-boot \
> + u-boot.img \
> + u-boot.bin \
> + u-boot-sunxi-with-spl.bin \
> + u-boot.imx \
> + u-boot-dtb.imx \
> + u-boot-spl.kwb \
> + u-boot-with-spl.bin \
> + u-boot.itb \
> + u-boot-rockchip.bin \
> + idbloader.img \
> + spl/sunxi-spl.bin \
> + spl/u-boot-spl.bin
> +
> +do-build:
> +.for BOARD in ${BOARDS}
> + cd ${WRKSRC} && \
> + mkdir -p build/${BOARD} && \
> + ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
> + O="build/${BOARD}" \
> + -f ${MAKE_FILE} "${BOARD}"_defconfig
> +.if "${BOARD:M*-rk3399*}"
> + cd ${WRKSRC} && \
> + ${SETENV} ${MAKE_ENV} BL31=${RK3399_BL31} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} ${ALL_TARGET}
> +.elif "${BOARD:M*-rk3328}"
> + cd ${WRKSRC} && \
> + ${SETENV} ${MAKE_ENV} BL31=${RK3328_BL31} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} ${ALL_TARGET}
> +.elif "${BOARD:M*sifive_*}"
> + cd ${WRKSRC} && \
> + ${SETENV} ${MAKE_ENV} OPENSBI=${FW_DYNAMIC} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} ${ALL_TARGET}
> +.else
> + cd ${WRKSRC} && \
> + ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
> + O="build/${BOARD}" \
> + -f ${MAKE_FILE} ${ALL_TARGET}
> +.endif
> +.if "${BOARD:M*-rk3288}"
> + cd ${WRKSRC}/build/${BOARD} && \
> + tools/mkimage -n rk3288 -T rksd -d tpl/u-boot-tpl.bin \
> + idbloader.img && \
> + cat spl/u-boot-spl-dtb.bin >> idbloader.img
> +.endif
> +.endfor
> +.for BOARD in ${SUNXI64}
> +.if "${BOARD:M*_h64*}"
> + cd ${WRKSRC} && \
> + mkdir -p build/${BOARD} && \
> + ${SETENV} ${MAKE_ENV} BL31=${SUNXI_H6_BL31} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} "${BOARD}"_defconfig && \
> + ${SETENV} ${MAKE_ENV} BL31=${SUNXI_H6_BL31} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} ${ALL_TARGET}
> +.else
> + cd ${WRKSRC} && \
> + mkdir -p build/${BOARD} && \
> + ${SETENV} ${MAKE_ENV} BL31=${SUNXI_BL31} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} "${BOARD}"_defconfig && \
> + ${SETENV} ${MAKE_ENV} BL31=${SUNXI_BL31} ${MAKE_PROGRAM} \
> + ${MAKE_FLAGS} O="build/${BOARD}" \
> + -f ${MAKE_FILE} ${ALL_TARGET}
> +.endif
> + if [[ -f ${WRKSRC}/build/${BOARD}/spl/sunxi-spl.bin && \
> + -f ${WRKSRC}/build/${BOARD}/u-boot.itb ]]; then \
> + cd ${WRKSRC}/build/${BOARD} && \
> + cat spl/sunxi-spl.bin u-boot.itb > u-boot-sunxi-with-spl.bin ; \
> + fi
> +.endfor
> +
> +do-install:
> + ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot
> +.for BOARD in ${BOARDS} ${SUNXI64}
> + ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot/${BOARD}
> + -cd ${WRKSRC}/build/${BOARD} && \
> + cp ${FILES} ${PREFIX}/share/u-boot/${BOARD}/
> +.endfor
> diff --git a/sysutils/u-boot/aarch64/Makefile
> b/sysutils/u-boot/aarch64/Makefile
> new file mode 100644
> index 00000000000..f2ef4a4a3e0
> --- /dev/null
> +++ b/sysutils/u-boot/aarch64/Makefile
> @@ -0,0 +1,39 @@
> +VERSION= 2021.10
> +REVISION= 7
> +
> +SOC= aarch64
> +SOC_CPU= arm64
> +
> +SUNXI64=\
> + a64-olinuxino \
> + bananapi_m64 \
> + nanopi_a64 \
> + nanopi_neo2 \
> + orangepi_pc2 \
> + orangepi_prime \
> + orangepi_win \
> + orangepi_zero_plus \
> + pine64-lts \
> + pine64_plus \
> + pine_h64-model-b \
> + pinebook \
> + sopine_baseboard
> +
> +BOARDS=\
> + firefly-rk3399 \
> + mvebu_espressobin-88f3720 \
> + mvebu_mcbin-88f8040 \
> + nanopc-t4-rk3399 \
> + nanopi-neo4-rk3399 \
> + nanopi-r2s-rk3328 \
> + nanopi-r4s-rk3399 \
> + pinebook-pro-rk3399 \
> + qemu_arm64 \
> + rock64-rk3328 \
> + rock960-rk3399 \
> + rock-pi-4-rk3399 \
> + rock-pi-n10-rk3399pro \
> + rockpro64-rk3399 \
> + rpi_arm64
> +
> +.include <bsd.port.mk>
> diff --git a/sysutils/u-boot/distinfo b/sysutils/u-boot/aarch64/distinfo
> similarity index 100%
> rename from sysutils/u-boot/distinfo
> rename to sysutils/u-boot/aarch64/distinfo
> diff --git a/sysutils/u-boot/patches/patch-arch_arm_dts_Makefile
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_Makefile
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_Makefile
> rename to sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_Makefile
> diff --git
> a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3328-nanopi-r2s_dts
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3328-nanopi-r2s_dts
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3328-nanopi-r2s_dts
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3328-nanopi-r2s_dts
> diff --git a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3328-rock64_dts
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3328-rock64_dts
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3328-rock64_dts
> rename to sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3328-rock64_dts
> diff --git a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-nanopi4_dtsi
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-nanopi4_dtsi
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-nanopi4_dtsi
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-nanopi4_dtsi
> diff --git
> a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-pinebook-pro_dts
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-pinebook-pro_dts
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-pinebook-pro_dts
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-pinebook-pro_dts
> diff --git
> a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rock-pi-4_dtsi
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-rock-pi-4_dtsi
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rock-pi-4_dtsi
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-rock-pi-4_dtsi
> diff --git a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rock960_dts
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-rock960_dts
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rock960_dts
> rename to sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-rock960_dts
> diff --git
> a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rockpro64_dtsi
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-rockpro64_dtsi
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rockpro64_dtsi
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-rockpro64_dtsi
> diff --git a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-u-boot_dtsi
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-u-boot_dtsi
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-u-boot_dtsi
> rename to sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399-u-boot_dtsi
> diff --git
> a/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399pro-rock-pi-n10_dts
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399pro-rock-pi-n10_dts
> similarity index 100%
> rename from
> sysutils/u-boot/patches/patch-arch_arm_dts_rk3399pro-rock-pi-n10_dts
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_rk3399pro-rock-pi-n10_dts
> diff --git
> a/sysutils/u-boot/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> b/sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> similarity index 100%
> rename from
> sysutils/u-boot/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> rename to
> sysutils/u-boot/aarch64/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> diff --git a/sysutils/u-boot/patches/patch-configs_firefly-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_firefly-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_firefly-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_firefly-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_nanopc-t4-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_nanopc-t4-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_nanopc-t4-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_nanopc-t4-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_nanopi-neo4-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_nanopi-neo4-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_nanopi-neo4-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_nanopi-neo4-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_nanopi-r2s-rk3328_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_nanopi-r2s-rk3328_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_nanopi-r2s-rk3328_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_nanopi-r2s-rk3328_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_nanopi-r4s-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_nanopi-r4s-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_nanopi-r4s-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_nanopi-r4s-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_pine_h64-model-b_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_pine_h64-model-b_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_pine_h64-model-b_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_pine_h64-model-b_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_pinebook-pro-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_pinebook-pro-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_pinebook-pro-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_pinebook-pro-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_rock-pi-4-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_rock-pi-4-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_rock-pi-4-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_rock-pi-4-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_rock-pi-n10-rk3399pro_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_rock-pi-n10-rk3399pro_defconfig
> similarity index 100%
> rename from
> sysutils/u-boot/patches/patch-configs_rock-pi-n10-rk3399pro_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_rock-pi-n10-rk3399pro_defconfig
> diff --git a/sysutils/u-boot/patches/patch-configs_rock64-rk3328_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_rock64-rk3328_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_rock64-rk3328_defconfig
> rename to sysutils/u-boot/aarch64/patches/patch-configs_rock64-rk3328_defconfig
> diff --git a/sysutils/u-boot/patches/patch-configs_rock960-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_rock960-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_rock960-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_rock960-rk3399_defconfig
> diff --git
> a/sysutils/u-boot/patches/patch-configs_rockpro64-rk3399_defconfig
> b/sysutils/u-boot/aarch64/patches/patch-configs_rockpro64-rk3399_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_rockpro64-rk3399_defconfig
> rename to
> sysutils/u-boot/aarch64/patches/patch-configs_rockpro64-rk3399_defconfig
> diff --git a/sysutils/u-boot/patches/patch-drivers_pci_pcie_brcmstb_c
> b/sysutils/u-boot/aarch64/patches/patch-drivers_pci_pcie_brcmstb_c
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-drivers_pci_pcie_brcmstb_c
> rename to sysutils/u-boot/aarch64/patches/patch-drivers_pci_pcie_brcmstb_c
> diff --git a/sysutils/u-boot/aarch64/pkg/DESCR
> b/sysutils/u-boot/aarch64/pkg/DESCR
> new file mode 100644
> index 00000000000..7425448b396
> --- /dev/null
> +++ b/sysutils/u-boot/aarch64/pkg/DESCR
> @@ -0,0 +1,8 @@
> +U-Boot is a firmware for embedded boards based on PowerPC, ARM, MIPS and
> +several other processors, which can be installed in a boot ROM and used to
> +initialize and test the hardware or to download and run application code.
> +
> +As ARM systems often do not come with firmware it must be supplied on
> +an SD card or MMC device to have a bootable system.
> +
> +This package provides U-Boot for various boards using ARM processors.
> diff --git a/sysutils/u-boot/aarch64/pkg/PLIST
> b/sysutils/u-boot/aarch64/pkg/PLIST
> new file mode 100644
> index 00000000000..2d2fc9e6454
> --- /dev/null
> +++ b/sysutils/u-boot/aarch64/pkg/PLIST
> @@ -0,0 +1,193 @@
> +@pkgpath sysutils/u-boot-pinebook
> +share/u-boot/
> +share/u-boot/a64-olinuxino/
> +share/u-boot/a64-olinuxino/sunxi-spl.bin
> +@comment share/u-boot/a64-olinuxino/u-boot
> +@comment share/u-boot/a64-olinuxino/u-boot-spl.bin
> +share/u-boot/a64-olinuxino/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/a64-olinuxino/u-boot.bin
> +@comment share/u-boot/a64-olinuxino/u-boot.img
> +share/u-boot/bananapi_m64/
> +share/u-boot/bananapi_m64/sunxi-spl.bin
> +@comment share/u-boot/bananapi_m64/u-boot
> +@comment share/u-boot/bananapi_m64/u-boot-spl.bin
> +share/u-boot/bananapi_m64/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/bananapi_m64/u-boot.bin
> +@comment share/u-boot/bananapi_m64/u-boot.img
> +share/u-boot/firefly-rk3399/
> +share/u-boot/firefly-rk3399/idbloader.img
> +@comment share/u-boot/firefly-rk3399/u-boot
> +share/u-boot/firefly-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/firefly-rk3399/u-boot-spl.bin
> +@comment share/u-boot/firefly-rk3399/u-boot.bin
> +@comment share/u-boot/firefly-rk3399/u-boot.img
> +share/u-boot/firefly-rk3399/u-boot.itb
> +share/u-boot/mvebu_espressobin-88f3720/
> +share/u-boot/mvebu_espressobin-88f3720/u-boot
> +share/u-boot/mvebu_espressobin-88f3720/u-boot.bin
> +share/u-boot/mvebu_mcbin-88f8040/
> +share/u-boot/mvebu_mcbin-88f8040/u-boot
> +share/u-boot/mvebu_mcbin-88f8040/u-boot.bin
> +share/u-boot/nanopc-t4-rk3399/
> +share/u-boot/nanopc-t4-rk3399/idbloader.img
> +@comment share/u-boot/nanopc-t4-rk3399/u-boot
> +share/u-boot/nanopc-t4-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/nanopc-t4-rk3399/u-boot-spl.bin
> +@comment share/u-boot/nanopc-t4-rk3399/u-boot.bin
> +@comment share/u-boot/nanopc-t4-rk3399/u-boot.img
> +share/u-boot/nanopc-t4-rk3399/u-boot.itb
> +share/u-boot/nanopi-neo4-rk3399/
> +share/u-boot/nanopi-neo4-rk3399/idbloader.img
> +@comment share/u-boot/nanopi-neo4-rk3399/u-boot
> +share/u-boot/nanopi-neo4-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/nanopi-neo4-rk3399/u-boot-spl.bin
> +@comment share/u-boot/nanopi-neo4-rk3399/u-boot.bin
> +@comment share/u-boot/nanopi-neo4-rk3399/u-boot.img
> +share/u-boot/nanopi-neo4-rk3399/u-boot.itb
> +share/u-boot/nanopi-r2s-rk3328/
> +share/u-boot/nanopi-r2s-rk3328/idbloader.img
> +@comment share/u-boot/nanopi-r2s-rk3328/u-boot
> +share/u-boot/nanopi-r2s-rk3328/u-boot-rockchip.bin
> +@comment share/u-boot/nanopi-r2s-rk3328/u-boot-spl.bin
> +@comment share/u-boot/nanopi-r2s-rk3328/u-boot.bin
> +@comment share/u-boot/nanopi-r2s-rk3328/u-boot.img
> +share/u-boot/nanopi-r2s-rk3328/u-boot.itb
> +share/u-boot/nanopi-r4s-rk3399/
> +share/u-boot/nanopi-r4s-rk3399/idbloader.img
> +@comment share/u-boot/nanopi-r4s-rk3399/u-boot
> +share/u-boot/nanopi-r4s-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/nanopi-r4s-rk3399/u-boot-spl.bin
> +@comment share/u-boot/nanopi-r4s-rk3399/u-boot.bin
> +@comment share/u-boot/nanopi-r4s-rk3399/u-boot.img
> +share/u-boot/nanopi-r4s-rk3399/u-boot.itb
> +share/u-boot/nanopi_a64/
> +share/u-boot/nanopi_a64/sunxi-spl.bin
> +@comment share/u-boot/nanopi_a64/u-boot
> +@comment share/u-boot/nanopi_a64/u-boot-spl.bin
> +share/u-boot/nanopi_a64/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/nanopi_a64/u-boot.bin
> +@comment share/u-boot/nanopi_a64/u-boot.img
> +share/u-boot/nanopi_neo2/
> +share/u-boot/nanopi_neo2/sunxi-spl.bin
> +@comment share/u-boot/nanopi_neo2/u-boot
> +@comment share/u-boot/nanopi_neo2/u-boot-spl.bin
> +share/u-boot/nanopi_neo2/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/nanopi_neo2/u-boot.bin
> +@comment share/u-boot/nanopi_neo2/u-boot.img
> +share/u-boot/orangepi_pc2/
> +share/u-boot/orangepi_pc2/sunxi-spl.bin
> +@comment share/u-boot/orangepi_pc2/u-boot
> +@comment share/u-boot/orangepi_pc2/u-boot-spl.bin
> +share/u-boot/orangepi_pc2/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_pc2/u-boot.bin
> +@comment share/u-boot/orangepi_pc2/u-boot.img
> +share/u-boot/orangepi_prime/
> +share/u-boot/orangepi_prime/sunxi-spl.bin
> +@comment share/u-boot/orangepi_prime/u-boot
> +@comment share/u-boot/orangepi_prime/u-boot-spl.bin
> +share/u-boot/orangepi_prime/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_prime/u-boot.bin
> +@comment share/u-boot/orangepi_prime/u-boot.img
> +share/u-boot/orangepi_win/
> +share/u-boot/orangepi_win/sunxi-spl.bin
> +@comment share/u-boot/orangepi_win/u-boot
> +@comment share/u-boot/orangepi_win/u-boot-spl.bin
> +share/u-boot/orangepi_win/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_win/u-boot.bin
> +@comment share/u-boot/orangepi_win/u-boot.img
> +share/u-boot/orangepi_zero_plus/
> +share/u-boot/orangepi_zero_plus/sunxi-spl.bin
> +@comment share/u-boot/orangepi_zero_plus/u-boot
> +@comment share/u-boot/orangepi_zero_plus/u-boot-spl.bin
> +share/u-boot/orangepi_zero_plus/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_zero_plus/u-boot.bin
> +@comment share/u-boot/orangepi_zero_plus/u-boot.img
> +share/u-boot/pine64-lts/
> +share/u-boot/pine64-lts/sunxi-spl.bin
> +@comment share/u-boot/pine64-lts/u-boot
> +@comment share/u-boot/pine64-lts/u-boot-spl.bin
> +share/u-boot/pine64-lts/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/pine64-lts/u-boot.bin
> +@comment share/u-boot/pine64-lts/u-boot.img
> +share/u-boot/pine64_plus/
> +share/u-boot/pine64_plus/sunxi-spl.bin
> +@comment share/u-boot/pine64_plus/u-boot
> +@comment share/u-boot/pine64_plus/u-boot-spl.bin
> +share/u-boot/pine64_plus/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/pine64_plus/u-boot.bin
> +@comment share/u-boot/pine64_plus/u-boot.img
> +share/u-boot/pine_h64-model-b/
> +share/u-boot/pine_h64-model-b/sunxi-spl.bin
> +@comment share/u-boot/pine_h64-model-b/u-boot
> +@comment share/u-boot/pine_h64-model-b/u-boot-spl.bin
> +share/u-boot/pine_h64-model-b/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/pine_h64-model-b/u-boot.bin
> +@comment share/u-boot/pine_h64-model-b/u-boot.img
> +share/u-boot/pinebook-pro-rk3399/
> +share/u-boot/pinebook-pro-rk3399/idbloader.img
> +@comment share/u-boot/pinebook-pro-rk3399/u-boot
> +share/u-boot/pinebook-pro-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/pinebook-pro-rk3399/u-boot-spl.bin
> +@comment share/u-boot/pinebook-pro-rk3399/u-boot.bin
> +@comment share/u-boot/pinebook-pro-rk3399/u-boot.img
> +share/u-boot/pinebook-pro-rk3399/u-boot.itb
> +share/u-boot/pinebook/
> +share/u-boot/pinebook/sunxi-spl.bin
> +@comment share/u-boot/pinebook/u-boot
> +@comment share/u-boot/pinebook/u-boot-spl.bin
> +share/u-boot/pinebook/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/pinebook/u-boot.bin
> +@comment share/u-boot/pinebook/u-boot.img
> +share/u-boot/qemu_arm64/
> +share/u-boot/qemu_arm64/u-boot
> +share/u-boot/qemu_arm64/u-boot.bin
> +share/u-boot/rock-pi-4-rk3399/
> +share/u-boot/rock-pi-4-rk3399/idbloader.img
> +@comment share/u-boot/rock-pi-4-rk3399/u-boot
> +share/u-boot/rock-pi-4-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/rock-pi-4-rk3399/u-boot-spl.bin
> +@comment share/u-boot/rock-pi-4-rk3399/u-boot.bin
> +@comment share/u-boot/rock-pi-4-rk3399/u-boot.img
> +share/u-boot/rock-pi-4-rk3399/u-boot.itb
> +share/u-boot/rock-pi-n10-rk3399pro/
> +share/u-boot/rock-pi-n10-rk3399pro/idbloader.img
> +@comment share/u-boot/rock-pi-n10-rk3399pro/u-boot
> +share/u-boot/rock-pi-n10-rk3399pro/u-boot-rockchip.bin
> +@comment share/u-boot/rock-pi-n10-rk3399pro/u-boot-spl.bin
> +@comment share/u-boot/rock-pi-n10-rk3399pro/u-boot.bin
> +@comment share/u-boot/rock-pi-n10-rk3399pro/u-boot.img
> +share/u-boot/rock-pi-n10-rk3399pro/u-boot.itb
> +share/u-boot/rock64-rk3328/
> +share/u-boot/rock64-rk3328/idbloader.img
> +@comment share/u-boot/rock64-rk3328/u-boot
> +share/u-boot/rock64-rk3328/u-boot-rockchip.bin
> +@comment share/u-boot/rock64-rk3328/u-boot-spl.bin
> +@comment share/u-boot/rock64-rk3328/u-boot.bin
> +@comment share/u-boot/rock64-rk3328/u-boot.img
> +share/u-boot/rock64-rk3328/u-boot.itb
> +share/u-boot/rock960-rk3399/
> +share/u-boot/rock960-rk3399/idbloader.img
> +@comment share/u-boot/rock960-rk3399/u-boot
> +share/u-boot/rock960-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/rock960-rk3399/u-boot-spl.bin
> +@comment share/u-boot/rock960-rk3399/u-boot.bin
> +@comment share/u-boot/rock960-rk3399/u-boot.img
> +share/u-boot/rock960-rk3399/u-boot.itb
> +share/u-boot/rockpro64-rk3399/
> +share/u-boot/rockpro64-rk3399/idbloader.img
> +@comment share/u-boot/rockpro64-rk3399/u-boot
> +share/u-boot/rockpro64-rk3399/u-boot-rockchip.bin
> +@comment share/u-boot/rockpro64-rk3399/u-boot-spl.bin
> +@comment share/u-boot/rockpro64-rk3399/u-boot.bin
> +@comment share/u-boot/rockpro64-rk3399/u-boot.img
> +share/u-boot/rockpro64-rk3399/u-boot.itb
> +share/u-boot/rpi_arm64/
> +@comment share/u-boot/rpi_arm64/u-boot
> +share/u-boot/rpi_arm64/u-boot.bin
> +share/u-boot/sopine_baseboard/
> +share/u-boot/sopine_baseboard/sunxi-spl.bin
> +@comment share/u-boot/sopine_baseboard/u-boot
> +@comment share/u-boot/sopine_baseboard/u-boot-spl.bin
> +share/u-boot/sopine_baseboard/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/sopine_baseboard/u-boot.bin
> +@comment share/u-boot/sopine_baseboard/u-boot.img
> diff --git a/sysutils/u-boot/arm/Makefile b/sysutils/u-boot/arm/Makefile
> new file mode 100644
> index 00000000000..6e6e746ae20
> --- /dev/null
> +++ b/sysutils/u-boot/arm/Makefile
> @@ -0,0 +1,64 @@
> +VERSION= 2021.10
> +REVISION= 7
> +
> +SOC= arm
> +SOC_CPU= arm
> +
> +OMAP=\
> + omap4_panda \
> + am335x_evm
> +SUNXI64=
> +SUNXI=\
> + A10-OLinuXino-Lime \
> + A10s-OLinuXino-M \
> + A20-OLinuXino-Lime \
> + A20-OLinuXino-Lime2 \
> + A20-OLinuXino-Lime2-eMMC \
> + A20-OLinuXino_MICRO \
> + Bananapi \
> + Bananapi_M2_Ultra \
> + Bananapi_m2m \
> + bananapi_m2_plus_h3 \
> + bananapi_m2_zero \
> + Bananapro \
> + CHIP \
> + Cubieboard \
> + Cubieboard2 \
> + Cubieboard4 \
> + Cubietruck \
> + Lamobo_R1 \
> + Linksprite_pcDuino \
> + Linksprite_pcDuino3 \
> + Linksprite_pcDuino3_Nano \
> + nanopi_neo \
> + Orangepi \
> + Orangepi_mini \
> + orangepi_2 \
> + orangepi_lite \
> + orangepi_one \
> + orangepi_pc \
> + orangepi_pc_plus \
> + orangepi_plus \
> + orangepi_plus2e \
> + orangepi_zero
> +IMX=\
> + cm_fx6 \
> + mx6cuboxi \
> + mx6qsabrelite \
> + nitrogen6q \
> + novena \
> + udoo \
> + usbarmory \
> + wandboard
> +BOARDS=\
> + ${OMAP} \
> + ${SUNXI} \
> + ${IMX} \
> + clearfog \
> + qemu_arm \
> + rpi_2 \
> + rpi_3_32b \
> + tinker-rk3288 \
> + turris_omnia
> +
> +.include <bsd.port.mk>
> diff --git a/sysutils/u-boot/arm/distinfo b/sysutils/u-boot/arm/distinfo
> new file mode 100644
> index 00000000000..674a428905c
> --- /dev/null
> +++ b/sysutils/u-boot/arm/distinfo
> @@ -0,0 +1,2 @@
> +SHA256 (u-boot-2021.10.tar.bz2) = zecj4ZJi5kbyZw0l5exLGzaEkN6VDU4mJ1qYjDbfC9Q=
> +SIZE (u-boot-2021.10.tar.bz2) = 17358295
> diff --git a/sysutils/u-boot/patches/patch-configs_rpi_2_defconfig
> b/sysutils/u-boot/arm/patches/patch-configs_rpi_2_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_rpi_2_defconfig
> rename to sysutils/u-boot/arm/patches/patch-configs_rpi_2_defconfig
> diff --git a/sysutils/u-boot/patches/patch-configs_rpi_3_32b_defconfig
> b/sysutils/u-boot/arm/patches/patch-configs_rpi_3_32b_defconfig
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-configs_rpi_3_32b_defconfig
> rename to sysutils/u-boot/arm/patches/patch-configs_rpi_3_32b_defconfig
> diff --git a/sysutils/u-boot/arm/patches/patch-drivers_pci_pcie_brcmstb_c
> b/sysutils/u-boot/arm/patches/patch-drivers_pci_pcie_brcmstb_c
> new file mode 100644
> index 00000000000..5c52791c841
> --- /dev/null
> +++ b/sysutils/u-boot/arm/patches/patch-drivers_pci_pcie_brcmstb_c
> @@ -0,0 +1,42 @@
> +revert 'pci: brcmstb: Cleanup controller state before handover'
> +85f3fddbcc2e8282f1c26dcef4684f59490d47ba
> +
> +resetting pcie breaks pcie xhci on rpi4
> +
> +Index: drivers/pci/pcie_brcmstb.c
> +--- drivers/pci/pcie_brcmstb.c.orig
> ++++ drivers/pci/pcie_brcmstb.c
> +@@ -577,24 +577,6 @@ static int brcm_pcie_probe(struct udevice *dev)
> + return 0;
> + }
> +
> +-static int brcm_pcie_remove(struct udevice *dev)
> +-{
> +- struct brcm_pcie *pcie = dev_get_priv(dev);
> +- void __iomem *base = pcie->base;
> +-
> +- /* Assert fundamental reset */
> +- setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK);
> +-
> +- /* Turn off SerDes */
> +- setbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG,
> +- PCIE_HARD_DEBUG_SERDES_IDDQ_MASK);
> +-
> +- /* Shutdown bridge */
> +- setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK);
> +-
> +- return 0;
> +-}
> +-
> + static int brcm_pcie_of_to_plat(struct udevice *dev)
> + {
> + struct brcm_pcie *pcie = dev_get_priv(dev);
> +@@ -634,8 +616,6 @@ U_BOOT_DRIVER(pcie_brcm_base) = {
> + .ops = &brcm_pcie_ops,
> + .of_match = brcm_pcie_ids,
> + .probe = brcm_pcie_probe,
> +- .remove = brcm_pcie_remove,
> + .of_to_plat = brcm_pcie_of_to_plat,
> + .priv_auto = sizeof(struct brcm_pcie),
> +- .flags = DM_FLAG_OS_PREPARE,
> + };
> diff --git a/sysutils/u-boot/arm/pkg/DESCR b/sysutils/u-boot/arm/pkg/DESCR
> new file mode 100644
> index 00000000000..7425448b396
> --- /dev/null
> +++ b/sysutils/u-boot/arm/pkg/DESCR
> @@ -0,0 +1,8 @@
> +U-Boot is a firmware for embedded boards based on PowerPC, ARM, MIPS and
> +several other processors, which can be installed in a boot ROM and used to
> +initialize and test the hardware or to download and run application code.
> +
> +As ARM systems often do not come with firmware it must be supplied on
> +an SD card or MMC device to have a bootable system.
> +
> +This package provides U-Boot for various boards using ARM processors.
> diff --git a/sysutils/u-boot/arm/pkg/PLIST b/sysutils/u-boot/arm/pkg/PLIST
> new file mode 100644
> index 00000000000..5681374ac01
> --- /dev/null
> +++ b/sysutils/u-boot/arm/pkg/PLIST
> @@ -0,0 +1,264 @@
> +@pkgpath sysutils/u-boot,
> +share/u-boot/
> +share/u-boot/A10-OLinuXino-Lime/
> +share/u-boot/A10-OLinuXino-Lime/sunxi-spl.bin
> +@comment share/u-boot/A10-OLinuXino-Lime/u-boot
> +share/u-boot/A10-OLinuXino-Lime/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/A10-OLinuXino-Lime/u-boot.bin
> +@comment share/u-boot/A10-OLinuXino-Lime/u-boot.img
> +share/u-boot/A10s-OLinuXino-M/
> +share/u-boot/A10s-OLinuXino-M/sunxi-spl.bin
> +@comment share/u-boot/A10s-OLinuXino-M/u-boot
> +share/u-boot/A10s-OLinuXino-M/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/A10s-OLinuXino-M/u-boot.bin
> +@comment share/u-boot/A10s-OLinuXino-M/u-boot.img
> +share/u-boot/A20-OLinuXino-Lime/
> +share/u-boot/A20-OLinuXino-Lime/sunxi-spl.bin
> +@comment share/u-boot/A20-OLinuXino-Lime/u-boot
> +share/u-boot/A20-OLinuXino-Lime/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/A20-OLinuXino-Lime/u-boot.bin
> +@comment share/u-boot/A20-OLinuXino-Lime/u-boot.img
> +share/u-boot/A20-OLinuXino-Lime2/
> +share/u-boot/A20-OLinuXino-Lime2-eMMC/
> +share/u-boot/A20-OLinuXino-Lime2-eMMC/sunxi-spl.bin
> +@comment share/u-boot/A20-OLinuXino-Lime2-eMMC/u-boot
> +share/u-boot/A20-OLinuXino-Lime2-eMMC/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/A20-OLinuXino-Lime2-eMMC/u-boot.bin
> +@comment share/u-boot/A20-OLinuXino-Lime2-eMMC/u-boot.img
> +share/u-boot/A20-OLinuXino-Lime2/sunxi-spl.bin
> +@comment share/u-boot/A20-OLinuXino-Lime2/u-boot
> +share/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/A20-OLinuXino-Lime2/u-boot.bin
> +@comment share/u-boot/A20-OLinuXino-Lime2/u-boot.img
> +share/u-boot/A20-OLinuXino_MICRO/
> +share/u-boot/A20-OLinuXino_MICRO/sunxi-spl.bin
> +@comment share/u-boot/A20-OLinuXino_MICRO/u-boot
> +share/u-boot/A20-OLinuXino_MICRO/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/A20-OLinuXino_MICRO/u-boot.bin
> +@comment share/u-boot/A20-OLinuXino_MICRO/u-boot.img
> +share/u-boot/Bananapi/
> +share/u-boot/Bananapi/sunxi-spl.bin
> +@comment share/u-boot/Bananapi/u-boot
> +share/u-boot/Bananapi/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Bananapi/u-boot.bin
> +@comment share/u-boot/Bananapi/u-boot.img
> +share/u-boot/Bananapi_M2_Ultra/
> +share/u-boot/Bananapi_M2_Ultra/sunxi-spl.bin
> +@comment share/u-boot/Bananapi_M2_Ultra/u-boot
> +share/u-boot/Bananapi_M2_Ultra/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Bananapi_M2_Ultra/u-boot.bin
> +@comment share/u-boot/Bananapi_M2_Ultra/u-boot.img
> +share/u-boot/Bananapi_m2m/
> +share/u-boot/Bananapi_m2m/sunxi-spl.bin
> +@comment share/u-boot/Bananapi_m2m/u-boot
> +share/u-boot/Bananapi_m2m/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Bananapi_m2m/u-boot.bin
> +@comment share/u-boot/Bananapi_m2m/u-boot.img
> +share/u-boot/Bananapro/
> +share/u-boot/Bananapro/sunxi-spl.bin
> +@comment share/u-boot/Bananapro/u-boot
> +share/u-boot/Bananapro/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Bananapro/u-boot.bin
> +@comment share/u-boot/Bananapro/u-boot.img
> +share/u-boot/CHIP/
> +share/u-boot/CHIP/sunxi-spl.bin
> +@comment share/u-boot/CHIP/u-boot
> +share/u-boot/CHIP/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/CHIP/u-boot.bin
> +@comment share/u-boot/CHIP/u-boot.img
> +share/u-boot/Cubieboard/
> +share/u-boot/Cubieboard/sunxi-spl.bin
> +@comment share/u-boot/Cubieboard/u-boot
> +share/u-boot/Cubieboard/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Cubieboard/u-boot.bin
> +@comment share/u-boot/Cubieboard/u-boot.img
> +share/u-boot/Cubieboard2/
> +share/u-boot/Cubieboard2/sunxi-spl.bin
> +@comment share/u-boot/Cubieboard2/u-boot
> +share/u-boot/Cubieboard2/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Cubieboard2/u-boot.bin
> +@comment share/u-boot/Cubieboard2/u-boot.img
> +share/u-boot/Cubieboard4/
> +share/u-boot/Cubieboard4/sunxi-spl.bin
> +@comment share/u-boot/Cubieboard4/u-boot
> +share/u-boot/Cubieboard4/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Cubieboard4/u-boot.bin
> +@comment share/u-boot/Cubieboard4/u-boot.img
> +share/u-boot/Cubietruck/
> +share/u-boot/Cubietruck/sunxi-spl.bin
> +@comment share/u-boot/Cubietruck/u-boot
> +share/u-boot/Cubietruck/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Cubietruck/u-boot.bin
> +@comment share/u-boot/Cubietruck/u-boot.img
> +share/u-boot/Lamobo_R1/
> +share/u-boot/Lamobo_R1/sunxi-spl.bin
> +@comment share/u-boot/Lamobo_R1/u-boot
> +share/u-boot/Lamobo_R1/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Lamobo_R1/u-boot.bin
> +@comment share/u-boot/Lamobo_R1/u-boot.img
> +share/u-boot/Linksprite_pcDuino/
> +share/u-boot/Linksprite_pcDuino/sunxi-spl.bin
> +@comment share/u-boot/Linksprite_pcDuino/u-boot
> +share/u-boot/Linksprite_pcDuino/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Linksprite_pcDuino/u-boot.bin
> +@comment share/u-boot/Linksprite_pcDuino/u-boot.img
> +share/u-boot/Linksprite_pcDuino3/
> +share/u-boot/Linksprite_pcDuino3/sunxi-spl.bin
> +@comment share/u-boot/Linksprite_pcDuino3/u-boot
> +share/u-boot/Linksprite_pcDuino3/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Linksprite_pcDuino3/u-boot.bin
> +@comment share/u-boot/Linksprite_pcDuino3/u-boot.img
> +share/u-boot/Linksprite_pcDuino3_Nano/
> +share/u-boot/Linksprite_pcDuino3_Nano/sunxi-spl.bin
> +@comment share/u-boot/Linksprite_pcDuino3_Nano/u-boot
> +share/u-boot/Linksprite_pcDuino3_Nano/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Linksprite_pcDuino3_Nano/u-boot.bin
> +@comment share/u-boot/Linksprite_pcDuino3_Nano/u-boot.img
> +share/u-boot/Orangepi/
> +share/u-boot/Orangepi/sunxi-spl.bin
> +@comment share/u-boot/Orangepi/u-boot
> +share/u-boot/Orangepi/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Orangepi/u-boot.bin
> +@comment share/u-boot/Orangepi/u-boot.img
> +share/u-boot/Orangepi_mini/
> +share/u-boot/Orangepi_mini/sunxi-spl.bin
> +@comment share/u-boot/Orangepi_mini/u-boot
> +share/u-boot/Orangepi_mini/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/Orangepi_mini/u-boot.bin
> +@comment share/u-boot/Orangepi_mini/u-boot.img
> +share/u-boot/am335x_evm/
> +share/u-boot/am335x_evm/MLO
> +@comment share/u-boot/am335x_evm/u-boot
> +@comment share/u-boot/am335x_evm/u-boot.bin
> +share/u-boot/am335x_evm/u-boot.img
> +share/u-boot/bananapi_m2_plus_h3/
> +share/u-boot/bananapi_m2_plus_h3/sunxi-spl.bin
> +@comment share/u-boot/bananapi_m2_plus_h3/u-boot
> +share/u-boot/bananapi_m2_plus_h3/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/bananapi_m2_plus_h3/u-boot.bin
> +@comment share/u-boot/bananapi_m2_plus_h3/u-boot.img
> +share/u-boot/bananapi_m2_zero/
> +share/u-boot/bananapi_m2_zero/sunxi-spl.bin
> +@comment share/u-boot/bananapi_m2_zero/u-boot
> +share/u-boot/bananapi_m2_zero/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/bananapi_m2_zero/u-boot.bin
> +@comment share/u-boot/bananapi_m2_zero/u-boot.img
> +share/u-boot/clearfog/
> +@comment share/u-boot/clearfog/u-boot
> +share/u-boot/clearfog/u-boot-spl.kwb
> +@comment share/u-boot/clearfog/u-boot.bin
> +@comment share/u-boot/clearfog/u-boot.img
> +share/u-boot/cm_fx6/
> +share/u-boot/cm_fx6/SPL
> +@comment share/u-boot/cm_fx6/u-boot
> +@comment share/u-boot/cm_fx6/u-boot.bin
> +share/u-boot/cm_fx6/u-boot.img
> +share/u-boot/mx6cuboxi/
> +share/u-boot/mx6cuboxi/SPL
> +@comment share/u-boot/mx6cuboxi/u-boot
> +@comment share/u-boot/mx6cuboxi/u-boot.bin
> +share/u-boot/mx6cuboxi/u-boot.img
> +share/u-boot/mx6qsabrelite/
> +@comment share/u-boot/mx6qsabrelite/u-boot
> +share/u-boot/mx6qsabrelite/u-boot-dtb.imx
> +@comment share/u-boot/mx6qsabrelite/u-boot.bin
> +share/u-boot/nanopi_neo/
> +share/u-boot/nanopi_neo/sunxi-spl.bin
> +@comment share/u-boot/nanopi_neo/u-boot
> +share/u-boot/nanopi_neo/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/nanopi_neo/u-boot.bin
> +@comment share/u-boot/nanopi_neo/u-boot.img
> +share/u-boot/nitrogen6q/
> +@comment share/u-boot/nitrogen6q/u-boot
> +share/u-boot/nitrogen6q/u-boot-dtb.imx
> +@comment share/u-boot/nitrogen6q/u-boot.bin
> +share/u-boot/novena/
> +share/u-boot/novena/SPL
> +@comment share/u-boot/novena/u-boot
> +@comment share/u-boot/novena/u-boot.bin
> +share/u-boot/novena/u-boot.img
> +share/u-boot/omap4_panda/
> +share/u-boot/omap4_panda/MLO
> +@comment share/u-boot/omap4_panda/u-boot
> +@comment share/u-boot/omap4_panda/u-boot.bin
> +share/u-boot/omap4_panda/u-boot.img
> +share/u-boot/orangepi_2/
> +share/u-boot/orangepi_2/sunxi-spl.bin
> +@comment share/u-boot/orangepi_2/u-boot
> +share/u-boot/orangepi_2/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_2/u-boot.bin
> +@comment share/u-boot/orangepi_2/u-boot.img
> +share/u-boot/orangepi_lite/
> +share/u-boot/orangepi_lite/sunxi-spl.bin
> +@comment share/u-boot/orangepi_lite/u-boot
> +share/u-boot/orangepi_lite/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_lite/u-boot.bin
> +@comment share/u-boot/orangepi_lite/u-boot.img
> +share/u-boot/orangepi_one/
> +share/u-boot/orangepi_one/sunxi-spl.bin
> +@comment share/u-boot/orangepi_one/u-boot
> +share/u-boot/orangepi_one/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_one/u-boot.bin
> +@comment share/u-boot/orangepi_one/u-boot.img
> +share/u-boot/orangepi_pc/
> +share/u-boot/orangepi_pc/sunxi-spl.bin
> +@comment share/u-boot/orangepi_pc/u-boot
> +share/u-boot/orangepi_pc/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_pc/u-boot.bin
> +@comment share/u-boot/orangepi_pc/u-boot.img
> +share/u-boot/orangepi_pc_plus/
> +share/u-boot/orangepi_pc_plus/sunxi-spl.bin
> +@comment share/u-boot/orangepi_pc_plus/u-boot
> +share/u-boot/orangepi_pc_plus/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_pc_plus/u-boot.bin
> +@comment share/u-boot/orangepi_pc_plus/u-boot.img
> +share/u-boot/orangepi_plus/
> +share/u-boot/orangepi_plus/sunxi-spl.bin
> +@comment share/u-boot/orangepi_plus/u-boot
> +share/u-boot/orangepi_plus/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_plus/u-boot.bin
> +@comment share/u-boot/orangepi_plus/u-boot.img
> +share/u-boot/orangepi_plus2e/
> +share/u-boot/orangepi_plus2e/sunxi-spl.bin
> +@comment share/u-boot/orangepi_plus2e/u-boot
> +share/u-boot/orangepi_plus2e/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_plus2e/u-boot.bin
> +@comment share/u-boot/orangepi_plus2e/u-boot.img
> +share/u-boot/orangepi_zero/
> +share/u-boot/orangepi_zero/sunxi-spl.bin
> +@comment share/u-boot/orangepi_zero/u-boot
> +share/u-boot/orangepi_zero/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/orangepi_zero/u-boot.bin
> +@comment share/u-boot/orangepi_zero/u-boot.img
> +share/u-boot/qemu_arm/
> +share/u-boot/qemu_arm/u-boot
> +share/u-boot/qemu_arm/u-boot.bin
> +share/u-boot/rpi_2/
> +@comment share/u-boot/rpi_2/u-boot
> +share/u-boot/rpi_2/u-boot.bin
> +share/u-boot/rpi_3_32b/
> +@comment share/u-boot/rpi_3_32b/u-boot
> +share/u-boot/rpi_3_32b/u-boot.bin
> +share/u-boot/tinker-rk3288/
> +share/u-boot/tinker-rk3288/idbloader.img
> +@comment share/u-boot/tinker-rk3288/u-boot
> +@comment share/u-boot/tinker-rk3288/u-boot.bin
> +share/u-boot/tinker-rk3288/u-boot.img
> +share/u-boot/turris_omnia/
> +@comment share/u-boot/turris_omnia/u-boot
> +share/u-boot/turris_omnia/u-boot-spl.kwb
> +@comment share/u-boot/turris_omnia/u-boot.bin
> +@comment share/u-boot/turris_omnia/u-boot.img
> +share/u-boot/udoo/
> +share/u-boot/udoo/SPL
> +@comment share/u-boot/udoo/u-boot
> +@comment share/u-boot/udoo/u-boot.bin
> +share/u-boot/udoo/u-boot.img
> +share/u-boot/usbarmory/
> +share/u-boot/usbarmory/u-boot
> +share/u-boot/usbarmory/u-boot.bin
> +share/u-boot/wandboard/
> +share/u-boot/wandboard/SPL
> +@comment share/u-boot/wandboard/u-boot
> +@comment share/u-boot/wandboard/u-boot.bin
> +share/u-boot/wandboard/u-boot.img
> diff --git a/sysutils/u-boot/patches/patch-configs_rpi_3_defconfig
> b/sysutils/u-boot/patches/patch-configs_rpi_3_defconfig
> deleted file mode 100644
> index 6c3e6862d5a..00000000000
> --- a/sysutils/u-boot/patches/patch-configs_rpi_3_defconfig
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -rpi: Use firmware provided device tree
> -
> -Currently the firmware generates a device tree for us that we could
> -just use to adjust ourselves. We then on boot throw that away and
> -use our own built-in device tree to configure device access.
> -
> -This is bad for a multitude of reasons. For starters, it breaks
> -overlay support in config.txt, confusing users. Much worse however
> -is that we are stuck with individual U-Boot builds per board.
> -The firmware can easily give us the right DT depending on the
> -target board and revision though.
> -
> -So let's use the firmware provided device tree instead. That way
> -U-Boot as well as payloads loaded by it can automatically adapt
> -to variants of RPi hardware.
> -
> -Index: configs/rpi_3_defconfig
> ---- configs/rpi_3_defconfig.orig
> -+++ configs/rpi_3_defconfig
> -@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
> - CONFIG_CMD_MMC=y
> - CONFIG_CMD_USB=y
> - CONFIG_CMD_FS_UUID=y
> --CONFIG_OF_EMBED=y
> -+CONFIG_OF_BOARD=y
> - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
> - CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> diff --git a/sysutils/u-boot/riscv64/Makefile
> b/sysutils/u-boot/riscv64/Makefile
> new file mode 100644
> index 00000000000..4927e7c1715
> --- /dev/null
> +++ b/sysutils/u-boot/riscv64/Makefile
> @@ -0,0 +1,11 @@
> +VERSION= 2021.10
> +REVISION= 7
> +
> +SOC= riscv64
> +SOC_CPU= riscv64
> +
> +BOARDS=\
> + qemu-riscv64_smode \
> + sifive_unmatched
> +
> +.include <bsd.port.mk>
> diff --git a/sysutils/u-boot/riscv64/distinfo
> b/sysutils/u-boot/riscv64/distinfo
> new file mode 100644
> index 00000000000..674a428905c
> --- /dev/null
> +++ b/sysutils/u-boot/riscv64/distinfo
> @@ -0,0 +1,2 @@
> +SHA256 (u-boot-2021.10.tar.bz2) = zecj4ZJi5kbyZw0l5exLGzaEkN6VDU4mJ1qYjDbfC9Q=
> +SIZE (u-boot-2021.10.tar.bz2) = 17358295
> diff --git a/sysutils/u-boot/patches/patch-arch_riscv_Makefile
> b/sysutils/u-boot/riscv64/patches/patch-arch_riscv_Makefile
> similarity index 100%
> rename from sysutils/u-boot/patches/patch-arch_riscv_Makefile
> rename to sysutils/u-boot/riscv64/patches/patch-arch_riscv_Makefile
> diff --git a/sysutils/u-boot/riscv64/pkg/DESCR
> b/sysutils/u-boot/riscv64/pkg/DESCR
> new file mode 100644
> index 00000000000..7425448b396
> --- /dev/null
> +++ b/sysutils/u-boot/riscv64/pkg/DESCR
> @@ -0,0 +1,8 @@
> +U-Boot is a firmware for embedded boards based on PowerPC, ARM, MIPS and
> +several other processors, which can be installed in a boot ROM and used to
> +initialize and test the hardware or to download and run application code.
> +
> +As ARM systems often do not come with firmware it must be supplied on
> +an SD card or MMC device to have a bootable system.
> +
> +This package provides U-Boot for various boards using ARM processors.
> diff --git a/sysutils/u-boot/riscv64/pkg/PLIST
> b/sysutils/u-boot/riscv64/pkg/PLIST
> new file mode 100644
> index 00000000000..e0d4902e58e
> --- /dev/null
> +++ b/sysutils/u-boot/riscv64/pkg/PLIST
> @@ -0,0 +1,10 @@
> +share/u-boot/
> +share/u-boot/qemu-riscv64_smode/
> +share/u-boot/qemu-riscv64_smode/u-boot
> +share/u-boot/qemu-riscv64_smode/u-boot.bin
> +share/u-boot/sifive_unmatched/
> +@comment share/u-boot/sifive_unmatched/u-boot
> +share/u-boot/sifive_unmatched/u-boot-spl.bin
> +@comment share/u-boot/sifive_unmatched/u-boot.bin
> +@comment share/u-boot/sifive_unmatched/u-boot.img
> +share/u-boot/sifive_unmatched/u-boot.itb
> --
> 2.41.0

No comments:

Post a Comment