summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2015-12-10 22:03:00 -0800
committerBin Meng <bmeng.cn@gmail.com>2016-01-13 12:20:14 +0800
commit81f84aa6c903eb78d6650f159a6486a2a5af83cb (patch)
tree191a0aab6de58af8327ee54a28257a1cb66db8ba /arch/x86
parentcb379a34c46230c9b56a1aa1750445a867c48bd4 (diff)
downloadtalos-obmc-uboot-81f84aa6c903eb78d6650f159a6486a2a5af83cb.tar.gz
talos-obmc-uboot-81f84aa6c903eb78d6650f159a6486a2a5af83cb.zip
x86: fsp: Rename update_fsp_upd() and change its signature
To support platform-specific configurations (might not always be UPD on some platform), use a better name update_fsp_configs() and accepct struct fsp_config_data as its parameter so that platform codes can handle whatever configuration data for that FSP. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/cpu/baytrail/fsp_configs.c5
-rw-r--r--arch/x86/cpu/queensbay/fsp_configs.c2
-rw-r--r--arch/x86/include/asm/fsp/fsp_support.h6
-rw-r--r--arch/x86/lib/fsp/fsp_support.c12
4 files changed, 13 insertions, 12 deletions
diff --git a/arch/x86/cpu/baytrail/fsp_configs.c b/arch/x86/cpu/baytrail/fsp_configs.c
index a72d615f21..9810921c0c 100644
--- a/arch/x86/cpu/baytrail/fsp_configs.c
+++ b/arch/x86/cpu/baytrail/fsp_configs.c
@@ -121,12 +121,13 @@ const struct pch_azalia_config azalia_config = {
};
/**
- * Override the FSP's UPD.
+ * Override the FSP's configuration data.
* If the device tree does not specify an integer setting, use the default
* provided in Intel's Baytrail_FSP_Gold4.tgz release FSP/BayleyBayFsp.bsf file.
*/
-void update_fsp_upd(struct upd_region *fsp_upd)
+void update_fsp_configs(struct fsp_config_data *config)
{
+ struct upd_region *fsp_upd = &config->fsp_upd;
struct memory_down_data *mem;
const void *blob = gd->fdt_blob;
int node;
diff --git a/arch/x86/cpu/queensbay/fsp_configs.c b/arch/x86/cpu/queensbay/fsp_configs.c
index 78bc966bbd..f84ae3046f 100644
--- a/arch/x86/cpu/queensbay/fsp_configs.c
+++ b/arch/x86/cpu/queensbay/fsp_configs.c
@@ -8,7 +8,7 @@
#include <common.h>
#include <asm/fsp/fsp_support.h>
-void update_fsp_upd(struct upd_region *fsp_upd)
+void update_fsp_configs(struct fsp_config_data *config)
{
/* Override any UPD setting if required */
diff --git a/arch/x86/include/asm/fsp/fsp_support.h b/arch/x86/include/asm/fsp/fsp_support.h
index 39b2864942..67741ccd58 100644
--- a/arch/x86/include/asm/fsp/fsp_support.h
+++ b/arch/x86/include/asm/fsp/fsp_support.h
@@ -192,13 +192,13 @@ void *fsp_get_nvs_data(const void *hob_list, u32 *len);
void *fsp_get_bootloader_tmp_mem(const void *hob_list, u32 *len);
/**
- * This function overrides the default configurations in the UPD data region.
+ * This function overrides the default configurations of FSP.
*
- * @fsp_upd: A pointer to the upd_region data strcture
+ * @config: A pointer to the FSP configuration data structure
*
* @return: None
*/
-void update_fsp_upd(struct upd_region *fsp_upd);
+void update_fsp_configs(struct fsp_config_data *config);
/**
* fsp_init_phase_pci() - Tell the FSP that we have completed PCI init
diff --git a/arch/x86/lib/fsp/fsp_support.c b/arch/x86/lib/fsp/fsp_support.c
index 60e61c4e9f..9257745349 100644
--- a/arch/x86/lib/fsp/fsp_support.c
+++ b/arch/x86/lib/fsp/fsp_support.c
@@ -118,6 +118,10 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
panic("Invalid FSP header");
}
+ config_data.common.fsp_hdr = fsp_hdr;
+ config_data.common.stack_top = stack_top;
+ config_data.common.boot_mode = boot_mode;
+
fsp_upd = &config_data.fsp_upd;
memset(&rt_buf, 0, sizeof(struct fspinit_rtbuf));
@@ -140,8 +144,8 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
/* Verify the UPD data region is valid */
assert(fsp_upd->terminator == UPD_TERMINATOR);
- /* Override any UPD setting if required */
- update_fsp_upd(fsp_upd);
+ /* Override any configuration if required */
+ update_fsp_configs(&config_data);
memset(&params, 0, sizeof(struct fsp_init_params));
params.nvs_buf = nvs_buf;
@@ -151,10 +155,6 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
init = (fsp_init_f)(fsp_hdr->img_base + fsp_hdr->fsp_init);
params_ptr = &params;
- config_data.common.fsp_hdr = fsp_hdr;
- config_data.common.stack_top = stack_top;
- config_data.common.boot_mode = boot_mode;
-
post_code(POST_PRE_MRC);
/* Load GDT for FSP */
OpenPOWER on IntegriCloud