Implementation of external irq driver. More...
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
#include <errno.h>
#include "rtc.h"
#include "uart.h"
#include "tmr.h"
#include "dma.h"
#include "maxim_irq.h"
#include "maxim_dma.h"
#include "max32650.h"
#include "no_os_uart.h"
#include "no_os_util.h"
#include "no_os_alloc.h"
Macros | |
#define | MAX_UART_ERROR_FLAGS |
Functions | |
int32_t | irq_action_cmp (void *data1, void *data2) |
Action comparator function. | |
void | UART0_IRQHandler () |
void | DMA0_IRQHandler () |
void | DMA1_IRQHandler () |
void | DMA2_IRQHandler () |
void | DMA3_IRQHandler () |
void | DMA4_IRQHandler () |
void | DMA5_IRQHandler () |
void | DMA6_IRQHandler () |
void | DMA7_IRQHandler () |
void | DMA8_IRQHandler () |
void | DMA9_IRQHandler () |
void | DMA10_IRQHandler () |
void | DMA11_IRQHandler () |
void | DMA12_IRQHandler () |
void | DMA13_IRQHandler () |
void | DMA14_IRQHandler () |
void | DMA15_IRQHandler () |
void | RTC_IRQHandler () |
void | USB_IRQHandler (void) |
void | max_uart_callback (mxc_uart_req_t *req, int result) |
UART callback function that sets the event and further calls the user registered callback. | |
int | max_irq_ctrl_init (struct no_os_irq_ctrl_desc **desc, const struct no_os_irq_init_param *param) |
Initialize the interrupt controller. | |
int | max_irq_ctrl_remove (struct no_os_irq_ctrl_desc *desc) |
Free the resources allocated by no_os_irq_ctrl_init() | |
int | max_irq_register_callback (struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc) |
Register a callback function to be triggered when an interrupt occurs. | |
int | max_irq_unregister_callback (struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *cb) |
Unregister a callback function. | |
int | max_irq_trigger_level_set (struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, enum no_os_irq_trig_level trig_l) |
Unused. | |
int | max_irq_global_enable (struct no_os_irq_ctrl_desc *desc) |
Enable all interrupts. | |
int | max_irq_global_disable (struct no_os_irq_ctrl_desc *desc) |
Disable all interrupts. | |
int | max_irq_enable (struct no_os_irq_ctrl_desc *desc, uint32_t irq_id) |
Enable a specific interrupt. | |
int | max_irq_disable (struct no_os_irq_ctrl_desc *desc, uint32_t irq_id) |
Disable a specific interrupt. | |
Variables | |
mxc_uart_req_t | uart_irq_state [MXC_UART_INSTANCES] |
Descriptors to hold the state of nonblocking read and writes on each port. | |
bool | is_callback |
const struct no_os_irq_platform_ops | max_irq_ops |
maxim specific IRQ platform ops structure | |
Implementation of external irq driver.
Copyright 2022(c) Analog Devices, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define MAX_UART_ERROR_FLAGS |
void DMA0_IRQHandler | ( | ) |
void DMA10_IRQHandler | ( | ) |
void DMA11_IRQHandler | ( | ) |
void DMA12_IRQHandler | ( | ) |
void DMA13_IRQHandler | ( | ) |
void DMA14_IRQHandler | ( | ) |
void DMA15_IRQHandler | ( | ) |
void DMA1_IRQHandler | ( | ) |
void DMA2_IRQHandler | ( | ) |
void DMA3_IRQHandler | ( | ) |
void DMA4_IRQHandler | ( | ) |
void DMA5_IRQHandler | ( | ) |
void DMA6_IRQHandler | ( | ) |
void DMA7_IRQHandler | ( | ) |
void DMA8_IRQHandler | ( | ) |
void DMA9_IRQHandler | ( | ) |
int32_t irq_action_cmp | ( | void * | data1, |
void * | data2 ) |
Action comparator function.
irq_action compare function
data1 | - List element |
data2 | - Key |
int max_irq_ctrl_init | ( | struct no_os_irq_ctrl_desc ** | desc, |
const struct no_os_irq_init_param * | param ) |
Initialize the interrupt controller.
desc | - Pointer where the configured instance is stored |
param | - Configuration information for the instance |
int max_irq_ctrl_remove | ( | struct no_os_irq_ctrl_desc * | desc | ) |
Free the resources allocated by no_os_irq_ctrl_init()
desc | - Interrupt controller descriptor. |
int max_irq_disable | ( | struct no_os_irq_ctrl_desc * | desc, |
uint32_t | irq_id ) |
Disable a specific interrupt.
desc | - Interrupt controller descriptor. |
irq_id | - The interrupt vector entry id of the peripheral. |
int max_irq_enable | ( | struct no_os_irq_ctrl_desc * | desc, |
uint32_t | irq_id ) |
Enable a specific interrupt.
desc | - Interrupt controller descriptor. |
irq_id | - The interrupt vector entry id of the peripheral. |
int max_irq_global_disable | ( | struct no_os_irq_ctrl_desc * | desc | ) |
Disable all interrupts.
desc | - Interrupt controller descriptor. |
int max_irq_global_enable | ( | struct no_os_irq_ctrl_desc * | desc | ) |
Enable all interrupts.
desc | - Interrupt controller descriptor. |
int max_irq_register_callback | ( | struct no_os_irq_ctrl_desc * | desc, |
uint32_t | irq_id, | ||
struct no_os_callback_desc * | callback_desc ) |
Register a callback function to be triggered when an interrupt occurs.
desc | - The IRQ controller descriptor. |
irq_id | - The interrupt vector entry id of the peripheral. |
callback_desc | - Descriptor of the callback. |
int max_irq_trigger_level_set | ( | struct no_os_irq_ctrl_desc * | desc, |
uint32_t | irq_id, | ||
enum no_os_irq_trig_level | trig_l ) |
Unused.
desc | -irq descriptor. |
irq_id | - The interrupt vector entry id of the peripheral. |
trig_l | - the trigger condition. |
int max_irq_unregister_callback | ( | struct no_os_irq_ctrl_desc * | desc, |
uint32_t | irq_id, | ||
struct no_os_callback_desc * | cb ) |
Unregister a callback function.
desc | - Interrupt controller descriptor. |
irq_id | - The interrupt vector entry id of the peripheral. |
cb | - Callback descriptor. |
void max_uart_callback | ( | mxc_uart_req_t * | req, |
int | result ) |
UART callback function that sets the event and further calls the user registered callback.
Platform specific uart callback function.
req | - UART request struct |
result | - status of the request (error code) |
void RTC_IRQHandler | ( | ) |
void UART0_IRQHandler | ( | ) |
void USB_IRQHandler | ( | void | ) |
|
extern |
const struct no_os_irq_platform_ops max_irq_ops |
maxim specific IRQ platform ops structure
maxim platform specific irq platform ops structure
|
extern |
Descriptors to hold the state of nonblocking read and writes on each port.