
On Mon, 2023-07-24 at 22:18 +0200, Heinrich Schuchardt wrote:
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 <heinrich.schuchardt@canonical.com
v2: Centralize the PCI initialization
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 <common.h> #include <spl.h> -#include <init.h> #include <nvme.h>
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;
Reviewed-by: Mayuresh Chitale mchitale@ventanamicro.com