stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c
Go to the documentation of this file.
1 
68 /* Includes ------------------------------------------------------------------*/
69 #include "stm32h7xx_hal.h"
70 
80 #ifdef HAL_RCC_MODULE_ENABLED
81 
82 /* Private typedef -----------------------------------------------------------*/
83 /* Private define ------------------------------------------------------------*/
84 /* Private macro -------------------------------------------------------------*/
88 #define MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
89 #define MCO1_GPIO_PORT GPIOA
90 #define MCO1_PIN GPIO_PIN_8
91 
92 #define MCO2_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
93 #define MCO2_GPIO_PORT GPIOC
94 #define MCO2_PIN GPIO_PIN_9
95 
99 /* Private variables ---------------------------------------------------------*/
107 /* Private function prototypes -----------------------------------------------*/
108 /* Exported functions --------------------------------------------------------*/
109 
191 {
192  uint32_t tickstart;
193 
194  /* Increasing the CPU frequency */
196  {
197  /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
199 
200  /* Check that the new number of wait states is taken into account to access the Flash
201  memory by reading the FLASH_ACR register */
203  {
204  return HAL_ERROR;
205  }
206 
207  }
208 
209 
210  /* Get Start Tick */
211  tickstart = HAL_GetTick();
212 
213  /* Set HSION bit */
214  SET_BIT(RCC->CR, RCC_CR_HSION);
215 
216  /* Wait till HSI is ready */
217  while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) == 0U)
218  {
219  if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE)
220  {
221  return HAL_TIMEOUT;
222  }
223  }
224 
225  /* Set HSITRIM[6:0] bits to the reset value */
226  SET_BIT(RCC->HSICFGR, RCC_HSICFGR_HSITRIM_6);
227 
228  /* Reset CFGR register */
229  CLEAR_REG(RCC->CFGR);
230 
231  /* Update the SystemCoreClock and SystemD2Clock global variables */
234 
235  /* Adapt Systick interrupt period */
237  {
238  return HAL_ERROR;
239  }
240 
241  /* Get Start Tick */
242  tickstart = HAL_GetTick();
243 
244  /* Wait till clock switch is ready */
245  while (READ_BIT(RCC->CFGR, RCC_CFGR_SWS) != 0U)
246  {
247  if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE)
248  {
249  return HAL_TIMEOUT;
250  }
251  }
252 
253  /* Get Start Tick */
254  tickstart = HAL_GetTick();
255 
256  /* Reset CSION, CSIKERON, HSEON, HSI48ON, HSECSSON, HSIDIV bits */
259 
260  /* Wait till HSE is disabled */
261  while (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U)
262  {
263  if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE)
264  {
265  return HAL_TIMEOUT;
266  }
267  }
268 
269  /* Get Start Tick */
270  tickstart = HAL_GetTick();
271 
272  /* Clear PLLON bit */
274 
275  /* Wait till PLL is disabled */
276  while (READ_BIT(RCC->CR, RCC_CR_PLL1RDY) != 0U)
277  {
278  if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE)
279  {
280  return HAL_TIMEOUT;
281  }
282  }
283 
284  /* Get Start Tick */
285  tickstart = HAL_GetTick();
286 
287  /* Reset PLL2ON bit */
289 
290  /* Wait till PLL2 is disabled */
291  while (READ_BIT(RCC->CR, RCC_CR_PLL2RDY) != 0U)
292  {
293  if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE)
294  {
295  return HAL_TIMEOUT;
296  }
297  }
298 
299  /* Get Start Tick */
300  tickstart = HAL_GetTick();
301 
302  /* Reset PLL3 bit */
304 
305  /* Wait till PLL3 is disabled */
306  while (READ_BIT(RCC->CR, RCC_CR_PLL3RDY) != 0U)
307  {
308  if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE)
309  {
310  return HAL_TIMEOUT;
311  }
312  }
313 
314 #if defined(RCC_D1CFGR_HPRE)
315  /* Reset D1CFGR register */
316  CLEAR_REG(RCC->D1CFGR);
317 
318  /* Reset D2CFGR register */
319  CLEAR_REG(RCC->D2CFGR);
320 
321  /* Reset D3CFGR register */
322  CLEAR_REG(RCC->D3CFGR);
323 #else
324  /* Reset CDCFGR1 register */
325  CLEAR_REG(RCC->CDCFGR1);
326 
327  /* Reset CDCFGR2 register */
328  CLEAR_REG(RCC->CDCFGR2);
329 
330  /* Reset SRDCFGR register */
331  CLEAR_REG(RCC->SRDCFGR);
332 #endif
333 
334  /* Reset PLLCKSELR register to default value */
336 
337  /* Reset PLLCFGR register to default value */
338  WRITE_REG(RCC->PLLCFGR, 0x01FF0000U);
339 
340  /* Reset PLL1DIVR register to default value */
341  WRITE_REG(RCC->PLL1DIVR,0x01010280U);
342 
343  /* Reset PLL1FRACR register */
344  CLEAR_REG(RCC->PLL1FRACR);
345 
346  /* Reset PLL2DIVR register to default value */
347  WRITE_REG(RCC->PLL2DIVR,0x01010280U);
348 
349  /* Reset PLL2FRACR register */
350  CLEAR_REG(RCC->PLL2FRACR);
351 
352  /* Reset PLL3DIVR register to default value */
353  WRITE_REG(RCC->PLL3DIVR,0x01010280U);
354 
355  /* Reset PLL3FRACR register */
356  CLEAR_REG(RCC->PLL3FRACR);
357 
358  /* Reset HSEBYP bit */
360 
361  /* Disable all interrupts */
362  CLEAR_REG(RCC->CIER);
363 
364  /* Clear all interrupts flags */
365  WRITE_REG(RCC->CICR,0xFFFFFFFFU);
366 
367  /* Reset all RSR flags */
368  SET_BIT(RCC->RSR, RCC_RSR_RMVF);
369 
370  /* Decreasing the number of wait states because of lower CPU frequency */
372  {
373  /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
375 
376  /* Check that the new number of wait states is taken into account to access the Flash
377  memory by reading the FLASH_ACR register */
379  {
380  return HAL_ERROR;
381  }
382 
383 }
384 
385  return HAL_OK;
386 }
387 
402 __weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
403 {
404  uint32_t tickstart;
405  uint32_t temp1_pllckcfg, temp2_pllckcfg;
406 
407  /* Check Null pointer */
408  if(RCC_OscInitStruct == NULL)
409  {
410  return HAL_ERROR;
411  }
412 
413  /* Check the parameters */
415  /*------------------------------- HSE Configuration ------------------------*/
416  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE)
417  {
418  /* Check the parameters */
419  assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState));
420 
421  const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE();
422  const uint32_t temp_pllckselr = RCC->PLLCKSELR;
423  /* When the HSE is used as system clock or clock source for PLL in these cases HSE will not disabled */
424  if((temp_sysclksrc == RCC_CFGR_SWS_HSE) || ((temp_sysclksrc == RCC_CFGR_SWS_PLL1) && ((temp_pllckselr & RCC_PLLCKSELR_PLLSRC) == RCC_PLLCKSELR_PLLSRC_HSE)))
425  {
426  if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != 0U) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
427  {
428  return HAL_ERROR;
429  }
430  }
431  else
432  {
433  /* Set the new HSE configuration ---------------------------------------*/
434  __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState);
435 
436  /* Check the HSE State */
437  if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF)
438  {
439  /* Get Start Tick*/
440  tickstart = HAL_GetTick();
441 
442  /* Wait till HSE is ready */
443  while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == 0U)
444  {
445  if((uint32_t) (HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
446  {
447  return HAL_TIMEOUT;
448  }
449  }
450  }
451  else
452  {
453  /* Get Start Tick*/
454  tickstart = HAL_GetTick();
455 
456  /* Wait till HSE is disabled */
457  while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != 0U)
458  {
459  if((uint32_t) (HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
460  {
461  return HAL_TIMEOUT;
462  }
463  }
464  }
465  }
466  }
467  /*----------------------------- HSI Configuration --------------------------*/
468  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI)
469  {
470  /* Check the parameters */
471  assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState));
473 
474  /* When the HSI is used as system clock it will not be disabled */
475  const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE();
476  const uint32_t temp_pllckselr = RCC->PLLCKSELR;
477  if((temp_sysclksrc == RCC_CFGR_SWS_HSI) || ((temp_sysclksrc == RCC_CFGR_SWS_PLL1) && ((temp_pllckselr & RCC_PLLCKSELR_PLLSRC) == RCC_PLLCKSELR_PLLSRC_HSI)))
478  {
479  /* When HSI is used as system clock it will not be disabled */
480  if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != 0U) && (RCC_OscInitStruct->HSIState == RCC_HSI_OFF))
481  {
482  return HAL_ERROR;
483  }
484  /* Otherwise, just the calibration is allowed */
485  else
486  {
487  /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
489  }
490  }
491 
492  else
493  {
494  /* Check the HSI State */
495  if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF)
496  {
497  /* Enable the Internal High Speed oscillator (HSI, HSIDIV2,HSIDIV4, or HSIDIV8) */
498  __HAL_RCC_HSI_CONFIG(RCC_OscInitStruct->HSIState);
499 
500  /* Get Start Tick*/
501  tickstart = HAL_GetTick();
502 
503  /* Wait till HSI is ready */
504  while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == 0U)
505  {
506  if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
507  {
508  return HAL_TIMEOUT;
509  }
510  }
511 
512  /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
514  }
515  else
516  {
517  /* Disable the Internal High Speed oscillator (HSI). */
519 
520  /* Get Start Tick*/
521  tickstart = HAL_GetTick();
522 
523  /* Wait till HSI is disabled */
524  while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != 0U)
525  {
526  if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
527  {
528  return HAL_TIMEOUT;
529  }
530  }
531  }
532  }
533  }
534  /*----------------------------- CSI Configuration --------------------------*/
535  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_CSI) == RCC_OSCILLATORTYPE_CSI)
536  {
537  /* Check the parameters */
538  assert_param(IS_RCC_CSI(RCC_OscInitStruct->CSIState));
540 
541  /* When the CSI is used as system clock it will not disabled */
542  const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE();
543  const uint32_t temp_pllckselr = RCC->PLLCKSELR;
544  if((temp_sysclksrc == RCC_CFGR_SWS_CSI) || ((temp_sysclksrc == RCC_CFGR_SWS_PLL1) && ((temp_pllckselr & RCC_PLLCKSELR_PLLSRC) == RCC_PLLCKSELR_PLLSRC_CSI)))
545  {
546  /* When CSI is used as system clock it will not disabled */
547  if((__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) != 0U) && (RCC_OscInitStruct->CSIState != RCC_CSI_ON))
548  {
549  return HAL_ERROR;
550  }
551  /* Otherwise, just the calibration is allowed */
552  else
553  {
554  /* Adjusts the Internal High Speed oscillator (CSI) calibration value.*/
556  }
557  }
558  else
559  {
560  /* Check the CSI State */
561  if((RCC_OscInitStruct->CSIState)!= RCC_CSI_OFF)
562  {
563  /* Enable the Internal High Speed oscillator (CSI). */
565 
566  /* Get Start Tick*/
567  tickstart = HAL_GetTick();
568 
569  /* Wait till CSI is ready */
570  while(__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) == 0U)
571  {
572  if((HAL_GetTick() - tickstart ) > CSI_TIMEOUT_VALUE)
573  {
574  return HAL_TIMEOUT;
575  }
576  }
577 
578  /* Adjusts the Internal High Speed oscillator (CSI) calibration value.*/
580  }
581  else
582  {
583  /* Disable the Internal High Speed oscillator (CSI). */
585 
586  /* Get Start Tick*/
587  tickstart = HAL_GetTick();
588 
589  /* Wait till CSI is disabled */
590  while(__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) != 0U)
591  {
592  if((HAL_GetTick() - tickstart ) > CSI_TIMEOUT_VALUE)
593  {
594  return HAL_TIMEOUT;
595  }
596  }
597  }
598  }
599  }
600  /*------------------------------ LSI Configuration -------------------------*/
601  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI)
602  {
603  /* Check the parameters */
604  assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState));
605 
606  /* Check the LSI State */
607  if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF)
608  {
609  /* Enable the Internal Low Speed oscillator (LSI). */
611 
612  /* Get Start Tick*/
613  tickstart = HAL_GetTick();
614 
615  /* Wait till LSI is ready */
616  while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == 0U)
617  {
618  if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
619  {
620  return HAL_TIMEOUT;
621  }
622  }
623  }
624  else
625  {
626  /* Disable the Internal Low Speed oscillator (LSI). */
628 
629  /* Get Start Tick*/
630  tickstart = HAL_GetTick();
631 
632  /* Wait till LSI is ready */
633  while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != 0U)
634  {
635  if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
636  {
637  return HAL_TIMEOUT;
638  }
639  }
640  }
641  }
642 
643  /*------------------------------ HSI48 Configuration -------------------------*/
645  {
646  /* Check the parameters */
647  assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State));
648 
649  /* Check the HSI48 State */
650  if((RCC_OscInitStruct->HSI48State)!= RCC_HSI48_OFF)
651  {
652  /* Enable the Internal Low Speed oscillator (HSI48). */
654 
655  /* Get time-out */
656  tickstart = HAL_GetTick();
657 
658  /* Wait till HSI48 is ready */
660  {
661  if((HAL_GetTick() - tickstart ) > HSI48_TIMEOUT_VALUE)
662  {
663  return HAL_TIMEOUT;
664  }
665  }
666  }
667  else
668  {
669  /* Disable the Internal Low Speed oscillator (HSI48). */
671 
672  /* Get time-out */
673  tickstart = HAL_GetTick();
674 
675  /* Wait till HSI48 is ready */
677  {
678  if((HAL_GetTick() - tickstart ) > HSI48_TIMEOUT_VALUE)
679  {
680  return HAL_TIMEOUT;
681  }
682  }
683  }
684  }
685  /*------------------------------ LSE Configuration -------------------------*/
686  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE)
687  {
688  /* Check the parameters */
689  assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState));
690 
691  /* Enable write access to Backup domain */
692  PWR->CR1 |= PWR_CR1_DBP;
693 
694  /* Wait for Backup domain Write protection disable */
695  tickstart = HAL_GetTick();
696 
697  while((PWR->CR1 & PWR_CR1_DBP) == 0U)
698  {
699  if((HAL_GetTick() - tickstart ) > RCC_DBP_TIMEOUT_VALUE)
700  {
701  return HAL_TIMEOUT;
702  }
703  }
704 
705  /* Set the new LSE configuration -----------------------------------------*/
706  __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
707  /* Check the LSE State */
708  if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF)
709  {
710  /* Get Start Tick*/
711  tickstart = HAL_GetTick();
712 
713  /* Wait till LSE is ready */
714  while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == 0U)
715  {
716  if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
717  {
718  return HAL_TIMEOUT;
719  }
720  }
721  }
722  else
723  {
724  /* Get Start Tick*/
725  tickstart = HAL_GetTick();
726 
727  /* Wait till LSE is disabled */
728  while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != 0U)
729  {
730  if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
731  {
732  return HAL_TIMEOUT;
733  }
734  }
735  }
736  }
737  /*-------------------------------- PLL Configuration -----------------------*/
738  /* Check the parameters */
739  assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState));
740  if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE)
741  {
742  /* Check if the PLL is used as system clock or not */
744  {
745  if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON)
746  {
747  /* Check the parameters */
748  assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource));
749  assert_param(IS_RCC_PLLM_VALUE(RCC_OscInitStruct->PLL.PLLM));
750  assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN));
751  assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP));
752  assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ));
753  assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR));
754  assert_param(IS_RCC_PLLFRACN_VALUE(RCC_OscInitStruct->PLL.PLLFRACN));
755 
756  /* Disable the main PLL. */
758 
759  /* Get Start Tick*/
760  tickstart = HAL_GetTick();
761 
762  /* Wait till PLL is disabled */
763  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != 0U)
764  {
765  if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
766  {
767  return HAL_TIMEOUT;
768  }
769  }
770 
771  /* Configure the main PLL clock source, multiplication and division factors. */
772  __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource,
773  RCC_OscInitStruct->PLL.PLLM,
774  RCC_OscInitStruct->PLL.PLLN,
775  RCC_OscInitStruct->PLL.PLLP,
776  RCC_OscInitStruct->PLL.PLLQ,
777  RCC_OscInitStruct->PLL.PLLR);
778 
779  /* Disable PLLFRACN . */
781 
782  /* Configure PLL PLL1FRACN */
783  __HAL_RCC_PLLFRACN_CONFIG(RCC_OscInitStruct->PLL.PLLFRACN);
784 
785  /* Select PLL1 input reference frequency range: VCI */
786  __HAL_RCC_PLL_VCIRANGE(RCC_OscInitStruct->PLL.PLLRGE) ;
787 
788  /* Select PLL1 output frequency range : VCO */
789  __HAL_RCC_PLL_VCORANGE(RCC_OscInitStruct->PLL.PLLVCOSEL) ;
790 
791  /* Enable PLL System Clock output. */
793 
794  /* Enable PLL1Q Clock output. */
796 
797  /* Enable PLL1R Clock output. */
799 
800  /* Enable PLL1FRACN . */
802 
803  /* Enable the main PLL. */
805 
806  /* Get Start Tick*/
807  tickstart = HAL_GetTick();
808 
809  /* Wait till PLL is ready */
810  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == 0U)
811  {
812  if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
813  {
814  return HAL_TIMEOUT;
815  }
816  }
817  }
818  else
819  {
820  /* Disable the main PLL. */
822 
823  /* Get Start Tick*/
824  tickstart = HAL_GetTick();
825 
826  /* Wait till PLL is disabled */
827  while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != 0U)
828  {
829  if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
830  {
831  return HAL_TIMEOUT;
832  }
833  }
834  }
835  }
836  else
837  {
838  /* Do not return HAL_ERROR if request repeats the current configuration */
839  temp1_pllckcfg = RCC->PLLCKSELR;
840  temp2_pllckcfg = RCC->PLL1DIVR;
841  if(((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) ||
842  (READ_BIT(temp1_pllckcfg, RCC_PLLCKSELR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) ||
843  ((READ_BIT(temp1_pllckcfg, RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos) != RCC_OscInitStruct->PLL.PLLM) ||
844  (READ_BIT(temp2_pllckcfg, RCC_PLL1DIVR_N1) != (RCC_OscInitStruct->PLL.PLLN - 1U)) ||
845  ((READ_BIT(temp2_pllckcfg, RCC_PLL1DIVR_P1) >> RCC_PLL1DIVR_P1_Pos) != (RCC_OscInitStruct->PLL.PLLP - 1U)) ||
846  ((READ_BIT(temp2_pllckcfg, RCC_PLL1DIVR_Q1) >> RCC_PLL1DIVR_Q1_Pos) != (RCC_OscInitStruct->PLL.PLLQ - 1U)) ||
847  ((READ_BIT(temp2_pllckcfg, RCC_PLL1DIVR_R1) >> RCC_PLL1DIVR_R1_Pos) != (RCC_OscInitStruct->PLL.PLLR - 1U)))
848  {
849  return HAL_ERROR;
850  }
851  }
852  }
853  return HAL_OK;
854 }
855 
882 HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
883 {
884  HAL_StatusTypeDef halstatus;
885  uint32_t tickstart;
886  uint32_t common_system_clock;
887 
888  /* Check Null pointer */
889  if(RCC_ClkInitStruct == NULL)
890  {
891  return HAL_ERROR;
892  }
893 
894  /* Check the parameters */
895  assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType));
896  assert_param(IS_FLASH_LATENCY(FLatency));
897 
898  /* To correctly read data from FLASH memory, the number of wait states (LATENCY)
899  must be correctly programmed according to the frequency of the CPU clock
900  (HCLK) and the supply voltage of the device. */
901 
902  /* Increasing the CPU frequency */
903  if(FLatency > __HAL_FLASH_GET_LATENCY())
904  {
905  /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
906  __HAL_FLASH_SET_LATENCY(FLatency);
907 
908  /* Check that the new number of wait states is taken into account to access the Flash
909  memory by reading the FLASH_ACR register */
910  if(__HAL_FLASH_GET_LATENCY() != FLatency)
911  {
912  return HAL_ERROR;
913  }
914 
915  }
916 
917  /* Increasing the BUS frequency divider */
918  /*-------------------------- D1PCLK1/CDPCLK1 Configuration ---------------------------*/
919  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_D1PCLK1) == RCC_CLOCKTYPE_D1PCLK1)
920  {
921 #if defined (RCC_D1CFGR_D1PPRE)
922  if((RCC_ClkInitStruct->APB3CLKDivider) > (RCC->D1CFGR & RCC_D1CFGR_D1PPRE))
923  {
924  assert_param(IS_RCC_D1PCLK1(RCC_ClkInitStruct->APB3CLKDivider));
925  MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_D1PPRE, RCC_ClkInitStruct->APB3CLKDivider);
926  }
927 #else
928  if((RCC_ClkInitStruct->APB3CLKDivider) > (RCC->CDCFGR1 & RCC_CDCFGR1_CDPPRE))
929  {
930  assert_param(IS_RCC_CDPCLK1(RCC_ClkInitStruct->APB3CLKDivider));
931  MODIFY_REG(RCC->CDCFGR1, RCC_CDCFGR1_CDPPRE, RCC_ClkInitStruct->APB3CLKDivider);
932  }
933 #endif
934  }
935 
936  /*-------------------------- PCLK1 Configuration ---------------------------*/
937  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
938  {
939 #if defined (RCC_D2CFGR_D2PPRE1)
940  if((RCC_ClkInitStruct->APB1CLKDivider) > (RCC->D2CFGR & RCC_D2CFGR_D2PPRE1))
941  {
942  assert_param(IS_RCC_PCLK1(RCC_ClkInitStruct->APB1CLKDivider));
943  MODIFY_REG(RCC->D2CFGR, RCC_D2CFGR_D2PPRE1, (RCC_ClkInitStruct->APB1CLKDivider));
944  }
945 #else
946  if((RCC_ClkInitStruct->APB1CLKDivider) > (RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE1))
947  {
948  assert_param(IS_RCC_PCLK1(RCC_ClkInitStruct->APB1CLKDivider));
949  MODIFY_REG(RCC->CDCFGR2, RCC_CDCFGR2_CDPPRE1, (RCC_ClkInitStruct->APB1CLKDivider));
950  }
951 #endif
952  }
953  /*-------------------------- PCLK2 Configuration ---------------------------*/
954  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
955  {
956 #if defined(RCC_D2CFGR_D2PPRE2)
957  if((RCC_ClkInitStruct->APB2CLKDivider) > (RCC->D2CFGR & RCC_D2CFGR_D2PPRE2))
958  {
959  assert_param(IS_RCC_PCLK2(RCC_ClkInitStruct->APB2CLKDivider));
960  MODIFY_REG(RCC->D2CFGR, RCC_D2CFGR_D2PPRE2, (RCC_ClkInitStruct->APB2CLKDivider));
961  }
962 #else
963  if((RCC_ClkInitStruct->APB2CLKDivider) > (RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE2))
964  {
965  assert_param(IS_RCC_PCLK2(RCC_ClkInitStruct->APB2CLKDivider));
966  MODIFY_REG(RCC->CDCFGR2, RCC_CDCFGR2_CDPPRE2, (RCC_ClkInitStruct->APB2CLKDivider));
967  }
968 #endif
969  }
970 
971  /*-------------------------- D3PCLK1 Configuration ---------------------------*/
972  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_D3PCLK1) == RCC_CLOCKTYPE_D3PCLK1)
973  {
974 #if defined(RCC_D3CFGR_D3PPRE)
975  if((RCC_ClkInitStruct->APB4CLKDivider) > (RCC->D3CFGR & RCC_D3CFGR_D3PPRE))
976  {
977  assert_param(IS_RCC_D3PCLK1(RCC_ClkInitStruct->APB4CLKDivider));
978  MODIFY_REG(RCC->D3CFGR, RCC_D3CFGR_D3PPRE, (RCC_ClkInitStruct->APB4CLKDivider) );
979  }
980 #else
981  if((RCC_ClkInitStruct->APB4CLKDivider) > (RCC->SRDCFGR & RCC_SRDCFGR_SRDPPRE))
982  {
983  assert_param(IS_RCC_D3PCLK1(RCC_ClkInitStruct->APB4CLKDivider));
984  MODIFY_REG(RCC->SRDCFGR, RCC_SRDCFGR_SRDPPRE, (RCC_ClkInitStruct->APB4CLKDivider) );
985  }
986 #endif
987  }
988 
989  /*-------------------------- HCLK Configuration --------------------------*/
990  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK)
991  {
992 #if defined (RCC_D1CFGR_HPRE)
993  if((RCC_ClkInitStruct->AHBCLKDivider) > (RCC->D1CFGR & RCC_D1CFGR_HPRE))
994  {
995  /* Set the new HCLK clock divider */
996  assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
997  MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
998  }
999 #else
1000  if((RCC_ClkInitStruct->AHBCLKDivider) > (RCC->CDCFGR1 & RCC_CDCFGR1_HPRE))
1001  {
1002  /* Set the new HCLK clock divider */
1003  assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
1004  MODIFY_REG(RCC->CDCFGR1, RCC_CDCFGR1_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
1005  }
1006 #endif
1007  }
1008 
1009  /*------------------------- SYSCLK Configuration -------------------------*/
1010  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK)
1011  {
1012  assert_param(IS_RCC_SYSCLK(RCC_ClkInitStruct->SYSCLKDivider));
1013  assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource));
1014 #if defined(RCC_D1CFGR_D1CPRE)
1015  MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_D1CPRE, RCC_ClkInitStruct->SYSCLKDivider);
1016 #else
1017  MODIFY_REG(RCC->CDCFGR1, RCC_CDCFGR1_CDCPRE, RCC_ClkInitStruct->SYSCLKDivider);
1018 #endif
1019  /* HSE is selected as System Clock Source */
1020  if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE)
1021  {
1022  /* Check the HSE ready flag */
1024  {
1025  return HAL_ERROR;
1026  }
1027  }
1028  /* PLL is selected as System Clock Source */
1029  else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK)
1030  {
1031  /* Check the PLL ready flag */
1033  {
1034  return HAL_ERROR;
1035  }
1036  }
1037  /* CSI is selected as System Clock Source */
1038  else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_CSI)
1039  {
1040  /* Check the PLL ready flag */
1042  {
1043  return HAL_ERROR;
1044  }
1045  }
1046  /* HSI is selected as System Clock Source */
1047  else
1048  {
1049  /* Check the HSI ready flag */
1051  {
1052  return HAL_ERROR;
1053  }
1054  }
1055  MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, RCC_ClkInitStruct->SYSCLKSource);
1056 
1057  /* Get Start Tick*/
1058  tickstart = HAL_GetTick();
1059 
1060  while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
1061  {
1062  if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE)
1063  {
1064  return HAL_TIMEOUT;
1065  }
1066  }
1067 
1068  }
1069 
1070  /* Decreasing the BUS frequency divider */
1071  /*-------------------------- HCLK Configuration --------------------------*/
1072  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK)
1073  {
1074 #if defined(RCC_D1CFGR_HPRE)
1075  if((RCC_ClkInitStruct->AHBCLKDivider) < (RCC->D1CFGR & RCC_D1CFGR_HPRE))
1076  {
1077  /* Set the new HCLK clock divider */
1078  assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
1079  MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
1080  }
1081 #else
1082  if((RCC_ClkInitStruct->AHBCLKDivider) < (RCC->CDCFGR1 & RCC_CDCFGR1_HPRE))
1083  {
1084  /* Set the new HCLK clock divider */
1085  assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
1086  MODIFY_REG(RCC->CDCFGR1, RCC_CDCFGR1_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
1087  }
1088 #endif
1089  }
1090 
1091  /* Decreasing the number of wait states because of lower CPU frequency */
1092  if(FLatency < __HAL_FLASH_GET_LATENCY())
1093  {
1094  /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
1095  __HAL_FLASH_SET_LATENCY(FLatency);
1096 
1097  /* Check that the new number of wait states is taken into account to access the Flash
1098  memory by reading the FLASH_ACR register */
1099  if(__HAL_FLASH_GET_LATENCY() != FLatency)
1100  {
1101  return HAL_ERROR;
1102  }
1103  }
1104 
1105  /*-------------------------- D1PCLK1/CDPCLK Configuration ---------------------------*/
1106  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_D1PCLK1) == RCC_CLOCKTYPE_D1PCLK1)
1107  {
1108 #if defined(RCC_D1CFGR_D1PPRE)
1109  if((RCC_ClkInitStruct->APB3CLKDivider) < (RCC->D1CFGR & RCC_D1CFGR_D1PPRE))
1110  {
1111  assert_param(IS_RCC_D1PCLK1(RCC_ClkInitStruct->APB3CLKDivider));
1112  MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_D1PPRE, RCC_ClkInitStruct->APB3CLKDivider);
1113  }
1114 #else
1115  if((RCC_ClkInitStruct->APB3CLKDivider) < (RCC->CDCFGR1 & RCC_CDCFGR1_CDPPRE))
1116  {
1117  assert_param(IS_RCC_CDPCLK1(RCC_ClkInitStruct->APB3CLKDivider));
1118  MODIFY_REG(RCC->CDCFGR1, RCC_CDCFGR1_CDPPRE, RCC_ClkInitStruct->APB3CLKDivider);
1119  }
1120 #endif
1121  }
1122 
1123  /*-------------------------- PCLK1 Configuration ---------------------------*/
1124  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
1125  {
1126 #if defined(RCC_D2CFGR_D2PPRE1)
1127  if((RCC_ClkInitStruct->APB1CLKDivider) < (RCC->D2CFGR & RCC_D2CFGR_D2PPRE1))
1128  {
1129  assert_param(IS_RCC_PCLK1(RCC_ClkInitStruct->APB1CLKDivider));
1130  MODIFY_REG(RCC->D2CFGR, RCC_D2CFGR_D2PPRE1, (RCC_ClkInitStruct->APB1CLKDivider));
1131  }
1132 #else
1133  if((RCC_ClkInitStruct->APB1CLKDivider) < (RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE1))
1134  {
1135  assert_param(IS_RCC_PCLK1(RCC_ClkInitStruct->APB1CLKDivider));
1136  MODIFY_REG(RCC->CDCFGR2, RCC_CDCFGR2_CDPPRE1, (RCC_ClkInitStruct->APB1CLKDivider));
1137  }
1138 #endif
1139  }
1140 
1141  /*-------------------------- PCLK2 Configuration ---------------------------*/
1142  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
1143  {
1144 #if defined (RCC_D2CFGR_D2PPRE2)
1145  if((RCC_ClkInitStruct->APB2CLKDivider) < (RCC->D2CFGR & RCC_D2CFGR_D2PPRE2))
1146  {
1147  assert_param(IS_RCC_PCLK2(RCC_ClkInitStruct->APB2CLKDivider));
1148  MODIFY_REG(RCC->D2CFGR, RCC_D2CFGR_D2PPRE2, (RCC_ClkInitStruct->APB2CLKDivider));
1149  }
1150 #else
1151  if((RCC_ClkInitStruct->APB2CLKDivider) < (RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE2))
1152  {
1153  assert_param(IS_RCC_PCLK2(RCC_ClkInitStruct->APB2CLKDivider));
1154  MODIFY_REG(RCC->CDCFGR2, RCC_CDCFGR2_CDPPRE2, (RCC_ClkInitStruct->APB2CLKDivider));
1155  }
1156 #endif
1157  }
1158 
1159  /*-------------------------- D3PCLK1/SRDPCLK1 Configuration ---------------------------*/
1160  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_D3PCLK1) == RCC_CLOCKTYPE_D3PCLK1)
1161  {
1162 #if defined(RCC_D3CFGR_D3PPRE)
1163  if((RCC_ClkInitStruct->APB4CLKDivider) < (RCC->D3CFGR & RCC_D3CFGR_D3PPRE))
1164  {
1165  assert_param(IS_RCC_D3PCLK1(RCC_ClkInitStruct->APB4CLKDivider));
1166  MODIFY_REG(RCC->D3CFGR, RCC_D3CFGR_D3PPRE, (RCC_ClkInitStruct->APB4CLKDivider) );
1167  }
1168 #else
1169  if((RCC_ClkInitStruct->APB4CLKDivider) < (RCC->SRDCFGR & RCC_SRDCFGR_SRDPPRE))
1170  {
1171  assert_param(IS_RCC_SRDPCLK1(RCC_ClkInitStruct->APB4CLKDivider));
1172  MODIFY_REG(RCC->SRDCFGR, RCC_SRDCFGR_SRDPPRE, (RCC_ClkInitStruct->APB4CLKDivider) );
1173  }
1174 #endif
1175  }
1176 
1177  /* Update the SystemCoreClock global variable */
1178 #if defined(RCC_D1CFGR_D1CPRE)
1179  common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]) & 0x1FU);
1180 #else
1181  common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE)>> RCC_CDCFGR1_CDCPRE_Pos]) & 0x1FU);
1182 #endif
1183 
1184 #if defined(RCC_D1CFGR_HPRE)
1185  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
1186 #else
1187  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE)>> RCC_CDCFGR1_HPRE_Pos]) & 0x1FU));
1188 #endif
1189 
1190 #if defined(DUAL_CORE) && defined(CORE_CM4)
1192 #else
1193  SystemCoreClock = common_system_clock;
1194 #endif /* DUAL_CORE && CORE_CM4 */
1195 
1196  /* Configure the source of time base considering new system clocks settings*/
1197  halstatus = HAL_InitTick (uwTickPrio);
1198 
1199  return halstatus;
1200 }
1201 
1246 void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
1247 {
1248  GPIO_InitTypeDef GPIO_InitStruct;
1249  /* Check the parameters */
1250  assert_param(IS_RCC_MCO(RCC_MCOx));
1251  assert_param(IS_RCC_MCODIV(RCC_MCODiv));
1252  /* RCC_MCO1 */
1253  if(RCC_MCOx == RCC_MCO1)
1254  {
1255  assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource));
1256 
1257  /* MCO1 Clock Enable */
1258  MCO1_CLK_ENABLE();
1259 
1260  /* Configure the MCO1 pin in alternate function mode */
1261  GPIO_InitStruct.Pin = MCO1_PIN;
1262  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1263  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1264  GPIO_InitStruct.Pull = GPIO_NOPULL;
1265  GPIO_InitStruct.Alternate = GPIO_AF0_MCO;
1266  HAL_GPIO_Init(MCO1_GPIO_PORT, &GPIO_InitStruct);
1267 
1268  /* Mask MCO1 and MCO1PRE[3:0] bits then Select MCO1 clock source and pre-scaler */
1269  MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO1 | RCC_CFGR_MCO1PRE), (RCC_MCOSource | RCC_MCODiv));
1270  }
1271  else
1272  {
1273  assert_param(IS_RCC_MCO2SOURCE(RCC_MCOSource));
1274 
1275  /* MCO2 Clock Enable */
1276  MCO2_CLK_ENABLE();
1277 
1278  /* Configure the MCO2 pin in alternate function mode */
1279  GPIO_InitStruct.Pin = MCO2_PIN;
1280  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1281  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1282  GPIO_InitStruct.Pull = GPIO_NOPULL;
1283  GPIO_InitStruct.Alternate = GPIO_AF0_MCO;
1284  HAL_GPIO_Init(MCO2_GPIO_PORT, &GPIO_InitStruct);
1285 
1286  /* Mask MCO2 and MCO2PRE[3:0] bits then Select MCO2 clock source and pre-scaler */
1287  MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO2 | RCC_CFGR_MCO2PRE), (RCC_MCOSource | (RCC_MCODiv << 7U)));
1288  }
1289 }
1290 
1300 void HAL_RCC_EnableCSS(void)
1301 {
1302  SET_BIT(RCC->CR, RCC_CR_CSSHSEON) ;
1303 }
1304 
1309 void HAL_RCC_DisableCSS(void)
1310 {
1312 }
1313 
1348 uint32_t HAL_RCC_GetSysClockFreq(void)
1349 {
1350  uint32_t pllp, pllsource, pllm, pllfracen, hsivalue;
1351  float_t fracn1, pllvco;
1352  uint32_t sysclockfreq;
1353 
1354  /* Get SYSCLK source -------------------------------------------------------*/
1355 
1356  switch (RCC->CFGR & RCC_CFGR_SWS)
1357  {
1358  case RCC_CFGR_SWS_HSI: /* HSI used as system clock source */
1359 
1361  {
1362  sysclockfreq = (uint32_t) (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3));
1363  }
1364  else
1365  {
1366  sysclockfreq = (uint32_t) HSI_VALUE;
1367  }
1368 
1369  break;
1370 
1371  case RCC_CFGR_SWS_CSI: /* CSI used as system clock source */
1372  sysclockfreq = CSI_VALUE;
1373  break;
1374 
1375  case RCC_CFGR_SWS_HSE: /* HSE used as system clock source */
1376  sysclockfreq = HSE_VALUE;
1377  break;
1378 
1379  case RCC_CFGR_SWS_PLL1: /* PLL1 used as system clock source */
1380 
1381  /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLLM) * PLLN
1382  SYSCLK = PLL_VCO / PLLR
1383  */
1384  pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
1385  pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4) ;
1386  pllfracen = ((RCC-> PLLCFGR & RCC_PLLCFGR_PLL1FRACEN)>>RCC_PLLCFGR_PLL1FRACEN_Pos);
1387  fracn1 = (float_t)(uint32_t)(pllfracen* ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3));
1388 
1389  if (pllm != 0U)
1390  {
1391  switch (pllsource)
1392  {
1393  case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */
1394 
1396  {
1397  hsivalue= (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3));
1398  pllvco = ( (float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
1399  }
1400  else
1401  {
1402  pllvco = ((float_t)HSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
1403  }
1404  break;
1405 
1406  case RCC_PLLSOURCE_CSI: /* CSI used as PLL clock source */
1407  pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
1408  break;
1409 
1410  case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */
1411  pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
1412  break;
1413 
1414  default:
1415  pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
1416  break;
1417  }
1418  pllp = (((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1U ) ;
1419  sysclockfreq = (uint32_t)(float_t)(pllvco/(float_t)pllp);
1420  }
1421  else
1422  {
1423  sysclockfreq = 0U;
1424  }
1425  break;
1426 
1427  default:
1428  sysclockfreq = CSI_VALUE;
1429  break;
1430  }
1431 
1432  return sysclockfreq;
1433 }
1434 
1435 
1445 uint32_t HAL_RCC_GetHCLKFreq(void)
1446 {
1447 uint32_t common_system_clock;
1448 
1449 #if defined(RCC_D1CFGR_D1CPRE)
1450  common_system_clock = HAL_RCC_GetSysClockFreq() >> (D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos] & 0x1FU);
1451 #else
1452  common_system_clock = HAL_RCC_GetSysClockFreq() >> (D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE)>> RCC_CDCFGR1_CDCPRE_Pos] & 0x1FU);
1453 #endif
1454 
1455 #if defined(RCC_D1CFGR_HPRE)
1456  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
1457 #else
1458  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE)>> RCC_CDCFGR1_HPRE_Pos]) & 0x1FU));
1459 #endif
1460 
1461 #if defined(DUAL_CORE) && defined(CORE_CM4)
1463 #else
1464  SystemCoreClock = common_system_clock;
1465 #endif /* DUAL_CORE && CORE_CM4 */
1466 
1467  return SystemD2Clock;
1468 }
1469 
1470 
1477 uint32_t HAL_RCC_GetPCLK1Freq(void)
1478 {
1479 #if defined (RCC_D2CFGR_D2PPRE1)
1480  /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
1481  return (HAL_RCC_GetHCLKFreq() >> ((D1CorePrescTable[(RCC->D2CFGR & RCC_D2CFGR_D2PPRE1)>> RCC_D2CFGR_D2PPRE1_Pos]) & 0x1FU));
1482 #else
1483  /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
1484  return (HAL_RCC_GetHCLKFreq() >> ((D1CorePrescTable[(RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE1)>> RCC_CDCFGR2_CDPPRE1_Pos]) & 0x1FU));
1485 #endif
1486 }
1487 
1488 
1495 uint32_t HAL_RCC_GetPCLK2Freq(void)
1496 {
1497  /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
1498 #if defined(RCC_D2CFGR_D2PPRE2)
1499  return (HAL_RCC_GetHCLKFreq() >> ((D1CorePrescTable[(RCC->D2CFGR & RCC_D2CFGR_D2PPRE2)>> RCC_D2CFGR_D2PPRE2_Pos]) & 0x1FU));
1500 #else
1501  return (HAL_RCC_GetHCLKFreq() >> ((D1CorePrescTable[(RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE2)>> RCC_CDCFGR2_CDPPRE2_Pos]) & 0x1FU));
1502 #endif
1503 }
1504 
1512 void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
1513 {
1514  /* Set all possible values for the Oscillator type parameter ---------------*/
1516  RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI| RCC_OSCILLATORTYPE_HSI48;
1517 
1518  /* Get the HSE configuration -----------------------------------------------*/
1519 #if defined(RCC_CR_HSEEXT)
1520  if((RCC->CR &(RCC_CR_HSEBYP | RCC_CR_HSEEXT)) == RCC_CR_HSEBYP)
1521  {
1522  RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS;
1523  }
1524  else if((RCC->CR &(RCC_CR_HSEBYP | RCC_CR_HSEEXT)) == (RCC_CR_HSEBYP | RCC_CR_HSEEXT))
1525  {
1526  RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS_DIGITAL;
1527  }
1528  else if((RCC->CR &RCC_CR_HSEON) == RCC_CR_HSEON)
1529  {
1530  RCC_OscInitStruct->HSEState = RCC_HSE_ON;
1531  }
1532  else
1533  {
1534  RCC_OscInitStruct->HSEState = RCC_HSE_OFF;
1535  }
1536 #else
1537  if((RCC->CR &RCC_CR_HSEBYP) == RCC_CR_HSEBYP)
1538  {
1539  RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS;
1540  }
1541  else if((RCC->CR &RCC_CR_HSEON) == RCC_CR_HSEON)
1542  {
1543  RCC_OscInitStruct->HSEState = RCC_HSE_ON;
1544  }
1545  else
1546  {
1547  RCC_OscInitStruct->HSEState = RCC_HSE_OFF;
1548  }
1549 #endif /* RCC_CR_HSEEXT */
1550 
1551  /* Get the CSI configuration -----------------------------------------------*/
1552  if((RCC->CR &RCC_CR_CSION) == RCC_CR_CSION)
1553  {
1554  RCC_OscInitStruct->CSIState = RCC_CSI_ON;
1555  }
1556  else
1557  {
1558  RCC_OscInitStruct->CSIState = RCC_CSI_OFF;
1559  }
1560 
1561 #if defined(RCC_VER_X)
1562  if(HAL_GetREVID() <= REV_ID_Y)
1563  {
1564  RCC_OscInitStruct->CSICalibrationValue = (uint32_t)(READ_BIT(RCC->HSICFGR, HAL_RCC_REV_Y_CSITRIM_Msk) >> HAL_RCC_REV_Y_CSITRIM_Pos);
1565  }
1566  else
1567  {
1568  RCC_OscInitStruct->CSICalibrationValue = (uint32_t)(READ_BIT(RCC->CSICFGR, RCC_CSICFGR_CSITRIM) >> RCC_CSICFGR_CSITRIM_Pos);
1569  }
1570 #else
1571  RCC_OscInitStruct->CSICalibrationValue = (uint32_t)(READ_BIT(RCC->CSICFGR, RCC_CSICFGR_CSITRIM) >> RCC_CSICFGR_CSITRIM_Pos);
1572 #endif /*RCC_VER_X*/
1573 
1574  /* Get the HSI configuration -----------------------------------------------*/
1575  if((RCC->CR &RCC_CR_HSION) == RCC_CR_HSION)
1576  {
1577  RCC_OscInitStruct->HSIState = RCC_HSI_ON;
1578  }
1579  else
1580  {
1581  RCC_OscInitStruct->HSIState = RCC_HSI_OFF;
1582  }
1583 
1584 #if defined(RCC_VER_X)
1585  if(HAL_GetREVID() <= REV_ID_Y)
1586  {
1587  RCC_OscInitStruct->HSICalibrationValue = (uint32_t)(READ_BIT(RCC->HSICFGR, HAL_RCC_REV_Y_HSITRIM_Msk) >> HAL_RCC_REV_Y_HSITRIM_Pos);
1588  }
1589  else
1590  {
1591  RCC_OscInitStruct->HSICalibrationValue = (uint32_t)(READ_BIT(RCC->HSICFGR, RCC_HSICFGR_HSITRIM) >> RCC_HSICFGR_HSITRIM_Pos);
1592  }
1593 #else
1594  RCC_OscInitStruct->HSICalibrationValue = (uint32_t)(READ_BIT(RCC->HSICFGR, RCC_HSICFGR_HSITRIM) >> RCC_HSICFGR_HSITRIM_Pos);
1595 #endif /*RCC_VER_X*/
1596 
1597  /* Get the LSE configuration -----------------------------------------------*/
1598 #if defined(RCC_BDCR_LSEEXT)
1599  if((RCC->BDCR &(RCC_BDCR_LSEBYP|RCC_BDCR_LSEEXT)) == RCC_BDCR_LSEBYP)
1600  {
1601  RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS;
1602  }
1603  else if((RCC->BDCR &(RCC_BDCR_LSEBYP|RCC_BDCR_LSEEXT)) == (RCC_BDCR_LSEBYP|RCC_BDCR_LSEEXT))
1604  {
1605  RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS_DIGITAL;
1606  }
1607  else if((RCC->BDCR &RCC_BDCR_LSEON) == RCC_BDCR_LSEON)
1608  {
1609  RCC_OscInitStruct->LSEState = RCC_LSE_ON;
1610  }
1611  else
1612  {
1613  RCC_OscInitStruct->LSEState = RCC_LSE_OFF;
1614  }
1615 #else
1616  if((RCC->BDCR &RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP)
1617  {
1618  RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS;
1619  }
1620  else if((RCC->BDCR &RCC_BDCR_LSEON) == RCC_BDCR_LSEON)
1621  {
1622  RCC_OscInitStruct->LSEState = RCC_LSE_ON;
1623  }
1624  else
1625  {
1626  RCC_OscInitStruct->LSEState = RCC_LSE_OFF;
1627  }
1628 #endif /* RCC_BDCR_LSEEXT */
1629 
1630  /* Get the LSI configuration -----------------------------------------------*/
1631  if((RCC->CSR &RCC_CSR_LSION) == RCC_CSR_LSION)
1632  {
1633  RCC_OscInitStruct->LSIState = RCC_LSI_ON;
1634  }
1635  else
1636  {
1637  RCC_OscInitStruct->LSIState = RCC_LSI_OFF;
1638  }
1639 
1640  /* Get the HSI48 configuration ---------------------------------------------*/
1641  if((RCC->CR & RCC_CR_HSI48ON) == RCC_CR_HSI48ON)
1642  {
1643  RCC_OscInitStruct->HSI48State = RCC_HSI48_ON;
1644  }
1645  else
1646  {
1647  RCC_OscInitStruct->HSI48State = RCC_HSI48_OFF;
1648  }
1649 
1650  /* Get the PLL configuration -----------------------------------------------*/
1651  if((RCC->CR &RCC_CR_PLLON) == RCC_CR_PLLON)
1652  {
1653  RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON;
1654  }
1655  else
1656  {
1657  RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF;
1658  }
1659  RCC_OscInitStruct->PLL.PLLSource = (uint32_t)(RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
1660  RCC_OscInitStruct->PLL.PLLM = (uint32_t)((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> RCC_PLLCKSELR_DIVM1_Pos);
1661  RCC_OscInitStruct->PLL.PLLN = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) >> RCC_PLL1DIVR_N1_Pos)+ 1U;
1662  RCC_OscInitStruct->PLL.PLLR = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_R1) >> RCC_PLL1DIVR_R1_Pos)+ 1U;
1663  RCC_OscInitStruct->PLL.PLLP = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >> RCC_PLL1DIVR_P1_Pos)+ 1U;
1664  RCC_OscInitStruct->PLL.PLLQ = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_Q1) >> RCC_PLL1DIVR_Q1_Pos)+ 1U;
1665  RCC_OscInitStruct->PLL.PLLRGE = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL1RGE));
1666  RCC_OscInitStruct->PLL.PLLVCOSEL = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL1VCOSEL) >> RCC_PLLCFGR_PLL1VCOSEL_Pos);
1667  RCC_OscInitStruct->PLL.PLLFRACN = (uint32_t)(((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1) >> RCC_PLL1FRACR_FRACN1_Pos));
1668 }
1669 
1678 void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
1679 {
1680  /* Set all possible values for the Clock type parameter --------------------*/
1683 
1684  /* Get the SYSCLK configuration --------------------------------------------*/
1685  RCC_ClkInitStruct->SYSCLKSource = (uint32_t)(RCC->CFGR & RCC_CFGR_SW);
1686 
1687 #if defined(RCC_D1CFGR_D1CPRE)
1688  /* Get the SYSCLK configuration ----------------------------------------------*/
1689  RCC_ClkInitStruct->SYSCLKDivider = (uint32_t)(RCC->D1CFGR & RCC_D1CFGR_D1CPRE);
1690 
1691  /* Get the D1HCLK configuration ----------------------------------------------*/
1692  RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->D1CFGR & RCC_D1CFGR_HPRE);
1693 
1694  /* Get the APB3 configuration ----------------------------------------------*/
1695  RCC_ClkInitStruct->APB3CLKDivider = (uint32_t)(RCC->D1CFGR & RCC_D1CFGR_D1PPRE);
1696 
1697  /* Get the APB1 configuration ----------------------------------------------*/
1698  RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->D2CFGR & RCC_D2CFGR_D2PPRE1);
1699 
1700  /* Get the APB2 configuration ----------------------------------------------*/
1701  RCC_ClkInitStruct->APB2CLKDivider = (uint32_t)(RCC->D2CFGR & RCC_D2CFGR_D2PPRE2);
1702 
1703  /* Get the APB4 configuration ----------------------------------------------*/
1704  RCC_ClkInitStruct->APB4CLKDivider = (uint32_t)(RCC->D3CFGR & RCC_D3CFGR_D3PPRE);
1705 #else
1706  /* Get the SYSCLK configuration ----------------------------------------------*/
1707  RCC_ClkInitStruct->SYSCLKDivider = (uint32_t)(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE);
1708 
1709  /* Get the D1HCLK configuration ----------------------------------------------*/
1710  RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE);
1711 
1712  /* Get the APB3 configuration ----------------------------------------------*/
1713  RCC_ClkInitStruct->APB3CLKDivider = (uint32_t)(RCC->CDCFGR1 & RCC_CDCFGR1_CDPPRE);
1714 
1715  /* Get the APB1 configuration ----------------------------------------------*/
1716  RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE1);
1717 
1718  /* Get the APB2 configuration ----------------------------------------------*/
1719  RCC_ClkInitStruct->APB2CLKDivider = (uint32_t)(RCC->CDCFGR2 & RCC_CDCFGR2_CDPPRE2);
1720 
1721  /* Get the APB4 configuration ----------------------------------------------*/
1722  RCC_ClkInitStruct->APB4CLKDivider = (uint32_t)(RCC->SRDCFGR & RCC_SRDCFGR_SRDPPRE);
1723 #endif
1724 
1725  /* Get the Flash Wait State (Latency) configuration ------------------------*/
1726  *pFLatency = (uint32_t)(FLASH->ACR & FLASH_ACR_LATENCY);
1727 }
1728 
1734 void HAL_RCC_NMI_IRQHandler(void)
1735 {
1736  /* Check RCC CSSF flag */
1738  {
1739  /* RCC Clock Security System interrupt user callback */
1741 
1742  /* Clear RCC CSS pending bit */
1744  }
1745 }
1746 
1751 __weak void HAL_RCC_CCSCallback(void)
1752 {
1753  /* NOTE : This function Should not be modified, when the callback is needed,
1754  the HAL_RCC_CCSCallback could be implemented in the user file
1755  */
1756 }
1757 
1766 #endif /* HAL_RCC_MODULE_ENABLED */
1767 
1775 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
RCC_CR_PLL1ON
#define RCC_CR_PLL1ON
Definition: stm32h735xx.h:14853
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_ClkInitTypeDef::SYSCLKDivider
uint32_t SYSCLKDivider
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:132
RCC_CR_HSIDIV
#define RCC_CR_HSIDIV
Definition: stm32h735xx.h:14805
RCC_D2CFGR_D2PPRE2_Pos
#define RCC_D2CFGR_D2PPRE2_Pos
Definition: stm32h735xx.h:15152
RCC_D1CFGR_HPRE_Pos
#define RCC_D1CFGR_HPRE_Pos
Definition: stm32h735xx.h:15037
IS_RCC_CSI
#define IS_RCC_CSI(CSI)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8067
RCC_PLLInitTypeDef::PLLQ
uint32_t PLLQ
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:65
__HAL_RCC_HSE_CONFIG
#define __HAL_RCC_HSE_CONFIG(__STATE__)
Macro to configure the External High Speed oscillator (HSE).
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:895
IS_RCC_CSICALIBRATION_VALUE
#define IS_RCC_CSICALIBRATION_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8240
RCC_PLLCFGR_PLL1RGE
#define RCC_PLLCFGR_PLL1RGE
Definition: stm32h735xx.h:15253
RCC_PLLCKSELR_DIVM1_Pos
#define RCC_PLLCKSELR_DIVM1_Pos
Definition: stm32h735xx.h:15213
RCC_PLL1DIVR_R1
#define RCC_PLL1DIVR_R1
Definition: stm32h735xx.h:15330
GPIO_MODE_AF_PP
#define GPIO_MODE_AF_PP
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:122
HAL_StatusTypeDef
HAL_StatusTypeDef
HAL Status structures definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:40
RCC_CSICFGR_CSITRIM_Pos
#define RCC_CSICFGR_CSITRIM_Pos
Definition: stm32h735xx.h:14942
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_PLLInitTypeDef::PLLState
uint32_t PLLState
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:49
PWR
#define PWR
Definition: stm32f407xx.h:1083
HSI_TIMEOUT_VALUE
#define HSI_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1339
RCC_PLLInitTypeDef::PLLFRACN
uint32_t PLLFRACN
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:78
RCC_PLLCFGR_PLL1FRACEN_Pos
#define RCC_PLLCFGR_PLL1FRACEN_Pos
Definition: stm32h735xx.h:15245
RCC_SYSCLKSOURCE_CSI
#define RCC_SYSCLKSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:328
RCC_FLAG_CSIRDY
#define RCC_FLAG_CSIRDY
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:653
IS_RCC_PLLSOURCE
#define IS_RCC_PLLSOURCE(SOURCE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1373
RCC_LSE_OFF
#define RCC_LSE_OFF
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:130
IS_RCC_PCLK2
#define IS_RCC_PCLK2(PCLK2)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8130
NULL
#define NULL
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/extras/speex_resampler/thirdparty/resample.c:92
HAL_RCC_GetOscConfig
void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
GPIO_InitTypeDef
GPIO Init structure definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:47
RCC_PLL_ON
#define RCC_PLL_ON
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:162
RCC_CR_HSIDIVF
#define RCC_CR_HSIDIVF
Definition: stm32h735xx.h:14813
RCC_FLAG_HSERDY
#define RCC_FLAG_HSERDY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:350
RCC_ClkInitTypeDef
RCC System, AHB and APB busses clock configuration structure definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:77
GPIO_AF0_MCO
#define GPIO_AF0_MCO
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:54
RCC_PLLInitTypeDef::PLLP
uint32_t PLLP
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:62
HSE_TIMEOUT_VALUE
#define HSE_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1338
RCC_PLLCFGR_PLL1VCOSEL_Pos
#define RCC_PLLCFGR_PLL1VCOSEL_Pos
Definition: stm32h735xx.h:15248
RCC_D1CFGR_D1PPRE
#define RCC_D1CFGR_D1PPRE
Definition: stm32h735xx.h:15075
RCC_CSI_ON
#define RCC_CSI_ON
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:243
__HAL_RCC_LSE_CONFIG
#define __HAL_RCC_LSE_CONFIG(__STATE__)
Macro to configure the External Low Speed oscillator (LSE).
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:938
RCC_OscInitTypeDef
RCC Internal/External Oscillator (HSE, HSI, LSE and LSI) configuration structure definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:51
RCC_FLAG_HSIDIV
#define RCC_FLAG_HSIDIV
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:652
RCC_ClkInitTypeDef::APB3CLKDivider
uint32_t APB3CLKDivider
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:138
__HAL_RCC_HSI_DISABLE
#define __HAL_RCC_HSI_DISABLE()
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:837
GPIO_InitTypeDef::Alternate
uint32_t Alternate
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:61
RCC_OSCILLATORTYPE_HSI48
#define RCC_OSCILLATORTYPE_HSI48
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:168
PLL_TIMEOUT_VALUE
#define PLL_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:6854
RCC_OscInitTypeDef::HSI48State
uint32_t HSI48State
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:107
RCC_OscInitTypeDef::HSICalibrationValue
uint32_t HSICalibrationValue
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:65
RCC_FLAG_LSERDY
#define RCC_FLAG_LSERDY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:355
IS_RCC_CLOCKTYPE
#define IS_RCC_CLOCKTYPE(CLK)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1426
IS_RCC_OSCILLATORTYPE
#define IS_RCC_OSCILLATORTYPE(OSCILLATOR)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1359
RCC_ClkInitTypeDef::APB2CLKDivider
uint32_t APB2CLKDivider
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:91
RCC_PLLInitTypeDef::PLLM
uint32_t PLLM
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:55
RCC_CFGR_MCO1
#define RCC_CFGR_MCO1
Definition: stm32f407xx.h:9614
RCC_CR_HSIRDY
#define RCC_CR_HSIRDY
Definition: stm32f407xx.h:9431
RCC_FLAG_HSIRDY
#define RCC_FLAG_HSIRDY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:349
RCC_IT_CSS
#define RCC_IT_CSS
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:334
RCC_CFGR_SWS_Pos
#define RCC_CFGR_SWS_Pos
Definition: stm32f407xx.h:9544
RCC_PLLCKSELR_DIVM1_5
#define RCC_PLLCKSELR_DIVM1_5
Definition: stm32h735xx.h:15221
RCC_OscInitTypeDef::LSEState
uint32_t LSEState
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:59
HAL_RCC_GetPCLK2Freq
uint32_t HAL_RCC_GetPCLK2Freq(void)
RCC_BDCR_LSEBYP
#define RCC_BDCR_LSEBYP
Definition: stm32f407xx.h:10281
__HAL_RCC_PLL_VCORANGE
#define __HAL_RCC_PLL_VCORANGE(__RCC_PLL1VCORange__)
Macro to select the PLL1 reference frequency range.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7654
IS_RCC_MCO2SOURCE
#define IS_RCC_MCO2SOURCE(SOURCE)
Definition: stm32f7xx_hal_rcc.h:1258
HAL_RCC_GetClockConfig
void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
CLEAR_REG
#define CLEAR_REG(REG)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:218
HAL_ERROR
@ HAL_ERROR
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:43
RCC_HSICFGR_HSITRIM
#define RCC_HSICFGR_HSITRIM
Definition: stm32h735xx.h:14899
FLASH_LATENCY_DEFAULT
#define FLASH_LATENCY_DEFAULT
Definition: stm32h735xx.h:11056
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_CR_HSI48ON
#define RCC_CR_HSI48ON
Definition: stm32h735xx.h:14825
RCC_CFGR_MCO2PRE
#define RCC_CFGR_MCO2PRE
Definition: stm32f407xx.h:9631
RCC_PLLCKSELR_PLLSRC_HSI
#define RCC_PLLCKSELR_PLLSRC_HSI
Definition: stm32h735xx.h:15202
RCC_CR_HSEON
#define RCC_CR_HSEON
Definition: stm32f407xx.h:9456
RCC_FLAG_PLLRDY
#define RCC_FLAG_PLLRDY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:351
IS_RCC_SRDPCLK1
#define IS_RCC_SRDPCLK1(SRDPCLK1)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8134
RCC_PLLCFGR_PLL1FRACEN
#define RCC_PLLCFGR_PLL1FRACEN
Definition: stm32h735xx.h:15247
uwTickPrio
uint32_t uwTickPrio
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c:95
RCC_PLLCKSELR_PLLSRC_CSI
#define RCC_PLLCKSELR_PLLSRC_CSI
Definition: stm32h735xx.h:15205
IS_RCC_PCLK1
#define IS_RCC_PCLK1(PCLK1)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8126
RCC_CR_HSERDY
#define RCC_CR_HSERDY
Definition: stm32f407xx.h:9459
HAL_RCC_NMI_IRQHandler
void HAL_RCC_NMI_IRQHandler(void)
RCC_PLL1_DIVR
#define RCC_PLL1_DIVR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:278
__HAL_RCC_PLL_DISABLE
#define __HAL_RCC_PLL_DISABLE()
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1038
RCC_CR_CSSHSEON
#define RCC_CR_CSSHSEON
Definition: stm32h735xx.h:14848
IS_RCC_PLLQ_VALUE
#define IS_RCC_PLLQ_VALUE(VALUE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1418
__HAL_FLASH_SET_LATENCY
#define __HAL_FLASH_SET_LATENCY(__LATENCY__)
Set the FLASH Latency.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:178
RCC_SYSCLKSOURCE_PLLCLK
#define RCC_SYSCLKSOURCE_PLLCLK
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:205
HAL_RCC_DeInit
HAL_StatusTypeDef HAL_RCC_DeInit(void)
RCC_PLL1_DIVQ
#define RCC_PLL1_DIVQ
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:277
IS_RCC_D1PCLK1
#define IS_RCC_D1PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8124
HAL_OK
@ HAL_OK
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:42
IS_RCC_MCO1SOURCE
#define IS_RCC_MCO1SOURCE(SOURCE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1434
__HAL_RCC_PLLFRACN_ENABLE
#define __HAL_RCC_PLLFRACN_ENABLE()
Enables or disables Fractional Part Of The Multiplication Factor of PLL1 VCO.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7547
RCC_HSE_OFF
#define RCC_HSE_OFF
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:120
RCC_D1CFGR_HPRE
#define RCC_D1CFGR_HPRE
Definition: stm32h735xx.h:15039
RCC_PLLCFGR_PLL1VCOSEL
#define RCC_PLLCFGR_PLL1VCOSEL
Definition: stm32h735xx.h:15250
REV_ID_Y
#define REV_ID_Y
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:60
RCC_CR_PLL2ON
#define RCC_CR_PLL2ON
Definition: stm32h735xx.h:14859
HAL_GPIO_Init
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
RCC_CFGR_MCO2
#define RCC_CFGR_MCO2
Definition: stm32f407xx.h:9638
RCC_PLL_NONE
#define RCC_PLL_NONE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:160
__HAL_RCC_HSI_CONFIG
#define __HAL_RCC_HSI_CONFIG(__STATE__)
Enable or disable peripheral bus clock when D3 domain is in DRUN.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7133
RCC_CLOCKTYPE_PCLK1
#define RCC_CLOCKTYPE_PCLK1
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:192
RCC_HSI48_OFF
#define RCC_HSI48_OFF
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:222
RCC_OscInitTypeDef::HSIState
uint32_t HSIState
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:62
RCC_CSICFGR_CSITRIM
#define RCC_CSICFGR_CSITRIM
Definition: stm32h735xx.h:14944
GPIO_InitTypeDef::Mode
uint32_t Mode
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:52
RCC_RSR_RMVF
#define RCC_RSR_RMVF
Definition: stm32h735xx.h:16773
RCC_CFGR_SWS
#define RCC_CFGR_SWS
Definition: stm32f407xx.h:9546
__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_PLLCKSELR_DIVM1
#define RCC_PLLCKSELR_DIVM1
Definition: stm32h735xx.h:15215
FLASH_ACR_LATENCY
#define FLASH_ACR_LATENCY
Definition: stm32f407xx.h:6678
RCC_D2CFGR_D2PPRE1_Pos
#define RCC_D2CFGR_D2PPRE1_Pos
Definition: stm32h735xx.h:15130
RCC_PLLInitTypeDef::PLLR
uint32_t PLLR
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:71
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
GPIO_InitTypeDef::Pull
uint32_t Pull
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:55
__HAL_FLASH_GET_LATENCY
#define __HAL_FLASH_GET_LATENCY()
Get the FLASH Latency.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:185
GPIO_NOPULL
#define GPIO_NOPULL
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:154
__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_PLL1DIVR_P1_Pos
#define RCC_PLL1DIVR_P1_Pos
Definition: stm32h735xx.h:15322
IS_RCC_MCO
#define IS_RCC_MCO(MCOx)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1432
RCC_CFGR_SW
#define RCC_CFGR_SW
Definition: stm32f407xx.h:9535
RCC_HSE_BYPASS
#define RCC_HSE_BYPASS
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:122
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_GetREVID
uint32_t HAL_GetREVID(void)
Returns the device revision identifier.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c:450
RCC_PLLInitTypeDef::PLLSource
uint32_t PLLSource
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:52
RCC_CR_HSIKERON
#define RCC_CR_HSIKERON
Definition: stm32h735xx.h:14799
IS_RCC_CDPCLK1
#define IS_RCC_CDPCLK1(CDPCLK1)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8120
RCC_CFGR_SWS_PLL1
#define RCC_CFGR_SWS_PLL1
Definition: stm32h735xx.h:14977
HAL_RCC_ClockConfig
HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
RCC_ClkInitTypeDef::AHBCLKDivider
uint32_t AHBCLKDivider
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:85
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_CR_PLL3ON
#define RCC_CR_PLL3ON
Definition: stm32h735xx.h:14865
RCC_PLLInitTypeDef::PLLRGE
uint32_t PLLRGE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:73
RCC_CR_PLLON
#define RCC_CR_PLLON
Definition: stm32f407xx.h:9468
MODIFY_REG
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:224
RCC_OSCILLATORTYPE_HSI
#define RCC_OSCILLATORTYPE_HSI
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:110
RCC_CLOCKTYPE_D3PCLK1
#define RCC_CLOCKTYPE_D3PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:319
IS_RCC_LSI
#define IS_RCC_LSI(LSI)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1369
GPIO_SPEED_FREQ_VERY_HIGH
#define GPIO_SPEED_FREQ_VERY_HIGH
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:145
HAL_RCC_OscConfig
HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
CLOCKSWITCH_TIMEOUT_VALUE
#define CLOCKSWITCH_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1341
RCC_OscInitTypeDef::PLL
RCC_PLLInitTypeDef PLL
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:71
RCC_HSICFGR_HSITRIM_Pos
#define RCC_HSICFGR_HSITRIM_Pos
Definition: stm32h735xx.h:14897
RCC_CR_HSION
#define RCC_CR_HSION
Definition: stm32f407xx.h:9428
RCC_PLLSOURCE_CSI
#define RCC_PLLSOURCE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:266
RCC_ClkInitTypeDef::ClockType
uint32_t ClockType
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:79
GPIO_InitTypeDef::Speed
uint32_t Speed
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:58
RCC_PLLCKSELR_DIVM2_5
#define RCC_PLLCKSELR_DIVM2_5
Definition: stm32h735xx.h:15231
HAL_RCC_DisableCSS
void HAL_RCC_DisableCSS(void)
RCC_PLL1DIVR_R1_Pos
#define RCC_PLL1DIVR_R1_Pos
Definition: stm32h735xx.h:15328
RCC_CLOCKTYPE_PCLK2
#define RCC_CLOCKTYPE_PCLK2
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:193
RCC_OSCILLATORTYPE_LSE
#define RCC_OSCILLATORTYPE_LSE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:111
RCC_PLL1_DIVP
#define RCC_PLL1_DIVP
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:276
RCC_LSI_OFF
#define RCC_LSI_OFF
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:151
IS_RCC_SYSCLKSOURCE
#define IS_RCC_SYSCLKSOURCE(SOURCE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1376
IS_RCC_MCODIV
#define IS_RCC_MCODIV(DIV)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1437
PWR_CR1_DBP
#define PWR_CR1_DBP
Definition: stm32f769xx.h:10473
RCC_CFGR_SWS_HSE
#define RCC_CFGR_SWS_HSE
Definition: stm32f407xx.h:9551
RCC_LSE_BYPASS
#define RCC_LSE_BYPASS
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:132
READ_BIT
#define READ_BIT(REG, BIT)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:216
RCC_PLL1DIVR_Q1_Pos
#define RCC_PLL1DIVR_Q1_Pos
Definition: stm32h735xx.h:15325
IS_RCC_HCLK
#define IS_RCC_HCLK(HCLK)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1420
RCC_PLLSOURCE_HSE
#define RCC_PLLSOURCE_HSE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:182
RCC_D1CFGR_D1CPRE
#define RCC_D1CFGR_D1CPRE
Definition: stm32h735xx.h:15096
RCC_CR_PLL1RDY
#define RCC_CR_PLL1RDY
Definition: stm32h735xx.h:14856
IS_RCC_PLLN_VALUE
#define IS_RCC_PLLN_VALUE(VALUE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:6877
HSI48_TIMEOUT_VALUE
#define HSI48_TIMEOUT_VALUE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8014
RCC_CSR_LSION
#define RCC_CSR_LSION
Definition: stm32f407xx.h:10299
IS_RCC_PLLR_VALUE
#define IS_RCC_PLLR_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8094
RCC_CLOCKTYPE_SYSCLK
#define RCC_CLOCKTYPE_SYSCLK
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:190
__HAL_RCC_CSI_CALIBRATIONVALUE_ADJUST
#define __HAL_RCC_CSI_CALIBRATIONVALUE_ADJUST(__CSICalibrationValue__)
Macro Adjusts the Internal oscillator (CSI) calibration value.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7266
RCC_LSE_TIMEOUT_VALUE
#define RCC_LSE_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1336
HAL_RCC_MCOConfig
void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
RCC_HSE_ON
#define RCC_HSE_ON
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:121
HAL_RCC_GetHCLKFreq
uint32_t HAL_RCC_GetHCLKFreq(void)
RCC_PLL1DIVR_P1
#define RCC_PLL1DIVR_P1
Definition: stm32h735xx.h:15324
RCC_D3CFGR_D3PPRE
#define RCC_D3CFGR_D3PPRE
Definition: stm32h735xx.h:15177
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_MCO1
#define RCC_MCO1
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:296
RCC_CR_PLL2RDY
#define RCC_CR_PLL2RDY
Definition: stm32h735xx.h:14862
IS_RCC_HSE
#define IS_RCC_HSE(HSE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1361
RCC_CLOCKTYPE_HCLK
#define RCC_CLOCKTYPE_HCLK
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:191
IS_RCC_HSI
#define IS_RCC_HSI(HSI)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1367
HAL_TIMEOUT
@ HAL_TIMEOUT
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:45
__HAL_RCC_PLL_ENABLE
#define __HAL_RCC_PLL_ENABLE()
Macros to enable or disable the main PLL.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1037
RCC_OscInitTypeDef::LSIState
uint32_t LSIState
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:68
__HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST
#define __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(__HSICalibrationValue__)
Macro to adjust the Internal High Speed oscillator (HSI) calibration value.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:846
RCC_PLL_OFF
#define RCC_PLL_OFF
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:161
__HAL_RCC_HSI48_ENABLE
#define __HAL_RCC_HSI48_ENABLE()
Macro to enable or disable the Internal High Speed oscillator for USB (HSI48).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7216
__HAL_RCC_LSI_ENABLE
#define __HAL_RCC_LSI_ENABLE()
Macros to enable or disable the Internal Low Speed oscillator (LSI).
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:864
IS_RCC_HSI48
#define IS_RCC_HSI48(HSI48)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8063
RCC_OscInitTypeDef::CSIState
uint32_t CSIState
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:110
RCC_OscInitTypeDef::CSICalibrationValue
uint32_t CSICalibrationValue
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:113
RCC_D2CFGR_D2PPRE1
#define RCC_D2CFGR_D2PPRE1
Definition: stm32h735xx.h:15132
HAL_RCC_GetPCLK1Freq
uint32_t HAL_RCC_GetPCLK1Freq(void)
RCC_CR_HSEBYP
#define RCC_CR_HSEBYP
Definition: stm32f407xx.h:9462
RCC_PLL1DIVR_N1_Pos
#define RCC_PLL1DIVR_N1_Pos
Definition: stm32h735xx.h:15319
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_PLLCKSELR_PLLSRC
#define RCC_PLLCKSELR_PLLSRC
Definition: stm32h735xx.h:15200
HAL_InitTick
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
This function configures the source of the time base. The time source is configured to have 1ms time ...
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c:253
RCC_BDCR_LSEON
#define RCC_BDCR_LSEON
Definition: stm32f407xx.h:10275
HAL_RCC_GetSysClockFreq
uint32_t HAL_RCC_GetSysClockFreq(void)
RCC_FLAG_HSI48RDY
#define RCC_FLAG_HSI48RDY
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:654
RCC_CFGR_SWS_HSI
#define RCC_CFGR_SWS_HSI
Definition: stm32f407xx.h:9550
IS_FLASH_LATENCY
#define IS_FLASH_LATENCY(LATENCY)
Definition: stm32f7xx_hal_flash_ex.h:589
IS_RCC_SYSCLK
#define IS_RCC_SYSCLK(SYSCLK)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8107
__HAL_RCC_LSI_DISABLE
#define __HAL_RCC_LSI_DISABLE()
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:865
RCC_CFGR_MCO1PRE
#define RCC_CFGR_MCO1PRE
Definition: stm32f407xx.h:9624
__HAL_RCC_PLLFRACN_DISABLE
#define __HAL_RCC_PLLFRACN_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7549
HAL_RCC_CCSCallback
void HAL_RCC_CCSCallback(void)
FLASH
#define FLASH
Definition: stm32f407xx.h:1114
RCC_ClkInitTypeDef::APB4CLKDivider
uint32_t APB4CLKDivider
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:145
RCC_DBP_TIMEOUT_VALUE
#define RCC_DBP_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1335
RCC_PLLCKSELR_PLLSRC_HSE
#define RCC_PLLCKSELR_PLLSRC_HSE
Definition: stm32h735xx.h:15208
RCC_SYSCLKSOURCE_HSE
#define RCC_SYSCLKSOURCE_HSE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:204
RCC_CSI_OFF
#define RCC_CSI_OFF
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:242
RCC_LSE_ON
#define RCC_LSE_ON
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:131
RCC_CR_PLL3RDY
#define RCC_CR_PLL3RDY
Definition: stm32h735xx.h:14868
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_CFGR_SWS_CSI
#define RCC_CFGR_SWS_CSI
Definition: stm32h735xx.h:14975
__HAL_RCC_GET_SYSCLK_SOURCE
#define __HAL_RCC_GET_SYSCLK_SOURCE()
Macro to get the clock source used as system clock.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1088
RCC_ClkInitTypeDef::SYSCLKSource
uint32_t SYSCLKSource
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:82
RCC_OSCILLATORTYPE_HSE
#define RCC_OSCILLATORTYPE_HSE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:109
RCC_OscInitTypeDef::HSEState
uint32_t HSEState
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:56
WRITE_REG
#define WRITE_REG(REG, VAL)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:220
RCC_CLOCKTYPE_D1PCLK1
#define RCC_CLOCKTYPE_D1PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:316
RCC_PLLCKSELR_DIVM3_5
#define RCC_PLLCKSELR_DIVM3_5
Definition: stm32h735xx.h:15241
RCC_D2CFGR_D2PPRE2
#define RCC_D2CFGR_D2PPRE2
Definition: stm32h735xx.h:15154
RCC_FLAG_LSIRDY
#define RCC_FLAG_LSIRDY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:358
RCC_PLL1FRACR_FRACN1
#define RCC_PLL1FRACR_FRACN1
Definition: stm32h735xx.h:15335
RCC_OSCILLATORTYPE_CSI
#define RCC_OSCILLATORTYPE_CSI
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:167
SET_BIT
#define SET_BIT(REG, BIT)
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:212
RCC_LSI_ON
#define RCC_LSI_ON
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:152
LSI_TIMEOUT_VALUE
#define LSI_TIMEOUT_VALUE
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1340
IS_RCC_LSE
#define IS_RCC_LSE(LSE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1364
RCC_PLLInitTypeDef::PLLN
uint32_t PLLN
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:58
__HAL_RCC_CSI_ENABLE
#define __HAL_RCC_CSI_ENABLE()
Macros to enable or disable the Internal oscillator (CSI).
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7236
RCC_CR_CSIKERON
#define RCC_CR_CSIKERON
Definition: stm32h735xx.h:14822
IS_RCC_PLLM_VALUE
#define IS_RCC_PLLM_VALUE(VALUE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1414
RCC_PLLInitTypeDef::PLLVCOSEL
uint32_t PLLVCOSEL
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:75
RCC_OscInitTypeDef::OscillatorType
uint32_t OscillatorType
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:53
IS_RCC_HSICALIBRATION_VALUE
#define IS_RCC_HSICALIBRATION_VALUE(VALUE)
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8239
__HAL_RCC_HSI48_DISABLE
#define __HAL_RCC_HSI48_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7218
__HAL_RCC_PLL_VCIRANGE
#define __HAL_RCC_PLL_VCIRANGE(__RCC_PLL1VCIRange__)
Macro to select the PLL1 reference frequency range.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7640
IS_RCC_PLL
#define IS_RCC_PLL(PLL)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1371
RCC_HSICFGR_HSITRIM_6
#define RCC_HSICFGR_HSITRIM_6
Definition: stm32h735xx.h:14906
RCC_HSI_ON
#define RCC_HSI_ON
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:141
RCC_PLL1FRACR_FRACN1_Pos
#define RCC_PLL1FRACR_FRACN1_Pos
Definition: stm32h735xx.h:15333
__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_CR_CSION
#define RCC_CR_CSION
Definition: stm32h735xx.h:14816
RCC_ClkInitTypeDef::APB1CLKDivider
uint32_t APB1CLKDivider
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:88
IS_RCC_PLLP_VALUE
#define IS_RCC_PLLP_VALUE(VALUE)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:1416
__HAL_RCC_CSI_DISABLE
#define __HAL_RCC_CSI_DISABLE()
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7237
RCC_HSI_OFF
#define RCC_HSI_OFF
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:140
RCC_OSCILLATORTYPE_LSI
#define RCC_OSCILLATORTYPE_LSI
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:112
__HAL_RCC_PLLFRACN_CONFIG
#define __HAL_RCC_PLLFRACN_CONFIG(__RCC_PLL1FRACN__)
Macro to configures the main PLL clock Fractional Part Of The Multiplication Factor.
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:7628
__HAL_RCC_PLL_CONFIG
#define __HAL_RCC_PLL_CONFIG(__RCC_PLLSource__, __PLLM__, __PLLN__, __PLLP__, __PLLQ__)
Macro to configure the main PLL clock source, multiplication and division factors.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:5810
IS_RCC_D3PCLK1
#define IS_RCC_D3PCLK1
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8138
CSI_TIMEOUT_VALUE
#define CSI_TIMEOUT_VALUE
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:8015
RCC_HSI48_ON
#define RCC_HSI48_ON
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:223
HAL_RCC_EnableCSS
void HAL_RCC_EnableCSS(void)
D1CorePrescTable
const uint8_t D1CorePrescTable[16]
Definition: stm32h735/stm32h735g-dk/Src/system_stm32h7xx.c:115
GPIO_InitTypeDef::Pin
uint32_t Pin
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:49


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