On 2026-01-30, Quentin Schulz wrote: > On 1/30/26 2:46 AM, Vagrant Cascadian wrote: >> Thanks for adding support for rk3588 MNT Reform2! >> >> I tried using u-boot 2026.01 with the rk3588 MNT Reform2, but it only >> gets as far as SPL, and then fails: >> >> U-Boot SPL 2026.01 (Jan 01 1970 - 00:00:01 +0000) >> Trying to boot from MMC1 >> mmc_load_image_raw_sector: mmc block read error >> Error: -38 >> SPL: Unsupported Boot Device! >> SPL: failed to boot from all boot devices >> ### ERROR ### Please RESET the board ### >> >> I *think* MMC1 is eMMC, which I currently have blanked, as recovering >> from a failed install on eMMC is trickier. >> > > It's surprising it isn't trying MMC1 twice as that's what it's supposed > to do due to u-boot,spl-boot-order containing "same-as-spl" and the eMMC > controller again later in the chain (see the property). > > In any case, no support for the SD controller in SPL according to the > defconfig, can you try with: > > """ > diff --git a/configs/mnt-reform2-rk3588_defconfig > b/configs/mnt-reform2-rk3588_defconfig > index 6adc9e4e60c..982e6c6eb20 100644 > --- a/configs/mnt-reform2-rk3588_defconfig > +++ b/configs/mnt-reform2-rk3588_defconfig > @@ -50,6 +50,8 @@ CONFIG_MMC_HS400_ES_SUPPORT=y > CONFIG_SPL_MMC_HS400_ES_SUPPORT=y > CONFIG_MMC_HS400_SUPPORT=y > CONFIG_SPL_MMC_HS400_SUPPORT=y > +CONFIG_MMC_DW=y > +CONFIG_MMC_DW_ROCKCHIP=y > CONFIG_MMC_SDHCI=y > CONFIG_MMC_SDHCI_SDMA=y > CONFIG_MMC_SDHCI_ROCKCHIP=y > """ > > and report if it gets you further? Much further, indeed! With that applied to 2026.04-rc1, I managed to load the kernel, initrd and dtb from NVMe, and boot all the way to a rootfs! With one big downside... no display on linux (eDP? panel, or on HDMI). Neither upstream u-boot or vendor u-boot provided output on the display, so that part is not a regression. I have a slightly older rk3588 module that does not use dsi -> eDP, that might be an issue... maybe upstream u-boot vs. vendor u-boot is configuring or not configuring something needed... > I think you'll be missing support for > the CD gpio as well in SPL. > > So probably you need to enable SPL_GPIO: > > """ > diff --git a/configs/mnt-reform2-rk3588_defconfig > b/configs/mnt-reform2-rk3588_defconfig > index 6adc9e4e60c..7485d03a0cb 100644 > --- a/configs/mnt-reform2-rk3588_defconfig > +++ b/configs/mnt-reform2-rk3588_defconfig > @@ -2,6 +2,7 @@ CONFIG_ARM=y > CONFIG_SKIP_LOWLEVEL_INIT=y > CONFIG_COUNTER_FREQUENCY=24000000 > CONFIG_ARCH_ROCKCHIP=y > +CONFIG_SPL_GPIO=y > CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3588-mnt-reform2" > CONFIG_ROCKCHIP_RK3588=y > CONFIG_SPL_SERIAL=y > @@ -50,6 +51,8 @@ CONFIG_MMC_HS400_ES_SUPPORT=y > CONFIG_SPL_MMC_HS400_ES_SUPPORT=y > CONFIG_MMC_HS400_SUPPORT=y > CONFIG_SPL_MMC_HS400_SUPPORT=y > +CONFIG_MMC_DW=y > +CONFIG_MMC_DW_ROCKCHIP=y > CONFIG_MMC_SDHCI=y > CONFIG_MMC_SDHCI_SDMA=y > CONFIG_MMC_SDHCI_ROCKCHIP=y > """ > > aaaand also enable it in SPL DT: > > """ > diff --git a/arch/arm/dts/rk3588-mnt-reform2-u-boot.dtsi > b/arch/arm/dts/rk3588-mnt-reform2-u-boot.dtsi > new file mode 100644 > index 00000000000..47509f4cb37 > --- /dev/null > +++ b/arch/arm/dts/rk3588-mnt-reform2-u-boot.dtsi > @@ -0,0 +1,9 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > + > +#include "rk3588-u-boot.dtsi" > + > +/* SD CD */ > +&gpio0 { > + bootph-pre-ram; > + bootph-some-ram; > +}; > """ > > I believe? Do you think it is worth testing this part as well? Or is booting to rootfs sufficient to demonstrate it is working? live well, vagrant