|
27 | 27 | #else
|
28 | 28 | /* Private typedef -----------------------------------------------------------*/
|
29 | 29 | /* Private define ------------------------------------------------------------*/
|
| 30 | +/* Size in words, byte size divided by 2 */ |
| 31 | +#define PMA_EP0_OUT_ADDR (8 * 4) |
| 32 | +#define PMA_EP0_IN_ADDR (PMA_EP0_OUT_ADDR + USB_MAX_EP0_SIZE / 2) |
| 33 | +#define PMA_CDC_OUT_ADDR (PMA_EP0_IN_ADDR + USB_MAX_EP0_SIZE / 2) |
| 34 | +#define PMA_CDC_IN_ADDR (PMA_CDC_OUT_ADDR + USB_FS_MAX_PACKET_SIZE / 2) |
| 35 | +#define PMA_CDC_CMD_ADDR (PMA_CDC_IN_ADDR + USB_FS_MAX_PACKET_SIZE / 2) |
30 | 36 | /* Private macro -------------------------------------------------------------*/
|
31 | 37 | /* Private variables ---------------------------------------------------------*/
|
32 | 38 | PCD_HandleTypeDef g_hpcd;
|
@@ -483,16 +489,11 @@ USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
|
483 | 489 | HAL_PCDEx_SetTxFiFo(&g_hpcd, 1, 0x40);
|
484 | 490 | HAL_PCDEx_SetTxFiFo(&g_hpcd, 2, 0x40);
|
485 | 491 | #else
|
486 |
| - uint32_t pma_addr = 8 * 3; /* 3 endpoints, 8 bytes for each in PMA BTABLE */ |
487 |
| - HAL_PCDEx_PMAConfig(&g_hpcd, 0x00, PCD_SNG_BUF, pma_addr); |
488 |
| - pma_addr += USB_MAX_EP0_SIZE; |
489 |
| - HAL_PCDEx_PMAConfig(&g_hpcd, 0x80, PCD_SNG_BUF, pma_addr); |
490 |
| - pma_addr += USB_MAX_EP0_SIZE; |
491 |
| - HAL_PCDEx_PMAConfig(&g_hpcd, 0x81, PCD_SNG_BUF, pma_addr); |
492 |
| - pma_addr += USB_FS_MAX_PACKET_SIZE; |
493 |
| - HAL_PCDEx_PMAConfig(&g_hpcd, 0x01, PCD_SNG_BUF, pma_addr); |
494 |
| - pma_addr += USB_FS_MAX_PACKET_SIZE; |
495 |
| - HAL_PCDEx_PMAConfig(&g_hpcd, 0x82, PCD_SNG_BUF, pma_addr); |
| 492 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x00, PCD_SNG_BUF, PMA_EP0_OUT_ADDR); |
| 493 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x80, PCD_SNG_BUF, PMA_EP0_IN_ADDR); |
| 494 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x01, PCD_SNG_BUF, PMA_CDC_OUT_ADDR); |
| 495 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x81, PCD_SNG_BUF, PMA_CDC_IN_ADDR); |
| 496 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x82, PCD_SNG_BUF, PMA_CDC_CMD_ADDR); |
496 | 497 | #endif
|
497 | 498 | #endif /* USE_USB_HS */
|
498 | 499 | return USBD_OK;
|
|
0 commit comments