Skip to content

Commit d689e90

Browse files
committed
STM32: RESET GPIO during init is configurable
Default value is disabled
1 parent 9c0cfa9 commit d689e90

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

targets/TARGET_STM/mbed_overrides.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ MBED_WEAK void TargetBSP_Init(void) {
9494
/** Do nothing */
9595
}
9696

97+
#if MBED_CONF_TARGET_GPIO_RESET_AT_INIT
9798
void GPIO_Full_Init(void) {
9899
GPIO_InitTypeDef GPIO_InitStruct;
99100

@@ -160,6 +161,7 @@ void GPIO_Full_Init(void) {
160161
__HAL_RCC_GPIOK_CLK_DISABLE();
161162
#endif
162163
}
164+
#endif
163165

164166
// This function is called after RAM initialization and before main.
165167
void mbed_sdk_init()
@@ -309,8 +311,10 @@ void mbed_sdk_init()
309311
#endif /* ! MBED_CONF_TARGET_LSE_AVAILABLE */
310312
#endif /* DEVICE_RTC */
311313

314+
#if MBED_CONF_TARGET_GPIO_RESET_AT_INIT
312315
/* Reset all GPIO */
313316
GPIO_Full_Init();
317+
#endif
314318

315319
/* BSP initialization hook (external RAM, etc) */
316320
TargetBSP_Init();

targets/targets.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,6 +1157,10 @@
11571157
"lpticker_lptim_clock": {
11581158
"help": "Default value for LPTIM clock (lpticker_lptim == 1). Value is the dividing factor. Choose 1, 2 or 4",
11591159
"value": 1
1160+
},
1161+
"gpio_reset_at_init": {
1162+
"help": "if value set, all GPIO are reset during init",
1163+
"value": false
11601164
}
11611165
},
11621166
"overrides": {
@@ -3200,6 +3204,9 @@
32003204
"macro_name": "CLOCK_SOURCE"
32013205
}
32023206
},
3207+
"overrides": {
3208+
"gpio_reset_at_init": true
3209+
},
32033210
"device_has_add": [
32043211
"ANALOGOUT",
32053212
"SERIAL_ASYNCH",

0 commit comments

Comments
 (0)