[coreboot-gerrit] Patch set updated for coreboot: drivers/intel/fsp2_0: Eliminate CBFS hardcoded names for FSP
Andrey Petrov (andrey.petrov@intel.com)
gerrit at coreboot.org
Tue May 17 17:26:03 CEST 2016
Andrey Petrov (andrey.petrov at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14818
-gerrit
commit 78bee2e64d69de085214b7a73e60a389010d6a56
Author: Andrey Petrov <andrey.petrov at intel.com>
Date: Sat May 14 16:32:39 2016 -0700
drivers/intel/fsp2_0: Eliminate CBFS hardcoded names for FSP
Get rid of hardcoding names of FSP blobs and add Apollolake
specific options for FSP-M.
Change-Id: I350abeffc4d23e45e339464d036716ecdb2ba83a
Signed-off-by: Andrey Petrov <andrey.petrov at intel.com>
---
src/drivers/intel/fsp2_0/Kconfig | 10 ++++++++++
src/drivers/intel/fsp2_0/memory_init.c | 3 +--
src/drivers/intel/fsp2_0/silicon_init.c | 3 +--
src/soc/intel/apollolake/Kconfig | 6 ++++++
src/soc/intel/apollolake/Makefile.inc | 3 +++
5 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig
index 19e04f7..9289f15 100644
--- a/src/drivers/intel/fsp2_0/Kconfig
+++ b/src/drivers/intel/fsp2_0/Kconfig
@@ -3,4 +3,14 @@ config PLATFORM_USES_FSP2_0
help
Include FSP 2.0 wrappers and functionality
+if PLATFORM_USES_FSP2_0
+config FSP_S_CBFS
+ string "Name of FSP-S in CBFS"
+ default "fsps.bin"
+
+config FSP_M_CBFS
+ string "Name of FSP-M in CBFS"
+ default "fspm.bin"
+
+endif
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index 8033937..c1c2fe4 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -65,8 +65,7 @@ enum fsp_status fsp_memory_init(void **hob_list, struct range_entry *range)
{
struct fsp_header hdr;
- /* TODO: do not hardcode CBFS file names */
- if (fsp_load_binary(&hdr, "blobs/fspm.bin", range) != CB_SUCCESS)
+ if (fsp_load_binary(&hdr, CONFIG_FSP_M_CBFS, range) != CB_SUCCESS)
return FSP_NOT_FOUND;
return do_fsp_memory_init(hob_list, &hdr);
diff --git a/src/drivers/intel/fsp2_0/silicon_init.c b/src/drivers/intel/fsp2_0/silicon_init.c
index e7d8c54..18aded5 100644
--- a/src/drivers/intel/fsp2_0/silicon_init.c
+++ b/src/drivers/intel/fsp2_0/silicon_init.c
@@ -54,8 +54,7 @@ static enum fsp_status do_silicon_init(struct fsp_header *hdr)
enum fsp_status fsp_silicon_init(struct range_entry *range)
{
/* Load FSP-S and save FSP header. We will need it for Notify */
- /* TODO: do not hardcode CBFS file names */
- if (fsp_load_binary(&fsps_hdr, "blobs/fsps.bin", range) != CB_SUCCESS)
+ if (fsp_load_binary(&fsps_hdr, CONFIG_FSP_S_CBFS, range) != CB_SUCCESS)
return FSP_NOT_FOUND;
return do_silicon_init(&fsps_hdr);
diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig
index 7bbc6da..2ed2edb 100644
--- a/src/soc/intel/apollolake/Kconfig
+++ b/src/soc/intel/apollolake/Kconfig
@@ -124,4 +124,10 @@ config CACHE_MRC_SETTINGS
bool
default y
+config FSP_M_ADDR
+ hex
+ default 0xfef60000
+ help
+ The address FSP-M will be relocated to during build time
+
endif
diff --git a/src/soc/intel/apollolake/Makefile.inc b/src/soc/intel/apollolake/Makefile.inc
index 240d3c2..63732b1 100644
--- a/src/soc/intel/apollolake/Makefile.inc
+++ b/src/soc/intel/apollolake/Makefile.inc
@@ -60,4 +60,7 @@ postcar-y += tsc_freq.c
CPPFLAGS_common += -I$(src)/soc/intel/apollolake/include
+# Since FSP-M runs in CAR we need to relocate it to a specific address
+$(CONFIG_FSP_M_CBFS)-options := -b $(CONFIG_FSP_M_ADDR)
+
endif
More information about the coreboot-gerrit
mailing list