VSF Documented
common.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_GIGADEVICE_GD32H7XX_COMMON_H__
19#define __HAL_DRIVER_GIGADEVICE_GD32H7XX_COMMON_H__
20
21/* \note common.h should only be included by device.h */
22
23/*============================ INCLUDES ======================================*/
24
25#include "hal/vsf_hal_cfg.h"
26#include "hal/arch/vsf_arch.h"
27
28/*============================ MACROS ========================================*/
29
30// CLKRST REGION
31
32#define VSF_HW_CLKRST_REGION(__WORD_OFFSET, __BIT_OFFSET, __BIT_LENGTH) \
33 (((__WORD_OFFSET) << 16) | ((__BIT_LENGTH) << 8) | ((__BIT_OFFSET) << 0))
34
35/*============================ MACROFIED FUNCTIONS ===========================*/
36
37#define VSF_HW_PLL_IN_RANGE_1M_2M 0
38#define VSF_HW_PLL_IN_RANGE_2M_4M 1
39#define VSF_HW_PLL_IN_RANGE_4M_8M 2
40#define VSF_HW_PLL_IN_RANGE_8M_16M 3
41#define VSF_HW_PLL_OUT_RANGE_192M_836M 0
42#define VSF_HW_PLL_OUT_RANGE_150M_420M 1
43
44#define vsf_hw_peripheral_clk_set vsf_hw_clkrst_region_set
45#define vsf_hw_peripheral_clk_get vsf_hw_clkrst_region_get
46
47#define vsf_hw_peripheral_rst_set vsf_hw_clkrst_region_set_bit
48#define vsf_hw_peripheral_rst_clear vsf_hw_clkrst_region_clear_bit
49#define vsf_hw_peripheral_rst_get vsf_hw_clkrst_region_get_bit
50
51#define vsf_hw_peripheral_enable vsf_hw_clkrst_region_set_bit
52#define vsf_hw_peripheral_disable vsf_hw_clkrst_region_clear_bit
53
54/*============================ TYPES =========================================*/
55
57 // RCU.AHB1RST
58 VSF_HW_RST_USBHS1 = VSF_HW_CLKRST_REGION(0x04, 29, 1),// USBHS1RST in RCU.AHB1RST
59 VSF_HW_RST_ENET0 = VSF_HW_CLKRST_REGION(0x04, 25, 1),// ENET0RST in RCU.AHB1RST
60 VSF_HW_RST_DMAMUX = VSF_HW_CLKRST_REGION(0x04, 23, 1),// DMAMUXRST in RCU.AHB1RST
61 VSF_HW_RST_DMA1 = VSF_HW_CLKRST_REGION(0x04, 22, 1),// DMA1RST in RCU.AHB1RST
62 VSF_HW_RST_DMA0 = VSF_HW_CLKRST_REGION(0x04, 21, 1),// DMA0RST in RCU.AHB1RST
63 VSF_HW_RST_USBHS0 = VSF_HW_CLKRST_REGION(0x04, 14, 1),// USBHS0RST in RCU.AHB1RST
64 VSF_HW_RST_ENET1 = VSF_HW_CLKRST_REGION(0x04, 0, 1), // ENET1RST in RCU.AHB1RST
65
66 // RCU.AHB2RST
67 VSF_HW_RST_TMU = VSF_HW_CLKRST_REGION(0x05, 7, 1), // TMURST in RCU.AHB2RST
68 VSF_HW_RST_TRNG = VSF_HW_CLKRST_REGION(0x05, 6, 1), // TRNGRST in RCU.AHB2RST
69 VSF_HW_RST_HAU = VSF_HW_CLKRST_REGION(0x05, 4, 1), // HAURST in RCU.AHB2RST
70 VSF_HW_RST_CAU = VSF_HW_CLKRST_REGION(0x05, 3, 1), // CAURST in RCU.AHB2RST
71 VSF_HW_RST_SDIO1 = VSF_HW_CLKRST_REGION(0x05, 2, 1), // SDIO1RST in RCU.AHB2RST
72 VSF_HW_RST_FAC = VSF_HW_CLKRST_REGION(0x05, 1, 1), // FACRST in RCU.AHB2RST
73 VSF_HW_RST_DCI = VSF_HW_CLKRST_REGION(0x05, 0, 1), // DCIRST in RCU.AHB2RST
74
75 // RCU.AHB3RST
76 VSF_HW_RST_RTDEC1 = VSF_HW_CLKRST_REGION(0x06, 9, 1), // RTDEC1RST in RCU.AHB3RST
77 VSF_HW_RST_RTDEC0 = VSF_HW_CLKRST_REGION(0x06, 8, 1), // RTDEC0RST in RCU.AHB3RST
78 VSF_HW_RST_OSPI1 = VSF_HW_CLKRST_REGION(0x06, 6, 1), // OSPI1RST in RCU.AHB3RST
79 VSF_HW_RST_OSPI0 = VSF_HW_CLKRST_REGION(0x06, 5, 1), // OSPI0RST in RCU.AHB3RST
80 VSF_HW_RST_OSPIM = VSF_HW_CLKRST_REGION(0x06, 4, 1), // OSPIMRST in RCU.AHB3RST
81 VSF_HW_RST_MDMA = VSF_HW_CLKRST_REGION(0x06, 3, 1), // MDMARST in RCU.AHB3RST
82 VSF_HW_RST_SDIO0 = VSF_HW_CLKRST_REGION(0x06, 2, 1), // SDIO0RST in RCU.AHB3RST
83 VSF_HW_RST_IPA = VSF_HW_CLKRST_REGION(0x06, 1, 1), // IPARST in RCU.AHB3RST
84 VSF_HW_RST_EXMC = VSF_HW_CLKRST_REGION(0x06, 0, 1), // EXMCRST in RCU.AHB3RST
85
86 // RCU.AHB4RST
87 VSF_HW_RST_HWSEM = VSF_HW_CLKRST_REGION(0x07, 15, 1),// HWSEMRST in RCU.AHB4RST
88 VSF_HW_RST_CRC = VSF_HW_CLKRST_REGION(0x07, 14, 1),// CRCRST in RCU.AHB4RST
89 VSF_HW_RST_GPIOK = VSF_HW_CLKRST_REGION(0x07, 9, 1), // PKRST in RCU.AHB4RST
90 VSF_HW_RST_GPIOJ = VSF_HW_CLKRST_REGION(0x07, 8, 1), // PJRST in RCU.AHB4RST
91 VSF_HW_RST_GPIOH = VSF_HW_CLKRST_REGION(0x07, 7, 1), // PHRST in RCU.AHB4RST
92 VSF_HW_RST_GPIOG = VSF_HW_CLKRST_REGION(0x07, 6, 1), // PGRST in RCU.AHB4RST
93 VSF_HW_RST_GPIOF = VSF_HW_CLKRST_REGION(0x07, 5, 1), // PFRST in RCU.AHB4RST
94 VSF_HW_RST_GPIOE = VSF_HW_CLKRST_REGION(0x07, 4, 1), // PERST in RCU.AHB4RST
95 VSF_HW_RST_GPIOD = VSF_HW_CLKRST_REGION(0x07, 3, 1), // PDRST in RCU.AHB4RST
96 VSF_HW_RST_GPIOC = VSF_HW_CLKRST_REGION(0x07, 2, 1), // PCRST in RCU.AHB4RST
97 VSF_HW_RST_GPIOB = VSF_HW_CLKRST_REGION(0x07, 1, 1), // PBRST in RCU.AHB4RST
98 VSF_HW_RST_GPIOA = VSF_HW_CLKRST_REGION(0x07, 0, 1), // PARST in RCU.AHB4RST
99
100 // RCC.APB1RST
101 VSF_HW_RST_UART7 = VSF_HW_CLKRST_REGION(0x08, 31, 1),// UART7RST in RCU.APB1RST
102 VSF_HW_RST_UART6 = VSF_HW_CLKRST_REGION(0x08, 30, 1),// UART6RST in RCU.APB1RST
103 VSF_HW_RST_DAC = VSF_HW_CLKRST_REGION(0x08, 29, 1),// DACRST in RCU.APB1RST
104 VSF_HW_RST_DACHOLD = VSF_HW_CLKRST_REGION(0x08, 28, 1),// DACHOLDRST in RCU.APB1RST
105 VSF_HW_RST_CTC = VSF_HW_CLKRST_REGION(0x08, 27, 1),// CTCRST in RCU.APB1RST
106 VSF_HW_RST_I2C3 = VSF_HW_CLKRST_REGION(0x08, 24, 1),// I2C3RST in RCU.APB1RST
107 VSF_HW_RST_I2C2 = VSF_HW_CLKRST_REGION(0x08, 23, 1),// I2C2RST in RCU.APB1RST
108 VSF_HW_RST_I2C1 = VSF_HW_CLKRST_REGION(0x08, 22, 1),// I2C1RST in RCU.APB1RST
109 VSF_HW_RST_I2C0 = VSF_HW_CLKRST_REGION(0x08, 21, 1),// I2C0RST in RCU.APB1RST
110 VSF_HW_RST_UART4 = VSF_HW_CLKRST_REGION(0x08, 20, 1),// UART4RST in RCU.APB1RST
111 VSF_HW_RST_UART3 = VSF_HW_CLKRST_REGION(0x08, 19, 1),// UART3RST in RCU.APB1RST
112 VSF_HW_RST_USART2 = VSF_HW_CLKRST_REGION(0x08, 18, 1),// USART2RST in RCU.APB1RST
113 VSF_HW_RST_USART1 = VSF_HW_CLKRST_REGION(0x08, 17, 1),// USART1RST in RCU.APB1RST
114 VSF_HW_RST_MDIO = VSF_HW_CLKRST_REGION(0x08, 16, 1),// MDIORST in RCU.APB1RST
115 VSF_HW_RST_SPI2 = VSF_HW_CLKRST_REGION(0x08, 15, 1),// SPI2RST in RCU.APB1RST
116 VSF_HW_RST_SPI1 = VSF_HW_CLKRST_REGION(0x08, 14, 1),// SPI1RST in RCU.APB1RST
117 VSF_HW_RST_RSPDIF = VSF_HW_CLKRST_REGION(0x08, 13, 1),// RSPDIFRST in RCU.APB1RST
118 VSF_HW_RST_TIMER51 = VSF_HW_CLKRST_REGION(0x08, 11, 1),// TIMER51RST in RCU.APB1RST
119 VSF_HW_RST_TIMER50 = VSF_HW_CLKRST_REGION(0x08, 10, 1),// TIMER50RST in RCU.APB1RST
120 VSF_HW_RST_TIMER31 = VSF_HW_CLKRST_REGION(0x08, 9, 1), // TIMER31RST in RCU.APB1RST
121 VSF_HW_RST_TIMER30 = VSF_HW_CLKRST_REGION(0x08, 8, 1), // TIMER30RST in RCU.APB1RST
122 VSF_HW_RST_TIMER23 = VSF_HW_CLKRST_REGION(0x08, 7, 1), // TIMER23RST in RCU.APB1RST
123 VSF_HW_RST_TIMER22 = VSF_HW_CLKRST_REGION(0x08, 6, 1), // TIMER22RST in RCU.APB1RST
124 VSF_HW_RST_TIMER6 = VSF_HW_CLKRST_REGION(0x08, 5, 1), // TIMER6RST in RCU.APB1RST
125 VSF_HW_RST_TIMER5 = VSF_HW_CLKRST_REGION(0x08, 4, 1), // TIMER5RST in RCU.APB1RST
126 VSF_HW_RST_TIMER4 = VSF_HW_CLKRST_REGION(0x08, 3, 1), // TIMER4RST in RCU.APB1RST
127 VSF_HW_RST_TIMER3 = VSF_HW_CLKRST_REGION(0x08, 2, 1), // TIMER3RST in RCU.APB1RST
128 VSF_HW_RST_TIMER2 = VSF_HW_CLKRST_REGION(0x08, 1, 1), // TIMER2RST in RCU.APB1RST
129 VSF_HW_RST_TIMER1 = VSF_HW_CLKRST_REGION(0x08, 0, 1), // TIMER1RST in RCU.APB1RST
130
131 // RCC.APB2RST
132 VSF_HW_RST_TRIGSEL = VSF_HW_CLKRST_REGION(0x09, 31, 1),// TRIGRST in RCU.APB2RST
133 VSF_HW_RST_EDOUT = VSF_HW_CLKRST_REGION(0x09, 30, 1),// EDOUTRST in RCU.APB2RST
134 VSF_HW_RST_TIMER44 = VSF_HW_CLKRST_REGION(0x09, 29, 1),// TIMER44RST in RCU.APB2RST
135 VSF_HW_RST_TIMER43 = VSF_HW_CLKRST_REGION(0x09, 28, 1),// TIMER43RST in RCU.APB2RST
136 VSF_HW_RST_TIMER42 = VSF_HW_CLKRST_REGION(0x09, 27, 1),// TIMER42RST in RCU.APB2RST
137 VSF_HW_RST_TIMER41 = VSF_HW_CLKRST_REGION(0x09, 26, 1),// TIMER41RST in RCU.APB2RST
138 VSF_HW_RST_TIMER40 = VSF_HW_CLKRST_REGION(0x09, 25, 1),// TIMER40RST in RCU.APB2RST
139 VSF_HW_RST_SAI2 = VSF_HW_CLKRST_REGION(0x09, 24, 1),// SAI2RST in RCU.APB2RST
140 VSF_HW_RST_SAI1 = VSF_HW_CLKRST_REGION(0x09, 23, 1),// SAI1RST in RCU.APB2RST
141 VSF_HW_RST_SAI0 = VSF_HW_CLKRST_REGION(0x09, 22, 1),// SAI0RST in RCU.APB2RST
142 VSF_HW_RST_SPI5 = VSF_HW_CLKRST_REGION(0x09, 21, 1),// SPI5RST in RCU.APB2RST
143 VSF_HW_RST_SPI4 = VSF_HW_CLKRST_REGION(0x09, 20, 1),// SPI4RST in RCU.APB2RST
144 VSF_HW_RST_HPDF = VSF_HW_CLKRST_REGION(0x09, 19, 1),// HPDFRST in RCU.APB2RST
145 VSF_HW_RST_TIMER16 = VSF_HW_CLKRST_REGION(0x09, 18, 1),// TIMER16RST in RCU.APB2RST
146 VSF_HW_RST_TIMER15 = VSF_HW_CLKRST_REGION(0x09, 17, 1),// TIMER15RST in RCU.APB2RST
147 VSF_HW_RST_TIMER14 = VSF_HW_CLKRST_REGION(0x09, 16, 1),// TIMER14RST in RCU.APB2RST
148 VSF_HW_RST_SPI3 = VSF_HW_CLKRST_REGION(0x09, 13, 1),// SPI3RST in RCU.APB2RST
149 VSF_HW_RST_SPI0 = VSF_HW_CLKRST_REGION(0x09, 12, 1),// SPI0RST in RCU.APB2RST
150 VSF_HW_RST_ADC2 = VSF_HW_CLKRST_REGION(0x09, 10, 1),// ADC2RST in RCU.APB2RST
151 VSF_HW_RST_ADC1 = VSF_HW_CLKRST_REGION(0x09, 9, 1), // ADC1RST in RCU.APB2RST
152 VSF_HW_RST_ADC0 = VSF_HW_CLKRST_REGION(0x09, 8, 1), // ADC0RST in RCU.APB2RST
153 VSF_HW_RST_USART5 = VSF_HW_CLKRST_REGION(0x09, 5, 1), // USART5RST in RCU.APB2RST
154 VSF_HW_RST_USART0 = VSF_HW_CLKRST_REGION(0x09, 4, 1), // USART0RST in RCU.APB2RST
155 VSF_HW_RST_TIMER7 = VSF_HW_CLKRST_REGION(0x09, 1, 1), // TIMER7RST in RCU.APB2RST
156 VSF_HW_RST_TIMER0 = VSF_HW_CLKRST_REGION(0x09, 0, 1), // TIMER0RST in RCU.APB2RST
157
158 // RCC.APB3RST
159 VSF_HW_RST_WWDGT = VSF_HW_CLKRST_REGION(0x0A, 1, 1), // WWDGTRST in RCU.APB3RST
160 VSF_HW_RST_TLI = VSF_HW_CLKRST_REGION(0x0A, 0, 1), // TLIRST in RCU.APB3RST
161
162 // RCC.APB4RST
163 VSF_HW_RST_PMU = VSF_HW_CLKRST_REGION(0x0B, 4, 1), // PMURST in RCU.APB4RST
164 VSF_HW_RST_LPDTS = VSF_HW_CLKRST_REGION(0x0B, 3, 1), // LPDTSRST in RCU.APB4RST
165 VSF_HW_RST_VREF = VSF_HW_CLKRST_REGION(0x0B, 2, 1), // VREFRST in RCU.APB4RST
166 VSF_HW_RST_CMP = VSF_HW_CLKRST_REGION(0x0B, 1, 1), // CMPRST in RCU.APB4RST
167 VSF_HW_RST_SYSCFG = VSF_HW_CLKRST_REGION(0x0B, 0, 1), // SYSCFGRST in RCU.APB4RST
169
171 // RCU.AHB1EN
172 VSF_HW_EN_USBHS1ULPI = VSF_HW_CLKRST_REGION(0x0C, 30, 1),// USBHS1ULPIEN in RCU.AHB1EN
173 VSF_HW_EN_USBHS1 = VSF_HW_CLKRST_REGION(0x0C, 29, 1),// USBHS1EN in RCU.AHB1EN
174 VSF_HW_EN_ENET0PTP = VSF_HW_CLKRST_REGION(0x0C, 28, 1),// ENET0PTPEN in RCU.AHB1EN
175 VSF_HW_EN_ENET0RX = VSF_HW_CLKRST_REGION(0x0C, 27, 1),// ENET0RXEN in RCU.AHB1EN
176 VSF_HW_EN_ENET0TX = VSF_HW_CLKRST_REGION(0x0C, 26, 1),// ENET0TXEN in RCU.AHB1EN
177 VSF_HW_EN_ENET0 = VSF_HW_CLKRST_REGION(0x0C, 25, 1),// ENET0EN in RCU.AHB1EN
178 VSF_HW_EN_DMAMUX = VSF_HW_CLKRST_REGION(0x0C, 23, 1),// DMAMUXEN in RCU.AHB1EN
179 VSF_HW_EN_DMA1 = VSF_HW_CLKRST_REGION(0x0C, 22, 1),// DMA1EN in RCU.AHB1EN
180 VSF_HW_EN_DMA0 = VSF_HW_CLKRST_REGION(0x0C, 21, 1),// DMA0EN in RCU.AHB1EN
181 VSF_HW_EN_USBHS0ULPI = VSF_HW_CLKRST_REGION(0x0C, 15, 1),// USBHS0ULPIEN in RCU.AHB1EN
182 VSF_HW_EN_USBHS0 = VSF_HW_CLKRST_REGION(0x0C, 14, 1),// USBHS0EN in RCU.AHB1EN
183 VSF_HW_EN_ENET1PTP = VSF_HW_CLKRST_REGION(0x0C, 3, 1), // ENET1PTPEN in RCU.AHB1EN
184 VSF_HW_EN_ENET1RX = VSF_HW_CLKRST_REGION(0x0C, 2, 1), // ENET1RXEN in RCU.AHB1EN
185 VSF_HW_EN_ENET1TX = VSF_HW_CLKRST_REGION(0x0C, 1, 1), // ENET1TXEN in RCU.AHB1EN
186 VSF_HW_EN_ENET1 = VSF_HW_CLKRST_REGION(0x0C, 0, 1), // ENET1EN in RCU.AHB1EN
187
188 // RCU.AHB2EN
189 VSF_HW_EN_RAMECCMU1 = VSF_HW_CLKRST_REGION(0x0D, 8, 1), // RAMECCMU1EN in RCU.AHB2EN
190 VSF_HW_EN_TMU = VSF_HW_CLKRST_REGION(0x0D, 7, 1), // TMUEN in RCU.AHB2EN
191 VSF_HW_EN_TRNG = VSF_HW_CLKRST_REGION(0x0D, 6, 1), // TRNGEN in RCU.AHB2EN
192 VSF_HW_EN_HAU = VSF_HW_CLKRST_REGION(0x0D, 4, 1), // HAUEN in RCU.AHB2EN
193 VSF_HW_EN_CAU = VSF_HW_CLKRST_REGION(0x0D, 3, 1), // CAUEN in RCU.AHB2EN
194 VSF_HW_EN_SDIO1 = VSF_HW_CLKRST_REGION(0x0D, 2, 1), // SDIO1EN in RCU.AHB2EN
195 VSF_HW_EN_FAC = VSF_HW_CLKRST_REGION(0x0D, 1, 1), // FACEN in RCU.AHB2EN
196 VSF_HW_EN_DCI = VSF_HW_CLKRST_REGION(0x0D, 0, 1), // DCIEN in RCU.AHB2EN
197
198 // RCU.AHB3EN
199 VSF_HW_EN_CPU = VSF_HW_CLKRST_REGION(0x0E, 15, 1),// CPUEN in RCU.AHB3EN
200 VSF_HW_EN_RAMECCMU0 = VSF_HW_CLKRST_REGION(0x0E, 10, 1),// RAMECCMU0EN in RCU.AHB3EN
201 VSF_HW_EN_RTDEC1 = VSF_HW_CLKRST_REGION(0x0E, 9, 1), // RTDEC1EN in RCU.AHB3EN
202 VSF_HW_EN_RTDEC0 = VSF_HW_CLKRST_REGION(0x0E, 8, 1), // RTDEC0EN in RCU.AHB3EN
203 VSF_HW_EN_OSPI1 = VSF_HW_CLKRST_REGION(0x0E, 6, 1), // OSPI1EN in RCU.AHB3EN
204 VSF_HW_EN_OSPI0 = VSF_HW_CLKRST_REGION(0x0E, 5, 1), // OSPI0EN in RCU.AHB3EN
205 VSF_HW_EN_OSPIM = VSF_HW_CLKRST_REGION(0x0E, 4, 1), // OSPIMEN in RCU.AHB3EN
206 VSF_HW_EN_MDMA = VSF_HW_CLKRST_REGION(0x0E, 3, 1), // MDMAEN in RCU.AHB3EN
207 VSF_HW_EN_SDIO0 = VSF_HW_CLKRST_REGION(0x0E, 2, 1), // SDIO0EN in RCU.AHB3EN
208 VSF_HW_EN_IPA = VSF_HW_CLKRST_REGION(0x0E, 1, 1), // IPAEN in RCU.AHB3EN
209 VSF_HW_EN_EXMC = VSF_HW_CLKRST_REGION(0x0E, 0, 1), // EXMCEN in RCU.AHB3EN
210
211 // RCU.AHB4EN
212 VSF_HW_EN_HWSEM = VSF_HW_CLKRST_REGION(0x0F, 15, 1),// HWSEMEN in RCU.AHB4EN
213 VSF_HW_EN_CRC = VSF_HW_CLKRST_REGION(0x0F, 14, 1),// CRCEN in RCU.AHB4EN
214 VSF_HW_EN_BKPSRAM = VSF_HW_CLKRST_REGION(0x0F, 13, 1),// BKPSRAMEN in RCU.AHB4EN
215 VSF_HW_EN_GPIOK = VSF_HW_CLKRST_REGION(0x0F, 9, 1), // PKEN in RCU.AHB4EN
216 VSF_HW_EN_GPIOJ = VSF_HW_CLKRST_REGION(0x0F, 8, 1), // PJEN in RCU.AHB4EN
217 VSF_HW_EN_GPIOH = VSF_HW_CLKRST_REGION(0x0F, 7, 1), // PHEN in RCU.AHB4EN
218 VSF_HW_EN_GPIOG = VSF_HW_CLKRST_REGION(0x0F, 6, 1), // PGEN in RCU.AHB4EN
219 VSF_HW_EN_GPIOF = VSF_HW_CLKRST_REGION(0x0F, 5, 1), // PFEN in RCU.AHB4EN
220 VSF_HW_EN_GPIOE = VSF_HW_CLKRST_REGION(0x0F, 4, 1), // PEEN in RCU.AHB4EN
221 VSF_HW_EN_GPIOD = VSF_HW_CLKRST_REGION(0x0F, 3, 1), // PDEN in RCU.AHB4EN
222 VSF_HW_EN_GPIOC = VSF_HW_CLKRST_REGION(0x0F, 2, 1), // PCEN in RCU.AHB4EN
223 VSF_HW_EN_GPIOB = VSF_HW_CLKRST_REGION(0x0F, 1, 1), // PBEN in RCU.AHB4EN
224 VSF_HW_EN_GPIOA = VSF_HW_CLKRST_REGION(0x0F, 0, 1), // PAEN in RCU.AHB4EN
225
226 // RCC.APB1EN
227 VSF_HW_EN_UART7 = VSF_HW_CLKRST_REGION(0x10, 31, 1),// UART7EN in RCU.APB1EN
228 VSF_HW_EN_UART6 = VSF_HW_CLKRST_REGION(0x10, 30, 1),// UART6EN in RCU.APB1EN
229 VSF_HW_EN_DAC = VSF_HW_CLKRST_REGION(0x10, 29, 1),// DACEN in RCU.APB1EN
230 VSF_HW_EN_DACHOLD = VSF_HW_CLKRST_REGION(0x10, 28, 1),// DACHOLDEN in RCU.APB1EN
231 VSF_HW_EN_CTC = VSF_HW_CLKRST_REGION(0x10, 27, 1),// CTCEN in RCU.APB1EN
232 VSF_HW_EN_I2C3 = VSF_HW_CLKRST_REGION(0x10, 24, 1),// I2C3EN in RCU.APB1EN
233 VSF_HW_EN_I2C2 = VSF_HW_CLKRST_REGION(0x10, 23, 1),// I2C2EN in RCU.APB1EN
234 VSF_HW_EN_I2C1 = VSF_HW_CLKRST_REGION(0x10, 22, 1),// I2C1EN in RCU.APB1EN
235 VSF_HW_EN_I2C0 = VSF_HW_CLKRST_REGION(0x10, 21, 1),// I2C0EN in RCU.APB1EN
236 VSF_HW_EN_UART4 = VSF_HW_CLKRST_REGION(0x10, 20, 1),// UART4EN in RCU.APB1EN
237 VSF_HW_EN_UART3 = VSF_HW_CLKRST_REGION(0x10, 19, 1),// UART3EN in RCU.APB1EN
238 VSF_HW_EN_USART2 = VSF_HW_CLKRST_REGION(0x10, 18, 1),// USART2EN in RCU.APB1EN
239 VSF_HW_EN_USART1 = VSF_HW_CLKRST_REGION(0x10, 17, 1),// USART1EN in RCU.APB1EN
240 VSF_HW_EN_MDIO = VSF_HW_CLKRST_REGION(0x10, 16, 1),// MDIOEN in RCU.APB1EN
241 VSF_HW_EN_SPI2 = VSF_HW_CLKRST_REGION(0x10, 15, 1),// SPI2EN in RCU.APB1EN
242 VSF_HW_EN_SPI1 = VSF_HW_CLKRST_REGION(0x10, 14, 1),// SPI1EN in RCU.APB1EN
243 VSF_HW_EN_RSPDIF = VSF_HW_CLKRST_REGION(0x10, 13, 1),// RSPDIFEN in RCU.APB1EN
244 VSF_HW_EN_TIMER51 = VSF_HW_CLKRST_REGION(0x10, 11, 1),// TIMER51EN in RCU.APB1EN
245 VSF_HW_EN_TIMER50 = VSF_HW_CLKRST_REGION(0x10, 10, 1),// TIMER50EN in RCU.APB1EN
246 VSF_HW_EN_TIMER31 = VSF_HW_CLKRST_REGION(0x10, 9, 1), // TIMER31EN in RCU.APB1EN
247 VSF_HW_EN_TIMER30 = VSF_HW_CLKRST_REGION(0x10, 8, 1), // TIMER30EN in RCU.APB1EN
248 VSF_HW_EN_TIMER23 = VSF_HW_CLKRST_REGION(0x10, 7, 1), // TIMER23EN in RCU.APB1EN
249 VSF_HW_EN_TIMER22 = VSF_HW_CLKRST_REGION(0x10, 6, 1), // TIMER22EN in RCU.APB1EN
250 VSF_HW_EN_TIMER6 = VSF_HW_CLKRST_REGION(0x10, 5, 1), // TIMER6EN in RCU.APB1EN
251 VSF_HW_EN_TIMER5 = VSF_HW_CLKRST_REGION(0x10, 4, 1), // TIMER5EN in RCU.APB1EN
252 VSF_HW_EN_TIMER4 = VSF_HW_CLKRST_REGION(0x10, 3, 1), // TIMER4EN in RCU.APB1EN
253 VSF_HW_EN_TIMER3 = VSF_HW_CLKRST_REGION(0x10, 2, 1), // TIMER3EN in RCU.APB1EN
254 VSF_HW_EN_TIMER2 = VSF_HW_CLKRST_REGION(0x10, 1, 1), // TIMER2EN in RCU.APB1EN
255 VSF_HW_EN_TIMER1 = VSF_HW_CLKRST_REGION(0x10, 0, 1), // TIMER1EN in RCU.APB1EN
256
257 // RCC.APB2EN
258 VSF_HW_EN_TRIGSEL = VSF_HW_CLKRST_REGION(0x11, 31, 1),// TRIGEN in RCU.APB2EN
259 VSF_HW_EN_EDOUT = VSF_HW_CLKRST_REGION(0x11, 30, 1),// EDOUTEN in RCU.APB2EN
260 VSF_HW_EN_TIMER44 = VSF_HW_CLKRST_REGION(0x11, 29, 1),// TIMER44EN in RCU.APB2EN
261 VSF_HW_EN_TIMER43 = VSF_HW_CLKRST_REGION(0x11, 28, 1),// TIMER43EN in RCU.APB2EN
262 VSF_HW_EN_TIMER42 = VSF_HW_CLKRST_REGION(0x11, 27, 1),// TIMER42EN in RCU.APB2EN
263 VSF_HW_EN_TIMER41 = VSF_HW_CLKRST_REGION(0x11, 26, 1),// TIMER41EN in RCU.APB2EN
264 VSF_HW_EN_TIMER40 = VSF_HW_CLKRST_REGION(0x11, 25, 1),// TIMER40EN in RCU.APB2EN
265 VSF_HW_EN_SAI2 = VSF_HW_CLKRST_REGION(0x11, 24, 1),// SAI2EN in RCU.APB2EN
266 VSF_HW_EN_SAI1 = VSF_HW_CLKRST_REGION(0x11, 23, 1),// SAI1EN in RCU.APB2EN
267 VSF_HW_EN_SAI0 = VSF_HW_CLKRST_REGION(0x11, 22, 1),// SAI0EN in RCU.APB2EN
268 VSF_HW_EN_SPI5 = VSF_HW_CLKRST_REGION(0x11, 21, 1),// SPI5EN in RCU.APB2EN
269 VSF_HW_EN_SPI4 = VSF_HW_CLKRST_REGION(0x11, 20, 1),// SPI4EN in RCU.APB2EN
270 VSF_HW_EN_HPDF = VSF_HW_CLKRST_REGION(0x11, 19, 1),// HPDFEN in RCU.APB2EN
271 VSF_HW_EN_TIMER16 = VSF_HW_CLKRST_REGION(0x11, 18, 1),// TIMER16EN in RCU.APB2EN
272 VSF_HW_EN_TIMER15 = VSF_HW_CLKRST_REGION(0x11, 17, 1),// TIMER15EN in RCU.APB2EN
273 VSF_HW_EN_TIMER14 = VSF_HW_CLKRST_REGION(0x11, 16, 1),// TIMER14EN in RCU.APB2EN
274 VSF_HW_EN_SPI3 = VSF_HW_CLKRST_REGION(0x11, 13, 1),// SPI3EN in RCU.APB2EN
275 VSF_HW_EN_SPI0 = VSF_HW_CLKRST_REGION(0x11, 12, 1),// SPI0EN in RCU.APB2EN
276 VSF_HW_EN_ADC2 = VSF_HW_CLKRST_REGION(0x11, 10, 1),// ADC2EN in RCU.APB2EN
277 VSF_HW_EN_ADC1 = VSF_HW_CLKRST_REGION(0x11, 9, 1), // ADC1EN in RCU.APB2EN
278 VSF_HW_EN_ADC0 = VSF_HW_CLKRST_REGION(0x11, 8, 1), // ADC0EN in RCU.APB2EN
279 VSF_HW_EN_USART5 = VSF_HW_CLKRST_REGION(0x11, 5, 1), // USART5EN in RCU.APB2EN
280 VSF_HW_EN_USART0 = VSF_HW_CLKRST_REGION(0x11, 4, 1), // USART0EN in RCU.APB2EN
281 VSF_HW_EN_TIMER7 = VSF_HW_CLKRST_REGION(0x11, 1, 1), // TIMER7EN in RCU.APB2EN
282 VSF_HW_EN_TIMER0 = VSF_HW_CLKRST_REGION(0x11, 0, 1), // TIMER0EN in RCU.APB2EN
283
284 // RCC.APB3EN
285 VSF_HW_EN_WWDGT = VSF_HW_CLKRST_REGION(0x12, 1, 1), // WWDGTEN in RCU.APB3EN
286 VSF_HW_EN_TLI = VSF_HW_CLKRST_REGION(0x12, 0, 1), // TLIEN in RCU.APB3EN
287
288 // RCC.APB4EN
289 VSF_HW_EN_PMU = VSF_HW_CLKRST_REGION(0x13, 4, 1), // PMUEN in RCU.APB4EN
290 VSF_HW_EN_LPDTS = VSF_HW_CLKRST_REGION(0x13, 3, 1), // LPDTSEN in RCU.APB4EN
291 VSF_HW_EN_VREF = VSF_HW_CLKRST_REGION(0x13, 2, 1), // VREFEN in RCU.APB4EN
292 VSF_HW_EN_CMP = VSF_HW_CLKRST_REGION(0x13, 1, 1), // CMPEN in RCU.APB4EN
293 VSF_HW_EN_SYSCFG = VSF_HW_CLKRST_REGION(0x13, 0, 1), // SYSCFGEN in RCU.APB4EN
295
297
298/*============================ GLOBAL VARIABLES ==============================*/
299
300extern const vsf_hw_clk_t VSF_HW_CLK_HXTAL;
301extern const vsf_hw_clk_t VSF_HW_CLK_LXTAL;
305
309
310extern const vsf_hw_clk_t VSF_HW_CLK_PLL0P;
311extern const vsf_hw_clk_t VSF_HW_CLK_PLL0Q;
312extern const vsf_hw_clk_t VSF_HW_CLK_PLL0R;
313extern const vsf_hw_clk_t VSF_HW_CLK_PLL1P;
314extern const vsf_hw_clk_t VSF_HW_CLK_PLL1Q;
315extern const vsf_hw_clk_t VSF_HW_CLK_PLL1R;
316extern const vsf_hw_clk_t VSF_HW_CLK_PLL2P;
317extern const vsf_hw_clk_t VSF_HW_CLK_PLL2Q;
318extern const vsf_hw_clk_t VSF_HW_CLK_PLL2R;
319
320extern const vsf_hw_clk_t VSF_HW_CLK_RTC;
321extern const vsf_hw_clk_t VSF_HW_CLK_SYS;
322extern const vsf_hw_clk_t VSF_HW_CLK_AHB;
323extern const vsf_hw_clk_t VSF_HW_CLK_PER;
324
325extern const vsf_hw_clk_t VSF_HW_CLK_PCLK1;
326#define VSF_HW_CLK_APB1 VSF_HW_CLK_PCLK1
327extern const vsf_hw_clk_t VSF_HW_CLK_PCLK2;
328#define VSF_HW_CLK_APB2 VSF_HW_CLK_PCLK2
329extern const vsf_hw_clk_t VSF_HW_CLK_PCLK3;
330#define VSF_HW_CLK_APB3 VSF_HW_CLK_PCLK3
331extern const vsf_hw_clk_t VSF_HW_CLK_PCLK4;
332#define VSF_HW_CLK_APB4 VSF_HW_CLK_PCLK4
333
334#if VSF_HAL_USE_USART == ENABLED
338#define VSF_HW_CLK_UART3 VSF_HW_CLK_APB1
339#define VSF_HW_CLK_UART4 VSF_HW_CLK_APB1
341#define VSF_HW_CLK_UART6 VSF_HW_CLK_APB1
342#define VSF_HW_CLK_UART7 VSF_HW_CLK_APB1
343#endif
344
345#if VSF_HAL_USE_SDIO == ENABLED
346extern const vsf_hw_clk_t VSF_HW_CLK_SDIO0;
347extern const vsf_hw_clk_t VSF_HW_CLK_SDIO1;
348#endif
349
350extern const vsf_hw_clk_t VSF_HW_CLK_TLI;
351
352/*============================ LOCAL VARIABLES ===============================*/
353/*============================ INCLUDES ======================================*/
354/*============================ PROTOTYPES ====================================*/
355
356extern const vsf_hw_clk_t * vsf_hw_clk_get_src(const vsf_hw_clk_t *clk);
358extern void vsf_hw_clk_enable(const vsf_hw_clk_t *clk);
359extern void vsf_hw_clk_disable(const vsf_hw_clk_t *clk);
360extern vsf_err_t vsf_hw_clk_config(const vsf_hw_clk_t *clk, const vsf_hw_clk_t *clksrc, uint16_t prescaler, uint32_t freq_hz);
361
364
365extern void vsf_hw_clkrst_region_set_bit(uint32_t region);
366extern void vsf_hw_clkrst_region_clear_bit(uint32_t region);
368
388extern vsf_err_t vsf_hw_pll_vco_config(const vsf_hw_clk_t *clk, uint_fast8_t src_prescaler, uint32_t vco_freq_hz);
389
390#endif
391/* EOF */
vsf_err_t
Definition __type.h:42
vsf_hw_peripheral_rst_t
Definition common.h:56
@ VSF_HW_RST_SPI5
Definition common.h:142
@ VSF_HW_RST_RSPDIF
Definition common.h:117
@ VSF_HW_RST_DAC
Definition common.h:103
@ VSF_HW_RST_TIMER31
Definition common.h:120
@ VSF_HW_RST_TIMER23
Definition common.h:122
@ VSF_HW_RST_OSPI0
Definition common.h:79
@ VSF_HW_RST_DMA1
Definition common.h:61
@ VSF_HW_RST_SPI4
Definition common.h:143
@ VSF_HW_RST_TIMER2
Definition common.h:128
@ VSF_HW_RST_TIMER41
Definition common.h:137
@ VSF_HW_RST_EXMC
Definition common.h:84
@ VSF_HW_RST_CMP
Definition common.h:166
@ VSF_HW_RST_ENET0
Definition common.h:59
@ VSF_HW_RST_FAC
Definition common.h:72
@ VSF_HW_RST_SPI2
Definition common.h:115
@ VSF_HW_RST_GPIOJ
Definition common.h:90
@ VSF_HW_RST_GPIOA
Definition common.h:98
@ VSF_HW_RST_ENET1
Definition common.h:64
@ VSF_HW_RST_GPIOG
Definition common.h:92
@ VSF_HW_RST_TLI
Definition common.h:160
@ VSF_HW_RST_DMA0
Definition common.h:62
@ VSF_HW_RST_GPIOH
Definition common.h:91
@ VSF_HW_RST_VREF
Definition common.h:165
@ VSF_HW_RST_USART0
Definition common.h:154
@ VSF_HW_RST_TIMER42
Definition common.h:136
@ VSF_HW_RST_SDIO0
Definition common.h:82
@ VSF_HW_RST_OSPI1
Definition common.h:78
@ VSF_HW_RST_I2C2
Definition common.h:107
@ VSF_HW_RST_MDMA
Definition common.h:81
@ VSF_HW_RST_RTDEC0
Definition common.h:77
@ VSF_HW_RST_TIMER22
Definition common.h:123
@ VSF_HW_RST_DCI
Definition common.h:73
@ VSF_HW_RST_CAU
Definition common.h:70
@ VSF_HW_RST_GPIOE
Definition common.h:94
@ VSF_HW_RST_PMU
Definition common.h:163
@ VSF_HW_RST_EDOUT
Definition common.h:133
@ VSF_HW_RST_SPI1
Definition common.h:116
@ VSF_HW_RST_TIMER44
Definition common.h:134
@ VSF_HW_RST_TIMER6
Definition common.h:124
@ VSF_HW_RST_UART3
Definition common.h:111
@ VSF_HW_RST_SAI0
Definition common.h:141
@ VSF_HW_RST_TIMER40
Definition common.h:138
@ VSF_HW_RST_GPIOK
Definition common.h:89
@ VSF_HW_RST_GPIOF
Definition common.h:93
@ VSF_HW_RST_GPIOC
Definition common.h:96
@ VSF_HW_RST_IPA
Definition common.h:83
@ VSF_HW_RST_WWDGT
Definition common.h:159
@ VSF_HW_RST_I2C0
Definition common.h:109
@ VSF_HW_RST_I2C1
Definition common.h:108
@ VSF_HW_RST_RTDEC1
Definition common.h:76
@ VSF_HW_RST_TIMER16
Definition common.h:145
@ VSF_HW_RST_TIMER51
Definition common.h:118
@ VSF_HW_RST_TIMER7
Definition common.h:155
@ VSF_HW_RST_TIMER30
Definition common.h:121
@ VSF_HW_RST_TRNG
Definition common.h:68
@ VSF_HW_RST_GPIOB
Definition common.h:97
@ VSF_HW_RST_DMAMUX
Definition common.h:60
@ VSF_HW_RST_UART6
Definition common.h:102
@ VSF_HW_RST_HWSEM
Definition common.h:87
@ VSF_HW_RST_TIMER15
Definition common.h:146
@ VSF_HW_RST_HPDF
Definition common.h:144
@ VSF_HW_RST_HAU
Definition common.h:69
@ VSF_HW_RST_SAI2
Definition common.h:139
@ VSF_HW_RST_LPDTS
Definition common.h:164
@ VSF_HW_RST_TRIGSEL
Definition common.h:132
@ VSF_HW_RST_SDIO1
Definition common.h:71
@ VSF_HW_RST_CTC
Definition common.h:105
@ VSF_HW_RST_TIMER43
Definition common.h:135
@ VSF_HW_RST_CRC
Definition common.h:88
@ VSF_HW_RST_SYSCFG
Definition common.h:167
@ VSF_HW_RST_USART5
Definition common.h:153
@ VSF_HW_RST_TIMER5
Definition common.h:125
@ VSF_HW_RST_TMU
Definition common.h:67
@ VSF_HW_RST_ADC2
Definition common.h:150
@ VSF_HW_RST_TIMER14
Definition common.h:147
@ VSF_HW_RST_GPIOD
Definition common.h:95
@ VSF_HW_RST_TIMER1
Definition common.h:129
@ VSF_HW_RST_DACHOLD
Definition common.h:104
@ VSF_HW_RST_TIMER4
Definition common.h:126
@ VSF_HW_RST_OSPIM
Definition common.h:80
@ VSF_HW_RST_I2C3
Definition common.h:106
@ VSF_HW_RST_SPI3
Definition common.h:148
@ VSF_HW_RST_MDIO
Definition common.h:114
@ VSF_HW_RST_TIMER3
Definition common.h:127
@ VSF_HW_RST_SPI0
Definition common.h:149
@ VSF_HW_RST_USBHS0
Definition common.h:63
@ VSF_HW_RST_SAI1
Definition common.h:140
@ VSF_HW_RST_USBHS1
Definition common.h:58
@ VSF_HW_RST_ADC1
Definition common.h:151
@ VSF_HW_RST_TIMER50
Definition common.h:119
@ VSF_HW_RST_TIMER0
Definition common.h:156
@ VSF_HW_RST_ADC0
Definition common.h:152
vsf_err_t vsf_hw_pll_vco_config(const vsf_hw_clk_t *clk, uint_fast8_t src_prescaler, uint32_t vco_freq_hz)
configure frequency range of pll input/output clocks
Definition driver.c:708
const vsf_hw_clk_t VSF_HW_CLK_HXTAL
Definition driver.c:106
const vsf_hw_clk_t VSF_HW_CLK_PLL0R
Definition driver.c:223
const vsf_hw_clk_t VSF_HW_CLK_PLL0Q
Definition driver.c:212
const vsf_hw_clk_t VSF_HW_CLK_LXTAL
Definition driver.c:114
const vsf_hw_clk_t VSF_HW_CLK_PLL2P
Definition driver.c:267
#define VSF_HW_CLKRST_REGION(__WORD_OFFSET, __BIT_OFFSET, __BIT_LENGTH)
Definition common.h:32
const vsf_hw_clk_t VSF_HW_CLK_PLL1R
Definition driver.c:256
const vsf_hw_clk_t VSF_HW_CLK_PLL1P
Definition driver.c:234
const vsf_hw_clk_t VSF_HW_CLK_IRC32K
Definition driver.c:142
const vsf_hw_clk_t VSF_HW_CLK_PLL2R
Definition driver.c:289
const vsf_hw_clk_t VSF_HW_CLK_AHB
Definition driver.c:340
const vsf_hw_clk_t VSF_HW_CLK_RTC
Definition driver.c:313
const vsf_hw_clk_t VSF_HW_CLK_IRC64MDIV
Definition driver.c:122
vsf_err_t vsf_hw_clk_config(const vsf_hw_clk_t *clk, const vsf_hw_clk_t *clksrc, uint16_t prescaler, uint32_t freq_hz)
Definition driver.c:640
const vsf_hw_clk_t VSF_HW_CLK_PLL2Q
Definition driver.c:278
const vsf_hw_clk_t VSF_HW_CLK_SDIO0
Definition driver.c:440
const vsf_hw_clk_t VSF_HW_CLK_PLL1Q
Definition driver.c:245
void vsf_hw_clk_disable(const vsf_hw_clk_t *clk)
Definition driver.c:632
vsf_hw_peripheral_en_t
Definition common.h:170
@ VSF_HW_EN_TIMER30
Definition common.h:247
@ VSF_HW_EN_LPDTS
Definition common.h:290
@ VSF_HW_EN_ADC1
Definition common.h:277
@ VSF_HW_EN_TRIGSEL
Definition common.h:258
@ VSF_HW_EN_WWDGT
Definition common.h:285
@ VSF_HW_EN_TMU
Definition common.h:190
@ VSF_HW_EN_SDIO1
Definition common.h:194
@ VSF_HW_EN_USART0
Definition common.h:280
@ VSF_HW_EN_MDMA
Definition common.h:206
@ VSF_HW_EN_TIMER43
Definition common.h:261
@ VSF_HW_EN_ADC2
Definition common.h:276
@ VSF_HW_EN_TIMER16
Definition common.h:271
@ VSF_HW_EN_HWSEM
Definition common.h:212
@ VSF_HW_EN_USBHS1
Definition common.h:173
@ VSF_HW_EN_EXMC
Definition common.h:209
@ VSF_HW_EN_TIMER31
Definition common.h:246
@ VSF_HW_EN_SPI2
Definition common.h:241
@ VSF_HW_EN_HPDF
Definition common.h:270
@ VSF_HW_EN_MDIO
Definition common.h:240
@ VSF_HW_EN_TIMER4
Definition common.h:252
@ VSF_HW_EN_TIMER6
Definition common.h:250
@ VSF_HW_EN_TIMER5
Definition common.h:251
@ VSF_HW_EN_DMAMUX
Definition common.h:178
@ VSF_HW_EN_SPI1
Definition common.h:242
@ VSF_HW_EN_TIMER22
Definition common.h:249
@ VSF_HW_EN_BKPSRAM
Definition common.h:214
@ VSF_HW_EN_USBHS0ULPI
Definition common.h:181
@ VSF_HW_EN_TIMER15
Definition common.h:272
@ VSF_HW_EN_TIMER42
Definition common.h:262
@ VSF_HW_EN_TIMER23
Definition common.h:248
@ VSF_HW_EN_TLI
Definition common.h:286
@ VSF_HW_EN_TIMER41
Definition common.h:263
@ VSF_HW_EN_TIMER2
Definition common.h:254
@ VSF_HW_EN_CPU
Definition common.h:199
@ VSF_HW_EN_TIMER50
Definition common.h:245
@ VSF_HW_EN_ENET0PTP
Definition common.h:174
@ VSF_HW_EN_CMP
Definition common.h:292
@ VSF_HW_EN_OSPIM
Definition common.h:205
@ VSF_HW_EN_ENET1TX
Definition common.h:185
@ VSF_HW_EN_ENET0
Definition common.h:177
@ VSF_HW_EN_SPI4
Definition common.h:269
@ VSF_HW_EN_USBHS1ULPI
Definition common.h:172
@ VSF_HW_EN_I2C1
Definition common.h:234
@ VSF_HW_EN_RAMECCMU1
Definition common.h:189
@ VSF_HW_EN_RTDEC1
Definition common.h:201
@ VSF_HW_EN_DACHOLD
Definition common.h:230
@ VSF_HW_EN_CRC
Definition common.h:213
@ VSF_HW_EN_TIMER1
Definition common.h:255
@ VSF_HW_EN_TIMER0
Definition common.h:282
@ VSF_HW_EN_TIMER44
Definition common.h:260
@ VSF_HW_EN_RAMECCMU0
Definition common.h:200
@ VSF_HW_EN_CTC
Definition common.h:231
@ VSF_HW_EN_IPA
Definition common.h:208
@ VSF_HW_EN_SAI0
Definition common.h:267
@ VSF_HW_EN_SPI3
Definition common.h:274
@ VSF_HW_EN_CAU
Definition common.h:193
@ VSF_HW_EN_DCI
Definition common.h:196
@ VSF_HW_EN_ENET0TX
Definition common.h:176
@ VSF_HW_EN_SAI2
Definition common.h:265
@ VSF_HW_EN_SDIO0
Definition common.h:207
@ VSF_HW_EN_ADC0
Definition common.h:278
@ VSF_HW_EN_DMA0
Definition common.h:180
@ VSF_HW_EN_DMA1
Definition common.h:179
@ VSF_HW_EN_ENET1RX
Definition common.h:184
@ VSF_HW_EN_ENET0RX
Definition common.h:175
@ VSF_HW_EN_TIMER7
Definition common.h:281
@ VSF_HW_EN_USART5
Definition common.h:279
@ VSF_HW_EN_RSPDIF
Definition common.h:243
@ VSF_HW_EN_DAC
Definition common.h:229
@ VSF_HW_EN_HAU
Definition common.h:192
@ VSF_HW_EN_I2C0
Definition common.h:235
@ VSF_HW_EN_OSPI0
Definition common.h:204
@ VSF_HW_EN_UART6
Definition common.h:228
@ VSF_HW_EN_PMU
Definition common.h:289
@ VSF_HW_EN_TIMER40
Definition common.h:264
@ VSF_HW_EN_I2C2
Definition common.h:233
@ VSF_HW_EN_TIMER51
Definition common.h:244
@ VSF_HW_EN_ENET1PTP
Definition common.h:183
@ VSF_HW_EN_USBHS0
Definition common.h:182
@ VSF_HW_EN_TIMER3
Definition common.h:253
@ VSF_HW_EN_SYSCFG
Definition common.h:293
@ VSF_HW_EN_OSPI1
Definition common.h:203
@ VSF_HW_EN_FAC
Definition common.h:195
@ VSF_HW_EN_SPI0
Definition common.h:275
@ VSF_HW_EN_I2C3
Definition common.h:232
@ VSF_HW_EN_SAI1
Definition common.h:266
@ VSF_HW_EN_UART3
Definition common.h:237
@ VSF_HW_EN_RTDEC0
Definition common.h:202
@ VSF_HW_EN_TIMER14
Definition common.h:273
@ VSF_HW_EN_VREF
Definition common.h:291
@ VSF_HW_EN_TRNG
Definition common.h:191
@ VSF_HW_EN_ENET1
Definition common.h:186
@ VSF_HW_EN_EDOUT
Definition common.h:259
@ VSF_HW_EN_SPI5
Definition common.h:268
const vsf_hw_clk_t VSF_HW_CLK_TLI
Definition driver.c:454
const vsf_hw_clk_t VSF_HW_CLK_USART0
Definition driver.c:412
const vsf_hw_clk_t VSF_HW_CLK_SDIO1
Definition driver.c:445
const vsf_hw_clk_t VSF_HW_CLK_LPIRC4M
Definition driver.c:134
const vsf_hw_clk_t VSF_HW_CLK_PLL2_VCO
Definition driver.c:187
const vsf_hw_clk_t VSF_HW_CLK_USART1
Definition driver.c:417
void vsf_hw_clk_enable(const vsf_hw_clk_t *clk)
Definition driver.c:621
const vsf_hw_clk_t VSF_HW_CLK_PLL1_VCO
Definition driver.c:173
const vsf_hw_clk_t VSF_HW_CLK_PLL0_VCO
Definition driver.c:159
const vsf_hw_clk_t VSF_HW_CLK_USART2
Definition driver.c:422
const vsf_hw_clk_t VSF_HW_CLK_USART5
Definition driver.c:427
const vsf_hw_clk_t VSF_HW_CLK_PLL0P
Definition driver.c:201
const vsf_hw_clk_t VSF_HW_CLK_SYS
Definition driver.c:323
vsf_hw_peripheral_rst_t
Definition common.h:49
@ VSF_HW_RST_UART7
Definition common.h:56
@ VSF_HW_RST_USART2
Definition common.h:51
@ VSF_HW_RST_USART1
Definition common.h:50
@ VSF_HW_RST_UART4
Definition common.h:53
void vsf_hw_clkrst_region_clear_bit(uint32_t region)
Definition driver.c:504
const vsf_hw_clk_t VSF_HW_CLK_PCLK4
Definition driver.c:390
void vsf_hw_clkrst_region_set_bit(uint32_t region)
Definition driver.c:492
const vsf_hw_clk_t VSF_HW_CLK_PCLK3
Definition driver.c:378
const vsf_hw_clk_t VSF_HW_CLK_PCLK2
Definition driver.c:366
uint32_t vsf_hw_clk_get_freq_hz(const vsf_hw_clk_t *clk)
Definition driver.c:580
vsf_hw_peripheral_en_t
Definition common.h:63
@ VSF_HW_EN_GPIOH
Definition common.h:71
@ VSF_HW_EN_GPIOE
Definition common.h:68
@ VSF_HW_EN_UART7
Definition common.h:82
@ VSF_HW_EN_USART2
Definition common.h:77
@ VSF_HW_EN_GPIOB
Definition common.h:65
@ VSF_HW_EN_GPIOC
Definition common.h:66
@ VSF_HW_EN_GPIOD
Definition common.h:67
@ VSF_HW_EN_UART4
Definition common.h:79
@ VSF_HW_EN_GPIOA
Definition common.h:64
@ VSF_HW_EN_GPIOG
Definition common.h:70
@ VSF_HW_EN_USART1
Definition common.h:76
@ VSF_HW_EN_GPIOJ
Definition common.h:73
@ VSF_HW_EN_GPIOK
Definition common.h:74
@ VSF_HW_EN_GPIOF
Definition common.h:69
uint_fast8_t vsf_hw_clkrst_region_get_bit(uint32_t region)
Definition driver.c:516
uint_fast8_t vsf_hw_clkrst_region_get(uint32_t region)
Definition driver.c:484
void vsf_hw_clkrst_region_set(uint32_t region, uint_fast8_t value)
Definition driver.c:471
const vsf_hw_clk_t VSF_HW_CLK_PCLK1
Definition driver.c:354
const vsf_hw_clk_t VSF_HW_CLK_PER
Definition driver.c:330
const vsf_hw_clk_t * vsf_hw_clk_get_src(const vsf_hw_clk_t *clk)
Definition driver.c:542
unsigned short uint16_t
Definition stdint.h:7
unsigned char uint_fast8_t
Definition stdint.h:23
unsigned uint32_t
Definition stdint.h:9
Definition driver.c:78
const vsf_hw_clk_t * clksrc
Definition driver.c:87
vk_av_control_value_t value
Definition vsf_audio.h:171