1 /* 2 * Copyright (c) 2017 Oticon A/S 3 * Copyright (c) 2023 Nordic Semiconductor ASA 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 #ifndef _NRF_HW_MODEL_TIMER_H 8 #define _NRF_HW_MODEL_TIMER_H 9 10 #include "bs_types.h" 11 #include "NHW_config.h" 12 13 #ifdef __cplusplus 14 extern "C"{ 15 #endif 16 void nhw_timer_regw_sideeffects_TASKS_STOP(uint t); 17 void nhw_timer_regw_sideeffects_TASKS_COUNT(uint t); 18 void nhw_timer_regw_sideeffects_TASKS_SHUTDOWN(uint t); 19 void nhw_timer_regw_sideeffects_TASKS_START(uint t); 20 void nhw_timer_regw_sideeffects_TASKS_CLEAR(uint t); 21 void nhw_timer_regw_sideeffects_TASKS_CAPTURE(uint t, uint cc_n); 22 void nhw_timer_regw_sideeffects_INTENSET(uint t); 23 void nhw_timer_regw_sideeffects_INTENCLR(uint t); 24 void nhw_timer_regw_sideeffects_CC(uint t, uint cc_n); 25 /* Side-effecting function when any event register is written: */ 26 void nhw_timer_regw_sideeffects_EVENTS_all(uint t); 27 28 void nhw_timer_regw_sideeffects_SUBSCRIBE_START(uint inst); 29 void nhw_timer_regw_sideeffects_SUBSCRIBE_STOP(uint inst); 30 void nhw_timer_regw_sideeffects_SUBSCRIBE_COUNT(uint inst); 31 void nhw_timer_regw_sideeffects_SUBSCRIBE_CLEAR(uint inst); 32 void nhw_timer_regw_sideeffects_SUBSCRIBE_SHUTDOWN(uint inst); 33 void nhw_timer_regw_sideeffects_SUBSCRIBE_CAPTURE(uint inst, uint cc_n); 34 35 #if (NHW_HAS_PPI) 36 void nhw_timer0_TASK_CAPTURE_0(void); 37 void nhw_timer0_TASK_CAPTURE_1(void); 38 void nhw_timer0_TASK_CAPTURE_2(void); 39 void nhw_timer0_TASK_CAPTURE_3(void); 40 41 void nhw_timer1_TASK_CAPTURE_0(void); 42 void nhw_timer1_TASK_CAPTURE_1(void); 43 void nhw_timer1_TASK_CAPTURE_2(void); 44 void nhw_timer1_TASK_CAPTURE_3(void); 45 46 void nhw_timer2_TASK_CAPTURE_0(void); 47 void nhw_timer2_TASK_CAPTURE_1(void); 48 void nhw_timer2_TASK_CAPTURE_2(void); 49 void nhw_timer2_TASK_CAPTURE_3(void); 50 51 void nhw_timer3_TASK_CAPTURE_0(void); 52 void nhw_timer3_TASK_CAPTURE_1(void); 53 void nhw_timer3_TASK_CAPTURE_2(void); 54 void nhw_timer3_TASK_CAPTURE_3(void); 55 void nhw_timer3_TASK_CAPTURE_4(void); 56 void nhw_timer3_TASK_CAPTURE_5(void); 57 58 void nhw_timer4_TASK_CAPTURE_0(void); 59 void nhw_timer4_TASK_CAPTURE_1(void); 60 void nhw_timer4_TASK_CAPTURE_2(void); 61 void nhw_timer4_TASK_CAPTURE_3(void); 62 void nhw_timer4_TASK_CAPTURE_4(void); 63 void nhw_timer4_TASK_CAPTURE_5(void); 64 65 void nhw_timer0_TASK_CLEAR(void); 66 void nhw_timer1_TASK_CLEAR(void); 67 void nhw_timer2_TASK_CLEAR(void); 68 void nhw_timer3_TASK_CLEAR(void); 69 void nhw_timer4_TASK_CLEAR(void); 70 71 void nhw_timer0_TASK_COUNT(void); 72 void nhw_timer1_TASK_COUNT(void); 73 void nhw_timer2_TASK_COUNT(void); 74 void nhw_timer3_TASK_COUNT(void); 75 void nhw_timer4_TASK_COUNT(void); 76 77 void nhw_timer0_TASK_START(void); 78 void nhw_timer1_TASK_START(void); 79 void nhw_timer2_TASK_START(void); 80 void nhw_timer3_TASK_START(void); 81 void nhw_timer4_TASK_START(void); 82 83 void nhw_timer0_TASK_STOP(void); 84 void nhw_timer1_TASK_STOP(void); 85 void nhw_timer2_TASK_STOP(void); 86 void nhw_timer3_TASK_STOP(void); 87 void nhw_timer4_TASK_STOP(void); 88 #endif /* (NHW_HAS_PPI) */ 89 90 #ifdef __cplusplus 91 } 92 #endif 93 94 #endif 95