Implementation of Xilinx GPIO IRQ Generic Driver.
More...
#include <stdlib.h>
#include "xparameters.h"
#include "no_os_error.h"
#include "xilinx_gpio_irq.h"
#include "no_os_util.h"
#include "no_os_list.h"
#include "no_os_irq.h"
#include "no_os_alloc.h"
Implementation of Xilinx GPIO IRQ Generic Driver.
- Author
- Porumb Andrei (andre.nosp@m.i.po.nosp@m.rumb@.nosp@m.anal.nosp@m.og.co.nosp@m.m)
Copyright 2021(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ xil_gpio_irq_ctrl_init()
Initialize the GPIO IRQ controller.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
| param | - The GPIO IRQ controller initial parameters. irq_ctrl_id from irq_init_param is the interrupt id for the parent controller |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_ctrl_remove()
Remove the GPIO IRQ controller.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_disable()
Disable specific GPIO IRQ pin.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
| irq_id | - Pin number. |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_enable()
Enable specific GPIO IRQ pin.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
| irq_id | - Pin number. |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_register_callback()
Register pin specific GPIO interrupt.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
| irq_id | - Pin number. |
| callback_desc | - Callback. |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_trigger_level_set()
Set GPIO interrupt trigger level.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
| irq_id | - Pin number. |
| trig | - New trigger level for the GPIO interrupt. |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_unregister_callback()
Unregister pin specific GPIO interrupt.
- Parameters
-
| desc | - The GPIO IRQ controller descriptor. |
| irq_id | - Pin number. |
| cb | - Callback descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ xil_gpio_irq_ops
Initial value:= {
}
int 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:102
int 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:186
int 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:72
int 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:242
int 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:211
int 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:268
int xil_gpio_irq_ctrl_remove(struct no_os_irq_ctrl_desc *desc)
Remove the GPIO IRQ controller.
Definition xilinx_gpio_irq.c:297
Xilinx platform specific GPIO IRQ platform ops structure.
Xilinx specific GPIO IRQ platform ops structure.