[PATCH 1/1] spl: initialize PCI before booting from MMC

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Mon Jul 24 12:12:50 CEST 2023


Some MMC controllers are PCI bus devices. Before calling spl_mmc_load() we
must bind the PCI devices.

Don't write any warning if pci_init() fails as other MMC controllers don't
need it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 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..915de27eb5 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



More information about the U-Boot mailing list