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

Reply via email to