soc/intel/common/cse: Rework heci_disable function
commit32e06732322765819e5bf54167d3159275f7dfa8
authorSubrata Banik <subratabanik@google.com>
Thu, 27 Jan 2022 20:35:15 +0000 (28 02:05 +0530)
committerSubrata Banik <subratabanik@google.com>
Wed, 2 Feb 2022 07:09:28 +0000 (2 07:09 +0000)
treec5e67bf063d178ed1c6cf1c0a82b46600e38c49b
parent736f9cced0f060a333a5efdc499607350554b9c7
soc/intel/common/cse: Rework heci_disable function

This patch provides the possible options for SoC users to choose the
applicable interface to make HECI1 function disable at pre-boot.

`SOC_INTEL_COMMON_BLOCK_HECI_DISABLE_USING_SBI` config is used for
disabling heci1 using non-posted sideband write (inside SMM) after
FSP-S sets the postboot_sai attribute. Applicable from CNL PCH onwards.

`SOC_INTEL_COMMON_BLOCK_HECI_DISABLE_USING_PMC_IPC` config is used for
disabling heci1 using PMC IPC command `0xA9`. Applicable from TGL PCH
onwards.

`SOC_INTEL_COMMON_BLOCK_HECI_DISABLE_USING_PCR` config is used for
disabling heci1 using private configuration register (PCR) write.
Applicable for SoC platform prior to CNL PCH.

Additionally, add PID_CSME0 macro for SKL, Xeon_SP and APL to fix the
compilation failure.

Finally, rename heci_disable() function to heci1_disable() to make it
more meaningful.

BUG=none
TEST=Able to build and boot brya.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I7e0bab0004013b999ec1e054310763427d7b9348
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61431
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
13 files changed:
src/soc/intel/alderlake/smihandler.c
src/soc/intel/apollolake/include/soc/pcr_ids.h
src/soc/intel/cannonlake/smihandler.c
src/soc/intel/common/block/cse/Kconfig
src/soc/intel/common/block/cse/Makefile.inc
src/soc/intel/common/block/cse/disable_heci.c
src/soc/intel/common/block/include/intelblocks/cse.h
src/soc/intel/elkhartlake/smihandler.c
src/soc/intel/icelake/smihandler.c
src/soc/intel/jasperlake/smihandler.c
src/soc/intel/skylake/include/soc/pcr_ids.h
src/soc/intel/tigerlake/smihandler.c
src/soc/intel/xeon_sp/include/soc/pcr_ids.h