Lines Matching refs:ep
464 static enum usb_status usb_dwc2_ep_start_xfer(void *handle, struct usbd_ep *ep) in usb_dwc2_ep_start_xfer() argument
471 if (ep->is_in) { in usb_dwc2_ep_start_xfer()
472 reg_offset = usb_base_addr + OTG_DIEP_BASE + (ep->num * OTG_DIEP_SIZE); in usb_dwc2_ep_start_xfer()
474 if (ep->xfer_len == 0U) { in usb_dwc2_ep_start_xfer()
484 (((ep->xfer_len + ep->maxpacket - 1U) / in usb_dwc2_ep_start_xfer()
485 ep->maxpacket) << OTG_DIEPTSIZ_PKTCNT_SHIFT)) in usb_dwc2_ep_start_xfer()
486 | ep->xfer_len; in usb_dwc2_ep_start_xfer()
488 if (ep->type == EP_TYPE_ISOC) { in usb_dwc2_ep_start_xfer()
496 if ((ep->type != EP_TYPE_ISOC) && (ep->xfer_len > 0U)) { in usb_dwc2_ep_start_xfer()
498 mmio_setbits_32(usb_base_addr + OTG_DIEPEMPMSK, BIT(ep->num)); in usb_dwc2_ep_start_xfer()
504 if (ep->type == EP_TYPE_ISOC) { in usb_dwc2_ep_start_xfer()
514 if (ep->type == EP_TYPE_ISOC) { in usb_dwc2_ep_start_xfer()
515 usb_dwc2_write_packet(handle, ep->xfer_buff, ep->num, ep->xfer_len); in usb_dwc2_ep_start_xfer()
518 reg_offset = usb_base_addr + OTG_DOEP_BASE + (ep->num * OTG_DOEP_SIZE); in usb_dwc2_ep_start_xfer()
524 if (ep->xfer_len == 0U) { in usb_dwc2_ep_start_xfer()
525 reg_value = ep->maxpacket | OTG_DIEPTSIZ_PKTCNT_1; in usb_dwc2_ep_start_xfer()
527 uint16_t pktcnt = (ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket; in usb_dwc2_ep_start_xfer()
530 (ep->maxpacket * pktcnt); in usb_dwc2_ep_start_xfer()
540 if (ep->type == EP_TYPE_ISOC) { in usb_dwc2_ep_start_xfer()
560 static enum usb_status usb_dwc2_ep0_start_xfer(void *handle, struct usbd_ep *ep) in usb_dwc2_ep0_start_xfer() argument
566 if (ep->is_in) { in usb_dwc2_ep0_start_xfer()
568 (ep->num * OTG_DIEP_SIZE); in usb_dwc2_ep0_start_xfer()
570 if (ep->xfer_len == 0U) { in usb_dwc2_ep0_start_xfer()
580 if (ep->xfer_len > ep->maxpacket) { in usb_dwc2_ep0_start_xfer()
581 ep->xfer_len = ep->maxpacket; in usb_dwc2_ep0_start_xfer()
584 reg_value = OTG_DIEPTSIZ_PKTCNT_1 | ep->xfer_len; in usb_dwc2_ep0_start_xfer()
592 if (ep->xfer_len > 0U) { in usb_dwc2_ep0_start_xfer()
594 BIT(ep->num)); in usb_dwc2_ep0_start_xfer()
602 (ep->num * OTG_DOEP_SIZE); in usb_dwc2_ep0_start_xfer()
609 if (ep->xfer_len > 0U) { in usb_dwc2_ep0_start_xfer()
610 ep->xfer_len = ep->maxpacket; in usb_dwc2_ep0_start_xfer()
613 reg_value = OTG_DIEPTSIZ_PKTCNT_1 | ep->maxpacket; in usb_dwc2_ep0_start_xfer()
633 static enum usb_status usb_dwc2_ep_set_stall(void *handle, struct usbd_ep *ep) in usb_dwc2_ep_set_stall() argument
639 if (ep->is_in) { in usb_dwc2_ep_set_stall()
641 (ep->num * OTG_DIEP_SIZE); in usb_dwc2_ep_set_stall()
653 (ep->num * OTG_DOEP_SIZE); in usb_dwc2_ep_set_stall()