1 /* 2 * Copyright (c) 2006-2025, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2023-09-04 Rbb666 first version 9 */ 10 11 #ifndef __TIMER_CONFIG_H__ 12 #define __TIMER_CONFIG_H__ 13 14 #include <rtthread.h> 15 #include "hal_data.h" 16 17 #ifdef __cplusplus 18 extern "C" 19 { 20 #endif 21 22 #define PLCKD_PRESCALER_MAX_SELECT 9 23 24 /* RSK-RZN2L: Frequency ratio: PCLKA:PCLKD = 1:N (N = 1/2/4/8/16/32/64) */ 25 #define PLCKD_PRESCALER_400M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ) 26 #define PLCKD_PRESCALER_200M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 2) 27 #define PLCKD_PRESCALER_100M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 4) 28 #define PLCKD_PRESCALER_50M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 8) 29 #define PLCKD_PRESCALER_25M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 16) 30 #define PLCKD_PRESCALER_12_5M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 32) 31 #define PLCKD_PRESCALER_6_25M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 64) 32 #define PLCKD_PRESCALER_3_125M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 128) 33 #define PLCKD_PRESCALER_1_5625M (BSP_PRV_PCLKGPTL_FREQ_400_MHZ / 256) 34 35 #ifndef TMR_DEV_INFO_CONFIG 36 #define TMR_DEV_INFO_CONFIG \ 37 { \ 38 .maxfreq = 400000000, \ 39 .minfreq = 1562500, \ 40 .maxcnt = 0XFFFFFFFF, \ 41 .cntmode = HWTIMER_CNTMODE_UP, \ 42 } 43 #endif /* TIM_DEV_INFO_CONFIG */ 44 45 enum 46 { 47 #ifdef BSP_USING_TIM0 48 BSP_TIMER0_INDEX, 49 #endif 50 #ifdef BSP_USING_TIM1 51 BSP_TIMER1_INDEX, 52 #endif 53 BSP_TIMERS_NUM 54 }; 55 56 #define TIMER_DRV_INITIALIZER(num) \ 57 { \ 58 .name = "timer" #num, \ 59 .g_cfg = &g_timer##num##_cfg, \ 60 .g_ctrl = &g_timer##num##_ctrl, \ 61 .g_timer = &g_timer##num, \ 62 } 63 64 #ifdef __cplusplus 65 } 66 #endif 67 68 #endif /* __TIMER_CONFIG_H__ */ 69