1*042d53a7SEvalZero /* 2*042d53a7SEvalZero * Licensed to the Apache Software Foundation (ASF) under one 3*042d53a7SEvalZero * or more contributor license agreements. See the NOTICE file 4*042d53a7SEvalZero * distributed with this work for additional information 5*042d53a7SEvalZero * regarding copyright ownership. The ASF licenses this file 6*042d53a7SEvalZero * to you under the Apache License, Version 2.0 (the 7*042d53a7SEvalZero * "License"); you may not use this file except in compliance 8*042d53a7SEvalZero * with the License. You may obtain a copy of the License at 9*042d53a7SEvalZero * 10*042d53a7SEvalZero * http://www.apache.org/licenses/LICENSE-2.0 11*042d53a7SEvalZero * 12*042d53a7SEvalZero * Unless required by applicable law or agreed to in writing, 13*042d53a7SEvalZero * software distributed under the License is distributed on an 14*042d53a7SEvalZero * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15*042d53a7SEvalZero * KIND, either express or implied. See the License for the 16*042d53a7SEvalZero * specific language governing permissions and limitations 17*042d53a7SEvalZero * under the License. 18*042d53a7SEvalZero */ 19*042d53a7SEvalZero 20*042d53a7SEvalZero #include "cpu.h" 21*042d53a7SEvalZero 22*042d53a7SEvalZero static void (*radio_isr_addr)(void); 23*042d53a7SEvalZero static void (*rng_isr_addr)(void); 24*042d53a7SEvalZero static void (*rtc0_isr_addr)(void); 25*042d53a7SEvalZero 26*042d53a7SEvalZero void isr_radio(void)27*042d53a7SEvalZeroisr_radio(void) 28*042d53a7SEvalZero { 29*042d53a7SEvalZero radio_isr_addr(); 30*042d53a7SEvalZero } 31*042d53a7SEvalZero 32*042d53a7SEvalZero void isr_rng(void)33*042d53a7SEvalZeroisr_rng(void) 34*042d53a7SEvalZero { 35*042d53a7SEvalZero rng_isr_addr(); 36*042d53a7SEvalZero } 37*042d53a7SEvalZero 38*042d53a7SEvalZero void isr_rtc0(void)39*042d53a7SEvalZeroisr_rtc0(void) 40*042d53a7SEvalZero { 41*042d53a7SEvalZero rtc0_isr_addr(); 42*042d53a7SEvalZero } 43*042d53a7SEvalZero 44*042d53a7SEvalZero void ble_npl_hw_set_isr(int irqn,void (* addr)(void))45*042d53a7SEvalZeroble_npl_hw_set_isr(int irqn, void (*addr)(void)) 46*042d53a7SEvalZero { 47*042d53a7SEvalZero switch (irqn) { 48*042d53a7SEvalZero case RADIO_IRQn: 49*042d53a7SEvalZero radio_isr_addr = addr; 50*042d53a7SEvalZero break; 51*042d53a7SEvalZero case RNG_IRQn: 52*042d53a7SEvalZero rng_isr_addr = addr; 53*042d53a7SEvalZero break; 54*042d53a7SEvalZero case RTC0_IRQn: 55*042d53a7SEvalZero rtc0_isr_addr = addr; 56*042d53a7SEvalZero break; 57*042d53a7SEvalZero } 58*042d53a7SEvalZero } 59