Line data Source code
1 0 : /* 2 : * Copyright (c) 2022 Schlumberger 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_XMC4XXX_INTC_H_ 8 : #define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_XMC4XXX_INTC_H_ 9 : 10 : /** 11 : * @brief Enable interrupt for specific port_id and pin combination 12 : * 13 : * @param port_id Port index 14 : * @param pin pin Pin the port 15 : * @param mode Level or edge interrupt 16 : * @param trig Trigger edge type (falling, rising or both) 17 : * @param fn Callback function 18 : * @param user_data Parameter to the interrupt callback 19 : * 20 : * @retval 0 On success 21 : * @retval -ENOTSUP If the specific port_id/pin combination is not supported or 22 : * not defined in the dts 23 : * @retval -EBUSY If the interrupt line is already used by a different port_id/pin 24 : * @retval -EINVAL If the trigger combination is invalid 25 : * 26 : */ 27 : 28 1 : int intc_xmc4xxx_gpio_enable_interrupt(int port_id, int pin, enum gpio_int_mode mode, 29 : enum gpio_int_trig trig, void(*fn)(const struct device*, int), void *user_data); 30 : 31 : /** 32 : * @brief Disable interrupt for specific port_id and pin combination 33 : * 34 : * @param port_id Port index 35 : * @param pin pin Pin the port 36 : * @retval 0 On susccess 37 : * @retval -EINVAL If the specific port_id and pin combination has no interrupt 38 : * enabled 39 : */ 40 : 41 1 : int intc_xmc4xxx_gpio_disable_interrupt(int port_id, int pin); 42 : 43 : #endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_XMC4XXX_INTC_H_ */