1 /**
2 ******************************************************************************
3 * @file stm32n6xx_ll_system.h
4 * @author MCD Application Team
5 * @brief Header file of SYSTEM LL module.
6 ******************************************************************************
7 * @attention
8 *
9 * Copyright (c) 2023 STMicroelectronics.
10 * All rights reserved.
11 *
12 * This software is licensed under terms that can be found in the LICENSE file
13 * in the root directory of this software component.
14 * If no LICENSE file comes with this software, it is provided AS-IS.
15 *
16 ******************************************************************************
17 @verbatim
18 ==============================================================================
19 ##### How to use this driver #####
20 ==============================================================================
21 [..]
22 The LL SYSTEM driver contains a set of generic APIs that can be
23 used by user:
24 (+) Some of the FLASH features need to be handled in the SYSTEM file.
25 (+) Access to DBGCMU registers
26 (+) Access to SYSCFG registers
27 @endverbatim
28 */
29
30 /* Define to prevent recursive inclusion -------------------------------------*/
31 #ifndef STM32N6xx_LL_SYSTEM_H
32 #define STM32N6xx_LL_SYSTEM_H
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 /* Includes ------------------------------------------------------------------*/
39 #include "stm32n6xx.h"
40
41 /** @addtogroup STM32N6xx_LL_Driver
42 * @{
43 */
44
45 #if defined (SYSCFG) || defined (DBGMCU)
46
47 /** @defgroup SYSTEM_LL SYSTEM
48 * @{
49 */
50
51 /* Private types -------------------------------------------------------------*/
52 /* Private variables ---------------------------------------------------------*/
53
54 /* Private constants ---------------------------------------------------------*/
55 /** @defgroup SYSTEM_LL_Private_Constants SYSTEM Private Constants
56 * @{
57 */
58
59 /** @defgroup SYSTEM_LL_EC_CS1 SYSCFG Vdd compensation cell Code selection
60 * @{
61 */
62 #define LL_SYSCFG_VDD_CELL_CODE 0U /*VDD I/Os code from the cell (available in the SYSCFG_CCVR)*/
63 #define LL_SYSCFG_VDD_REGISTER_CODE SYSCFG_CCCSR_CS1 /*VDD I/Os code from the SYSCFG compensation cell code register (SYSCFG_CCCR)*/
64 /**
65 * @}
66 */
67
68 /* Private macros ------------------------------------------------------------*/
69
70 /* Exported types ------------------------------------------------------------*/
71 /* Exported constants --------------------------------------------------------*/
72 /** @defgroup SYSTEM_LL_Exported_Constants SYSTEM Exported Constants
73 * @{
74 */
75
76 /** @defgroup SYSTEM_LL_EC_I2C_FASTMODEPLUS SYSCFG I2C FASTMODEPLUS
77 * @{
78 */
79 #define LL_SYSCFG_I2C_FASTMODEPLUS_PA6 SYSCFG_CFGR1_PA6_FMP /*!< Enable Fast Mode Plus on PA6 */
80 #define LL_SYSCFG_I2C_FASTMODEPLUS_PA7 SYSCFG_CFGR1_PA7_FMP /*!< Enable Fast Mode Plus on PA7 */
81 #define LL_SYSCFG_I2C_FASTMODEPLUS_PA15 SYSCFG_CFGR1_PA15_FMP /*!< Enable Fast Mode Plus on PA15 */
82 #define LL_SYSCFG_I2C_FASTMODEPLUS_PB3 SYSCFG_CFGR1_PB3_FMP /*!< Enable Fast Mode Plus on PB3 */
83 /**
84 * @}
85 */
86
87 /** @defgroup SYSTEM_LL_EC_TIMBREAK SYSCFG TIMER BREAK
88 * @{
89 */
90 #define LL_SYSCFG_TIMBREAK_ECC SYSCFG_CFGR2_ECCL /*!< Enables and locks the ECC error signal
91 with Break Input of TIM1/16/17 */
92 #define LL_SYSCFG_TIMBREAK_PVD SYSCFG_CFGR2_PVDL /*!< Enables and locks the PVD connection
93 with TIM1/16/17 Break Input and also
94 the PVDE and PLS bits of the Power Control Interface */
95 #define LL_SYSCFG_TIMBREAK_SRAM_ECC_LOCK SYSCFG_CFGR2_SPL /*!< Enables and locks the SRAM ECC double error signal
96 with Break Input of TIM1/16/17 */
97 #define LL_SYSCFG_TIMBREAK_LOCKUP SYSCFG_CFGR2_CLL /*!< Enables and locks the LOCKUP output of CortexM33
98 with Break Input of TIM1/16/17 */
99 /**
100 * @}
101 */
102
103 /** @defgroup SYSTEM_LL_EC_SECURE_ATTRIBUTES Secure attributes
104 * @note Only available when system implements security (TZEN=1)
105 * @{
106 */
107 #define LL_SYSCFG_CLOCK_SEC SYSCFG_SECCFGR_SYSCFGSEC /*!< SYSCFG clock configuration secure-only access */
108 #define LL_SYSCFG_CLOCK_NSEC 0U /*!< SYSCFG clock configuration secure/non-secure access */
109 #define LL_SYSCFG_CLASSB_SEC SYSCFG_SECCFGR_CLASSBSEC /*!< Class B configuration secure-only access */
110 #define LL_SYSCFG_CLASSB_NSEC 0U /*!< Class B configuration secure/non-secure access */
111 #define LL_SYSCFG_FPU_SEC SYSCFG_SECCFGR_FPUSEC /*!< FPU configuration secure-only access */
112 #define LL_SYSCFG_FPU_NSEC 0U /*!< FPU configuration secure/non-secure access */
113 /**
114 * @}
115 */
116
117 /** @defgroup SYSTEM_LL_EC_TIMBREAK SYSCFG TIMER BREAK
118 * @{
119 */
120 #define LL_DBGMCU_DBTRGIN 0U /*!< DBTRGIO connected to DBTRGIN */
121 #define LL_DBGMCU_DBTRGOUT DBGMCU_CR_DBTRGOEN /*!< DBTRGIO connected to DBTRGOUT */
122 /**
123 * @}
124 */
125
126 /** @defgroup SYSTEM_LL_EC_APB1_GRP1_STOP_IP DBGMCU APB1 GRP1 STOP IP
127 * @{
128 */
129 #define LL_DBGMCU_APB1_GRP1_TIM2_STOP DBGMCU_APB1LFZ1_DBG_TIM2_STOP
130 #define LL_DBGMCU_APB1_GRP1_TIM3_STOP DBGMCU_APB1LFZ1_DBG_TIM3_STOP /*!< TIM3 stop in debug */
131 #define LL_DBGMCU_APB1_GRP1_TIM4_STOP DBGMCU_APB1LFZ1_DBG_TIM4_STOP /*!< TIM4 stop in debug */
132 #define LL_DBGMCU_APB1_GRP1_TIM5_STOP DBGMCU_APB1LFZ1_DBG_TIM5_STOP /*!< TIM5 stop in debug */
133 #define LL_DBGMCU_APB1_GRP1_TIM6_STOP DBGMCU_APB1LFZ1_DBG_TIM6_STOP /*!< TIM6 stop in debug */
134 #define LL_DBGMCU_APB1_GRP1_TIM7_STOP DBGMCU_APB1LFZ1_DBG_TIM7_STOP /*!< TIM7 stop in debug */
135 #define LL_DBGMCU_APB1_GRP1_TIM12_STOP DBGMCU_APB1LFZ1_DBG_TIM12_STOP /*!< TIM12 stop in debug */
136 #define LL_DBGMCU_APB1_GRP1_TIM13_STOP DBGMCU_APB1LFZ1_DBG_TIM13_STOP /*!< TIM13 stop in debug */
137 #define LL_DBGMCU_APB1_GRP1_TIM14_STOP DBGMCU_APB1LFZ1_DBG_TIM14_STOP /*!< TIM14 stop in debug */
138 #define LL_DBGMCU_APB1_GRP1_LPTIM1_STOP DBGMCU_APB1LFZ1_DBG_LPTIM1_STOP /*!< LPTIM1 stop in debug */
139 #define LL_DBGMCU_APB1_GRP1_WWDG_STOP DBGMCU_APB1LFZ1_DBG_WWDG1_STOP /*!< WWDG1 stop in debug */
140 #define LL_DBGMCU_APB1_GRP1_TIM10_STOP DBGMCU_APB1LFZ1_DBG_TIM10_STOP /*!< TIM10 stop in debug */
141 #define LL_DBGMCU_APB1_GRP1_TIM11_STOP DBGMCU_APB1LFZ1_DBG_TIM11_STOP /*!< TIM11 stop in debug */
142 #define LL_DBGMCU_APB1_GRP1_I2C1_STOP DBGMCU_APB1LFZ1_DBG_I2C1_STOP /*!< I2C1 SMBUS timeout stop in debug */
143 #define LL_DBGMCU_APB1_GRP1_I2C2_STOP DBGMCU_APB1LFZ1_DBG_I2C2_STOP /*!< I2C2 SMBUS timeout stop in debug */
144 #define LL_DBGMCU_APB1_GRP1_I2C3_STOP DBGMCU_APB1LFZ1_DBG_I2C3_STOP /*!< I2C3 SMBUS timeout stop in debug */
145 #define LL_DBGMCU_APB1_GRP1_I3C1_STOP DBGMCU_APB1LFZ1_DBG_I3C1_STOP /*!< I3C1 SMBUS timeout stop in debug */
146 #define LL_DBGMCU_APB1_GRP1_I3C2_STOP DBGMCU_APB1LFZ1_DBG_I3C2_STOP /*!< I3C2 SMBUS timeout stop in debug */
147 /**
148 * @}
149 */
150
151 /** @defgroup SYSTEM_LL_EC_APB1_GRP2_STOP_IP DBGMCU APB1 GRP2 STOP IP
152 * @{
153 */
154 #define LL_DBGMCU_APB1_GRP2_FDCAN_STOP DBGMCU_APB1HFZ1_DBG_FDCAN_STOP /*!< FDCAN stop in debug */
155 /**
156 * @}
157 */
158
159 /** @defgroup SYSTEM_LL_EC_APB2_GRP1_STOP_IP DBGMCU APB2 GRP1 STOP IP
160 * @{
161 */
162 #define LL_DBGMCU_APB2_GRP1_TIM1_STOP DBGMCU_APB2FZ1_DBG_TIM1_STOP /*!< TIM1 stop in debug */
163 #define LL_DBGMCU_APB2_GRP1_TIM8_STOP DBGMCU_APB2FZ1_DBG_TIM8_STOP /*!< TIM8 stop in debug */
164 #define LL_DBGMCU_APB2_GRP1_TIM18_STOP DBGMCU_APB2FZ1_DBG_TIM18_STOP /*!< TIM18 stop in debug */
165 #define LL_DBGMCU_APB2_GRP1_TIM15_STOP DBGMCU_APB2FZ1_DBG_TIM15_STOP /*!< TIM15 stop in debug */
166 #define LL_DBGMCU_APB2_GRP1_TIM16_STOP DBGMCU_APB2FZ1_DBG_TIM16_STOP /*!< TIM16 stop in debug */
167 #define LL_DBGMCU_APB2_GRP1_TIM17_STOP DBGMCU_APB2FZ1_DBG_TIM17_STOP /*!< TIM17 stop in debug */
168 #define LL_DBGMCU_APB2_GRP1_TIM9_STOP DBGMCU_APB2FZ1_DBG_TIM9_STOP /*!< TIM9 stop in debug */
169 /**
170 * @}
171 */
172
173 /** @defgroup SYSTEM_LL_EC_APB4_GRP1_STOP_IP DBGMCU APB4 GRP1 STOP IP
174 * @{
175 */
176 #define LL_DBGMCU_APB4_GRP1_I2C4_STOP DBGMCU_APB4FZ1_DBG_I2C4_STOP /*!< I2C4 stop in debug */
177 #define LL_DBGMCU_APB4_GRP1_LPTIM2_STOP DBGMCU_APB4FZ1_DBG_LPTIM2_STOP /*!< LPTIM2 stop in debug */
178 #define LL_DBGMCU_APB4_GRP1_LPTIM3_STOP DBGMCU_APB4FZ1_DBG_LPTIM3_STOP /*!< LPTIM3 stop in debug */
179 #define LL_DBGMCU_APB4_GRP1_LPTIM4_STOP DBGMCU_APB4FZ1_DBG_LPTIM4_STOP /*!< LPTIM4 stop in debug */
180 #define LL_DBGMCU_APB4_GRP1_LPTIM5_STOP DBGMCU_APB4FZ1_DBG_LPTIM5_STOP /*!< LPTIM5 stop in debug */
181 #define LL_DBGMCU_APB4_GRP1_RTC_STOP DBGMCU_APB4FZ1_DBG_RTC_STOP /*!< RTC stop in debug */
182 #define LL_DBGMCU_APB4_GRP1_IWDG_STOP DBGMCU_APB4FZ1_DBG_IWDG_STOP /*!< IWDG stop in debug */
183 /**
184 * @}
185 */
186
187 /** @defgroup SYSTEM_LL_EC_APB5_GRP1_STOP_IP DBGMCU APB5 GRP1 STOP IP
188 * @{
189 */
190 #define LL_DBGMCU_APB5_GRP1_GFXTIM_STOP DBGMCU_APB5FZ1_DBG_GFXTIM_STOP /*!< GFXTIM stop in debug */
191 /**
192 * @}
193 */
194
195 /** @defgroup SYSTEM_LL_EC_AHB1_GRP1_STOP_IP DBGMCU AHB1 GRP1 STOP IP
196 * @{
197 */
198 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH0_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH0_STOP /*!< GPDMA1_CH0 suspend in debug */
199 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH1_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH1_STOP /*!< GPDMA1_CH1 suspend in debug */
200 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH2_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH2_STOP /*!< GPDMA1_CH2 suspend in debug */
201 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH3_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH3_STOP /*!< GPDMA1_CH3 suspend in debug */
202 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH4_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH4_STOP /*!< GPDMA1_CH4 suspend in debug */
203 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH5_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH5_STOP /*!< GPDMA1_CH5 suspend in debug */
204 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH6_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH6_STOP /*!< GPDMA1_CH6 suspend in debug */
205 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH7_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH7_STOP /*!< GPDMA1_CH7 suspend in debug */
206 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH8_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH8_STOP /*!< GPDMA1_CH8 suspend in debug */
207 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH9_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH9_STOP /*!< GPDMA1_CH9 suspend in debug */
208 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH10_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH10_STOP /*!< GPDMA1_CH10 suspend in debug */
209 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH11_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH11_STOP /*!< GPDMA1_CH11 suspend in debug */
210 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH12_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH12_STOP /*!< GPDMA1_CH12 suspend in debug */
211 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH13_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH13_STOP /*!< GPDMA1_CH13 suspend in debug */
212 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH14_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH14_STOP /*!< GPDMA1_CH14 suspend in debug */
213 #define LL_DBGMCU_AHB1_GRP1_GPDMA1_CH15_STOP DBGMCU_AHB1FZ1_DBG_GPDMA1_CH15_STOP /*!< GPDMA1_CH15 suspend in debug */
214 /**
215 * @}
216 */
217
218 /** @defgroup SYSTEM_LL_EC_AHB5_GRP1_STOP_IP DBGMCU AHB5 GRP1 STOP IP
219 * @{
220 */
221 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH0_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH0_STOP /*!< HPDMA1_CH0 suspend in debug */
222 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH1_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH1_STOP /*!< HPDMA1_CH1 suspend in debug */
223 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH2_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH2_STOP /*!< HPDMA1_CH2 suspend in debug */
224 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH3_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH3_STOP /*!< HPDMA1_CH3 suspend in debug */
225 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH4_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH4_STOP /*!< HPDMA1_CH4 suspend in debug */
226 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH5_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH5_STOP /*!< HPDMA1_CH5 suspend in debug */
227 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH6_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH6_STOP /*!< HPDMA1_CH6 suspend in debug */
228 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH7_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH7_STOP /*!< HPDMA1_CH7 suspend in debug */
229 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH8_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH8_STOP /*!< HPDMA1_CH8 suspend in debug */
230 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH9_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH9_STOP /*!< HPDMA1_CH9 suspend in debug */
231 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH10_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH10_STOP /*!< HPDMA1_CH10 suspend in debug */
232 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH11_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH11_STOP /*!< HPDMA1_CH11 suspend in debug */
233 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH12_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH12_STOP /*!< HPDMA1_CH12 suspend in debug */
234 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH13_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH13_STOP /*!< HPDMA1_CH13 suspend in debug */
235 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH14_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH14_STOP /*!< HPDMA1_CH14 suspend in debug */
236 #define LL_DBGMCU_AHB5_GRP1_HPDMA1_CH15_STOP DBGMCU_AHB5FZ1_DBG_HPDMA1_CH15_STOP /*!< HPDMA1_CH15 suspend in debug */
237 #define LL_DBGMCU_AHB5_GRP1_NPU_STOP DBGMCU_AHB5FZ1_NPU_DBG_FREEZE /*!< NPU stop in debug mode */
238 /**
239 * @}
240 */
241
242 /* Exported macro ------------------------------------------------------------*/
243
244 /* Exported functions --------------------------------------------------------*/
245 /** @defgroup SYSTEM_LL_Exported_Functions SYSTEM Exported Functions
246 * @{
247 */
248
249
250 #if defined (CPU_IN_SECURE_STATE)
251 /**
252 * @brief Returns the device identifier
253 * @note The BSEC clock must be enabled before calling this function
254 * Returned Device ID can be
255 * 0x00006200 for STM32N645xx
256 * 0x00006000 for STM32N655xx
257 * 0x00002200 for STM32N647xx
258 * 0x00002000 for STM32N657xx
259 * 0xffffffff if an error occurs
260 * @retval Device identifier
261 */
LL_GetDeviceID(void)262 __STATIC_INLINE uint32_t LL_GetDeviceID(void)
263 {
264 return (uint32_t)(READ_REG(BSEC->FVRw[9]));
265 }
266
267
268 /**
269 * @brief Returns the device revision identifier
270 * @note Returned Revision ID can be
271 * 0x00000100 for Cut1.0
272 * 0x00000101 for Cut1.1
273 * 0x00000200 for Cut2.0
274 * @retval Device revision identifier
275 */
LL_GetRevisionID(void)276 __STATIC_INLINE uint32_t LL_GetRevisionID(void)
277 {
278 return *(uint32_t *)(REVID_BASE);
279 }
280 #endif /* CPU_IN_SECURE_STATE */
281
282 /** @defgroup SYSTEM_LL_EF_DBGMCU DBGMCU
283 * @{
284 */
285
286 /**
287 * @brief Enable the Debug Module during SLEEP mode
288 * @rmtoll DBGMCU_CR DBG_SLEEP LL_DBGMCU_EnableDBGSleepMode
289 * @retval None
290 */
LL_DBGMCU_EnableDBGSleepMode(void)291 __STATIC_INLINE void LL_DBGMCU_EnableDBGSleepMode(void)
292 {
293 SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_SLEEP);
294 }
295
296 /**
297 * @brief Disable the Debug Module during SLEEP mode
298 * @rmtoll DBGMCU_CR DBG_SLEEP LL_DBGMCU_DisableDBGSleepMode
299 * @retval None
300 */
LL_DBGMCU_DisableDBGSleepMode(void)301 __STATIC_INLINE void LL_DBGMCU_DisableDBGSleepMode(void)
302 {
303 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_SLEEP);
304 }
305
306 /**
307 * @brief Enable the Debug Module during STOP mode
308 * @rmtoll DBGMCU_CR DBG_STOP LL_DBGMCU_EnableDBGStopMode
309 * @retval None
310 */
LL_DBGMCU_EnableDBGStopMode(void)311 __STATIC_INLINE void LL_DBGMCU_EnableDBGStopMode(void)
312 {
313 SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
314 }
315
316 /**
317 * @brief Disable the Debug Module during STOP mode
318 * @rmtoll DBGMCU_CR DBG_STOP LL_DBGMCU_DisableDBGStopMode
319 * @retval None
320 */
LL_DBGMCU_DisableDBGStopMode(void)321 __STATIC_INLINE void LL_DBGMCU_DisableDBGStopMode(void)
322 {
323 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
324 }
325
326 /**
327 * @brief Enable the Debug Module during STANDBY mode
328 * @rmtoll DBGMCU_CR DBG_STANDBY LL_DBGMCU_EnableDBGStandbyMode
329 * @retval None
330 */
LL_DBGMCU_EnableDBGStandbyMode(void)331 __STATIC_INLINE void LL_DBGMCU_EnableDBGStandbyMode(void)
332 {
333 SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
334 }
335
336 /**
337 * @brief Disable the Debug Module during STANDBY mode
338 * @rmtoll DBGMCU_CR DBG_STANDBY LL_DBGMCU_DisableDBGStandbyMode
339 * @retval None
340 */
LL_DBGMCU_DisableDBGStandbyMode(void)341 __STATIC_INLINE void LL_DBGMCU_DisableDBGStandbyMode(void)
342 {
343 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
344 }
345
346 /**
347 * @brief Enable the Debug clock through software
348 * @rmtoll DBGMCU_CR DBGCLKEN LL_DBGMCU_EnableDBGClock
349 * @retval None
350 */
LL_DBGMCU_EnableDBGClock(void)351 __STATIC_INLINE void LL_DBGMCU_EnableDBGClock(void)
352 {
353 SET_BIT(DBGMCU->CR, DBGMCU_CR_DBGCLKEN);
354 }
355
356 /**
357 * @brief Disable the Debug clock through software
358 * @rmtoll DBGMCU_CR DBGCLKEN LL_DBGMCU_DisableDBGClock
359 * @retval None
360 */
LL_DBGMCU_DisableDBGClock(void)361 __STATIC_INLINE void LL_DBGMCU_DisableDBGClock(void)
362 {
363 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBGCLKEN);
364 }
365
366 /**
367 * @brief Enable the TPIU export clock enable through software
368 * @rmtoll DBGMCU_CR TRACECLKEN LL_DBGMCU_EnableTPIUExportClock
369 * @retval None
370 */
LL_DBGMCU_EnableTPIUExportClock(void)371 __STATIC_INLINE void LL_DBGMCU_EnableTPIUExportClock(void)
372 {
373 SET_BIT(DBGMCU->CR, DBGMCU_CR_TRACECLKEN);
374 }
375
376 /**
377 * @brief Disable the TPIU export clock enable through software
378 * @rmtoll DBGMCU_CR TRACECLKEN LL_DBGMCU_DisableTPIUExportClock
379 * @retval None
380 */
LL_DBGMCU_DisableTPIUExportClock(void)381 __STATIC_INLINE void LL_DBGMCU_DisableTPIUExportClock(void)
382 {
383 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_TRACECLKEN);
384 }
385
386 /**
387 * @brief Set DBTRGIO connection control
388 * @rmtoll DBGMCU_CR DBTRGOEN LL_DBGMCU_SetDBTRGIOConnectionControl
389 * @param ConfigDBTRGIO This parameter can be one of the following values:
390 * @arg @ref LL_DBGMCU_DBTRGIN
391 * @arg @ref LL_DBGMCU_DBTRGOUT
392 * @retval None
393 */
LL_DBGMCU_SetDBTRGIOConnectionControl(uint32_t ConfigDBTRGIO)394 __STATIC_INLINE void LL_DBGMCU_SetDBTRGIOConnectionControl(uint32_t ConfigDBTRGIO)
395 {
396 MODIFY_REG(DBGMCU->CR, DBGMCU_CR_DBTRGOEN, ConfigDBTRGIO);
397 }
398
399 /**
400 * @brief Get DBTRGIO connection control
401 * @rmtoll DBGMCU_CR DBTRGOEN LL_DBGMCU_GetDBTRGIOConnectionControl
402 * @retval Returned value can be one of the following values:
403 * @arg @ref LL_DBGMCU_DBTRGIN
404 * @arg @ref LL_DBGMCU_DBTRGOUT
405 */
LL_DBGMCU_GetDBTRGIOConnectionControl(void)406 __STATIC_INLINE uint32_t LL_DBGMCU_GetDBTRGIOConnectionControl(void)
407 {
408 return (uint32_t)(READ_BIT(DBGMCU->CR, DBGMCU_CR_DBTRGOEN));
409 }
410
411 /**
412 * @brief Enable TSGEN halt
413 * @rmtoll DBGMCU_CR HLT_TSGEN_EN LL_DBGMCU_EnableTSGENHalt
414 * @retval None
415 */
LL_DBGMCU_EnableTSGENHalt(void)416 __STATIC_INLINE void LL_DBGMCU_EnableTSGENHalt(void)
417 {
418 SET_BIT(DBGMCU->CR, DBGMCU_CR_HLT_TSGEN_EN);
419 }
420
421 /**
422 * @brief Disable TSGEN halt
423 * @rmtoll DBGMCU_CR HLT_TSGEN_EN LL_DBGMCU_DisableTSGENHalt
424 * @retval None
425 */
LL_DBGMCU_DisableTSGENHalt(void)426 __STATIC_INLINE void LL_DBGMCU_DisableTSGENHalt(void)
427 {
428 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_HLT_TSGEN_EN);
429 }
430
431 /**
432 * @brief Freeze APB1 peripherals (group1 peripherals)
433 * @rmtoll DBGMCU_APB1LFZ1 DBG_xxxx_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph
434 * @param Periphs This parameter can be a combination of the following values:
435 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP
436 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
437 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM4_STOP
438 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM5_STOP
439 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP
440 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP
441 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM12_STOP
442 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM13_STOP
443 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM14_STOP
444 * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM1_STOP
445 * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
446 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM10_STOP
447 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM11_STOP
448 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
449 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C2_STOP
450 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C3_STOP
451 * @arg @ref LL_DBGMCU_APB1_GRP1_I3C1_STOP
452 * @arg @ref LL_DBGMCU_APB1_GRP1_I3C2_STOP
453 * @retval None
454 */
LL_DBGMCU_APB1_GRP1_FreezePeriph(uint32_t Periphs)455 __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_FreezePeriph(uint32_t Periphs)
456 {
457 SET_BIT(DBGMCU->APB1LFZ1, Periphs);
458 }
459
460 /**
461 * @brief Unfreeze APB1 peripherals (group1 peripherals)
462 * @rmtoll DBGMCU_APB1LFZ DBG_xxxx_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph
463 * @param Periphs This parameter can be a combination of the following values:
464 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP
465 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
466 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM4_STOP
467 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM5_STOP
468 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP
469 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP
470 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM12_STOP
471 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM13_STOP
472 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM14_STOP
473 * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM1_STOP
474 * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
475 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM10_STOP
476 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM11_STOP
477 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
478 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C2_STOP
479 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C3_STOP
480 * @arg @ref LL_DBGMCU_APB1_GRP1_I3C1_STOP
481 * @arg @ref LL_DBGMCU_APB1_GRP1_I3C2_STOP
482 * @retval None
483 */
LL_DBGMCU_APB1_GRP1_UnFreezePeriph(uint32_t Periphs)484 __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_UnFreezePeriph(uint32_t Periphs)
485 {
486 CLEAR_BIT(DBGMCU->APB1LFZ1, Periphs);
487 }
488
489 /**
490 * @brief Freeze APB1 peripherals (group2 peripherals)
491 * @rmtoll DBGMCU_APB1HFZ1 DBG_xxxx_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph
492 * @param Periphs This parameter can be a combination of the following values:
493 * @arg @ref LL_DBGMCU_APB1_GRP2_FDCAN_STOP
494 * @retval None
495 */
LL_DBGMCU_APB1_GRP2_FreezePeriph(uint32_t Periphs)496 __STATIC_INLINE void LL_DBGMCU_APB1_GRP2_FreezePeriph(uint32_t Periphs)
497 {
498 CLEAR_BIT(DBGMCU->APB1HFZ1, Periphs);
499 }
500
501 /**
502 * @brief Unfreeze APB1 peripherals (group2 peripherals)
503 * @rmtoll DBGMCU_APB1HFZ1 DBG_xxxx_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph
504 * @param Periphs This parameter can be a combination of the following values:
505 * @arg @ref LL_DBGMCU_APB1_GRP2_FDCAN_STOP
506 * @retval None
507 */
LL_DBGMCU_APB1_GRP2_UnFreezePeriph(uint32_t Periphs)508 __STATIC_INLINE void LL_DBGMCU_APB1_GRP2_UnFreezePeriph(uint32_t Periphs)
509 {
510 CLEAR_BIT(DBGMCU->APB1HFZ1, Periphs);
511 }
512
513 /**
514 * @brief Freeze APB2 peripherals
515 * @rmtoll DBGMCU_APB2FZ1 DBG_TIMx_STOP LL_DBGMCU_APB2_FreezePeriph
516 * @param Periphs This parameter can be a combination of the following values:
517 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM1_STOP
518 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM8_STOP
519 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM18_STOP
520 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM15_STOP
521 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM16_STOP
522 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM17_STOP
523 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM9_STOP
524 * @retval None
525 */
LL_DBGMCU_APB2_FreezePeriph(uint32_t Periphs)526 __STATIC_INLINE void LL_DBGMCU_APB2_FreezePeriph(uint32_t Periphs)
527 {
528 SET_BIT(DBGMCU->APB2FZ1, Periphs);
529 }
530
531 /**
532 * @brief Unfreeze APB2 peripherals
533 * @rmtoll DBGMCU_APB2FZ1 DBG_TIMx_STOP LL_DBGMCU_APB2_UnFreezePeriph
534 * @param Periphs This parameter can be a combination of the following values:
535 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM1_STOP
536 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM8_STOP
537 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM18_STOP
538 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM15_STOP
539 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM16_STOP
540 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM17_STOP
541 * @arg @ref LL_DBGMCU_APB2_GRP1_TIM9_STOP
542 * @retval None
543 */
LL_DBGMCU_APB2_UnFreezePeriph(uint32_t Periphs)544 __STATIC_INLINE void LL_DBGMCU_APB2_UnFreezePeriph(uint32_t Periphs)
545 {
546 SET_BIT(DBGMCU->APB2FZ1, Periphs);
547 }
548
549 /**
550 * @brief Freeze APB4 peripherals
551 * @rmtoll DBGMCU_APB4FZ1 DBG_TIMx_STOP LL_DBGMCU_APB4_FreezePeriph
552 * @param Periphs This parameter can be a combination of the following values:
553 * @arg @ref LL_DBGMCU_APB4_GRP1_I2C4_STOP
554 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM2_STOP
555 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM3_STOP
556 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM4_STOP
557 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM5_STOP
558 * @arg @ref LL_DBGMCU_APB4_GRP1_RTC_STOP
559 * @arg @ref LL_DBGMCU_APB4_GRP1_IWDG_STOP
560 * @retval None
561 */
LL_DBGMCU_APB4_FreezePeriph(uint32_t Periphs)562 __STATIC_INLINE void LL_DBGMCU_APB4_FreezePeriph(uint32_t Periphs)
563 {
564 SET_BIT(DBGMCU->APB4FZ1, Periphs);
565 }
566
567 /**
568 * @brief Unreeze APB4 peripherals
569 * @rmtoll DBGMCU_APB4FZ1 DBG_TIMx_STOP LL_DBGMCU_APB4_UnFreezePeriph
570 * @param Periphs This parameter can be a combination of the following values:
571 * @arg @ref LL_DBGMCU_APB4_GRP1_I2C4_STOP
572 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM2_STOP
573 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM3_STOP
574 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM4_STOP
575 * @arg @ref LL_DBGMCU_APB4_GRP1_LPTIM5_STOP
576 * @arg @ref LL_DBGMCU_APB4_GRP1_RTC_STOP
577 * @arg @ref LL_DBGMCU_APB4_GRP1_IWDG_STOP
578 * @retval None
579 */
LL_DBGMCU_APB4_UnFreezePeriph(uint32_t Periphs)580 __STATIC_INLINE void LL_DBGMCU_APB4_UnFreezePeriph(uint32_t Periphs)
581 {
582 SET_BIT(DBGMCU->APB4FZ1, Periphs);
583 }
584
585 /**
586 * @brief Freeze APB5 peripherals
587 * @rmtoll DBGMCU_APB5FZ1 DBG_TIMx_STOP LL_DBGMCU_APB5_FreezePeriph
588 * @param Periphs This parameter can be a combination of the following values:
589 * @arg @ref LL_DBGMCU_APB5_GRP1_GFXTIM_STOP
590 * @retval None
591 */
LL_DBGMCU_APB5_FreezePeriph(uint32_t Periphs)592 __STATIC_INLINE void LL_DBGMCU_APB5_FreezePeriph(uint32_t Periphs)
593 {
594 SET_BIT(DBGMCU->APB5FZ1, Periphs);
595 }
596
597 /**
598 * @brief Unreeze APB5 peripherals
599 * @rmtoll DBGMCU_APB5FZ1 DBG_TIMx_STOP LL_DBGMCU_APB5_UnFreezePeriph
600 * @param Periphs This parameter can be a combination of the following values:
601 * @arg @ref LL_DBGMCU_APB5_GRP1_GFXTIM_STOP
602 * @retval None
603 */
LL_DBGMCU_APB5_UnFreezePeriph(uint32_t Periphs)604 __STATIC_INLINE void LL_DBGMCU_APB5_UnFreezePeriph(uint32_t Periphs)
605 {
606 SET_BIT(DBGMCU->APB5FZ1, Periphs);
607 }
608
609 /**
610 * @brief Freeze AHB1 peripherals
611 * @rmtoll DBGMCU_AHB1FZ1 DBG_TIMx_STOP LL_DBGMCU_AHB1_FreezePeriph
612 * @param Periphs This parameter can be a combination of the following values:
613 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH0_STOP
614 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH1_STOP
615 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH2_STOP
616 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH3_STOP
617 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH4_STOP
618 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH5_STOP
619 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH6_STOP
620 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH7_STOP
621 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH8_STOP
622 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH9_STOP
623 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH10_STOP
624 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH11_STOP
625 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH12_STOP
626 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH13_STOP
627 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH14_STOP
628 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH15_STOP
629 * @retval None
630 */
LL_DBGMCU_AHB1_FreezePeriph(uint32_t Periphs)631 __STATIC_INLINE void LL_DBGMCU_AHB1_FreezePeriph(uint32_t Periphs)
632 {
633 SET_BIT(DBGMCU->AHB1FZ1, Periphs);
634 }
635
636 /**
637 * @brief Unreeze AHB1 peripherals
638 * @rmtoll DBGMCU_AHB1FZ1 DBG_TIMx_STOP LL_DBGMCU_AHB1_UnFreezePeriph
639 * @param Periphs This parameter can be a combination of the following values:
640 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH0_STOP
641 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH1_STOP
642 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH2_STOP
643 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH3_STOP
644 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH4_STOP
645 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH5_STOP
646 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH6_STOP
647 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH7_STOP
648 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH8_STOP
649 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH9_STOP
650 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH10_STOP
651 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH11_STOP
652 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH12_STOP
653 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH13_STOP
654 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH14_STOP
655 * @arg @ref LL_DBGMCU_AHB1_GRP1_GPDMA1_CH15_STOP
656 * @retval None
657 */
LL_DBGMCU_AHB1_UnFreezePeriph(uint32_t Periphs)658 __STATIC_INLINE void LL_DBGMCU_AHB1_UnFreezePeriph(uint32_t Periphs)
659 {
660 SET_BIT(DBGMCU->AHB1FZ1, Periphs);
661 }
662
663 /**
664 * @brief Freeze AHB5 peripherals
665 * @rmtoll DBGMCU_AHB5FZ1 DBG_TIMx_STOP LL_DBGMCU_AHB5_FreezePeriph
666 * @param Periphs This parameter can be a combination of the following values:
667 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH0_STOP
668 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH1_STOP
669 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH2_STOP
670 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH3_STOP
671 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH4_STOP
672 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH5_STOP
673 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH6_STOP
674 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH7_STOP
675 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH8_STOP
676 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH9_STOP
677 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH10_STOP
678 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH11_STOP
679 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH12_STOP
680 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH13_STOP
681 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH14_STOP
682 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH15_STOP
683 * @arg @ref LL_DBGMCU_AHB5_GRP1_NPU_STOP
684 * @retval None
685 */
LL_DBGMCU_AHB5_FreezePeriph(uint32_t Periphs)686 __STATIC_INLINE void LL_DBGMCU_AHB5_FreezePeriph(uint32_t Periphs)
687 {
688 SET_BIT(DBGMCU->AHB5FZ1, Periphs);
689 }
690
691 /**
692 * @brief Unreeze AHB5 peripherals
693 * @rmtoll DBGMCU_AHB5FZ1 DBG_TIMx_STOP LL_DBGMCU_AHB5_UnFreezePeriph
694 * @param Periphs This parameter can be a combination of the following values:
695 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH0_STOP
696 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH1_STOP
697 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH2_STOP
698 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH3_STOP
699 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH4_STOP
700 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH5_STOP
701 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH6_STOP
702 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH7_STOP
703 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH8_STOP
704 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH9_STOP
705 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH10_STOP
706 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH11_STOP
707 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH12_STOP
708 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH13_STOP
709 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH14_STOP
710 * @arg @ref LL_DBGMCU_AHB5_GRP1_HPDMA1_CH15_STOP
711 * @arg @ref LL_DBGMCU_AHB5_GRP1_NPU_STOP
712 * @retval None
713 */
LL_DBGMCU_AHB5_UnFreezePeriph(uint32_t Periphs)714 __STATIC_INLINE void LL_DBGMCU_AHB5_UnFreezePeriph(uint32_t Periphs)
715 {
716 SET_BIT(DBGMCU->AHB5FZ1, Periphs);
717 }
718
719
720 /**
721 * @}
722 */
723
724 #endif /* defined (SYSCFG) || defined (DBGMCU) */
725
726 /**
727 * @}
728 */
729
730 /**
731 * @}
732 */
733
734 /**
735 * @}
736 */
737
738 /**
739 * @}
740 */
741
742 /**
743 * @}
744 */
745
746 #ifdef __cplusplus
747 }
748 #endif
749
750 #endif /* STM32N6xx_LL_SYSTEM_H */
751