zephyr/drivers/interrupt_controller
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
..
CMakeLists.txt driver: intc: add MIWU driver support in NPCX series. 2020-09-01 13:35:25 +02:00
intc_arcv2_irq_unit.c drivers: arcv2_irq_unit: remove include 2020-07-30 08:00:03 -04:00
intc_cavs.c device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
intc_cavs.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
intc_dw.c device: Apply config_info rename everywhere 2020-08-11 19:30:53 +02:00
intc_dw.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
intc_exti_stm32.c device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
intc_gic_common_priv.h drivers: add GIC V3 driver 2020-05-07 14:22:53 +02:00
intc_gic.c drivers: interrupt_controller: GIC barrier before EOI 2020-06-28 23:47:58 -04:00
intc_gicv3_priv.h drivers: add GIC V3 driver 2020-05-07 14:22:53 +02:00
intc_gicv3.c drivers: interrupt_controller: gicv3: Skip typr for SGI 2020-07-01 08:02:57 -04:00
intc_ioapic_priv.h
intc_ioapic.c drivers: use node IDs for DEVICE_MMIO.*_INIT 2020-08-14 13:35:02 +02:00
intc_loapic_spurious.S
intc_loapic.c x86: apic: use device MMIO APIs 2020-07-17 11:38:18 +02:00
intc_miwu.c driver: intc: add MIWU driver support in NPCX series. 2020-09-01 13:35:25 +02:00
intc_plic.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
intc_rv32m1_intmux.c device: Apply config_info rename everywhere 2020-08-11 19:30:53 +02:00
intc_sam0_eic_priv.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
intc_sam0_eic.c device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
intc_shared_irq.c device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
intc_swerv_pic.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
intc_system_apic.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
intc_vexriscv_litex.c drivers: i2s: Add LiteX I2S controller driver 2020-08-26 08:17:42 -04:00
Kconfig driver: intc: add MIWU driver support in NPCX series. 2020-09-01 13:35:25 +02:00
Kconfig.cavs intc: intc_cavs: Use DTS labels for device names 2020-04-22 04:59:22 -05:00
Kconfig.dw
Kconfig.gic
Kconfig.loapic
Kconfig.multilevel
Kconfig.multilevel.aggregator_template
Kconfig.npcx driver: intc: add MIWU driver support in NPCX series. 2020-09-01 13:35:25 +02:00
Kconfig.rv32m1
Kconfig.sam0
Kconfig.shared_irq
Kconfig.stm32 drivers/exti: stm32: Add support for STM32L5 series 2020-05-08 00:34:34 -05:00