32
32
int mbed_sdk_inited = 0 ;
33
33
extern void SetSysClock (void );
34
34
35
- #if MBED_CONF_TARGET_LSE_AVAILABLE
35
+ #if defined(RCC_LSE_HIGHDRIVE_MODE ) || defined(RCC_LSEDRIVE_HIGH )
36
+ # define LSE_CONFIG_AVAILABLE
37
+ #endif
36
38
37
- // set defaults for LSE drive load level, with exception for F4_g2 MCU
38
- #if MBED_CONF_TARGET_LSE_DRIVE_LOAD_LEVEL
39
- # define LSE_DRIVE_LOAD_LEVEL MBED_CONF_TARGET_LSE_DRIVE_LOAD_LEVEL
40
- #else
41
- # ifdef RCC_LSE_HIGHDRIVE_MODE
42
- # define LSE_DRIVE_LOAD_LEVEL RCC_LSE_HIGHDRIVE_MODE
39
+ // set defaults for LSE drive load level
40
+ #if defined(LSE_CONFIG_AVAILABLE )
41
+
42
+ # ifdef MBED_CONF_TARGET_LSE_DRIVE_LOAD_LEVEL
43
+ # define LSE_DRIVE_LOAD_LEVEL MBED_CONF_TARGET_LSE_DRIVE_LOAD_LEVEL
43
44
# else
44
- # define LSE_DRIVE_LOAD_LEVEL RCC_LSEDRIVE_MEDIUMHIGH
45
+ # ifdef RCC_LSE_HIGHDRIVE_MODE
46
+ # define LSE_DRIVE_LOAD_LEVEL RCC_LSE_HIGHDRIVE_MODE
47
+ # else
48
+ # define LSE_DRIVE_LOAD_LEVEL RCC_LSEDRIVE_MEDIUMHIGH
49
+ # endif
45
50
# endif
46
- #endif
51
+
47
52
48
53
/**
49
54
* @brief configure the LSE crystal driver load
@@ -77,13 +82,13 @@ static void LSEDriveConfig(void) {
77
82
78
83
// set LSE drive level. Exception only for F4_g2 series
79
84
HAL_PWR_EnableBkUpAccess ();
80
- #ifdef __HAL_RCC_LSEDRIVE_CONFIG
85
+ #if defined( LSE_CONFIG_AVAILABLE )
81
86
__HAL_RCC_LSEDRIVE_CONFIG (LSE_DRIVE_LOAD_LEVEL );
82
87
#else
83
88
HAL_RCCEx_SelectLSEMode (LSE_DRIVE_LOAD_LEVEL );
84
89
#endif
85
90
}
86
- #endif // MBED_CONF_TARGET_LSE_AVAILABLE
91
+ #endif // LSE_CONFIG_AVAILABLE
87
92
88
93
/**
89
94
* @brief Setup the target board-specific configuration
@@ -174,7 +179,7 @@ void mbed_sdk_init()
174
179
175
180
/* Configure the System clock source, PLL Multiplier and Divider factors,
176
181
AHB/APBx prescalers and Flash settings */
177
- #if MBED_CONF_TARGET_LSE_AVAILABLE
182
+ #if defined( LSE_CONFIG_AVAILABLE )
178
183
// LSE maybe used later, but crystal load drive setting is necessary before
179
184
// enabling LSE
180
185
LSEDriveConfig ();
@@ -201,7 +206,7 @@ void mbed_sdk_init()
201
206
202
207
/* Configure the System clock source, PLL Multiplier and Divider factors,
203
208
AHB/APBx prescalers and Flash settings */
204
- #if MBED_CONF_TARGET_LSE_AVAILABLE
209
+ #if defined( LSE_CONFIG_AVAILABLE )
205
210
LSEDriveConfig ();
206
211
#endif
207
212
SetSysClock ();
0 commit comments