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-08-21 Donocean support all timers(except advanced 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_TIM2 32 #ifndef TIM2_CONFIG 33 #define TIM2_CONFIG \ 34 { \ 35 .tim_handle.Instance = TIM2, \ 36 .tim_irqn = TIM2_IRQn, \ 37 .name = "timer2", \ 38 } 39 #endif /* TIM2_CONFIG */ 40 #endif /* BSP_USING_TIM2 */ 41 42 #ifdef BSP_USING_TIM3 43 #ifndef TIM3_CONFIG 44 #define TIM3_CONFIG \ 45 { \ 46 .tim_handle.Instance = TIM3, \ 47 .tim_irqn = TIM3_IRQn, \ 48 .name = "timer3", \ 49 } 50 #endif /* TIM3_CONFIG */ 51 #endif /* BSP_USING_TIM3 */ 52 53 #ifdef BSP_USING_TIM4 54 #ifndef TIM4_CONFIG 55 #define TIM4_CONFIG \ 56 { \ 57 .tim_handle.Instance = TIM4, \ 58 .tim_irqn = TIM4_IRQn, \ 59 .name = "timer4", \ 60 } 61 #endif /* TIM4_CONFIG */ 62 #endif /* BSP_USING_TIM4 */ 63 64 #ifdef BSP_USING_TIM5 65 #ifndef TIM5_CONFIG 66 #define TIM5_CONFIG \ 67 { \ 68 .tim_handle.Instance = TIM5, \ 69 .tim_irqn = TIM5_IRQn, \ 70 .name = "timer5", \ 71 } 72 #endif /* TIM5_CONFIG */ 73 #endif /* BSP_USING_TIM5 */ 74 75 #ifdef BSP_USING_TIM6 76 #ifndef TIM6_CONFIG 77 #if defined(STM32F412Cx) || defined(STM32F412Rx) || defined(STM32F412Vx) || defined(STM32F412Zx) 78 #define TIM6_CONFIG \ 79 { \ 80 .tim_handle.Instance = TIM6, \ 81 .tim_irqn = TIM6_IRQn, \ 82 .name = "timer6", \ 83 } 84 #else 85 #define TIM6_CONFIG \ 86 { \ 87 .tim_handle.Instance = TIM6, \ 88 .tim_irqn = TIM6_DAC_IRQn, \ 89 .name = "timer6", \ 90 } 91 #endif /* defined(STM32F412Cx) || defined(STM32F412Rx) || defined(STM32F412Vx) || defined(STM32F412Zx) */ 92 #endif /* TIM6_CONFIG */ 93 #endif /* BSP_USING_TIM6 */ 94 95 #ifdef BSP_USING_TIM7 96 #ifndef TIM7_CONFIG 97 #define TIM7_CONFIG \ 98 { \ 99 .tim_handle.Instance = TIM7, \ 100 .tim_irqn = TIM7_IRQn, \ 101 .name = "timer7", \ 102 } 103 #endif /* TIM7_CONFIG */ 104 #endif /* BSP_USING_TIM7 */ 105 106 #ifdef BSP_USING_TIM9 107 #ifndef TIM9_CONFIG 108 #define TIM9_CONFIG \ 109 { \ 110 .tim_handle.Instance = TIM9, \ 111 .tim_irqn = TIM1_BRK_TIM9_IRQn, \ 112 .name = "timer9", \ 113 } 114 #endif /* TIM9_CONFIG */ 115 #endif /* BSP_USING_TIM9 */ 116 117 #ifdef BSP_USING_TIM10 118 #ifndef TIM10_CONFIG 119 #define TIM10_CONFIG \ 120 { \ 121 .tim_handle.Instance = TIM10, \ 122 .tim_irqn = TIM1_UP_TIM10_IRQn, \ 123 .name = "timer10", \ 124 } 125 #endif /* TIM10_CONFIG */ 126 #endif /* BSP_USING_TIM10 */ 127 128 #ifdef BSP_USING_TIM11 129 #ifndef TIM11_CONFIG 130 #define TIM11_CONFIG \ 131 { \ 132 .tim_handle.Instance = TIM11, \ 133 .tim_irqn = TIM1_TRG_COM_TIM11_IRQn, \ 134 .name = "timer11", \ 135 } 136 #endif /* TIM11_CONFIG */ 137 #endif /* BSP_USING_TIM11 */ 138 139 #ifdef BSP_USING_TIM12 140 #ifndef TIM12_CONFIG 141 #define TIM12_CONFIG \ 142 { \ 143 .tim_handle.Instance = TIM12, \ 144 .tim_irqn = TIM8_BRK_TIM12_IRQn, \ 145 .name = "timer12", \ 146 } 147 #endif /* TIM12_CONFIG */ 148 #endif /* BSP_USING_TIM12 */ 149 150 #ifdef BSP_USING_TIM13 151 #ifndef TIM13_CONFIG 152 #define TIM13_CONFIG \ 153 { \ 154 .tim_handle.Instance = TIM13, \ 155 .tim_irqn = TIM8_UP_TIM13_IRQn, \ 156 .name = "timer13", \ 157 } 158 #endif /* TIM13_CONFIG */ 159 #endif /* BSP_USING_TIM13 */ 160 161 #ifdef BSP_USING_TIM14 162 #ifndef TIM14_CONFIG 163 #define TIM14_CONFIG \ 164 { \ 165 .tim_handle.Instance = TIM14, \ 166 .tim_irqn = TIM8_TRG_COM_TIM14_IRQn, \ 167 .name = "timer14", \ 168 } 169 #endif /* TIM14_CONFIG */ 170 #endif /* BSP_USING_TIM14 */ 171 172 #ifdef __cplusplus 173 } 174 #endif 175 176 #endif /* __TIM_CONFIG_H__ */ 177