|
26 | 26 | #else
|
27 | 27 | /* Private typedef -----------------------------------------------------------*/
|
28 | 28 | /* Private define ------------------------------------------------------------*/
|
| 29 | +/* Size in words, byte size divided by 2 */ |
| 30 | +#define PMA_EP0_OUT_ADDR (8 * 4) |
| 31 | +#define PMA_EP0_IN_ADDR (PMA_EP0_OUT_ADDR + USB_MAX_EP0_SIZE / 2) |
| 32 | +#define PMA_CDC_OUT_ADDR (PMA_EP0_IN_ADDR + USB_MAX_EP0_SIZE / 2) |
| 33 | +#define PMA_CDC_IN_ADDR (PMA_CDC_OUT_ADDR + USB_FS_MAX_PACKET_SIZE / 2) |
| 34 | +#define PMA_CDC_CMD_ADDR (PMA_CDC_IN_ADDR + USB_FS_MAX_PACKET_SIZE / 2) |
29 | 35 | /* Private macro -------------------------------------------------------------*/
|
30 | 36 | /* Private variables ---------------------------------------------------------*/
|
31 | 37 | PCD_HandleTypeDef g_hpcd;
|
@@ -481,16 +487,11 @@ USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
|
481 | 487 | HAL_PCDEx_SetTxFiFo(&g_hpcd, 1, 0x40);
|
482 | 488 | HAL_PCDEx_SetTxFiFo(&g_hpcd, 2, 0x40);
|
483 | 489 | #else
|
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); |
| 490 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x00, PCD_SNG_BUF, PMA_EP0_OUT_ADDR); |
| 491 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x80, PCD_SNG_BUF, PMA_EP0_IN_ADDR); |
| 492 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x01, PCD_SNG_BUF, PMA_CDC_OUT_ADDR); |
| 493 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x81, PCD_SNG_BUF, PMA_CDC_IN_ADDR); |
| 494 | + HAL_PCDEx_PMAConfig(&g_hpcd, 0x82, PCD_SNG_BUF, PMA_CDC_CMD_ADDR); |
494 | 495 | #endif
|
495 | 496 | #endif /* USE_USB_HS */
|
496 | 497 | return USBD_OK;
|
|
0 commit comments