Lines Matching refs:ep

248 HAL_StatusTypeDef USB_ActivateEndpoint(USB_DRD_TypeDef *USBx, USB_DRD_EPTypeDef *ep)  in USB_ActivateEndpoint()  argument
253 wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK; in USB_ActivateEndpoint()
256 switch (ep->type) in USB_ActivateEndpoint()
279 PCD_SET_ENDPOINT(USBx, ep->num, (wEpRegVal | USB_EP_VTRX | USB_EP_VTTX)); in USB_ActivateEndpoint()
281 PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num); in USB_ActivateEndpoint()
283 if (ep->doublebuffer == 0U) in USB_ActivateEndpoint()
285 if (ep->is_in != 0U) in USB_ActivateEndpoint()
288 PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress); in USB_ActivateEndpoint()
289 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
291 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
294 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
299 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
305 PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress); in USB_ActivateEndpoint()
308 PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket); in USB_ActivateEndpoint()
309 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
311 if (ep->num == 0U) in USB_ActivateEndpoint()
314 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
319 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_ActivateEndpoint()
327 if (ep->type == EP_TYPE_BULK) in USB_ActivateEndpoint()
330 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_ActivateEndpoint()
335 PCD_CLEAR_EP_KIND(USBx, ep->num); in USB_ActivateEndpoint()
339 PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1); in USB_ActivateEndpoint()
341 if (ep->is_in == 0U) in USB_ActivateEndpoint()
344 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
345 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
348 PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, ep->maxpacket); in USB_ActivateEndpoint()
351 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
352 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
357 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
358 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
360 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
363 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
368 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
371 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_ActivateEndpoint()
385 HAL_StatusTypeDef USB_DeactivateEndpoint(USB_DRD_TypeDef *USBx, USB_DRD_EPTypeDef *ep) in USB_DeactivateEndpoint() argument
387 if (ep->doublebuffer == 0U) in USB_DeactivateEndpoint()
389 if (ep->is_in != 0U) in USB_DeactivateEndpoint()
391 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
394 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
399 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
402 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
409 if (ep->is_in == 0U) in USB_DeactivateEndpoint()
412 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
413 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
416 PCD_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
418 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
419 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
424 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
425 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
426 PCD_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
429 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
430 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
444 HAL_StatusTypeDef USB_EPStartXfer(USB_DRD_TypeDef *USBx, USB_DRD_EPTypeDef *ep) in USB_EPStartXfer() argument
453 if (ep->is_in == 1U) in USB_EPStartXfer()
456 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
458 len = ep->maxpacket; in USB_EPStartXfer()
462 len = ep->xfer_len; in USB_EPStartXfer()
466 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
468 USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len); in USB_EPStartXfer()
469 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
475 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
477 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
480 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
483 ep->xfer_len_db -= len; in USB_EPStartXfer()
486 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
489 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
490 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
493 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
494 ep->xfer_buff += len; in USB_EPStartXfer()
496 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
498 ep->xfer_len_db -= len; in USB_EPStartXfer()
502 len = ep->xfer_len_db; in USB_EPStartXfer()
503 ep->xfer_len_db = 0U; in USB_EPStartXfer()
507 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
508 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
511 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
516 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
517 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
520 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
521 ep->xfer_buff += len; in USB_EPStartXfer()
523 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
525 ep->xfer_len_db -= len; in USB_EPStartXfer()
529 len = ep->xfer_len_db; in USB_EPStartXfer()
530 ep->xfer_len_db = 0U; in USB_EPStartXfer()
534 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
535 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
538 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
544 len = ep->xfer_len_db; in USB_EPStartXfer()
547 PCD_CLEAR_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
550 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
551 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
554 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
560 ep->xfer_len_db -= len; in USB_EPStartXfer()
563 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
566 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
567 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
570 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
575 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
576 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
579 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
585 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID); in USB_EPStartXfer()
589 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
591 if ((ep->xfer_len == 0U) && (ep->type == EP_TYPE_CTRL)) in USB_EPStartXfer()
594 PCD_SET_OUT_STATUS(USBx, ep->num); in USB_EPStartXfer()
598 PCD_CLEAR_OUT_STATUS(USBx, ep->num); in USB_EPStartXfer()
602 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
604 ep->xfer_len -= ep->maxpacket; in USB_EPStartXfer()
608 ep->xfer_len = 0U; in USB_EPStartXfer()
616 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
619 if (ep->xfer_count != 0U) in USB_EPStartXfer()
622 wEPVal = (uint16_t)PCD_GET_ENDPOINT(USBx, ep->num); in USB_EPStartXfer()
628 PCD_FREE_USER_BUFFER(USBx, ep->num, 0U); in USB_EPStartXfer()
633 else if (ep->type == EP_TYPE_ISOC) in USB_EPStartXfer()
636 ep->xfer_len = 0U; in USB_EPStartXfer()
645 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPStartXfer()
658 HAL_StatusTypeDef USB_EPSetStall(USB_DRD_TypeDef *USBx, USB_DRD_EPTypeDef *ep) in USB_EPSetStall() argument
660 if (ep->is_in != 0U) in USB_EPSetStall()
662 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL); in USB_EPSetStall()
666 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL); in USB_EPSetStall()
678 HAL_StatusTypeDef USB_EPClearStall(USB_DRD_TypeDef *USBx, USB_DRD_EPTypeDef *ep) in USB_EPClearStall() argument
680 if (ep->is_in != 0U) in USB_EPClearStall()
682 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_EPClearStall()
684 if (ep->type != EP_TYPE_ISOC) in USB_EPClearStall()
687 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPClearStall()
692 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_EPClearStall()
695 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPClearStall()
707 HAL_StatusTypeDef USB_EPStopXfer(USB_DRD_TypeDef *USBx, USB_DRD_EPTypeDef *ep) in USB_EPStopXfer() argument
710 if (ep->is_in == 1U) in USB_EPStopXfer()
712 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
714 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
717 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPStopXfer()
722 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_EPStopXfer()
728 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
730 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
733 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_EPStopXfer()
738 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_EPStopXfer()