@@ -481,10 +481,16 @@ USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
481
481
HAL_PCDEx_SetTxFiFo (& g_hpcd , 1 , 0x40 );
482
482
HAL_PCDEx_SetTxFiFo (& g_hpcd , 2 , 0x40 );
483
483
#else
484
- HAL_PCDEx_PMAConfig (& g_hpcd , 0x00 , PCD_SNG_BUF , 0x18 );
485
- HAL_PCDEx_PMAConfig (& g_hpcd , 0x80 , PCD_SNG_BUF , 0x58 );
486
- HAL_PCDEx_PMAConfig (& g_hpcd , 0x81 , PCD_SNG_BUF , 0x100 );
487
- HAL_PCDEx_PMAConfig (& g_hpcd , 0x82 , PCD_SNG_BUF , 0x100 );
484
+ uint32_t pma_addr = 8 * 3 ; /* 3 endpoints, 8 bytes for each in PMA BTABLE */
485
+ HAL_PCDEx_PMAConfig (& g_hpcd , 0x00 , PCD_SNG_BUF , pma_addr );
486
+ pma_addr += USB_MAX_EP0_SIZE ;
487
+ HAL_PCDEx_PMAConfig (& g_hpcd , 0x80 , PCD_SNG_BUF , pma_addr );
488
+ pma_addr += USB_MAX_EP0_SIZE ;
489
+ HAL_PCDEx_PMAConfig (& g_hpcd , 0x81 , PCD_SNG_BUF , pma_addr );
490
+ pma_addr += USB_FS_MAX_PACKET_SIZE ;
491
+ HAL_PCDEx_PMAConfig (& g_hpcd , 0x01 , PCD_SNG_BUF , pma_addr );
492
+ pma_addr += USB_FS_MAX_PACKET_SIZE ;
493
+ HAL_PCDEx_PMAConfig (& g_hpcd , 0x82 , PCD_SNG_BUF , pma_addr );
488
494
#endif
489
495
#endif /* USE_USB_HS */
490
496
return USBD_OK ;
0 commit comments