From 7d4c8cfe2547596d07c51b2f38cde8d4c75f17fc Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Mon, 24 Jul 2023 22:18:41 +0200 Subject: [PATCH] spl: initialize PCI before booting MMC, SATA, and USB may be using PCI based controllers. Initialize the PCI sub-system before trying to boot. Remove the initialization for NVMe that is now redundant. Signed-off-by: Heinrich Schuchardt Reviewed-by: Tom Rini Reviewed-by: Mayuresh Chitale --- common/spl/spl.c | 7 +++++++ common/spl/spl_nvme.c | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/common/spl/spl.c b/common/spl/spl.c index f09bb97781..0062f3f45d 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -800,6 +800,13 @@ void board_init_r(gd_t *dummy1, ulong dummy2) IS_ENABLED(CONFIG_SPL_ATF)) dram_init_banksize(); + if (CONFIG_IS_ENABLED(PCI)) { + ret = pci_init(); + if (ret) + puts(SPL_TPL_PROMPT "Cannot initialize PCI\n"); + /* Don't fail. We still can try other boot methods. */ + } + bootcount_inc(); /* Dump driver model states to aid analysis */ diff --git a/common/spl/spl_nvme.c b/common/spl/spl_nvme.c index 2af63f1dc8..c8774d67ec 100644 --- a/common/spl/spl_nvme.c +++ b/common/spl/spl_nvme.c @@ -7,7 +7,6 @@ #include #include -#include #include static int spl_nvme_load_image(struct spl_image_info *spl_image, @@ -15,10 +14,6 @@ static int spl_nvme_load_image(struct spl_image_info *spl_image, { int ret; - ret = pci_init(); - if (ret < 0) - return ret; - ret = nvme_scan_namespace(); if (ret < 0) return ret; -- 2.39.5