riscv defconfig starfive visionfive2 env is nowhere, missing axp15060 regulator, misc vendor hacks for Milk-V Mars CM Lite

E Shattow lucent at gmail.com
Fri Jan 26 11:53:45 CET 2024


Hi,

ENV_IS_NOWHERE=y when it should not be, on make
starfive_visionfive2_defconfig. I guess that riscv is forgotten in some of
the logic there. TL;DR the env is supposed to save in SPI flash as the
defconfig provides (but then also ENV_IS_NOWHERE=y appears ?  strange).

There is missing the AXP15060 power regulation in u-boot needed for SDCard
and networking. As it is happens to work for some variants and not others,
and not always. The AXP15060 driver exists in mainline Linux as a variant
of AXP20x and there are corresponding devicetree entries of the StarFive
JH7110-based VisionFive2 variants queued up (ref: *1 Patchwork series
806238). Milk-V Mars CM Lite variant ships with a hack substituting GPIO22
MIPI_PWR_EN in dts (what would be GPIO62 SDIO0_RSTN_GPIO62) as a trick to
get mmc0 doing something. I don't understand the details of why it works
just that it was there in the SDK git repo change log and I see results.
There's a possibility this was actually changed in how it is routed on the
Mars CM Lite PCB but I find it would be more likely this is just some kind
of hack.

^1:
https://patchwork.kernel.org/project/linux-riscv/list/?series=806238&state=%2A&archive=both

The other notable vendor Milk-V Mars hacks are to specify an eeprom 24c02
as compatible on the Mars CM Lite board instead of the 24c04 what is on the
StarFive VisionFive 2. I can't find references to this anymore in mainline
Linux, was it abstracted in some way that should be also done for u-boot?
Finally there is possibly a 2GB RAM version of the Milk-V Mars which
conflicts the StarFive VisionFive2 dts assumptions of at least 4GB RAM. I
note some adjustments to the linux,cma dts node accordingly from vendor
SDK. I failed to reproduce the vendor SDK build and this is my best guess
from that SDK git repo commit log notes.


More information about the U-Boot mailing list