Lines Matching refs:ep

182 HAL_StatusTypeDef USB_ActivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)  in USB_ActivateEndpoint()  argument
187 wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK; in USB_ActivateEndpoint()
190 switch (ep->type) in USB_ActivateEndpoint()
213 PCD_SET_ENDPOINT(USBx, ep->num, (wEpRegVal | USB_EP_CTR_RX | USB_EP_CTR_TX)); in USB_ActivateEndpoint()
215 PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num); in USB_ActivateEndpoint()
217 if (ep->doublebuffer == 0U) in USB_ActivateEndpoint()
219 if (ep->is_in != 0U) in USB_ActivateEndpoint()
222 PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress); in USB_ActivateEndpoint()
223 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
225 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
228 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
233 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
239 PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress); in USB_ActivateEndpoint()
242 PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket); in USB_ActivateEndpoint()
243 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
245 if (ep->num == 0U) in USB_ActivateEndpoint()
248 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
253 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_ActivateEndpoint()
261 if (ep->type == EP_TYPE_BULK) in USB_ActivateEndpoint()
264 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_ActivateEndpoint()
269 PCD_CLEAR_EP_KIND(USBx, ep->num); in USB_ActivateEndpoint()
273 PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1); in USB_ActivateEndpoint()
275 if (ep->is_in == 0U) in USB_ActivateEndpoint()
278 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
279 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
281 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_ActivateEndpoint()
282 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
287 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
288 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_ActivateEndpoint()
290 if (ep->type != EP_TYPE_ISOC) in USB_ActivateEndpoint()
293 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_ActivateEndpoint()
298 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_ActivateEndpoint()
301 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_ActivateEndpoint()
315 HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_DeactivateEndpoint() argument
317 if (ep->doublebuffer == 0U) in USB_DeactivateEndpoint()
319 if (ep->is_in != 0U) in USB_DeactivateEndpoint()
321 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
324 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
329 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
332 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
339 if (ep->is_in == 0U) in USB_DeactivateEndpoint()
342 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
343 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
346 PCD_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
348 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
349 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
354 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
355 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
356 PCD_RX_DTOG(USBx, ep->num); in USB_DeactivateEndpoint()
359 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_DeactivateEndpoint()
360 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_DeactivateEndpoint()
374 HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPStartXfer() argument
383 if (ep->is_in == 1U) in USB_EPStartXfer()
386 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
388 len = ep->maxpacket; in USB_EPStartXfer()
392 len = ep->xfer_len; in USB_EPStartXfer()
396 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
398 USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len); in USB_EPStartXfer()
399 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
405 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
407 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
410 PCD_SET_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
413 ep->xfer_len_db -= len; in USB_EPStartXfer()
416 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
419 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
420 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
423 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
424 ep->xfer_buff += len; in USB_EPStartXfer()
426 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
428 ep->xfer_len_db -= len; in USB_EPStartXfer()
432 len = ep->xfer_len_db; in USB_EPStartXfer()
433 ep->xfer_len_db = 0U; in USB_EPStartXfer()
437 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
438 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
441 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
446 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
447 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
450 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
451 ep->xfer_buff += len; in USB_EPStartXfer()
453 if (ep->xfer_len_db > ep->maxpacket) in USB_EPStartXfer()
455 ep->xfer_len_db -= len; in USB_EPStartXfer()
459 len = ep->xfer_len_db; in USB_EPStartXfer()
460 ep->xfer_len_db = 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()
474 len = ep->xfer_len_db; in USB_EPStartXfer()
477 PCD_CLEAR_BULK_EP_DBUF(USBx, ep->num); in USB_EPStartXfer()
480 PCD_SET_EP_TX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
481 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
484 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
490 ep->xfer_len_db -= len; in USB_EPStartXfer()
493 if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) in USB_EPStartXfer()
496 PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
497 pmabuffer = ep->pmaaddr1; in USB_EPStartXfer()
500 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
505 PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
506 pmabuffer = ep->pmaaddr0; in USB_EPStartXfer()
509 USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); in USB_EPStartXfer()
515 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID); in USB_EPStartXfer()
519 if (ep->doublebuffer == 0U) in USB_EPStartXfer()
522 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
524 len = ep->maxpacket; in USB_EPStartXfer()
525 ep->xfer_len -= len; in USB_EPStartXfer()
529 len = ep->xfer_len; in USB_EPStartXfer()
530 ep->xfer_len = 0U; in USB_EPStartXfer()
533 PCD_SET_EP_RX_CNT(USBx, ep->num, len); in USB_EPStartXfer()
540 if (ep->type == EP_TYPE_BULK) in USB_EPStartXfer()
542 PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, ep->maxpacket); in USB_EPStartXfer()
545 if (ep->xfer_count != 0U) in USB_EPStartXfer()
548 wEPVal = PCD_GET_ENDPOINT(USBx, ep->num); in USB_EPStartXfer()
554 PCD_FREE_USER_BUFFER(USBx, ep->num, 0U); in USB_EPStartXfer()
559 else if (ep->type == EP_TYPE_ISOC) in USB_EPStartXfer()
562 if (ep->xfer_len > ep->maxpacket) in USB_EPStartXfer()
564 len = ep->maxpacket; in USB_EPStartXfer()
565 ep->xfer_len -= len; in USB_EPStartXfer()
569 len = ep->xfer_len; in USB_EPStartXfer()
570 ep->xfer_len = 0U; in USB_EPStartXfer()
572 PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, len); in USB_EPStartXfer()
581 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPStartXfer()
594 HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPSetStall() argument
596 if (ep->is_in != 0U) in USB_EPSetStall()
598 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL); in USB_EPSetStall()
602 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL); in USB_EPSetStall()
614 HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPClearStall() argument
616 if (ep->doublebuffer == 0U) in USB_EPClearStall()
618 if (ep->is_in != 0U) in USB_EPClearStall()
620 PCD_CLEAR_TX_DTOG(USBx, ep->num); in USB_EPClearStall()
622 if (ep->type != EP_TYPE_ISOC) in USB_EPClearStall()
625 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPClearStall()
630 PCD_CLEAR_RX_DTOG(USBx, ep->num); in USB_EPClearStall()
633 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); in USB_EPClearStall()
646 HAL_StatusTypeDef USB_EPStopXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) in USB_EPStopXfer() argument
649 if (ep->is_in == 1U) in USB_EPStopXfer()
651 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
653 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
656 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); in USB_EPStopXfer()
661 PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); in USB_EPStopXfer()
667 if (ep->doublebuffer == 0U) in USB_EPStopXfer()
669 if (ep->type != EP_TYPE_ISOC) in USB_EPStopXfer()
672 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); in USB_EPStopXfer()
677 PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); in USB_EPStopXfer()