[Bug 268068] sysutils/u-boot-rock-pi-4 - support for rock-pi-4se?

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 18 Dec 2022 22:27:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268068

--- Comment #10 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Jon Theil Nielsen from comment #9)

I use the pre-existing rk3399-rock-pi-4.dts for illustration
below.

Looks like the include in the Makefile for rockchip:
(example paths are my style "main-src" paths)

/usr/main-src/sys/modules/dtb/rockchip/Makefile:.include <bsd.dtb.mk>

means that using make in /usr/main-src/sys/modules/dtb/rockchip/
will deal with building .dtb files from DTS files. bsd.dtb.mk has:

.include <bsd.sysdir.mk>
.include "${SYSDIR}/conf/dtb.mk"

.include <bsd.sys.mk>

and the ${SYSDIR}/conf/dtb.mk has:

.include "dtb.build.mk"

.if !target(install) && !target(realinstall)
all: ${DTB} ${DTBO}
realinstall: _dtbinstall
.ORDER: beforeinstall _dtbinstall

CLEANFILES+=${DTB} ${DTBO}
.endif # !target(install) && !target(realinstall)

.include <bsd.dep.mk>
.include <bsd.obj.mk>
.include <bsd.links.mk>

So it looks like a sequence like:
(using an example context with less pre-built)

# cd /usr/13S-src/sys/modules/dtb/rockchip/
# make all

will build various things, including the file of interest.
Trying, the output messages included:

Generating rockchip/rk3399-rock-pi-4.dtb from
/usr/13S-src/sys/contrib/device-tree/src/arm64/rockchip/rk3399-rock-pi-4.dts
converting
/usr/13S-src/sys/contrib/device-tree/src/arm64/rockchip/rk3399-rock-pi-4.dts ->
/usr/obj/usr/13S-src/arm64.aarch64/sys/modules/dtb/rockchip/rk3399-rock-pi-4.dtb

Checking . . .

# file
/usr/obj/usr/13S-src/arm64.aarch64/sys/modules/dtb/rockchip/rk3399-rock-pi-4.dtb
/usr/obj/usr/13S-src/arm64.aarch64/sys/modules/dtb/rockchip/rk3399-rock-pi-4.dtb:
Device Tree Blob version 17, size=73947, boot CPU=0, string block size=6291, DT
structure block size=66576

So, at that point you should have a file that you could
copy over to the msddosfs. (I did not add the file that you
would add. So the name of interest in your context will be
different.)

The use of stable/13 materials was only because the context had
not done a buildworld buildkernel sequence. So it looks like the
.dtb production does not require other infrastructure from build
activity to do its work. Use a source tree appropriate to your
context.

The actual stable/13 that was running was an official snapshot
build (with extra reference material added), not one of my
builds:

# uname -apKU # The long output line has been split for readability
FreeBSD generic 13.1-STABLE FreeBSD 13.1-STABLE #0
stable/13-n253133-b51ee7ac252c: Wed Nov 23 03:36:16 UTC 2022
root@releng3.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC
arm64 aarch64 1301509 1301509

-- 
You are receiving this mail because:
You are the assignee for the bug.