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  * 2021-10-26     KevinXu           first version
9  */
10 #ifndef __PWM_CONFIG_H__
11 #define __PWM_CONFIG_H__
12 
13 #include <rtthread.h>
14 #include <drv_config.h>
15 #include "hal_data.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 enum
22 {
23 #ifdef BSP_USING_PWM0
24     BSP_PWM0_INDEX,
25 #endif
26 #ifdef BSP_USING_PWM1
27     BSP_PWM1_INDEX,
28 #endif
29 #ifdef BSP_USING_PWM2
30     BSP_PWM2_INDEX,
31 #endif
32 #ifdef BSP_USING_PWM3
33     BSP_PWM3_INDEX,
34 #endif
35 #ifdef BSP_USING_PWM4
36     BSP_PWM4_INDEX,
37 #endif
38 #ifdef BSP_USING_PWM5
39     BSP_PWM5_INDEX,
40 #endif
41 #ifdef BSP_USING_PWM6
42     BSP_PWM6_INDEX,
43 #endif
44 #ifdef BSP_USING_PWM7
45     BSP_PWM7_INDEX,
46 #endif
47 #ifdef BSP_USING_PWM8
48     BSP_PWM8_INDEX,
49 #endif
50 #ifdef BSP_USING_PWM9
51     BSP_PWM9_INDEX,
52 #endif
53     BSP_PWMS_NUM
54 };
55 
56 #define PWM_DRV_INITIALIZER(num)        \
57     {                                   \
58         .name = "pwm"#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 /* __PWM_CONFIG_H__ */
69