VSF Documented
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
Examples
File List
Globals
source
hal
driver
Nuvoton
M480
common
pm
pm.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* Copyright(C)2009-2022 by VSF Team *
3
* *
4
* Licensed under the Apache License, Version 2.0 (the "License"); *
5
* you may not use this file except in compliance with the License. *
6
* You may obtain a copy of the License at *
7
* *
8
* http://www.apache.org/licenses/LICENSE-2.0 *
9
* *
10
* Unless required by applicable law or agreed to in writing, software *
11
* distributed under the License is distributed on an "AS IS" BASIS, *
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13
* See the License for the specific language governing permissions and *
14
* limitations under the License. *
15
* *
16
****************************************************************************/
17
18
#ifndef __HAL_DRIVER_NUVOTON_M480_PM_H__
19
#define __HAL_DRIVER_NUVOTON_M480_PM_H__
20
21
/*============================ INCLUDES ======================================*/
22
23
#include "
hal/vsf_hal_cfg.h
"
24
#include "
../../__device.h
"
25
26
/*============================ MACROS ========================================*/
27
28
#define VSF_PM_CFG_REIMPLEMENT_TYPE_PLL_CFG ENABLED
29
#define VSF_PM_CFG_REIMPLEMENT_TYPE_PLL_SEL ENABLED
30
31
#define VSF_PM_CFG_REIMPLEMENT_TYPE_POWER_NUMBER ENABLED
32
#define VSF_PM_CFG_REIMPLEMENT_TYPE_POWER_NUMBER_MASK ENABLED
33
#define VSF_PM_CFG_REIMPLEMENT_TYPE_SLEEP_MODE ENABLED
34
#define VSF_PM_CFG_REIMPLEMENT_TYPE_PCLK_NUMBER ENABLED
35
#define VSF_PM_CFG_REIMPLEMENT_TYPE_PCLK_CFG ENABLED
36
#define VSF_PM_CFG_REIMPLEMENT_TYPE_SCLK_NUMBER ENABLED
37
#define VSF_PM_CFG_REIMPLEMENT_TYPE_SCLK_NUMBER_MASK ENABLED
38
#define VSF_PM_CFG_REIMPLEMENT_TYPE_SCLK_SEL ENABLED
39
#define VSF_PM_CFG_REIMPLEMENT_TYPE_MCLK_CFG ENABLED
40
#define VSF_PM_CFG_REIMPLEMENT_TYPE_MCLK_NO ENABLED
41
42
/*============================ MACROFIED FUNCTIONS ===========================*/
43
44
#define __def_idx(__name, __no) VSF_MCONNECT2(__name, _IDX) = (__no)
45
#define __def_msk(__name) VSF_MCONNECT2(__name, _MSK) = VSF_BIT(VSF_MCONNECT2(__name, _IDX) & 0x1F)
46
47
// bit0 - bit13: clksrc bitfield
48
// bit14- bit27: clkdiv bitfield
49
// bit28- bit31: clkdiv_remap
50
#define __def_pclk(__name, __bf_clksel, __bf_clkdiv, __clksel_map_idx) \
51
VSF_MCONNECT2(__name, _IDX) = ((__bf_clksel) << 0) \
52
| ((__bf_clkdiv) << 14) \
53
| ((__clksel_map_idx) << 28)
54
55
#define __def_sclk_idx(__name, __bus_idx, __bit_idx) \
56
VSF_MCONNECT2(__name, _IDX) = ((__bit_idx) << 0) | ((__bus_idx) << 5)
57
58
#define __def_clk_src(__name, __value) \
59
__name = (__value)
60
/*============================ TYPES =========================================*/
61
63
typedef
enum
vsf_pm_power_cfg_no_t
{
64
__def_idx
(POWER_HXT, 0),
65
__def_idx
(POWER_LXT, 1),
66
__def_idx
(POWER_HIRC, 2),
67
__def_idx
(POWER_LIRC, 3),
68
}
vsf_pm_power_cfg_no_t
;
69
71
typedef
enum
vsf_pm_power_cfg_msk_t
{
72
__def_msk
(POWER_HXT),
73
__def_msk
(POWER_LXT),
74
__def_msk
(POWER_HIRC),
75
__def_msk
(POWER_LIRC),
76
}
vsf_pm_power_cfg_msk_t
;
77
79
typedef
enum
vsf_pm_sleep_mode_t
{
80
VSF_PM_NPD
= 0,
81
VSF_PM_LLPD
= 1,
82
VSF_PM_FWPD
= 2,
83
VSF_PM_SPD0
= 4,
84
VSF_PM_SPD1
= 5,
85
VSF_PM_DPD
= 6,
86
87
VSF_PM_WAIT
=
VSF_PM_NPD
,
88
VSF_PM_SLEEP
=
VSF_PM_NPD
,
89
VSF_PM_DEEP_SLEEP
=
VSF_PM_DPD
,
90
VSF_PM_POWER_OFF
=
VSF_PM_DPD
,
91
}
vsf_pm_sleep_mode_t
;
92
93
typedef
enum
pm_periph_clksrc_t
{
94
CLKSRC_HXT
,
95
CLKSRC_HXTD2
,
96
CLKSRC_LXT
,
97
CLKSRC_HIRC
,
98
CLKSRC_HIRCD2
,
99
CLKSRC_LIRC
,
100
101
CLKSRC_PLL
,
102
CLKSRC_HCLK
,
103
CLKSRC_HCLKD2
,
104
CLKSRC_HCLKD2K
,
105
CLKSRC_PCLK0
,
106
CLKSRC_PCLK1
,
107
108
CLKSRC_TM0_PIN
,
109
CLKSRC_TM1_PIN
,
110
CLKSRC_TM2_PIN
,
111
CLKSRC_TM3_PIN
,
112
}
pm_periph_clksrc_t
;
113
114
typedef
enum
pm_periph_clksel_t
{
115
SDH_CLKSEL_MAP_IDX
= 0,
116
SDH_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_PLL
<< 4) | (
CLKSRC_HCLK
<< 8) | (
CLKSRC_HIRC
<< 12),
117
STCLK_CLKSEL_MAP_IDX
= 1,
118
STCLK_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_HXTD2
<< 8) | (
CLKSRC_HCLKD2
<< 12) | (
CLKSRC_HIRCD2
<< 28),
119
HCLK_CLKSEL_MAP_IDX
= 2,
120
HCLK_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_PLL
<< 8) | (
CLKSRC_LIRC
<< 12) | (
CLKSRC_HIRC
<< 28),
121
WWDT_CLKSEL_MAP_IDX
= 3,
122
WWDT_CLKSEL_MAP
= (
CLKSRC_HCLKD2K
<< 8) | (
CLKSRC_LIRC
<< 12),
123
CLKO_CLKSEL_MAP_IDX
= 4,
124
CLKO_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_HCLK
<< 8) | (
CLKSRC_HIRC
<< 12),
125
UART_CLKSEL_MAP_IDX
= 5,
126
UART_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_PLL
<< 4) | (
CLKSRC_LXT
<< 8) | (
CLKSRC_HIRC
<< 12),
127
TMR3_CLKSEL_MAP_IDX
= 6,
128
TMR3_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_PCLK1
<< 8) | (
CLKSRC_TM3_PIN
<< 12) | (
CLKSRC_LIRC
<< 20) | (
CLKSRC_HIRC
<< 28),
129
TMR2_CLKSEL_MAP_IDX
= 7,
130
TMR2_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_PCLK1
<< 8) | (
CLKSRC_TM2_PIN
<< 12) | (
CLKSRC_LIRC
<< 20) | (
CLKSRC_HIRC
<< 28),
131
TMR1_CLKSEL_MAP_IDX
= 8,
132
TMR1_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_PCLK0
<< 8) | (
CLKSRC_TM1_PIN
<< 12) | (
CLKSRC_LIRC
<< 20) | (
CLKSRC_HIRC
<< 28),
133
TMR0_CLKSEL_MAP_IDX
= 9,
134
TMR0_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_LXT
<< 4) | (
CLKSRC_PCLK0
<< 8) | (
CLKSRC_TM0_PIN
<< 12) | (
CLKSRC_LIRC
<< 20) | (
CLKSRC_HIRC
<< 28),
135
WDT_CLKSEL_MAP_IDX
= 10,
136
WDT_CLKSEL_MAP
= (
CLKSRC_LXT
<< 4) | (
CLKSRC_HCLKD2K
<< 8) | (
CLKSRC_LIRC
<< 12),
137
SPI13_CLKSEL_MAP_IDX
= 11,
138
SPI13_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_PLL
<< 4) | (
CLKSRC_PCLK0
<< 8) | (
CLKSRC_HIRC
<< 12),
139
SPI02_CLKSEL_MAP_IDX
= 12,
140
SPI02_CLKSEL_MAP
= (
CLKSRC_HXT
<< 0) | (
CLKSRC_PLL
<< 4) | (
CLKSRC_PCLK1
<< 8) | (
CLKSRC_HIRC
<< 12),
141
BPWM1_CLKSEL_MAP_IDX
= 13,
142
BPWM1_CLKSEL_MAP
= (
CLKSRC_PLL
<< 0) | (
CLKSRC_PCLK1
<< 4),
143
BPWM0_CLKSEL_MAP_IDX
= 14,
144
BPWM0_CLKSEL_MAP
= (
CLKSRC_PLL
<< 0) | (
CLKSRC_PCLK0
<< 4),
145
RTC_CLKSEL_MAP_IDX
= 15,
146
RTC_CLKSEL_MAP
= (
CLKSRC_LXT
<< 0) | (
CLKSRC_LIRC
<< 4),
147
148
SDH0_CLKSEL_MAP_IDX
=
SDH_CLKSEL_MAP_IDX
,
149
SDH1_CLKSEL_MAP_IDX
=
SDH_CLKSEL_MAP_IDX
,
150
UART0_CLKSEL_MAP_IDX
=
UART_CLKSEL_MAP_IDX
,
151
UART1_CLKSEL_MAP_IDX
=
UART_CLKSEL_MAP_IDX
,
152
UART2_CLKSEL_MAP_IDX
=
UART_CLKSEL_MAP_IDX
,
153
UART3_CLKSEL_MAP_IDX
=
UART_CLKSEL_MAP_IDX
,
154
UART4_CLKSEL_MAP_IDX
=
UART_CLKSEL_MAP_IDX
,
155
UART5_CLKSEL_MAP_IDX
=
UART_CLKSEL_MAP_IDX
,
156
SPI0_CLKSEL_MAP_IDX
=
SPI02_CLKSEL_MAP_IDX
,
157
SPI1_CLKSEL_MAP_IDX
=
SPI13_CLKSEL_MAP_IDX
,
158
SPI2_CLKSEL_MAP_IDX
=
SPI02_CLKSEL_MAP_IDX
,
159
SPI3_CLKSEL_MAP_IDX
=
SPI13_CLKSEL_MAP_IDX
,
160
QSPI0_CLKSEL_MAP_IDX
=
SPI13_CLKSEL_MAP_IDX
,
161
EPWM1_CLKSEL_MAP_IDX
=
BPWM1_CLKSEL_MAP_IDX
,
162
EPWM0_CLKSEL_MAP_IDX
=
BPWM0_CLKSEL_MAP_IDX
,
163
I2S0_CLKSEL_MAP_IDX
=
SPI13_CLKSEL_MAP_IDX
,
164
SC0_CLKSEL_MAP_IDX
=
SPI13_CLKSEL_MAP_IDX
,
165
SC1_CLKSEL_MAP_IDX
=
SPI02_CLKSEL_MAP_IDX
,
166
SC2_CLKSEL_MAP_IDX
=
SPI13_CLKSEL_MAP_IDX
,
167
}
pm_periph_clksel_t
;
168
170
typedef
enum
vsf_pm_pclk_no_t
{
171
// NAME BF_CLKSEL, BF_CLKDIV, CLKSEL_MAP_IDX
172
M480_BIT_FIELD
( HCLK_CLKSEL, 0, 3,
true
),
173
M480_BIT_FIELD
( SYSTICK_CLKSEL, 3, 3,
true
),
174
175
M480_BIT_FIELD
( WWDT_CLKSEL, 62, 2,
false
),
176
__def_pclk
( PCLK_WWDT, WWDT_CLKSEL, 0,
WWDT_CLKSEL_MAP_IDX
),
177
M480_BIT_FIELD
( USB_CLKDIV, 4, 4,
false
),
178
__def_pclk
( PCLK_USB, 0, USB_CLKDIV, 0),
179
// AHB
180
M480_BIT_FIELD
( EMAC_CLKDIV, 48, 8,
false
),
181
__def_pclk
( PCLK_EMAC, 0, EMAC_CLKDIV, 0),
182
M480_BIT_FIELD
( SDH0_CLKSEL, 20, 2,
true
),
183
M480_BIT_FIELD
( SDH0_CLKDIV, 24, 8,
false
),
184
__def_pclk
( PCLK_SDH0, SDH0_CLKSEL, SDH0_CLKDIV,
SDH0_CLKSEL_MAP_IDX
),
185
M480_BIT_FIELD
( SDH1_CLKSEL, 22, 2,
true
),
186
M480_BIT_FIELD
( SDH1_CLKDIV, 56, 8,
false
),
187
__def_pclk
( PCLK_SDH1, SDH1_CLKSEL, 0,
SDH1_CLKSEL_MAP_IDX
),
188
189
// APB0
190
M480_BIT_FIELD
( WDT_CLKSEL, 32, 2,
true
),
191
__def_pclk
( PCLK_WDT, WDT_CLKSEL, 0,
WDT_CLKSEL_MAP_IDX
),
192
M480_BIT_FIELD
( RTC_CLKSEL, 104,1,
false
),
193
__def_pclk
( PCLK_RTC, RTC_CLKSEL, 0,
RTC_CLKSEL_MAP_IDX
),
194
M480_BIT_FIELD
( TMR0_CLKSEL, 40, 3,
false
),
195
__def_pclk
( PCLK_TMR0, TMR0_CLKSEL, 0,
TMR0_CLKSEL_MAP_IDX
),
196
M480_BIT_FIELD
( TMR1_CLKSEL, 44, 3,
false
),
197
__def_pclk
( PCLK_TMR1, TMR1_CLKSEL, 0,
TMR1_CLKSEL_MAP_IDX
),
198
M480_BIT_FIELD
( TMR2_CLKSEL, 48, 3,
false
),
199
__def_pclk
( PCLK_TMR2, TMR2_CLKSEL, 0,
TMR2_CLKSEL_MAP_IDX
),
200
M480_BIT_FIELD
( TMR3_CLKSEL, 52, 3,
false
),
201
__def_pclk
( PCLK_TMR3, TMR3_CLKSEL, 0,
TMR3_CLKSEL_MAP_IDX
),
202
M480_BIT_FIELD
( CLKO_CLKSEL, 60, 2,
false
),
203
__def_pclk
( PCLK_CLKO, CLKO_CLKSEL, 0,
CLKO_CLKSEL_MAP_IDX
),
204
M480_BIT_FIELD
( QSPI0_CLKSEL, 66, 2,
false
),
205
__def_pclk
( PCLK_QSPI0, QSPI0_CLKSEL, 0,
QSPI0_CLKSEL_MAP_IDX
),
206
M480_BIT_FIELD
( SPI0_CLKSEL, 68, 2,
false
),
207
__def_pclk
( PCLK_SPI0, SPI0_CLKSEL, 0,
SPI0_CLKSEL_MAP_IDX
),
208
M480_BIT_FIELD
( SPI1_CLKSEL, 70, 2,
false
),
209
__def_pclk
( PCLK_SPI1, SPI1_CLKSEL, 0,
SPI1_CLKSEL_MAP_IDX
),
210
M480_BIT_FIELD
( SPI2_CLKSEL, 74, 2,
false
),
211
__def_pclk
( PCLK_SPI2, SPI2_CLKSEL, 0,
SPI2_CLKSEL_MAP_IDX
),
212
M480_BIT_FIELD
( UART0_CLKSEL, 56, 2,
false
),
213
M480_BIT_FIELD
( UART0_CLKDIV, 8, 4,
false
),
214
__def_pclk
( PCLK_UART0, UART0_CLKSEL, UART0_CLKDIV,
UART0_CLKSEL_MAP_IDX
),
215
M480_BIT_FIELD
( UART1_CLKSEL, 58, 2,
false
),
216
M480_BIT_FIELD
( UART1_CLKDIV, 12, 4,
false
),
217
__def_pclk
( PCLK_UART1, UART1_CLKSEL, UART1_CLKDIV,
UART1_CLKSEL_MAP_IDX
),
218
M480_BIT_FIELD
( UART2_CLKSEL, 120,2,
false
),
219
M480_BIT_FIELD
( UART2_CLKDIV, 64, 4,
false
),
220
__def_pclk
( PCLK_UART2, UART2_CLKSEL, UART2_CLKDIV,
UART2_CLKSEL_MAP_IDX
),
221
M480_BIT_FIELD
( UART3_CLKSEL, 122,2,
false
),
222
M480_BIT_FIELD
( UART3_CLKDIV, 68, 4,
false
),
223
__def_pclk
( PCLK_UART3, UART3_CLKSEL, UART3_CLKDIV,
UART3_CLKSEL_MAP_IDX
),
224
M480_BIT_FIELD
( UART4_CLKSEL, 124,2,
false
),
225
M480_BIT_FIELD
( UART4_CLKDIV, 72, 4,
false
),
226
__def_pclk
( PCLK_UART4, UART4_CLKSEL, UART4_CLKDIV,
UART4_CLKSEL_MAP_IDX
),
227
M480_BIT_FIELD
( UART5_CLKSEL, 126,2,
false
),
228
M480_BIT_FIELD
( UART5_CLKDIV, 76, 4,
false
),
229
__def_pclk
( PCLK_UART5, UART5_CLKSEL, UART5_CLKDIV,
UART5_CLKSEL_MAP_IDX
),
230
M480_BIT_FIELD
( EADC_CLKDIV, 16, 8,
false
),
231
__def_pclk
( PCLK_EADC, 0, EADC_CLKDIV, 0),
232
M480_BIT_FIELD
( I2S0_CLKSEL, 112,2,
false
),
233
__def_pclk
( PCLK_I2S0, I2S0_CLKSEL, 0,
I2S0_CLKSEL_MAP_IDX
),
234
235
// APB1
236
M480_BIT_FIELD
( SC0_CLKSEL, 96, 2,
false
),
237
__def_pclk
( PCLK_SC0, SC0_CLKSEL, 0,
SC0_CLKSEL_MAP_IDX
),
238
M480_BIT_FIELD
( SC1_CLKSEL, 98, 2,
false
),
239
__def_pclk
( PCLK_SC1, SC1_CLKSEL, 0,
SC1_CLKSEL_MAP_IDX
),
240
M480_BIT_FIELD
( SC2_CLKSEL, 100,2,
false
),
241
__def_pclk
( PCLK_SC2, SC2_CLKSEL, 0,
SC2_CLKSEL_MAP_IDX
),
242
M480_BIT_FIELD
( SPI3_CLKSEL, 76, 2,
false
),
243
__def_pclk
( PCLK_SPI3, SPI3_CLKSEL, 0,
SPI3_CLKSEL_MAP_IDX
),
244
M480_BIT_FIELD
( EPWM0_CLKSEL, 64, 1,
false
),
245
__def_pclk
( PCLK_EPWM0, EPWM0_CLKSEL, 0,
EPWM0_CLKSEL_MAP_IDX
),
246
M480_BIT_FIELD
( EPWM1_CLKSEL, 65, 1,
false
),
247
__def_pclk
( PCLK_EPWM1, EPWM1_CLKSEL, 0,
EPWM1_CLKSEL_MAP_IDX
),
248
M480_BIT_FIELD
( BPWM0_CLKSEL, 72, 1,
false
),
249
__def_pclk
( PCLK_BPWM0, BPWM0_CLKSEL, 0,
BPWM0_CLKSEL_MAP_IDX
),
250
M480_BIT_FIELD
( BPWM1_CLKSEL, 73, 1,
false
),
251
__def_pclk
( PCLK_BPWM1, BPWM1_CLKSEL, 0,
BPWM1_CLKSEL_MAP_IDX
),
252
}
vsf_pm_pclk_no_t
;
253
254
typedef
enum
vsf_pm_mclk_no_t
{
255
VSF_MCLK_CORE_IDX
= 0,
256
}
vsf_pm_mclk_no_t
;
258
typedef
enum
vsf_pm_sclk_no_t
{
259
// NAME BUS_IDX, BIT_IDX
260
// AHB
261
__def_sclk_idx
( SCLK_DMA, 0, 1 ),
262
__def_sclk_idx
( SCLK_ISP, 0, 2 ),
263
__def_sclk_idx
( SCLK_EBI, 0, 3 ),
264
__def_sclk_idx
( SCLK_EMAC, 0, 5 ),
265
__def_sclk_idx
( SCLK_SDH0, 0, 6 ),
266
__def_sclk_idx
( SCLK_CRC, 0, 7 ),
267
__def_sclk_idx
( SCLK_HSUSB, 0, 10 ),
268
__def_sclk_idx
( SCLK_CRYPTO, 0, 12 ),
269
__def_sclk_idx
( SCLK_SPIM, 0, 14 ),
270
__def_sclk_idx
( SCLK_FLASH, 0, 15 ),
271
__def_sclk_idx
( SCLK_USBH, 0, 16 ),
272
__def_sclk_idx
( SCLK_SDH1, 0, 17 ),
273
274
// APB0
275
__def_sclk_idx
( SCLK_WDT, 1, 0 ),
276
__def_sclk_idx
( SCLK_RTC, 1, 1 ),
277
__def_sclk_idx
( SCLK_TMR0, 1, 2 ),
278
__def_sclk_idx
( SCLK_TMR1, 1, 3 ),
279
__def_sclk_idx
( SCLK_TMR2, 1, 4 ),
280
__def_sclk_idx
( SCLK_TMR3, 1, 5 ),
281
__def_sclk_idx
( SCLK_CLKO, 1, 6 ),
282
__def_sclk_idx
( SCLK_ACMP, 1, 7 ),
283
__def_sclk_idx
( SCLK_I2C0, 1, 8 ),
284
__def_sclk_idx
( SCLK_I2C1, 1, 9 ),
285
__def_sclk_idx
( SCLK_I2C2, 1, 10 ),
286
__def_sclk_idx
( SCLK_QSPI0, 1, 12 ),
287
__def_sclk_idx
( SCLK_SPI0, 1, 13 ),
288
__def_sclk_idx
( SCLK_SPI1, 1, 14 ),
289
__def_sclk_idx
( SCLK_SPI2, 1, 15 ),
290
__def_sclk_idx
( SCLK_UART0, 1, 16 ),
291
__def_sclk_idx
( SCLK_UART1, 1, 17 ),
292
__def_sclk_idx
( SCLK_UART2, 1, 18 ),
293
__def_sclk_idx
( SCLK_UART3, 1, 19 ),
294
__def_sclk_idx
( SCLK_UART4, 1, 20 ),
295
__def_sclk_idx
( SCLK_UART5, 1, 21 ),
296
__def_sclk_idx
( SCLK_CAN0, 1, 24 ),
297
__def_sclk_idx
( SCLK_CAN1, 1, 25 ),
298
__def_sclk_idx
( SCLK_OTG, 1, 26 ),
299
__def_sclk_idx
( SCLK_USBD, 1, 27 ),
300
__def_sclk_idx
( SCLK_EADC, 1, 28 ),
301
__def_sclk_idx
( SCLK_I2S0, 1, 29 ),
302
__def_sclk_idx
( SCLK_HSOTG, 1, 30 ),
303
304
// APB1
305
__def_sclk_idx
( SCLK_SC0, 2, 0 ),
306
__def_sclk_idx
( SCLK_SC1, 2, 1 ),
307
__def_sclk_idx
( SCLK_SC2, 2, 2 ),
308
__def_sclk_idx
( SCLK_SPI3, 2, 6 ),
309
__def_sclk_idx
( SCLK_USCI0, 2, 8 ),
310
__def_sclk_idx
( SCLK_USCI1, 2, 9 ),
311
__def_sclk_idx
( SCLK_DAC, 2, 12 ),
312
__def_sclk_idx
( SCLK_EPWM0, 2, 16 ),
313
__def_sclk_idx
( SCLK_EPWM1, 2, 17 ),
314
__def_sclk_idx
( SCLK_BPWM0, 2, 18 ),
315
__def_sclk_idx
( SCLK_BPWM1, 2, 19 ),
316
__def_sclk_idx
( SCLK_QEI0, 2, 22 ),
317
__def_sclk_idx
( SCLK_QEI1, 2, 23 ),
318
__def_sclk_idx
( SCLK_CAP0, 2, 26 ),
319
__def_sclk_idx
( SCLK_CAP1, 2, 27 ),
320
__def_sclk_idx
( SCLK_OP, 2, 30 ),
321
}
vsf_pm_sclk_no_t
;
322
323
typedef
enum
vsf_pm_sclk_msk_t
{
324
// AHB
325
__def_msk
(SCLK_DMA),
326
__def_msk
(SCLK_ISP),
327
__def_msk
(SCLK_EBI),
328
__def_msk
(SCLK_EMAC),
329
__def_msk
(SCLK_SDH0),
330
__def_msk
(SCLK_CRC),
331
__def_msk
(SCLK_HSUSB),
332
__def_msk
(SCLK_CRYPTO),
333
__def_msk
(SCLK_SPIM),
334
__def_msk
(SCLK_FLASH),
335
__def_msk
(SCLK_USBH),
336
__def_msk
(SCLK_SDH1),
337
338
// APB0
339
__def_msk
(SCLK_WDT),
340
__def_msk
(SCLK_RTC),
341
__def_msk
(SCLK_TMR0),
342
__def_msk
(SCLK_TMR1),
343
__def_msk
(SCLK_TMR2),
344
__def_msk
(SCLK_TMR3),
345
__def_msk
(SCLK_CLKO),
346
__def_msk
(SCLK_ACMP),
347
__def_msk
(SCLK_I2C0),
348
__def_msk
(SCLK_I2C1),
349
__def_msk
(SCLK_I2C2),
350
__def_msk
(SCLK_QSPI0),
351
__def_msk
(SCLK_SPI0),
352
__def_msk
(SCLK_SPI1),
353
__def_msk
(SCLK_SPI2),
354
__def_msk
(SCLK_UART0),
355
__def_msk
(SCLK_UART1),
356
__def_msk
(SCLK_UART2),
357
__def_msk
(SCLK_UART3),
358
__def_msk
(SCLK_UART4),
359
__def_msk
(SCLK_UART5),
360
__def_msk
(SCLK_CAN0),
361
__def_msk
(SCLK_CAN1),
362
__def_msk
(SCLK_OTG),
363
__def_msk
(SCLK_USBD),
364
__def_msk
(SCLK_EADC),
365
__def_msk
(SCLK_I2S0),
366
__def_msk
(SCLK_HSOTG),
367
368
// APB1
369
__def_msk
(SCLK_SC0),
370
__def_msk
(SCLK_SC1),
371
__def_msk
(SCLK_SC2),
372
__def_msk
(SCLK_SPI3),
373
__def_msk
(SCLK_USCI0),
374
__def_msk
(SCLK_USCI1),
375
__def_msk
(SCLK_DAC),
376
__def_msk
(SCLK_EPWM0),
377
__def_msk
(SCLK_EPWM1),
378
__def_msk
(SCLK_BPWM0),
379
__def_msk
(SCLK_BPWM1),
380
__def_msk
(SCLK_QEI0),
381
__def_msk
(SCLK_QEI1),
382
__def_msk
(SCLK_CAP0),
383
__def_msk
(SCLK_CAP1),
384
__def_msk
(SCLK_OP),
385
}
vsf_pm_sclk_msk_t
;
386
387
typedef
enum
vsf_pm_clk_src_sel_t
{
388
// CLK->CLKSEL0
389
__def_clk_src
( HCLK_CLKSRC_HXT, 0),
390
__def_clk_src
( HCLK_CLKSRC_LXT, 1),
391
__def_clk_src
( HCLK_CLKSRC_PLL, 2),
392
__def_clk_src
( HCLK_CLKSRC_LIRC, 3),
393
__def_clk_src
( HCLK_CLKSRC_HIRC, 7),
394
395
__def_clk_src
( SYSTICK_CLKSRC_HXT, 0),
396
__def_clk_src
( SYSTICK_CLKSRC_LXT, 1),
397
__def_clk_src
( SYSTICK_CLKSRC_HXTD2, 2),
398
__def_clk_src
( SYSTICK_CLKSRC_HCLKD2, 3),
399
__def_clk_src
( SYSTICK_CLKSRC_HIRCD2, 7),
400
401
__def_clk_src
( SDH0_CLKSRC_HXT, 0),
402
__def_clk_src
( SDH0_CLKSRC_PLL, 1),
403
__def_clk_src
( SDH0_CLKSRC_HCLK, 2),
404
__def_clk_src
( SDH0_CLKSRC_HIRC, 3),
405
406
__def_clk_src
( SDH1_CLKSRC_HXT, 0),
407
__def_clk_src
( SDH1_CLKSRC_PLL, 1),
408
__def_clk_src
( SDH1_CLKSRC_HCLK, 2),
409
__def_clk_src
( SDH1_CLKSRC_HIRC, 3),
410
411
// CLK->CLKSEL1
412
__def_clk_src
( WDT_CLKSRC_LXT, 1),
413
__def_clk_src
( WDT_CLKSRC_HCLKD2K, 2),
414
__def_clk_src
( WDT_CLKSRC_LIRC, 3),
415
416
__def_clk_src
( TMR0_CLKSRC_HXT, 0),
417
__def_clk_src
( TMR0_CLKSRC_LXT, 1),
418
__def_clk_src
( TMR0_CLKSRC_PCLK0, 2),
419
__def_clk_src
( TMR0_CLKSRC_TM0EXT, 3),
420
__def_clk_src
( TMR0_CLKSRC_LIRC, 5),
421
__def_clk_src
( TMR0_CLKSRC_HIRC, 7),
422
423
__def_clk_src
( TMR1_CLKSRC_HXT, 0),
424
__def_clk_src
( TMR1_CLKSRC_LXT, 1),
425
__def_clk_src
( TMR1_CLKSRC_PCLK0, 2),
426
__def_clk_src
( TMR1_CLKSRC_TM1EXT, 3),
427
__def_clk_src
( TMR1_CLKSRC_LIRC, 5),
428
__def_clk_src
( TMR1_CLKSRC_HIRC, 7),
429
430
__def_clk_src
( TMR2_CLKSRC_HXT, 0),
431
__def_clk_src
( TMR2_CLKSRC_LXT, 1),
432
__def_clk_src
( TMR2_CLKSRC_PCLK1, 2),
433
__def_clk_src
( TMR2_CLKSRC_TM2EXT, 3),
434
__def_clk_src
( TMR2_CLKSRC_LIRC, 5),
435
__def_clk_src
( TMR2_CLKSRC_HIRC, 7),
436
437
__def_clk_src
( TMR3_CLKSRC_HXT, 0),
438
__def_clk_src
( TMR3_CLKSRC_LXT, 1),
439
__def_clk_src
( TMR3_CLKSRC_PCLK1, 2),
440
__def_clk_src
( TMR3_CLKSRC_TM3EXT, 3),
441
__def_clk_src
( TMR3_CLKSRC_LIRC, 5),
442
__def_clk_src
( TMR3_CLKSRC_HIRC, 7),
443
444
__def_clk_src
( UART0_CLKSRC_HXT, 0),
445
__def_clk_src
( UART0_CLKSRC_PLL, 1),
446
__def_clk_src
( UART0_CLKSRC_LXT, 2),
447
__def_clk_src
( UART0_CLKSRC_HIRC, 3),
448
449
__def_clk_src
( UART1_CLKSRC_HXT, 0),
450
__def_clk_src
( UART1_CLKSRC_PLL, 1),
451
__def_clk_src
( UART1_CLKSRC_LXT, 2),
452
__def_clk_src
( UART1_CLKSRC_HIRC, 3),
453
454
__def_clk_src
( CLKO_CLKSRC_HXT, 0),
455
__def_clk_src
( CLKO_CLKSRC_LXT, 1),
456
__def_clk_src
( CLKO_CLKSRC_HCLK, 2),
457
__def_clk_src
( CLKO_CLKSRC_HIRC, 3),
458
459
__def_clk_src
( WWDT_CLKSRC_HCLKD2K, 2),
460
__def_clk_src
( WWDT_CLKSRC_LIRC, 3),
461
462
// CLK->CLKSEL2
463
__def_clk_src
( EPWM0_CLKSRC_PLL, 0),
464
__def_clk_src
( EPWM0_CLKSRC_PCLK0, 1),
465
466
__def_clk_src
( EPWM1_CLKSRC_PLL, 0),
467
__def_clk_src
( EPWM1_CLKSRC_PCLK0, 1),
468
469
__def_clk_src
( QSPI0_CLKSRC_HXT, 0),
470
__def_clk_src
( QSPI0_CLKSRC_PLL, 1),
471
__def_clk_src
( QSPI0_CLKSRC_PCLK0, 2),
472
__def_clk_src
( QSPI0_CLKSRC_HIRC, 3),
473
474
__def_clk_src
( SPI0_CLKSRC_HXT, 0),
475
__def_clk_src
( SPI0_CLKSRC_PLL, 1),
476
__def_clk_src
( SPI0_CLKSRC_PCLK1, 2),
477
__def_clk_src
( SPI0_CLKSRC_HIRC, 3),
478
479
__def_clk_src
( SPI1_CLKSRC_HXT, 0),
480
__def_clk_src
( SPI1_CLKSRC_PLL, 1),
481
__def_clk_src
( SPI1_CLKSRC_PCLK0, 2),
482
__def_clk_src
( SPI1_CLKSRC_HIRC, 3),
483
484
__def_clk_src
( BPWM0_CLKSRC_PLL, 0),
485
__def_clk_src
( BPWM0_CLKSRC_PCLK0, 1),
486
487
__def_clk_src
( BPWM1_CLKSRC_PLL, 0),
488
__def_clk_src
( BPWM1_CLKSRC_PCLK0, 1),
489
490
__def_clk_src
( SPI2_CLKSRC_HXT, 0),
491
__def_clk_src
( SPI2_CLKSRC_PLL, 1),
492
__def_clk_src
( SPI2_CLKSRC_PCLK1, 2),
493
__def_clk_src
( SPI2_CLKSRC_HIRC, 3),
494
495
__def_clk_src
( SPI3_CLKSRC_HXT, 0),
496
__def_clk_src
( SPI3_CLKSRC_PLL, 1),
497
__def_clk_src
( SPI3_CLKSRC_PCLK1, 2),
498
__def_clk_src
( SPI3_CLKSRC_HIRC, 3),
499
500
// CLK->CLKSEL3
501
__def_clk_src
( SC0_CLKSRC_HXT, 0),
502
__def_clk_src
( SC0_CLKSRC_PLL, 1),
503
__def_clk_src
( SC0_CLKSRC_PCLK0, 2),
504
__def_clk_src
( SC0_CLKSRC_HIRC, 3),
505
506
__def_clk_src
( SC1_CLKSRC_HXT, 0),
507
__def_clk_src
( SC1_CLKSRC_PLL, 1),
508
__def_clk_src
( SC1_CLKSRC_PCLK1, 2),
509
__def_clk_src
( SC1_CLKSRC_HIRC, 3),
510
511
__def_clk_src
( SC2_CLKSRC_HXT, 0),
512
__def_clk_src
( SC2_CLKSRC_PLL, 1),
513
__def_clk_src
( SC2_CLKSRC_PCLK0, 2),
514
__def_clk_src
( SC2_CLKSRC_HIRC, 3),
515
516
__def_clk_src
( RTC_CLKSRC_LXT, 0),
517
__def_clk_src
( RTC_CLKSRC_LIRC, 1),
518
519
__def_clk_src
( I2S0_CLKSRC_HXT, 0),
520
__def_clk_src
( I2S0_CLKSRC_PLL, 1),
521
__def_clk_src
( I2S0_CLKSRC_PCLK0, 2),
522
__def_clk_src
( I2S0_CLKSRC_HIRC, 3),
523
524
__def_clk_src
( UART2_CLKSRC_HXT, 0),
525
__def_clk_src
( UART2_CLKSRC_PLL, 1),
526
__def_clk_src
( UART2_CLKSRC_LXT, 2),
527
__def_clk_src
( UART2_CLKSRC_HIRC, 3),
528
529
__def_clk_src
( UART3_CLKSRC_HXT, 0),
530
__def_clk_src
( UART3_CLKSRC_PLL, 1),
531
__def_clk_src
( UART3_CLKSRC_LXT, 2),
532
__def_clk_src
( UART3_CLKSRC_HIRC, 3),
533
534
__def_clk_src
( UART4_CLKSRC_HXT, 0),
535
__def_clk_src
( UART4_CLKSRC_PLL, 1),
536
__def_clk_src
( UART4_CLKSRC_LXT, 2),
537
__def_clk_src
( UART4_CLKSRC_HIRC, 3),
538
539
__def_clk_src
( UART5_CLKSRC_HXT, 0),
540
__def_clk_src
( UART5_CLKSRC_PLL, 1),
541
__def_clk_src
( UART5_CLKSRC_LXT, 2),
542
__def_clk_src
( UART5_CLKSRC_HIRC, 3),
543
}
vsf_pm_clk_src_sel_t
;
544
545
typedef
enum
vsf_pm_pll_sel_t
{
546
VSF_PLL0_IDX
,
547
}
vsf_pm_pll_sel_t
;
548
549
typedef
struct
io_wakeup_cfg_t
{
550
uint32_t
dummy
;
551
}
io_wakeup_cfg_t
;
552
554
//
555
//def_interface( i_pm_wakeup_t )
556
// struct {
557
// vsf_err_t (*Enable)(io_wakeup_cfg_t *pcfg, uint_fast8_t size);
558
// //vsf_err_t (*Disable)(vsf_io_port_no_t port, uint_fast32_t msk);
559
// } UseIO;
560
//end_def_interface( i_pm_wakeup_t )
561
562
typedef
struct
vsf_pm_pclk_cfg_t
{
563
vsf_pm_clk_src_sel_t
clk_src
;
564
uint16_t
div
;
565
}
vsf_pm_pclk_cfg_t
;
566
568
typedef
struct
vsf_pm_mclk_cfg_t
{
569
vsf_pm_clk_src_sel_t
clk_src
;
570
uint32_t
freq
;
571
uint16_t
core_div
[1];
572
uint16_t
ahb_div
[1];
573
uint16_t
apb_div
[2];
574
}
vsf_pm_mclk_cfg_t
;
575
577
typedef
struct
vsf_pm_pll_cfg_t
{
578
vsf_pm_clk_src_sel_t
pll_clk_src
;
579
uint32_t
freq
;
580
uint8_t
Msel
;
581
uint8_t
Psel
;
582
}
vsf_pm_pll_cfg_t
;
583
584
/*============================ GLOBAL VARIABLES ==============================*/
585
/*============================ INCLUDES ======================================*/
586
587
#define VSF_PM_CFG_DEC_PREFIX vsf_hw
588
#define VSF_PM_CFG_DEC_UPCASE_PREFIX VSF_HW
589
#include "
hal/driver/common/pm/pm_template.h
"
590
591
/*============================ PROTOTYPES ====================================*/
592
593
#endif
594
/* EOF */
__device.h
__def_idx
#define __def_idx(__name, __no)
Definition
pm.h:44
__def_clk_src
#define __def_clk_src(__name, __value)
Definition
pm.h:58
pm_periph_clksrc_t
pm_periph_clksrc_t
Definition
pm.h:93
CLKSRC_HCLKD2
@ CLKSRC_HCLKD2
Definition
pm.h:103
CLKSRC_LXT
@ CLKSRC_LXT
Definition
pm.h:96
CLKSRC_TM2_PIN
@ CLKSRC_TM2_PIN
Definition
pm.h:110
CLKSRC_HIRCD2
@ CLKSRC_HIRCD2
Definition
pm.h:98
CLKSRC_HXT
@ CLKSRC_HXT
Definition
pm.h:94
CLKSRC_HCLK
@ CLKSRC_HCLK
Definition
pm.h:102
CLKSRC_PCLK1
@ CLKSRC_PCLK1
Definition
pm.h:106
CLKSRC_PCLK0
@ CLKSRC_PCLK0
Definition
pm.h:105
CLKSRC_HCLKD2K
@ CLKSRC_HCLKD2K
Definition
pm.h:104
CLKSRC_LIRC
@ CLKSRC_LIRC
Definition
pm.h:99
CLKSRC_PLL
@ CLKSRC_PLL
Definition
pm.h:101
CLKSRC_HIRC
@ CLKSRC_HIRC
Definition
pm.h:97
CLKSRC_TM0_PIN
@ CLKSRC_TM0_PIN
Definition
pm.h:108
CLKSRC_TM3_PIN
@ CLKSRC_TM3_PIN
Definition
pm.h:111
CLKSRC_TM1_PIN
@ CLKSRC_TM1_PIN
Definition
pm.h:109
CLKSRC_HXTD2
@ CLKSRC_HXTD2
Definition
pm.h:95
__def_sclk_idx
#define __def_sclk_idx(__name, __bus_idx, __bit_idx)
Definition
pm.h:55
vsf_pm_mclk_no_t
vsf_pm_mclk_no_t
Definition
pm.h:254
VSF_MCLK_CORE_IDX
@ VSF_MCLK_CORE_IDX
Definition
pm.h:255
vsf_pm_sclk_msk_t
vsf_pm_sclk_msk_t
Definition
pm.h:323
vsf_pm_pclk_cfg_t
struct vsf_pm_pclk_cfg_t vsf_pm_pclk_cfg_t
vsf_pm_pll_sel_t
vsf_pm_pll_sel_t
Definition
pm.h:545
VSF_PLL0_IDX
@ VSF_PLL0_IDX
Definition
pm.h:546
vsf_pm_power_cfg_msk_t
vsf_pm_power_cfg_msk_t
power set mask
Definition
pm.h:71
vsf_pm_power_cfg_no_t
vsf_pm_power_cfg_no_t
power set index
Definition
pm.h:63
vsf_pm_mclk_cfg_t
struct vsf_pm_mclk_cfg_t vsf_pm_mclk_cfg_t
main clock config struct
vsf_pm_pclk_no_t
vsf_pm_pclk_no_t
peripheral clock index
Definition
pm.h:170
M480_BIT_FIELD
@ M480_BIT_FIELD
Definition
pm.h:172
io_wakeup_cfg_t
struct io_wakeup_cfg_t io_wakeup_cfg_t
Definition
device.h:239
pm_periph_clksel_t
pm_periph_clksel_t
Definition
pm.h:114
RTC_CLKSEL_MAP
@ RTC_CLKSEL_MAP
Definition
pm.h:146
SPI0_CLKSEL_MAP_IDX
@ SPI0_CLKSEL_MAP_IDX
Definition
pm.h:156
SPI3_CLKSEL_MAP_IDX
@ SPI3_CLKSEL_MAP_IDX
Definition
pm.h:159
TMR0_CLKSEL_MAP_IDX
@ TMR0_CLKSEL_MAP_IDX
Definition
pm.h:133
WDT_CLKSEL_MAP
@ WDT_CLKSEL_MAP
Definition
pm.h:136
SDH0_CLKSEL_MAP_IDX
@ SDH0_CLKSEL_MAP_IDX
Definition
pm.h:148
EPWM0_CLKSEL_MAP_IDX
@ EPWM0_CLKSEL_MAP_IDX
Definition
pm.h:162
SDH1_CLKSEL_MAP_IDX
@ SDH1_CLKSEL_MAP_IDX
Definition
pm.h:149
UART4_CLKSEL_MAP_IDX
@ UART4_CLKSEL_MAP_IDX
Definition
pm.h:154
STCLK_CLKSEL_MAP_IDX
@ STCLK_CLKSEL_MAP_IDX
Definition
pm.h:117
SPI13_CLKSEL_MAP
@ SPI13_CLKSEL_MAP
Definition
pm.h:138
BPWM1_CLKSEL_MAP_IDX
@ BPWM1_CLKSEL_MAP_IDX
Definition
pm.h:141
EPWM1_CLKSEL_MAP_IDX
@ EPWM1_CLKSEL_MAP_IDX
Definition
pm.h:161
HCLK_CLKSEL_MAP
@ HCLK_CLKSEL_MAP
Definition
pm.h:120
SDH_CLKSEL_MAP
@ SDH_CLKSEL_MAP
Definition
pm.h:116
BPWM0_CLKSEL_MAP_IDX
@ BPWM0_CLKSEL_MAP_IDX
Definition
pm.h:143
TMR0_CLKSEL_MAP
@ TMR0_CLKSEL_MAP
Definition
pm.h:134
UART_CLKSEL_MAP_IDX
@ UART_CLKSEL_MAP_IDX
Definition
pm.h:125
TMR3_CLKSEL_MAP_IDX
@ TMR3_CLKSEL_MAP_IDX
Definition
pm.h:127
WDT_CLKSEL_MAP_IDX
@ WDT_CLKSEL_MAP_IDX
Definition
pm.h:135
TMR2_CLKSEL_MAP_IDX
@ TMR2_CLKSEL_MAP_IDX
Definition
pm.h:129
TMR1_CLKSEL_MAP_IDX
@ TMR1_CLKSEL_MAP_IDX
Definition
pm.h:131
HCLK_CLKSEL_MAP_IDX
@ HCLK_CLKSEL_MAP_IDX
Definition
pm.h:119
I2S0_CLKSEL_MAP_IDX
@ I2S0_CLKSEL_MAP_IDX
Definition
pm.h:163
CLKO_CLKSEL_MAP
@ CLKO_CLKSEL_MAP
Definition
pm.h:124
SPI02_CLKSEL_MAP
@ SPI02_CLKSEL_MAP
Definition
pm.h:140
SPI2_CLKSEL_MAP_IDX
@ SPI2_CLKSEL_MAP_IDX
Definition
pm.h:158
RTC_CLKSEL_MAP_IDX
@ RTC_CLKSEL_MAP_IDX
Definition
pm.h:145
UART3_CLKSEL_MAP_IDX
@ UART3_CLKSEL_MAP_IDX
Definition
pm.h:153
UART_CLKSEL_MAP
@ UART_CLKSEL_MAP
Definition
pm.h:126
TMR2_CLKSEL_MAP
@ TMR2_CLKSEL_MAP
Definition
pm.h:130
TMR1_CLKSEL_MAP
@ TMR1_CLKSEL_MAP
Definition
pm.h:132
SPI1_CLKSEL_MAP_IDX
@ SPI1_CLKSEL_MAP_IDX
Definition
pm.h:157
SC1_CLKSEL_MAP_IDX
@ SC1_CLKSEL_MAP_IDX
Definition
pm.h:165
QSPI0_CLKSEL_MAP_IDX
@ QSPI0_CLKSEL_MAP_IDX
Definition
pm.h:160
SPI02_CLKSEL_MAP_IDX
@ SPI02_CLKSEL_MAP_IDX
Definition
pm.h:139
UART5_CLKSEL_MAP_IDX
@ UART5_CLKSEL_MAP_IDX
Definition
pm.h:155
SPI13_CLKSEL_MAP_IDX
@ SPI13_CLKSEL_MAP_IDX
Definition
pm.h:137
CLKO_CLKSEL_MAP_IDX
@ CLKO_CLKSEL_MAP_IDX
Definition
pm.h:123
BPWM1_CLKSEL_MAP
@ BPWM1_CLKSEL_MAP
Definition
pm.h:142
SDH_CLKSEL_MAP_IDX
@ SDH_CLKSEL_MAP_IDX
Definition
pm.h:115
SC0_CLKSEL_MAP_IDX
@ SC0_CLKSEL_MAP_IDX
Definition
pm.h:164
TMR3_CLKSEL_MAP
@ TMR3_CLKSEL_MAP
Definition
pm.h:128
BPWM0_CLKSEL_MAP
@ BPWM0_CLKSEL_MAP
Definition
pm.h:144
UART0_CLKSEL_MAP_IDX
@ UART0_CLKSEL_MAP_IDX
Definition
pm.h:150
WWDT_CLKSEL_MAP_IDX
@ WWDT_CLKSEL_MAP_IDX
Definition
pm.h:121
UART2_CLKSEL_MAP_IDX
@ UART2_CLKSEL_MAP_IDX
Definition
pm.h:152
SC2_CLKSEL_MAP_IDX
@ SC2_CLKSEL_MAP_IDX
Definition
pm.h:166
WWDT_CLKSEL_MAP
@ WWDT_CLKSEL_MAP
Definition
pm.h:122
STCLK_CLKSEL_MAP
@ STCLK_CLKSEL_MAP
Definition
pm.h:118
UART1_CLKSEL_MAP_IDX
@ UART1_CLKSEL_MAP_IDX
Definition
pm.h:151
__def_pclk
#define __def_pclk(__name, __bf_clksel, __bf_clkdiv, __clksel_map_idx)
Definition
pm.h:50
__def_msk
#define __def_msk(__name)
Definition
pm.h:45
vsf_pm_pll_cfg_t
struct vsf_pm_pll_cfg_t vsf_pm_pll_cfg_t
pll config struct
vsf_pm_sclk_no_t
vsf_pm_sclk_no_t
Peripheral AHB Clock Macros.
Definition
pm.h:258
vsf_pm_clk_src_sel_t
vsf_pm_clk_src_sel_t
Definition
pm.h:387
vsf_pm_sleep_mode_t
vsf_pm_sleep_mode_t
the lowpower mode
Definition
pm.h:79
VSF_PM_SPD1
@ VSF_PM_SPD1
Definition
pm.h:84
VSF_PM_POWER_OFF
@ VSF_PM_POWER_OFF
Definition
pm.h:90
VSF_PM_DEEP_SLEEP
@ VSF_PM_DEEP_SLEEP
Definition
pm.h:89
VSF_PM_SPD0
@ VSF_PM_SPD0
Definition
pm.h:83
VSF_PM_DPD
@ VSF_PM_DPD
Definition
pm.h:85
VSF_PM_LLPD
@ VSF_PM_LLPD
Definition
pm.h:81
VSF_PM_WAIT
@ VSF_PM_WAIT
Definition
pm.h:87
VSF_PM_FWPD
@ VSF_PM_FWPD
Definition
pm.h:82
VSF_PM_NPD
@ VSF_PM_NPD
Definition
pm.h:80
VSF_PM_SLEEP
@ VSF_PM_SLEEP
Definition
pm.h:88
vsf_pm_clk_src_sel_t
vsf_pm_clk_src_sel_t
Definition
device.h:200
pm_template.h
uint16_t
unsigned short uint16_t
Definition
stdint.h:7
uint32_t
unsigned uint32_t
Definition
stdint.h:9
uint8_t
unsigned char uint8_t
Definition
stdint.h:5
io_wakeup_cfg_t
Definition
pm.h:549
io_wakeup_cfg_t::dummy
uint32_t dummy
Definition
pm.h:550
vsf_pm_mclk_cfg_t
main clock config struct
Definition
pm.h:568
vsf_pm_mclk_cfg_t::apb_div
uint16_t apb_div[2]
system APB clock divider
Definition
pm.h:573
vsf_pm_mclk_cfg_t::core_div
uint16_t core_div[1]
system core clock divider
Definition
pm.h:571
vsf_pm_mclk_cfg_t::freq
uint32_t freq
system oscillator frequency
Definition
pm.h:570
vsf_pm_mclk_cfg_t::clk_src
vsf_pm_clk_src_sel_t clk_src
main clock source
Definition
pm.h:569
vsf_pm_mclk_cfg_t::ahb_div
uint16_t ahb_div[1]
system AHB clock divider
Definition
pm.h:572
vsf_pm_pclk_cfg_t
Definition
pm.h:562
vsf_pm_pclk_cfg_t::div
uint16_t div
Definition
pm.h:564
vsf_pm_pclk_cfg_t::clk_src
vsf_pm_clk_src_sel_t clk_src
Definition
pm.h:563
vsf_pm_pll_cfg_t
pll config struct
Definition
pm.h:577
vsf_pm_pll_cfg_t::Psel
uint8_t Psel
pll Feedback divider value
Definition
pm.h:581
vsf_pm_pll_cfg_t::pll_clk_src
vsf_pm_clk_src_sel_t pll_clk_src
pll clock source
Definition
pm.h:578
vsf_pm_pll_cfg_t::Msel
uint8_t Msel
PLL Feedback divider value.
Definition
pm.h:580
vsf_pm_pll_cfg_t::freq
uint32_t freq
system oscillator frequency
Definition
pm.h:579
vsf_hal_cfg.h
Generated from commit:
vsfteam/vsf@ceb53fd