14#include "platform/nrf_802154_irq.h"
15#include "nrf_802154_config.h"
16#include "nrf_802154_irq_handlers.h"
23static nrf_802154_isr_t radio_isr;
24static nrf_802154_isr_t egu10_isr;
27nrf_802154_irq_init(uint32_t irqn, int32_t prio, nrf_802154_isr_t isr)
36 if(irqn == RADIO_0_IRQn || irqn == RADIO_1_IRQn
42 }
else if(irqn == EGU10_IRQn) {
45 NVIC_SetPriority((IRQn_Type)irqn, (uint32_t)prio);
46 NVIC_ClearPendingIRQ((IRQn_Type)irqn);
50nrf_802154_irq_enable(uint32_t irqn)
52 NVIC_EnableIRQ((IRQn_Type)irqn);
56nrf_802154_irq_disable(uint32_t irqn)
58 NVIC_DisableIRQ((IRQn_Type)irqn);
62nrf_802154_irq_set_pending(uint32_t irqn)
64 NVIC_SetPendingIRQ((IRQn_Type)irqn);
68nrf_802154_irq_clear_pending(uint32_t irqn)
70 NVIC_ClearPendingIRQ((IRQn_Type)irqn);
74nrf_802154_irq_is_enabled(uint32_t irqn)
76 return NVIC_GetEnableIRQ((IRQn_Type)irqn) != 0;
80nrf_802154_irq_priority_get(uint32_t irqn)
82 return NVIC_GetPriority((IRQn_Type)irqn);
87volatile uint32_t radio_irq_count;
90RADIO_0_IRQHandler(
void)
93#if NRF_802154_INTERNAL_RADIO_IRQ_HANDLING
94 if(radio_isr != NULL) {
98 nrf_802154_radio_irq_handler();
103RADIO_1_IRQHandler(
void)
106#if NRF_802154_INTERNAL_RADIO_IRQ_HANDLING
107 if(radio_isr != NULL) {
111 nrf_802154_radio_irq_handler();
117volatile uint32_t egu10_irq_count;
120EGU10_IRQHandler(
void)
123#if NRF_802154_INTERNAL_SWI_IRQ_HANDLING
124 if(egu10_isr != NULL) {
128 nrf_802154_swi_irq_handler();