On Fri, Oct 13, 2023 at 07:30:43PM +0200, Mark Kettenis wrote:
>
> Now that U-Boot 2023.10 has been release, here is an update. This
> adds a few more boards and now uses a script that U-Boot provides to
> switch the serial console baudrate to 115200. This way I don't need
> to patch the configs anymore.
Works for me on rock-3a and quartz64-b.
> ok?
ok kevlo@
> Index: sysutils/u-boot/rk356x/Makefile
> ===================================================================
> RCS file: sysutils/u-boot/rk356x/Makefile
> diff -N sysutils/u-boot/rk356x/Makefile
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/rk356x/Makefile 13 Oct 2023 17:17:03 -0000
> @@ -0,0 +1,43 @@
> +VERSION= 2023.10
> +
> +SOC= rk356x
> +
> +BOARDS=\
> + odroid-m1-rk3568 \
> + quartz64-a-rk3566 \
> + quartz64-b-rk3566 \
> + radxa-cm3-io-rk3566 \
> + soquartz-blade-rk3566 \
> + soquartz-cm4-rk3566 \
> + soquartz-model-a-rk3566 \
> + nanopi-r5c-rk3568 \
> + nanopi-r5s-rk3568 \
> + radxa-e25-rk3568 \
> + rock-3a-rk3568
> +
> +BUILD_DEPENDS+= devel/arm-none-eabi/gcc,aarch64 \
> + devel/py-elftools${MODPY_FLAVOR} \
> + shells/bash \
> + sysutils/e2fsprogs
> +CROSS_COMPILE= aarch64-none-elf-
> +
> +RK3566_TPL= rk3566_ddr_1056MHz_v1.18.bin
> +RK3568_TPL= rk3568_ddr_1560MHz_v1.18.bin
> +RK356X_BL31= rk3568_bl31_v1.43.elf
> +
> +DISTFILES.rkbin= ${RK3566_TPL} ${RK3568_TPL} ${RK356X_BL31}
> +SITES.rkbin= https://github.com/rockchip-linux/rkbin/raw/master/bin/rk35/
> +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
> +
> +MAKE_ENV+= BL31=${FULLDISTDIR}/${RK356X_BL31}
> +
> +pre-build:
> + cc -o ${WRKSRC}/rkbinpatch ${FILESDIR}/rkbinpatch.c
> + cd ${WRKSRC} && \
> + cp ${FULLDISTDIR}/${RK3566_TPL} . && \
> + ./rkbinpatch ${RK3566_TPL}
> + cd ${WRKSRC} && \
> + cp ${FULLDISTDIR}/${RK3568_TPL} . && \
> + ./rkbinpatch ${RK3568_TPL}
> +
> +.include <bsd.port.mk>
> Index: sysutils/u-boot/rk356x/distinfo
> ===================================================================
> RCS file: sysutils/u-boot/rk356x/distinfo
> diff -N sysutils/u-boot/rk356x/distinfo
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/rk356x/distinfo 13 Oct 2023 17:17:03 -0000
> @@ -0,0 +1,8 @@
> +SHA256 (rk3566_ddr_1056MHz_v1.18.bin) =
> 3ABjVq4NHR9mhYo3Yub1pSlMruHKFz7lsMRTG9QgjU8=
> +SHA256 (rk3568_bl31_v1.43.elf) = U7k3G+6qDGo8AjWg8Gmtxxn/kCinhjdyzl7vJBVqsHw=
> +SHA256 (rk3568_ddr_1560MHz_v1.18.bin) =
> nmIAyhP4RjebrnA7A21C4oCIirOoFDmZOAvcmJjQQyI=
> +SHA256 (u-boot-2023.10.tar.bz2) =
> 4A5sbwFOBGEBc50I0G8yiBHOvPWuEBNI9AnLvVXOaQA=
> +SIZE (rk3566_ddr_1056MHz_v1.18.bin) = 55296
> +SIZE (rk3568_bl31_v1.43.elf) = 402376
> +SIZE (rk3568_ddr_1560MHz_v1.18.bin) = 55296
> +SIZE (u-boot-2023.10.tar.bz2) = 19645392
> Index: sysutils/u-boot/rk356x/files/rkbinpatch.c
> ===================================================================
> RCS file: sysutils/u-boot/rk356x/files/rkbinpatch.c
> diff -N sysutils/u-boot/rk356x/files/rkbinpatch.c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/rk356x/files/rkbinpatch.c 13 Oct 2023 17:17:04 -0000
> @@ -0,0 +1,46 @@
> +#include <sys/mman.h>
> +#include <sys/stat.h>
> +#include <err.h>
> +#include <fcntl.h>
> +#include <unistd.h>
> +
> +int
> +main(int argc, char *argv[])
> +{
> + struct stat st;
> + void *start, *end;
> + uint32_t *word;
> + uint32_t data;
> + int fd;
> +
> + fd = open(argv[1], O_RDWR);
> + if (fd == -1)
> + err(1, "%s", argv[1]);
> +
> + if (fstat(fd, &st) == -1)
> + err(1, "%s: stat", argv[1]);
> +
> + start = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE,
> + MAP_SHARED, fd, 0);
> + if (start == MAP_FAILED)
> + err(1, "%s: mmap", argv[1]);
> +
> + end = (char *)start + st.st_size;
> + for (word = start; (void *)word < end; word++) {
> + if (*word == 0x12345678 && (void *)(word + 10) < end) {
> + data = *(word + 9);
> + if ((data & 0xffffff) == 1500000) {
> + data &= 0xff000000;
> + data |= 115200;
> + *(word + 9) = data;
> + close(fd);
> + return 0;
> + }
> + }
> + }
> +
> + warnx("%s: can't find parameters", argv[1]);
> +
> + close(fd);
> + return 1;
> +}
> Index: sysutils/u-boot/rk356x/pkg/DESCR
> ===================================================================
> RCS file: sysutils/u-boot/rk356x/pkg/DESCR
> diff -N sysutils/u-boot/rk356x/pkg/DESCR
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/rk356x/pkg/DESCR 13 Oct 2023 17:17:04 -0000
> @@ -0,0 +1,9 @@
> +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 single-board computers 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 Rockchip RK3566
> +and RK3568 SoCs.
> Index: sysutils/u-boot/rk356x/pkg/PLIST
> ===================================================================
> RCS file: sysutils/u-boot/rk356x/pkg/PLIST
> diff -N sysutils/u-boot/rk356x/pkg/PLIST
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/rk356x/pkg/PLIST 13 Oct 2023 17:17:04 -0000
> @@ -0,0 +1,89 @@
> +share/u-boot/
> +share/u-boot/nanopi-r5c-rk3568/
> +@comment share/u-boot/nanopi-r5c-rk3568/idbloader.img
> +@comment share/u-boot/nanopi-r5c-rk3568/u-boot
> +share/u-boot/nanopi-r5c-rk3568/u-boot-rockchip.bin
> +@comment share/u-boot/nanopi-r5c-rk3568/u-boot-spl.bin
> +@comment share/u-boot/nanopi-r5c-rk3568/u-boot.bin
> +@comment share/u-boot/nanopi-r5c-rk3568/u-boot.img
> +@comment share/u-boot/nanopi-r5c-rk3568/u-boot.itb
> +share/u-boot/nanopi-r5s-rk3568/
> +@comment share/u-boot/nanopi-r5s-rk3568/idbloader.img
> +@comment share/u-boot/nanopi-r5s-rk3568/u-boot
> +share/u-boot/nanopi-r5s-rk3568/u-boot-rockchip.bin
> +@comment share/u-boot/nanopi-r5s-rk3568/u-boot-spl.bin
> +@comment share/u-boot/nanopi-r5s-rk3568/u-boot.bin
> +@comment share/u-boot/nanopi-r5s-rk3568/u-boot.img
> +@comment share/u-boot/nanopi-r5s-rk3568/u-boot.itb
> +share/u-boot/odroid-m1-rk3568/
> +@comment share/u-boot/odroid-m1-rk3568/idbloader.img
> +@comment share/u-boot/odroid-m1-rk3568/u-boot
> +share/u-boot/odroid-m1-rk3568/u-boot-rockchip.bin
> +@comment share/u-boot/odroid-m1-rk3568/u-boot-spl.bin
> +@comment share/u-boot/odroid-m1-rk3568/u-boot.bin
> +@comment share/u-boot/odroid-m1-rk3568/u-boot.img
> +@comment share/u-boot/odroid-m1-rk3568/u-boot.itb
> +share/u-boot/quartz64-a-rk3566/
> +@comment share/u-boot/quartz64-a-rk3566/idbloader.img
> +@comment share/u-boot/quartz64-a-rk3566/u-boot
> +share/u-boot/quartz64-a-rk3566/u-boot-rockchip.bin
> +@comment share/u-boot/quartz64-a-rk3566/u-boot-spl.bin
> +@comment share/u-boot/quartz64-a-rk3566/u-boot.bin
> +@comment share/u-boot/quartz64-a-rk3566/u-boot.img
> +@comment share/u-boot/quartz64-a-rk3566/u-boot.itb
> +share/u-boot/quartz64-b-rk3566/
> +@comment share/u-boot/quartz64-b-rk3566/idbloader.img
> +@comment share/u-boot/quartz64-b-rk3566/u-boot
> +share/u-boot/quartz64-b-rk3566/u-boot-rockchip.bin
> +@comment share/u-boot/quartz64-b-rk3566/u-boot-spl.bin
> +@comment share/u-boot/quartz64-b-rk3566/u-boot.bin
> +@comment share/u-boot/quartz64-b-rk3566/u-boot.img
> +@comment share/u-boot/quartz64-b-rk3566/u-boot.itb
> +share/u-boot/radxa-cm3-io-rk3566/
> +@comment share/u-boot/radxa-cm3-io-rk3566/idbloader.img
> +@comment share/u-boot/radxa-cm3-io-rk3566/u-boot
> +share/u-boot/radxa-cm3-io-rk3566/u-boot-rockchip.bin
> +@comment share/u-boot/radxa-cm3-io-rk3566/u-boot-spl.bin
> +@comment share/u-boot/radxa-cm3-io-rk3566/u-boot.bin
> +@comment share/u-boot/radxa-cm3-io-rk3566/u-boot.img
> +@comment share/u-boot/radxa-cm3-io-rk3566/u-boot.itb
> +share/u-boot/radxa-e25-rk3568/
> +@comment share/u-boot/radxa-e25-rk3568/idbloader.img
> +@comment share/u-boot/radxa-e25-rk3568/u-boot
> +share/u-boot/radxa-e25-rk3568/u-boot-rockchip.bin
> +@comment share/u-boot/radxa-e25-rk3568/u-boot-spl.bin
> +@comment share/u-boot/radxa-e25-rk3568/u-boot.bin
> +@comment share/u-boot/radxa-e25-rk3568/u-boot.img
> +@comment share/u-boot/radxa-e25-rk3568/u-boot.itb
> +share/u-boot/rock-3a-rk3568/
> +@comment share/u-boot/rock-3a-rk3568/idbloader.img
> +@comment share/u-boot/rock-3a-rk3568/u-boot
> +share/u-boot/rock-3a-rk3568/u-boot-rockchip.bin
> +@comment share/u-boot/rock-3a-rk3568/u-boot-spl.bin
> +@comment share/u-boot/rock-3a-rk3568/u-boot.bin
> +@comment share/u-boot/rock-3a-rk3568/u-boot.img
> +@comment share/u-boot/rock-3a-rk3568/u-boot.itb
> +share/u-boot/soquartz-blade-rk3566/
> +@comment share/u-boot/soquartz-blade-rk3566/idbloader.img
> +@comment share/u-boot/soquartz-blade-rk3566/u-boot
> +share/u-boot/soquartz-blade-rk3566/u-boot-rockchip.bin
> +@comment share/u-boot/soquartz-blade-rk3566/u-boot-spl.bin
> +@comment share/u-boot/soquartz-blade-rk3566/u-boot.bin
> +@comment share/u-boot/soquartz-blade-rk3566/u-boot.img
> +@comment share/u-boot/soquartz-blade-rk3566/u-boot.itb
> +share/u-boot/soquartz-cm4-rk3566/
> +@comment share/u-boot/soquartz-cm4-rk3566/idbloader.img
> +@comment share/u-boot/soquartz-cm4-rk3566/u-boot
> +share/u-boot/soquartz-cm4-rk3566/u-boot-rockchip.bin
> +@comment share/u-boot/soquartz-cm4-rk3566/u-boot-spl.bin
> +@comment share/u-boot/soquartz-cm4-rk3566/u-boot.bin
> +@comment share/u-boot/soquartz-cm4-rk3566/u-boot.img
> +@comment share/u-boot/soquartz-cm4-rk3566/u-boot.itb
> +share/u-boot/soquartz-model-a-rk3566/
> +@comment share/u-boot/soquartz-model-a-rk3566/idbloader.img
> +@comment share/u-boot/soquartz-model-a-rk3566/u-boot
> +share/u-boot/soquartz-model-a-rk3566/u-boot-rockchip.bin
> +@comment share/u-boot/soquartz-model-a-rk3566/u-boot-spl.bin
> +@comment share/u-boot/soquartz-model-a-rk3566/u-boot.bin
> +@comment share/u-boot/soquartz-model-a-rk3566/u-boot.img
> +@comment share/u-boot/soquartz-model-a-rk3566/u-boot.itb
>