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()
323 PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, ep->maxpacket); in USB_ActivateEndpoint()
326 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
327 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
332 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
333 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
335 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
338 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
343 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
346 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_ActivateEndpoint()
360 HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_DeactivateEndpoint() argument
362 if (ep->doublebuffer == 0U) in USB_DeactivateEndpoint()
364 if (ep->is_in != 0U) in USB_DeactivateEndpoint()
366 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
369 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
374 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
377 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
384 if (ep->is_in == 0U) in USB_DeactivateEndpoint()
387 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
388 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
391 PCD_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
393 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); 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()
400 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
401 PCD_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
404 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
405 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
419 HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPStartXfer() argument
428 if (ep->is_in == 1U) in USB_EPStartXfer()
431 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
433 len = ep->maxpacket; in USB_EPStartXfer()
437 len = ep->xfer_len; in USB_EPStartXfer()
441 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
443 USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len); in USB_EPStartXfer()
444 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
450 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
452 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
455 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
458 ep->xfer_len_db -= len; in USB_EPStartXfer()
461 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
464 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
465 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
468 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
469 ep->xfer_buff += len; in USB_EPStartXfer()
471 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
473 ep->xfer_len_db -= len; in USB_EPStartXfer()
477 len = ep->xfer_len_db; in USB_EPStartXfer()
478 ep->xfer_len_db = 0U; in USB_EPStartXfer()
482 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
483 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
486 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
491 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
492 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
495 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
496 ep->xfer_buff += len; in USB_EPStartXfer()
498 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
500 ep->xfer_len_db -= len; in USB_EPStartXfer()
504 len = ep->xfer_len_db; in USB_EPStartXfer()
505 ep->xfer_len_db = 0U; in USB_EPStartXfer()
509 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
510 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
513 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
519 len = ep->xfer_len_db; in USB_EPStartXfer()
522 PCD_CLEAR_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
525 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
526 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
529 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
535 ep->xfer_len_db -= len; in USB_EPStartXfer()
538 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
541 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
542 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
545 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
550 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, 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 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID); in USB_EPStartXfer()
564 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
566 if ((ep->xfer_len == 0U) && (ep->type == EP_TYPE_CTRL)) in USB_EPStartXfer()
569 PCD_SET_OUT_STATUS(USBx, ep->num); in USB_EPStartXfer()
573 PCD_CLEAR_OUT_STATUS(USBx, ep->num); in USB_EPStartXfer()
577 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
579 ep->xfer_len -= ep->maxpacket; in USB_EPStartXfer()
583 ep->xfer_len = 0U; in USB_EPStartXfer()
591 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
594 if (ep->xfer_count != 0U) in USB_EPStartXfer()
597 wEPVal = PCD_GET_ENDPOINT(USBx, ep->num); in USB_EPStartXfer()
603 PCD_FREE_USER_BUFFER(USBx, ep->num, 0U); in USB_EPStartXfer()
608 else if (ep->type == EP_TYPE_ISOC) in USB_EPStartXfer()
611 ep->xfer_len = 0U; in USB_EPStartXfer()
620 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPStartXfer()
633 HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPSetStall() argument
635 if (ep->is_in != 0U) in USB_EPSetStall()
637 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL); in USB_EPSetStall()
641 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL); in USB_EPSetStall()
653 HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPClearStall() argument
655 if (ep->is_in != 0U) in USB_EPClearStall()
657 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_EPClearStall()
659 if (ep->type != EP_TYPE_ISOC) in USB_EPClearStall()
662 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPClearStall()
667 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_EPClearStall()
670 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPClearStall()
682 HAL_StatusTypeDef USB_EPStopXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPStopXfer() argument
685 if (ep->is_in == 1U) in USB_EPStopXfer()
687 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
689 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
692 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPStopXfer()
697 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_EPStopXfer()
703 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
705 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
708 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_EPStopXfer()
713 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_EPStopXfer()