@@ -52,11 +52,14 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
5252 const PinMap * map = NULL ;
5353#if defined(PWR_CR2_USV )
5454 /* Enable VDDUSB on Pwrctrl CR2 register*/
55+ #if !defined(STM32WBxx )
5556 if (__HAL_RCC_PWR_IS_CLK_DISABLED ()) {
5657 __HAL_RCC_PWR_CLK_ENABLE ();
5758 HAL_PWREx_EnableVddUSB ();
5859 __HAL_RCC_PWR_CLK_DISABLE ();
59- } else {
60+ } else
61+ #endif
62+ {
6063 HAL_PWREx_EnableVddUSB ();
6164 }
6265#endif
@@ -83,11 +86,18 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
8386 __HAL_REMAPINTERRUPT_USB_ENABLE ();
8487#endif
8588
89+ #if defined(STM32WBxx )
90+ HAL_NVIC_SetPriority (USB_HP_IRQn , 5 , 0 );
91+ HAL_NVIC_EnableIRQ (USB_HP_IRQn );
92+ HAL_NVIC_SetPriority (USB_LP_IRQn , 5 , 0 );
93+ HAL_NVIC_EnableIRQ (USB_LP_IRQn );
94+ #else
8695 /* Set USB FS Interrupt priority */
8796 HAL_NVIC_SetPriority (USB_IRQn , 5 , 0 );
8897
8998 /* Enable USB FS Interrupt */
9099 HAL_NVIC_EnableIRQ (USB_IRQn );
100+ #endif /* STM32WBxx */
91101
92102 if (hpcd -> Init .low_power_enable == 1 ) {
93103 /* Enable EXTI for USB wakeup */
@@ -204,8 +214,10 @@ void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd)
204214 __HAL_RCC_USB_OTG_HS_CLK_DISABLE ();
205215 }
206216#endif /* USB_OTG_HS */
217+ #if !defined(STM32WBxx )
207218 /* Disable SYSCFG Clock */
208219 __HAL_RCC_SYSCFG_CLK_DISABLE ();
220+ #endif
209221}
210222
211223/*******************************************************************************
@@ -379,14 +391,32 @@ void USB_IRQHandler(void)
379391 HAL_PCD_IRQHandler (& g_hpcd );
380392}
381393
382-
394+ #if defined(STM32WBxx )
395+ /**
396+ * @brief This function handles USB high priority interrupt.
397+ * @param None
398+ * @retval None
399+ */
400+ void USB_HP_IRQHandler (void )
401+ {
402+ HAL_PCD_IRQHandler (& g_hpcd );
403+ }
383404
405+ /**
406+ * @brief This function handles USB low priority interrupt, USB wake-up interrupt through EXTI line 28.
407+ * @param None
408+ * @retval None
409+ */
410+ void USB_LP_IRQHandler (void )
411+ {
412+ HAL_PCD_IRQHandler (& g_hpcd );
413+ }
414+ #else
384415/**
385416 * @brief This function handles USB OTG FS Wakeup IRQ Handler.
386417 * @param None
387418 * @retval None
388419 */
389-
390420#ifdef USE_USB_HS
391421void OTG_HS_WKUP_IRQHandler (void )
392422#elif defined(USB_OTG_FS )
@@ -416,6 +446,7 @@ void USBWakeUp_IRQHandler(void)
416446 __HAL_USB_WAKEUP_EXTI_CLEAR_FLAG ();
417447#endif
418448}
449+ #endif
419450/*******************************************************************************
420451 LL Driver Interface (USB Device Library --> PCD)
421452*******************************************************************************/
0 commit comments