1 /*
2  * Copyright (c) 2006-2023, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2018-12-11     zylx         first version
9  * 2023-12-7      supperthomas  add timer
10  */
11 
12 #ifndef __TIM_CONFIG_H__
13 #define __TIM_CONFIG_H__
14 
15 #include <rtthread.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #ifndef TIM_DEV_INFO_CONFIG
22 #define TIM_DEV_INFO_CONFIG                     \
23     {                                           \
24         .maxfreq = 1000000,                     \
25         .minfreq = 3000,                        \
26         .maxcnt  = 0xFFFF,                      \
27         .cntmode = HWTIMER_CNTMODE_UP,          \
28     }
29 #endif /* TIM_DEV_INFO_CONFIG */
30 
31 #ifdef BSP_USING_TIM1
32 #ifndef TIM1_CONFIG
33 #define TIM1_CONFIG                                        \
34     {                                                      \
35        .tim_handle.Instance     = TIM1,                    \
36        .tim_irqn                = TIM1_UP_TIM16_IRQn,                    \
37        .name                    = "timer1",                \
38     }
39 #endif /* TIM1_CONFIG */
40 #endif /* BSP_USING_TIM1 */
41 
42 #ifdef BSP_USING_TIM2
43 #ifndef TIM2_CONFIG
44 #define TIM2_CONFIG                                        \
45     {                                                      \
46        .tim_handle.Instance     = TIM2,                    \
47        .tim_irqn                = TIM2_IRQn,               \
48        .name                    = "timer2",                \
49     }
50 #endif /* TIM2_CONFIG */
51 #endif /* BSP_USING_TIM2 */
52 
53 #ifdef BSP_USING_TIM3
54 #ifndef TIM3_CONFIG
55 #define TIM3_CONFIG                                        \
56     {                                                      \
57        .tim_handle.Instance     = TIM3,                    \
58        .tim_irqn                = TIM3_IRQn,               \
59        .name                    = "timer3",                \
60     }
61 #endif /* TIM3_CONFIG */
62 #endif /* BSP_USING_TIM3 */
63 
64 #ifdef BSP_USING_TIM4
65 #ifndef TIM4_CONFIG
66 #define TIM4_CONFIG                                        \
67     {                                                      \
68        .tim_handle.Instance     = TIM4,                    \
69        .tim_irqn                = TIM4_IRQn,               \
70        .name                    = "timer4",                \
71     }
72 #endif /* TIM4_CONFIG */
73 #endif /* BSP_USING_TIM4 */
74 
75 #ifdef BSP_USING_TIM6
76 #ifndef TIM6_CONFIG
77 #define TIM6_CONFIG                                        \
78     {                                                      \
79        .tim_handle.Instance     = TIM6,                    \
80        .tim_irqn                = TIM6_IRQn,               \
81        .name                    = "timer6",                \
82     }
83 #endif /* TIM7_CONFIG */
84 #endif /* BSP_USING_TIM7 */
85 
86 #ifdef BSP_USING_TIM7
87 #ifndef TIM7_CONFIG
88 #define TIM7_CONFIG                                        \
89     {                                                      \
90        .tim_handle.Instance     = TIM7,                    \
91        .tim_irqn                = TIM7_IRQn,               \
92        .name                    = "timer7",                \
93     }
94 #endif /* TIM7_CONFIG */
95 #endif /* BSP_USING_TIM7 */
96 
97 #ifdef BSP_USING_TIM8
98 #ifndef TIM8_CONFIG
99 #define TIM8_CONFIG                                        \
100     {                                                      \
101        .tim_handle.Instance     = TIM8,                    \
102        .tim_irqn                = TIM8_UP_IRQn,                    \
103        .name                    = "timer8",                \
104     }
105 #endif /* TIM8_CONFIG */
106 #endif /* BSP_USING_TIM8 */
107 
108 #ifdef BSP_USING_TIM11
109 #ifndef TIM11_CONFIG
110 #define TIM11_CONFIG                                        \
111     {                                                       \
112        .tim_handle.Instance     = TIM11,                    \
113        .tim_irqn                = TIM1_TRG_COM_TIM11_IRQn,  \
114        .name                    = "timer11",                \
115     }
116 #endif /* TIM11_CONFIG */
117 #endif /* BSP_USING_TIM11 */
118 
119 #ifdef BSP_USING_TIM13
120 #ifndef TIM13_CONFIG
121 #define TIM13_CONFIG                                        \
122     {                                                       \
123        .tim_handle.Instance     = TIM13,                    \
124        .tim_irqn                = TIM8_UP_TIM13_IRQn,       \
125        .name                    = "timer13",                \
126     }
127 #endif /* TIM13_CONFIG */
128 #endif /* BSP_USING_TIM13 */
129 
130 #ifdef BSP_USING_TIM14
131 #ifndef TIM14_CONFIG
132 #define TIM14_CONFIG                                        \
133     {                                                       \
134        .tim_handle.Instance     = TIM14,                    \
135        .tim_irqn                = TIM8_TRG_COM_TIM14_IRQn,  \
136        .name                    = "timer14",                \
137     }
138 #endif /* TIM14_CONFIG */
139 #endif /* BSP_USING_TIM14 */
140 
141 #ifdef BSP_USING_TIM15
142 #ifndef TIM15_CONFIG
143 #define TIM15_CONFIG                                        \
144     {                                                       \
145        .tim_handle.Instance     = TIM15,                    \
146        .tim_irqn                = TIM1_BRK_TIM15_IRQn,                     \
147        .name                    = "timer15",                \
148     }
149 #endif /* TIM16_CONFIG */
150 #endif /* BSP_USING_TIM16 */
151 
152 #ifdef BSP_USING_TIM16
153 #ifndef TIM16_CONFIG
154 #define TIM16_CONFIG                                        \
155     {                                                       \
156        .tim_handle.Instance     = TIM16,                    \
157        .tim_irqn                = TIM1_UP_TIM16_IRQn,                     \
158        .name                    = "timer16",                \
159     }
160 #endif /* TIM16_CONFIG */
161 #endif /* BSP_USING_TIM16 */
162 
163 #ifdef BSP_USING_TIM17
164 #ifndef TIM17_CONFIG
165 #define TIM17_CONFIG                                        \
166     {                                                       \
167        .tim_handle.Instance     = TIM17,                    \
168        .tim_irqn                = TIM1_TRG_COM_TIM17_IRQn,                     \
169        .name                    = "timer17",                \
170     }
171 #endif /* TIM17_CONFIG */
172 #endif /* BSP_USING_TIM17 */
173 
174 #ifdef __cplusplus
175 }
176 #endif
177 
178 #endif /* __TIM_CONFIG_H__ */
179