[U-Boot] [PATCH 0/8] x86: fsp: Move platform-specific config to chipset directory

Bin Meng bmeng.cn at gmail.com
Wed Dec 2 09:58:56 CET 2015


All FSP spec v1.0 complaint FSP binary uses struct fspinit_rtbuf
as defined by the 1.0 spec, however there are FSPs that do not
follow 1.0 spec, like Intel FSP for 3rd generation Intel Core and
Intel Celeron processors with mobile Intel HM76 and QM77 chipsets
platform (formerly Chief River Platform: Ivy Bridge and Panther
Point). Although Intel website says this FSP conforms to FSP v1.0
specification which defines the UPD usage, it is not really the case.
This might possible due to that FSP predates the 1.0 spec. Also
future FSP binary that is complaint to v1.1 spec defines an optional
paltform-specific runtime data in the struct fspinit_rtbuf.

Besides this fspinit_rtbuf, the IvyBridge FSP does not support UPD
either, so that current codes in arch/x86/lib/fsp/fsp_support.c
won't work for that FSP. We need some flexibility, hence move those
platform-specific config to chipset directory.

Right now we still use hardcoded 'const struct' table (in flash)
to pass the Azalia (Intel HD Audio) verb table to FSP, because
different FSP may use different verb table format (at least for
Queensbay and BayTrail), we cannot handle this in the common FSP
support codes. But with this series, we are now able to get Azalia
verb table from device tree, just like what we did for overriding
UPD data configuration. This can be done in future patch set.


Bin Meng (8):
  x86: fsp: Simplify fsp_continue()
  x86: fsp: Avoid cast stack_top in struct shared_data
  x86: fsp: Add boot_mode as a member of struct shared_data
  x86: fsp: Rename shared_data to fsp_config_data
  x86: fsp: Rename update_fsp_upd() and change its signature
  x86: fsp: Move struct fspinit_rtbuf definition to chipset header
  x86: fsp: Move VPD/UPD verification to update_fsp_configs()
  x86: queensbay: Remove invalid comments in update_fsp_upd()

 arch/x86/cpu/baytrail/fsp_configs.c                | 27 ++++++++-
 arch/x86/cpu/queensbay/fsp_configs.c               | 30 ++++++++--
 .../include/asm/arch-baytrail/fsp/fsp_configs.h    | 21 +++++++
 .../include/asm/arch-queensbay/fsp/fsp_configs.h   | 21 +++++++
 arch/x86/include/asm/fsp/fsp_api.h                 |  2 +-
 arch/x86/include/asm/fsp/fsp_platform.h            | 15 -----
 arch/x86/include/asm/fsp/fsp_support.h             | 20 +++----
 arch/x86/lib/fsp/fsp_support.c                     | 64 +++++-----------------
 8 files changed, 112 insertions(+), 88 deletions(-)
 create mode 100644 arch/x86/include/asm/arch-baytrail/fsp/fsp_configs.h
 create mode 100644 arch/x86/include/asm/arch-queensbay/fsp/fsp_configs.h
 delete mode 100644 arch/x86/include/asm/fsp/fsp_platform.h

-- 
1.8.2.1



More information about the U-Boot mailing list