[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