Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
intc_eirq_nxp_s32.h
Go to the documentation of this file.
1/*
2 * Copyright 2022 NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12#ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_EIRQ_NXP_S32_H_
13#define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_EIRQ_NXP_S32_H_
14
15#include <Siul2_Icu_Ip.h>
16
17/* Wrapper callback for EIRQ line */
18typedef void (*eirq_nxp_s32_callback_t)(uint8_t pin, void *arg);
19
26void eirq_nxp_s32_unset_callback(const struct device *dev, uint8_t line);
27
40int eirq_nxp_s32_set_callback(const struct device *dev, uint8_t line,
41 eirq_nxp_s32_callback_t cb, uint8_t pin, void *arg);
42
50void eirq_nxp_s32_enable_interrupt(const struct device *dev, uint8_t line,
51 Siul2_Icu_Ip_EdgeType edge_type);
52
59void eirq_nxp_s32_disable_interrupt(const struct device *dev, uint8_t line);
60
68
69#endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_EIRQ_NXP_S32_H_ */
void eirq_nxp_s32_unset_callback(const struct device *dev, uint8_t line)
Unset EIRQ callback for line.
void(* eirq_nxp_s32_callback_t)(uint8_t pin, void *arg)
Driver for External interrupt/event controller in NXP S32 MCUs.
Definition intc_eirq_nxp_s32.h:18
int eirq_nxp_s32_set_callback(const struct device *dev, uint8_t line, eirq_nxp_s32_callback_t cb, uint8_t pin, void *arg)
Set EIRQ callback for line.
uint32_t eirq_nxp_s32_get_pending(const struct device *dev)
Get pending interrupt for EIRQ device.
void eirq_nxp_s32_disable_interrupt(const struct device *dev, uint8_t line)
Disable interrupt for EIRQ line.
void eirq_nxp_s32_enable_interrupt(const struct device *dev, uint8_t line, Siul2_Icu_Ip_EdgeType edge_type)
Set edge event and enable interrupt for EIRQ line.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:403