summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/stm32f4xx-HAL/drivers/drv_usb.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/bsp/stm32f4xx-HAL/drivers/drv_usb.c b/bsp/stm32f4xx-HAL/drivers/drv_usb.c
index 113f76b4b4..c3d5fe253c 100644
--- a/bsp/stm32f4xx-HAL/drivers/drv_usb.c
+++ b/bsp/stm32f4xx-HAL/drivers/drv_usb.c
@@ -25,8 +25,10 @@ static struct ep_id _ep_pool[] =
{0x0, USB_EP_ATTR_CONTROL, USB_DIR_INOUT, 64, ID_ASSIGNED },
{0x1, USB_EP_ATTR_BULK, USB_DIR_IN, 64, ID_UNASSIGNED},
{0x1, USB_EP_ATTR_BULK, USB_DIR_OUT, 64, ID_UNASSIGNED},
- {0x2, USB_EP_ATTR_INT, USB_DIR_OUT, 64, ID_UNASSIGNED},
{0x2, USB_EP_ATTR_INT, USB_DIR_IN, 64, ID_UNASSIGNED},
+ {0x2, USB_EP_ATTR_INT, USB_DIR_OUT, 64, ID_UNASSIGNED},
+ {0x3, USB_EP_ATTR_BULK, USB_DIR_IN, 64, ID_UNASSIGNED},
+ {0x3, USB_EP_ATTR_BULK, USB_DIR_OUT, 64, ID_UNASSIGNED},
{0xFF, USB_EP_ATTR_TYPE_MASK, USB_DIR_MASK, 0, ID_ASSIGNED },
};
@@ -74,7 +76,7 @@ void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
{
-// rt_usbd_sof_handler(&_stm_udc);
+ rt_usbd_sof_handler(&_stm_udc);
}
void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
@@ -233,7 +235,7 @@ static rt_err_t _init(rt_device_t device)
pcd = (PCD_HandleTypeDef*)device->user_data;
pcd->Instance = USB_OTG_FS;
- pcd->Init.dev_endpoints = 8;
+ pcd->Init.dev_endpoints = 4;
pcd->Init.speed = PCD_SPEED_FULL;
pcd->Init.dma_enable = DISABLE;
pcd->Init.ep0_mps = DEP0CTL_MPS_64;
@@ -249,7 +251,9 @@ static rt_err_t _init(rt_device_t device)
HAL_PCDEx_SetRxFiFo(pcd, 0x80);
HAL_PCDEx_SetTxFiFo(pcd, 0, 0x40);
- HAL_PCDEx_SetTxFiFo(pcd, 1, 0x80);
+ HAL_PCDEx_SetTxFiFo(pcd, 1, 0x40);
+ HAL_PCDEx_SetTxFiFo(pcd, 2, 0x40);
+ HAL_PCDEx_SetTxFiFo(pcd, 3, 0x40);
HAL_PCD_Start(pcd);
return RT_EOK;