1 /**
2   ******************************************************************************
3   * @file    system_stm32wbxx.h
4   * @author  MCD Application Team
5   * @brief   CMSIS Cortex Device System Source File for STM32WBxx devices.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2019-2021 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   */
18 
19 /** @addtogroup CMSIS
20   * @{
21   */
22 
23 /** @addtogroup stm32wbxx_system
24   * @{
25   */
26 
27 /**
28   * @brief Define to prevent recursive inclusion
29   */
30 #ifndef __SYSTEM_STM32WBXX_H
31 #define __SYSTEM_STM32WBXX_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #include <stdint.h>
38 
39 /** @addtogroup STM32WBxx_System_Includes
40   * @{
41   */
42 
43 /**
44   * @}
45   */
46 
47 
48 /** @addtogroup STM32WBxx_System_Exported_types
49   * @{
50   */
51 /* The SystemCoreClock variable is updated in three ways:
52     1) by calling CMSIS function SystemCoreClockUpdate()
53     2) by calling HAL API function HAL_RCC_GetSysClockFreq()
54     3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
55        Note: If you use this function to configure the system clock; then there
56              is no need to call the 2 first functions listed above, since SystemCoreClock
57              variable is updated automatically.
58 */
59 
60 extern uint32_t SystemCoreClock;            /*!< System Clock Frequency */
61 
62 extern const uint32_t AHBPrescTable[16];    /*!< AHB prescalers table values */
63 extern const uint32_t APBPrescTable[8];     /*!< APB prescalers table values */
64 extern const uint32_t MSIRangeTable[16];    /*!< MSI ranges table values     */
65 
66 #if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB1Mxx)
67 extern const uint32_t SmpsPrescalerTable[4][6];  /*!< SMPS factor ranges table values     */
68 #endif
69 /**
70   * @}
71   */
72 
73 /** @addtogroup STM32WBxx_System_Exported_Constants
74   * @{
75   */
76 
77 /**
78   * @}
79   */
80 
81 /** @addtogroup STM32WBxx_System_Exported_Macros
82   * @{
83   */
84 
85 /**
86   * @}
87   */
88 
89 /** @addtogroup STM32WBxx_System_Exported_Functions
90   * @{
91   */
92 
93 extern void SystemInit(void);
94 extern void SystemCoreClockUpdate(void);
95 /**
96   * @}
97   */
98 
99 #ifdef __cplusplus
100 }
101 #endif
102 
103 #endif /*__SYSTEM_STM32WBXX_H */
104 
105 /**
106   * @}
107   */
108 
109 /**
110   * @}
111   */
112