public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Vagrant Cascadian <vagrant@debian.org>
To: Quentin Schulz <quentin.schulz@cherry.de>, u-boot@lists.denx.de
Cc: Peter Robinson <pbrobinson@gmail.com>
Subject: Re: rk3588 MNT Reform2 fails to boot from SD card
Date: Fri, 30 Jan 2026 13:07:36 -0800	[thread overview]
Message-ID: <87bjiabyhz.fsf@wireframe> (raw)
In-Reply-To: <11f467e2-1059-4edb-81a2-8b970b315882@cherry.de>

[-- Attachment #1: Type: text/plain, Size: 3707 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

  reply	other threads:[~2026-01-30 21:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-30  1:46 rk3588 MNT Reform2 fails to boot from SD card Vagrant Cascadian
2026-01-30  3:43 ` Peng Fan
2026-01-30  8:16   ` Vagrant Cascadian
2026-01-30  9:51 ` Quentin Schulz
2026-01-30 21:07   ` Vagrant Cascadian [this message]
2026-02-02  9:51     ` Quentin Schulz
2026-02-02 21:43       ` Vagrant Cascadian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bjiabyhz.fsf@wireframe \
    --to=vagrant@debian.org \
    --cc=pbrobinson@gmail.com \
    --cc=quentin.schulz@cherry.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox