727e589448
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>
29 lines
503 B
Plaintext
29 lines
503 B
Plaintext
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Copyright (c) 2020 Linumiz
|
|
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
|
|
|
|
config HAS_XMCLIB
|
|
bool
|
|
select HAS_CMSIS_CORE
|
|
depends on SOC_FAMILY_XMC
|
|
|
|
if HAS_XMCLIB
|
|
|
|
config HAS_XMCLIB_UART
|
|
bool
|
|
help
|
|
Enable XMCLIB Universal asynchronous receiver transmitter (UART)
|
|
|
|
config HAS_XMCLIB_FLASH
|
|
bool
|
|
help
|
|
Enable XMCLIB Flash
|
|
|
|
config HAS_XMCLIB_ERU
|
|
bool
|
|
help
|
|
Enable XMCLIB Event Request Unit (ERU) for GPIO interrupt support
|
|
|
|
endif # HAS_XMCLIB
|