diff options
author | Furquan Shaikh <furquan@google.com> | 2018-11-07 10:24:31 -0800 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2018-11-09 18:22:05 +0000 |
commit | d2c2f83964ff43141011c52c27e6eca7f1e5263a (patch) | |
tree | 2134d323847125089573806a548aae317c3ab5de /src/soc/intel/apollolake/chip.c | |
parent | 890788eb6304a7b88906422a97dbb5c1bc717ee4 (diff) |
soc/intel/apollolake: Disable HECI1 before jumping to OS
This change disables HECI1 device at the end of boot sequence. It uses
the P2SB messaging to disable HECI1 device before hiding P2SB and
dropping privilege level.
BUG=b:119074978
BRANCH=None
TEST=Verified that HECI1 device is not visible in lspci on octopus.
Change-Id: Id6abfd0c71a466d0cf8f19ae9b91f1d3446e3d09
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/29534
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Kane Chen <kane.chen@intel.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/soc/intel/apollolake/chip.c')
-rw-r--r-- | src/soc/intel/apollolake/chip.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index e6904da75f..e70bfa3b2c 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -39,15 +39,16 @@ #include <intelblocks/itss.h> #include <intelblocks/pmclib.h> #include <romstage_handoff.h> +#include <soc/cpu.h> +#include <soc/heci.h> +#include <soc/intel/common/vbt.h> #include <soc/iomap.h> #include <soc/itss.h> -#include <soc/intel/common/vbt.h> #include <soc/nvs.h> #include <soc/pci_devs.h> -#include <spi-generic.h> -#include <soc/cpu.h> #include <soc/pm.h> #include <soc/systemagent.h> +#include <spi-generic.h> #include <timer.h> #include "chip.h" @@ -715,8 +716,16 @@ static int check_xdci_enable(void) void platform_fsp_notify_status(enum fsp_notify_phase phase) { if (phase == END_OF_FIRMWARE) { + + /* + * Before hiding P2SB device and dropping privilege level, + * dump CSE status and disable HECI1 interface. + */ + heci_cse_lockdown(); + /* Hide the P2SB device to align with previous behavior. */ p2sb_hide(); + /* * As per guidelines BIOS is recommended to drop CPU privilege * level to IA_UNTRUSTED. After that certain device registers |