Attention is currently required from: Andrey Petrov, Dinesh Gehlot, Eran Mitrani, Jakub Czapiga, Jayvik Desai, Jérémy Compostella, Kapil Porwal, Lean Sheng Tan, Nick Vaccaro, Paul Menzel, Pranava Y N, Rishika Raj, Ronak Kanabar, Sean Rhodes, Subrata Banik, Tarun, Werner Zeh.
Hello Andrey Petrov, Dinesh Gehlot, Eran Mitrani, Jakub Czapiga, Jayvik Desai, Kapil Porwal, Lean Sheng Tan, Nick Vaccaro, Pranava Y N, Rishika Raj, Ronak Kanabar, Sean Rhodes, Subrata Banik, Tarun, Werner Zeh, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/84356?usp=email
to look at the new patch set (#11).
The following approvals got outdated and were removed: Verified-1 by build bot (Jenkins)
Change subject: drivers/intel/fsp2_0: Simplify FSP global reset definition ......................................................................
drivers/intel/fsp2_0: Simplify FSP global reset definition
According to all FSP 2.x specifications, the OEM status code have the highest bit clear and the next to highest bit set. Therefore, the FSP reset status varies with the FSP architecture.
This commits reduces the global reset Kconfig to a single one specifying the suffix X of `FSP_STATUS_RESET_REQUIRED_X'. `fsp_reset.c' constructs the name of the constant by macro expansion and concatenation to determine which `FSP_STATUS_RESET_REQUIRED_X' constant to map to the global reset request.
Compared to the previous implementation:
- It is scalable (the number of Kconfig should not evolve with FSP specification addition new OEM status code).
- It does not introduce any duplicate and prevent wrong values C header files and Kconfig.
- It use the FSP (or other) header files coreboot is compiled against for `FSP_STATUS_RESET_REQUIRED_X' constants
- It works with both 32-bit and 64-bit FSP binaries
Since all the platforms defining SOC_INTEL_COMMON_FSP_RESET (tigerlake, alderlake, jasperlake, meteorlake, pantherlake, elkhartlake, skylake, cannonlake and apollolake) pick a global reset value, this commit default the most common: 3.
As a result of using the appropriate constants and because FSP 2.x status code varies with the FSP architecture, this commit includes some necessary changes to a few function prototypes manipulating FSP status codes.
BUG=b:348678529 TEST=FSP-s Global reset request is handled properly on pantherlake fatcat
Change-Id: I914f73ff06bfb801fc319b45b23d7ce4cb7a6d5f Signed-off-by: Jeremy Compostella jeremy.compostella@intel.com --- M src/drivers/intel/fsp2_0/Kconfig M src/soc/intel/alderlake/Kconfig M src/soc/intel/apollolake/Kconfig M src/soc/intel/cannonlake/Kconfig M src/soc/intel/common/fsp_reset.c M src/soc/intel/common/reset.h M src/soc/intel/elkhartlake/Kconfig M src/soc/intel/jasperlake/Kconfig M src/soc/intel/meteorlake/Kconfig M src/soc/intel/meteorlake/chip.c M src/soc/intel/pantherlake/Kconfig M src/soc/intel/pantherlake/chip.c M src/soc/intel/skylake/Kconfig M src/soc/intel/tigerlake/Kconfig 14 files changed, 32 insertions(+), 62 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/84356/11