In Infineon XMC4XXX SoCs, gpio interrupts are triggered via an Event Request Unit (ERU) module. A subset of the gpios are connected to the ERU. The ERU monitors edge triggers and creates a SR. This driver configures the ERU for a target port/pin combination for rising/falling edge events. Note that the ERU module does not generate SR based on the gpio level. Internally the ERU tracks the *status* of an event. The status is set on a positive edge and unset on a negative edge (or vice-versa depending on the configuration). The value of the status is used to implement a level triggered interrupt; The ISR checks the status flag and calls the callback function if the status is set. The ERU configurations for supported port/pin combinations are stored in a devicetree file dts/arm/infineon/xmc4xxx_x_x-intc.dtsi. The configurations are stored in the opaque array uint16 port_line_mapping[]. Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| intc_arcv2_irq_unit.c | ||
| intc_cavs.c | ||
| intc_cavs.h | ||
| intc_dw_ace.c | ||
| intc_dw.c | ||
| intc_dw.h | ||
| intc_eirq_nxp_s32.c | ||
| intc_esp32.c | ||
| intc_esp32c3.c | ||
| intc_exti_stm32.c | ||
| intc_gd32_exti.c | ||
| intc_gic_common_priv.h | ||
| intc_gic.c | ||
| intc_gicv3_its.c | ||
| intc_gicv3_priv.h | ||
| intc_gicv3.c | ||
| intc_intel_vtd.c | ||
| intc_intel_vtd.h | ||
| intc_ioapic_priv.h | ||
| intc_ioapic.c | ||
| intc_irqmp.c | ||
| intc_ite_it8xxx2.c | ||
| intc_ite_it8xxx2.h | ||
| intc_loapic_spurious.S | ||
| intc_loapic.c | ||
| intc_mchp_ecia_xec.c | ||
| intc_miwu.c | ||
| intc_nuclei_eclic.c | ||
| intc_plic.c | ||
| intc_rv32m1_intmux.c | ||
| intc_sam0_eic_priv.h | ||
| intc_sam0_eic.c | ||
| intc_shared_irq.c | ||
| intc_swerv_pic.c | ||
| intc_system_apic.c | ||
| intc_vexriscv_litex.c | ||
| intc_xmc4xxx.c | ||
| Kconfig | ||
| Kconfig.cavs | ||
| Kconfig.clic | ||
| Kconfig.dw | ||
| Kconfig.esp32 | ||
| Kconfig.esp32c3 | ||
| Kconfig.gd32_exti | ||
| Kconfig.gic | ||
| Kconfig.intel_vtd | ||
| Kconfig.it8xxx2 | ||
| Kconfig.loapic | ||
| Kconfig.multilevel | ||
| Kconfig.multilevel.aggregator_template | ||
| Kconfig.npcx | ||
| Kconfig.nxp_s32 | ||
| Kconfig.plic | ||
| Kconfig.rv32m1 | ||
| Kconfig.sam0 | ||
| Kconfig.shared_irq | ||
| Kconfig.stm32 | ||
| Kconfig.xec | ||
| Kconfig.xmc4xxx | ||
| wuc_ite_it8xxx2.c | ||