summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/skylake/Kconfig2
-rw-r--r--src/soc/intel/skylake/include/soc/lpc.h2
-rw-r--r--src/soc/intel/skylake/lpc.c2
3 files changed, 5 insertions, 1 deletions
diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig
index 1f4292725454..2ea20a0803a0 100644
--- a/src/soc/intel/skylake/Kconfig
+++ b/src/soc/intel/skylake/Kconfig
@@ -119,7 +119,7 @@ config SERIAL_CPU_INIT
config SERIRQ_CONTINUOUS_MODE
bool
- default y
+ default n
help
If you set this option to y, the serial IRQ machine will be
operated in continuous mode.
diff --git a/src/soc/intel/skylake/include/soc/lpc.h b/src/soc/intel/skylake/include/soc/lpc.h
index 4e826d76883f..63ffa16d6e26 100644
--- a/src/soc/intel/skylake/include/soc/lpc.h
+++ b/src/soc/intel/skylake/include/soc/lpc.h
@@ -54,4 +54,6 @@
#define LPC_GEN4_DEC 0x90 /* LPC IF Generic Decode Range 4 */
#define LGMR 0x98 /* LPC Generic Memory Range */
#define BIOS_CNTL 0xdc
+#define PCCTL 0xE0 /* PCI Clock Control */
+#define CLKRUN_EN (1 << 0)
#endif
diff --git a/src/soc/intel/skylake/lpc.c b/src/soc/intel/skylake/lpc.c
index 861b5ba76bc7..f612fda9ccf0 100644
--- a/src/soc/intel/skylake/lpc.c
+++ b/src/soc/intel/skylake/lpc.c
@@ -153,6 +153,8 @@ static const struct reg_script pch_misc_init_script[] = {
#if !IS_ENABLED(CONFIG_SERIRQ_CONTINUOUS_MODE)
REG_PCI_RMW8(SERIRQ_CNTL, ~(1 << 6), 0),
#endif
+ /* Enable CLKRUN_EN for power gating LPC */
+ REG_PCI_OR8(PCCTL, (CLKRUN_EN)),
REG_SCRIPT_END
};