Go to the documentation of this file.
34 #ifndef XILINX_GPIO_IRQ_H_
35 #define XILINX_GPIO_IRQ_H_
78 struct no_os_iterator *
it;
Structure storing the list and function wrapper for usual list types.
Definition: no_os_list.h:228
Xilinx platform specific GPIO IRQ descriptor.
Definition: xilinx_gpio_irq.h:74
const struct no_os_irq_platform_ops xil_gpio_irq_ops
Xilinx platform specific GPIO IRQ platform ops structure.
Definition: xilinx_gpio_irq.c:347
Structure describing a callback to be registered.
Definition: no_os_irq.h:142
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:92
@ NO_OS_LIST_DEFAULT
Definition: no_os_list.h:195
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:324
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
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:295
void * extra
Definition: no_os_irq.h:116
int32_t pin_nb
Definition: xilinx_gpio_irq.h:54
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:65
void * ctx
Definition: no_os_irq.h:146
no_os_irq_trig_level
Definition: no_os_irq.h:76
uint32_t irq_ctrl_id
Definition: no_os_irq.h:109
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:103
Structure holding callback parameters for each pin.
Definition: xilinx_gpio_irq.h:53
void(* callback)(void *context)
Definition: no_os_irq.h:144
XGpioPs my_Gpio
Definition: xilinx_gpio_irq.h:76
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:62
struct no_os_irq_ctrl_desc * parent_desc
Definition: xilinx_gpio_irq.h:75
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
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:238
int32_t no_os_iterator_remove(struct no_os_iterator *iter)
uint32_t irq_ctrl_id
Definition: no_os_irq.h:125
int32_t gpio_device_id
Definition: xilinx_gpio_irq.h:67
int32_t no_os_iterator_move_to_idx(struct no_os_iterator *iter, int32_t idx)
bool enabled
Definition: xilinx_gpio_irq.h:57
Structure holding the initial parameters for Interrupt Request.
Definition: no_os_irq.h:107
@ NO_OS_IRQ_EDGE_RISING
Definition: no_os_irq.h:80
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:181
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:213
int32_t xil_gpio_irq_unregister_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *cb)
Unregister pin specific GPIO interrupt.
Definition: xilinx_gpio_irq.c:269
const struct no_os_irq_platform_ops xil_gpio_irq_ops
Xilinx specific GPIO IRQ platform ops structure.
Definition: xilinx_gpio_irq.c:347
bool triggered
Definition: xilinx_gpio_irq.h:56
struct no_os_callback_desc callback
Definition: xilinx_gpio_irq.h:55
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:162
struct no_os_iterator * it
Definition: xilinx_gpio_irq.h:78
struct no_os_irq_ctrl_desc * parent_desc
Definition: xilinx_gpio_irq.h:66
Definition: no_os_irq.h:123
struct no_os_list_desc * callback_list
Definition: xilinx_gpio_irq.h:77
void * extra
Definition: no_os_irq.h:134
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:133