[v6,047/102] x86: fsp: Add a new arch_fsp_init_r() hook
diff mbox series

Message ID 20191206213936.v6.47.I51e7bb3ded3d088ec9ae1dcfaf869f6ffebb97ea@changeid
State Accepted
Delegated to: Bin Meng
Headers show
Series
  • x86: Add initial support for apollolake
Related show

Commit Message

Simon Glass Dec. 7, 2019, 4:42 a.m. UTC
With FSP2 we need to run silicon init early after relocation. Add a new
hook for this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---

Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

 common/board_r.c |  3 +++
 include/init.h   | 11 +++++++++++
 2 files changed, 14 insertions(+)

Comments

Bin Meng Dec. 8, 2019, 3:20 a.m. UTC | #1
On Sat, Dec 7, 2019 at 12:49 PM Simon Glass <sjg@chromium.org> wrote:
>
> With FSP2 we need to run silicon init early after relocation. Add a new
> hook for this.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> Changes in v6: None
> Changes in v5: None
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
>
>  common/board_r.c |  3 +++
>  include/init.h   | 11 +++++++++++
>  2 files changed, 14 insertions(+)
>

applied to u-boot-x86/next, thanks!

Patch
diff mbox series

diff --git a/common/board_r.c b/common/board_r.c
index 9a25f6ec28..e711de64b5 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -715,6 +715,9 @@  static init_fnc_t init_sequence_r[] = {
 	efi_memory_init,
 #endif
 	initr_binman,
+#ifdef CONFIG_FSP_VERSION2
+	arch_fsp_init_r,
+#endif
 	initr_dm_devices,
 	stdio_init_tables,
 	initr_serial,
diff --git a/include/init.h b/include/init.h
index 8b65b2afe4..970a39a6a0 100644
--- a/include/init.h
+++ b/include/init.h
@@ -67,6 +67,17 @@  int mach_cpu_init(void);
  */
 int arch_fsp_init(void);
 
+/**
+ * arch_fsp_init() - perform post-relocation firmware support package init
+ *
+ * Where U-Boot relies on binary blobs to handle part of the system init, this
+ * function can be used to set up the blobs. This is used on some Intel
+ * platforms.
+ *
+ * Return: 0
+ */
+int arch_fsp_init_r(void);
+
 int dram_init(void);
 
 /**