Skip to content

Commit 353487a

Browse files
committed
Make HSI the generic clock for STM32F413Z
Replace HSE by HSI as the generic clock for the STM32F413Z series
1 parent db95bcb commit 353487a

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

variants/STM32F4xx/F413Z(G-H)(J-T)_F423ZH(J-T)/generic_clock.c

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
*******************************************************************************
3-
* Copyright (c) 2020-2021, STMicroelectronics
3+
* Copyright (c) 2020-2022, STMicroelectronics
44
* All rights reserved.
55
*
66
* This software component is licensed by ST under BSD 3-Clause license,
@@ -30,13 +30,15 @@ WEAK void SystemClock_Config(void)
3030
*/
3131
__HAL_RCC_PWR_CLK_ENABLE();
3232
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
33+
3334
/** Initializes the RCC Oscillators according to the specified parameters
3435
* in the RCC_OscInitTypeDef structure.
3536
*/
36-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
37-
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
37+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
38+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
39+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
3840
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
39-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
41+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
4042
RCC_OscInitStruct.PLL.PLLM = 8;
4143
RCC_OscInitStruct.PLL.PLLN = 100;
4244
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
@@ -45,6 +47,7 @@ WEAK void SystemClock_Config(void)
4547
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
4648
Error_Handler();
4749
}
50+
4851
/** Initializes the CPU, AHB and APB buses clocks
4952
*/
5053
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
@@ -57,13 +60,18 @@ WEAK void SystemClock_Config(void)
5760
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) {
5861
Error_Handler();
5962
}
60-
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SDIO | RCC_PERIPHCLK_CLK48;
61-
PeriphClkInitStruct.PLLI2S.PLLI2SN = 192;
62-
PeriphClkInitStruct.PLLI2S.PLLI2SM = 16;
63+
64+
/** Initializes the peripherals clock
65+
*/
66+
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_PLLI2S | RCC_PERIPHCLK_CLK48
67+
| RCC_PERIPHCLK_SDIO | RCC_PERIPHCLK_I2S_APB2;
68+
PeriphClkInitStruct.PLLI2S.PLLI2SN = 72;
69+
PeriphClkInitStruct.PLLI2S.PLLI2SM = 8;
6370
PeriphClkInitStruct.PLLI2S.PLLI2SR = 2;
64-
PeriphClkInitStruct.PLLI2S.PLLI2SQ = 4;
71+
PeriphClkInitStruct.PLLI2S.PLLI2SQ = 3;
6572
PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48CLKSOURCE_PLLI2SQ;
6673
PeriphClkInitStruct.SdioClockSelection = RCC_SDIOCLKSOURCE_CLK48;
74+
PeriphClkInitStruct.I2sApb2ClockSelection = RCC_I2SAPB2CLKSOURCE_PLLI2S;
6775
PeriphClkInitStruct.PLLI2SSelection = RCC_PLLI2SCLKSOURCE_PLLSRC;
6876
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
6977
Error_Handler();

0 commit comments

Comments
 (0)