Lines Matching refs:ep
223 HAL_StatusTypeDef USB_ActivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_ActivateEndpoint() argument
228 wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK; in USB_ActivateEndpoint()
231 switch (ep->type) in USB_ActivateEndpoint()
254 PCD_SET_ENDPOINT(USBx, ep->num, (wEpRegVal | USB_EP_CTR_RX | USB_EP_CTR_TX)); in USB_ActivateEndpoint()
256 PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num); in USB_ActivateEndpoint()
258 if (ep->doublebuffer == 0U) in USB_ActivateEndpoint()
260 if (ep->is_in != 0U) in USB_ActivateEndpoint()
263 PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress); in USB_ActivateEndpoint()
264 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
266 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
269 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
274 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
280 PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress); in USB_ActivateEndpoint()
283 PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket); in USB_ActivateEndpoint()
284 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
286 if (ep->num == 0U) in USB_ActivateEndpoint()
289 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
294 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_ActivateEndpoint()
302 if (ep->type == EP_TYPE_BULK) in USB_ActivateEndpoint()
305 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_ActivateEndpoint()
310 PCD_CLEAR_EP_KIND(USBx, ep->num); in USB_ActivateEndpoint()
314 PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1); in USB_ActivateEndpoint()
316 if (ep->is_in == 0U) in USB_ActivateEndpoint()
319 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
320 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
322 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
323 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
328 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
329 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
331 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
334 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
339 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
342 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_ActivateEndpoint()
356 HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_DeactivateEndpoint() argument
358 if (ep->doublebuffer == 0U) in USB_DeactivateEndpoint()
360 if (ep->is_in != 0U) in USB_DeactivateEndpoint()
362 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
365 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
370 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
373 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
380 if (ep->is_in == 0U) in USB_DeactivateEndpoint()
383 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
384 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
387 PCD_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
389 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
390 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
395 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
396 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
397 PCD_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
400 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
401 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
415 HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPStartXfer() argument
424 if (ep->is_in == 1U) in USB_EPStartXfer()
427 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
429 len = ep->maxpacket; in USB_EPStartXfer()
433 len = ep->xfer_len; in USB_EPStartXfer()
437 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
439 USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len); in USB_EPStartXfer()
440 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
446 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
448 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
451 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
454 ep->xfer_len_db -= len; in USB_EPStartXfer()
457 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
460 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
461 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
464 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
465 ep->xfer_buff += len; in USB_EPStartXfer()
467 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
469 ep->xfer_len_db -= len; in USB_EPStartXfer()
473 len = ep->xfer_len_db; in USB_EPStartXfer()
474 ep->xfer_len_db = 0U; in USB_EPStartXfer()
478 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
479 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
482 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
487 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
488 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
491 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
492 ep->xfer_buff += len; in USB_EPStartXfer()
494 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
496 ep->xfer_len_db -= len; in USB_EPStartXfer()
500 len = ep->xfer_len_db; in USB_EPStartXfer()
501 ep->xfer_len_db = 0U; in USB_EPStartXfer()
505 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
506 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
509 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
515 len = ep->xfer_len_db; in USB_EPStartXfer()
518 PCD_CLEAR_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
521 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
522 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
525 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
531 ep->xfer_len_db -= len; in USB_EPStartXfer()
534 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
537 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
538 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
541 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
546 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
547 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
550 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
556 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID); in USB_EPStartXfer()
560 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
563 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
565 len = ep->maxpacket; in USB_EPStartXfer()
566 ep->xfer_len -= len; in USB_EPStartXfer()
570 len = ep->xfer_len; in USB_EPStartXfer()
571 ep->xfer_len = 0U; in USB_EPStartXfer()
574 PCD_SET_EP_RX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
581 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
583 PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, ep->maxpacket); in USB_EPStartXfer()
586 if (ep->xfer_count != 0U) in USB_EPStartXfer()
589 wEPVal = PCD_GET_ENDPOINT(USBx, ep->num); in USB_EPStartXfer()
595 PCD_FREE_USER_BUFFER(USBx, ep->num, 0U); in USB_EPStartXfer()
600 else if (ep->type == EP_TYPE_ISOC) in USB_EPStartXfer()
603 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
605 len = ep->maxpacket; in USB_EPStartXfer()
606 ep->xfer_len -= len; in USB_EPStartXfer()
610 len = ep->xfer_len; in USB_EPStartXfer()
611 ep->xfer_len = 0U; in USB_EPStartXfer()
613 PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
622 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPStartXfer()
635 HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPSetStall() argument
637 if (ep->is_in != 0U) in USB_EPSetStall()
639 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL); in USB_EPSetStall()
643 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL); in USB_EPSetStall()
655 HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPClearStall() argument
657 if (ep->doublebuffer == 0U) in USB_EPClearStall()
659 if (ep->is_in != 0U) in USB_EPClearStall()
661 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_EPClearStall()
663 if (ep->type != EP_TYPE_ISOC) in USB_EPClearStall()
666 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPClearStall()
671 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_EPClearStall()
674 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPClearStall()
687 HAL_StatusTypeDef USB_EPStopXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPStopXfer() argument
690 if (ep->is_in == 1U) in USB_EPStopXfer()
692 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
694 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
697 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPStopXfer()
702 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_EPStopXfer()
708 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
710 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
713 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_EPStopXfer()
718 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_EPStopXfer()