stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c
Go to the documentation of this file.
1 
24 /* Includes ------------------------------------------------------------------*/
25 #include "stm32h7xx_hal.h"
26 
36 #ifdef HAL_RCC_MODULE_ENABLED
37 
38 /* Private typedef -----------------------------------------------------------*/
39 /* Private defines -----------------------------------------------------------*/
43 #define PLL2_TIMEOUT_VALUE PLL_TIMEOUT_VALUE /* 2 ms */
44 #define PLL3_TIMEOUT_VALUE PLL_TIMEOUT_VALUE /* 2 ms */
45 
46 #define DIVIDER_P_UPDATE 0U
47 #define DIVIDER_Q_UPDATE 1U
48 #define DIVIDER_R_UPDATE 2U
49 
53 /* Private macros ------------------------------------------------------------*/
61 /* Private variables ---------------------------------------------------------*/
62 /* Private function prototypes -----------------------------------------------*/
63 static HAL_StatusTypeDef RCCEx_PLL2_Config(RCC_PLL2InitTypeDef *pll2, uint32_t Divider);
64 static HAL_StatusTypeDef RCCEx_PLL3_Config(RCC_PLL3InitTypeDef *pll3, uint32_t Divider);
65 
66 /* Exported functions --------------------------------------------------------*/
108 {
109  uint32_t tmpreg;
110  uint32_t tickstart;
111  HAL_StatusTypeDef ret = HAL_OK; /* Intermediate status */
112  HAL_StatusTypeDef status = HAL_OK; /* Final status */
113 
114  /*---------------------------- SPDIFRX configuration -------------------------------*/
115 
117  {
118 
119  switch(PeriphClkInit->SpdifrxClockSelection)
120  {
121  case RCC_SPDIFRXCLKSOURCE_PLL: /* PLL is used as clock source for SPDIFRX*/
122  /* Enable PLL1Q Clock output generated form System PLL . */
124 
125  /* SPDIFRX clock source configuration done later after clock selection check */
126  break;
127 
128  case RCC_SPDIFRXCLKSOURCE_PLL2: /* PLL2 is used as clock source for SPDIFRX*/
129 
130  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE);
131 
132  /* SPDIFRX clock source configuration done later after clock selection check */
133  break;
134 
135  case RCC_SPDIFRXCLKSOURCE_PLL3: /* PLL3 is used as clock source for SPDIFRX*/
136  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE);
137 
138  /* SPDIFRX clock source configuration done later after clock selection check */
139  break;
140 
142  /* Internal OSC clock is used as source of SPDIFRX clock*/
143  /* SPDIFRX clock source configuration done later after clock selection check */
144  break;
145 
146  default:
147  ret = HAL_ERROR;
148  break;
149  }
150 
151  if(ret == HAL_OK)
152  {
153  /* Set the source of SPDIFRX clock*/
155  }
156  else
157  {
158  /* set overall return value */
159  status = ret;
160  }
161  }
162 
163  /*---------------------------- SAI1 configuration -------------------------------*/
165  {
166  switch(PeriphClkInit->Sai1ClockSelection)
167  {
168  case RCC_SAI1CLKSOURCE_PLL: /* PLL is used as clock source for SAI1*/
169  /* Enable SAI Clock output generated form System PLL . */
171 
172  /* SAI1 clock source configuration done later after clock selection check */
173  break;
174 
175  case RCC_SAI1CLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI1*/
176 
177  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
178 
179  /* SAI1 clock source configuration done later after clock selection check */
180  break;
181 
182  case RCC_SAI1CLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI1*/
183  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE);
184 
185  /* SAI1 clock source configuration done later after clock selection check */
186  break;
187 
189  /* External clock is used as source of SAI1 clock*/
190  /* SAI1 clock source configuration done later after clock selection check */
191  break;
192 
194  /* HSI, HSE, or CSI oscillator is used as source of SAI1 clock */
195  /* SAI1 clock source configuration done later after clock selection check */
196  break;
197 
198  default:
199  ret = HAL_ERROR;
200  break;
201  }
202 
203  if(ret == HAL_OK)
204  {
205  /* Set the source of SAI1 clock*/
207  }
208  else
209  {
210  /* set overall return value */
211  status = ret;
212  }
213  }
214 
215 #if defined(SAI3)
216  /*---------------------------- SAI2/3 configuration -------------------------------*/
217  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI23) == RCC_PERIPHCLK_SAI23)
218  {
219  switch(PeriphClkInit->Sai23ClockSelection)
220  {
221  case RCC_SAI23CLKSOURCE_PLL: /* PLL is used as clock source for SAI2/3 */
222  /* Enable SAI Clock output generated form System PLL . */
224 
225  /* SAI2/3 clock source configuration done later after clock selection check */
226  break;
227 
228  case RCC_SAI23CLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2/3 */
229 
230  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
231 
232  /* SAI2/3 clock source configuration done later after clock selection check */
233  break;
234 
235  case RCC_SAI23CLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2/3 */
236  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE);
237 
238  /* SAI2/3 clock source configuration done later after clock selection check */
239  break;
240 
241  case RCC_SAI23CLKSOURCE_PIN:
242  /* External clock is used as source of SAI2/3 clock*/
243  /* SAI2/3 clock source configuration done later after clock selection check */
244  break;
245 
246  case RCC_SAI23CLKSOURCE_CLKP:
247  /* HSI, HSE, or CSI oscillator is used as source of SAI2/3 clock */
248  /* SAI2/3 clock source configuration done later after clock selection check */
249  break;
250 
251  default:
252  ret = HAL_ERROR;
253  break;
254  }
255 
256  if(ret == HAL_OK)
257  {
258  /* Set the source of SAI2/3 clock*/
259  __HAL_RCC_SAI23_CONFIG(PeriphClkInit->Sai23ClockSelection);
260  }
261  else
262  {
263  /* set overall return value */
264  status = ret;
265  }
266  }
267 
268 #endif /* SAI3 */
269 
270 #if defined(RCC_CDCCIP1R_SAI2ASEL)
271  /*---------------------------- SAI2A configuration -------------------------------*/
272  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2A) == RCC_PERIPHCLK_SAI2A)
273  {
274  switch(PeriphClkInit->Sai2AClockSelection)
275  {
276  case RCC_SAI2ACLKSOURCE_PLL: /* PLL is used as clock source for SAI2A */
277  /* Enable SAI2A Clock output generated form System PLL . */
279 
280  /* SAI2A clock source configuration done later after clock selection check */
281  break;
282 
283  case RCC_SAI2ACLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2A */
284 
285  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
286 
287  /* SAI2A clock source configuration done later after clock selection check */
288  break;
289 
290  case RCC_SAI2ACLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2A */
291  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE);
292 
293  /* SAI2A clock source configuration done later after clock selection check */
294  break;
295 
296  case RCC_SAI2ACLKSOURCE_PIN:
297  /* External clock is used as source of SAI2A clock*/
298  /* SAI2A clock source configuration done later after clock selection check */
299  break;
300 
301  case RCC_SAI2ACLKSOURCE_CLKP:
302  /* HSI, HSE, or CSI oscillator is used as source of SAI2A clock */
303  /* SAI2A clock source configuration done later after clock selection check */
304  break;
305 
306  case RCC_SAI2ACLKSOURCE_SPDIF:
307  /* SPDIF clock is used as source of SAI2A clock */
308  /* SAI2A clock source configuration done later after clock selection check */
309  break;
310 
311  default:
312  ret = HAL_ERROR;
313  break;
314  }
315 
316  if(ret == HAL_OK)
317  {
318  /* Set the source of SAI2A clock*/
319  __HAL_RCC_SAI2A_CONFIG(PeriphClkInit->Sai2AClockSelection);
320  }
321  else
322  {
323  /* set overall return value */
324  status = ret;
325  }
326  }
327 #endif /*SAI2A*/
328 
329 #if defined(RCC_CDCCIP1R_SAI2BSEL)
330 
331  /*---------------------------- SAI2B configuration -------------------------------*/
332  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2B) == RCC_PERIPHCLK_SAI2B)
333  {
334  switch(PeriphClkInit->Sai2BClockSelection)
335  {
336  case RCC_SAI2BCLKSOURCE_PLL: /* PLL is used as clock source for SAI2B */
337  /* Enable SAI Clock output generated form System PLL . */
339 
340  /* SAI2B clock source configuration done later after clock selection check */
341  break;
342 
343  case RCC_SAI2BCLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2B */
344 
345  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
346 
347  /* SAI2B clock source configuration done later after clock selection check */
348  break;
349 
350  case RCC_SAI2BCLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2B */
351  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE);
352 
353  /* SAI2B clock source configuration done later after clock selection check */
354  break;
355 
356  case RCC_SAI2BCLKSOURCE_PIN:
357  /* External clock is used as source of SAI2B clock*/
358  /* SAI2B clock source configuration done later after clock selection check */
359  break;
360 
361  case RCC_SAI2BCLKSOURCE_CLKP:
362  /* HSI, HSE, or CSI oscillator is used as source of SAI2B clock */
363  /* SAI2B clock source configuration done later after clock selection check */
364  break;
365 
366  case RCC_SAI2BCLKSOURCE_SPDIF:
367  /* SPDIF clock is used as source of SAI2B clock */
368  /* SAI2B clock source configuration done later after clock selection check */
369  break;
370 
371  default:
372  ret = HAL_ERROR;
373  break;
374  }
375 
376  if(ret == HAL_OK)
377  {
378  /* Set the source of SAI2B clock*/
379  __HAL_RCC_SAI2B_CONFIG(PeriphClkInit->Sai2BClockSelection);
380  }
381  else
382  {
383  /* set overall return value */
384  status = ret;
385  }
386  }
387 #endif /*SAI2B*/
388 
389 #if defined(SAI4)
390  /*---------------------------- SAI4A configuration -------------------------------*/
391  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI4A) == RCC_PERIPHCLK_SAI4A)
392  {
393  switch(PeriphClkInit->Sai4AClockSelection)
394  {
395  case RCC_SAI4ACLKSOURCE_PLL: /* PLL is used as clock source for SAI2*/
396  /* Enable SAI Clock output generated form System PLL . */
398 
399  /* SAI1 clock source configuration done later after clock selection check */
400  break;
401 
402  case RCC_SAI4ACLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2*/
403 
404  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
405 
406  /* SAI2 clock source configuration done later after clock selection check */
407  break;
408 
409  case RCC_SAI4ACLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2*/
410  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE);
411 
412  /* SAI1 clock source configuration done later after clock selection check */
413  break;
414 
415  case RCC_SAI4ACLKSOURCE_PIN:
416  /* External clock is used as source of SAI2 clock*/
417  /* SAI2 clock source configuration done later after clock selection check */
418  break;
419 
420  case RCC_SAI4ACLKSOURCE_CLKP:
421  /* HSI, HSE, or CSI oscillator is used as source of SAI2 clock */
422  /* SAI1 clock source configuration done later after clock selection check */
423  break;
424 
425 #if defined(RCC_VER_3_0)
426  case RCC_SAI4ACLKSOURCE_SPDIF:
427  /* SPDIF clock is used as source of SAI4A clock */
428  /* SAI4A clock source configuration done later after clock selection check */
429  break;
430 #endif /* RCC_VER_3_0 */
431 
432  default:
433  ret = HAL_ERROR;
434  break;
435  }
436 
437  if(ret == HAL_OK)
438  {
439  /* Set the source of SAI4A clock*/
440  __HAL_RCC_SAI4A_CONFIG(PeriphClkInit->Sai4AClockSelection);
441  }
442  else
443  {
444  /* set overall return value */
445  status = ret;
446  }
447  }
448  /*---------------------------- SAI4B configuration -------------------------------*/
449  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI4B) == RCC_PERIPHCLK_SAI4B)
450  {
451  switch(PeriphClkInit->Sai4BClockSelection)
452  {
453  case RCC_SAI4BCLKSOURCE_PLL: /* PLL is used as clock source for SAI2*/
454  /* Enable SAI Clock output generated form System PLL . */
456 
457  /* SAI1 clock source configuration done later after clock selection check */
458  break;
459 
460  case RCC_SAI4BCLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2*/
461 
462  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
463 
464  /* SAI2 clock source configuration done later after clock selection check */
465  break;
466 
467  case RCC_SAI4BCLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2*/
468  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3), DIVIDER_P_UPDATE);
469 
470  /* SAI1 clock source configuration done later after clock selection check */
471  break;
472 
473  case RCC_SAI4BCLKSOURCE_PIN:
474  /* External clock is used as source of SAI2 clock*/
475  /* SAI2 clock source configuration done later after clock selection check */
476  break;
477 
478  case RCC_SAI4BCLKSOURCE_CLKP:
479  /* HSI, HSE, or CSI oscillator is used as source of SAI2 clock */
480  /* SAI1 clock source configuration done later after clock selection check */
481  break;
482 
483 #if defined(RCC_VER_3_0)
484  case RCC_SAI4BCLKSOURCE_SPDIF:
485  /* SPDIF clock is used as source of SAI4B clock */
486  /* SAI4B clock source configuration done later after clock selection check */
487  break;
488 #endif /* RCC_VER_3_0 */
489 
490  default:
491  ret = HAL_ERROR;
492  break;
493  }
494 
495  if(ret == HAL_OK)
496  {
497  /* Set the source of SAI4B clock*/
498  __HAL_RCC_SAI4B_CONFIG(PeriphClkInit->Sai4BClockSelection);
499  }
500  else
501  {
502  /* set overall return value */
503  status = ret;
504  }
505  }
506 #endif /*SAI4*/
507 
508 #if defined(QUADSPI)
509  /*---------------------------- QSPI configuration -------------------------------*/
510  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_QSPI) == RCC_PERIPHCLK_QSPI)
511  {
512  switch(PeriphClkInit->QspiClockSelection)
513  {
514  case RCC_QSPICLKSOURCE_PLL: /* PLL is used as clock source for QSPI*/
515  /* Enable QSPI Clock output generated form System PLL . */
517 
518  /* QSPI clock source configuration done later after clock selection check */
519  break;
520 
521  case RCC_QSPICLKSOURCE_PLL2: /* PLL2 is used as clock source for QSPI*/
522 
523  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE);
524 
525  /* QSPI clock source configuration done later after clock selection check */
526  break;
527 
528 
529  case RCC_QSPICLKSOURCE_CLKP:
530  /* HSI, HSE, or CSI oscillator is used as source of QSPI clock */
531  /* QSPI clock source configuration done later after clock selection check */
532  break;
533 
534  case RCC_QSPICLKSOURCE_D1HCLK:
535  /* Domain1 HCLK clock selected as QSPI kernel peripheral clock */
536  break;
537 
538  default:
539  ret = HAL_ERROR;
540  break;
541  }
542 
543  if(ret == HAL_OK)
544  {
545  /* Set the source of QSPI clock*/
546  __HAL_RCC_QSPI_CONFIG(PeriphClkInit->QspiClockSelection);
547  }
548  else
549  {
550  /* set overall return value */
551  status = ret;
552  }
553  }
554 #endif /*QUADSPI*/
555 
556 #if defined(OCTOSPI1) || defined(OCTOSPI2)
557  /*---------------------------- OCTOSPI configuration -------------------------------*/
558  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_OSPI) == RCC_PERIPHCLK_OSPI)
559  {
560  switch(PeriphClkInit->OspiClockSelection)
561  {
562  case RCC_OSPICLKSOURCE_PLL: /* PLL is used as clock source for OSPI*/
563  /* Enable OSPI Clock output generated form System PLL . */
565 
566  /* OSPI clock source configuration done later after clock selection check */
567  break;
568 
569  case RCC_OSPICLKSOURCE_PLL2: /* PLL2 is used as clock source for OSPI*/
570 
571  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE);
572 
573  /* OSPI clock source configuration done later after clock selection check */
574  break;
575 
576 
577  case RCC_OSPICLKSOURCE_CLKP:
578  /* HSI, HSE, or CSI oscillator is used as source of OSPI clock */
579  /* OSPI clock source configuration done later after clock selection check */
580  break;
581 
582  case RCC_OSPICLKSOURCE_HCLK:
583  /* HCLK clock selected as OSPI kernel peripheral clock */
584  break;
585 
586  default:
587  ret = HAL_ERROR;
588  break;
589  }
590 
591  if(ret == HAL_OK)
592  {
593  /* Set the source of OSPI clock*/
594  __HAL_RCC_OSPI_CONFIG(PeriphClkInit->OspiClockSelection);
595  }
596  else
597  {
598  /* set overall return value */
599  status = ret;
600  }
601  }
602 #endif /*OCTOSPI*/
603 
604  /*---------------------------- SPI1/2/3 configuration -------------------------------*/
606  {
607  switch(PeriphClkInit->Spi123ClockSelection)
608  {
609  case RCC_SPI123CLKSOURCE_PLL: /* PLL is used as clock source for SPI1/2/3 */
610  /* Enable SPI Clock output generated form System PLL . */
612 
613  /* SPI1/2/3 clock source configuration done later after clock selection check */
614  break;
615 
616  case RCC_SPI123CLKSOURCE_PLL2: /* PLL2 is used as clock source for SPI1/2/3 */
617  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
618 
619  /* SPI1/2/3 clock source configuration done later after clock selection check */
620  break;
621 
622  case RCC_SPI123CLKSOURCE_PLL3: /* PLL3 is used as clock source for SPI1/2/3 */
623  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE);
624 
625  /* SPI1/2/3 clock source configuration done later after clock selection check */
626  break;
627 
629  /* External clock is used as source of SPI1/2/3 clock*/
630  /* SPI1/2/3 clock source configuration done later after clock selection check */
631  break;
632 
634  /* HSI, HSE, or CSI oscillator is used as source of SPI1/2/3 clock */
635  /* SPI1/2/3 clock source configuration done later after clock selection check */
636  break;
637 
638  default:
639  ret = HAL_ERROR;
640  break;
641  }
642 
643  if(ret == HAL_OK)
644  {
645  /* Set the source of SPI1/2/3 clock*/
647  }
648  else
649  {
650  /* set overall return value */
651  status = ret;
652  }
653  }
654 
655  /*---------------------------- SPI4/5 configuration -------------------------------*/
657  {
658  switch(PeriphClkInit->Spi45ClockSelection)
659  {
660  case RCC_SPI45CLKSOURCE_PCLK1: /* CD/D2 PCLK1 as clock source for SPI4/5 */
661  /* SPI4/5 clock source configuration done later after clock selection check */
662  break;
663 
664  case RCC_SPI45CLKSOURCE_PLL2: /* PLL2 is used as clock source for SPI4/5 */
665 
666  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
667 
668  /* SPI4/5 clock source configuration done later after clock selection check */
669  break;
670  case RCC_SPI45CLKSOURCE_PLL3: /* PLL3 is used as clock source for SPI4/5 */
671  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE);
672  /* SPI4/5 clock source configuration done later after clock selection check */
673  break;
674 
676  /* HSI oscillator clock is used as source of SPI4/5 clock*/
677  /* SPI4/5 clock source configuration done later after clock selection check */
678  break;
679 
681  /* CSI oscillator clock is used as source of SPI4/5 clock */
682  /* SPI4/5 clock source configuration done later after clock selection check */
683  break;
684 
686  /* HSE, oscillator is used as source of SPI4/5 clock */
687  /* SPI4/5 clock source configuration done later after clock selection check */
688  break;
689 
690  default:
691  ret = HAL_ERROR;
692  break;
693  }
694 
695  if(ret == HAL_OK)
696  {
697  /* Set the source of SPI4/5 clock*/
699  }
700  else
701  {
702  /* set overall return value */
703  status = ret;
704  }
705  }
706 
707  /*---------------------------- SPI6 configuration -------------------------------*/
709  {
710  switch(PeriphClkInit->Spi6ClockSelection)
711  {
712  case RCC_SPI6CLKSOURCE_PCLK4: /* SRD/D3 PCLK1 (PCLK4) as clock source for SPI6*/
713  /* SPI6 clock source configuration done later after clock selection check */
714  break;
715 
716  case RCC_SPI6CLKSOURCE_PLL2: /* PLL2 is used as clock source for SPI6*/
717 
718  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
719 
720  /* SPI6 clock source configuration done later after clock selection check */
721  break;
722  case RCC_SPI6CLKSOURCE_PLL3: /* PLL3 is used as clock source for SPI6*/
723  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE);
724  /* SPI6 clock source configuration done later after clock selection check */
725  break;
726 
728  /* HSI oscillator clock is used as source of SPI6 clock*/
729  /* SPI6 clock source configuration done later after clock selection check */
730  break;
731 
733  /* CSI oscillator clock is used as source of SPI6 clock */
734  /* SPI6 clock source configuration done later after clock selection check */
735  break;
736 
738  /* HSE, oscillator is used as source of SPI6 clock */
739  /* SPI6 clock source configuration done later after clock selection check */
740  break;
741 #if defined(RCC_SPI6CLKSOURCE_PIN)
743  /* 2S_CKIN is used as source of SPI6 clock */
744  /* SPI6 clock source configuration done later after clock selection check */
745  break;
746 #endif
747 
748  default:
749  ret = HAL_ERROR;
750  break;
751  }
752 
753  if(ret == HAL_OK)
754  {
755  /* Set the source of SPI6 clock*/
757  }
758  else
759  {
760  /* set overall return value */
761  status = ret;
762  }
763  }
764 
765 #if defined(DSI)
766  /*---------------------------- DSI configuration -------------------------------*/
767  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DSI) == RCC_PERIPHCLK_DSI)
768  {
769  switch(PeriphClkInit->DsiClockSelection)
770  {
771 
772  case RCC_DSICLKSOURCE_PLL2: /* PLL2 is used as clock source for DSI*/
773 
774  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
775 
776  /* DSI clock source configuration done later after clock selection check */
777  break;
778 
779  case RCC_DSICLKSOURCE_PHY:
780  /* PHY is used as clock source for DSI*/
781  /* DSI clock source configuration done later after clock selection check */
782  break;
783 
784  default:
785  ret = HAL_ERROR;
786  break;
787  }
788 
789  if(ret == HAL_OK)
790  {
791  /* Set the source of DSI clock*/
792  __HAL_RCC_DSI_CONFIG(PeriphClkInit->DsiClockSelection);
793  }
794  else
795  {
796  /* set overall return value */
797  status = ret;
798  }
799  }
800 #endif /*DSI*/
801 
802 #if defined(FDCAN1) || defined(FDCAN2)
803  /*---------------------------- FDCAN configuration -------------------------------*/
805  {
806  switch(PeriphClkInit->FdcanClockSelection)
807  {
808  case RCC_FDCANCLKSOURCE_PLL: /* PLL is used as clock source for FDCAN*/
809  /* Enable FDCAN Clock output generated form System PLL . */
811 
812  /* FDCAN clock source configuration done later after clock selection check */
813  break;
814 
815  case RCC_FDCANCLKSOURCE_PLL2: /* PLL2 is used as clock source for FDCAN*/
816 
817  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
818 
819  /* FDCAN clock source configuration done later after clock selection check */
820  break;
821 
822  case RCC_FDCANCLKSOURCE_HSE:
823  /* HSE is used as clock source for FDCAN*/
824  /* FDCAN clock source configuration done later after clock selection check */
825  break;
826 
827  default:
828  ret = HAL_ERROR;
829  break;
830  }
831 
832  if(ret == HAL_OK)
833  {
834  /* Set the source of FDCAN clock*/
835  __HAL_RCC_FDCAN_CONFIG(PeriphClkInit->FdcanClockSelection);
836  }
837  else
838  {
839  /* set overall return value */
840  status = ret;
841  }
842  }
843 #endif /*FDCAN1 || FDCAN2*/
844 
845  /*---------------------------- FMC configuration -------------------------------*/
846  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_FMC) == RCC_PERIPHCLK_FMC)
847  {
848  switch(PeriphClkInit->FmcClockSelection)
849  {
850  case RCC_FMCCLKSOURCE_PLL: /* PLL is used as clock source for FMC*/
851  /* Enable FMC Clock output generated form System PLL . */
853 
854  /* FMC clock source configuration done later after clock selection check */
855  break;
856 
857  case RCC_FMCCLKSOURCE_PLL2: /* PLL2 is used as clock source for FMC*/
858 
859  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE);
860 
861  /* FMC clock source configuration done later after clock selection check */
862  break;
863 
864 
866  /* HSI, HSE, or CSI oscillator is used as source of FMC clock */
867  /* FMC clock source configuration done later after clock selection check */
868  break;
869 
871  /* D1/CD HCLK clock selected as FMC kernel peripheral clock */
872  break;
873 
874  default:
875  ret = HAL_ERROR;
876  break;
877  }
878 
879  if(ret == HAL_OK)
880  {
881  /* Set the source of FMC clock*/
882  __HAL_RCC_FMC_CONFIG(PeriphClkInit->FmcClockSelection);
883  }
884  else
885  {
886  /* set overall return value */
887  status = ret;
888  }
889  }
890 
891  /*---------------------------- RTC configuration -------------------------------*/
892  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC)
893  {
894  /* check for RTC Parameters used to output RTCCLK */
896 
897  /* Enable write access to Backup domain */
898  SET_BIT(PWR->CR1, PWR_CR1_DBP);
899 
900  /* Wait for Backup domain Write protection disable */
901  tickstart = HAL_GetTick();
902 
903  while((PWR->CR1 & PWR_CR1_DBP) == 0U)
904  {
905  if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE)
906  {
907  ret = HAL_TIMEOUT;
908  break;
909  }
910  }
911 
912  if(ret == HAL_OK)
913  {
914  /* Reset the Backup domain only if the RTC Clock source selection is modified */
915  if((RCC->BDCR & RCC_BDCR_RTCSEL) != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))
916  {
917  /* Store the content of BDCR register before the reset of Backup Domain */
918  tmpreg = (RCC->BDCR & ~(RCC_BDCR_RTCSEL));
919  /* RTC Clock selection can be changed only if the Backup Domain is reset */
922  /* Restore the Content of BDCR register */
923  RCC->BDCR = tmpreg;
924  }
925 
926  /* If LSE is selected as RTC clock source (and enabled prior to Backup Domain reset), wait for LSE reactivation */
927  if(PeriphClkInit->RTCClockSelection == RCC_RTCCLKSOURCE_LSE)
928  {
929  /* Get Start Tick*/
930  tickstart = HAL_GetTick();
931 
932  /* Wait till LSE is ready */
933  while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == 0U)
934  {
935  if((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE)
936  {
937  ret = HAL_TIMEOUT;
938  break;
939  }
940  }
941  }
942 
943  if(ret == HAL_OK)
944  {
945  __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection);
946  }
947  else
948  {
949  /* set overall return value */
950  status = ret;
951  }
952  }
953  else
954  {
955  /* set overall return value */
956  status = ret;
957  }
958  }
959 
960 
961  /*-------------------------- USART1/6 configuration --------------------------*/
963  {
964  switch(PeriphClkInit->Usart16ClockSelection)
965  {
966  case RCC_USART16CLKSOURCE_PCLK2: /* CD/D2 PCLK2 as clock source for USART1/6 */
967  /* USART1/6 clock source configuration done later after clock selection check */
968  break;
969 
970  case RCC_USART16CLKSOURCE_PLL2: /* PLL2 is used as clock source for USART1/6 */
971  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
972  /* USART1/6 clock source configuration done later after clock selection check */
973  break;
974 
975  case RCC_USART16CLKSOURCE_PLL3: /* PLL3 is used as clock source for USART1/6 */
976  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE);
977  /* USART1/6 clock source configuration done later after clock selection check */
978  break;
979 
981  /* HSI oscillator clock is used as source of USART1/6 clock */
982  /* USART1/6 clock source configuration done later after clock selection check */
983  break;
984 
986  /* CSI oscillator clock is used as source of USART1/6 clock */
987  /* USART1/6 clock source configuration done later after clock selection check */
988  break;
989 
991  /* LSE, oscillator is used as source of USART1/6 clock */
992  /* USART1/6 clock source configuration done later after clock selection check */
993  break;
994 
995  default:
996  ret = HAL_ERROR;
997  break;
998  }
999 
1000  if(ret == HAL_OK)
1001  {
1002  /* Set the source of USART1/6 clock */
1004  }
1005  else
1006  {
1007  /* set overall return value */
1008  status = ret;
1009  }
1010  }
1011 
1012  /*-------------------------- USART2/3/4/5/7/8 Configuration --------------------------*/
1014  {
1015  switch(PeriphClkInit->Usart234578ClockSelection)
1016  {
1017  case RCC_USART234578CLKSOURCE_PCLK1: /* CD/D2 PCLK1 as clock source for USART2/3/4/5/7/8 */
1018  /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */
1019  break;
1020 
1021  case RCC_USART234578CLKSOURCE_PLL2: /* PLL2 is used as clock source for USART2/3/4/5/7/8 */
1022  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
1023  /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */
1024  break;
1025 
1026  case RCC_USART234578CLKSOURCE_PLL3: /* PLL3 is used as clock source for USART2/3/4/5/7/8 */
1027  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE);
1028  /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */
1029  break;
1030 
1032  /* HSI oscillator clock is used as source of USART2/3/4/5/7/8 clock */
1033  /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */
1034  break;
1035 
1037  /* CSI oscillator clock is used as source of USART2/3/4/5/7/8 clock */
1038  /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */
1039  break;
1040 
1042  /* LSE, oscillator is used as source of USART2/3/4/5/7/8 clock */
1043  /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */
1044  break;
1045 
1046  default:
1047  ret = HAL_ERROR;
1048  break;
1049  }
1050 
1051  if(ret == HAL_OK)
1052  {
1053  /* Set the source of USART2/3/4/5/7/8 clock */
1055  }
1056  else
1057  {
1058  /* set overall return value */
1059  status = ret;
1060  }
1061  }
1062 
1063  /*-------------------------- LPUART1 Configuration -------------------------*/
1065  {
1066  switch(PeriphClkInit->Lpuart1ClockSelection)
1067  {
1068  case RCC_LPUART1CLKSOURCE_PCLK4: /* SRD/D3 PCLK1 (PCLK4) as clock source for LPUART1 */
1069  /* LPUART1 clock source configuration done later after clock selection check */
1070  break;
1071 
1072  case RCC_LPUART1CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPUART1 */
1073  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE);
1074  /* LPUART1 clock source configuration done later after clock selection check */
1075  break;
1076 
1077  case RCC_LPUART1CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPUART1 */
1078  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE);
1079  /* LPUART1 clock source configuration done later after clock selection check */
1080  break;
1081 
1083  /* HSI oscillator clock is used as source of LPUART1 clock */
1084  /* LPUART1 clock source configuration done later after clock selection check */
1085  break;
1086 
1088  /* CSI oscillator clock is used as source of LPUART1 clock */
1089  /* LPUART1 clock source configuration done later after clock selection check */
1090  break;
1091 
1093  /* LSE, oscillator is used as source of LPUART1 clock */
1094  /* LPUART1 clock source configuration done later after clock selection check */
1095  break;
1096 
1097  default:
1098  ret = HAL_ERROR;
1099  break;
1100  }
1101 
1102  if(ret == HAL_OK)
1103  {
1104  /* Set the source of LPUART1 clock */
1106  }
1107  else
1108  {
1109  /* set overall return value */
1110  status = ret;
1111  }
1112  }
1113 
1114  /*---------------------------- LPTIM1 configuration -------------------------------*/
1116  {
1117  switch(PeriphClkInit->Lptim1ClockSelection)
1118  {
1119  case RCC_LPTIM1CLKSOURCE_PCLK1: /* CD/D2 PCLK1 as clock source for LPTIM1*/
1120  /* LPTIM1 clock source configuration done later after clock selection check */
1121  break;
1122 
1123  case RCC_LPTIM1CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPTIM1*/
1124 
1125  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
1126 
1127  /* LPTIM1 clock source configuration done later after clock selection check */
1128  break;
1129 
1130  case RCC_LPTIM1CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPTIM1*/
1131  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE);
1132 
1133  /* LPTIM1 clock source configuration done later after clock selection check */
1134  break;
1135 
1137  /* External low speed OSC clock is used as source of LPTIM1 clock*/
1138  /* LPTIM1 clock source configuration done later after clock selection check */
1139  break;
1140 
1142  /* Internal low speed OSC clock is used as source of LPTIM1 clock*/
1143  /* LPTIM1 clock source configuration done later after clock selection check */
1144  break;
1146  /* HSI, HSE, or CSI oscillator is used as source of LPTIM1 clock */
1147  /* LPTIM1 clock source configuration done later after clock selection check */
1148  break;
1149 
1150  default:
1151  ret = HAL_ERROR;
1152  break;
1153  }
1154 
1155  if(ret == HAL_OK)
1156  {
1157  /* Set the source of LPTIM1 clock*/
1159  }
1160  else
1161  {
1162  /* set overall return value */
1163  status = ret;
1164  }
1165  }
1166 
1167  /*---------------------------- LPTIM2 configuration -------------------------------*/
1169  {
1170  switch(PeriphClkInit->Lptim2ClockSelection)
1171  {
1172  case RCC_LPTIM2CLKSOURCE_PCLK4: /* SRD/D3 PCLK1 (PCLK4) as clock source for LPTIM2*/
1173  /* LPTIM2 clock source configuration done later after clock selection check */
1174  break;
1175 
1176  case RCC_LPTIM2CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPTIM2*/
1177 
1178  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
1179 
1180  /* LPTIM2 clock source configuration done later after clock selection check */
1181  break;
1182 
1183  case RCC_LPTIM2CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPTIM2*/
1184  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE);
1185 
1186  /* LPTIM2 clock source configuration done later after clock selection check */
1187  break;
1188 
1190  /* External low speed OSC clock is used as source of LPTIM2 clock*/
1191  /* LPTIM2 clock source configuration done later after clock selection check */
1192  break;
1193 
1195  /* Internal low speed OSC clock is used as source of LPTIM2 clock*/
1196  /* LPTIM2 clock source configuration done later after clock selection check */
1197  break;
1199  /* HSI, HSE, or CSI oscillator is used as source of LPTIM2 clock */
1200  /* LPTIM2 clock source configuration done later after clock selection check */
1201  break;
1202 
1203  default:
1204  ret = HAL_ERROR;
1205  break;
1206  }
1207 
1208  if(ret == HAL_OK)
1209  {
1210  /* Set the source of LPTIM2 clock*/
1212  }
1213  else
1214  {
1215  /* set overall return value */
1216  status = ret;
1217  }
1218  }
1219 
1220  /*---------------------------- LPTIM345 configuration -------------------------------*/
1222  {
1223  switch(PeriphClkInit->Lptim345ClockSelection)
1224  {
1225 
1226  case RCC_LPTIM345CLKSOURCE_PCLK4: /* SRD/D3 PCLK1 (PCLK4) as clock source for LPTIM3/4/5 */
1227  /* LPTIM3/4/5 clock source configuration done later after clock selection check */
1228  break;
1229 
1230  case RCC_LPTIM345CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPTIM3/4/5 */
1231  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
1232 
1233  /* LPTIM3/4/5 clock source configuration done later after clock selection check */
1234  break;
1235 
1236  case RCC_LPTIM345CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPTIM3/4/5 */
1237  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE);
1238 
1239  /* LPTIM3/4/5 clock source configuration done later after clock selection check */
1240  break;
1241 
1243  /* External low speed OSC clock is used as source of LPTIM3/4/5 clock */
1244  /* LPTIM3/4/5 clock source configuration done later after clock selection check */
1245  break;
1246 
1248  /* Internal low speed OSC clock is used as source of LPTIM3/4/5 clock */
1249  /* LPTIM3/4/5 clock source configuration done later after clock selection check */
1250  break;
1252  /* HSI, HSE, or CSI oscillator is used as source of LPTIM3/4/5 clock */
1253  /* LPTIM3/4/5 clock source configuration done later after clock selection check */
1254  break;
1255 
1256  default:
1257  ret = HAL_ERROR;
1258  break;
1259  }
1260 
1261  if(ret == HAL_OK)
1262  {
1263  /* Set the source of LPTIM3/4/5 clock */
1265  }
1266  else
1267  {
1268  /* set overall return value */
1269  status = ret;
1270  }
1271  }
1272 
1273  /*------------------------------ I2C1/2/3/5* Configuration ------------------------*/
1274 #if defined(I2C5)
1275  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1235) == RCC_PERIPHCLK_I2C1235)
1276  {
1277  /* Check the parameters */
1278  assert_param(IS_RCC_I2C1235CLKSOURCE(PeriphClkInit->I2c1235ClockSelection));
1279 
1280  if ((PeriphClkInit->I2c1235ClockSelection )== RCC_I2C1235CLKSOURCE_PLL3 )
1281  {
1282  if(RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE)!= HAL_OK)
1283  {
1284  status = HAL_ERROR;
1285  }
1286  }
1287 
1288  __HAL_RCC_I2C1235_CONFIG(PeriphClkInit->I2c1235ClockSelection);
1289 
1290  }
1291 #else
1293  {
1294  /* Check the parameters */
1296 
1297  if ((PeriphClkInit->I2c123ClockSelection )== RCC_I2C123CLKSOURCE_PLL3 )
1298  {
1299  if(RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE)!= HAL_OK)
1300  {
1301  status = HAL_ERROR;
1302  }
1303  }
1304 
1306 
1307  }
1308 #endif /* I2C5 */
1309 
1310  /*------------------------------ I2C4 Configuration ------------------------*/
1311  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4)
1312  {
1313  /* Check the parameters */
1315 
1316  if ((PeriphClkInit->I2c4ClockSelection) == RCC_I2C4CLKSOURCE_PLL3 )
1317  {
1318  if(RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE)!= HAL_OK)
1319  {
1320  status = HAL_ERROR;
1321  }
1322  }
1323 
1324  __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection);
1325 
1326  }
1327 
1328  /*---------------------------- ADC configuration -------------------------------*/
1329  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC)
1330  {
1331  switch(PeriphClkInit->AdcClockSelection)
1332  {
1333 
1334  case RCC_ADCCLKSOURCE_PLL2: /* PLL2 is used as clock source for ADC*/
1335 
1336  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE);
1337 
1338  /* ADC clock source configuration done later after clock selection check */
1339  break;
1340 
1341  case RCC_ADCCLKSOURCE_PLL3: /* PLL3 is used as clock source for ADC*/
1342  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE);
1343 
1344  /* ADC clock source configuration done later after clock selection check */
1345  break;
1346 
1347  case RCC_ADCCLKSOURCE_CLKP:
1348  /* HSI, HSE, or CSI oscillator is used as source of ADC clock */
1349  /* ADC clock source configuration done later after clock selection check */
1350  break;
1351 
1352  default:
1353  ret = HAL_ERROR;
1354  break;
1355  }
1356 
1357  if(ret == HAL_OK)
1358  {
1359  /* Set the source of ADC clock*/
1360  __HAL_RCC_ADC_CONFIG(PeriphClkInit->AdcClockSelection);
1361  }
1362  else
1363  {
1364  /* set overall return value */
1365  status = ret;
1366  }
1367  }
1368 
1369  /*------------------------------ USB Configuration -------------------------*/
1370  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB)
1371  {
1372 
1373  switch(PeriphClkInit->UsbClockSelection)
1374  {
1375  case RCC_USBCLKSOURCE_PLL: /* PLL is used as clock source for USB*/
1376  /* Enable USB Clock output generated form System USB . */
1378 
1379  /* USB clock source configuration done later after clock selection check */
1380  break;
1381 
1382  case RCC_USBCLKSOURCE_PLL3: /* PLL3 is used as clock source for USB*/
1383 
1384  ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE);
1385 
1386  /* USB clock source configuration done later after clock selection check */
1387  break;
1388 
1390  /* HSI48 oscillator is used as source of USB clock */
1391  /* USB clock source configuration done later after clock selection check */
1392  break;
1393 
1394  default:
1395  ret = HAL_ERROR;
1396  break;
1397  }
1398 
1399  if(ret == HAL_OK)
1400  {
1401  /* Set the source of USB clock*/
1402  __HAL_RCC_USB_CONFIG(PeriphClkInit->UsbClockSelection);
1403  }
1404  else
1405  {
1406  /* set overall return value */
1407  status = ret;
1408  }
1409 
1410  }
1411 
1412  /*------------------------------------- SDMMC Configuration ------------------------------------*/
1414  {
1415  /* Check the parameters */
1417 
1418  switch(PeriphClkInit->SdmmcClockSelection)
1419  {
1420  case RCC_SDMMCCLKSOURCE_PLL: /* PLL is used as clock source for SDMMC*/
1421  /* Enable SDMMC Clock output generated form System PLL . */
1423 
1424  /* SDMMC clock source configuration done later after clock selection check */
1425  break;
1426 
1427  case RCC_SDMMCCLKSOURCE_PLL2: /* PLL2 is used as clock source for SDMMC*/
1428 
1429  ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE);
1430 
1431  /* SDMMC clock source configuration done later after clock selection check */
1432  break;
1433 
1434  default:
1435  ret = HAL_ERROR;
1436  break;
1437  }
1438 
1439  if(ret == HAL_OK)
1440  {
1441  /* Set the source of SDMMC clock*/
1443  }
1444  else
1445  {
1446  /* set overall return value */
1447  status = ret;
1448  }
1449  }
1450 
1451 #if defined(LTDC)
1452  /*-------------------------------------- LTDC Configuration -----------------------------------*/
1453  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC)
1454  {
1455  if(RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE)!=HAL_OK)
1456  {
1457  status=HAL_ERROR;
1458  }
1459  }
1460 #endif /* LTDC */
1461 
1462  /*------------------------------ RNG Configuration -------------------------*/
1463  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RNG) == RCC_PERIPHCLK_RNG)
1464  {
1465 
1466  switch(PeriphClkInit->RngClockSelection)
1467  {
1468  case RCC_RNGCLKSOURCE_PLL: /* PLL is used as clock source for RNG*/
1469  /* Enable RNG Clock output generated form System RNG . */
1471 
1472  /* RNG clock source configuration done later after clock selection check */
1473  break;
1474 
1475  case RCC_RNGCLKSOURCE_LSE: /* LSE is used as clock source for RNG*/
1476 
1477  /* RNG clock source configuration done later after clock selection check */
1478  break;
1479 
1480  case RCC_RNGCLKSOURCE_LSI: /* LSI is used as clock source for RNG*/
1481 
1482  /* RNG clock source configuration done later after clock selection check */
1483  break;
1485  /* HSI48 oscillator is used as source of RNG clock */
1486  /* RNG clock source configuration done later after clock selection check */
1487  break;
1488 
1489  default:
1490  ret = HAL_ERROR;
1491  break;
1492  }
1493 
1494  if(ret == HAL_OK)
1495  {
1496  /* Set the source of RNG clock*/
1497  __HAL_RCC_RNG_CONFIG(PeriphClkInit->RngClockSelection);
1498  }
1499  else
1500  {
1501  /* set overall return value */
1502  status = ret;
1503  }
1504 
1505  }
1506 
1507  /*------------------------------ SWPMI1 Configuration ------------------------*/
1509  {
1510  /* Check the parameters */
1512 
1513  /* Configure the SWPMI1 interface clock source */
1515  }
1516 #if defined(HRTIM1)
1517  /*------------------------------ HRTIM1 clock Configuration ----------------*/
1518  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_HRTIM1) == RCC_PERIPHCLK_HRTIM1)
1519  {
1520  /* Check the parameters */
1521  assert_param(IS_RCC_HRTIM1CLKSOURCE(PeriphClkInit->Hrtim1ClockSelection));
1522 
1523  /* Configure the HRTIM1 clock source */
1524  __HAL_RCC_HRTIM1_CONFIG(PeriphClkInit->Hrtim1ClockSelection);
1525  }
1526 #endif /*HRTIM1*/
1527  /*------------------------------ DFSDM1 Configuration ------------------------*/
1529  {
1530  /* Check the parameters */
1532 
1533  /* Configure the DFSDM1 interface clock source */
1535  }
1536 
1537 #if defined(DFSDM2_BASE)
1538  /*------------------------------ DFSDM2 Configuration ------------------------*/
1539  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM2) == RCC_PERIPHCLK_DFSDM2)
1540  {
1541  /* Check the parameters */
1542  assert_param(IS_RCC_DFSDM2CLKSOURCE(PeriphClkInit->Dfsdm2ClockSelection));
1543 
1544  /* Configure the DFSDM2 interface clock source */
1545  __HAL_RCC_DFSDM2_CONFIG(PeriphClkInit->Dfsdm2ClockSelection);
1546  }
1547 #endif /* DFSDM2 */
1548 
1549  /*------------------------------------ TIM configuration --------------------------------------*/
1550  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == RCC_PERIPHCLK_TIM)
1551  {
1552  /* Check the parameters */
1553  assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection));
1554 
1555  /* Configure Timer Prescaler */
1557  }
1558 
1559  /*------------------------------------ CKPER configuration --------------------------------------*/
1561  {
1562  /* Check the parameters */
1564 
1565  /* Configure the CKPER clock source */
1567  }
1568 
1569  if (status == HAL_OK)
1570  {
1571  return HAL_OK;
1572  }
1573  return HAL_ERROR;
1574 }
1575 
1588 {
1589  /* Set all possible values for the extended clock type parameter------------*/
1590  PeriphClkInit->PeriphClockSelection =
1598 
1599 #if defined(I2C5)
1600 PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_I2C1235;
1601 #else
1602 PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_I2C123;
1603 #endif /*I2C5*/
1604 #if defined(RCC_CDCCIP1R_SAI2ASEL)
1605  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_SAI2A;
1606 #endif /* RCC_CDCCIP1R_SAI2ASEL */
1607 #if defined(RCC_CDCCIP1R_SAI2BSEL)
1608  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_SAI2B;
1609 #endif /* RCC_CDCCIP1R_SAI2BSEL */
1610 #if defined(SAI3)
1611  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_SAI23;
1612 #endif /* SAI3 */
1613 #if defined(SAI4)
1614  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_SAI4A;
1615  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_SAI4B;
1616 #endif /* SAI4 */
1617 #if defined(DFSDM2_BASE)
1618  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_DFSDM2;
1619 #endif /* DFSDM2 */
1620 #if defined(QUADSPI)
1621  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_QSPI;
1622 #endif /* QUADSPI */
1623 #if defined(OCTOSPI1) || defined(OCTOSPI2)
1624  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_OSPI;
1625 #endif /* OCTOSPI1 || OCTOSPI2 */
1626 #if defined(HRTIM1)
1627  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_HRTIM1;
1628 #endif /* HRTIM1 */
1629 #if defined(LTDC)
1630  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_LTDC;
1631 #endif /* LTDC */
1632 #if defined(DSI)
1633  PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_DSI;
1634 #endif /* DSI */
1635 
1636  /* Get the PLL3 Clock configuration -----------------------------------------------*/
1637  PeriphClkInit->PLL3.PLL3M = (uint32_t)((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM3)>> RCC_PLLCKSELR_DIVM3_Pos);
1638  PeriphClkInit->PLL3.PLL3N = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) >> RCC_PLL3DIVR_N3_Pos)+ 1U;
1639  PeriphClkInit->PLL3.PLL3R = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_R3) >> RCC_PLL3DIVR_R3_Pos)+ 1U;
1640  PeriphClkInit->PLL3.PLL3P = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_P3) >> RCC_PLL3DIVR_P3_Pos)+ 1U;
1641  PeriphClkInit->PLL3.PLL3Q = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_Q3) >> RCC_PLL3DIVR_Q3_Pos)+ 1U;
1642  PeriphClkInit->PLL3.PLL3RGE = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL3RGE) >> RCC_PLLCFGR_PLL3RGE_Pos);
1643  PeriphClkInit->PLL3.PLL3VCOSEL = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL3VCOSEL) >> RCC_PLLCFGR_PLL3VCOSEL_Pos);
1644 
1645  /* Get the PLL2 Clock configuration -----------------------------------------------*/
1646  PeriphClkInit->PLL2.PLL2M = (uint32_t)((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM2)>> RCC_PLLCKSELR_DIVM2_Pos);
1647  PeriphClkInit->PLL2.PLL2N = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) >> RCC_PLL2DIVR_N2_Pos)+ 1U;
1648  PeriphClkInit->PLL2.PLL2R = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_R2) >> RCC_PLL2DIVR_R2_Pos)+ 1U;
1649  PeriphClkInit->PLL2.PLL2P = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_P2) >> RCC_PLL2DIVR_P2_Pos)+ 1U;
1650  PeriphClkInit->PLL2.PLL2Q = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_Q2) >> RCC_PLL2DIVR_Q2_Pos)+ 1U;
1651  PeriphClkInit->PLL2.PLL2RGE = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL2RGE) >> RCC_PLLCFGR_PLL2RGE_Pos);
1652  PeriphClkInit->PLL2.PLL2VCOSEL = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL2VCOSEL) >> RCC_PLLCFGR_PLL2VCOSEL_Pos);
1653 
1654  /* Get the USART1 configuration --------------------------------------------*/
1656  /* Get the USART2/3/4/5/7/8 clock source -----------------------------------*/
1658  /* Get the LPUART1 clock source --------------------------------------------*/
1660 #if defined(I2C5)
1661  /* Get the I2C1/2/3/5 clock source -----------------------------------------*/
1662  PeriphClkInit->I2c1235ClockSelection = __HAL_RCC_GET_I2C1_SOURCE();
1663 #else
1664  /* Get the I2C1/2/3 clock source -------------------------------------------*/
1666 #endif /*I2C5*/
1667  /* Get the LPTIM1 clock source ---------------------------------------------*/
1669  /* Get the LPTIM2 clock source ---------------------------------------------*/
1671  /* Get the LPTIM3/4/5 clock source -----------------------------------------*/
1673  /* Get the SAI1 clock source -----------------------------------------------*/
1674  PeriphClkInit->Sai1ClockSelection = __HAL_RCC_GET_SAI1_SOURCE();
1675 #if defined(SAI3)
1676  /* Get the SAI2/3 clock source ---------------------------------------------*/
1677  PeriphClkInit->Sai23ClockSelection = __HAL_RCC_GET_SAI23_SOURCE();
1678 #endif /*SAI3*/
1679 #if defined(RCC_CDCCIP1R_SAI2ASEL_0)
1680  /* Get the SAI2A clock source ---------------------------------------------*/
1681  PeriphClkInit->Sai2AClockSelection = __HAL_RCC_GET_SAI2A_SOURCE();
1682 #endif /*SAI2A*/
1683 #if defined(RCC_CDCCIP1R_SAI2BSEL_0)
1684  /* Get the SAI2B clock source ---------------------------------------------*/
1685  PeriphClkInit->Sai2BClockSelection = __HAL_RCC_GET_SAI2B_SOURCE();
1686 #endif /*SAI2B*/
1687 #if defined(SAI4)
1688  /* Get the SAI4A clock source ----------------------------------------------*/
1689  PeriphClkInit->Sai4AClockSelection = __HAL_RCC_GET_SAI4A_SOURCE();
1690  /* Get the SAI4B clock source ----------------------------------------------*/
1691  PeriphClkInit->Sai4BClockSelection = __HAL_RCC_GET_SAI4B_SOURCE();
1692 #endif /*SAI4*/
1693  /* Get the RTC clock source ------------------------------------------------*/
1694  PeriphClkInit->RTCClockSelection = __HAL_RCC_GET_RTC_SOURCE();
1695  /* Get the USB clock source ------------------------------------------------*/
1696  PeriphClkInit->UsbClockSelection = __HAL_RCC_GET_USB_SOURCE();
1697  /* Get the SDMMC clock source ----------------------------------------------*/
1699  /* Get the RNG clock source ------------------------------------------------*/
1700  PeriphClkInit->RngClockSelection = __HAL_RCC_GET_RNG_SOURCE();
1701 #if defined(HRTIM1)
1702  /* Get the HRTIM1 clock source ---------------------------------------------*/
1703  PeriphClkInit->Hrtim1ClockSelection = __HAL_RCC_GET_HRTIM1_SOURCE();
1704 #endif /* HRTIM1 */
1705  /* Get the ADC clock source ------------------------------------------------*/
1706  PeriphClkInit->AdcClockSelection = __HAL_RCC_GET_ADC_SOURCE();
1707  /* Get the SWPMI1 clock source ---------------------------------------------*/
1709  /* Get the DFSDM1 clock source ---------------------------------------------*/
1711 #if defined(DFSDM2_BASE)
1712  /* Get the DFSDM2 clock source ---------------------------------------------*/
1713  PeriphClkInit->Dfsdm2ClockSelection = __HAL_RCC_GET_DFSDM2_SOURCE();
1714 #endif /* DFSDM2 */
1715  /* Get the SPDIFRX clock source --------------------------------------------*/
1717  /* Get the SPI1/2/3 clock source -------------------------------------------*/
1719  /* Get the SPI4/5 clock source ---------------------------------------------*/
1721  /* Get the SPI6 clock source -----------------------------------------------*/
1722  PeriphClkInit->Spi6ClockSelection = __HAL_RCC_GET_SPI6_SOURCE();
1723  /* Get the FDCAN clock source ----------------------------------------------*/
1724  PeriphClkInit->FdcanClockSelection = __HAL_RCC_GET_FDCAN_SOURCE();
1725  /* Get the CEC clock source ------------------------------------------------*/
1726  PeriphClkInit->CecClockSelection = __HAL_RCC_GET_CEC_SOURCE();
1727  /* Get the FMC clock source ------------------------------------------------*/
1728  PeriphClkInit->FmcClockSelection = __HAL_RCC_GET_FMC_SOURCE();
1729 #if defined(QUADSPI)
1730  /* Get the QSPI clock source -----------------------------------------------*/
1731  PeriphClkInit->QspiClockSelection = __HAL_RCC_GET_QSPI_SOURCE();
1732 #endif /* QUADSPI */
1733 #if defined(OCTOSPI1) || defined(OCTOSPI2)
1734  /* Get the OSPI clock source -----------------------------------------------*/
1735  PeriphClkInit->OspiClockSelection = __HAL_RCC_GET_OSPI_SOURCE();
1736 #endif /* OCTOSPI1 || OCTOSPI2 */
1737 
1738 #if defined(DSI)
1739  /* Get the DSI clock source ------------------------------------------------*/
1740  PeriphClkInit->DsiClockSelection = __HAL_RCC_GET_DSI_SOURCE();
1741 #endif /*DSI*/
1742 
1743  /* Get the CKPER clock source ----------------------------------------------*/
1745 
1746  /* Get the TIM Prescaler configuration -------------------------------------*/
1747  if ((RCC->CFGR & RCC_CFGR_TIMPRE) == 0U)
1748  {
1749  PeriphClkInit->TIMPresSelection = RCC_TIMPRES_DESACTIVATED;
1750  }
1751  else
1752  {
1753  PeriphClkInit->TIMPresSelection = RCC_TIMPRES_ACTIVATED;
1754  }
1755 }
1756 
1776 uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
1777 {
1778  PLL1_ClocksTypeDef pll1_clocks;
1779  PLL2_ClocksTypeDef pll2_clocks;
1780  PLL3_ClocksTypeDef pll3_clocks;
1781 
1782  /* This variable is used to store the SAI clock frequency (value in Hz) */
1783  uint32_t frequency;
1784  /* This variable is used to store the SAI and CKP clock source */
1785  uint32_t saiclocksource;
1786  uint32_t ckpclocksource;
1787  uint32_t srcclk;
1788 
1789  if (PeriphClk == RCC_PERIPHCLK_SAI1)
1790  {
1791 
1792  saiclocksource= __HAL_RCC_GET_SAI1_SOURCE();
1793 
1794  switch (saiclocksource)
1795  {
1796  case RCC_SAI1CLKSOURCE_PLL: /* PLL1 is the clock source for SAI1 */
1797  {
1798  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
1799  frequency = pll1_clocks.PLL1_Q_Frequency;
1800  break;
1801  }
1802  case RCC_SAI1CLKSOURCE_PLL2: /* PLL2 is the clock source for SAI1 */
1803  {
1804  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
1805  frequency = pll2_clocks.PLL2_P_Frequency;
1806  break;
1807  }
1808 
1809  case RCC_SAI1CLKSOURCE_PLL3: /* PLL3 is the clock source for SAI1 */
1810  {
1811  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
1812  frequency = pll3_clocks.PLL3_P_Frequency;
1813  break;
1814  }
1815 
1816  case RCC_SAI1CLKSOURCE_CLKP: /* CKPER is the clock source for SAI1*/
1817  {
1818 
1819  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
1820 
1821  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
1822  {
1823  /* In Case the CKPER Source is HSI */
1824  frequency = HSI_VALUE;
1825  }
1826 
1827  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
1828  {
1829  /* In Case the CKPER Source is CSI */
1830  frequency = CSI_VALUE;
1831  }
1832 
1833  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
1834  {
1835  /* In Case the CKPER Source is HSE */
1836  frequency = HSE_VALUE;
1837  }
1838 
1839  else
1840  {
1841  /* In Case the CKPER is disabled*/
1842  frequency = 0;
1843  }
1844 
1845  break;
1846  }
1847 
1848  case (RCC_SAI1CLKSOURCE_PIN): /* External clock is the clock source for SAI1 */
1849  {
1850  frequency = EXTERNAL_CLOCK_VALUE;
1851  break;
1852  }
1853  default :
1854  {
1855  frequency = 0;
1856  break;
1857  }
1858  }
1859  }
1860 
1861 #if defined(SAI3)
1862  else if (PeriphClk == RCC_PERIPHCLK_SAI23)
1863  {
1864 
1865  saiclocksource= __HAL_RCC_GET_SAI23_SOURCE();
1866 
1867  switch (saiclocksource)
1868  {
1869  case 0: /* PLL1 is the clock source for SAI2/3 */
1870  {
1871  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
1872  frequency = pll1_clocks.PLL1_Q_Frequency;
1873  break;
1874  }
1875  case RCC_SAI23CLKSOURCE_PLL2: /* PLL2 is the clock source for SAI2/3 */
1876  {
1877  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
1878  frequency = pll2_clocks.PLL2_P_Frequency;
1879  break;
1880  }
1881 
1882  case RCC_SAI23CLKSOURCE_PLL3: /* PLL3 is the clock source for SAI2/3 */
1883  {
1884  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
1885  frequency = pll3_clocks.PLL3_P_Frequency;
1886  break;
1887  }
1888 
1889  case RCC_SAI23CLKSOURCE_CLKP: /* CKPER is the clock source for SAI2/3 */
1890  {
1891 
1892  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
1893 
1894  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
1895  {
1896  /* In Case the CKPER Source is HSI */
1897  frequency = HSI_VALUE;
1898  }
1899 
1900  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
1901  {
1902  /* In Case the CKPER Source is CSI */
1903  frequency = CSI_VALUE;
1904  }
1905 
1906  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
1907  {
1908  /* In Case the CKPER Source is HSE */
1909  frequency = HSE_VALUE;
1910  }
1911 
1912  else
1913  {
1914  /* In Case the CKPER is disabled*/
1915  frequency = 0;
1916  }
1917 
1918  break;
1919  }
1920 
1921  case (RCC_SAI23CLKSOURCE_PIN): /* External clock is the clock source for SAI2/3 */
1922  {
1923  frequency = EXTERNAL_CLOCK_VALUE;
1924  break;
1925  }
1926  default :
1927  {
1928  frequency = 0;
1929  break;
1930  }
1931  }
1932  }
1933 #endif /* SAI3 */
1934 
1935 #if defined(RCC_CDCCIP1R_SAI2ASEL)
1936 
1937  else if (PeriphClk == RCC_PERIPHCLK_SAI2A)
1938  {
1939  saiclocksource= __HAL_RCC_GET_SAI2A_SOURCE();
1940 
1941  switch (saiclocksource)
1942  {
1943  case 0: /* PLL1 is the clock source for SAI2A */
1944  {
1945  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
1946  frequency = pll1_clocks.PLL1_Q_Frequency;
1947  break;
1948  }
1949  case RCC_SAI2ACLKSOURCE_PLL2: /* PLLI2 is the clock source for SAI2A */
1950  {
1951  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
1952  frequency = pll2_clocks.PLL2_P_Frequency;
1953  break;
1954  }
1955 
1956  case RCC_SAI2ACLKSOURCE_PLL3: /* PLLI3 is the clock source for SAI2A */
1957  {
1958  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
1959  frequency = pll3_clocks.PLL3_P_Frequency;
1960  break;
1961  }
1962 
1963  case RCC_SAI2ACLKSOURCE_CLKP: /* CKPER is the clock source for SAI2A */
1964  {
1965 
1966  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
1967 
1968  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
1969  {
1970  /* In Case the CKPER Source is HSI */
1971  frequency = HSI_VALUE;
1972  }
1973 
1974  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
1975  {
1976  /* In Case the CKPER Source is CSI */
1977  frequency = CSI_VALUE;
1978  }
1979 
1980  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
1981  {
1982  /* In Case the CKPER Source is HSE */
1983  frequency = HSE_VALUE;
1984  }
1985 
1986  else
1987  {
1988  /* In Case the CKPER is disabled*/
1989  frequency = 0;
1990  }
1991 
1992  break;
1993  }
1994 
1995  case (RCC_SAI2ACLKSOURCE_PIN): /* External clock is the clock source for SAI2A */
1996  {
1997  frequency = EXTERNAL_CLOCK_VALUE;
1998  break;
1999  }
2000 
2001  default :
2002  {
2003  frequency = 0;
2004  break;
2005  }
2006  }
2007 
2008  }
2009 #endif
2010 
2011 #if defined(RCC_CDCCIP1R_SAI2BSEL_0)
2012  else if (PeriphClk == RCC_PERIPHCLK_SAI2B)
2013  {
2014 
2015  saiclocksource= __HAL_RCC_GET_SAI2B_SOURCE();
2016 
2017  switch (saiclocksource)
2018  {
2019  case 0: /* PLL1 is the clock source for SAI2B */
2020  {
2021  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
2022  frequency = pll1_clocks.PLL1_Q_Frequency;
2023  break;
2024  }
2025  case RCC_SAI2BCLKSOURCE_PLL2: /* PLLI2 is the clock source for SAI2B */
2026  {
2027  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2028  frequency = pll2_clocks.PLL2_P_Frequency;
2029  break;
2030  }
2031 
2032  case RCC_SAI2BCLKSOURCE_PLL3: /* PLLI3 is the clock source for SAI2B */
2033  {
2034  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
2035  frequency = pll3_clocks.PLL3_P_Frequency;
2036  break;
2037  }
2038 
2039  case RCC_SAI2BCLKSOURCE_CLKP: /* CKPER is the clock source for SAI2B*/
2040  {
2041 
2042  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
2043 
2044  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
2045  {
2046  /* In Case the CKPER Source is HSI */
2047  frequency = HSI_VALUE;
2048  }
2049 
2050  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
2051  {
2052  /* In Case the CKPER Source is CSI */
2053  frequency = CSI_VALUE;
2054  }
2055 
2056  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
2057  {
2058  /* In Case the CKPER Source is HSE */
2059  frequency = HSE_VALUE;
2060  }
2061 
2062  else
2063  {
2064  /* In Case the CKPER is disabled*/
2065  frequency = 0;
2066  }
2067  break;
2068  }
2069 
2070  case (RCC_SAI2BCLKSOURCE_PIN): /* External clock is the clock source for SAI2B */
2071  {
2072  frequency = EXTERNAL_CLOCK_VALUE;
2073  break;
2074  }
2075 
2076  default :
2077  {
2078  frequency = 0;
2079  break;
2080  }
2081  }
2082  }
2083 #endif
2084 
2085 #if defined(SAI4)
2086  else if (PeriphClk == RCC_PERIPHCLK_SAI4A)
2087  {
2088 
2089  saiclocksource= __HAL_RCC_GET_SAI4A_SOURCE();
2090 
2091  switch (saiclocksource)
2092  {
2093  case 0: /* PLL1 is the clock source for SAI4A */
2094  {
2095  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
2096  frequency = pll1_clocks.PLL1_Q_Frequency;
2097  break;
2098  }
2099  case RCC_D3CCIPR_SAI4ASEL_0: /* PLLI2 is the clock source for SAI4A */
2100  {
2101  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2102  frequency = pll2_clocks.PLL2_P_Frequency;
2103  break;
2104  }
2105 
2106  case RCC_D3CCIPR_SAI4ASEL_1: /* PLLI3 is the clock source for SAI4A */
2107  {
2108  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
2109  frequency = pll3_clocks.PLL3_P_Frequency;
2110  break;
2111  }
2112 
2113  case RCC_D3CCIPR_SAI4ASEL_2: /* CKPER is the clock source for SAI4A*/
2114  {
2115 
2116  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
2117 
2118  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
2119  {
2120  /* In Case the CKPER Source is HSI */
2121  frequency = HSI_VALUE;
2122  }
2123 
2124  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
2125  {
2126  /* In Case the CKPER Source is CSI */
2127  frequency = CSI_VALUE;
2128  }
2129 
2130  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
2131  {
2132  /* In Case the CKPER Source is HSE */
2133  frequency = HSE_VALUE;
2134  }
2135 
2136  else
2137  {
2138  /* In Case the CKPER is disabled*/
2139  frequency = 0;
2140  }
2141 
2142  break;
2143  }
2144 
2145  case (RCC_D3CCIPR_SAI4ASEL_0 | RCC_D3CCIPR_SAI4ASEL_1 ): /* External clock is the clock source for SAI4A */
2146  {
2147  frequency = EXTERNAL_CLOCK_VALUE;
2148  break;
2149  }
2150 
2151  default :
2152  {
2153  frequency = 0;
2154  break;
2155  }
2156  }
2157  }
2158 
2159  else if (PeriphClk == RCC_PERIPHCLK_SAI4B)
2160  {
2161 
2162  saiclocksource= __HAL_RCC_GET_SAI4B_SOURCE();
2163 
2164  switch (saiclocksource)
2165  {
2166  case 0: /* PLL1 is the clock source for SAI4B */
2167  {
2168  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
2169  frequency = pll1_clocks.PLL1_Q_Frequency;
2170  break;
2171  }
2172  case RCC_D3CCIPR_SAI4BSEL_0: /* PLLI2 is the clock source for SAI4B */
2173  {
2174  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2175  frequency = pll2_clocks.PLL2_P_Frequency;
2176  break;
2177  }
2178 
2179  case RCC_D3CCIPR_SAI4BSEL_1: /* PLLI3 is the clock source for SAI4B */
2180  {
2181  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
2182  frequency = pll3_clocks.PLL3_P_Frequency;
2183  break;
2184  }
2185 
2186  case RCC_D3CCIPR_SAI4BSEL_2: /* CKPER is the clock source for SAI4B*/
2187  {
2188 
2189  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
2190 
2191  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
2192  {
2193  /* In Case the CKPER Source is HSI */
2194  frequency = HSI_VALUE;
2195  }
2196 
2197  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
2198  {
2199  /* In Case the CKPER Source is CSI */
2200  frequency = CSI_VALUE;
2201  }
2202 
2203  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
2204  {
2205  /* In Case the CKPER Source is HSE */
2206  frequency = HSE_VALUE;
2207  }
2208 
2209  else
2210  {
2211  /* In Case the CKPER is disabled*/
2212  frequency = 0;
2213  }
2214 
2215  break;
2216  }
2217 
2218  case (RCC_D3CCIPR_SAI4BSEL_0 | RCC_D3CCIPR_SAI4BSEL_1 ): /* External clock is the clock source for SAI4B */
2219  {
2220  frequency = EXTERNAL_CLOCK_VALUE;
2221  break;
2222  }
2223 
2224  default :
2225  {
2226  frequency = 0;
2227  break;
2228  }
2229  }
2230  }
2231 #endif /*SAI4*/
2232  else if (PeriphClk == RCC_PERIPHCLK_SPI123)
2233  {
2234  /* Get SPI1/2/3 clock source */
2235  srcclk= __HAL_RCC_GET_SPI123_SOURCE();
2236 
2237  switch (srcclk)
2238  {
2239  case RCC_SPI123CLKSOURCE_PLL: /* PLL1 is the clock source for I2S */
2240  {
2241  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
2242  frequency = pll1_clocks.PLL1_Q_Frequency;
2243  break;
2244  }
2245  case RCC_SPI123CLKSOURCE_PLL2: /* PLL2 is the clock source for I2S */
2246  {
2247  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2248  frequency = pll2_clocks.PLL2_P_Frequency;
2249  break;
2250  }
2251 
2252  case RCC_SPI123CLKSOURCE_PLL3: /* PLL3 is the clock source for I2S */
2253  {
2254  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
2255  frequency = pll3_clocks.PLL3_P_Frequency;
2256  break;
2257  }
2258 
2259  case RCC_SPI123CLKSOURCE_CLKP: /* CKPER is the clock source for I2S */
2260  {
2261 
2262  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
2263 
2264  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
2265  {
2266  /* In Case the CKPER Source is HSI */
2267  frequency = HSI_VALUE;
2268  }
2269 
2270  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
2271  {
2272  /* In Case the CKPER Source is CSI */
2273  frequency = CSI_VALUE;
2274  }
2275 
2276  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
2277  {
2278  /* In Case the CKPER Source is HSE */
2279  frequency = HSE_VALUE;
2280  }
2281 
2282  else
2283  {
2284  /* In Case the CKPER is disabled*/
2285  frequency = 0;
2286  }
2287 
2288  break;
2289  }
2290 
2291  case (RCC_SPI123CLKSOURCE_PIN): /* External clock is the clock source for I2S */
2292  {
2293  frequency = EXTERNAL_CLOCK_VALUE;
2294  break;
2295  }
2296  default :
2297  {
2298  frequency = 0;
2299  break;
2300  }
2301  }
2302  }
2303  else if (PeriphClk == RCC_PERIPHCLK_ADC)
2304  {
2305  /* Get ADC clock source */
2306  srcclk= __HAL_RCC_GET_ADC_SOURCE();
2307 
2308  switch (srcclk)
2309  {
2310  case RCC_ADCCLKSOURCE_PLL2:
2311  {
2312  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2313  frequency = pll2_clocks.PLL2_P_Frequency;
2314  break;
2315  }
2316  case RCC_ADCCLKSOURCE_PLL3:
2317  {
2318  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
2319  frequency = pll3_clocks.PLL3_R_Frequency;
2320  break;
2321  }
2322 
2323  case RCC_ADCCLKSOURCE_CLKP:
2324  {
2325 
2326  ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE();
2327 
2328  if(ckpclocksource== RCC_CLKPSOURCE_HSI)
2329  {
2330  /* In Case the CKPER Source is HSI */
2331  frequency = HSI_VALUE;
2332  }
2333 
2334  else if(ckpclocksource== RCC_CLKPSOURCE_CSI)
2335  {
2336  /* In Case the CKPER Source is CSI */
2337  frequency = CSI_VALUE;
2338  }
2339 
2340  else if (ckpclocksource== RCC_CLKPSOURCE_HSE)
2341  {
2342  /* In Case the CKPER Source is HSE */
2343  frequency = HSE_VALUE;
2344  }
2345 
2346  else
2347  {
2348  /* In Case the CKPER is disabled*/
2349  frequency = 0;
2350  }
2351 
2352  break;
2353  }
2354 
2355  default :
2356  {
2357  frequency = 0;
2358  break;
2359  }
2360  }
2361  }
2362  else if (PeriphClk == RCC_PERIPHCLK_SDMMC)
2363  {
2364  /* Get SDMMC clock source */
2365  srcclk= __HAL_RCC_GET_SDMMC_SOURCE();
2366 
2367  switch (srcclk)
2368  {
2369  case RCC_SDMMCCLKSOURCE_PLL: /* PLL1 is the clock source for SDMMC */
2370  {
2371  HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
2372  frequency = pll1_clocks.PLL1_Q_Frequency;
2373  break;
2374  }
2375  case RCC_SDMMCCLKSOURCE_PLL2: /* PLL2 is the clock source for SDMMC */
2376  {
2377  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2378  frequency = pll2_clocks.PLL2_R_Frequency;
2379  break;
2380  }
2381 
2382  default :
2383  {
2384  frequency = 0;
2385  break;
2386  }
2387  }
2388  }
2389  else if (PeriphClk == RCC_PERIPHCLK_SPI6)
2390  {
2391  /* Get SPI6 clock source */
2392  srcclk= __HAL_RCC_GET_SPI6_SOURCE();
2393 
2394  switch (srcclk)
2395  {
2396  case RCC_SPI6CLKSOURCE_D3PCLK1: /* D3PCLK1 (PCLK4) is the clock source for SPI6 */
2397  {
2398  frequency = HAL_RCCEx_GetD3PCLK1Freq();
2399  break;
2400  }
2401  case RCC_SPI6CLKSOURCE_PLL2: /* PLL2 is the clock source for SPI6 */
2402  {
2403  HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks);
2404  frequency = pll2_clocks.PLL2_Q_Frequency;
2405  break;
2406  }
2407  case RCC_SPI6CLKSOURCE_PLL3: /* PLL3 is the clock source for SPI6 */
2408  {
2409  HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks);
2410  frequency = pll3_clocks.PLL3_Q_Frequency;
2411  break;
2412  }
2413  case RCC_SPI6CLKSOURCE_HSI: /* HSI is the clock source for SPI6 */
2414  {
2415  frequency = HSI_VALUE;
2416  break;
2417  }
2418  case RCC_SPI6CLKSOURCE_CSI: /* CSI is the clock source for SPI6 */
2419  {
2420  frequency = CSI_VALUE;
2421  break;
2422  }
2423  case RCC_SPI6CLKSOURCE_HSE: /* HSE is the clock source for SPI6 */
2424  {
2425  frequency = HSE_VALUE;
2426  break;
2427  }
2428 #if defined(RCC_SPI6CLKSOURCE_PIN)
2429  case RCC_SPI6CLKSOURCE_PIN: /* External clock is the clock source for SPI6 */
2430  {
2431  frequency = EXTERNAL_CLOCK_VALUE;
2432  break;
2433  }
2434 #endif /* RCC_SPI6CLKSOURCE_PIN */
2435  default :
2436  {
2437  frequency = 0;
2438  break;
2439  }
2440  }
2441  }
2442  else
2443  {
2444  frequency = 0;
2445  }
2446 
2447  return frequency;
2448 }
2449 
2450 
2457 uint32_t HAL_RCCEx_GetD1PCLK1Freq(void)
2458 {
2459 #if defined(RCC_D1CFGR_D1PPRE)
2460  /* Get HCLK source and Compute D1PCLK1 frequency ---------------------------*/
2461  return (HAL_RCC_GetHCLKFreq() >> (D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1PPRE)>> RCC_D1CFGR_D1PPRE_Pos] & 0x1FU));
2462 #else
2463 /* Get HCLK source and Compute D1PCLK1 frequency ---------------------------*/
2464  return (HAL_RCC_GetHCLKFreq() >> (D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDPPRE)>> RCC_CDCFGR1_CDPPRE_Pos] & 0x1FU));
2465 #endif
2466 }
2467 
2474 uint32_t HAL_RCCEx_GetD3PCLK1Freq(void)
2475 {
2476 #if defined(RCC_D3CFGR_D3PPRE)
2477  /* Get HCLK source and Compute D3PCLK1 frequency ---------------------------*/
2478  return (HAL_RCC_GetHCLKFreq() >> (D1CorePrescTable[(RCC->D3CFGR & RCC_D3CFGR_D3PPRE)>> RCC_D3CFGR_D3PPRE_Pos] & 0x1FU));
2479 #else
2480  /* Get HCLK source and Compute D3PCLK1 frequency ---------------------------*/
2481  return (HAL_RCC_GetHCLKFreq() >> (D1CorePrescTable[(RCC->SRDCFGR & RCC_SRDCFGR_SRDPPRE)>> RCC_SRDCFGR_SRDPPRE_Pos] & 0x1FU));
2482 #endif
2483 }
2499 {
2500  uint32_t pllsource, pll2m, pll2fracen, hsivalue;
2501  float_t fracn2, pll2vco;
2502 
2503  /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLL2M) * PLL2N
2504  PLL2xCLK = PLL2_VCO / PLL2x
2505  */
2506  pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
2507  pll2m = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM2)>> 12);
2508  pll2fracen = (RCC->PLLCFGR & RCC_PLLCFGR_PLL2FRACEN) >> RCC_PLLCFGR_PLL2FRACEN_Pos;
2509  fracn2 =(float_t)(uint32_t)(pll2fracen* ((RCC->PLL2FRACR & RCC_PLL2FRACR_FRACN2)>> 3));
2510 
2511  if (pll2m != 0U)
2512  {
2513  switch (pllsource)
2514  {
2515 
2516  case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */
2517 
2519  {
2520  hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3));
2521  pll2vco = ( (float_t)hsivalue / (float_t)pll2m) * ((float_t)(uint32_t)(RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/(float_t)0x2000) +(float_t)1 );
2522  }
2523  else
2524  {
2525  pll2vco = ((float_t)HSI_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/(float_t)0x2000) +(float_t)1 );
2526  }
2527  break;
2528 
2529  case RCC_PLLSOURCE_CSI: /* CSI used as PLL clock source */
2530  pll2vco = ((float_t)CSI_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/(float_t)0x2000) +(float_t)1 );
2531  break;
2532 
2533  case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */
2534  pll2vco = ((float_t)HSE_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/(float_t)0x2000) +(float_t)1 );
2535  break;
2536 
2537  default:
2538  pll2vco = ((float_t)CSI_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/(float_t)0x2000) +(float_t)1 );
2539  break;
2540  }
2541  PLL2_Clocks->PLL2_P_Frequency = (uint32_t)(float_t)(pll2vco/((float_t)(uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_P2) >>9) + (float_t)1 )) ;
2542  PLL2_Clocks->PLL2_Q_Frequency = (uint32_t)(float_t)(pll2vco/((float_t)(uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_Q2) >>16) + (float_t)1 )) ;
2543  PLL2_Clocks->PLL2_R_Frequency = (uint32_t)(float_t)(pll2vco/((float_t)(uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_R2) >>24) + (float_t)1 )) ;
2544  }
2545  else
2546  {
2547  PLL2_Clocks->PLL2_P_Frequency = 0U;
2548  PLL2_Clocks->PLL2_Q_Frequency = 0U;
2549  PLL2_Clocks->PLL2_R_Frequency = 0U;
2550  }
2551 }
2552 
2568 {
2569  uint32_t pllsource, pll3m, pll3fracen, hsivalue;
2570  float_t fracn3, pll3vco;
2571 
2572  /* PLL3_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLL3M) * PLL3N
2573  PLL3xCLK = PLL3_VCO / PLLxR
2574  */
2575  pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
2576  pll3m = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM3)>> 20) ;
2577  pll3fracen = (RCC->PLLCFGR & RCC_PLLCFGR_PLL3FRACEN) >> RCC_PLLCFGR_PLL3FRACEN_Pos;
2578  fracn3 = (float_t)(uint32_t)(pll3fracen* ((RCC->PLL3FRACR & RCC_PLL3FRACR_FRACN3)>> 3));
2579 
2580  if (pll3m != 0U)
2581  {
2582  switch (pllsource)
2583  {
2584  case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */
2585 
2587  {
2588  hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3));
2589  pll3vco = ((float_t)hsivalue / (float_t)pll3m) * ((float_t)(uint32_t)(RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/(float_t)0x2000) +(float_t)1 );
2590  }
2591  else
2592  {
2593  pll3vco = ((float_t)HSI_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/(float_t)0x2000) +(float_t)1 );
2594  }
2595  break;
2596  case RCC_PLLSOURCE_CSI: /* CSI used as PLL clock source */
2597  pll3vco = ((float_t)CSI_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/(float_t)0x2000) +(float_t)1 );
2598  break;
2599 
2600  case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */
2601  pll3vco = ((float_t)HSE_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/(float_t)0x2000) +(float_t)1 );
2602  break;
2603 
2604  default:
2605  pll3vco = ((float_t)CSI_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/(float_t)0x2000) +(float_t)1 );
2606  break;
2607  }
2608  PLL3_Clocks->PLL3_P_Frequency = (uint32_t)(float_t)(pll3vco/((float_t)(uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_P3) >>9) + (float_t)1 )) ;
2609  PLL3_Clocks->PLL3_Q_Frequency = (uint32_t)(float_t)(pll3vco/((float_t)(uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_Q3) >>16) + (float_t)1 )) ;
2610  PLL3_Clocks->PLL3_R_Frequency = (uint32_t)(float_t)(pll3vco/((float_t)(uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_R3) >>24) + (float_t)1 )) ;
2611  }
2612  else
2613  {
2614  PLL3_Clocks->PLL3_P_Frequency = 0U;
2615  PLL3_Clocks->PLL3_Q_Frequency = 0U;
2616  PLL3_Clocks->PLL3_R_Frequency = 0U;
2617  }
2618 
2619 }
2620 
2636 {
2637  uint32_t pllsource, pll1m, pll1fracen, hsivalue;
2638  float_t fracn1, pll1vco;
2639 
2640  pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
2641  pll1m = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4);
2642  pll1fracen = RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN;
2643  fracn1 = (float_t)(uint32_t)(pll1fracen * ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3));
2644 
2645  if (pll1m != 0U)
2646  {
2647  switch (pllsource)
2648  {
2649 
2650  case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */
2651 
2653  {
2654  hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3));
2655  pll1vco = ((float_t)hsivalue / (float_t)pll1m) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
2656  }
2657  else
2658  {
2659  pll1vco = ((float_t)HSI_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
2660  }
2661  break;
2662  case RCC_PLLSOURCE_CSI: /* CSI used as PLL clock source */
2663  pll1vco = ((float_t)CSI_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
2664  break;
2665 
2666  case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */
2667  pll1vco = ((float_t)HSE_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
2668  break;
2669 
2670  default:
2671  pll1vco = ((float_t)CSI_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
2672  break;
2673  }
2674 
2675  PLL1_Clocks->PLL1_P_Frequency = (uint32_t)(float_t)(pll1vco/((float_t)(uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + (float_t)1 )) ;
2676  PLL1_Clocks->PLL1_Q_Frequency = (uint32_t)(float_t)(pll1vco/((float_t)(uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_Q1) >>16) + (float_t)1 )) ;
2677  PLL1_Clocks->PLL1_R_Frequency = (uint32_t)(float_t)(pll1vco/((float_t)(uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_R1) >>24) + (float_t)1 )) ;
2678  }
2679  else
2680  {
2681  PLL1_Clocks->PLL1_P_Frequency = 0U;
2682  PLL1_Clocks->PLL1_Q_Frequency = 0U;
2683  PLL1_Clocks->PLL1_R_Frequency = 0U;
2684  }
2685 
2686 }
2687 
2696 uint32_t HAL_RCCEx_GetD1SysClockFreq(void)
2697 {
2698 uint32_t common_system_clock;
2699 
2700 #if defined(RCC_D1CFGR_D1CPRE)
2701  common_system_clock = HAL_RCC_GetSysClockFreq() >> (D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos] & 0x1FU);
2702 #else
2703  common_system_clock = HAL_RCC_GetSysClockFreq() >> (D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE)>> RCC_CDCFGR1_CDCPRE_Pos] & 0x1FU);
2704 #endif
2705 
2706  /* Update the SystemD2Clock global variable */
2707 #if defined(RCC_D1CFGR_HPRE)
2708  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
2709 #else
2710  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE)>> RCC_CDCFGR1_HPRE_Pos]) & 0x1FU));
2711 #endif
2712 
2713 #if defined(DUAL_CORE) && defined(CORE_CM4)
2715 #else
2716  SystemCoreClock = common_system_clock;
2717 #endif /* DUAL_CORE && CORE_CM4 */
2718 
2719  return common_system_clock;
2720 }
2736 void HAL_RCCEx_EnableLSECSS(void)
2737 {
2738  SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ;
2739 }
2740 
2746 void HAL_RCCEx_DisableLSECSS(void)
2747 {
2748  CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ;
2749  /* Disable LSE CSS IT if any */
2751 }
2752 
2758 void HAL_RCCEx_EnableLSECSS_IT(void)
2759 {
2760  /* Enable LSE CSS */
2761  SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ;
2762 
2763  /* Enable LSE CSS IT */
2765 
2766  /* Enable IT on EXTI Line 18 */
2767 #if defined(DUAL_CORE) && defined(CORE_CM4)
2768  __HAL_RCC_C2_LSECSS_EXTI_ENABLE_IT();
2769 #else
2771 #endif /* DUAL_CORE && CORE_CM4 */
2773 }
2774 
2785 void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk)
2786 {
2788 
2790 }
2791 
2800 void HAL_RCCEx_KerWakeUpStopCLKConfig(uint32_t WakeUpClk)
2801 {
2803 
2805 }
2806 
2807 #if defined(DUAL_CORE)
2808 
2818 void HAL_RCCEx_EnableBootCore(uint32_t RCC_BootCx)
2819 {
2820  assert_param(IS_RCC_BOOT_CORE(RCC_BootCx));
2821  SET_BIT(RCC->GCR, RCC_BootCx) ;
2822 }
2823 
2824 #endif /*DUAL_CORE*/
2825 
2826 #if defined(DUAL_CORE)
2827 
2837 void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx)
2838 {
2839  assert_param(IS_RCC_SCOPE_WWDG(RCC_WWDGx));
2840  SET_BIT(RCC->GCR, RCC_WWDGx) ;
2841 }
2842 
2843 #else
2844 #if defined(RCC_GCR_WW1RSC)
2845 
2854 void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx)
2855 {
2856  assert_param(IS_RCC_SCOPE_WWDG(RCC_WWDGx));
2857  SET_BIT(RCC->GCR, RCC_WWDGx) ;
2858 }
2859 #endif
2860 #endif /*DUAL_CORE*/
2861 
2936 {
2937  uint32_t value;
2938 
2939  /* Check the parameters */
2946 
2947  /* CONFIGURATION */
2948 
2949  /* Before configuration, reset CRS registers to their default values*/
2952 
2953  /* Set the SYNCDIV[2:0] bits according to Pre-scaler value */
2954  /* Set the SYNCSRC[1:0] bits according to Source value */
2955  /* Set the SYNCSPOL bit according to Polarity value */
2956  if ((HAL_GetREVID() <= REV_ID_Y) && (pInit->Source == RCC_CRS_SYNC_SOURCE_USB2))
2957  {
2958  /* Use Rev.Y value of USB2 */
2959  value = (pInit->Prescaler | RCC_CRS_SYNC_SOURCE_PIN | pInit->Polarity);
2960  }
2961  else
2962  {
2963  value = (pInit->Prescaler | pInit->Source | pInit->Polarity);
2964  }
2965  /* Set the RELOAD[15:0] bits according to ReloadValue value */
2966  value |= pInit->ReloadValue;
2967  /* Set the FELIM[7:0] bits according to ErrorLimitValue value */
2968  value |= (pInit->ErrorLimitValue << CRS_CFGR_FELIM_Pos);
2969  WRITE_REG(CRS->CFGR, value);
2970 
2971  /* Adjust HSI48 oscillator smooth trimming */
2972  /* Set the TRIM[5:0] bits according to RCC_CRS_HSI48CalibrationValue value */
2974 
2975  /* START AUTOMATIC SYNCHRONIZATION*/
2976 
2977  /* Enable Automatic trimming & Frequency error counter */
2979 }
2980 
2986 {
2987  SET_BIT(CRS->CR, CRS_CR_SWSYNC);
2988 }
2989 
2996 {
2997  /* Check the parameter */
2998  assert_param(pSynchroInfo != (void *)NULL);
2999 
3000  /* Get the reload value */
3001  pSynchroInfo->ReloadValue = (uint32_t)(READ_BIT(CRS->CFGR, CRS_CFGR_RELOAD));
3002 
3003  /* Get HSI48 oscillator smooth trimming */
3004  pSynchroInfo->HSI48CalibrationValue = (uint32_t)(READ_BIT(CRS->CR, CRS_CR_TRIM) >> CRS_CR_TRIM_Pos);
3005 
3006  /* Get Frequency error capture */
3007  pSynchroInfo->FreqErrorCapture = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FECAP) >> CRS_ISR_FECAP_Pos);
3008 
3009  /* Get Frequency error direction */
3010  pSynchroInfo->FreqErrorDirection = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FEDIR));
3011 }
3012 
3028 uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout)
3029 {
3030  uint32_t crsstatus = RCC_CRS_NONE;
3031  uint32_t tickstart;
3032 
3033  /* Get time-out */
3034  tickstart = HAL_GetTick();
3035 
3036  /* Wait for CRS flag or time-out detection */
3037  do
3038  {
3039  if(Timeout != HAL_MAX_DELAY)
3040  {
3041  if(((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3042  {
3043  crsstatus = RCC_CRS_TIMEOUT;
3044  }
3045  }
3046  /* Check CRS SYNCOK flag */
3048  {
3049  /* CRS SYNC event OK */
3050  crsstatus |= RCC_CRS_SYNCOK;
3051 
3052  /* Clear CRS SYNC event OK bit */
3054  }
3055 
3056  /* Check CRS SYNCWARN flag */
3058  {
3059  /* CRS SYNC warning */
3060  crsstatus |= RCC_CRS_SYNCWARN;
3061 
3062  /* Clear CRS SYNCWARN bit */
3064  }
3065 
3066  /* Check CRS TRIM overflow flag */
3068  {
3069  /* CRS SYNC Error */
3070  crsstatus |= RCC_CRS_TRIMOVF;
3071 
3072  /* Clear CRS Error bit */
3074  }
3075 
3076  /* Check CRS Error flag */
3078  {
3079  /* CRS SYNC Error */
3080  crsstatus |= RCC_CRS_SYNCERR;
3081 
3082  /* Clear CRS Error bit */
3084  }
3085 
3086  /* Check CRS SYNC Missed flag */
3088  {
3089  /* CRS SYNC Missed */
3090  crsstatus |= RCC_CRS_SYNCMISS;
3091 
3092  /* Clear CRS SYNC Missed bit */
3094  }
3095 
3096  /* Check CRS Expected SYNC flag */
3098  {
3099  /* frequency error counter reached a zero value */
3101  }
3102  } while(RCC_CRS_NONE == crsstatus);
3103 
3104  return crsstatus;
3105 }
3106 
3111 void HAL_RCCEx_CRS_IRQHandler(void)
3112 {
3113  uint32_t crserror = RCC_CRS_NONE;
3114  /* Get current IT flags and IT sources values */
3115  uint32_t itflags = READ_REG(CRS->ISR);
3116  uint32_t itsources = READ_REG(CRS->CR);
3117 
3118  /* Check CRS SYNCOK flag */
3119  if(((itflags & RCC_CRS_FLAG_SYNCOK) != 0U) && ((itsources & RCC_CRS_IT_SYNCOK) != 0U))
3120  {
3121  /* Clear CRS SYNC event OK flag */
3122  WRITE_REG(CRS->ICR, CRS_ICR_SYNCOKC);
3123 
3124  /* user callback */
3126  }
3127  /* Check CRS SYNCWARN flag */
3128  else if(((itflags & RCC_CRS_FLAG_SYNCWARN) != 0U) && ((itsources & RCC_CRS_IT_SYNCWARN) != 0U))
3129  {
3130  /* Clear CRS SYNCWARN flag */
3132 
3133  /* user callback */
3135  }
3136  /* Check CRS Expected SYNC flag */
3137  else if(((itflags & RCC_CRS_FLAG_ESYNC) != 0U) && ((itsources & RCC_CRS_IT_ESYNC) != 0U))
3138  {
3139  /* frequency error counter reached a zero value */
3140  WRITE_REG(CRS->ICR, CRS_ICR_ESYNCC);
3141 
3142  /* user callback */
3144  }
3145  /* Check CRS Error flags */
3146  else
3147  {
3148  if(((itflags & RCC_CRS_FLAG_ERR) != 0U) && ((itsources & RCC_CRS_IT_ERR) != 0U))
3149  {
3150  if((itflags & RCC_CRS_FLAG_SYNCERR) != 0U)
3151  {
3152  crserror |= RCC_CRS_SYNCERR;
3153  }
3154  if((itflags & RCC_CRS_FLAG_SYNCMISS) != 0U)
3155  {
3156  crserror |= RCC_CRS_SYNCMISS;
3157  }
3158  if((itflags & RCC_CRS_FLAG_TRIMOVF) != 0U)
3159  {
3160  crserror |= RCC_CRS_TRIMOVF;
3161  }
3162 
3163  /* Clear CRS Error flags */
3164  WRITE_REG(CRS->ICR, CRS_ICR_ERRC);
3165 
3166  /* user error callback */
3167  HAL_RCCEx_CRS_ErrorCallback(crserror);
3168  }
3169  }
3170 }
3171 
3176 __weak void HAL_RCCEx_CRS_SyncOkCallback(void)
3177 {
3178  /* NOTE : This function should not be modified, when the callback is needed,
3179  the @ref HAL_RCCEx_CRS_SyncOkCallback should be implemented in the user file
3180  */
3181 }
3182 
3187 __weak void HAL_RCCEx_CRS_SyncWarnCallback(void)
3188 {
3189  /* NOTE : This function should not be modified, when the callback is needed,
3190  the @ref HAL_RCCEx_CRS_SyncWarnCallback should be implemented in the user file
3191  */
3192 }
3193 
3198 __weak void HAL_RCCEx_CRS_ExpectedSyncCallback(void)
3199 {
3200  /* NOTE : This function should not be modified, when the callback is needed,
3201  the @ref HAL_RCCEx_CRS_ExpectedSyncCallback should be implemented in the user file
3202  */
3203 }
3204 
3214 __weak void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error)
3215 {
3216  /* Prevent unused argument(s) compilation warning */
3217  UNUSED(Error);
3218 
3219  /* NOTE : This function should not be modified, when the callback is needed,
3220  the @ref HAL_RCCEx_CRS_ErrorCallback should be implemented in the user file
3221  */
3222 }
3223 
3224 
3245 static HAL_StatusTypeDef RCCEx_PLL2_Config(RCC_PLL2InitTypeDef *pll2, uint32_t Divider)
3246 {
3247 
3248  uint32_t tickstart;
3249  HAL_StatusTypeDef status = HAL_OK;
3258 
3259  /* Check that PLL2 OSC clock source is already set */
3261  {
3262  return HAL_ERROR;
3263  }
3264 
3265 
3266  else
3267  {
3268  /* Disable PLL2. */
3270 
3271  /* Get Start Tick*/
3272  tickstart = HAL_GetTick();
3273 
3274  /* Wait till PLL is disabled */
3275  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) != 0U)
3276  {
3277  if( (HAL_GetTick() - tickstart ) > PLL2_TIMEOUT_VALUE)
3278  {
3279  return HAL_TIMEOUT;
3280  }
3281  }
3282 
3283  /* Configure PLL2 multiplication and division factors. */
3285  pll2->PLL2N,
3286  pll2->PLL2P,
3287  pll2->PLL2Q,
3288  pll2->PLL2R);
3289 
3290  /* Select PLL2 input reference frequency range: VCI */
3292 
3293  /* Select PLL2 output frequency range : VCO */
3295 
3296  /* Disable PLL2FRACN . */
3298 
3299  /* Configures PLL2 clock Fractional Part Of The Multiplication Factor */
3301 
3302  /* Enable PLL2FRACN . */
3304 
3305  /* Enable the PLL2 clock output */
3306  if(Divider == DIVIDER_P_UPDATE)
3307  {
3309  }
3310  else if(Divider == DIVIDER_Q_UPDATE)
3311  {
3313  }
3314  else
3315  {
3317  }
3318 
3319  /* Enable PLL2. */
3321 
3322  /* Get Start Tick*/
3323  tickstart = HAL_GetTick();
3324 
3325  /* Wait till PLL2 is ready */
3326  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) == 0U)
3327  {
3328  if( (HAL_GetTick() - tickstart ) > PLL2_TIMEOUT_VALUE)
3329  {
3330  return HAL_TIMEOUT;
3331  }
3332  }
3333 
3334  }
3335 
3336 
3337  return status;
3338 }
3339 
3340 
3350 static HAL_StatusTypeDef RCCEx_PLL3_Config(RCC_PLL3InitTypeDef *pll3, uint32_t Divider)
3351 {
3352  uint32_t tickstart;
3353  HAL_StatusTypeDef status = HAL_OK;
3362 
3363  /* Check that PLL3 OSC clock source is already set */
3365  {
3366  return HAL_ERROR;
3367  }
3368 
3369 
3370  else
3371  {
3372  /* Disable PLL3. */
3374 
3375  /* Get Start Tick*/
3376  tickstart = HAL_GetTick();
3377  /* Wait till PLL3 is ready */
3378  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL3RDY) != 0U)
3379  {
3380  if( (HAL_GetTick() - tickstart ) > PLL3_TIMEOUT_VALUE)
3381  {
3382  return HAL_TIMEOUT;
3383  }
3384  }
3385 
3386  /* Configure the PLL3 multiplication and division factors. */
3388  pll3->PLL3N,
3389  pll3->PLL3P,
3390  pll3->PLL3Q,
3391  pll3->PLL3R);
3392 
3393  /* Select PLL3 input reference frequency range: VCI */
3395 
3396  /* Select PLL3 output frequency range : VCO */
3398 
3399  /* Disable PLL3FRACN . */
3401 
3402  /* Configures PLL3 clock Fractional Part Of The Multiplication Factor */
3404 
3405  /* Enable PLL3FRACN . */
3407 
3408  /* Enable the PLL3 clock output */
3409  if(Divider == DIVIDER_P_UPDATE)
3410  {
3412  }
3413  else if(Divider == DIVIDER_Q_UPDATE)
3414  {
3416  }
3417  else
3418  {
3420  }
3421 
3422  /* Enable PLL3. */
3424 
3425  /* Get Start Tick*/
3426  tickstart = HAL_GetTick();
3427 
3428  /* Wait till PLL3 is ready */
3429  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL3RDY) == 0U)
3430  {
3431  if( (HAL_GetTick() - tickstart ) > PLL3_TIMEOUT_VALUE)
3432  {
3433  return HAL_TIMEOUT;
3434  }
3435  }
3436 
3437  }
3438 
3439 
3440  return status;
3441 }
3442 
3447 void HAL_RCCEx_LSECSS_IRQHandler(void)
3448 {
3449  /* Check RCC LSE CSSF flag */
3451  {
3452 
3453  /* Clear RCC LSE CSS pending bit */
3455 
3456  /* RCC LSE Clock Security System interrupt user callback */
3458 
3459  }
3460 }
3461 
3466 __weak void HAL_RCCEx_LSECSS_Callback(void)
3467 {
3468  /* NOTE : This function should not be modified, when the callback is needed,
3469  the @ref HAL_RCCEx_LSECSS_Callback should be implemented in the user file
3470  */
3471 }
3472 
3473 
3474 
3479 #endif /* HAL_RCC_MODULE_ENABLED */
3480 
3488 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
RCC_SPI123CLKSOURCE_PIN
#define RCC_SPI123CLKSOURCE_PIN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1062
CRS
#define CRS
Definition: stm32h735xx.h:2563
__HAL_RCC_PLL2CLKOUT_ENABLE
#define __HAL_RCC_PLL2CLKOUT_ENABLE(__RCC_PLL2ClockOut__)
Enables or disables each clock output (PLL2_P_CLK, PLL2_Q_CLK, PLL2_R_CLK)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1786
__HAL_RCC_LPTIM1_CONFIG
#define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1_CLKSOURCE__)
Macro to configure the LPTIM1 clock (LPTIM1CLK).
Definition: stm32f7xx_hal_rcc_ex.h:3068
SystemD2Clock
uint32_t SystemD2Clock
Definition: stm32h735/stm32h735g-dk/Src/system_stm32h7xx.c:114
assert_param
#define assert_param(expr)
Include module's header file.
Definition: stm32f407/stm32f407g-disc1/Inc/stm32f4xx_hal_conf.h:353
RCC_SDMMCCLKSOURCE_PLL2
#define RCC_SDMMCCLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1459
RCC_SPI123CLKSOURCE_PLL
#define RCC_SPI123CLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1059
HAL_RCCEx_EnableLSECSS
void HAL_RCCEx_EnableLSECSS(void)
RCC_PLL3DIVR_R3_Pos
#define RCC_PLL3DIVR_R3_Pos
Definition: stm32h735xx.h:15366
RCC_PERIPHCLK_SPI123
#define RCC_PERIPHCLK_SPI123
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:420
__HAL_RCC_TIMCLKPRESCALER
#define __HAL_RCC_TIMCLKPRESCALER(__PRESC__)
Macro to configure the Timers clocks prescalers.
Definition: stm32f7xx_hal_rcc_ex.h:2597
RCC_D1CFGR_HPRE_Pos
#define RCC_D1CFGR_HPRE_Pos
Definition: stm32h735xx.h:15037
RCC_FMCCLKSOURCE_CLKP
#define RCC_FMCCLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1426
IS_RCC_PLL2RGE_VALUE
#define IS_RCC_PLL2RGE_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4290
RCC_CRS_IT_ESYNC
#define RCC_CRS_IT_ESYNC
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1726
__HAL_RCC_GET_LPTIM345_SOURCE
#define __HAL_RCC_GET_LPTIM345_SOURCE()
macro to get the LPTIM3/4/5 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2897
RCC_CRSInitTypeDef::HSI48CalibrationValue
uint32_t HSI48CalibrationValue
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:313
RCC_PLL1DIVR_R1
#define RCC_PLL1DIVR_R1
Definition: stm32h735xx.h:15330
RCC_D3CCIPR_SAI4BSEL_2
#define RCC_D3CCIPR_SAI4BSEL_2
Definition: stm32h735xx.h:15524
HAL_StatusTypeDef
HAL_StatusTypeDef
HAL Status structures definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:40
RCC_LPTIM345CLKSOURCE_PCLK4
#define RCC_LPTIM345CLKSOURCE_PCLK4
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1300
__HAL_RCC_LSECSS_EXTI_ENABLE_IT
#define __HAL_RCC_LSECSS_EXTI_ENABLE_IT()
Enable the RCC LSE CSS Extended Interrupt Line.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3609
RCC_CFGR_TIMPRE
#define RCC_CFGR_TIMPRE
Definition: stm32h735xx.h:15002
RCC_D3CCIPR_SAI4ASEL_2
#define RCC_D3CCIPR_SAI4ASEL_2
Definition: stm32h735xx.h:15517
__HAL_RCC_ADC_CONFIG
#define __HAL_RCC_ADC_CONFIG(__ADCCLKSource__)
Macro to configure the ADC clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3116
__HAL_RCC_RNG_CONFIG
#define __HAL_RCC_RNG_CONFIG(__RNGCLKSource__)
macro to configure the RNG clock (RNGCLK).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3556
RCC_PLL1DIVR_Q1
#define RCC_PLL1DIVR_Q1
Definition: stm32h735xx.h:15327
RCC_D1CFGR_D1CPRE_Pos
#define RCC_D1CFGR_D1CPRE_Pos
Definition: stm32h735xx.h:15094
RCC_PLLSOURCE_HSI
#define RCC_PLLSOURCE_HSI
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:181
RCC_D3CCIPR_SAI4BSEL_1
#define RCC_D3CCIPR_SAI4BSEL_1
Definition: stm32h735xx.h:15523
__HAL_RCC_PLL3FRACN_ENABLE
#define __HAL_RCC_PLL3FRACN_ENABLE()
Enables or disables Fractional Part Of The Multiplication Factor of PLL3 VCO.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1897
RCC_SPI45CLKSOURCE_PLL2
#define RCC_SPI45CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1124
__HAL_RCC_PLL3_VCIRANGE
#define __HAL_RCC_PLL3_VCIRANGE(__RCC_PLL3VCIRange__)
Macro to select the PLL3 reference frequency range.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1988
__HAL_RCC_PLL2FRACN_ENABLE
#define __HAL_RCC_PLL2FRACN_ENABLE()
Enables or disables Fractional Part Of The Multiplication Factor of PLL2 VCO.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1795
__HAL_RCC_SAI1_CONFIG
#define __HAL_RCC_SAI1_CONFIG(__SOURCE__)
Macro to configure SAI1 clock source selection.
Definition: stm32f7xx_hal_rcc_ex.h:2735
__HAL_RCC_USB_CONFIG
#define __HAL_RCC_USB_CONFIG(__USBCLKSource__)
Macro to configure the USB clock (USBCLK).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3089
RCC_LPTIM1CLKSOURCE_LSI
#define RCC_LPTIM1CLKSOURCE_LSI
Definition: stm32f7xx_hal_rcc_ex.h:490
RCC_FLAG_PLL3RDY
#define RCC_FLAG_PLL3RDY
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:670
PWR
#define PWR
Definition: stm32f407xx.h:1083
RCC_CRS_NONE
#define RCC_CRS_NONE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1636
HAL_RCCEx_GetPeriphCLKFreq
uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
RCC_LPUART1CLKSOURCE_PCLK4
#define RCC_LPUART1CLKSOURCE_PCLK4
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:768
RCC_PERIPHCLK_RNG
#define RCC_PERIPHCLK_RNG
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:430
PLL3_ClocksTypeDef::PLL3_Q_Frequency
uint32_t PLL3_Q_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:134
NULL
#define NULL
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/extras/speex_resampler/thirdparty/resample.c:92
RCC_PERIPHCLK_LPUART1
#define RCC_PERIPHCLK_LPUART1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:376
IS_RCC_SCOPE_WWDG
#define IS_RCC_SCOPE_WWDG(WWDG)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4431
RCC_CRSInitTypeDef::Polarity
uint32_t Polarity
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:303
HAL_RCCEx_CRS_ErrorCallback
void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error)
RCC_RTCCLKSOURCE_LSE
#define RCC_RTCCLKSOURCE_LSE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:256
__HAL_RCC_SWPMI1_CONFIG
#define __HAL_RCC_SWPMI1_CONFIG(__SWPMI1CLKSource__)
Macro to configure the SWPMI1 clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3142
RCC_PLLCKSELR_DIVM3
#define RCC_PLLCKSELR_DIVM3
Definition: stm32h735xx.h:15235
RCC_PERIPHCLK_SPI6
#define RCC_PERIPHCLK_SPI6
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:427
IS_RCC_PLL2R_VALUE
#define IS_RCC_PLL2R_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4288
RCC_PLL3InitTypeDef
PLL3 Clock structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:79
RCC_LPTIM345CLKSOURCE_LSI
#define RCC_LPTIM345CLKSOURCE_LSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1305
RCC_PeriphCLKInitTypeDef::Spi123ClockSelection
uint32_t Spi123ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:196
RCC_IT_LSECSS
#define RCC_IT_LSECSS
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:634
RCC_PLL2FRACR_FRACN2
#define RCC_PLL2FRACR_FRACN2
Definition: stm32h735xx.h:15354
__HAL_RCC_I2C4_CONFIG
#define __HAL_RCC_I2C4_CONFIG(__I2C4_CLKSOURCE__)
Macro to configure the I2C4 clock (I2C4CLK).
Definition: stm32f7xx_hal_rcc_ex.h:2880
RCC_LPUART1CLKSOURCE_LSE
#define RCC_LPUART1CLKSOURCE_LSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:774
RCC_CRS_IT_SYNCWARN
#define RCC_CRS_IT_SYNCWARN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1724
RCC_LPTIM2CLKSOURCE_LSI
#define RCC_LPTIM2CLKSOURCE_LSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1278
RCC_SPI123CLKSOURCE_CLKP
#define RCC_SPI123CLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1063
RCC_D1CFGR_D1PPRE
#define RCC_D1CFGR_D1PPRE
Definition: stm32h735xx.h:15075
RCC_FLAG_HSIDIV
#define RCC_FLAG_HSIDIV
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:652
__HAL_RCC_USART234578_CONFIG
#define __HAL_RCC_USART234578_CONFIG(__USART234578CLKSource__)
macro to configure the USART234578 clock (USART234578CLK).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2502
RCC_PERIPHCLK_DSI
#define RCC_PERIPHCLK_DSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:447
RCC_SPDIFRXCLKSOURCE_PLL
#define RCC_SPDIFRXCLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1536
RCC_PERIPHCLK_SPDIFRX
#define RCC_PERIPHCLK_SPDIFRX
Definition: stm32f7xx_hal_rcc_ex.h:261
__HAL_RCC_SPI45_CONFIG
#define __HAL_RCC_SPI45_CONFIG(__RCC_SPI45CLKSource__)
Macro to Configure the SPI4/5 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3408
RCC_CRS_SYNCMISS
#define RCC_CRS_SYNCMISS
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1641
RCC_CRSInitTypeDef
RCC_CRS Init structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:295
IS_RCC_TIMPRES
#define IS_RCC_TIMPRES(VALUE)
Definition: stm32f7xx_hal_rcc_ex.h:3458
__HAL_RCC_LPTIM2_CONFIG
#define __HAL_RCC_LPTIM2_CONFIG(__LPTIM2CLKSource__)
macro to configure the LPTIM2 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2848
RCC_FLAG_LSERDY
#define RCC_FLAG_LSERDY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:355
RCC_PLLSOURCE_NONE
#define RCC_PLLSOURCE_NONE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:268
__HAL_RCC_GET_RNG_SOURCE
#define __HAL_RCC_GET_RNG_SOURCE()
macro to get the RNG clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3570
__HAL_RCC_GET_SPI45_SOURCE
#define __HAL_RCC_GET_SPI45_SOURCE()
Macro to get the SPI4/5 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3424
RCC_PERIPHCLK_USART16
#define RCC_PERIPHCLK_USART16
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:363
IS_RCC_PLL2P_VALUE
#define IS_RCC_PLL2P_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4286
RCC_PeriphCLKInitTypeDef::Swpmi1ClockSelection
uint32_t Swpmi1ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:218
__HAL_RCC_KERWAKEUPSTOP_CLK_CONFIG
#define __HAL_RCC_KERWAKEUPSTOP_CLK_CONFIG(__RCC_STOPKERWUCLK__)
Macro to configure the Kernel wake up from stop clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7780
RCC_PLL3_DIVR
#define RCC_PLL3_DIVR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:479
RCC_PERIPHCLK_DFSDM1
#define RCC_PERIPHCLK_DFSDM1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:434
RCC_LPTIM345CLKSOURCE_PLL2
#define RCC_LPTIM345CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1302
RCC_USART16CLKSOURCE_PLL2
#define RCC_USART16CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:575
RCC_PeriphCLKInitTypeDef::PeriphClockSelection
uint32_t PeriphClockSelection
Definition: stm32f7xx_hal_rcc_ex.h:128
HAL_RCCEx_GetD3PCLK1Freq
uint32_t HAL_RCCEx_GetD3PCLK1Freq(void)
RCC_USBCLKSOURCE_PLL
#define RCC_USBCLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:950
IS_RCC_PLL3P_VALUE
#define IS_RCC_PLL3P_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4280
RCC_PeriphCLKInitTypeDef::PLL2
RCC_PLL2InitTypeDef PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:147
RCC_PLL3InitTypeDef::PLL3Q
uint32_t PLL3Q
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:94
HAL_RCCEx_WakeUpStopCLKConfig
void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk)
RCC_CRSSynchroInfoTypeDef::HSI48CalibrationValue
uint32_t HSI48CalibrationValue
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:326
RCC_FLAG_PLL2RDY
#define RCC_FLAG_PLL2RDY
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:669
__HAL_RCC_GET_DFSDM1_SOURCE
#define __HAL_RCC_GET_DFSDM1_SOURCE()
Macro to get the DFSDM1 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3179
RCC_I2C4CLKSOURCE_PLL3
#define RCC_I2C4CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:889
RCC_CRS_SYNCOK
#define RCC_CRS_SYNCOK
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1638
RCC_CRSInitTypeDef::Prescaler
uint32_t Prescaler
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:297
__HAL_RCC_GET_LPUART1_SOURCE
#define __HAL_RCC_GET_LPUART1_SOURCE()
macro to get the LPUART1 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2796
PLL2_ClocksTypeDef::PLL2_P_Frequency
uint32_t PLL2_P_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:123
RCC_PLLCFGR_PLL2FRACEN
#define RCC_PLLCFGR_PLL2FRACEN
Definition: stm32h735xx.h:15261
HAL_RCCEx_CRS_SyncOkCallback
void HAL_RCCEx_CRS_SyncOkCallback(void)
IS_RCC_PLL2VCO_VALUE
#define IS_RCC_PLL2VCO_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4300
HAL_ERROR
@ HAL_ERROR
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:43
RCC_LPTIM1CLKSOURCE_LSE
#define RCC_LPTIM1CLKSOURCE_LSE
Definition: stm32f7xx_hal_rcc_ex.h:492
__HAL_RCC_SPDIFRX_CONFIG
#define __HAL_RCC_SPDIFRX_CONFIG(__RCC_SPDIFCLKSource__)
Macro to Configure the SPDIFRX clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2053
RCC_SPI6CLKSOURCE_HSI
#define RCC_SPI6CLKSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1180
RCC_CRS_FLAG_ESYNC
#define RCC_CRS_FLAG_ESYNC
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1741
RCC_PLL3InitTypeDef::PLL3R
uint32_t PLL3R
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:97
RCC_ADCCLKSOURCE_PLL3
#define RCC_ADCCLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1475
CLEAR_BIT
#define CLEAR_BIT(REG, BIT)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:214
HAL_GetTick
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c:323
RCC_D3CFGR_D3PPRE_Pos
#define RCC_D3CFGR_D3PPRE_Pos
Definition: stm32h735xx.h:15175
HAL_RCCEx_GetPLL1ClockFreq
void HAL_RCCEx_GetPLL1ClockFreq(PLL1_ClocksTypeDef *PLL1_Clocks)
RCC_ADCCLKSOURCE_PLL2
#define RCC_ADCCLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1474
RCC_PLL2InitTypeDef::PLL2M
uint32_t PLL2M
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:50
RCC_CRSInitTypeDef::ReloadValue
uint32_t ReloadValue
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:306
RCC_PERIPHCLK_LPTIM2
#define RCC_PERIPHCLK_LPTIM2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:395
RCC_PeriphCLKInitTypeDef::TIMPresSelection
uint32_t TIMPresSelection
Definition: stm32f7xx_hal_rcc_ex.h:154
PLL1_ClocksTypeDef::PLL1_Q_Frequency
uint32_t PLL1_Q_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:114
RCC_PLL2DIVR_P2
#define RCC_PLL2DIVR_P2
Definition: stm32h735xx.h:15343
RCC_PERIPHCLK_FMC
#define RCC_PERIPHCLK_FMC
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:440
RCC_SPI123CLKSOURCE_PLL3
#define RCC_SPI123CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1061
RCC_PLLCFGR_PLL1FRACEN
#define RCC_PLLCFGR_PLL1FRACEN
Definition: stm32h735xx.h:15247
CRS_CFGR_RELOAD
#define CRS_CFGR_RELOAD
Definition: stm32h735xx.h:5954
RCC_LPUART1CLKSOURCE_PLL2
#define RCC_LPUART1CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:770
RCC_CRS_FLAG_SYNCERR
#define RCC_CRS_FLAG_SYNCERR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1742
__HAL_RCC_CRS_GET_FLAG
#define __HAL_RCC_CRS_GET_FLAG(__FLAG__)
Check whether the specified CRS flag is set or not.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3805
__HAL_RCC_GET_PLL_OSCSOURCE
#define __HAL_RCC_GET_PLL_OSCSOURCE()
Macro to get the oscillator used as PLL clock source.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1096
RCC_PLL3InitTypeDef::PLL3FRACN
uint32_t PLL3FRACN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:104
HAL_RCCEx_CRSWaitSynchronization
uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout)
__HAL_RCC_FMC_CONFIG
#define __HAL_RCC_FMC_CONFIG(__FMCCLKSource__)
macro to configure the FMC clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3061
RCC_PLL3InitTypeDef::PLL3RGE
uint32_t PLL3RGE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:99
RCC_CLKPSOURCE_HSI
#define RCC_CLKPSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1570
IS_RCC_CRS_HSI48CALIBRATION
#define IS_RCC_CRS_HSI48CALIBRATION(__VALUE__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4452
RCC_CRS_SYNCERR
#define RCC_CRS_SYNCERR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1640
RCC_LPTIM345CLKSOURCE_CLKP
#define RCC_LPTIM345CLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1306
RCC_PLL3DIVR_N3_Pos
#define RCC_PLL3DIVR_N3_Pos
Definition: stm32h735xx.h:15357
__HAL_RCC_GET_SPDIFRX_SOURCE
#define __HAL_RCC_GET_SPDIFRX_SOURCE()
Macro to get the SPDIFRX clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2064
RCC_PeriphCLKInitTypeDef::Lptim345ClockSelection
uint32_t Lptim345ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:256
RCC_PLL2DIVR_N2
#define RCC_PLL2DIVR_N2
Definition: stm32h735xx.h:15340
RCC_SPDIFRXCLKSOURCE_HSI
#define RCC_SPDIFRXCLKSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1539
RCC_CRS_IT_SYNCOK
#define RCC_CRS_IT_SYNCOK
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1723
RCC_PLL3DIVR_P3
#define RCC_PLL3DIVR_P3
Definition: stm32h735xx.h:15362
RCC_PLL3DIVR_Q3_Pos
#define RCC_PLL3DIVR_Q3_Pos
Definition: stm32h735xx.h:15363
__HAL_RCC_SPI123_CONFIG
#define __HAL_RCC_SPI123_CONFIG(__RCC_SPI123CLKSource__)
Macro to Configure the SPI1/2/3 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3301
RCC_PERIPHCLK_SWPMI1
#define RCC_PERIPHCLK_SWPMI1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:433
HAL_RCCEx_CRS_SyncWarnCallback
void HAL_RCCEx_CRS_SyncWarnCallback(void)
__HAL_RCC_PLL2_VCORANGE
#define __HAL_RCC_PLL2_VCORANGE(__RCC_PLL2VCORange__)
Macro to select the PLL2 reference frequency range.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1880
HAL_RCCEx_CRSSoftwareSynchronizationGenerate
void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void)
IS_RCC_CRS_RELOADVALUE
#define IS_RCC_CRS_RELOADVALUE(__VALUE__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4448
RCC_PLL2InitTypeDef::PLL2VCOSEL
uint32_t PLL2VCOSEL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:69
RCC_PLL3_DIVQ
#define RCC_PLL3_DIVQ
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:478
RCC_LPTIM1CLKSOURCE_PLL3
#define RCC_LPTIM1CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1248
RCC_PLL1_DIVQ
#define RCC_PLL1_DIVQ
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:277
CRS_ISR_FECAP_Pos
#define CRS_ISR_FECAP_Pos
Definition: stm32h735xx.h:6001
HAL_OK
@ HAL_OK
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:42
RCC_SAI1CLKSOURCE_PLL2
#define RCC_SAI1CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:970
RCC_LPTIM2CLKSOURCE_PLL3
#define RCC_LPTIM2CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1276
RCC_PLL3InitTypeDef::PLL3P
uint32_t PLL3P
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:90
PLL1_ClocksTypeDef::PLL1_R_Frequency
uint32_t PLL1_R_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:115
RCC_LPUART1CLKSOURCE_CSI
#define RCC_LPUART1CLKSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:773
RCC_D1CFGR_HPRE
#define RCC_D1CFGR_HPRE
Definition: stm32h735xx.h:15039
REV_ID_Y
#define REV_ID_Y
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:60
RCC_PERIPHCLK_I2C123
#define RCC_PERIPHCLK_I2C123
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:385
HAL_RCCEx_CRSGetSynchronizationInfo
void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo)
RCC_PLL3InitTypeDef::PLL3VCOSEL
uint32_t PLL3VCOSEL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:101
RCC_PeriphCLKInitTypeDef::Spi6ClockSelection
uint32_t Spi6ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:269
RCC_PLL2InitTypeDef::PLL2N
uint32_t PLL2N
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:53
__HAL_RCC_GET_SAI1_SOURCE
#define __HAL_RCC_GET_SAI1_SOURCE()
Macro to get the SAI1 clock source.
Definition: stm32f7xx_hal_rcc_ex.h:2750
UNUSED
#define UNUSED(x)
Definition: porcupine/demo/c/dr_libs/old/dr.h:92
RCC_PLL2_DIVQ
#define RCC_PLL2_DIVQ
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:467
RCC_PERIPHCLK_FDCAN
#define RCC_PERIPHCLK_FDCAN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:428
RCC_CRSSynchroInfoTypeDef::FreqErrorDirection
uint32_t FreqErrorDirection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:333
RCC_PLLCFGR_PLL3VCOSEL_Pos
#define RCC_PLLCFGR_PLL3VCOSEL_Pos
Definition: stm32h735xx.h:15276
RCC_PLLCFGR_PLL3FRACEN
#define RCC_PLLCFGR_PLL3FRACEN
Definition: stm32h735xx.h:15275
RCC_LPTIM2CLKSOURCE_CLKP
#define RCC_LPTIM2CLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1279
RCC_LPTIM345CLKSOURCE_LSE
#define RCC_LPTIM345CLKSOURCE_LSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1304
IS_RCC_PLL2M_VALUE
#define IS_RCC_PLL2M_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4284
RCC_PERIPHCLK_USART234578
#define RCC_PERIPHCLK_USART234578
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:369
RCC_PLLCFGR_PLL3RGE
#define RCC_PLLCFGR_PLL3RGE
Definition: stm32h735xx.h:15281
RCC_PLL2InitTypeDef::PLL2Q
uint32_t PLL2Q
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:62
__HAL_RCC_GET_RTC_SOURCE
#define __HAL_RCC_GET_RTC_SOURCE()
Macro to get the RTC clock source.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1005
__HAL_RCC_GET_IT
#define __HAL_RCC_GET_IT(__INTERRUPT__)
Check the RCC's interrupt has occurred or not.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1204
RCC_CRSSynchroInfoTypeDef::FreqErrorCapture
uint32_t FreqErrorCapture
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:329
RCC_PLLCKSELR_DIVM1
#define RCC_PLLCKSELR_DIVM1
Definition: stm32h735xx.h:15215
RCC_D3CCIPR_SAI4BSEL_0
#define RCC_D3CCIPR_SAI4BSEL_0
Definition: stm32h735xx.h:15522
HAL_RCCEx_CRSConfig
void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit)
PLL3_ClocksTypeDef::PLL3_P_Frequency
uint32_t PLL3_P_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:133
RCC_PeriphCLKInitTypeDef::Usart234578ClockSelection
uint32_t Usart234578ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:221
HSI_VALUE
#define HSI_VALUE
Internal High Speed oscillator (HSI) value. This value is used by the RCC HAL module to compute the s...
Definition: stm32f407/stm32f407g-disc1/Inc/stm32f4xx_hal_conf.h:82
CRS_ISR_FEDIR
#define CRS_ISR_FEDIR
Definition: stm32h735xx.h:6000
CRS_ICR_SYNCWARNC
#define CRS_ICR_SYNCWARNC
Definition: stm32h735xx.h:6011
RCC_PeriphCLKInitTypeDef::SdmmcClockSelection
uint32_t SdmmcClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:172
__HAL_RCC_PLLCLKOUT_ENABLE
#define __HAL_RCC_PLLCLKOUT_ENABLE(__RCC_PLL1ClockOut__)
Enables or disables each clock output (PLL_P_CLK, PLL_Q_CLK, PLL_R_CLK)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7537
RCC_LPUART1CLKSOURCE_PLL3
#define RCC_LPUART1CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:771
IS_RCC_SWPMI1CLKSOURCE
#define IS_RCC_SWPMI1CLKSOURCE(SOURCE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4395
RCC_PLL3DIVR_P3_Pos
#define RCC_PLL3DIVR_P3_Pos
Definition: stm32h735xx.h:15360
RCC_PeriphCLKInitTypeDef::Lptim1ClockSelection
uint32_t Lptim1ClockSelection
Definition: stm32f7xx_hal_rcc_ex.h:199
RCC_PLL3_DIVP
#define RCC_PLL3_DIVP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:477
__HAL_RCC_CRS_CLEAR_FLAG
#define __HAL_RCC_CRS_CLEAR_FLAG(__FLAG__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3825
IS_RCC_PLL3VCO_VALUE
#define IS_RCC_PLL3VCO_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4303
__HAL_RCC_PLL3_VCORANGE
#define __HAL_RCC_PLL3_VCORANGE(__RCC_PLL3VCORange__)
Macro to select the PLL3 reference frequency range.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2002
RCC_SPI45CLKSOURCE_PCLK1
#define RCC_SPI45CLKSOURCE_PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1123
RCC_USART16CLKSOURCE_PLL3
#define RCC_USART16CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:576
RCC_SPI45CLKSOURCE_PLL3
#define RCC_SPI45CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1125
__HAL_RCC_GET_CEC_SOURCE
#define __HAL_RCC_GET_CEC_SOURCE()
macro to get the CEC clock source.
Definition: stm32f7xx_hal_rcc_ex.h:3095
CSI_VALUE
#define CSI_VALUE
Internal oscillator (CSI) default value. This value is the default CSI value after Reset.
Definition: stm32h735/stm32h735g-dk/Inc/stm32h7xx_hal_conf.h:120
__HAL_RCC_I2C1235_CONFIG
#define __HAL_RCC_I2C1235_CONFIG(__I2C1235CLKSource__)
macro to configure the I2C1/2/3/5* clock (I2C123CLK).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2273
PLL2_ClocksTypeDef::PLL2_R_Frequency
uint32_t PLL2_R_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:125
RCC_PLLCFGR_PLL2VCOSEL_Pos
#define RCC_PLLCFGR_PLL2VCOSEL_Pos
Definition: stm32h735xx.h:15262
HAL_GetREVID
uint32_t HAL_GetREVID(void)
Returns the device revision identifier.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c:450
__HAL_RCC_PLL3CLKOUT_ENABLE
#define __HAL_RCC_PLL3CLKOUT_ENABLE(__RCC_PLL3ClockOut__)
Enables or disables each clock output (PLL3_P_CLK, PLL3_Q_CLK, PLL3_R_CLK)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1917
RCC_TIMPRES_ACTIVATED
#define RCC_TIMPRES_ACTIVATED
Definition: stm32f7xx_hal_rcc_ex.h:511
RCC_PLL2DIVR_P2_Pos
#define RCC_PLL2DIVR_P2_Pos
Definition: stm32h735xx.h:15341
RCC_LPTIM2CLKSOURCE_LSE
#define RCC_LPTIM2CLKSOURCE_LSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1277
IS_RCC_CLKPSOURCE
#define IS_RCC_CLKPSOURCE(SOURCE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4415
RCC_PLL2InitTypeDef::PLL2P
uint32_t PLL2P
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:58
SystemCoreClock
uint32_t SystemCoreClock
Definition: system_MIMXRT1052.c:69
__HAL_RCC_CLEAR_IT
#define __HAL_RCC_CLEAR_IT(__INTERRUPT__)
Clear the RCC's interrupt pending bits (Perform Byte access to RCC_CIR[23:16] bits to clear the selec...
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1190
RCC_SPDIFRXCLKSOURCE_PLL2
#define RCC_SPDIFRXCLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1537
CRS_CFGR_FELIM_Pos
#define CRS_CFGR_FELIM_Pos
Definition: stm32h735xx.h:5955
RCC_USART234578CLKSOURCE_PLL2
#define RCC_USART234578CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:659
RCC_PLLCFGR_PLL2RGE
#define RCC_PLLCFGR_PLL2RGE
Definition: stm32h735xx.h:15267
RCC_CRSSynchroInfoTypeDef
RCC_CRS Synchronization structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:321
RCC_CRSInitTypeDef::Source
uint32_t Source
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:300
MODIFY_REG
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:224
__HAL_RCC_BACKUPRESET_RELEASE
#define __HAL_RCC_BACKUPRESET_RELEASE()
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1021
RCC_PeriphCLKInitTypeDef::Dfsdm1ClockSelection
uint32_t Dfsdm1ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:205
__HAL_RCC_DISABLE_IT
#define __HAL_RCC_DISABLE_IT(__INTERRUPT__)
Disable RCC interrupt (Perform Byte access to RCC_CIR[14:8] bits to disable the selected interrupts).
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1176
__HAL_RCC_PLL3FRACN_DISABLE
#define __HAL_RCC_PLL3FRACN_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1899
__HAL_RCC_GET_SPI123_SOURCE
#define __HAL_RCC_GET_SPI123_SOURCE()
Macro to get the SPI1/2/3 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3316
RCC_SAI1CLKSOURCE_CLKP
#define RCC_SAI1CLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:973
__HAL_RCC_GET_SDMMC_SOURCE
#define __HAL_RCC_GET_SDMMC_SOURCE()
Macro to get the SDMMC clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3540
RCC_LPTIM2CLKSOURCE_PCLK4
#define RCC_LPTIM2CLKSOURCE_PCLK4
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1273
RCC_SAI1CLKSOURCE_PLL3
#define RCC_SAI1CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:971
CRS_CR_SWSYNC
#define CRS_CR_SWSYNC
Definition: stm32h735xx.h:5946
RCC_SPI6CLKSOURCE_PCLK4
#define RCC_SPI6CLKSOURCE_PCLK4
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1177
RCC_SPI6CLKSOURCE_PLL2
#define RCC_SPI6CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1178
__HAL_RCC_CRS_RELEASE_RESET
#define __HAL_RCC_CRS_RELEASE_RESET()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:5012
RCC_LPUART1CLKSOURCE_HSI
#define RCC_LPUART1CLKSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:772
RCC_CRS_IT_ERR
#define RCC_CRS_IT_ERR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1725
RCC_PLL3DIVR_R3
#define RCC_PLL3DIVR_R3
Definition: stm32h735xx.h:15368
RCC_CRS_FLAG_ERR
#define RCC_CRS_FLAG_ERR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1740
RCC_PLLCKSELR_DIVM2_Pos
#define RCC_PLLCKSELR_DIVM2_Pos
Definition: stm32h735xx.h:15223
RCC_USART16CLKSOURCE_HSI
#define RCC_USART16CLKSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:577
RCC_PLL3InitTypeDef::PLL3M
uint32_t PLL3M
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:82
EXTERNAL_CLOCK_VALUE
#define EXTERNAL_CLOCK_VALUE
External clock source for I2S peripheral This value is used by the I2S HAL module to compute the I2S ...
Definition: stm32f407/stm32f407g-disc1/Inc/stm32f4xx_hal_conf.h:110
RCC_PeriphCLKInitTypeDef::Lptim2ClockSelection
uint32_t Lptim2ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:253
RCC_LPTIM2CLKSOURCE_PLL2
#define RCC_LPTIM2CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1275
__HAL_RCC_GET_LPTIM2_SOURCE
#define __HAL_RCC_GET_LPTIM2_SOURCE()
macro to get the LPTIM2 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2864
RCC_SPI45CLKSOURCE_CSI
#define RCC_SPI45CLKSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1127
__HAL_RCC_USART16_CONFIG
#define __HAL_RCC_USART16_CONFIG
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2461
RCC_CRSInitTypeDef::ErrorLimitValue
uint32_t ErrorLimitValue
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:310
__HAL_RCC_ENABLE_IT
#define __HAL_RCC_ENABLE_IT(__INTERRUPT__)
Enable RCC interrupt (Perform Byte access to RCC_CIR[14:8] bits to enable the selected interrupts).
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1163
RCC_PLLSOURCE_CSI
#define RCC_PLLSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:266
RCC_TIMPRES_DESACTIVATED
#define RCC_TIMPRES_DESACTIVATED
Definition: stm32f7xx_hal_rcc_ex.h:510
RCC_PLL2_DIVP
#define RCC_PLL2_DIVP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:466
__HAL_RCC_PLL2_CONFIG
#define __HAL_RCC_PLL2_CONFIG(__PLL2M__, __PLL2N__, __PLL2P__, __PLL2Q__, __PLL2R__)
Macro to configures the PLL2 multiplication and division factors.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1831
PLL2_ClocksTypeDef
RCC PLL2 Clocks structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:121
__HAL_RCC_PLL3_DISABLE
#define __HAL_RCC_PLL3_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1890
__HAL_RCC_PLL3_ENABLE
#define __HAL_RCC_PLL3_ENABLE()
Macros to enable or disable the main PLL3.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1889
IS_RCC_PLL3R_VALUE
#define IS_RCC_PLL3R_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4282
__HAL_RCC_GET_CLKP_SOURCE
#define __HAL_RCC_GET_CLKP_SOURCE()
Macro to get the Oscillator clock for peripheral source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3252
RCC_PeriphCLKInitTypeDef::PLL3
RCC_PLL3InitTypeDef PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:150
__HAL_RCC_GET_FMC_SOURCE
#define __HAL_RCC_GET_FMC_SOURCE()
macro to get the FMC clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3075
RCC_CRS_FLAG_SYNCMISS
#define RCC_CRS_FLAG_SYNCMISS
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1743
RCC_PeriphCLKInitTypeDef::Usart16ClockSelection
uint32_t Usart16ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:224
PWR_CR1_DBP
#define PWR_CR1_DBP
Definition: stm32f769xx.h:10473
__HAL_RCC_GET_I2C1_SOURCE
#define __HAL_RCC_GET_I2C1_SOURCE()
Macro to get the I2C1 clock source.
Definition: stm32f7xx_hal_rcc_ex.h:2832
RCC_CLKPSOURCE_HSE
#define RCC_CLKPSOURCE_HSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1572
RCC_RNGCLKSOURCE_HSI48
#define RCC_RNGCLKSOURCE_HSI48
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:920
IS_RCC_I2C4CLKSOURCE
#define IS_RCC_I2C4CLKSOURCE(SOURCE)
Definition: stm32f7xx_hal_rcc_ex.h:3446
IS_RCC_STOP_WAKEUPCLOCK
#define IS_RCC_STOP_WAKEUPCLOCK(SOURCE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8242
__HAL_RCC_PLL3FRACN_CONFIG
#define __HAL_RCC_PLL3FRACN_CONFIG(__RCC_PLL3FRACN__)
Macro to configures PLL3 clock Fractional Part of The Multiplication Factor.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1977
CRS_ICR_ERRC
#define CRS_ICR_ERRC
Definition: stm32h735xx.h:6014
IS_RCC_PLL3M_VALUE
#define IS_RCC_PLL3M_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4278
HAL_RCCEx_EnableLSECSS_IT
void HAL_RCCEx_EnableLSECSS_IT(void)
RCC_PLL2InitTypeDef::PLL2FRACN
uint32_t PLL2FRACN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:72
__HAL_RCC_GET_ADC_SOURCE
#define __HAL_RCC_GET_ADC_SOURCE()
Macro to get the ADC clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3129
RCC_D3CCIPR_SAI4ASEL_1
#define RCC_D3CCIPR_SAI4ASEL_1
Definition: stm32h735xx.h:15516
READ_BIT
#define READ_BIT(REG, BIT)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:216
RCC_PERIPHCLK_I2C4
#define RCC_PERIPHCLK_I2C4
Definition: stm32f7xx_hal_rcc_ex.h:254
RCC_PLL2DIVR_Q2
#define RCC_PLL2DIVR_Q2
Definition: stm32h735xx.h:15346
RCC_SPI45CLKSOURCE_HSI
#define RCC_SPI45CLKSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1126
__HAL_RCC_LPUART1_CONFIG
#define __HAL_RCC_LPUART1_CONFIG(__LPUART1CLKSource__)
macro to configure the LPUART1 clock (LPUART1CLK).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2780
RCC_PeriphCLKInitTypeDef::SpdifrxClockSelection
uint32_t SpdifrxClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:202
RCC_PLLSOURCE_HSE
#define RCC_PLLSOURCE_HSE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:182
HAL_MAX_DELAY
#define HAL_MAX_DELAY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:61
RCC_D1CFGR_D1CPRE
#define RCC_D1CFGR_D1CPRE
Definition: stm32h735xx.h:15096
CRS_CR_AUTOTRIMEN
#define CRS_CR_AUTOTRIMEN
Definition: stm32h735xx.h:5943
IS_RCC_CRS_SYNC_POLARITY
#define IS_RCC_CRS_SYNC_POLARITY(__POLARITY__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4445
RCC_LPTIM345CLKSOURCE_PLL3
#define RCC_LPTIM345CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1303
RCC_CRS_SYNC_SOURCE_PIN
#define RCC_CRS_SYNC_SOURCE_PIN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1650
RCC_CRS_FLAG_SYNCWARN
#define RCC_CRS_FLAG_SYNCWARN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1739
RCC_PLL2InitTypeDef::PLL2R
uint32_t PLL2R
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:65
__HAL_RCC_PLL2FRACN_CONFIG
#define __HAL_RCC_PLL2FRACN_CONFIG(__RCC_PLL2FRACN__)
Macro to configures PLL2 clock Fractional Part Of The Multiplication Factor.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1854
RCC_D3CCIPR_SAI4ASEL_0
#define RCC_D3CCIPR_SAI4ASEL_0
Definition: stm32h735xx.h:15515
RCC_PeriphCLKInitTypeDef::CkperClockSelection
uint32_t CkperClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:175
RCC_PLLCFGR_PLL3RGE_Pos
#define RCC_PLLCFGR_PLL3RGE_Pos
Definition: stm32h735xx.h:15279
__HAL_RCC_GET_USART16_SOURCE
#define __HAL_RCC_GET_USART16_SOURCE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2484
RCC_PeriphCLKInitTypeDef::CecClockSelection
uint32_t CecClockSelection
Definition: stm32f7xx_hal_rcc_ex.h:202
IS_RCC_PLL2Q_VALUE
#define IS_RCC_PLL2Q_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4287
RCC_LSE_TIMEOUT_VALUE
#define RCC_LSE_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1336
RCC_SPI6CLKSOURCE_PLL3
#define RCC_SPI6CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1179
RCC_FMCCLKSOURCE_PLL2
#define RCC_FMCCLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1425
RCC_PLL3InitTypeDef::PLL3N
uint32_t PLL3N
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:85
RCC_PeriphCLKInitTypeDef::UsbClockSelection
uint32_t UsbClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:238
HAL_RCC_GetHCLKFreq
uint32_t HAL_RCC_GetHCLKFreq(void)
HAL_RCCEx_GetPLL3ClockFreq
void HAL_RCCEx_GetPLL3ClockFreq(PLL3_ClocksTypeDef *PLL3_Clocks)
RCC_PLL1DIVR_P1
#define RCC_PLL1DIVR_P1
Definition: stm32h735xx.h:15324
RCC_USART234578CLKSOURCE_CSI
#define RCC_USART234578CLKSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:662
RCC_D3CFGR_D3PPRE
#define RCC_D3CFGR_D3PPRE
Definition: stm32h735xx.h:15177
RCC_SPI6CLKSOURCE_PIN
#define RCC_SPI6CLKSOURCE_PIN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1183
HAL_RCCEx_KerWakeUpStopCLKConfig
void HAL_RCCEx_KerWakeUpStopCLKConfig(uint32_t WakeUpClk)
RCC
#define RCC
Definition: stm32f407xx.h:1113
IS_RCC_PLLFRACN_VALUE
#define IS_RCC_PLLFRACN_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8084
RCC_PLL2_DIVR
#define RCC_PLL2_DIVR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:468
CRS_CR_TRIM_Pos
#define CRS_CR_TRIM_Pos
Definition: stm32h735xx.h:5947
RCC_RNGCLKSOURCE_LSI
#define RCC_RNGCLKSOURCE_LSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:923
__HAL_RCC_CLKP_CONFIG
#define __HAL_RCC_CLKP_CONFIG(__CLKPSource__)
Macro to configure the CLKP : Oscillator clock for peripheral.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3239
RCC_PLLCKSELR_DIVM2
#define RCC_PLLCKSELR_DIVM2
Definition: stm32h735xx.h:15225
__HAL_RCC_LPTIM345_CONFIG
#define __HAL_RCC_LPTIM345_CONFIG(__LPTIM345CLKSource__)
macro to configure the LPTIM3/4/5 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2881
PLL1_ClocksTypeDef
RCC PLL1 Clocks structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:111
HAL_TIMEOUT
@ HAL_TIMEOUT
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:45
RCC_PERIPHCLK_CEC
#define RCC_PERIPHCLK_CEC
Definition: stm32f7xx_hal_rcc_ex.h:259
PLL2_ClocksTypeDef::PLL2_Q_Frequency
uint32_t PLL2_Q_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:124
RCC_USART16CLKSOURCE_PCLK2
#define RCC_USART16CLKSOURCE_PCLK2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:574
RCC_PLLCKSELR_DIVM3_Pos
#define RCC_PLLCKSELR_DIVM3_Pos
Definition: stm32h735xx.h:15233
__HAL_RCC_GET_SPI6_SOURCE
#define __HAL_RCC_GET_SPI6_SOURCE()
Macro to get the SPI6 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3518
RCC_PLL3DIVR_N3
#define RCC_PLL3DIVR_N3
Definition: stm32h735xx.h:15359
RCC_FMCCLKSOURCE_PLL
#define RCC_FMCCLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1424
RCC_PeriphCLKInitTypeDef::Spi45ClockSelection
uint32_t Spi45ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:199
RCC_PLLCFGR_PLL3VCOSEL
#define RCC_PLLCFGR_PLL3VCOSEL
Definition: stm32h735xx.h:15278
RCC_PLLCFGR_PLL2VCOSEL
#define RCC_PLLCFGR_PLL2VCOSEL
Definition: stm32h735xx.h:15264
RCC_PeriphCLKInitTypeDef::I2c4ClockSelection
uint32_t I2c4ClockSelection
Definition: stm32f7xx_hal_rcc_ex.h:196
RCC_PLLCFGR_PLL2RGE_Pos
#define RCC_PLLCFGR_PLL2RGE_Pos
Definition: stm32h735xx.h:15265
RCC_USART16CLKSOURCE_LSE
#define RCC_USART16CLKSOURCE_LSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:579
__HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE
#define __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE()
Enable the RCC LSE CSS Extended Interrupt Rising Trigger.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3673
RCC_PERIPHCLK_USB
#define RCC_PERIPHCLK_USB
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:431
RCC_PERIPHCLK_SAI1
#define RCC_PERIPHCLK_SAI1
Definition: stm32f7xx_hal_rcc_ex.h:256
RCC_USART234578CLKSOURCE_PLL3
#define RCC_USART234578CLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:660
IS_RCC_PLL3Q_VALUE
#define IS_RCC_PLL3Q_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4281
RCC_PERIPHCLK_SDMMC
#define RCC_PERIPHCLK_SDMMC
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:429
HAL_RCCEx_LSECSS_Callback
void HAL_RCCEx_LSECSS_Callback(void)
RCC_RNGCLKSOURCE_LSE
#define RCC_RNGCLKSOURCE_LSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:922
__HAL_RCC_PLL2_ENABLE
#define __HAL_RCC_PLL2_ENABLE()
Macros to enable or disable PLL2.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1767
PLL3_ClocksTypeDef
RCC PLL3 Clocks structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:131
RCC_PERIPHCLK_LPTIM345
#define RCC_PERIPHCLK_LPTIM345
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:396
RCC_SPI45CLKSOURCE_HSE
#define RCC_SPI45CLKSOURCE_HSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1128
RCC_USART234578CLKSOURCE_PCLK1
#define RCC_USART234578CLKSOURCE_PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:657
HAL_RCCEx_PeriphCLKConfig
HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
RCC_SPDIFRXCLKSOURCE_PLL3
#define RCC_SPDIFRXCLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1538
RCC_PLL1DIVR_N1
#define RCC_PLL1DIVR_N1
Definition: stm32h735xx.h:15321
__HAL_RCC_GET_FLAG
#define __HAL_RCC_GET_FLAG(__FLAG__)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1230
RCC_SAI1CLKSOURCE_PIN
#define RCC_SAI1CLKSOURCE_PIN
Definition: stm32f7xx_hal_rcc_ex.h:327
RCC_PLLCKSELR_PLLSRC
#define RCC_PLLCKSELR_PLLSRC
Definition: stm32h735xx.h:15200
RCC_PERIPHCLK_TIM
#define RCC_PERIPHCLK_TIM
Definition: stm32f7xx_hal_rcc_ex.h:241
RCC_SDMMCCLKSOURCE_PLL
#define RCC_SDMMCCLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1458
RCC_BDCR_LSECSSON
#define RCC_BDCR_LSECSSON
Definition: stm32h735xx.h:15659
HAL_RCC_GetSysClockFreq
uint32_t HAL_RCC_GetSysClockFreq(void)
RCC_USART16CLKSOURCE_CSI
#define RCC_USART16CLKSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:578
RCC_PeriphCLKInitTypeDef::Sai1ClockSelection
uint32_t Sai1ClockSelection
Definition: stm32f7xx_hal_rcc_ex.h:157
__HAL_RCC_GET_SWPMI1_SOURCE
#define __HAL_RCC_GET_SWPMI1_SOURCE()
Macro to get the SWPMI1 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3154
RCC_RNGCLKSOURCE_PLL
#define RCC_RNGCLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:921
RCC_PLL2InitTypeDef
PLL2 Clock structure definition.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:47
__HAL_RCC_PLL2FRACN_DISABLE
#define __HAL_RCC_PLL2FRACN_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1797
RCC_PeriphCLKInitTypeDef::FmcClockSelection
uint32_t FmcClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:153
HAL_RCCEx_GetD1PCLK1Freq
uint32_t HAL_RCCEx_GetD1PCLK1Freq(void)
RCC_CRS_FLAG_TRIMOVF
#define RCC_CRS_FLAG_TRIMOVF
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1744
RCC_FMCCLKSOURCE_HCLK
#define RCC_FMCCLKSOURCE_HCLK
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1421
RCC_SPI123CLKSOURCE_PLL2
#define RCC_SPI123CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1060
RCC_DBP_TIMEOUT_VALUE
#define RCC_DBP_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1335
__HAL_RCC_BACKUPRESET_FORCE
#define __HAL_RCC_BACKUPRESET_FORCE()
Macros to force or release the Backup domain reset.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1020
RCC_PeriphCLKInitTypeDef::Lpuart1ClockSelection
uint32_t Lpuart1ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:247
PLL3_ClocksTypeDef::PLL3_R_Frequency
uint32_t PLL3_R_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:135
HAL_RCCEx_CRS_IRQHandler
void HAL_RCCEx_CRS_IRQHandler(void)
CRS_ICR_SYNCOKC
#define CRS_ICR_SYNCOKC
Definition: stm32h735xx.h:6008
RCC_PERIPHCLK_LPTIM1
#define RCC_PERIPHCLK_LPTIM1
Definition: stm32f7xx_hal_rcc_ex.h:255
RCC_PeriphCLKInitTypeDef::I2c123ClockSelection
uint32_t I2c123ClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:234
RCC_PERIPHCLK_RTC
#define RCC_PERIPHCLK_RTC
Definition: stm32f7xx_hal_rcc_ex.h:242
HSE_VALUE
#define HSE_VALUE
Adjust the value of External High Speed oscillator (HSE) used in your application....
Definition: stm32f407/stm32f407g-disc1/Inc/stm32f4xx_hal_conf.h:69
RCC_CRS_SYNC_SOURCE_USB2
#define RCC_CRS_SYNC_SOURCE_USB2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1653
IS_RCC_I2C123CLKSOURCE
#define IS_RCC_I2C123CLKSOURCE(SOURCE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4093
HAL_RCCEx_GetD1SysClockFreq
uint32_t HAL_RCCEx_GetD1SysClockFreq(void)
WRITE_REG
#define WRITE_REG(REG, VAL)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:220
PLL1_ClocksTypeDef::PLL1_P_Frequency
uint32_t PLL1_P_Frequency
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:113
RCC_BDCR_RTCSEL
#define RCC_BDCR_RTCSEL
Definition: stm32f407xx.h:10285
RCC_CRS_SYNCWARN
#define RCC_CRS_SYNCWARN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1639
RCC_PeriphCLKInitTypeDef
RCC extended clocks structure definition.
Definition: stm32f7xx_hal_rcc_ex.h:126
RCC_SAI1CLKSOURCE_PLL
#define RCC_SAI1CLKSOURCE_PLL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:969
RCC_LPTIM1CLKSOURCE_PCLK1
#define RCC_LPTIM1CLKSOURCE_PCLK1
Definition: stm32f7xx_hal_rcc_ex.h:489
HAL_RCCEx_GetPLL2ClockFreq
void HAL_RCCEx_GetPLL2ClockFreq(PLL2_ClocksTypeDef *PLL2_Clocks)
RCC_CRS_TIMEOUT
#define RCC_CRS_TIMEOUT
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1637
RCC_PeriphCLKInitTypeDef::AdcClockSelection
uint32_t AdcClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:259
IS_RCC_RTCCLKSOURCE
#define IS_RCC_RTCCLKSOURCE(__SOURCE__)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1381
__HAL_RCC_GET_LPTIM1_SOURCE
#define __HAL_RCC_GET_LPTIM1_SOURCE()
macro to get the LPTIM1 clock source.
Definition: stm32f7xx_hal_rcc_ex.h:3078
RCC_ADCCLKSOURCE_CLKP
#define RCC_ADCCLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1476
RCC_PLL2InitTypeDef::PLL2RGE
uint32_t PLL2RGE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:67
RCC_USART234578CLKSOURCE_LSE
#define RCC_USART234578CLKSOURCE_LSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:663
RCC_PeriphCLKInitTypeDef::RngClockSelection
uint32_t RngClockSelection
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:227
RCC_LPTIM1CLKSOURCE_PLL2
#define RCC_LPTIM1CLKSOURCE_PLL2
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1247
RCC_PLL1FRACR_FRACN1
#define RCC_PLL1FRACR_FRACN1
Definition: stm32h735xx.h:15335
__HAL_RCC_WAKEUPSTOP_CLK_CONFIG
#define __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(__RCC_STOPWUCLK__)
Macro to configure the wake up from stop clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7769
READ_REG
#define READ_REG(REG)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:222
__HAL_RCC_SDMMC_CONFIG
#define __HAL_RCC_SDMMC_CONFIG(__SDMMCCLKSource__)
Macro to configure the SDMMC clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3531
RCC_SPI6CLKSOURCE_CSI
#define RCC_SPI6CLKSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1181
__HAL_RCC_RTC_CONFIG
#define __HAL_RCC_RTC_CONFIG(__RTCCLKSource__)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:994
CRS_ISR_FECAP
#define CRS_ISR_FECAP
Definition: stm32h735xx.h:6003
RCC_PLLCFGR_PLL2FRACEN_Pos
#define RCC_PLLCFGR_PLL2FRACEN_Pos
Definition: stm32h735xx.h:15259
RCC_SPI6CLKSOURCE_D3PCLK1
#define RCC_SPI6CLKSOURCE_D3PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1176
SET_BIT
#define SET_BIT(REG, BIT)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:212
RCC_D1CFGR_D1PPRE_Pos
#define RCC_D1CFGR_D1PPRE_Pos
Definition: stm32h735xx.h:15073
CRS_ICR_ESYNCC
#define CRS_ICR_ESYNCC
Definition: stm32h735xx.h:6017
__HAL_RCC_GET_USART234578_SOURCE
#define __HAL_RCC_GET_USART234578_SOURCE()
macro to get the USART2/3/4/5/7/8 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2518
RCC_CRS_TRIMOVF
#define RCC_CRS_TRIMOVF
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1642
HAL_RCCEx_LSECSS_IRQHandler
void HAL_RCCEx_LSECSS_IRQHandler(void)
RCC_CRSSynchroInfoTypeDef::ReloadValue
uint32_t ReloadValue
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:323
IS_RCC_CRS_ERRORLIMIT
#define IS_RCC_CRS_ERRORLIMIT(__VALUE__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4450
IS_RCC_STOP_KERWAKEUPCLOCK
#define IS_RCC_STOP_KERWAKEUPCLOCK(SOURCE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8245
RCC_PLL2DIVR_R2
#define RCC_PLL2DIVR_R2
Definition: stm32h735xx.h:15349
IS_RCC_PLL3N_VALUE
#define IS_RCC_PLL3N_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4279
RCC_PERIPHCLK_ADC
#define RCC_PERIPHCLK_ADC
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:432
__HAL_RCC_PLL2_DISABLE
#define __HAL_RCC_PLL2_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1768
IS_RCC_PLL2N_VALUE
#define IS_RCC_PLL2N_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4285
HAL_RCCEx_CRS_ExpectedSyncCallback
void HAL_RCCEx_CRS_ExpectedSyncCallback(void)
__HAL_RCC_DFSDM1_CONFIG
#define __HAL_RCC_DFSDM1_CONFIG(__DFSDM1CLKSource__)
Macro to configure the DFSDM1 clock.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3167
__HAL_RCC_SPI6_CONFIG
#define __HAL_RCC_SPI6_CONFIG(__RCC_SPI6CLKSource__)
Macro to Configure the SPI6 clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3501
RCC_PLL3FRACR_FRACN3
#define RCC_PLL3FRACR_FRACN3
Definition: stm32h735xx.h:15373
HAL_RCCEx_DisableLSECSS
void HAL_RCCEx_DisableLSECSS(void)
__HAL_RCC_GET_HSI_DIVIDER
#define __HAL_RCC_GET_HSI_DIVIDER()
Macro to get the HSI divider.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7145
RCC_USBCLKSOURCE_HSI48
#define RCC_USBCLKSOURCE_HSI48
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:952
RCC_PLL2DIVR_Q2_Pos
#define RCC_PLL2DIVR_Q2_Pos
Definition: stm32h735xx.h:15344
RCC_USART234578CLKSOURCE_HSI
#define RCC_USART234578CLKSOURCE_HSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:661
RCC_PLLCFGR_PLL3FRACEN_Pos
#define RCC_PLLCFGR_PLL3FRACEN_Pos
Definition: stm32h735xx.h:15273
__HAL_RCC_I2C123_CONFIG
#define __HAL_RCC_I2C123_CONFIG
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:2276
IS_RCC_SDMMC
#define IS_RCC_SDMMC(__SOURCE__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4387
CRS_CR_CEN
#define CRS_CR_CEN
Definition: stm32h735xx.h:5940
RCC_PLL2DIVR_N2_Pos
#define RCC_PLL2DIVR_N2_Pos
Definition: stm32h735xx.h:15338
RCC_PERIPHCLK_CKPER
#define RCC_PERIPHCLK_CKPER
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:456
RCC_SPI6CLKSOURCE_HSE
#define RCC_SPI6CLKSOURCE_HSE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1182
__HAL_RCC_GET_USB_SOURCE
#define __HAL_RCC_GET_USB_SOURCE()
Macro to get the USB clock source.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:3102
IS_RCC_DFSDM1CLKSOURCE
#define IS_RCC_DFSDM1CLKSOURCE(SOURCE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4398
__HAL_RCC_PLL2_VCIRANGE
#define __HAL_RCC_PLL2_VCIRANGE(__RCC_PLL2VCIRange__)
Macro to select the PLL2 reference frequency range.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1866
RCC_LPTIM1CLKSOURCE_CLKP
#define RCC_LPTIM1CLKSOURCE_CLKP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1251
IS_RCC_CRS_SYNC_SOURCE
#define IS_RCC_CRS_SYNC_SOURCE(__SOURCE__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4435
HAL_RCCEx_GetPeriphCLKConfig
void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
CRS_CR_TRIM
#define CRS_CR_TRIM
Definition: stm32h735xx.h:5949
RCC_PeriphCLKInitTypeDef::RTCClockSelection
uint32_t RTCClockSelection
Definition: stm32f7xx_hal_rcc_ex.h:148
RCC_PERIPHCLK_SPI45
#define RCC_PERIPHCLK_SPI45
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:424
__HAL_RCC_PLL3_CONFIG
#define __HAL_RCC_PLL3_CONFIG(__PLL3M__, __PLL3N__, __PLL3P__, __PLL3Q__, __PLL3R__)
Macro to configures the PLL3 multiplication and division factors.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1953
RCC_CLKPSOURCE_CSI
#define RCC_CLKPSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1571
RCC_USBCLKSOURCE_PLL3
#define RCC_USBCLKSOURCE_PLL3
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:951
D1CorePrescTable
const uint8_t D1CorePrescTable[16]
Definition: stm32h735/stm32h735g-dk/Src/system_stm32h7xx.c:115
IS_RCC_CRS_SYNC_DIV
#define IS_RCC_CRS_SYNC_DIV(__DIV__)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4440
RCC_PLL2DIVR_R2_Pos
#define RCC_PLL2DIVR_R2_Pos
Definition: stm32h735xx.h:15347
__HAL_RCC_CRS_FORCE_RESET
#define __HAL_RCC_CRS_FORCE_RESET()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:4971
RCC_PLL3DIVR_Q3
#define RCC_PLL3DIVR_Q3
Definition: stm32h735xx.h:15365
RCC_CRS_FLAG_SYNCOK
#define RCC_CRS_FLAG_SYNCOK
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:1738
IS_RCC_PLL3RGE_VALUE
#define IS_RCC_PLL3RGE_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:4295


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:14:55