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

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Mon Jul 24 10:08:55 CEST 2023


Many USB controllers are PCI bus devices. Before calling spl_usb_load() we
must bind the PCI devices.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 common/spl/spl_usb.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/common/spl/spl_usb.c b/common/spl/spl_usb.c
index 479e2dc182..57275d6000 100644
--- a/common/spl/spl_usb.c
+++ b/common/spl/spl_usb.c
@@ -13,6 +13,7 @@
 #include <spl.h>
 #include <asm/u-boot.h>
 #include <errno.h>
+#include <init.h>
 #include <usb.h>
 #include <fat.h>
 
@@ -66,6 +67,8 @@ int spl_usb_load(struct spl_image_info *spl_image,
 static int spl_usb_load_image(struct spl_image_info *spl_image,
 			      struct spl_boot_device *bootdev)
 {
+	if (IS_ENABLED(CONFIG_SPL_PCI))
+		pci_init();
 	return spl_usb_load(spl_image, bootdev,
 			    CONFIG_SYS_USB_FAT_BOOT_PARTITION,
 			    CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
-- 
2.40.1



More information about the U-Boot mailing list