zephyr/drivers/interrupt_controller/CMakeLists.txt
Mulin Chao 84d90e456a driver: intc: add MIWU driver support in NPCX series.
The device Multi-Input Wake-Up Unit (MIWU) supports the embedded
controller (EC) to exit 'Sleep' or 'Deep Sleep' power state which allows
chip has better power consumption. Also, it provides signal conditioning
such as 'Level' and 'Edge' trigger type and grouping of external
interrupt sources of NVIC. The NPCX series has three identical MIWU
modules: MIWU0, MIWU1, MIWU2. Together, they support a total of over 140
internal and/or external wake-up sources.

In this CL, we use device tree files to present the relationship bewteen
MIWU and the other devices in different npcx series. For npcx7 series,
it include:
1. npcx7-miwus-int-map.dtsi: it presents relationship between MIWU group
   and NVIC interrupt in npcx7. Please notice it isn't 1-to-1 mapping.
2. npcx7-miwus-wui-map.dtsi: it presents relationship between input of
   MIWU and its source device such as gpio, timer, eSPI VWs and so on.

This CL also includes:
1. Add MIWU device tree declarations.
2. MIWU api function declarations and implementation to configure signal
   conditions and callback function mechanism. They can be be classified
   into two types. One is for GPIO which connects original gpio callback
   implemetation and the other is for generic devices such as timer,
   eSPI, and so on.

Signed-off-by: Mulin Chao <MLChao@nuvoton.com>
2020-09-01 13:35:25 +02:00

20 lines
1.2 KiB
CMake

# SPDX-License-Identifier: Apache-2.0
zephyr_sources_ifdef(CONFIG_ARCV2_INTERRUPT_UNIT intc_arcv2_irq_unit.c)
zephyr_sources_ifdef(CONFIG_GIC_V1 intc_gic.c)
zephyr_sources_ifdef(CONFIG_GIC_V2 intc_gic.c)
zephyr_sources_ifdef(CONFIG_GIC_V3 intc_gicv3.c)
zephyr_sources_ifdef(CONFIG_IOAPIC intc_ioapic.c)
zephyr_sources_ifdef(CONFIG_LOAPIC intc_loapic.c intc_system_apic.c)
zephyr_sources_ifdef(CONFIG_LOAPIC_SPURIOUS_VECTOR intc_loapic_spurious.S)
zephyr_sources_ifdef(CONFIG_PLIC intc_plic.c)
zephyr_sources_ifdef(CONFIG_SHARED_IRQ intc_shared_irq.c)
zephyr_sources_ifdef(CONFIG_EXTI_STM32 intc_exti_stm32.c)
zephyr_sources_ifdef(CONFIG_CAVS_ICTL intc_cavs.c)
zephyr_sources_ifdef(CONFIG_DW_ICTL intc_dw.c)
zephyr_sources_ifdef(CONFIG_RV32M1_INTMUX intc_rv32m1_intmux.c)
zephyr_sources_ifdef(CONFIG_SAM0_EIC intc_sam0_eic.c)
zephyr_sources_ifdef(CONFIG_VEXRISCV_LITEX_IRQ intc_vexriscv_litex.c)
zephyr_sources_ifdef(CONFIG_SWERV_PIC intc_swerv_pic.c)
zephyr_sources_ifdef(CONFIG_NPCX_MIWU intc_miwu.c)