[PATCH 7/8] spl: x86: Avoid starting up PCI automatically in SPL
Heinrich Schuchardt
xypron.glpk at gmx.de
Wed Aug 23 22:15:07 CEST 2023
On 8/23/23 20:47, Simon Glass wrote:
> For x86 platforms, PCI is core to their operation and is managed in
> arch-specific code. Each platform has its own way of doing this. For TPL
> and some SPL implementations, the full driver model PCI is not used.
>
> A recent change enabled full PCI in TPL/SPL for all boards. This breaks
> some x86 boards, so adjust it to skip that for x86.
Could you, please, give some more detail?
* Which boards are broken?
* Don't these boards have a pci_init() function?
* In what way does calling pci_init() lead to a failure?
It would be preferable to have all architectures and boards use the same
high level API. Excluding x86 here looks more like a (necessary) hack
than like a target state.
Best regards
Heinrich
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> common/spl/spl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 0062f3f45d9..13d7b1a742f 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -800,7 +800,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> IS_ENABLED(CONFIG_SPL_ATF))
> dram_init_banksize();
>
> - if (CONFIG_IS_ENABLED(PCI)) {
> + if (CONFIG_IS_ENABLED(PCI) && !IS_ENABLED(CONFIG_X86)) {
> ret = pci_init();
> if (ret)
> puts(SPL_TPL_PROMPT "Cannot initialize PCI\n");
More information about the U-Boot
mailing list