Go to the documentation of this file.
40 #ifndef XILINX_GPIO_IRQ_H_
41 #define XILINX_GPIO_IRQ_H_
84 struct no_os_iterator *
it;
Structure storing the list and function wrapper for usual list types.
Definition: no_os_list.h:234
Xilinx platform specific GPIO IRQ descriptor.
Definition: xilinx_gpio_irq.h:80
int32_t xil_gpio_irq_unregister_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct callback_desc *cb)
Unregister pin specific GPIO interrupt.
Definition: xilinx_gpio_irq.c:275
const struct no_os_irq_platform_ops xil_gpio_irq_ops
Xilinx platform specific GPIO IRQ platform ops structure.
Definition: xilinx_gpio_irq.c:353
Structure describing a callback to be registered.
Definition: no_os_irq.h:136
Header file of IRQ interface.
int32_t no_os_irq_register_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc)
Register a callback to handle the irq events.
Definition: no_os_irq.c:94
@ NO_OS_LIST_DEFAULT
Definition: no_os_list.h:201
int32_t no_os_list_get_find(struct no_os_list_desc *list_desc, void **data, void *cmp_data)
int32_t no_os_list_get_first(struct no_os_list_desc *list_desc, void **data)
int32_t xil_gpio_irq_ctrl_remove(struct no_os_irq_ctrl_desc *desc)
Remove the GPIO IRQ controller.
Definition: xilinx_gpio_irq.c:330
void * no_os_calloc(size_t nitems, size_t size)
int32_t xil_gpio_irq_enable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Enable specific GPIO IRQ pin.
Definition: xilinx_gpio_irq.c:301
void * extra
Definition: no_os_irq.h:112
int32_t pin_nb
Definition: xilinx_gpio_irq.h:60
int32_t no_os_iterator_move(struct no_os_iterator *iter, int32_t steps)
Structure holding the initialization parameters for Xilinx platform specific GPIO IRQ parameters.
Definition: xilinx_gpio_irq.h:71
void * ctx
Definition: no_os_irq.h:148
no_os_irq_trig_level
Definition: no_os_irq.h:77
uint32_t irq_ctrl_id
Definition: no_os_irq.h:105
void(* legacy_callback)(void *ctx, uint32_t event, void *extra)
Definition: no_os_irq.h:145
int32_t xil_gpio_irq_disable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Disable specific GPIO IRQ pin.
Definition: xilinx_gpio_irq.c:109
Structure holding callback parameters for each pin.
Definition: xilinx_gpio_irq.h:59
void(* callback)(void *context)
Definition: no_os_irq.h:138
XGpioPs my_Gpio
Definition: xilinx_gpio_irq.h:82
Implementation of Xilinx GPIO IRQ Generic Driver.
int32_t no_os_list_remove(struct no_os_list_desc *list_desc)
irq_id
Interrupts IDs supported by the irq driver.
Definition: aducm3029_irq.h:68
struct no_os_irq_ctrl_desc * parent_desc
Definition: xilinx_gpio_irq.h:81
void no_os_free(void *ptr)
int32_t xil_gpio_irq_register_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc)
Register pin specific GPIO interrupt.
Definition: xilinx_gpio_irq.c:244
int32_t no_os_iterator_remove(struct no_os_iterator *iter)
#define NULL
Definition: wrapper.h:64
uint32_t irq_ctrl_id
Definition: no_os_irq.h:121
int32_t gpio_device_id
Definition: xilinx_gpio_irq.h:73
int32_t no_os_iterator_move_to_idx(struct no_os_iterator *iter, int32_t idx)
bool enabled
Definition: xilinx_gpio_irq.h:63
Structure holding the initial parameters for Interrupt Request.
Definition: no_os_irq.h:103
@ NO_OS_IRQ_EDGE_RISING
Definition: no_os_irq.h:81
int32_t no_os_iterator_read(struct no_os_iterator *iter, void **data)
int32_t no_os_irq_enable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Enable specific interrupt.
Definition: no_os_irq.c:183
int32_t xil_gpio_irq_trigger_level_set(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, enum no_os_irq_trig_level trig)
Set GPIO interrupt trigger level.
Definition: xilinx_gpio_irq.c:219
const struct no_os_irq_platform_ops xil_gpio_irq_ops
Xilinx specific GPIO IRQ platform ops structure.
Definition: xilinx_gpio_irq.c:353
bool triggered
Definition: xilinx_gpio_irq.h:62
struct no_os_callback_desc callback
Definition: xilinx_gpio_irq.h:61
int32_t no_os_list_add_last(struct no_os_list_desc *list_desc, void *data)
int32_t no_os_list_init(struct no_os_list_desc **list_desc, enum no_os_adapter_type type, f_cmp comparator)
int32_t no_os_iterator_init(struct no_os_iterator **iter, struct no_os_list_desc *list_desc, bool start)
Header file of utility functions.
int32_t no_os_irq_trigger_level_set(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, enum no_os_irq_trig_level trig)
Set interrupt trigger level.
Definition: no_os_irq.c:164
struct no_os_iterator * it
Definition: xilinx_gpio_irq.h:84
struct no_os_irq_ctrl_desc * parent_desc
Definition: xilinx_gpio_irq.h:72
Definition: no_os_irq.h:119
struct no_os_list_desc * callback_list
Definition: xilinx_gpio_irq.h:83
void * extra
Definition: no_os_irq.h:128
int32_t xil_gpio_irq_ctrl_init(struct no_os_irq_ctrl_desc **desc, const struct no_os_irq_init_param *param)
Initialize the GPIO IRQ controller.
Definition: xilinx_gpio_irq.c:139