summaryrefslogtreecommitdiff
path: root/chip
diff options
context:
space:
mode:
Diffstat (limited to 'chip')
-rw-r--r--chip/it83xx/lpc.c12
-rw-r--r--chip/lm4/lpc.c12
-rw-r--r--chip/mec1322/lpc.c12
-rw-r--r--chip/npcx/lpc.c13
4 files changed, 49 insertions, 0 deletions
diff --git a/chip/it83xx/lpc.c b/chip/it83xx/lpc.c
index 9db2719b87..95fcb23aee 100644
--- a/chip/it83xx/lpc.c
+++ b/chip/it83xx/lpc.c
@@ -638,6 +638,18 @@ void lpcrst_interrupt(enum gpio_signal signal)
lpc_get_pltrst_asserted() ? "" : "de");
}
+/* Enable LPC ACPI-EC interrupts */
+void lpc_enable_acpi_interrupts(void)
+{
+ task_enable_irq(IT83XX_IRQ_PMC_IN);
+}
+
+/* Disable LPC ACPI-EC interrupts */
+void lpc_disable_acpi_interrupts(void)
+{
+ task_disable_irq(IT83XX_IRQ_PMC_IN);
+}
+
static void lpc_resume(void)
{
/* Mask all host events until the host unmasks them itself. */
diff --git a/chip/lm4/lpc.c b/chip/lm4/lpc.c
index 149145f3c0..2cca35f796 100644
--- a/chip/lm4/lpc.c
+++ b/chip/lm4/lpc.c
@@ -677,6 +677,18 @@ static void lpc_post_sysjump(void)
memcpy(event_mask, prev_mask, sizeof(event_mask));
}
+/* Enable LPC ACPI-EC interrupts */
+void lpc_enable_acpi_interrupts(void)
+{
+ LM4_LPC_LPCIM |= LM4_LPC_INT_MASK(LPC_CH_ACPI, 6);
+}
+
+/* Disable LPC ACPI-EC interrupts */
+void lpc_disable_acpi_interrupts(void)
+{
+ LM4_LPC_LPCIM &= ~(LM4_LPC_INT_MASK(LPC_CH_ACPI, 6));
+}
+
static void lpc_init(void)
{
/* Enable LPC clock in run and sleep modes. */
diff --git a/chip/mec1322/lpc.c b/chip/mec1322/lpc.c
index 7cdc120330..c486f75e77 100644
--- a/chip/mec1322/lpc.c
+++ b/chip/mec1322/lpc.c
@@ -557,6 +557,18 @@ int lpc_get_pltrst_asserted(void)
return (MEC1322_LPC_BUS_MONITOR & (1<<1)) ? 1 : 0;
}
+/* Enable LPC ACPI-EC0 interrupts */
+void lpc_enable_acpi_interrupts(void)
+{
+ task_enable_irq(MEC1322_IRQ_ACPIEC0_IBF);
+}
+
+/* Disable LPC ACPI-EC0 interrupts */
+void lpc_disable_acpi_interrupts(void)
+{
+ task_disable_irq(MEC1322_IRQ_ACPIEC0_IBF);
+}
+
/* On boards without a host, this command is used to set up LPC */
static int lpc_command_init(int argc, char **argv)
{
diff --git a/chip/npcx/lpc.c b/chip/npcx/lpc.c
index 79e0675ede..595edf28e9 100644
--- a/chip/npcx/lpc.c
+++ b/chip/npcx/lpc.c
@@ -646,6 +646,19 @@ static void lpc_init(void)
/* initial IO port address via SIB-write modules */
system_lpc_host_register_init();
}
+
+/* Enable LPC ACPI-EC interrupts */
+void lpc_enable_acpi_interrupts(void)
+{
+ SET_BIT(NPCX_HIPMCTL(PM_CHAN_1), 0);
+}
+
+/* Disable LPC ACPI-EC interrupts */
+void lpc_disable_acpi_interrupts(void)
+{
+ CLEAR_BIT(NPCX_HIPMCTL(PM_CHAN_1), 0);
+}
+
/*
* Set prio to higher than default; this way LPC memory mapped data is ready
* before other inits try to initialize their memmap data.