Zephyr API Documentation
4.1.99
A Scalable Open Source RTOS
4.1.99
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
Files
File List
Globals
All
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
x
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Macros
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
ch32v20x_30x-clocks.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2024 MASSDRIVER EI (massdriver.space)
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef __CH32V20X_V30X_CLOCKS_H__
8
#define __CH32V20X_V30X_CLOCKS_H__
9
10
#define CH32V20X_V30X_AHB_PCENR_OFFSET 0
11
#define CH32V20X_V30X_APB2_PCENR_OFFSET 1
12
#define CH32V20X_V30X_APB1_PCENR_OFFSET 2
13
14
#define CH32V20X_V30X_CLOCK_CONFIG(bus, bit) (((CH32V20X_V30X_##bus##_PCENR_OFFSET) << 5) | (bit))
15
16
#define CH32V20X_V30X_CLOCK_DMA1 CH32V20X_V30X_CLOCK_CONFIG(AHB, 0)
17
#define CH32V20X_V30X_CLOCK_DMA2 CH32V20X_V30X_CLOCK_CONFIG(AHB, 1)
18
#define CH32V20X_V30X_CLOCK_SRAM CH32V20X_V30X_CLOCK_CONFIG(AHB, 2)
19
#define CH32V20X_V30X_CLOCK_FLITF CH32V20X_V30X_CLOCK_CONFIG(AHB, 4)
20
#define CH32V20X_V30X_CLOCK_CRC CH32V20X_V30X_CLOCK_CONFIG(AHB, 6)
21
#define CH32V20X_V30X_CLOCK_FSMC CH32V20X_V30X_CLOCK_CONFIG(AHB, 8)
22
#define CH32V20X_V30X_CLOCK_RNG CH32V20X_V30X_CLOCK_CONFIG(AHB, 9)
23
#define CH32V20X_V30X_CLOCK_SDIO CH32V20X_V30X_CLOCK_CONFIG(AHB, 10)
24
#define CH32V20X_V30X_CLOCK_USBHS CH32V20X_V30X_CLOCK_CONFIG(AHB, 11)
25
#define CH32V20X_V30X_CLOCK_OTG_FS CH32V20X_V30X_CLOCK_CONFIG(AHB, 12)
26
#define CH32V20X_V30X_CLOCK_DVP CH32V20X_V30X_CLOCK_CONFIG(AHB, 13)
27
#define CH32V20X_V30X_CLOCK_ETHMAC CH32V20X_V30X_CLOCK_CONFIG(AHB, 14)
28
#define CH32V20X_V30X_CLOCK_ETHMACTX CH32V20X_V30X_CLOCK_CONFIG(AHB, 15)
29
#define CH32V20X_V30X_CLOCK_ETHMACRX CH32V20X_V30X_CLOCK_CONFIG(AHB, 16)
30
#define CH32V20X_V30X_CLOCK_BLEC CH32V20X_V30X_CLOCK_CONFIG(AHB, 16)
31
#define CH32V20X_V30X_CLOCK_BLES CH32V20X_V30X_CLOCK_CONFIG(AHB, 17)
32
33
#define CH32V20X_V30X_CLOCK_AFIO CH32V20X_V30X_CLOCK_CONFIG(APB2, 0)
34
#define CH32V20X_V30X_CLOCK_IOPA CH32V20X_V30X_CLOCK_CONFIG(APB2, 2)
35
#define CH32V20X_V30X_CLOCK_IOPB CH32V20X_V30X_CLOCK_CONFIG(APB2, 3)
36
#define CH32V20X_V30X_CLOCK_IOPC CH32V20X_V30X_CLOCK_CONFIG(APB2, 4)
37
#define CH32V20X_V30X_CLOCK_IOPD CH32V20X_V30X_CLOCK_CONFIG(APB2, 5)
38
#define CH32V20X_V30X_CLOCK_IOPE CH32V20X_V30X_CLOCK_CONFIG(APB2, 6)
39
#define CH32V20X_V30X_CLOCK_ADC1 CH32V20X_V30X_CLOCK_CONFIG(APB2, 9)
40
#define CH32V20X_V30X_CLOCK_ADC2 CH32V20X_V30X_CLOCK_CONFIG(APB2, 10)
41
#define CH32V20X_V30X_CLOCK_TIM1 CH32V20X_V30X_CLOCK_CONFIG(APB2, 11)
42
#define CH32V20X_V30X_CLOCK_SPI1 CH32V20X_V30X_CLOCK_CONFIG(APB2, 12)
43
#define CH32V20X_V30X_CLOCK_TIM8 CH32V20X_V30X_CLOCK_CONFIG(APB2, 13)
44
#define CH32V20X_V30X_CLOCK_USART1 CH32V20X_V30X_CLOCK_CONFIG(APB2, 14)
45
#define CH32V20X_V30X_CLOCK_TIM9 CH32V20X_V30X_CLOCK_CONFIG(APB2, 19)
46
#define CH32V20X_V30X_CLOCK_TIM10 CH32V20X_V30X_CLOCK_CONFIG(APB2, 20)
47
48
#define CH32V20X_V30X_CLOCK_TIM2 CH32V20X_V30X_CLOCK_CONFIG(APB1, 0)
49
#define CH32V20X_V30X_CLOCK_TIM3 CH32V20X_V30X_CLOCK_CONFIG(APB1, 1)
50
#define CH32V20X_V30X_CLOCK_TIM4 CH32V20X_V30X_CLOCK_CONFIG(APB1, 2)
51
#define CH32V20X_V30X_CLOCK_TIM5 CH32V20X_V30X_CLOCK_CONFIG(APB1, 3)
52
#define CH32V20X_V30X_CLOCK_TIM6 CH32V20X_V30X_CLOCK_CONFIG(APB1, 4)
53
#define CH32V20X_V30X_CLOCK_TIM7 CH32V20X_V30X_CLOCK_CONFIG(APB1, 5)
54
#define CH32V20X_V30X_CLOCK_USART6 CH32V20X_V30X_CLOCK_CONFIG(APB1, 6)
55
#define CH32V20X_V30X_CLOCK_USART7 CH32V20X_V30X_CLOCK_CONFIG(APB1, 7)
56
#define CH32V20X_V30X_CLOCK_USART8 CH32V20X_V30X_CLOCK_CONFIG(APB1, 8)
57
#define CH32V20X_V30X_CLOCK_WWDG CH32V20X_V30X_CLOCK_CONFIG(APB1, 11)
58
#define CH32V20X_V30X_CLOCK_SPI2 CH32V20X_V30X_CLOCK_CONFIG(APB1, 14)
59
#define CH32V20X_V30X_CLOCK_SPI3 CH32V20X_V30X_CLOCK_CONFIG(APB1, 15)
60
#define CH32V20X_V30X_CLOCK_USART2 CH32V20X_V30X_CLOCK_CONFIG(APB1, 17)
61
#define CH32V20X_V30X_CLOCK_USART3 CH32V20X_V30X_CLOCK_CONFIG(APB1, 18)
62
#define CH32V20X_V30X_CLOCK_USART4 CH32V20X_V30X_CLOCK_CONFIG(APB1, 19)
63
#define CH32V20X_V30X_CLOCK_USART5 CH32V20X_V30X_CLOCK_CONFIG(APB1, 20)
64
#define CH32V20X_V30X_CLOCK_I2C1 CH32V20X_V30X_CLOCK_CONFIG(APB1, 21)
65
#define CH32V20X_V30X_CLOCK_I2C2 CH32V20X_V30X_CLOCK_CONFIG(APB1, 22)
66
#define CH32V20X_V30X_CLOCK_USBD CH32V20X_V30X_CLOCK_CONFIG(APB1, 23)
67
#define CH32V20X_V30X_CLOCK_CAN1 CH32V20X_V30X_CLOCK_CONFIG(APB1, 25)
68
#define CH32V20X_V30X_CLOCK_CAN2 CH32V20X_V30X_CLOCK_CONFIG(APB1, 26)
69
#define CH32V20X_V30X_CLOCK_BKP CH32V20X_V30X_CLOCK_CONFIG(APB1, 27)
70
#define CH32V20X_V30X_CLOCK_PWR CH32V20X_V30X_CLOCK_CONFIG(APB1, 28)
71
#define CH32V20X_V30X_CLOCK_DAC CH32V20X_V30X_CLOCK_CONFIG(APB1, 29)
72
73
#endif
zephyr
dt-bindings
clock
ch32v20x_30x-clocks.h
Generated on Wed Mar 19 2025 06:05:30 for Zephyr API Documentation by
1.12.0