Only had a little time this morning before meetings and needing to get back to POPL reviews, but made some progress.
Apparently there are *3* streams of dtbs for the VisionFive2 🙃
- The version that ships with the board, which is kinda borked even on my recently-shipped v1.3b
- The version posted on StarFive's board release page: https://github.com/starfive-tech/VisionFive2/releases
- The version in the tree they're using to work towards upstreaming Linux support: https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_upstream/arch/riscv/boot/dts/starfive
The latter two seem to evolve semi-independently?
I discovered I was booting OpenBSD with the borked onboard version, nothing was loading dtbs from the sd card, and doing so *does* require using fatload and bootefi commands manually in OpenSBI. When I do that, relatively recent "release" dtbs (the second of the trio above) partially boot OpenBSD: it hangs, but it also attaches a fair number of drivers before it does so. The last driver that reports attaching is pcie, and the last mailing list traffic on this board reports changes there breaking things in pcie, so... I guess I'm caught up with state-of-the-art. (I suspect something goes awry when interrupts are enabled for the pci bus, but don't know how to confirm.) Sadly this hangs *before* the mmc driver gets a chance to try loading, so I don't know if that particular driver works with any given tree.
Tomorrow I'll have to try (1) a couple slightly older "official" dtbs, (2) extracting the dtbs from their official linux image released in June, which should be close to what has been used, and then fall back to (3) manually build 85 versions of dtbs out of the Linux tree if the first two don't work... 🙃