Attention is currently required from: Angel Pons, Arthur Heymans, Benjamin Doron, Martin L Roth, Maximilian Brune, Michał Kopeć, Michał Żygowski, Nico Huber, Werner Zeh.
Hello Angel Pons, Arthur Heymans, Benjamin Doron, Maximilian Brune, Michał Kopeć, Nico Huber, Paul Menzel, Werner Zeh, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/68944?usp=email
to look at the new patch set (#18).
The following approvals got outdated and were removed: Code-Review+1 by Nico Huber
Change subject: soc/intel/common/block/oc_wdt: Add OC watchdog common block ......................................................................
soc/intel/common/block/oc_wdt: Add OC watchdog common block
Add new block for handling overcloking watchdog. The watchdog is present since Skylake or maybe even earlier so it is safe to use with most of the microarchitectures utilizing intelblocks.
The patch adds the common block for initializing and feeding the watchdog. Timeout is defined statically in Kconfig and should be set high enough by the board or SoC Kconfig to let the board boot with full memory training and avoid reset loops. Full training of 128GB DDR5 DIMM memory on AlderLake takes about 5 minutes. Newer SoCs with newer memory technologies and higher RAM capacity may take more. THe default has been set to 10 minutes.
The patch also adds support for feeding watchdog in driverless mode, i.e. it utilizies periodic SMI to reload the timeout value and restart the watchdog timer. This is optional and selectable by Kconfig option as well. If the option is not enabled, payload and/or software must ensure to keep feeding the watchdog, otherwise the platform will reset.
TEST=Enable watchdog on MSI PRO Z690-A and see the platform resets after some time. Enable the watchdog in driverless mode and see the platform no longer resets and periodic SMI keeps feeding the watchdog.
Signed-off-by: Michał Żygowski michal.zygowski@3mdeb.com Change-Id: Ib494aa0c7581351abca8b496fc5895b2c7cbc5bc --- A src/soc/intel/common/block/include/intelblocks/oc_wdt.h A src/soc/intel/common/block/oc_wdt/Kconfig A src/soc/intel/common/block/oc_wdt/Makefile.inc A src/soc/intel/common/block/oc_wdt/oc_wdt.c M src/soc/intel/common/block/smm/smihandler.c M src/soc/intel/common/block/smm/smm.c 6 files changed, 163 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/44/68944/18