On Sat, Aug 19, 2017 at 11:22:09PM -0400, Patrick Wildt wrote: > On Sat, Aug 19, 2017 at 08:23:40PM +1000, Jonathan Gray wrote: > > With the not yet committed atf-allwinner port this builds complete > > images for Allwinner aarch64 targets. > > > > Compile tested only, I have no Allwinner hardware. > > > > Details are described in > > http://git.denx.de/?p=u-boot.git;a=blob_plain;f=board/sunxi/README.sunxi64;hb=HEAD > > > > sunxi-spl.bin/u-boot.itb made available for boards with spi flash. > > > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/sysutils/u-boot/Makefile,v > > retrieving revision 1.23 > > diff -u -p -r1.23 Makefile > > --- Makefile 19 Aug 2017 04:40:40 -0000 1.23 > > +++ Makefile 19 Aug 2017 10:13:06 -0000 > > @@ -7,6 +7,7 @@ FLAVOR?= arm > > > > COMMENT= U-Boot firmware > > VERSION= 2017.09-rc2 > > +REVISION= 0 > > DISTNAME= u-boot-${VERSION} > > PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//} > > FULLPKGNAME= ${PKGNAME} > > @@ -35,8 +36,10 @@ MAKE_ENV= KBUILD_VERBOSE=1 \ > > PYTHON="${MODPY_BIN}" > > > > .if "${FLAVOR}" == "aarch64" > > -BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,aarch64 > > -MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-" > > +BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,aarch64 \ > > + sysutils/atf-allwinner > > +MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-" \ > > + BL31="${LOCALBASE}/share/atf-allwinner/bl31.bin" > > Cool stuff! But I think this BL31 MAKE_ENV addition needs to be applied > only for the allwinner boards, because the rockchip will definitely need > a different ATF binary.
Well, we don't build any aarch64 rockchip targets yet and it seems the relevant U-Boot bits are still landing upstream. Here is a diff to only set the environment variable for aarch64 Allwinner targets to be ready for when U-Boot is ready. Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/u-boot/Makefile,v retrieving revision 1.23 diff -u -p -r1.23 Makefile --- Makefile 19 Aug 2017 04:40:40 -0000 1.23 +++ Makefile 20 Aug 2017 08:33:20 -0000 @@ -7,6 +7,7 @@ FLAVOR?= arm COMMENT= U-Boot firmware VERSION= 2017.09-rc2 +REVISION= 0 DISTNAME= u-boot-${VERSION} PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//} FULLPKGNAME= ${PKGNAME} @@ -35,8 +36,10 @@ MAKE_ENV= KBUILD_VERBOSE=1 \ PYTHON="${MODPY_BIN}" .if "${FLAVOR}" == "aarch64" -BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,aarch64 +BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,aarch64 \ + sysutils/atf-allwinner MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-" +SUNXI_BL31= "${LOCALBASE}/share/atf-allwinner/bl31.bin" .elif "${FLAVOR}" == "arm" BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-" @@ -46,13 +49,15 @@ USE_GMAKE= Yes NO_TEST= Yes .if "${FLAVOR}" == "aarch64" -BOARDS=\ +SUNXI64=\ bananapi_m64 \ nanopi_neo2 \ orangepi_pc2 \ orangepi_prime \ orangepi_win \ pine64_plus \ + sopine_baseboard +BOARDS=\ rpi_3 .elif "${FLAVOR}" == "arm" OMAP=\ @@ -60,6 +65,7 @@ OMAP=\ omap4_panda \ am335x_boneblack \ am57xx_evm +SUNXI64= SUNXI=\ A10-OLinuXino-Lime \ A10s-OLinuXino-M \ @@ -120,7 +126,9 @@ FILES=\ u-boot-sunxi-with-spl.bin \ u-boot.imx \ u-boot-spl.kwb \ - u-boot-with-spl.bin + u-boot-with-spl.bin \ + u-boot.itb \ + spl/sunxi-spl.bin pre-build: ${SUBST_CMD} ${WRKBUILD}/tools/Makefile @@ -145,10 +153,25 @@ do-build: cat u-boot-dtb.bin >> u-boot-with-spl.bin .endif .endfor +.for BOARD in ${SUNXI64} + 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} + 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} +.for BOARD in ${BOARDS} ${SUNXI64} ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot/${BOARD} -cd ${WRKSRC}/build/${BOARD} && \ cp ${FILES} ${PREFIX}/share/u-boot/${BOARD}/ Index: pkg/PFRAG.aarch64 =================================================================== RCS file: /cvs/ports/sysutils/u-boot/pkg/PFRAG.aarch64,v retrieving revision 1.3 diff -u -p -r1.3 PFRAG.aarch64 --- pkg/PFRAG.aarch64 30 Jul 2017 05:53:03 -0000 1.3 +++ pkg/PFRAG.aarch64 20 Aug 2017 04:58:08 -0000 @@ -1,29 +1,54 @@ @comment $OpenBSD: PFRAG.aarch64,v 1.3 2017/07/30 05:53:03 jsg Exp $ share/u-boot/ share/u-boot/bananapi_m64/ +share/u-boot/bananapi_m64/sunxi-spl.bin share/u-boot/bananapi_m64/u-boot +share/u-boot/bananapi_m64/u-boot-sunxi-with-spl.bin share/u-boot/bananapi_m64/u-boot.bin share/u-boot/bananapi_m64/u-boot.img +share/u-boot/bananapi_m64/u-boot.itb share/u-boot/nanopi_neo2/ +share/u-boot/nanopi_neo2/sunxi-spl.bin share/u-boot/nanopi_neo2/u-boot +share/u-boot/nanopi_neo2/u-boot-sunxi-with-spl.bin share/u-boot/nanopi_neo2/u-boot.bin share/u-boot/nanopi_neo2/u-boot.img +share/u-boot/nanopi_neo2/u-boot.itb share/u-boot/orangepi_pc2/ +share/u-boot/orangepi_pc2/sunxi-spl.bin share/u-boot/orangepi_pc2/u-boot +share/u-boot/orangepi_pc2/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_pc2/u-boot.bin share/u-boot/orangepi_pc2/u-boot.img +share/u-boot/orangepi_pc2/u-boot.itb share/u-boot/orangepi_prime/ +share/u-boot/orangepi_prime/sunxi-spl.bin share/u-boot/orangepi_prime/u-boot +share/u-boot/orangepi_prime/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_prime/u-boot.bin share/u-boot/orangepi_prime/u-boot.img +share/u-boot/orangepi_prime/u-boot.itb share/u-boot/orangepi_win/ +share/u-boot/orangepi_win/sunxi-spl.bin share/u-boot/orangepi_win/u-boot +share/u-boot/orangepi_win/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_win/u-boot.bin share/u-boot/orangepi_win/u-boot.img +share/u-boot/orangepi_win/u-boot.itb share/u-boot/pine64_plus/ +share/u-boot/pine64_plus/sunxi-spl.bin share/u-boot/pine64_plus/u-boot +share/u-boot/pine64_plus/u-boot-sunxi-with-spl.bin share/u-boot/pine64_plus/u-boot.bin share/u-boot/pine64_plus/u-boot.img +share/u-boot/pine64_plus/u-boot.itb share/u-boot/rpi_3/ share/u-boot/rpi_3/u-boot share/u-boot/rpi_3/u-boot.bin +share/u-boot/sopine_baseboard/ +share/u-boot/sopine_baseboard/sunxi-spl.bin +share/u-boot/sopine_baseboard/u-boot +share/u-boot/sopine_baseboard/u-boot-sunxi-with-spl.bin +share/u-boot/sopine_baseboard/u-boot.bin +share/u-boot/sopine_baseboard/u-boot.img +share/u-boot/sopine_baseboard/u-boot.itb Index: pkg/PFRAG.arm =================================================================== RCS file: /cvs/ports/sysutils/u-boot/pkg/PFRAG.arm,v retrieving revision 1.7 diff -u -p -r1.7 PFRAG.arm --- pkg/PFRAG.arm 1 Aug 2017 23:25:44 -0000 1.7 +++ pkg/PFRAG.arm 19 Aug 2017 06:28:17 -0000 @@ -2,101 +2,121 @@ @pkgpath sysutils/u-boot, share/u-boot/ share/u-boot/A10-OLinuXino-Lime/ +share/u-boot/A10-OLinuXino-Lime/sunxi-spl.bin share/u-boot/A10-OLinuXino-Lime/u-boot share/u-boot/A10-OLinuXino-Lime/u-boot-sunxi-with-spl.bin share/u-boot/A10-OLinuXino-Lime/u-boot.bin share/u-boot/A10-OLinuXino-Lime/u-boot.img share/u-boot/A10s-OLinuXino-M/ +share/u-boot/A10s-OLinuXino-M/sunxi-spl.bin share/u-boot/A10s-OLinuXino-M/u-boot share/u-boot/A10s-OLinuXino-M/u-boot-sunxi-with-spl.bin share/u-boot/A10s-OLinuXino-M/u-boot.bin share/u-boot/A10s-OLinuXino-M/u-boot.img share/u-boot/A20-OLinuXino-Lime/ +share/u-boot/A20-OLinuXino-Lime/sunxi-spl.bin share/u-boot/A20-OLinuXino-Lime/u-boot share/u-boot/A20-OLinuXino-Lime/u-boot-sunxi-with-spl.bin share/u-boot/A20-OLinuXino-Lime/u-boot.bin share/u-boot/A20-OLinuXino-Lime/u-boot.img share/u-boot/A20-OLinuXino-Lime2/ +share/u-boot/A20-OLinuXino-Lime2/sunxi-spl.bin share/u-boot/A20-OLinuXino-Lime2/u-boot share/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin share/u-boot/A20-OLinuXino-Lime2/u-boot.bin share/u-boot/A20-OLinuXino-Lime2/u-boot.img share/u-boot/A20-OLinuXino_MICRO/ +share/u-boot/A20-OLinuXino_MICRO/sunxi-spl.bin share/u-boot/A20-OLinuXino_MICRO/u-boot share/u-boot/A20-OLinuXino_MICRO/u-boot-sunxi-with-spl.bin share/u-boot/A20-OLinuXino_MICRO/u-boot.bin share/u-boot/A20-OLinuXino_MICRO/u-boot.img share/u-boot/Bananapi/ +share/u-boot/Bananapi/sunxi-spl.bin share/u-boot/Bananapi/u-boot share/u-boot/Bananapi/u-boot-sunxi-with-spl.bin share/u-boot/Bananapi/u-boot.bin share/u-boot/Bananapi/u-boot.img share/u-boot/Bananapro/ +share/u-boot/Bananapro/sunxi-spl.bin share/u-boot/Bananapro/u-boot share/u-boot/Bananapro/u-boot-sunxi-with-spl.bin share/u-boot/Bananapro/u-boot.bin share/u-boot/Bananapro/u-boot.img share/u-boot/CHIP/ +share/u-boot/CHIP/sunxi-spl.bin share/u-boot/CHIP/u-boot share/u-boot/CHIP/u-boot-sunxi-with-spl.bin share/u-boot/CHIP/u-boot.bin share/u-boot/CHIP/u-boot.img share/u-boot/CHIP_pro/ +share/u-boot/CHIP_pro/sunxi-spl.bin share/u-boot/CHIP_pro/u-boot share/u-boot/CHIP_pro/u-boot-sunxi-with-spl.bin share/u-boot/CHIP_pro/u-boot.bin share/u-boot/CHIP_pro/u-boot.img share/u-boot/Cubieboard/ +share/u-boot/Cubieboard/sunxi-spl.bin share/u-boot/Cubieboard/u-boot share/u-boot/Cubieboard/u-boot-sunxi-with-spl.bin share/u-boot/Cubieboard/u-boot.bin share/u-boot/Cubieboard/u-boot.img share/u-boot/Cubieboard2/ +share/u-boot/Cubieboard2/sunxi-spl.bin share/u-boot/Cubieboard2/u-boot share/u-boot/Cubieboard2/u-boot-sunxi-with-spl.bin share/u-boot/Cubieboard2/u-boot.bin share/u-boot/Cubieboard2/u-boot.img share/u-boot/Cubieboard4/ +share/u-boot/Cubieboard4/sunxi-spl.bin share/u-boot/Cubieboard4/u-boot share/u-boot/Cubieboard4/u-boot-sunxi-with-spl.bin share/u-boot/Cubieboard4/u-boot.bin share/u-boot/Cubieboard4/u-boot.img share/u-boot/Cubietruck/ +share/u-boot/Cubietruck/sunxi-spl.bin share/u-boot/Cubietruck/u-boot share/u-boot/Cubietruck/u-boot-sunxi-with-spl.bin share/u-boot/Cubietruck/u-boot.bin share/u-boot/Cubietruck/u-boot.img share/u-boot/Lamobo_R1/ +share/u-boot/Lamobo_R1/sunxi-spl.bin share/u-boot/Lamobo_R1/u-boot share/u-boot/Lamobo_R1/u-boot-sunxi-with-spl.bin share/u-boot/Lamobo_R1/u-boot.bin share/u-boot/Lamobo_R1/u-boot.img share/u-boot/Linksprite_pcDuino/ +share/u-boot/Linksprite_pcDuino/sunxi-spl.bin share/u-boot/Linksprite_pcDuino/u-boot share/u-boot/Linksprite_pcDuino/u-boot-sunxi-with-spl.bin share/u-boot/Linksprite_pcDuino/u-boot.bin share/u-boot/Linksprite_pcDuino/u-boot.img share/u-boot/Linksprite_pcDuino3/ +share/u-boot/Linksprite_pcDuino3/sunxi-spl.bin share/u-boot/Linksprite_pcDuino3/u-boot share/u-boot/Linksprite_pcDuino3/u-boot-sunxi-with-spl.bin share/u-boot/Linksprite_pcDuino3/u-boot.bin share/u-boot/Linksprite_pcDuino3/u-boot.img share/u-boot/Linksprite_pcDuino3_Nano/ +share/u-boot/Linksprite_pcDuino3_Nano/sunxi-spl.bin share/u-boot/Linksprite_pcDuino3_Nano/u-boot share/u-boot/Linksprite_pcDuino3_Nano/u-boot-sunxi-with-spl.bin share/u-boot/Linksprite_pcDuino3_Nano/u-boot.bin share/u-boot/Linksprite_pcDuino3_Nano/u-boot.img share/u-boot/Orangepi/ +share/u-boot/Orangepi/sunxi-spl.bin share/u-boot/Orangepi/u-boot share/u-boot/Orangepi/u-boot-sunxi-with-spl.bin share/u-boot/Orangepi/u-boot.bin share/u-boot/Orangepi/u-boot.img share/u-boot/Orangepi_mini/ +share/u-boot/Orangepi_mini/sunxi-spl.bin share/u-boot/Orangepi_mini/u-boot share/u-boot/Orangepi_mini/u-boot-sunxi-with-spl.bin share/u-boot/Orangepi_mini/u-boot.bin share/u-boot/Orangepi_mini/u-boot.img share/u-boot/Sinovoip_BPI_M2_Plus/ +share/u-boot/Sinovoip_BPI_M2_Plus/sunxi-spl.bin share/u-boot/Sinovoip_BPI_M2_Plus/u-boot share/u-boot/Sinovoip_BPI_M2_Plus/u-boot-sunxi-with-spl.bin share/u-boot/Sinovoip_BPI_M2_Plus/u-boot.bin @@ -126,6 +146,7 @@ share/u-boot/mx6qsabrelite/u-boot share/u-boot/mx6qsabrelite/u-boot.bin share/u-boot/mx6qsabrelite/u-boot.imx share/u-boot/nanopi_neo/ +share/u-boot/nanopi_neo/sunxi-spl.bin share/u-boot/nanopi_neo/u-boot share/u-boot/nanopi_neo/u-boot-sunxi-with-spl.bin share/u-boot/nanopi_neo/u-boot.bin @@ -150,41 +171,49 @@ share/u-boot/omap4_panda/u-boot 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 share/u-boot/orangepi_2/u-boot share/u-boot/orangepi_2/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_2/u-boot.bin share/u-boot/orangepi_2/u-boot.img share/u-boot/orangepi_lite/ +share/u-boot/orangepi_lite/sunxi-spl.bin share/u-boot/orangepi_lite/u-boot share/u-boot/orangepi_lite/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_lite/u-boot.bin share/u-boot/orangepi_lite/u-boot.img share/u-boot/orangepi_one/ +share/u-boot/orangepi_one/sunxi-spl.bin share/u-boot/orangepi_one/u-boot share/u-boot/orangepi_one/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_one/u-boot.bin share/u-boot/orangepi_one/u-boot.img share/u-boot/orangepi_pc/ +share/u-boot/orangepi_pc/sunxi-spl.bin share/u-boot/orangepi_pc/u-boot share/u-boot/orangepi_pc/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_pc/u-boot.bin share/u-boot/orangepi_pc/u-boot.img share/u-boot/orangepi_pc_plus/ +share/u-boot/orangepi_pc_plus/sunxi-spl.bin share/u-boot/orangepi_pc_plus/u-boot share/u-boot/orangepi_pc_plus/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_pc_plus/u-boot.bin share/u-boot/orangepi_pc_plus/u-boot.img share/u-boot/orangepi_plus/ +share/u-boot/orangepi_plus/sunxi-spl.bin share/u-boot/orangepi_plus/u-boot share/u-boot/orangepi_plus/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_plus/u-boot.bin share/u-boot/orangepi_plus/u-boot.img share/u-boot/orangepi_plus2e/ +share/u-boot/orangepi_plus2e/sunxi-spl.bin share/u-boot/orangepi_plus2e/u-boot share/u-boot/orangepi_plus2e/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_plus2e/u-boot.bin share/u-boot/orangepi_plus2e/u-boot.img share/u-boot/orangepi_zero/ +share/u-boot/orangepi_zero/sunxi-spl.bin share/u-boot/orangepi_zero/u-boot share/u-boot/orangepi_zero/u-boot-sunxi-with-spl.bin share/u-boot/orangepi_zero/u-boot.bin