coreboot-kgpe-d16/src/soc/intel
Furquan Shaikh 10c3b96ac7 soc/intel/common/block/smm: Add configurable delay before entering S5
This change adds a configurable delay in milliseconds before SLP_EN is set in
SLP_SMI for S5. Reason for doing this is to avoid race between SLP and power
button SMIs.

On some platforms (Nami, Nautilus), it was observed that power button SMI
triggered by EC was competing with the SLP SMI triggered by keyboard
driver. Keyboard driver indicated power button press which resulted in
depthcharge triggering SLP_SMI, causing the AP to enter S5. However, the power
button press also causes the EC to send a pulse on PWRBTN# line, which is
debounced for 16ms before an interrupt is triggered. This interrupt was
generated after SLP_SMI is processed which resulted in the device waking back up
from S5.

This change adds a config option SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS which is
used to add a delay before SLP_EN is set for S5. This change should only affect
CHROMEOS boards as the config option will be 0 in other cases.

BUG=b:74083107
TEST=Verified that nami, nautilus do not wake back from S5 on power button press
at dev mode screen.

Change-Id: Iaee19b5aba0aad7eb34bd126fda5b0f6ef394ed7
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/24964
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-03-05 17:55:32 +00:00
..
apollolake src/soc: Fix various typos 2018-02-20 23:17:39 +00:00
baytrail security/tpm: Change TPM naming for different layers. 2018-01-18 01:45:35 +00:00
braswell intel: Prepare registers so Windows drivers are happier 2018-01-29 09:41:35 +00:00
broadwell soc/intel/broadwell: Generate ACPI DMAR table 2018-03-01 16:10:25 +00:00
cannonlake soc/intel/cannonlake: Clear EMMC timeout register 2018-02-22 09:59:03 +00:00
common soc/intel/common/block/smm: Add configurable delay before entering S5 2018-03-05 17:55:32 +00:00
denverton_ns src/soc: Fix various typos 2018-02-20 23:17:39 +00:00
fsp_baytrail soc/intel/fsp_baytrail: remove nvm headers and code 2017-12-17 18:29:08 +00:00
fsp_broadwell_de Constify struct cpu_device_id instances 2017-11-23 05:00:17 +00:00
quark drivers/spi: support cmd opcode deduction for spi_crop_chunk() 2018-01-30 05:37:47 +00:00
skylake skylake: Fix unwanted disablement of ACPI UPWE 2018-02-28 17:37:57 +00:00
Kconfig soc: Add Kconfig for each soc vendor 2017-10-23 17:18:32 +00:00