@@ -73,23 +73,22 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
73
73
/* Enable USB FS Clock */
74
74
__HAL_RCC_USB_CLK_ENABLE ();
75
75
76
- #if defined (USE_USB_INTERRUPT_REMAPPED )
77
- /*USB interrupt remapping enable */
76
+ #if defined( SYSCFG_CFGR1_USB_IT_RMP ) && defined (USE_USB_INTERRUPT_REMAPPED )
77
+ /* USB interrupt remapping enable */
78
78
__HAL_REMAPINTERRUPT_USB_ENABLE ();
79
79
#endif
80
80
81
- #if defined(STM32G4xx ) || defined(STM32WBxx )
81
+ #if defined(USB_H_IRQn )
82
+ /* Set USB High priority Interrupt priority */
82
83
HAL_NVIC_SetPriority (USB_HP_IRQn , USBD_IRQ_PRIO , USBD_IRQ_SUBPRIO );
84
+ /* Enable USB High priority Interrupt */
83
85
HAL_NVIC_EnableIRQ (USB_HP_IRQn );
84
- HAL_NVIC_SetPriority (USB_LP_IRQn , USBD_IRQ_PRIO , USBD_IRQ_SUBPRIO );
85
- HAL_NVIC_EnableIRQ (USB_LP_IRQn );
86
- #else
87
- /* Set USB FS Interrupt priority */
86
+ #endif
87
+ /* Set USB Interrupt priority */
88
88
HAL_NVIC_SetPriority (USB_IRQn , USBD_IRQ_PRIO , USBD_IRQ_SUBPRIO );
89
89
90
- /* Enable USB FS Interrupt */
90
+ /* Enable USB Interrupt */
91
91
HAL_NVIC_EnableIRQ (USB_IRQn );
92
- #endif /* STM32WBxx */
93
92
94
93
if (hpcd -> Init .low_power_enable == 1 ) {
95
94
/* Enable EXTI for USB wakeup */
@@ -100,12 +99,12 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
100
99
__HAL_USB_WAKEUP_EXTI_ENABLE_RISING_EDGE ();
101
100
#endif
102
101
__HAL_USB_WAKEUP_EXTI_ENABLE_IT ();
103
- #if defined(STM32F1xx ) || defined( STM32F3xx )
102
+ #if defined(USB_WKUP_IRQn )
104
103
/* USB Wakeup Interrupt */
105
- HAL_NVIC_EnableIRQ (USBWakeUp_IRQn );
104
+ HAL_NVIC_EnableIRQ (USB_WKUP_IRQn );
106
105
107
106
/* Enable USB Wake-up interrupt */
108
- HAL_NVIC_SetPriority (USBWakeUp_IRQn , 0 , 0 );
107
+ HAL_NVIC_SetPriority (USB_WKUP_IRQn , 0 , 0 );
109
108
#endif
110
109
}
111
110
}
@@ -163,7 +162,7 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
163
162
/* Enable USB HS Clocks */
164
163
__HAL_RCC_USB_OTG_HS_CLK_ENABLE ();
165
164
166
- /* Set USBHS Interrupt priority */
165
+ /* Set USB HS Interrupt priority */
167
166
HAL_NVIC_SetPriority (OTG_HS_IRQn , USBD_IRQ_PRIO , USBD_IRQ_SUBPRIO );
168
167
169
168
/* Enable USB HS Interrupt */
@@ -318,7 +317,7 @@ void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
318
317
void HAL_PCD_ResumeCallback (PCD_HandleTypeDef * hpcd )
319
318
{
320
319
if (hpcd -> Init .low_power_enable ) {
321
- SystemClock_Config ();
320
+ USBD_SystemClockConfigFromResume ();
322
321
323
322
/* Reset SLEEPDEEP bit of Cortex System Control Register */
324
323
SCB -> SCR &= (uint32_t )~((uint32_t )(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk ));
@@ -369,8 +368,6 @@ void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
369
368
USBD_LL_DevDisconnected (hpcd -> pData );
370
369
}
371
370
372
-
373
-
374
371
/**
375
372
* @brief This function handles USB-On-The-Go FS/HS global interrupt request.
376
373
* @param None
@@ -387,47 +384,39 @@ void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
387
384
HAL_PCD_IRQHandler (& g_hpcd );
388
385
}
389
386
390
- #if defined(STM32WBxx )
387
+ #if defined(USB_H_IRQn )
391
388
/**
392
389
* @brief This function handles USB high priority interrupt.
393
390
* @param None
394
391
* @retval None
395
392
*/
396
- void USB_HP_IRQHandler (void )
393
+ void USB_H_IRQHandler (void )
397
394
{
398
395
HAL_PCD_IRQHandler (& g_hpcd );
399
396
}
397
+ #endif /* USB_H_IRQn */
400
398
401
399
/**
402
- * @brief This function handles USB low priority interrupt, USB wake-up interrupt through EXTI line 28.
403
- * @param None
404
- * @retval None
405
- */
406
- void USB_LP_IRQHandler (void )
407
- {
408
- HAL_PCD_IRQHandler (& g_hpcd );
409
- }
410
- #else
411
- /**
412
- * @brief This function handles USB OTG FS Wakeup IRQ Handler.
400
+ * @brief This function handles USB Wakeup IRQ Handler.
413
401
* @param None
414
402
* @retval None
415
403
*/
416
404
#ifdef USE_USB_HS
417
405
void OTG_HS_WKUP_IRQHandler (void )
418
406
#elif defined(USB_OTG_FS )
419
407
void OTG_FS_WKUP_IRQHandler (void )
408
+ #elif defined(USB_WKUP_IRQHandler )
409
+ void USB_WKUP_IRQHandler (void )
420
410
#else
421
- void USBWakeUp_IRQHandler (void )
411
+ void USBWakeUp_IRQHandler_dummy (void )
422
412
#endif
423
413
{
424
414
if ((& g_hpcd )-> Init .low_power_enable ) {
425
415
/* Reset SLEEPDEEP bit of Cortex System Control Register */
426
416
SCB -> SCR &= (uint32_t )~((uint32_t )(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk ));
427
417
428
- /* Configures system clock after wake-up from STOP: enable HSE, PLL and select
429
- PLL as system clock source (HSE and PLL are disabled in STOP mode) */
430
- SystemClock_Config ();
418
+ /* Configures system clock after wake-up */
419
+ USBD_SystemClockConfigFromResume ();
431
420
432
421
/* ungate PHY clock */
433
422
__HAL_PCD_UNGATE_PHYCLOCK ((& g_hpcd ));
@@ -442,7 +431,7 @@ void USB_LP_IRQHandler(void)
442
431
__HAL_USB_WAKEUP_EXTI_CLEAR_FLAG ();
443
432
#endif
444
433
}
445
- #endif
434
+
446
435
/*******************************************************************************
447
436
LL Driver Interface (USB Device Library --> PCD)
448
437
*******************************************************************************/
@@ -644,7 +633,7 @@ uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
644
633
/**
645
634
* @brief Assigns a USB address to the device.
646
635
* @param pdev: Device handle
647
- * @param ep_addr : Endpoint Number
636
+ * @param dev_addr : Endpoint Number
648
637
* @retval USBD Status
649
638
*/
650
639
USBD_StatusTypeDef USBD_LL_SetUSBAddress (USBD_HandleTypeDef * pdev , uint8_t dev_addr )
0 commit comments