| /* |
| * Copyright (c) 2022 Schlumberger |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_XMC4XXX_INTC_H_ |
| #define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_XMC4XXX_INTC_H_ |
| |
| /** |
| * @brief Enable interrupt for specific port_id and pin combination |
| * |
| * @param port_id Port index |
| * @param pin pin Pin the port |
| * @param mode Level or edge interrupt |
| * @param trig Trigger edge type (falling, rising or both) |
| * @param fn Callback function |
| * @param user_data Parameter to the interrupt callback |
| * |
| * @retval 0 On success |
| * @retval -ENOTSUP If the specific port_id/pin combination is not supported or |
| * not defined in the dts |
| * @retval -EBUSY If the interrupt line is already used by a different port_id/pin |
| * @retval -EINVAL If the trigger combination is invalid |
| * |
| */ |
| |
| int intc_xmc4xxx_gpio_enable_interrupt(int port_id, int pin, enum gpio_int_mode mode, |
| enum gpio_int_trig trig, void(*fn)(const struct device*, int), void *user_data); |
| |
| /** |
| * @brief Disable interrupt for specific port_id and pin combination |
| * |
| * @param port_id Port index |
| * @param pin pin Pin the port |
| * @retval 0 On susccess |
| * @retval -EINVAL If the specific port_id and pin combination has no interrupt |
| * enabled |
| */ |
| |
| int intc_xmc4xxx_gpio_disable_interrupt(int port_id, int pin); |
| |
| #endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_XMC4XXX_INTC_H_ */ |