Date: Sun, 10 Sep 2017 12:51:11 -0700 From: Mark Millard <markmi@dsl-only.net> To: Tim Kientzle <tim@kientzle.com> Cc: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD current <freebsd-current@freebsd.org> Subject: Re: Missing in action during arm64/aarch64 builds: no pine64_plus.dtb to be found from buildkernel, installkernel, or u-boot-pine64 Message-ID: <F6DA511E-7A0A-4374-BA75-185B9F148A86@dsl-only.net> In-Reply-To: <5D56FE2E-DB64-4038-BD5B-8C1AD6B1A69D@kientzle.com> References: <DB33811B-1DB8-4461-A8D4-78B7118A547C@dsl-only.net> <5D56FE2E-DB64-4038-BD5B-8C1AD6B1A69D@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2017-Sep-10, at 10:26 AM, Tim Kientzle <tim at kientzle.com> wrote: >> On Sep 9, 2017, at 4:35 PM, Mark Millard <markmi at dsl-only.net> = wrote: >>=20 >> crochet goes to the trouble to have logic to >> build and install pine64_plus.dtb (based on >> arm64/pine64_plus.dts ). >>=20 >=20 > I'm not sure about Pine64 in particular, but generally > only the DTS file is actually required. [Note: I used crochet source code to figure out a set of manual steps sufficient to produce a pine64_plus.dtb to copy to the boot msdosfs file system.] Some of the #include structure that the existing pine64_plus.dts.dts depends on: # grep "#include" /usr/src/sys = /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include = "sun50i-a64-pine64-plus.dts" /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include "a64.dtsi" /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include = <dt-bindings/gpio/gpio.h> # grep "#include" /usr/src/sys = /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts:#include = "sun50i-a64-pine64-common.dtsi" # grep "#include" /usr/src/sys = /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include = "sun50i-a64-pine64-plus.dts" /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include "a64.dtsi" /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include = <dt-bindings/gpio/gpio.h> # grep "#include" /usr/src/sys = /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts:#include = "sun50i-a64-pine64-common.dtsi" # grep "#include" /usr/src/sys = /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-common.dtsi /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-common.dtsi:#include = "sun50i-a64.dtsi" # grep "#include" /usr/src/sys = /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64.dtsi=20 /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64.dtsi:#include = <dt-bindings/interrupt-controller/arm-gic.h> /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64.dtsi:#include = <dt-bindings/pinctrl/sun4i-a10.h> # grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/a64.dtsi=20= (Yep: nothing for that last one.) I would not guess that the full structure is a appropriate as a substitute for the dtb/pine64_plus.dtb part of the msdosfs partition for booting the Pine64+ 2GB : # find /mnt -print /mnt /mnt/startup.nsh /mnt/EFI /mnt/EFI/BOOT /mnt/EFI/BOOT/bootaa64.efi /mnt/dtb /mnt/dtb/pine64_plus.dtb /mnt/System Volume Information /mnt/System Volume Information/WPSettings.dat # ls -lt /usr/local/share/u-boot/u-boot-pine64/u-boot-sunxi-with-spl.bin=20= -rw-r--r-- 1 root wheel 505940 Sep 6 00:49 = /usr/local/share/u-boot/u-boot-pine64/u-boot-sunxi-with-spl.bin (*.bin dd'd appropriately.) So there still seems to be a lack of appropriate .dt* material for direct use/placement on the boot media. Instead manual extra steps are required relative to *.dt* files. > Crochet tries to provide a dtb file (converting the dts if necessary) > partly for documentation and partly to make it easier to edit the > device tree file. >=20 > This is especially convenient in cases where the > original DTB file depends heavily on other include files; > converting DTS to DTB gives you a fully standalone DTB > file that can be edited (for example, to enable additional > serial ports) and recompiled without having the full source > tree available. The above is the kind of context that the Pine64+'s have. It does not appear to me that the existing pine64_plus.dts is set up for more direct use (even with other supporting files). > This is probably less important now that overlay DTBs are > more commonly supported. Whatever this is, it seems to not be in use for much (any?) of the Pine64+ structuring of such things in head -r323246 . =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F6DA511E-7A0A-4374-BA75-185B9F148A86>