Lots of great progress here! Kuroi I think your comment on their GitHub is worded much better lol. I am very direct.
I am excited to give the eMMC boot a try. I haven’t done much, but I played around with the board tonight a bit and found out a couple things.
I have a PINETAB-V machine that uses the same SoC, and the accompanying UART board to go with it. I discovered that the PINETAB-V does UART debug the same way, with the UART coming over the SBUx pins on USB-C. I just had to flip the TX and the RX, conveniently this was just bridging a couple jumpers with solder (see pictures). I wonder if this way of getting UART out of the machine is recommended in the datasheet or something.
I also tried to boot the system with the same image that the VisionFive 2 uses, and it booted up until it tried to load the DTB, where it failed. Makes sense honestly, the DTB is for totally different hardware.
U-Boot SPL 2021.10 (Sep 19 2024 - 15:43:53 +0800)
LPDDR4: 8G version: g8ad50857.
Trying to boot from MMC2
OpenSBI v1.2
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|___ /_____|
| |
|_|
Platform Name : StarFive VisionFive V2
Platform Features : medeleg
Platform HART Count : 5
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 4000000Hz
Platform Console Device : uart8250
Platform HSM Device : ---
Platform PMU Device : ---
Platform Reboot Device : pm-reset
Platform Shutdown Device : pm-reset
Platform Suspend Device : ---
Firmware Base : 0x40000000
Firmware Size : 392 KB
Firmware RW Offset : 0x40000
Runtime SBI Version : 1.0
Domain0 Name : root
Domain0 Boot HART : 1
Domain0 HARTs : 0*,1*,2*,3*,4*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01 : 0x0000000040000000-0x000000004003ffff M: (R,X) S/U: ()
Domain0 Region02 : 0x0000000040040000-0x000000004007ffff M: (R,W) S/U: ()
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address : 0x0000000040200000
Domain0 Next Arg1 : 0x0000000042200000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes
Boot HART ID : 1
Boot HART Domain : root
Boot HART Priv Version : v1.11
Boot HART Base ISA : rv64imafdcbx
Boot HART ISA Extensions : none
Boot HART PMP Count : 8
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 34
Boot HART MHPM Count : 2
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10 (Sep 19 2024 - 15:43:53 +0800)
CPU: rv64imacu_zba_zbb
Model: StarFive VisionFive V2
DRAM: 8 GiB
MMC: sdio0@16010000: 0, sdio1@16020000: 1
Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
OK
StarFive EEPROM format v2
--------EEPROM INFO--------
Vendor : StarFive Technology Co., Ltd.
Product full SN: FML13V01-2451-D008EC00-00000313
data version: 0x2
PCB revision: 0xb2
BOM revision: A
Ethernet MAC0 address: 6c:cf:39:6c:de:ad
Ethernet MAC1 address: 6c:cf:39:7c:ae:5d
--------EEPROM INFO--------
In: serial
Out: serial
Err: serial
Model: StarFive VisionFive V2
Net: eth0: ethernet@16030000, eth1: ethernet@16040000
Hit any key to stop autoboot:
starting USB...
No working controllers found
Scanning mmc 1:3...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
1414 bytes read in 7 ms (197.3 KiB/s)
U-Boot menu
1: Debian GNU/Linux trixie/sid 6.6.20-starfive
2: Debian GNU/Linux trixie/sid 6.6.20-starfive (rescue target)
3: Debian GNU/Linux trixie/sid 5.15.0-starfive
4: Debian GNU/Linux trixie/sid 5.15.0-starfive (rescue target)
Enter choice: 1: Debian GNU/Linux trixie/sid 6.6.20-starfive
Retrieving file: /initrd.img-6.6.20-starfive
14366058 bytes read in 626 ms (21.9 MiB/s)
Retrieving file: /vmlinuz-6.6.20-starfive
9528895 bytes read in 417 ms (21.8 MiB/s)
append: root=/dev/mmcblk1p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0
Retrieving file: /dtbs/6.6.20-starfive//boot/dtbs/starfive/jh7110-starfive-visionfive-2-framework.dtb
Failed to load '/dtbs/6.6.20-starfive//boot/dtbs/starfive/jh7110-starfive-visionfive-2-framework.dtb'
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
Uncompressing Kernel Image
Device tree not found or missing FDT support
### ERROR ### Please RESET the board ###
Tried to boot with the PINETAB-V image too, but it failed immediately with
BOOT fail,Error is 0xffffffff
Finally, I designed a couple PCBs to aid in reverse engineering/debugging. I made a passive eDP to Displayport adapter (cause I can’t get thunderbolt to displayport working for some reason) and my own version of the UART debug board. Ordered them through PCBWay and hope to have them both by the end of the week. If they work, I’ll put them both on a git repo somewhere.
Has anyone read the QSPI chip yet? Usually I just read these externally, but the WSON package makes this super hard. I am sure there’s a way to read it through Linux.