coreboot-kgpe-d16/src
Jenny TC 1dfc2c3e54 google/chromeec: Enable unified host event programming interface
Unified Host Event Programming Interface (UHEPI) enables a unified host
command EC_CMD_PROGRAM_HOST_EVENT to set/get/clear different host events.
Old host event commands (0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E,
0x8F) is supported for backward compatibility. But newer version of
BIOS/OS is expected to use UHEPI command (EC_CMD_PROGRAM_HOST_EVENT)

The UHEPI also enables the active and lazy wake masks. Active wake mask
is the mask that is programmed in the LPC driver (i.e. the mask that is
actively used by LPC driver for waking the host during suspended state).
It is same as the current wake mask that is set by the smihandler on host
just before entering sleep state S3/S5. On the other hand, lazy wake masks
are per-sleep masks (S0ix, S3, S5) so that they can be used by EC to set
the active wake mask depending upon the type of sleep that the host has
entered. This allows the host BIOS to perform one-time programming of
the wake masks for each supported sleep type and then EC can take care
of appropriately setting the active mask when host enters a particular
sleep state.

BRANCH=none
BUG=b:63969337
TEST=verify masks with ec hostevent command on S0,S3,S5 and S0ix
1). Verified wake masks with ec hostevent command on S0,S3,S5 and S0ix
2). suspend_stress_test with S3 and S0ix
3). Verified "mosys eventlog list" in S3 and s0ix resume to confirm
	wake sources (Lid, power buttton and Mode change)
4). Verified "mosys eventlog list" in S5 resume to confirm wake sources
	(Power Button)
5). Verified above scenarios with combination of Old BIOS + New EC and
    New BIOS + Old EC

Change-Id: I4917a222c79b6aaecb71d7704ffde57bf3bc99d9
Signed-off-by: Jenny TC <jenny.tc@intel.com>
Reviewed-on: https://review.coreboot.org/21085
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2018-01-17 17:10:32 +00:00
..
acpi arch/x86: Add common AMD ACPI hardware definitions 2017-11-10 19:15:38 +00:00
arch cpu/intel/speedstep: Fix the PNOT ACPI method 2018-01-17 17:09:13 +00:00
commonlib commonlib/region: expose subregion helper function 2017-12-15 23:35:05 +00:00
console console: Ignore loglevel in nvram until ramstage 2017-09-25 13:35:29 +00:00
cpu cpu/intel/speedstep: Fix the PNOT ACPI method 2018-01-17 17:09:13 +00:00
device Intel i82830 boards & chips: Remove - using LATE_CBMEM_INIT 2018-01-15 23:25:26 +00:00
drivers intel/fsp2_0: Set boot mode default as per s3wake status 2018-01-11 02:05:16 +00:00
ec google/chromeec: Enable unified host event programming interface 2018-01-17 17:10:32 +00:00
include soc/intel/common: Add Intel HDA common block driver 2018-01-12 16:55:33 +00:00
lib boardid: Add helpers to read sku_id strapping into coreboot tables 2017-12-07 01:19:32 +00:00
mainboard cpu/intel/speedstep: Fix the PNOT ACPI method 2018-01-17 17:09:13 +00:00
northbridge vx900: decode the whole ROM 2018-01-17 17:07:24 +00:00
security security/vboot: Remove unused include of vboot_nvstorage.h 2017-12-07 01:20:51 +00:00
soc soc/intel/apollolake: Fix prev_sleep_state on G3 exit 2018-01-17 17:07:51 +00:00
southbridge AGESA f15 boards: Remove - using LATE_CBMEM_INIT 2018-01-17 13:23:33 +00:00
superio Intel i3100 boards & chips: Remove - using LATE_CBMEM_INIT 2018-01-15 23:25:12 +00:00
vendorcode AGESA f15: Drop CAR teardown without POSTCAR_STAGE 2018-01-17 16:43:05 +00:00
Kconfig boardid: Switch from Kconfig to weak functions 2017-12-07 01:19:27 +00:00