Booting from SD-card on StarFive VisionFive 2 is broken in master

Yao Zi ziyao at disroot.org
Mon Oct 20 12:53:11 CEST 2025


Hi there,

While testing the behavior of my previous patch on JH7110 platforms,
it's found that StarFive VisionFive 2 fails to boot from SD-card with
current U-Boot master "a58089ad2e4 (fs: semihosting: Use correct
variable for error check, 2025-10-02)" with messages like

	U-Boot SPL 2025.10-00669-ga58089ad2e41 (Oct 20 2025 - 10:29:30 +0000)
	DDR version: dc2e84f0.
	Trying to boot from MMC2
	spl: partition error
	Error: -38
	SPL: failed to boot from all boot devices
	### ERROR ### Please RESET the board ###

Bisecting shows the failure is introduced by commit 27f617019dd (riscv:
dts: starfive: prune redundant jh7110-common overrides, 2025-09-16),
where the U-Boot devicetree overrides are removed since these have been
in the upstream devicetree.

However, this is not totally true: for mmc0_pins, mmc1_pins, i2c5_pins
and their subnodes, the bootph-pre-ram properties aren't present in the
upstream 6.16 devicetree, and a simple removal seems to break SD card
initialization on StarFive VisionFive2 in SPL stage.

A simple (but obviously not acceptable as it modifies files in
dts/upstream) patch could be found here[1]. Manually adding the
bootph-pre-ram properties back to mmc1_pins and its children fixes the
booting process.

I don't think it's good idea to revert the problematic commit since
several follow-up commits depend on it. Maybe we could bring the
overrides back to arch/riscv/dts/starfive-visionfive2-u-boot.dtsi?

Best regards,
Yao Zi

[1]: https://gist.github.com/ziyao233/0bcce16753b3956a30113cf41631e720


More information about the U-Boot mailing list