Some MMC controllers are PCI bus devices. Before calling spl_mmc_load() we must bind the PCI devices.
Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> Reviewed-by: Stefan Roese <s...@denx.de> --- v2: Remove empty line at start of code block. Add empty line before return. --- common/spl/spl_mmc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index a665091b00..eb95005769 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -7,6 +7,7 @@ */ #include <common.h> #include <dm.h> +#include <init.h> #include <log.h> #include <part.h> #include <spl.h> @@ -495,6 +496,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, int spl_mmc_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev) { + if (IS_ENABLED(CONFIG_SPL_PCI)) + pci_init(); + return spl_mmc_load(spl_image, bootdev, #ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, -- 2.40.1