
Hi Simon,
On Tue, Jul 28, 2015 at 5:47 AM, Simon Glass sjg@chromium.org wrote:
This code may be useful for boards that use driver model for PCI.
Note: It would be better to have driver model automatically call this function somehow. However for now it is probably safer to have it under board control.
See http://lists.denx.de/pipermail/u-boot/2015-July/220544.html Unfortunately with the driver model pci conversion, board_pci_post_scan() is not called anywhere.
Signed-off-by: Simon Glass sjg@chromium.org
arch/x86/include/asm/fsp/fsp_support.h | 7 +++++++ arch/x86/lib/fsp/fsp_common.c | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/arch/x86/include/asm/fsp/fsp_support.h b/arch/x86/include/asm/fsp/fsp_support.h index c6c7dc0..7317dda 100644 --- a/arch/x86/include/asm/fsp/fsp_support.h +++ b/arch/x86/include/asm/fsp/fsp_support.h @@ -207,4 +207,11 @@ void *fsp_get_bootloader_tmp_mem(const void *hob_list, u32 *len); */ void update_fsp_upd(struct upd_region *fsp_upd);
+/**
- fsp_init_phase_pci() - Tell the FSP that we have completed PCI init
- @return 0 if OK, -EPERM if the FSP gave an error.
- */
+int fsp_init_phase_pci(void);
#endif diff --git a/arch/x86/lib/fsp/fsp_common.c b/arch/x86/lib/fsp/fsp_common.c index c585710..6f72c6d 100644 --- a/arch/x86/lib/fsp/fsp_common.c +++ b/arch/x86/lib/fsp/fsp_common.c @@ -19,19 +19,24 @@ int print_cpuinfo(void) return default_print_cpuinfo(); }
-int board_pci_post_scan(struct pci_controller *hose) +int fsp_init_phase_pci(void) { u32 status;
/* call into FspNotify */ debug("Calling into FSP (notify phase INIT_PHASE_PCI): "); status = fsp_notify(NULL, INIT_PHASE_PCI);
if (status != FSP_SUCCESS)
if (status) debug("fail, error code %x\n", status); else debug("OK\n");
return 0;
return status ? -EPERM : 0;
+}
+int board_pci_post_scan(struct pci_controller *hose) +{
return fsp_init_phase_pci();
}
void board_final_cleanup(void)
Regards, Bin