soc/intel/common: Add HECI Reset flow in the CSE driver

This change is required as part of HECI Interface initialization in order
to put the host and CSE into a known good state for communication. Please
refer ME BIOS specification for more details. The change adds HECI
interface reset flow in the CSE driver. It enables coreboot to send HECI
commands before DRAM Init.

BUG=b:175516533
TEST=Run 50 cold reset cycles on Brya

Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Change-Id: Ie078beaa33c6a35ae8f5f460d4354766aa710fba
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55363
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
Sridhar Siricilla 2021-06-09 19:27:06 +05:30 committed by Tim Wawrzynczak
parent 9a7fbbc98e
commit cb2fd20c7f
1 changed files with 3 additions and 0 deletions

View File

@ -111,6 +111,9 @@ void heci_init(uintptr_t tempbar)
/* Enable Bus Master and MMIO Space */ /* Enable Bus Master and MMIO Space */
pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY); pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
/* Trigger HECI Reset and make Host ready for communication with CSE */
heci_reset();
} }
static uint32_t read_bar(pci_devfn_t dev, uint32_t offset) static uint32_t read_bar(pci_devfn_t dev, uint32_t offset)