Re: Orange Pi RV2 boot with some success

From: Tom Pusateri <pusateri_at_keehole.org>
Date: Sun, 04 May 2025 01:03:38 UTC

> On May 3, 2025, at 2:04 AM, Rich Dunkle <rdunkle@smallcatbrain.com> wrote:
> 
> It looks like the sd card device was recognized during boot.
> I think you can actually boot FreeBSD 15 using this sd card image. Burn this image and boot using a sd card.
> Then it becomes a matter of getting the nic working.
> 
> https://download.freebsd.org/ftp/snapshots/riscv/riscv64/ISO-IMAGES/15.0/FreeBSD-15.0-CURRENT-riscv-riscv64-GENERICSD-20250501-f676c13d4226-276914.img.xz
> 
> 

Ok, tried the 15.0 snapshot image. Didn’t make it quite as far as with the 14.2 image. It wedged after:

“usb_needs_explore_all: no devclass”

Here’s the log from booting with the tf card. I also tried the USB memory stick with the same result.


U-Boot SPL 2022.10ky (Jan 07 2025 - 13:44:01 +0800)
[   0.345] DDR type LPDDR4X
[   0.357] lpddr4_silicon_init consume 12ms
[   0.358] Change DDR data rate to 2400MT/s
[   0.574] Boot from fit configuration x1_orangepi-rv2
[   0.576] ## Checking hash(es) for config conf_14 ... OK
[   0.582] ## Checking hash(es) for Image opensbi ... OK
[   0.587] ## Checking hash(es) for Image uboot ... OK
[   0.592] ## Checking hash(es) for Image fdt_14 ... OK
[   0.637] 

U-Boot 2022.10ky (Jan 07 2025 - 13:44:01 +0800)

[   0.640] CPU:   rv64imafdcv
[   0.643] Model: ky x1 orangepi-rv2 board
[   0.647] DRAM:  DDR size = 8192 MB
[   0.650] DDR size = 8192 MB
[   0.653] DDR size = 8192 MB
[   0.655] 8 GiB
[   0.730] reset driver probe start 
[   0.732] reset driver probe finish 
[   0.740] DCDC_REG1@dcdc1: enabling
[   0.742] DCDC_REG3@dcdc3: enabling
[   0.748] LDO_REG1@ldo1: enabling
[   0.752] SWITCH_REG1@switch1: enabling
[   0.752] SWITCH_REG2@pwr-event: enabling
[   0.756] SWITCH_REG3@pwr-int: enabling
[   0.760] SWITCH_REG4@rtc-ctrl: enabling
[   0.763] SWITCH_REG5@rtc-event: enabling
[   0.767] SWITCH_REG6@rtc-irq: enabling
[   0.771] SWITCH_REG7@power-down: enabling
[   0.775] SWITCH_REG8@reboot-flag: enabling
[   0.780] vcc3v3-pcie-regulator@vcc3v3_pcie: set 3300000 uV; enabling
[   0.785] DDR size = 8192 MB
[   0.791] Core:  416 devices, 30 uclasses, devicetree: board
[   0.804] WDT:   Started PMIC_WDT with servicing (60s timeout)
[   0.809] WDT:   Started watchdog@D4080000 with servicing (60s timeout)
[   0.817] MMC:   sdh@d4280000: probe done.
[   0.824] sdh@d4281000: probe done.
[   0.824] sdh@d4280000: 0, sdh@d4281000: 2
[   0.828] Loading Environment from SPIFlash... x1_qspi spi@d420c000: qspi iobase:0x0x00000000d420c000, ahb_addr:0x0x00000000b8000000, max_hz:26500000Hz
[   0.843] x1_qspi spi@d420c000: rx buf size:128, tx buf size:256, ahb buf size=512
[   0.851] x1_qspi spi@d420c000: AHB read enabled
[   0.855] x1_qspi spi@d420c000: bus clock: 26500000Hz, PMUap reg[0xd4282860]:0x0000075b
[   0.863] x1_qspi spi@d420c000: AHB buf size: 512
[   0.868] SF: Detected XM25QH128A with page size 256 Bytes, erase size 64 KiB, total 16 MiB
OK
[   0.890] Now init Rterm...
[   0.890] pcie prot id = 1, porta_init_done = 0
[   0.894] Now waiting portA resister tuning done...
[   0.899] porta redonly_reg2: 00006d37
[   0.902] pcie_rcal = 0x00006d37
[   0.905] pcie port id = 1, lane num = 2
[   0.909] Now int init_puphy...
[   0.912] waiting pll lock...
[   0.915] Now finish init_puphy....
[   0.918] pcie_dw_x1 pcie@ca400000: Unable to get phy0
[   0.923] pcie_dw_x1 pcie@ca400000: Unable to get phy1
[   2.029] PCIE-0: Link down
[   2.034] sdh@d4281000: 74 clk wait timeout(100)
[   2.052] Card did not respond to voltage select! : -110
[   2.054] mmc_init: -95, time 21
[   2.074] Card did not respond to voltage select! : -110
[   2.076] mmc_init: -95, time 19
[   2.108] Found device 'hdmi@c0400500', disp_uc_priv=000000007deb4a70
[   2.118] hdmi_phy_wait_for_hpd() hdmi get hpd signal 
[   2.120] fb=7f700000, size=1920x1080
[   2.133] initialize_console_log_buffer
[   2.134] Have allocated memory for console log buffer
[   2.139] In:    serial
[   2.141] Out:   serial
[   2.143] Err:   serial
[   2.147] Default to 100kHz
[   2.162] EEPROM: TlvInfo v1 len=38
[   2.162] valid ethaddr: c0:74:2b:fc:fd:5a
[   2.166] Cannot find TLV data: part#
[   2.170] Cannot find TLV data: serial#
[   2.173] Cannot find TLV data: manufacture_date
[   2.178] Cannot find TLV data: manufacturer
[   2.182] Cannot find TLV data: device_version
[   2.186] Cannot find TLV data: sdk_version
[   2.190] All buttons probed successfully
[   2.195] Read PMIC reg ab value f0
[   2.198] Failed to get fastboot key config: -19
[   2.203] sdh@d4280000: 74 clk wait timeout(100)
[   2.340] Card did not respond to voltage select! : -110
[   2.342] mmc_init: -95, time 19
[   2.345] can not get available blk dev
[   2.349] Net:   RGMII interface
[   2.352] eth0: ethernet@cac80000
[   2.357] Autoboot in 0 seconds
[   2.368] starting USB...
[   2.368] Bus ehci1@c0980100: ehci_x1_ci ehci1@c0980100: ehci_mv_probe Enter ... 
[   2.378] mv_usb_phy usbphy1@c09c0000: x1-ci-usb-phy-probe: Enter...
[   2.383] ehci_x1_ci ehci1@c0980100: ehci-x1-ci: init hccr c0980100 and hcor c0980140 hc_length 64
[   2.405] USB EHCI 1.00
[   2.405] Bus dwc3@c0a00000: No USB maximum speed specified. Using super speed
[   2.418] mv_usb_phy usb2phy@0xc0a30000: x1-ci-usb-phy-probe: Enter...
[   2.422] x1_combphy phy@c0b10000: USB3 PHY init.
[   2.426] dwc3-generic-host dwc3@c0a00000: this is a DesignWare USB3 DRD Core
[   2.843] Register 2000140 NbrPorts 2
Starting the controller
[   2.845] USB XHCI 1.10
[   2.848] scanning bus ehci1@c0980100 for devices... 1 USB Device(s) found
[   3.986] scanning bus dwc3@c0a00000 for devices... 3 USB Device(s) found
[   5.513]        scanning usb for storage devices... 0 Storage Device(s) found
[   5.517] 
Device 0: unknown device
[   5.693] switch to partitions #0, OK
[   5.693] mmc0 is current device
[   5.783] Scanning mmc 0:3...
[   5.896] ** Unable to read file / **
[   5.897] Failed to load '/'
[   5.930] ** Unable to read file /dtb/ **
[   5.930] Failed to load '/dtb/'
[   5.956] Card did not respond to voltage select! : -110
[   5.981] mmc_init: -95, time 17
[   6.000] ** Unable to read file ubootefi.var **
[   6.001] Failed to load EFI variables
[   6.211] BootOrder not defined
[   6.211] EFI boot manager: Cannot load any image
[   6.241] Found EFI removable media binary efi/boot/bootriscv64.efi
[   6.337] 712220 bytes read in 63 ms (10.8 MiB/s)
[   6.343] Booting /efi\boot\bootriscv64.efi
[   6.345] 

Consoles: EFI console  
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p3:
FreeBSD/riscv EFI loader, Revision 3.0
(Thu May  1 04:05:11 UTC 2025 root@releng3.nyi.freebsd.org)

   Command line arguments: earlycon=sbi earlyprintk quiet splash plymouth.ignore-serial-consoles plymouth.prefer-fbcon console=ttyS0,115200 loglevel=8 clk_ignore_unused swiotlb=65536 rdinit=/init workqueue.default_affinity_scope=system mtdparts=d420c000.spi-0:64K@0(bootinfo),64K@64K(private),256K@128K(fsbl),64K@384K(env),192K@448K(opensbi),-@640K(uboot) root= rootfstype=ext4
   Image base: 0x7dccd000
   EFI version: 2.90
   EFI Firmware: Das U-Boot (rev 8226.4096)
   Console: ttyS0,115200 (0)
   Load Path: /efi\boot\bootriscv64.efi
   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(3,GPT,5d6e0761-2644-11f0-81ea-0cc47ad8b808,0x4000,0x1b000)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(3,GPT,5d6e0761-2644-11f0-81ea-0cc47ad8b808,0x4000,0x1b000)
Setting currdev to disk0p3:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,GPT,5d6507b3-2644-11f0-81ea-0cc47ad8b808,0x1000,0x1000)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(2,GPT,5d6b0457-2644-11f0-81ea-0cc47ad8b808,0x2000,0x2000)
Setting currdev to disk0p2:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(4,GPT,5d6fe983-2644-11f0-81ea-0cc47ad8b808,0x1f000,0xbe0f80)
Setting currdev to disk0p4:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
Loading kernel...
/boot/kernel/kernel text=0x616880 text=0x1ac410 data=0x129378 data=0xf60+0x287430 0x8+0x133218+0x8+0x11e137\
Loading configured modules...
can't find '/boot/entropy'
/boot/kernel/umodem.ko text=0x20c0 text=0x1290 data=0x700+0x4 0x8+0x6900+0x8+0xf04
loading required module 'ucom'
/boot/kernel/ucom.ko text=0x266d text=0x2bf2 data=0x988+0x858 0x8+0xec10+0x8+0x1893
can't find '/etc/hostid'

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...               
Using DTB provided by EFI at 0x7eed000.
Kernel entry at 0x75600030...
Kernel args: (null)
Loading splash ok
EFI framebuffer information:
addr, size     0x7f700000, 0x7e9000
dimensions     1920 x 1080
stride         1920
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000


This then transfered to the HDMI Console (converted from photo to text, didn't happen in 14.2)

-‹‹BOOT>>-
GDB: debug ports: uart
GDB: current port: uart
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
Copyright (c) 1992-2025 The FreeBSD Project, Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 15.0-CURRENT #º main-n276914-f676c13d4226: Thu May 1 84:24:25 UTC 2
    root@releng3.nyt.freebsd.org:/usr/obj/usr/sre/riscv.riscv64/sys/GENERIC /
FreeBSD clang version 19.1.7 Chttps://github.com/11vm/11vm-project.git llvmorg-19.1.7-0-gcd708029e0b2
WARNING: WITNESS option enabled, expect reduced performance.
VT(efifb): resolution 1928x1080
SBI: OpenSBI v1.3
SBI Specification Version: 1.0
CPU 0 : Vendor=Unknown Core=Unknown (Hart 0)
  marchid=0x8000000058000001, mimpid=0×1000000049772200
  MMU: 0x1<5v39>
  ISA: 0x112d<Atomic, Compressed,Double,Float, Mult/Div>
  S-mode Extensions: 0
real memory = 8589410304 (8191 MB)
avail memory = 8311689216 (7926 MB)
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
CPU 1 : Vendor=Unknown Core=Unknown (Hart 1)
CPU 2 : Vendor=Unknown Core=Unknown (Hart 2)
CPU 3 : Vendor=Unknown Core=Unknown (Hart 3)
CPU 4 : Vendor=Unknown Core=Unknown (Hart 4)
CPU 5 : Vendor=Unknoun Core=Unknown (Hart 5)
CPU 6 : Vendor=Unknown Core=Unknown (Hart 6)
CPU 7 : Vendor=Unknown Core=Unknown (Hart 7)
arc4random: WARNING: initial seeding bypassed the cryptographic random device
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: ‹Open Firmuare Device Tree>
ofw_clkbus0; <OFW clocks bus> on ofwbus0
simplebus0; ‹Flattened device tree simple bus› on ofwbus0
regfix0: ‹Fixed Regulator> on ofwbus0
sbi0: ‹RISC-V Supervisor Binary Interface>
intc0; ‹RISC-V Local Interrupt Controller> on ofwbus0
sbi_ipi0: ‹RISC-V SBI Inter-Processor Interrupts> on sbi0
plic0: ‹RISC-V PLIC› mem 0xe0000000-0xe3ffffff irg 16,17,18,19.20,21,22.23.24.25,26,27.28,29.30,31 on simplebus0
timer0: <RISC-V Timer>
Timecounter "RISC-V Timecounter" frequency 24000000 Hz quality 1000
Event timer "RISC-V Eventtimer" frequency 24000008 Hz quality 1000
rcons0: ‹RISC-V console>
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmuare CPU> on cpulist0
uart0: <16750 or compatible> mem 0xd4017000-0xd40170ff on simplebus0
uart0: debug port (109375,n,8,1)
Timecounters tick every 1.000 msec
usb_needs_explore_all: no devclass

And this is where it hangs on both serial console and HDMI console.

Tom