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