Lines Matching refs:hpcd
91 static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum);
92 static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum);
93 static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum);
123 HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) in HAL_PCD_Init() argument
131 if (hpcd == NULL) in HAL_PCD_Init()
137 assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); in HAL_PCD_Init()
140 USBx = hpcd->Instance; in HAL_PCD_Init()
143 if (hpcd->State == HAL_PCD_STATE_RESET) in HAL_PCD_Init()
146 hpcd->Lock = HAL_UNLOCKED; in HAL_PCD_Init()
149 hpcd->SOFCallback = HAL_PCD_SOFCallback; in HAL_PCD_Init()
150 hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; in HAL_PCD_Init()
151 hpcd->ResetCallback = HAL_PCD_ResetCallback; in HAL_PCD_Init()
152 hpcd->SuspendCallback = HAL_PCD_SuspendCallback; in HAL_PCD_Init()
153 hpcd->ResumeCallback = HAL_PCD_ResumeCallback; in HAL_PCD_Init()
154 hpcd->ConnectCallback = HAL_PCD_ConnectCallback; in HAL_PCD_Init()
155 hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; in HAL_PCD_Init()
156 hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; in HAL_PCD_Init()
157 hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; in HAL_PCD_Init()
158 hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; in HAL_PCD_Init()
159 hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; in HAL_PCD_Init()
161 if (hpcd->MspInitCallback == NULL) in HAL_PCD_Init()
163 hpcd->MspInitCallback = HAL_PCD_MspInit; in HAL_PCD_Init()
167 hpcd->MspInitCallback(hpcd); in HAL_PCD_Init()
170 HAL_PCD_MspInit(hpcd); in HAL_PCD_Init()
174 hpcd->State = HAL_PCD_STATE_BUSY; in HAL_PCD_Init()
180 hpcd->Init.dma_enable = 0U; in HAL_PCD_Init()
185 __HAL_PCD_DISABLE(hpcd); in HAL_PCD_Init()
188 if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) in HAL_PCD_Init()
190 hpcd->State = HAL_PCD_STATE_ERROR; in HAL_PCD_Init()
195 if (USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE) != HAL_OK) in HAL_PCD_Init()
197 hpcd->State = HAL_PCD_STATE_ERROR; in HAL_PCD_Init()
202 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) in HAL_PCD_Init()
205 hpcd->IN_ep[i].is_in = 1U; in HAL_PCD_Init()
206 hpcd->IN_ep[i].num = i; in HAL_PCD_Init()
207 hpcd->IN_ep[i].tx_fifo_num = i; in HAL_PCD_Init()
209 hpcd->IN_ep[i].type = EP_TYPE_CTRL; in HAL_PCD_Init()
210 hpcd->IN_ep[i].maxpacket = 0U; in HAL_PCD_Init()
211 hpcd->IN_ep[i].xfer_buff = 0U; in HAL_PCD_Init()
212 hpcd->IN_ep[i].xfer_len = 0U; in HAL_PCD_Init()
215 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) in HAL_PCD_Init()
217 hpcd->OUT_ep[i].is_in = 0U; in HAL_PCD_Init()
218 hpcd->OUT_ep[i].num = i; in HAL_PCD_Init()
220 hpcd->OUT_ep[i].type = EP_TYPE_CTRL; in HAL_PCD_Init()
221 hpcd->OUT_ep[i].maxpacket = 0U; in HAL_PCD_Init()
222 hpcd->OUT_ep[i].xfer_buff = 0U; in HAL_PCD_Init()
223 hpcd->OUT_ep[i].xfer_len = 0U; in HAL_PCD_Init()
227 if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) in HAL_PCD_Init()
229 hpcd->State = HAL_PCD_STATE_ERROR; in HAL_PCD_Init()
233 hpcd->USB_Address = 0U; in HAL_PCD_Init()
234 hpcd->State = HAL_PCD_STATE_READY; in HAL_PCD_Init()
237 if (hpcd->Init.lpm_enable == 1U) in HAL_PCD_Init()
239 (void)HAL_PCDEx_ActivateLPM(hpcd); in HAL_PCD_Init()
242 (void)USB_DevDisconnect(hpcd->Instance); in HAL_PCD_Init()
252 HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd) in HAL_PCD_DeInit() argument
255 if (hpcd == NULL) in HAL_PCD_DeInit()
260 hpcd->State = HAL_PCD_STATE_BUSY; in HAL_PCD_DeInit()
263 if (USB_StopDevice(hpcd->Instance) != HAL_OK) in HAL_PCD_DeInit()
269 if (hpcd->MspDeInitCallback == NULL) in HAL_PCD_DeInit()
271 hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PCD_DeInit()
275 hpcd->MspDeInitCallback(hpcd); in HAL_PCD_DeInit()
278 HAL_PCD_MspDeInit(hpcd); in HAL_PCD_DeInit()
281 hpcd->State = HAL_PCD_STATE_RESET; in HAL_PCD_DeInit()
291 __weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) in HAL_PCD_MspInit() argument
294 UNUSED(hpcd); in HAL_PCD_MspInit()
306 __weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd) in HAL_PCD_MspDeInit() argument
309 UNUSED(hpcd); in HAL_PCD_MspDeInit()
335 HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, in HAL_PCD_RegisterCallback() argument
344 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterCallback()
348 __HAL_LOCK(hpcd); in HAL_PCD_RegisterCallback()
350 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_RegisterCallback()
355 hpcd->SOFCallback = pCallback; in HAL_PCD_RegisterCallback()
359 hpcd->SetupStageCallback = pCallback; in HAL_PCD_RegisterCallback()
363 hpcd->ResetCallback = pCallback; in HAL_PCD_RegisterCallback()
367 hpcd->SuspendCallback = pCallback; in HAL_PCD_RegisterCallback()
371 hpcd->ResumeCallback = pCallback; in HAL_PCD_RegisterCallback()
375 hpcd->ConnectCallback = pCallback; in HAL_PCD_RegisterCallback()
379 hpcd->DisconnectCallback = pCallback; in HAL_PCD_RegisterCallback()
383 hpcd->MspInitCallback = pCallback; in HAL_PCD_RegisterCallback()
387 hpcd->MspDeInitCallback = pCallback; in HAL_PCD_RegisterCallback()
392 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterCallback()
398 else if (hpcd->State == HAL_PCD_STATE_RESET) in HAL_PCD_RegisterCallback()
403 hpcd->MspInitCallback = pCallback; in HAL_PCD_RegisterCallback()
407 hpcd->MspDeInitCallback = pCallback; in HAL_PCD_RegisterCallback()
412 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterCallback()
421 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterCallback()
427 __HAL_UNLOCK(hpcd); in HAL_PCD_RegisterCallback()
448 HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Cal… in HAL_PCD_UnRegisterCallback() argument
453 __HAL_LOCK(hpcd); in HAL_PCD_UnRegisterCallback()
456 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_UnRegisterCallback()
461 hpcd->SOFCallback = HAL_PCD_SOFCallback; in HAL_PCD_UnRegisterCallback()
465 hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; in HAL_PCD_UnRegisterCallback()
469 hpcd->ResetCallback = HAL_PCD_ResetCallback; in HAL_PCD_UnRegisterCallback()
473 hpcd->SuspendCallback = HAL_PCD_SuspendCallback; in HAL_PCD_UnRegisterCallback()
477 hpcd->ResumeCallback = HAL_PCD_ResumeCallback; in HAL_PCD_UnRegisterCallback()
481 hpcd->ConnectCallback = HAL_PCD_ConnectCallback; in HAL_PCD_UnRegisterCallback()
485 hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; in HAL_PCD_UnRegisterCallback()
489 hpcd->MspInitCallback = HAL_PCD_MspInit; in HAL_PCD_UnRegisterCallback()
493 hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; in HAL_PCD_UnRegisterCallback()
498 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterCallback()
505 else if (hpcd->State == HAL_PCD_STATE_RESET) in HAL_PCD_UnRegisterCallback()
510 hpcd->MspInitCallback = HAL_PCD_MspInit; in HAL_PCD_UnRegisterCallback()
514 hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; in HAL_PCD_UnRegisterCallback()
519 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterCallback()
529 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterCallback()
536 __HAL_UNLOCK(hpcd); in HAL_PCD_UnRegisterCallback()
547 HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, in HAL_PCD_RegisterDataOutStageCallback() argument
555 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterDataOutStageCallback()
561 __HAL_LOCK(hpcd); in HAL_PCD_RegisterDataOutStageCallback()
563 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_RegisterDataOutStageCallback()
565 hpcd->DataOutStageCallback = pCallback; in HAL_PCD_RegisterDataOutStageCallback()
570 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterDataOutStageCallback()
577 __HAL_UNLOCK(hpcd); in HAL_PCD_RegisterDataOutStageCallback()
588 HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_UnRegisterDataOutStageCallback() argument
593 __HAL_LOCK(hpcd); in HAL_PCD_UnRegisterDataOutStageCallback()
595 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_UnRegisterDataOutStageCallback()
597 … hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; /* Legacy weak DataOutStageCallback */ in HAL_PCD_UnRegisterDataOutStageCallback()
602 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterDataOutStageCallback()
609 __HAL_UNLOCK(hpcd); in HAL_PCD_UnRegisterDataOutStageCallback()
621 HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, in HAL_PCD_RegisterDataInStageCallback() argument
629 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterDataInStageCallback()
635 __HAL_LOCK(hpcd); in HAL_PCD_RegisterDataInStageCallback()
637 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_RegisterDataInStageCallback()
639 hpcd->DataInStageCallback = pCallback; in HAL_PCD_RegisterDataInStageCallback()
644 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterDataInStageCallback()
651 __HAL_UNLOCK(hpcd); in HAL_PCD_RegisterDataInStageCallback()
662 HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_UnRegisterDataInStageCallback() argument
667 __HAL_LOCK(hpcd); in HAL_PCD_UnRegisterDataInStageCallback()
669 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_UnRegisterDataInStageCallback()
671 hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; /* Legacy weak DataInStageCallback */ in HAL_PCD_UnRegisterDataInStageCallback()
676 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterDataInStageCallback()
683 __HAL_UNLOCK(hpcd); in HAL_PCD_UnRegisterDataInStageCallback()
695 HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, in HAL_PCD_RegisterIsoOutIncpltCallback() argument
703 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterIsoOutIncpltCallback()
709 __HAL_LOCK(hpcd); in HAL_PCD_RegisterIsoOutIncpltCallback()
711 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_RegisterIsoOutIncpltCallback()
713 hpcd->ISOOUTIncompleteCallback = pCallback; in HAL_PCD_RegisterIsoOutIncpltCallback()
718 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterIsoOutIncpltCallback()
725 __HAL_UNLOCK(hpcd); in HAL_PCD_RegisterIsoOutIncpltCallback()
737 HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_UnRegisterIsoOutIncpltCallback() argument
742 __HAL_LOCK(hpcd); in HAL_PCD_UnRegisterIsoOutIncpltCallback()
744 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_UnRegisterIsoOutIncpltCallback()
746 …hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; /* Legacy weak ISOOUTIncomplete… in HAL_PCD_UnRegisterIsoOutIncpltCallback()
751 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterIsoOutIncpltCallback()
758 __HAL_UNLOCK(hpcd); in HAL_PCD_UnRegisterIsoOutIncpltCallback()
770 HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, in HAL_PCD_RegisterIsoInIncpltCallback() argument
778 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterIsoInIncpltCallback()
784 __HAL_LOCK(hpcd); in HAL_PCD_RegisterIsoInIncpltCallback()
786 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_RegisterIsoInIncpltCallback()
788 hpcd->ISOINIncompleteCallback = pCallback; in HAL_PCD_RegisterIsoInIncpltCallback()
793 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterIsoInIncpltCallback()
800 __HAL_UNLOCK(hpcd); in HAL_PCD_RegisterIsoInIncpltCallback()
812 HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_UnRegisterIsoInIncpltCallback() argument
817 __HAL_LOCK(hpcd); in HAL_PCD_UnRegisterIsoInIncpltCallback()
819 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_UnRegisterIsoInIncpltCallback()
821 …hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; /* Legacy weak ISOINIncompleteCal… in HAL_PCD_UnRegisterIsoInIncpltCallback()
826 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterIsoInIncpltCallback()
833 __HAL_UNLOCK(hpcd); in HAL_PCD_UnRegisterIsoInIncpltCallback()
845 HAL_StatusTypeDef HAL_PCD_RegisterLpmCallback(PCD_HandleTypeDef *hpcd, pPCD_LpmCallbackTypeDef pCal… in HAL_PCD_RegisterLpmCallback() argument
852 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterLpmCallback()
858 __HAL_LOCK(hpcd); in HAL_PCD_RegisterLpmCallback()
860 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_RegisterLpmCallback()
862 hpcd->LPMCallback = pCallback; in HAL_PCD_RegisterLpmCallback()
867 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_RegisterLpmCallback()
874 __HAL_UNLOCK(hpcd); in HAL_PCD_RegisterLpmCallback()
885 HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_UnRegisterLpmCallback() argument
890 __HAL_LOCK(hpcd); in HAL_PCD_UnRegisterLpmCallback()
892 if (hpcd->State == HAL_PCD_STATE_READY) in HAL_PCD_UnRegisterLpmCallback()
894 hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; /* Legacy weak HAL_PCDEx_LPM_Callback */ in HAL_PCD_UnRegisterLpmCallback()
899 hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; in HAL_PCD_UnRegisterLpmCallback()
906 __HAL_UNLOCK(hpcd); in HAL_PCD_UnRegisterLpmCallback()
936 HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) in HAL_PCD_Start() argument
938 __HAL_LOCK(hpcd); in HAL_PCD_Start()
939 __HAL_PCD_ENABLE(hpcd); in HAL_PCD_Start()
940 (void)USB_DevConnect(hpcd->Instance); in HAL_PCD_Start()
941 __HAL_UNLOCK(hpcd); in HAL_PCD_Start()
951 HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd) in HAL_PCD_Stop() argument
953 __HAL_LOCK(hpcd); in HAL_PCD_Stop()
954 __HAL_PCD_DISABLE(hpcd); in HAL_PCD_Stop()
955 (void)USB_DevDisconnect(hpcd->Instance); in HAL_PCD_Stop()
957 (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); in HAL_PCD_Stop()
959 __HAL_UNLOCK(hpcd); in HAL_PCD_Stop()
970 void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) in HAL_PCD_IRQHandler() argument
972 USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; in HAL_PCD_IRQHandler()
983 if (USB_GetMode(hpcd->Instance) == USB_OTG_MODE_DEVICE) in HAL_PCD_IRQHandler()
986 if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) in HAL_PCD_IRQHandler()
992 hpcd->FrameNumber = (USBx_DEVICE->DSTS & USB_OTG_DSTS_FNSOF_Msk) >> USB_OTG_DSTS_FNSOF_Pos; in HAL_PCD_IRQHandler()
994 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) in HAL_PCD_IRQHandler()
997 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); in HAL_PCD_IRQHandler()
1001 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) in HAL_PCD_IRQHandler()
1003 USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); in HAL_PCD_IRQHandler()
1007 ep = &hpcd->OUT_ep[RegVal & USB_OTG_GRXSTSP_EPNUM]; in HAL_PCD_IRQHandler()
1022 (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); in HAL_PCD_IRQHandler()
1030 USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); in HAL_PCD_IRQHandler()
1033 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) in HAL_PCD_IRQHandler()
1038 ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); in HAL_PCD_IRQHandler()
1044 epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1049 (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); in HAL_PCD_IRQHandler()
1056 (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); in HAL_PCD_IRQHandler()
1072 ep = &hpcd->OUT_ep[epnum]; in HAL_PCD_IRQHandler()
1079 hpcd->ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1081 HAL_PCD_ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1105 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) in HAL_PCD_IRQHandler()
1108 ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); in HAL_PCD_IRQHandler()
1116 epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1125 if (hpcd->Init.dma_enable == 1U) in HAL_PCD_IRQHandler()
1127 hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; in HAL_PCD_IRQHandler()
1130 if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) in HAL_PCD_IRQHandler()
1133 (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); in HAL_PCD_IRQHandler()
1138 hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1140 HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1159 ep = &hpcd->IN_ep[epnum]; in HAL_PCD_IRQHandler()
1166 hpcd->ISOINIncompleteCallback(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1168 HAL_PCD_ISOINIncompleteCallback(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1176 (void)PCD_WriteEmptyTxFifo(hpcd, epnum); in HAL_PCD_IRQHandler()
1185 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) in HAL_PCD_IRQHandler()
1190 if (hpcd->LPM_State == LPM_L1) in HAL_PCD_IRQHandler()
1192 hpcd->LPM_State = LPM_L0; in HAL_PCD_IRQHandler()
1195 hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE); in HAL_PCD_IRQHandler()
1197 HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); in HAL_PCD_IRQHandler()
1203 hpcd->ResumeCallback(hpcd); in HAL_PCD_IRQHandler()
1205 HAL_PCD_ResumeCallback(hpcd); in HAL_PCD_IRQHandler()
1209 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); in HAL_PCD_IRQHandler()
1213 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) in HAL_PCD_IRQHandler()
1218 hpcd->SuspendCallback(hpcd); in HAL_PCD_IRQHandler()
1220 HAL_PCD_SuspendCallback(hpcd); in HAL_PCD_IRQHandler()
1223 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); in HAL_PCD_IRQHandler()
1227 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) in HAL_PCD_IRQHandler()
1229 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); in HAL_PCD_IRQHandler()
1231 if (hpcd->LPM_State == LPM_L0) in HAL_PCD_IRQHandler()
1233 hpcd->LPM_State = LPM_L1; in HAL_PCD_IRQHandler()
1234 hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; in HAL_PCD_IRQHandler()
1237 hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE); in HAL_PCD_IRQHandler()
1239 HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); in HAL_PCD_IRQHandler()
1245 hpcd->SuspendCallback(hpcd); in HAL_PCD_IRQHandler()
1247 HAL_PCD_SuspendCallback(hpcd); in HAL_PCD_IRQHandler()
1253 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) in HAL_PCD_IRQHandler()
1256 (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); in HAL_PCD_IRQHandler()
1258 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) in HAL_PCD_IRQHandler()
1268 if (hpcd->Init.use_dedicated_ep1 != 0U) in HAL_PCD_IRQHandler()
1295 (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, in HAL_PCD_IRQHandler()
1296 (uint8_t *)hpcd->Setup); in HAL_PCD_IRQHandler()
1298 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); in HAL_PCD_IRQHandler()
1302 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) in HAL_PCD_IRQHandler()
1304 (void)USB_ActivateSetup(hpcd->Instance); in HAL_PCD_IRQHandler()
1305 hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); in HAL_PCD_IRQHandler()
1308 (void)USB_SetTurnaroundTime(hpcd->Instance, in HAL_PCD_IRQHandler()
1310 (uint8_t)hpcd->Init.speed); in HAL_PCD_IRQHandler()
1313 hpcd->ResetCallback(hpcd); in HAL_PCD_IRQHandler()
1315 HAL_PCD_ResetCallback(hpcd); in HAL_PCD_IRQHandler()
1318 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); in HAL_PCD_IRQHandler()
1322 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) in HAL_PCD_IRQHandler()
1325 hpcd->SOFCallback(hpcd); in HAL_PCD_IRQHandler()
1327 HAL_PCD_SOFCallback(hpcd); in HAL_PCD_IRQHandler()
1330 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); in HAL_PCD_IRQHandler()
1334 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_BOUTNAKEFF)) in HAL_PCD_IRQHandler()
1338 for (epnum = 1U; epnum < hpcd->Init.dev_endpoints; epnum++) in HAL_PCD_IRQHandler()
1340 if (hpcd->OUT_ep[epnum].is_iso_incomplete == 1U) in HAL_PCD_IRQHandler()
1343 (void)HAL_PCD_EP_Abort(hpcd, (uint8_t)epnum); in HAL_PCD_IRQHandler()
1349 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) in HAL_PCD_IRQHandler()
1351 for (epnum = 1U; epnum < hpcd->Init.dev_endpoints; epnum++) in HAL_PCD_IRQHandler()
1355 if ((hpcd->IN_ep[epnum].type == EP_TYPE_ISOC) && in HAL_PCD_IRQHandler()
1358 hpcd->IN_ep[epnum].is_iso_incomplete = 1U; in HAL_PCD_IRQHandler()
1361 (void)HAL_PCD_EP_Abort(hpcd, (uint8_t)(epnum | 0x80U)); in HAL_PCD_IRQHandler()
1365 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); in HAL_PCD_IRQHandler()
1369 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) in HAL_PCD_IRQHandler()
1371 for (epnum = 1U; epnum < hpcd->Init.dev_endpoints; epnum++) in HAL_PCD_IRQHandler()
1375 if ((hpcd->OUT_ep[epnum].type == EP_TYPE_ISOC) && in HAL_PCD_IRQHandler()
1377 ((RegVal & (0x1U << 16)) == (hpcd->FrameNumber & 0x1U))) in HAL_PCD_IRQHandler()
1379 hpcd->OUT_ep[epnum].is_iso_incomplete = 1U; in HAL_PCD_IRQHandler()
1391 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); in HAL_PCD_IRQHandler()
1395 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) in HAL_PCD_IRQHandler()
1398 hpcd->ConnectCallback(hpcd); in HAL_PCD_IRQHandler()
1400 HAL_PCD_ConnectCallback(hpcd); in HAL_PCD_IRQHandler()
1403 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); in HAL_PCD_IRQHandler()
1407 if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) in HAL_PCD_IRQHandler()
1409 RegVal = hpcd->Instance->GOTGINT; in HAL_PCD_IRQHandler()
1414 hpcd->DisconnectCallback(hpcd); in HAL_PCD_IRQHandler()
1416 HAL_PCD_DisconnectCallback(hpcd); in HAL_PCD_IRQHandler()
1419 hpcd->Instance->GOTGINT |= RegVal; in HAL_PCD_IRQHandler()
1430 void HAL_PCD_WKUP_IRQHandler(PCD_HandleTypeDef *hpcd) in HAL_PCD_WKUP_IRQHandler() argument
1434 USBx = hpcd->Instance; in HAL_PCD_WKUP_IRQHandler()
1457 __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) in HAL_PCD_DataOutStageCallback() argument
1460 UNUSED(hpcd); in HAL_PCD_DataOutStageCallback()
1474 __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) in HAL_PCD_DataInStageCallback() argument
1477 UNUSED(hpcd); in HAL_PCD_DataInStageCallback()
1489 __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_SetupStageCallback() argument
1492 UNUSED(hpcd); in HAL_PCD_SetupStageCallback()
1504 __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_SOFCallback() argument
1507 UNUSED(hpcd); in HAL_PCD_SOFCallback()
1519 __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_ResetCallback() argument
1522 UNUSED(hpcd); in HAL_PCD_ResetCallback()
1534 __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_SuspendCallback() argument
1537 UNUSED(hpcd); in HAL_PCD_SuspendCallback()
1549 __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_ResumeCallback() argument
1552 UNUSED(hpcd); in HAL_PCD_ResumeCallback()
1565 __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) in HAL_PCD_ISOOUTIncompleteCallback() argument
1568 UNUSED(hpcd); in HAL_PCD_ISOOUTIncompleteCallback()
1582 __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) in HAL_PCD_ISOINIncompleteCallback() argument
1585 UNUSED(hpcd); in HAL_PCD_ISOINIncompleteCallback()
1598 __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_ConnectCallback() argument
1601 UNUSED(hpcd); in HAL_PCD_ConnectCallback()
1613 __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) in HAL_PCD_DisconnectCallback() argument
1616 UNUSED(hpcd); in HAL_PCD_DisconnectCallback()
1647 HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd) in HAL_PCD_DevConnect() argument
1649 __HAL_LOCK(hpcd); in HAL_PCD_DevConnect()
1650 (void)USB_DevConnect(hpcd->Instance); in HAL_PCD_DevConnect()
1651 __HAL_UNLOCK(hpcd); in HAL_PCD_DevConnect()
1661 HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd) in HAL_PCD_DevDisconnect() argument
1663 __HAL_LOCK(hpcd); in HAL_PCD_DevDisconnect()
1664 (void)USB_DevDisconnect(hpcd->Instance); in HAL_PCD_DevDisconnect()
1665 __HAL_UNLOCK(hpcd); in HAL_PCD_DevDisconnect()
1676 HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) in HAL_PCD_SetAddress() argument
1678 __HAL_LOCK(hpcd); in HAL_PCD_SetAddress()
1679 hpcd->USB_Address = address; in HAL_PCD_SetAddress()
1680 (void)USB_SetDevAddress(hpcd->Instance, address); in HAL_PCD_SetAddress()
1681 __HAL_UNLOCK(hpcd); in HAL_PCD_SetAddress()
1693 HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, in HAL_PCD_EP_Open() argument
1701 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1706 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1726 __HAL_LOCK(hpcd); in HAL_PCD_EP_Open()
1727 (void)USB_ActivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Open()
1728 __HAL_UNLOCK(hpcd); in HAL_PCD_EP_Open()
1739 HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) in HAL_PCD_EP_Close() argument
1745 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1750 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1755 __HAL_LOCK(hpcd); in HAL_PCD_EP_Close()
1756 (void)USB_DeactivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Close()
1757 __HAL_UNLOCK(hpcd); in HAL_PCD_EP_Close()
1770 HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint3… in HAL_PCD_EP_Receive() argument
1774 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Receive()
1783 if (hpcd->Init.dma_enable == 1U) in HAL_PCD_EP_Receive()
1788 (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); in HAL_PCD_EP_Receive()
1799 uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef const *hpcd, uint8_t ep_addr) in HAL_PCD_EP_GetRxCount() argument
1801 return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; in HAL_PCD_EP_GetRxCount()
1811 HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint… in HAL_PCD_EP_Transmit() argument
1815 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Transmit()
1824 if (hpcd->Init.dma_enable == 1U) in HAL_PCD_EP_Transmit()
1829 (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); in HAL_PCD_EP_Transmit()
1840 HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) in HAL_PCD_EP_SetStall() argument
1844 if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) in HAL_PCD_EP_SetStall()
1851 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_SetStall()
1856 ep = &hpcd->OUT_ep[ep_addr]; in HAL_PCD_EP_SetStall()
1863 __HAL_LOCK(hpcd); in HAL_PCD_EP_SetStall()
1865 (void)USB_EPSetStall(hpcd->Instance, ep); in HAL_PCD_EP_SetStall()
1869 (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); in HAL_PCD_EP_SetStall()
1872 __HAL_UNLOCK(hpcd); in HAL_PCD_EP_SetStall()
1883 HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) in HAL_PCD_EP_ClrStall() argument
1887 if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) in HAL_PCD_EP_ClrStall()
1894 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
1899 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
1906 __HAL_LOCK(hpcd); in HAL_PCD_EP_ClrStall()
1907 (void)USB_EPClearStall(hpcd->Instance, ep); in HAL_PCD_EP_ClrStall()
1908 __HAL_UNLOCK(hpcd); in HAL_PCD_EP_ClrStall()
1919 HAL_StatusTypeDef HAL_PCD_EP_Abort(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) in HAL_PCD_EP_Abort() argument
1926 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
1930 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
1934 ret = USB_EPStopXfer(hpcd->Instance, ep); in HAL_PCD_EP_Abort()
1945 HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) in HAL_PCD_EP_Flush() argument
1947 __HAL_LOCK(hpcd); in HAL_PCD_EP_Flush()
1951 (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); in HAL_PCD_EP_Flush()
1955 (void)USB_FlushRxFifo(hpcd->Instance); in HAL_PCD_EP_Flush()
1958 __HAL_UNLOCK(hpcd); in HAL_PCD_EP_Flush()
1968 HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) in HAL_PCD_ActivateRemoteWakeup() argument
1970 return (USB_ActivateRemoteWakeup(hpcd->Instance)); in HAL_PCD_ActivateRemoteWakeup()
1978 HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) in HAL_PCD_DeActivateRemoteWakeup() argument
1980 return (USB_DeActivateRemoteWakeup(hpcd->Instance)); in HAL_PCD_DeActivateRemoteWakeup()
2007 PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef const *hpcd) in HAL_PCD_GetState() argument
2009 return hpcd->State; in HAL_PCD_GetState()
2019 HAL_StatusTypeDef HAL_PCD_SetTestMode(const PCD_HandleTypeDef *hpcd, uint8_t testmode) in HAL_PCD_SetTestMode() argument
2021 const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; in HAL_PCD_SetTestMode()
2060 static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) in PCD_WriteEmptyTxFifo() argument
2062 USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; in PCD_WriteEmptyTxFifo()
2069 ep = &hpcd->IN_ep[epnum]; in PCD_WriteEmptyTxFifo()
2098 (uint8_t)hpcd->Init.dma_enable); in PCD_WriteEmptyTxFifo()
2120 static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) in PCD_EP_OutXfrComplete_int() argument
2123 const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; in PCD_EP_OutXfrComplete_int()
2128 if (hpcd->Init.dma_enable == 1U) in PCD_EP_OutXfrComplete_int()
2153 ep = &hpcd->OUT_ep[epnum]; in PCD_EP_OutXfrComplete_int()
2163 (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); in PCD_EP_OutXfrComplete_int()
2172 hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); in PCD_EP_OutXfrComplete_int()
2174 HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); in PCD_EP_OutXfrComplete_int()
2200 hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); in PCD_EP_OutXfrComplete_int()
2202 HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); in PCD_EP_OutXfrComplete_int()
2208 if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) in PCD_EP_OutXfrComplete_int()
2211 (void)USB_EP0_OutStart(hpcd->Instance, 0U, (uint8_t *)hpcd->Setup); in PCD_EP_OutXfrComplete_int()
2215 hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); in PCD_EP_OutXfrComplete_int()
2217 HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); in PCD_EP_OutXfrComplete_int()
2232 static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) in PCD_EP_OutSetupPacket_int() argument
2234 const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; in PCD_EP_OutSetupPacket_int()
2247 hpcd->SetupStageCallback(hpcd); in PCD_EP_OutSetupPacket_int()
2249 HAL_PCD_SetupStageCallback(hpcd); in PCD_EP_OutSetupPacket_int()
2252 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && (hpcd->Init.dma_enable == 1U)) in PCD_EP_OutSetupPacket_int()
2254 (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); in PCD_EP_OutSetupPacket_int()