diff options
Diffstat (limited to 'chip')
-rw-r--r-- | chip/it83xx/lpc.c | 12 | ||||
-rw-r--r-- | chip/lm4/lpc.c | 12 | ||||
-rw-r--r-- | chip/mec1322/lpc.c | 12 | ||||
-rw-r--r-- | chip/npcx/lpc.c | 13 |
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. |