[PATCH v2 1/1] spl: initialize PCI before booting
Tom Rini
trini at konsulko.com
Tue Jul 25 18:37:45 CEST 2023
On Tue, Jul 25, 2023 at 08:51:55AM -0600, Simon Glass wrote:
> On Mon, 24 Jul 2023 at 14:19, Heinrich Schuchardt
> <heinrich.schuchardt at canonical.com> 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. */
>
> But which ones? This seems dubious to me, since there is no check (for
> each loader) as to whether PCI is needed or not. If PCI cannot be set
> up, we should probably return an error.
I think it's reasonable here to say that we failed to initialize PCI.
It's still up to the specific loader to say it couldn't find a
controller. This in turn will provide reasonable hints if someone has a
problem. The flip side is "Oh, PCI failed but I was trying to boot from
SD card anyhow which doesn't need it" (think bring-up) and having to go
hack things up.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230725/49c17f9f/attachment.sig>
More information about the U-Boot
mailing list