Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
intc_mchp_xec_ecia.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021 Microchip Technology Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
17#ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_MCHP_XEC_ECIA_H_
18#define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_MCHP_XEC_ECIA_H_
19
20#include <zephyr/device.h>
21#include <zephyr/irq.h>
22
29int mchp_xec_ecia_enable(int girq_id, int src);
30
37int mchp_xec_ecia_info_enable(int ecia_info);
38
45int mchp_xec_ecia_disable(int girq_id, int src);
46
53int mchp_xec_ecia_info_disable(int ecia_info);
54
55
56/* callback for ECIA GIRQ interrupt source */
57typedef void (*mchp_xec_ecia_callback_t) (int girq_id, int src, void *user);
58
67int mchp_xec_ecia_set_callback(int girq_id, int src,
69
78 void *data);
79
88int mchp_xec_ecia_set_callback_by_dev(const struct device *dev_girq, int src,
90
97int mchp_ecia_unset_callback(int girq_id, int src);
98
105int mchp_ecia_unset_callback_by_dev(const struct device *dev_girq, int src);
106
107/* platform specific */
114
121
128
135
142
149
156
163
169
170/* API using GIRQ parameters encoded with MCHP_XEC_ECIA */
171
177void mchp_xec_ecia_info_girq_aggr_en(int ecia_info, uint8_t enable);
178
184
190
196
203
209
210#endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_MCHP_XEC_ECIA_H_ */
void mchp_xec_ecia_girq_src_clr(uint8_t girq_id, uint8_t src_bit)
clear GIRQ latched source status bit
int mchp_xec_ecia_info_set_callback(int ecia_info, mchp_xec_ecia_callback_t cb, void *data)
set GIRQn interrupt source callback
int mchp_xec_ecia_info_disable(int ecia_info)
disable EXTI interrupt for specific line specified by parameter encoded with MCHP_XEC_ECIA macro.
uint32_t mchp_xec_ecia_info_girq_result(int ecia_info)
Read GIRQ result register (bit-wise OR of enable and source)
void mchp_xec_ecia_girq_src_dis(uint8_t girq_id, uint8_t src_bit)
disable a source in a GIRQ
void mchp_xec_ecia_girq_src_dis_bitmap(uint8_t girq_id, uint32_t bitmap)
disable sources in a GIRQ
void mchp_xec_ecia_info_girq_aggr_en(int ecia_info, uint8_t enable)
enable or disable aggregated GIRQ output
void mchp_xec_ecia_info_girq_src_en(int ecia_info)
enable a source in a GIRQ
void mchp_xec_ecia_girq_src_clr_bitmap(uint8_t girq_id, uint32_t bitmap)
clear GIRQ latches sources specified in bitmap
int mchp_ecia_unset_callback(int girq_id, int src)
unset GIRQn interrupt source callback
int mchp_xec_ecia_disable(int girq_id, int src)
disable EXTI interrupt for specific line
int mchp_xec_ecia_set_callback_by_dev(const struct device *dev_girq, int src, mchp_xec_ecia_callback_t cb, void *data)
set GIRQn interrupt source callback
void mchp_xec_ecia_info_girq_src_clr(int ecia_info)
clear GIRQ latched source status bit
int mchp_ecia_unset_callback_by_dev(const struct device *dev_girq, int src)
unset GIRQn interrupt source callback
int mchp_xec_ecia_info_enable(int ecia_info)
enable EXTI interrupt for specific line specified by parameter encoded with MCHP_XEC_ECIA macro.
int mchp_xec_ecia_enable(int girq_id, int src)
Driver for External interrupt controller in Microchip XEC devices.
void(* mchp_xec_ecia_callback_t)(int girq_id, int src, void *user)
Definition intc_mchp_xec_ecia.h:57
void mchp_xec_ecia_info_nvic_clr_pend(int ecia_info)
Clear external NVIC input pending status given encoded ECIA info.
uint32_t mchp_xec_ecia_girq_result(uint8_t girq_id)
Read GIRQ result register (bit-wise OR of enable and source)
int mchp_xec_ecia_set_callback(int girq_id, int src, mchp_xec_ecia_callback_t cb, void *data)
set GIRQn interrupt source callback
void mchp_xec_ecia_girq_aggr_en(uint8_t girq_id, uint8_t enable)
enable or disable aggregated GIRQ output
void mchp_xec_ecia_girq_src_en_bitmap(uint8_t girq_id, uint32_t bitmap)
enable sources in a GIRQ
void mchp_xec_ecia_nvic_clr_pend(uint32_t nvic_num)
Clear external NVIC input pending status.
void mchp_xec_ecia_info_girq_src_dis(int ecia_info)
disable a source in a GIRQ
void mchp_xec_ecia_girq_src_en(uint8_t girq_id, uint8_t src_bit)
enable a source in a GIRQ
Public interface for configuring interrupts.
__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
static fdata_t data[2]
Definition test_fifo_contexts.c:15