Skip to content

Commit 11d2f7e

Browse files
committed
Fix HSI configuration for STM32F0x. If HSI is used then PF0 is locked by RCC.
1 parent bf2315b commit 11d2f7e

File tree

7 files changed

+92
-45
lines changed

7 files changed

+92
-45
lines changed

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_DISCO_F051R8/system_stm32f0xx.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -426,12 +426,19 @@ uint8_t SetSysClock_PLL_HSI(void)
426426
RCC_OscInitTypeDef RCC_OscInitStruct;
427427

428428
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
429-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
430-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
431-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
432-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
433-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
434-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
429+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
430+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
431+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
432+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
433+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
434+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
435+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
436+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
437+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
438+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
439+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
440+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
441+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
435442
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
436443
return 0; // FAIL
437444
}

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_NUCLEO_F030R8/system_stm32f0xx.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -430,12 +430,19 @@ uint8_t SetSysClock_PLL_HSI(void)
430430
RCC_OscInitTypeDef RCC_OscInitStruct;
431431

432432
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
433-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
434-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
435-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
436-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
437-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
438-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
433+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
434+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
435+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
436+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
437+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
438+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
439+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
440+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
441+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
442+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
443+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
444+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
445+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
439446
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
440447
return 0; // FAIL
441448
}

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_NUCLEO_F031K6/system_stm32f0xx.c

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -430,13 +430,19 @@ uint8_t SetSysClock_PLL_HSI(void)
430430
RCC_OscInitTypeDef RCC_OscInitStruct;
431431

432432
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
433-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
434-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
435-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
436-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
437-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
438-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
439-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
433+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
434+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
435+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
436+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
437+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
438+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
439+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
440+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
441+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
442+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
443+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
444+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
445+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
440446
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
441447
return 0; // FAIL
442448
}

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_NUCLEO_F042K6/system_stm32f0xx.c

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -429,14 +429,20 @@ uint8_t SetSysClock_PLL_HSI(void)
429429
RCC_ClkInitTypeDef RCC_ClkInitStruct;
430430
RCC_OscInitTypeDef RCC_OscInitStruct;
431431

432-
// Select PLLCLK = 48 MHz ((HSI 8 MHz) * 6)
433-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
434-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
435-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
436-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
437-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
438-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6;
439-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
432+
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
433+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
434+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
435+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
436+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
437+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
438+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
439+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
440+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
441+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
442+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
443+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
444+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
445+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6;
440446
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
441447
return 0; // FAIL
442448
}

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_NUCLEO_F070RB/system_stm32f0xx.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -434,12 +434,19 @@ uint8_t SetSysClock_PLL_HSI(void)
434434
RCC_OscInitTypeDef RCC_OscInitStruct;
435435

436436
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
437-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
438-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
439-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
440-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
441-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
442-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
437+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
438+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
439+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
440+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
441+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
442+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
443+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
444+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
445+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
446+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
447+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
448+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
449+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
443450
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
444451
return 0; // FAIL
445452
}

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_NUCLEO_F072RB/system_stm32f0xx.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,12 +433,19 @@ uint8_t SetSysClock_PLL_HSI(void)
433433
RCC_OscInitTypeDef RCC_OscInitStruct;
434434

435435
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
436-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
437-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
438-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
439-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
440-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
441-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
436+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
437+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
438+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
439+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
440+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
441+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
442+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
443+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
444+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
445+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
446+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
447+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
448+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
442449
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
443450
return 0; // FAIL
444451
}

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F0/TARGET_NUCLEO_F091RC/system_stm32f0xx.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,12 +433,19 @@ uint8_t SetSysClock_PLL_HSI(void)
433433
RCC_OscInitTypeDef RCC_OscInitStruct;
434434

435435
// Select PLLCLK = 48 MHz ((HSI 8 MHz / 2) * 12)
436-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
437-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
438-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
439-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
440-
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
441-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
436+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
437+
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
438+
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
439+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
440+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
441+
RCC_OscInitStruct.HSI14State = RCC_HSI_OFF;
442+
RCC_OscInitStruct.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
443+
RCC_OscInitStruct.HSI48State = RCC_HSI_ON;
444+
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
445+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
446+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; // HSI div 2
447+
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
448+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
442449
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
443450
return 0; // FAIL
444451
}

0 commit comments

Comments
 (0)