
Hi Anatolij,
Loading U-Boot on i.MX8QXP MEK board is broken since recent changes in spl_mmc:
U-Boot SPL 2019.10-00162-gff5bd397e4 (Oct 18 2019 - 15:50:45 +0200) Normal Boot WDT: Not found! Trying to boot from MMC2_2 Load image from MMC/SD 0x46400 spl: mmc partition switch failed SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###
The newly added CONFIG_SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION option is selected automatically and overrides the EXT_CSC_PART_CONFIG configurations with default value, always selecting the eMMC boot partition 1. Boards which place U-Boot image in other partitions became not bootable.
Fix this by making the eMMC HW boot partition selection optional.
Fixes: 17241ea0543a (spl: mmc: Add option to set eMMC HW boot partition) Signed-off-by: Anatolij Gustschin agust@denx.de
Hi Tom,
Many other boards (using CONFIG_SUPPORT_EMMC_BOOT) are affected, too. So, this (or other suitable fix) should be applied ASAP.
Sorry for the regression. Indeed, there shall be an Kconfig option to enable support for this feature.
Thanks Anatolij for preparing the fix.
Reviewed-by: Lukasz Majewski lukma@denx.de
Thanks, Anatolij
common/spl/Kconfig | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 562eafe2e5..86d7edfee1 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -325,12 +325,6 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR Address on the MMC to load U-Boot from, when the MMC is being used in raw mode. Units: MMC sectors (1 sector = 512 bytes).
-config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION
- int "Number of the eMMC boot partition to use"
- default 1
- help
eMMC boot partition number to use when the eMMC in raw
mode. - config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION bool "MMC Raw mode: by partition" help @@ -359,6 +353,28 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE Partition Type on the MMC to load U-Boot from, when the MMC is being used in raw mode.
+config SUPPORT_EMMC_BOOT_OVERRIDE_PART_CONFIG
- bool "Override eMMC EXT_CSC_PART_CONFIG by user defined
partition"
- depends on SUPPORT_EMMC_BOOT
- help
eMMC boot partition is normally configured by the bits of
the EXT_CSD
register (EXT_CSC_PART_CONFIG), BOOT_PARTITION_ENABLE
field. In some
cases it might be required in SPL to load the image from
different
partition than the partition selected by
EXT_CSC_PART_CONFIG register.
Enable this option if you intend to use an eMMC boot
partition other
then selected via EXT_CSC_PART_CONFIG register and specify
the custom
partition number by the
CONFIG_SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION
option.
+config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION
- int "Number of the eMMC boot partition to use"
- depends on SUPPORT_EMMC_BOOT_OVERRIDE_PART_CONFIG
- default 1
- help
eMMC boot partition number to use when the eMMC in raw
mode and
the eMMC EXT_CSC_PART_CONFIG selection should be
overridden in SPL
by user defined partition number.
config SPL_CRC32_SUPPORT bool "Support CRC32" default y if SPL_LEGACY_IMAGE_SUPPORT
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de