[U-Boot] [PATCH v2 01/10] x86: Rename existing FSP code to fsp1

Simon Glass sjg at chromium.org
Sat Aug 24 14:44:13 UTC 2019


Since there is now a new version of the FSP and it is incompatible with
the existing version, move the code into an fsp1 directory. This will
allow us to put FSP v2 code into an fsp2 directory.

Add a Kconfig which defines which version is in use.

Some of the code in this new fsp1/ directory is generic across both FSPv1
and FSPv2. Future patches will address this.

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

Changes in v2:
- Correct Intel FSP web link

 arch/x86/Kconfig                              | 25 ++++++++++++++++++-
 arch/x86/cpu/baytrail/acpi.c                  |  2 +-
 arch/x86/cpu/baytrail/fsp_configs.c           |  2 +-
 arch/x86/cpu/braswell/fsp_configs.c           |  2 +-
 arch/x86/cpu/ivybridge/fsp_configs.c          |  2 +-
 arch/x86/cpu/queensbay/fsp_configs.c          |  2 +-
 arch/x86/cpu/queensbay/tnc.c                  |  2 +-
 arch/x86/include/asm/{fsp => fsp1}/fsp_api.h  |  0
 .../include/asm/{fsp => fsp1}/fsp_azalia.h    |  0
 .../include/asm/{fsp => fsp1}/fsp_bootmode.h  |  0
 arch/x86/include/asm/{fsp => fsp1}/fsp_ffs.h  |  0
 arch/x86/include/asm/{fsp => fsp1}/fsp_fv.h   |  0
 arch/x86/include/asm/{fsp => fsp1}/fsp_hob.h  |  0
 .../asm/{fsp => fsp1}/fsp_infoheader.h        |  0
 .../include/asm/{fsp => fsp1}/fsp_support.h   |  0
 .../x86/include/asm/{fsp => fsp1}/fsp_types.h |  0
 arch/x86/include/asm/u-boot-x86.h             |  2 +-
 arch/x86/lib/Makefile                         |  3 ++-
 arch/x86/lib/{fsp => fsp1}/Makefile           |  0
 arch/x86/lib/{fsp => fsp1}/fsp_car.S          |  0
 arch/x86/lib/{fsp => fsp1}/fsp_common.c       |  2 +-
 arch/x86/lib/{fsp => fsp1}/fsp_dram.c         |  2 +-
 arch/x86/lib/{fsp => fsp1}/fsp_graphics.c     |  2 +-
 arch/x86/lib/{fsp => fsp1}/fsp_support.c      |  2 +-
 .../som-db5800-som-6867/som-db5800-som-6867.c |  2 +-
 board/intel/cherryhill/cherryhill.c           |  2 +-
 cmd/x86/fsp.c                                 |  2 +-
 drivers/pci/pci-uclass.c                      |  2 +-
 28 files changed, 41 insertions(+), 17 deletions(-)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_api.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_azalia.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_bootmode.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_ffs.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_fv.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_hob.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_infoheader.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_support.h (100%)
 rename arch/x86/include/asm/{fsp => fsp1}/fsp_types.h (100%)
 rename arch/x86/lib/{fsp => fsp1}/Makefile (100%)
 rename arch/x86/lib/{fsp => fsp1}/fsp_car.S (100%)
 rename arch/x86/lib/{fsp => fsp1}/fsp_common.c (99%)
 rename arch/x86/lib/{fsp => fsp1}/fsp_dram.c (98%)
 rename arch/x86/lib/{fsp => fsp1}/fsp_graphics.c (98%)
 rename arch/x86/lib/{fsp => fsp1}/fsp_support.c (99%)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 218e817cf3..314f8def7a 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -364,6 +364,29 @@ config HAVE_FSP
 	  Note: Without this binary U-Boot will not be able to set up its
 	  SDRAM so will not boot.
 
+choice
+	prompt "FSP version"
+	depends on HAVE_FSP
+	default FSP_VERSION1
+	help
+	  Selects the FSP version to use. Intel has published several versions
+	  of the FSP External Architecture Specification and this allows
+	  selection of the version number used by a particular SoC.
+
+config FSP_VERSION1
+	bool "FSP version 1.x"
+	help
+	  This covers versions 1.0 and 1.1a. See here for details:
+	  https://github.com/IntelFsp/fsp/wiki
+
+config FSP_VERSION2
+	bool "FSP version 2.x"
+	help
+	  This covers versions 2.0 and 2.1. See here for details:
+	  https://github.com/IntelFsp/fsp/wiki
+
+endchoice
+
 config FSP_FILE
 	string "Firmware Support Package binary filename"
 	depends on HAVE_FSP
@@ -429,7 +452,7 @@ config ENABLE_MRC_CACHE
 
 	  For platforms that use Intel FSP for the memory initialization,
 	  please check FSP output HOB via U-Boot command 'fsp hob' to see
-	  if there is FSP_NON_VOLATILE_STORAGE_HOB_GUID (asm/fsp/fsp_hob.h).
+	  if there is FSP_NON_VOLATILE_STORAGE_HOB_GUID (asm/fsp1/fsp_hob.h).
 	  If such GUID does not exist, MRC cache is not available on such
 	  platform (eg: Intel Queensbay), which means selecting this option
 	  here does not make any difference.
diff --git a/arch/x86/cpu/baytrail/acpi.c b/arch/x86/cpu/baytrail/acpi.c
index 445e4ba2d7..1e3829a433 100644
--- a/arch/x86/cpu/baytrail/acpi.c
+++ b/arch/x86/cpu/baytrail/acpi.c
@@ -167,7 +167,7 @@ void acpi_create_gnvs(struct acpi_global_nvs *gnvs)
  * and PMC_BASE_ADDRESS are accessed, so we need make sure the base addresses
  * of these two blocks are programmed by either U-Boot or FSP.
  *
- * It has been verified that 1st phase API (see arch/x86/lib/fsp/fsp_car.S)
+ * It has been verified that 1st phase API (see arch/x86/lib/fsp1/fsp_car.S)
  * on Intel BayTrail SoC already initializes these two base addresses so
  * we are safe to access these registers here.
  */
diff --git a/arch/x86/cpu/baytrail/fsp_configs.c b/arch/x86/cpu/baytrail/fsp_configs.c
index cefd26299a..5b5d66aa5e 100644
--- a/arch/x86/cpu/baytrail/fsp_configs.c
+++ b/arch/x86/cpu/baytrail/fsp_configs.c
@@ -7,7 +7,7 @@
 
 #include <common.h>
 #include <fdtdec.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/braswell/fsp_configs.c b/arch/x86/cpu/braswell/fsp_configs.c
index 7fe6fa7995..607e333f21 100644
--- a/arch/x86/cpu/braswell/fsp_configs.c
+++ b/arch/x86/cpu/braswell/fsp_configs.c
@@ -5,7 +5,7 @@
 
 #include <common.h>
 #include <fdtdec.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/ivybridge/fsp_configs.c b/arch/x86/cpu/ivybridge/fsp_configs.c
index 2fd06b3bed..773c2b2a0a 100644
--- a/arch/x86/cpu/ivybridge/fsp_configs.c
+++ b/arch/x86/cpu/ivybridge/fsp_configs.c
@@ -5,7 +5,7 @@
 
 #include <common.h>
 #include <fdtdec.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/queensbay/fsp_configs.c b/arch/x86/cpu/queensbay/fsp_configs.c
index c4d117783c..0dd1901e07 100644
--- a/arch/x86/cpu/queensbay/fsp_configs.c
+++ b/arch/x86/cpu/queensbay/fsp_configs.c
@@ -5,7 +5,7 @@
  */
 
 #include <common.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 void update_fsp_configs(struct fsp_config_data *config,
 			struct fspinit_rtbuf *rt_buf)
diff --git a/arch/x86/cpu/queensbay/tnc.c b/arch/x86/cpu/queensbay/tnc.c
index 76556fc7f7..66737e655b 100644
--- a/arch/x86/cpu/queensbay/tnc.c
+++ b/arch/x86/cpu/queensbay/tnc.c
@@ -12,7 +12,7 @@
 #include <asm/post.h>
 #include <asm/arch/device.h>
 #include <asm/arch/tnc.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 #include <asm/processor.h>
 
 static int __maybe_unused disable_igd(void)
diff --git a/arch/x86/include/asm/fsp/fsp_api.h b/arch/x86/include/asm/fsp1/fsp_api.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_api.h
rename to arch/x86/include/asm/fsp1/fsp_api.h
diff --git a/arch/x86/include/asm/fsp/fsp_azalia.h b/arch/x86/include/asm/fsp1/fsp_azalia.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_azalia.h
rename to arch/x86/include/asm/fsp1/fsp_azalia.h
diff --git a/arch/x86/include/asm/fsp/fsp_bootmode.h b/arch/x86/include/asm/fsp1/fsp_bootmode.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_bootmode.h
rename to arch/x86/include/asm/fsp1/fsp_bootmode.h
diff --git a/arch/x86/include/asm/fsp/fsp_ffs.h b/arch/x86/include/asm/fsp1/fsp_ffs.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_ffs.h
rename to arch/x86/include/asm/fsp1/fsp_ffs.h
diff --git a/arch/x86/include/asm/fsp/fsp_fv.h b/arch/x86/include/asm/fsp1/fsp_fv.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_fv.h
rename to arch/x86/include/asm/fsp1/fsp_fv.h
diff --git a/arch/x86/include/asm/fsp/fsp_hob.h b/arch/x86/include/asm/fsp1/fsp_hob.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_hob.h
rename to arch/x86/include/asm/fsp1/fsp_hob.h
diff --git a/arch/x86/include/asm/fsp/fsp_infoheader.h b/arch/x86/include/asm/fsp1/fsp_infoheader.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_infoheader.h
rename to arch/x86/include/asm/fsp1/fsp_infoheader.h
diff --git a/arch/x86/include/asm/fsp/fsp_support.h b/arch/x86/include/asm/fsp1/fsp_support.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_support.h
rename to arch/x86/include/asm/fsp1/fsp_support.h
diff --git a/arch/x86/include/asm/fsp/fsp_types.h b/arch/x86/include/asm/fsp1/fsp_types.h
similarity index 100%
rename from arch/x86/include/asm/fsp/fsp_types.h
rename to arch/x86/include/asm/fsp1/fsp_types.h
diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h
index c252192bf4..2466ad2ad3 100644
--- a/arch/x86/include/asm/u-boot-x86.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -74,7 +74,7 @@ u32 isa_map_rom(u32 bus_addr, int size);
 /* arch/x86/lib/... */
 int video_bios_init(void);
 
-/* arch/x86/lib/fsp/... */
+/* arch/x86/lib/fsp1,2/... */
 
 /**
  * fsp_save_s3_stack() - save stack address to CMOS for next S3 boot
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index 906be5eab9..a8c7448ee4 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -43,7 +43,8 @@ ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_CMD_ZBOOT)	+= zimage.o
 endif
 obj-$(CONFIG_USE_HOB) += hob.o
-obj-$(CONFIG_HAVE_FSP) += fsp/
+obj-$(CONFIG_FSP_VERSION1) += fsp1/
+obj-$(CONFIG_FSP_VERSION2) += fsp2/
 
 ifdef CONFIG_SPL_BUILD
 ifdef CONFIG_TPL_BUILD
diff --git a/arch/x86/lib/fsp/Makefile b/arch/x86/lib/fsp1/Makefile
similarity index 100%
rename from arch/x86/lib/fsp/Makefile
rename to arch/x86/lib/fsp1/Makefile
diff --git a/arch/x86/lib/fsp/fsp_car.S b/arch/x86/lib/fsp1/fsp_car.S
similarity index 100%
rename from arch/x86/lib/fsp/fsp_car.S
rename to arch/x86/lib/fsp1/fsp_car.S
diff --git a/arch/x86/lib/fsp/fsp_common.c b/arch/x86/lib/fsp1/fsp_common.c
similarity index 99%
rename from arch/x86/lib/fsp/fsp_common.c
rename to arch/x86/lib/fsp1/fsp_common.c
index ed0827c6e9..591eef7b81 100644
--- a/arch/x86/lib/fsp/fsp_common.c
+++ b/arch/x86/lib/fsp1/fsp_common.c
@@ -14,7 +14,7 @@
 #include <asm/mrccache.h>
 #include <asm/post.h>
 #include <asm/processor.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/lib/fsp/fsp_dram.c b/arch/x86/lib/fsp1/fsp_dram.c
similarity index 98%
rename from arch/x86/lib/fsp/fsp_dram.c
rename to arch/x86/lib/fsp1/fsp_dram.c
index 3a23b70410..3bf65b495c 100644
--- a/arch/x86/lib/fsp/fsp_dram.c
+++ b/arch/x86/lib/fsp1/fsp_dram.c
@@ -4,7 +4,7 @@
  */
 
 #include <common.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 #include <asm/e820.h>
 #include <asm/mrccache.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp/fsp_graphics.c b/arch/x86/lib/fsp1/fsp_graphics.c
similarity index 98%
rename from arch/x86/lib/fsp/fsp_graphics.c
rename to arch/x86/lib/fsp1/fsp_graphics.c
index 91d2d08557..52e71334f9 100644
--- a/arch/x86/lib/fsp/fsp_graphics.c
+++ b/arch/x86/lib/fsp1/fsp_graphics.c
@@ -7,7 +7,7 @@
 #include <dm.h>
 #include <vbe.h>
 #include <video.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/lib/fsp/fsp_support.c b/arch/x86/lib/fsp1/fsp_support.c
similarity index 99%
rename from arch/x86/lib/fsp/fsp_support.c
rename to arch/x86/lib/fsp1/fsp_support.c
index 0eaa9b232b..019a42f53f 100644
--- a/arch/x86/lib/fsp/fsp_support.c
+++ b/arch/x86/lib/fsp1/fsp_support.c
@@ -5,7 +5,7 @@
  */
 
 #include <common.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 #include <asm/post.h>
 
 struct fsp_header *__attribute__((optimize("O0"))) find_fsp_header(void)
diff --git a/board/advantech/som-db5800-som-6867/som-db5800-som-6867.c b/board/advantech/som-db5800-som-6867/som-db5800-som-6867.c
index ac12f303a3..8f4c587371 100644
--- a/board/advantech/som-db5800-som-6867/som-db5800-som-6867.c
+++ b/board/advantech/som-db5800-som-6867/som-db5800-som-6867.c
@@ -5,7 +5,7 @@
  */
 
 #include <common.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 /* ALC262 Verb Table - 10EC0262 */
 static const u32 verb_table_data13[] = {
diff --git a/board/intel/cherryhill/cherryhill.c b/board/intel/cherryhill/cherryhill.c
index 695af6bb7e..c037d5b14c 100644
--- a/board/intel/cherryhill/cherryhill.c
+++ b/board/intel/cherryhill/cherryhill.c
@@ -5,7 +5,7 @@
 
 #include <common.h>
 #include <asm/arch/gpio.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 static const struct gpio_family gpio_family[] = {
 	GPIO_FAMILY_CONF("SOUTHEAST_2_hshvfamily_2x3_rcomp_7_0", NA, 0,
diff --git a/cmd/x86/fsp.c b/cmd/x86/fsp.c
index efa183854b..fb27624422 100644
--- a/cmd/x86/fsp.c
+++ b/cmd/x86/fsp.c
@@ -5,7 +5,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index ab3e1310eb..b73d0cd70a 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -12,7 +12,7 @@
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #if defined(CONFIG_X86) && defined(CONFIG_HAVE_FSP)
-#include <asm/fsp/fsp_support.h>
+#include <asm/fsp1/fsp_support.h>
 #endif
 #include "pci_internal.h"
 
-- 
2.23.0.187.g17f5b7556c-goog



More information about the U-Boot mailing list