zephyr/dts/bindings/interrupt-controller/infineon,xmc4xxx-intc.yaml
Andriy Gelman 727e589448 drivers: interrupt_controller: Add XMC4XXX ERU driver
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>
2022-12-12 10:51:29 +01:00

23 lines
640 B
YAML

description: Infineon XMC4XXX series Interrupt Controller
compatible: "infineon,xmc4xxx-intc"
include: base.yaml
properties:
reg:
required: true
port-line-mapping:
type: array
required: true
description: |
An array to store the Event Request Unit (ERU) configuration for a given port/pin
combintation. The array elements are opaque fields set using the macro
XMC4XXX_INTC_SET_LINE_MAP(port, pin, eru_src, line);
eru_src defines where the specific port/pin combination is connected in the ERU.
line defines the SR line that will be raised by the event.
interrupts:
required: true