[PATCH 2/4] spl: mmc: Account for SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE being a choice

Chee, Tien Fong tienfong.chee at altera.com
Thu Nov 27 05:26:40 CET 2025


Hi Jan,

On 25/11/2025 2:48 pm, Jan Kiszka wrote:
> [CAUTION: This email is from outside your organization. Unless you trust the sender, do not click on links or open attachments as it may be a fraudulent email attempting to steal your information and/or compromise your computer.]
>
> On 25.11.25 04:58, Chee, Tien Fong wrote:
>> Hi Jan,
>>
>> On 15/11/2025 1:13 am, Jan Kiszka wrote:
>>> [CAUTION: This email is from outside your organization. Unless you
>>> trust the sender, do not click on links or open attachments as it may
>>> be a fraudulent email attempting to steal your information and/or
>>> compromise your computer.]
>>>
>>> From: Jan Kiszka <jan.kiszka at siemens.com>
>>>
>>> Add SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE as condition where so
>>> far SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION was enough - though often
>>> by chance as both options were enabled.
>>>
>>> We also need to explicitly select SPL_LOAD_BLOCK when UES_PARTITION_TYPE
>>> is enabled, just like the other choices do.
>>>
>>> Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
>>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
>>> ---
>>>    common/spl/Kconfig   |  1 +
>>>    common/spl/spl_mmc.c | 16 ++++++++--------
>>>    include/part.h       |  3 ++-
>>>    3 files changed, 11 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>>> index 8dade2b501e..d24466b0c66 100644
>>> --- a/common/spl/Kconfig
>>> +++ b/common/spl/Kconfig
>>> @@ -573,6 +573,7 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>>>
>>>    config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
>>>           bool "MMC raw mode: by partition type"
>>> +       select SPL_LOAD_BLOCK
>>>           depends on DOS_PARTITION
>>>           help
>>>             Use partition type for specifying U-Boot partition on MMC/
>>> SD in
>>> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
>>> index 467114f8d9a..09e881c464c 100644
>>> --- a/common/spl/spl_mmc.c
>>> +++ b/common/spl/spl_mmc.c
>>> @@ -106,7 +106,8 @@ static int spl_mmc_find_device(struct mmc **mmcp,
>>> int mmc_dev)
>>>           return 0;
>>>    }
>>>
>>> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>>> +#if defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION) || \
>>> +    defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE)
>>>    static int mmc_load_image_raw_partition(struct spl_image_info
>>> *spl_image,
>>>                                           struct spl_boot_device *bootdev,
>>>                                           struct mmc *mmc, int partition,
>>> @@ -415,19 +416,18 @@ int spl_mmc_load(struct spl_image_info *spl_image,
>>>
>>>                   raw_sect = spl_mmc_get_uboot_raw_sector(mmc, raw_sect);
>>>
>>> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>>> -               ret = mmc_load_image_raw_partition(spl_image, bootdev,
>>> -                                                  mmc, raw_part,
>>> -                                                  raw_sect);
>>> -               if (!ret)
>>> -                       return 0;
>>> -#endif
>>>    #ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
>>>                   ret = mmc_load_image_raw_sector(spl_image, bootdev, mmc,
>>>                                                   raw_sect +
>>>
>>> spl_mmc_raw_uboot_offset(part));
>>>                   if (!ret)
>>>                           return 0;
>>> +#else
>>
>> There is a build issue when CONFIG_SYS_MMCSD_RAW_MODE is disabled.
>>
> Let me check, but if you can disable CONFIG_SYS_MMCSD_RAW_MODE but leave
> any of CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_* enabled, we had more
> problems here.

We discovered this compilation issue when we disabled 
CONFIG_SYS_MMCSD_RAW_MODE while testing U-Boot proper loading from FAT32 
on Cyclone V. In this setup, none of the sub-options -> _USE_PARTITION, 
_USE_PARTITION_TYPE, or _USE_SECTOR, should be used or enabled, as SPL 
simply loads U-Boot proper from FAT32. The raw/partition offsets are not 
relevant in this case, ensuring a clean, consistent MMC layout across 
our devkits.


Thanks.

Tien Fong




More information about the U-Boot mailing list