|
38 | 38 |
|
39 | 39 | /* The NUCLEO-H563ZI-Q supports both HSE and LSE crystals (X2 and X3).
|
40 | 40 | * However, as shipped, the X3 crystal is not populated. Therefore the
|
41 |
| - * Nucleo-H563ZI-Q will need to run off the 16MHz HSI clock, or the |
42 |
| - * 32kHz-synced CSI. This configuration uses the CSI. |
| 41 | + * Nucleo-H563ZI-Q will need to run off the 32MHz HSI clock, or the |
| 42 | + * 4 MHz CSI clock. This configuration uses the HSI. |
43 | 43 | *
|
44 | 44 | * System Clock source : PLL (CSI)
|
45 | 45 | * SYSCLK(Hz) : 250000000 Determined by PLL1 configuration
|
|
49 | 49 | * APB2 Prescaler : 1 (STM32_RCC_CFGR_PPRE2) (Max 250MHz)
|
50 | 50 | * CSI Frequency(Hz) : 4000000 (nominal)
|
51 | 51 | * PLL1M : 2 (STM32_PLL1CFGR_PLLM)
|
52 |
| - * PLL1N : 125 (STM32_PLL1CFGR_PLLN) |
53 |
| - * PLL1P : 0 (STM32_PLL1CFGR_PLLP) |
| 52 | + * PLL1N : 31 (STM32_PLL1CFGR_PLLN) |
| 53 | + * PLL1P : 2 (STM32_PLL1CFGR_PLLP) |
54 | 54 | * PLL1Q : 0 (STM32_PLL1CFGR_PLLQ)
|
55 | 55 | * PLL1R : 1 (STM32_PLL1CFGR_PLLR)
|
56 | 56 | * PLL2M : 2 (STM32_PLL2CFGR_PLLM)
|
57 |
| - * PLL2N : 125 (STM32_PLL2CFGR_PLLN) |
| 57 | + * PLL2N : 15 (STM32_PLL2CFGR_PLLN) |
58 | 58 | * PLL2P : 0 (STM32_PLL2CFGR_PLLP)
|
59 | 59 | * PLL2Q : 0 (STM32_PLL2CFGR_PLLQ)
|
60 | 60 | * PLL2R : 1 (STM32_PLL2CFGR_PLLR)
|
61 | 61 | * PLL3M : 2 (STM32_PLL3CFGR_PLLM)
|
62 |
| - * PLL3N : 125 (STM32_PLL3CFGR_PLLN) |
| 62 | + * PLL3N : 15 (STM32_PLL3CFGR_PLLN) |
63 | 63 | * PLL3P : 0 (STM32_PLL3CFGR_PLLP)
|
64 | 64 | * PLL3Q : 0 (STM32_PLL3CFGR_PLLQ)
|
65 | 65 | * PLL3R : 1 (STM32_PLL3CFGR_PLLR)
|
|
86 | 86 |
|
87 | 87 | /* 'main' PLL1 config; we use this to generate our system clock */
|
88 | 88 |
|
89 |
| -/* Use 32 MHz HSI, set M to 2, N to 15, FRAC to 0x1400 (5120) |
90 |
| - * SYSCLK = (32000000 / 2) * (15 + (5120/8192)) = 250000000 |
| 89 | +/* Use 32 MHz HSI, set M to 2, N to 31, FRAC to 0x800 (2048), PLL1P to 2 |
| 90 | + * SYSCLK = ((HSI / PLL1M) * (PLL1N + (PLL1FRACN/8192))) / PLL1P |
| 91 | + * SYSCLK = ((32000000 / 2) * (31 + (2048/8192))) / 2 = 250000000 |
91 | 92 | */
|
92 | 93 |
|
93 | 94 | #define STM32_PLL1CFGR_PLL1FRACEN RCC_PLL1CFGR_PLL1FRACEN
|
94 | 95 | #define STM32_PLL1CFGR_PLL1VCOSEL 0
|
95 | 96 | #define STM32_PLL1CFGR_PLL1RGE RCC_PLL1CFGR_PLL1RGE_8_16M
|
96 | 97 |
|
97 | 98 | #define STM32_PLL1CFGR_PLL1M RCC_PLL1CFGR_PLL1M(2)
|
98 |
| -#define STM32_PLL1DIVR_PLL1N RCC_PLL1DIVR_PLL1N(15) |
| 99 | +#define STM32_PLL1DIVR_PLL1N RCC_PLL1DIVR_PLL1N(31) |
99 | 100 |
|
100 |
| -#define STM32_PLL1DIVR_PLL1P RCC_PLL1DIVR_PLL1P(1) |
| 101 | +#define STM32_PLL1DIVR_PLL1P RCC_PLL1DIVR_PLL1P(2) |
101 | 102 | #define STM32_PLL1CFGR_PLL1P_ENABLED 1
|
| 103 | +#define STM32_PLL1P_FREQUENCY 250000000 |
102 | 104 | #define STM32_PLL1DIVR_PLL1Q 0
|
103 | 105 | #undef STM32_PLL1CFGR_PLL1Q_ENABLED
|
104 | 106 | #define STM32_PLL1DIVR_PLL1R 0
|
105 | 107 | #undef STM32_PLL1CFGR_PLL1R_ENABLED
|
106 | 108 |
|
107 |
| -#define STM32_PLL1FRACR_PLL1FRACN 5120ul |
| 109 | +#define STM32_PLL1FRACR_PLL1FRACN RCC_PLL1FRACR_PLL1FRACN(2048) |
108 | 110 |
|
109 | 111 | /* PLL2 config */
|
110 | 112 |
|
|
122 | 124 | #define STM32_PLL2DIVR_PLL2R 0
|
123 | 125 | #undef STM32_PLL2CFGR_PLL2R_ENABLED
|
124 | 126 |
|
125 |
| -#define STM32_PLL2FRACR_PLL2FRACN 5120ul |
| 127 | +#define STM32_PLL2FRACR_PLL2FRACN RCC_PLL2FRACR_PLL2FRACN(5120) |
126 | 128 |
|
127 | 129 | /* PLL3 config */
|
128 | 130 |
|
|
140 | 142 | #define STM32_PLL3DIVR_PLL3R 0
|
141 | 143 | #undef STM32_PLL3CFGR_PLL3R_ENABLED
|
142 | 144 |
|
143 |
| -#define STM32_PLL3FRACR_PLL3FRACN 5120ul |
| 145 | +#define STM32_PLL3FRACR_PLL3FRACN RCC_PLL3FRACR_PLL3FRACN(5120) |
144 | 146 |
|
145 | 147 | /* Enable CLK48; get it from HSI48 */
|
146 | 148 |
|
|
0 commit comments