Hi all, Various things related to this so apologies for being all over the place. If suggestions are way off base, please excuse me, otherwise I hope they're constructive. A lot of this is likely documentation improvement opportunities.
https://ftp.openbsd.org/pub/OpenBSD/7.7/riscv64/INSTALL.riscv64 could mention the https://ftp.openbsd.org/pub/OpenBSD/7.7/packages/riscv64/dtb-6.14.tgz package. Bryan Steele pointed that out to me (on my live-blogging this on bsd.network). https://ftp.openbsd.org/pub/OpenBSD/7.7/riscv64/INSTALL.riscv64 advises putting the dtb file/files (bit unclear on this... the package appears to have one file for this machine but install docs says "dtb files" (plural) in to "/vendor/, /dtbs/vendor/, or /dtb/current/vendor/" on "a FAT filesystem". The install77.img for RISC-V has a MSDOS/FAT filesystem, but placing jh7110-starfive-visionfive-2-v1.3b.dtb from the dtb package in to /vendor/ in that partition is not causing it to be loaded, for me. Following instructions in https://marc.info/?l=openbsd-misc&w=2&r=1&s=starfive&q=b for stopping U-Boot (only passingly and infrequently familiar with U-Boot so apologies) of stopping and telling it to load the dtb file given a full path to it, I seem to be probing most devices instead of basically none except console. > Then interrupt u-boot and run the following commands: (with a USB-serial adapter plugged in to the GPIO header, at the "Hit any key to stop autoboot" prompt:) v-- had to add ``vendor/'' in front > load mmc 1:1 ${fdt_addr_r} jh7110-starfive-visionfive-2-v1.3b.dtb > load mmc 1:1 ${kernel_addr_r} efi/boot/bootriscv64.efi > bootefi ${kernel_addr_r} ${fdt_addr_r} The jh7110-starfive-visionfive-2-v1.3b.dtb from ports had apparently the same results for me as the one from https://1drv.ms/f/s!AumcCDfJd6uNk6gaACzuhBPb33YSDw?e=hLCzMI , which https://www.starfivetech.com/en/site/boards currently indirectly links to. I grabbed the 202409/sd/starfive-jh7110-202409-SD-minimal-desktop-wayland.img.bz2 image. There are dtb files for two kernel versions in there. I copied dtbs/5.15.0-starfive/starfive/*.dtb files from that to /vendor/ on the MSDOS partition of the openbsd77.img install image in one attempt. The jh7110-starfive-visionfive-2-v1.3b.dtb file from https://marc.info/?l=openbsd-misc&w=2&r=1&s=starfive&q=b also has the same apparent result (not diff'ing dmesgs between them and didn't compare the files to see if they are identical). For all three of those, I'm getting: nvme0 at pci3 dev 0 function 0 "Samsung PM9C1" rev 0x00: intx, NVMe 2.0 nvme0: unable to enable controller Then there no sd* for the nvme card in the nvme M.2 socket. This device is accessible when booted in to starfive-jh7110-202409-SD-minimal-desktop-wayland.img.bz2 from https://1drv.ms/f/s!AumcCDfJd6uNk6gaACzuhBPb33YSDw?e=hLCzMI . And this is concerning: cpu0: regulator not implemented And the board does get *hot*. It does not when booted in to the 202409/sd/starfive-jh7110-202409-SD-minimal-desktop-wayland.img.bz2 image. So that's probably a device driver I really need. But it gets hot even while idle, so I'm wondering if idle-sleep support is just missing for this CPU in OpenBSD? The Debian Linux starfive-jh7110-202409-SD-minimal-desktop-wayland.img.bz2 comes with a whole bunch of these dtb files so that was confusing too. Do I need to load more of those? Footnote, but leaving HDMI plugged in seems to be causing wedges on boot. Took me a while to figure that out. It's not a simple case of it ignoring the serial TTY in favor of a glass TTY as nothing appears on the monitor (for me). Here's the dmesg from one of those attempts: OpenBSD 7.7 (RAMDISK) #17: Mon Apr 14 05:12:50 MDT 2025 dera...@riscv64.openbsd.org:/usr/src/sys/arch/riscv64/compile/RAMDISK real mem = 4294967296 (4096MB) avail mem = 8231550976 (7850MB) SBI: OpenSBI v1.2, SBI Specification Version 1.0 random: boothowto does not indicate good seed mainbus0 at root: StarFive VisionFive 2 v1.3B cpu0 at mainbus0: SiFive U7 imp 4210427 rv64imafdc_zba_zbb intc0 at cpu0 cpu0: 32KB 64b/line 64-way L1 I-cache, 32KB 64b/line 64-way L1 D-cache cpu0: 2048KB 64b/line 2048-way L2 cache "opp-table-0" at mainbus0 not configured "dvp-clock" at mainbus0 not configured "gmac0-rgmii-rxin-clock" at mainbus0 not configured "gmac0-rmii-refin-clock" at mainbus0 not configured "gmac1-rgmii-rxin-clock" at mainbus0 not configured "gmac1-rmii-refin-clock" at mainbus0 not configured "hdmitx0-pixel-clock" at mainbus0 not configured "i2srx-bclk-ext-clock" at mainbus0 not configured "i2srx-lrck-ext-clock" at mainbus0 not configured "i2stx-bclk-ext-clock" at mainbus0 not configured "i2stx-lrck-ext-clock" at mainbus0 not configured "mclk-ext-clock" at mainbus0 not configured "oscillator" at mainbus0 not configured "rtc-oscillator" at mainbus0 not configured "stmmac-axi-config" at mainbus0 not configured "tdm-ext-clock" at mainbus0 not configured simplebus0 at mainbus0: "soc" plic0 at simplebus0 stfpciephy0 at simplebus0 stfpciephy1 at simplebus0 stfclock0 at simplebus0: stgcrg syscon0 at simplebus0: "syscon" stfclock1 at simplebus0: syscrg syscon1 at simplebus0: "syscon" stfclock2 at syscon1: pll stfpinctrl0 at simplebus0 stfclock3 at simplebus0: aoncrg syscon2 at simplebus0: "syscon" "timer" at simplebus0 not configured "cache-controller" at simplebus0 not configured com0 at simplebus0: dw16550 com0: console "i2c" at simplebus0 not configured "i2c" at simplebus0 not configured "tdm" at simplebus0 not configured "usb" at simplebus0 not configured "phy" at simplebus0 not configured "i2c" at simplebus0 not configured "i2c" at simplebus0 not configured "pwm" at simplebus0 not configured "temperature-sensor" at simplebus0 not configured "spi" at simplebus0 not configured "timer" at simplebus0 not configured "watchdog" at simplebus0 not configured "dma" at simplebus0 not configured stfrng0 at simplebus0 dwmmc0 at simplebus0: 198 MHz base clock sdmmc0 at dwmmc0: 8-bit, mmc high-speed, dma dwmmc1 at simplebus0: 198 MHz base clock sdmmc1 at dwmmc1: 4-bit, sd high-speed, dma dwqe0 at simplebus0 gmac 0: rev 0x52, address 6c:cf:39:00:b7:16 ytphy0 at dwqe0 phy 0: YT8531, rev. 11 dwqe1 at simplebus0 gmac 1dwqe1: reset timeout : rev 0x52, address 6c:cf:39:00:b7:17 dwqe1: reset timeout ytphy1 at dwqe1 phy 0: YT8531, rev. 11 "dma-controller" at simplebus0 not configured "pinctrl" at simplebus0 not configured "power-controller" at simplebus0 not configured "csi-bridge" at simplebus0 not configured "clock-controller" at simplebus0 not configured "phy" at simplebus0 not configured "camss" at simplebus0 not configured "clock-controller" at simplebus0 not configured stfpcie0 at simplebus0 pci0 at stfpcie0 ppb0 at pci0 dev 0 function 0 "PLDA XpressRICH-AXI" rev 0x00 pci1 at ppb0 bus 1 xhci0 at pci1 dev 0 function 0 "VIA VL805 xHCI" rev 0x01: intx, xHCI 1.0 usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "VIA xHCI root hub" rev 3.00/1.00 addr 1 stfpcie1 at simplebus0 pci2 at stfpcie1 ppb1 at pci2 dev 0 function 0 "PLDA XpressRICH-AXI" rev 0x00 pci3 at ppb1 bus 1 nvme0 at pci3 dev 0 function 0 "Samsung PM9C1" rev 0x00: intx, NVMe 2.0 nvme0: unable to enable controller gpiorestart0 at mainbus0 "clk_ext_camera" at mainbus0 not configured sdmmc0: can't enable card scsibus0 at sdmmc1: 2 targets, initiator 0 sd0 at scsibus0 targ 1 lun 0: <Sandisk, SA64G, 0012> removable sd0: 59952MB, 512 bytes/sector, 122781696 sectors uhub1 at uhub0 port 1 configuration 1 interface 0 "VIA Labs USB2.0 Hub" rev 2.10/4.20 addr 2 "Logitech USB Receiver" rev 2.00/29.01 addr 3 at uhub1 port 3 not configured softraid0 at root scsibus1 at softraid0: 256 targets root on rd0a swap on rd0b dump on rd0b WARNING: CHECK AND RESET THE DATE! cpu0: regulator not implemented That's a lot more stuff than probes without the > load mmc 1:1 ${fdt_addr_r} jh7110-starfive-visionfive-2-v1.3b.dtb step. tl;dr * Can install docs be improved? * What's up with nvme0? Is there a fix for this? Am I doing something wrong? * Sounds like something is wrong with idle-sleeping the CPU. Is this expected? Appreciate any ideas. Regards, -scott