[PATCH v2 1/1] spl: initialize PCI before booting
mchitale at ventanamicro.com
mchitale at ventanamicro.com
Sun Jul 30 18:02:52 CEST 2023
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 at 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 at ventanamicro.com>
More information about the U-Boot
mailing list