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