Lines Matching refs:ep
99 static HAL_StatusTypeDef HAL_PCD_EP_DB_Transmit(PCD_HandleTypeDef *hpcd, PCD_EPTypeDef *ep, uint16_…
100 static uint16_t HAL_PCD_EP_DB_Receive(PCD_HandleTypeDef *hpcd, PCD_EPTypeDef *ep, uint16_t wEPVal);
1070 USB_OTG_EPTypeDef *ep; in HAL_PCD_IRQHandler() local
1103 ep = &hpcd->OUT_ep[RegVal & USB_OTG_GRXSTSP_EPNUM]; in HAL_PCD_IRQHandler()
1109 (void)USB_ReadPacket(USBx, ep->xfer_buff, in HAL_PCD_IRQHandler()
1112 ep->xfer_buff += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; in HAL_PCD_IRQHandler()
1113 ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; in HAL_PCD_IRQHandler()
1119 ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; in HAL_PCD_IRQHandler()
1168 ep = &hpcd->OUT_ep[epnum]; in HAL_PCD_IRQHandler()
1170 if (ep->is_iso_incomplete == 1U) in HAL_PCD_IRQHandler()
1172 ep->is_iso_incomplete = 0U; in HAL_PCD_IRQHandler()
1243 ep = &hpcd->IN_ep[epnum]; in HAL_PCD_IRQHandler()
1245 if (ep->is_iso_incomplete == 1U) in HAL_PCD_IRQHandler()
1247 ep->is_iso_incomplete = 0U; in HAL_PCD_IRQHandler()
1926 PCD_EPTypeDef *ep; in HAL_PCD_EP_Open() local
1930 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1931 ep->is_in = 1U; in HAL_PCD_EP_Open()
1935 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1936 ep->is_in = 0U; in HAL_PCD_EP_Open()
1939 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Open()
1940 ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; in HAL_PCD_EP_Open()
1941 ep->type = ep_type; in HAL_PCD_EP_Open()
1944 if (ep->is_in != 0U) in HAL_PCD_EP_Open()
1947 ep->tx_fifo_num = ep->num; in HAL_PCD_EP_Open()
1954 ep->data_pid_start = 0U; in HAL_PCD_EP_Open()
1958 (void)USB_ActivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Open()
1972 PCD_EPTypeDef *ep; in HAL_PCD_EP_Close() local
1976 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1977 ep->is_in = 1U; in HAL_PCD_EP_Close()
1981 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1982 ep->is_in = 0U; in HAL_PCD_EP_Close()
1984 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Close()
1987 (void)USB_DeactivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Close()
2003 PCD_EPTypeDef *ep; in HAL_PCD_EP_Receive() local
2005 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Receive()
2008 ep->xfer_buff = pBuf; in HAL_PCD_EP_Receive()
2009 ep->xfer_len = len; in HAL_PCD_EP_Receive()
2010 ep->xfer_count = 0U; in HAL_PCD_EP_Receive()
2011 ep->is_in = 0U; in HAL_PCD_EP_Receive()
2012 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Receive()
2014 (void)USB_EPStartXfer(hpcd->Instance, ep); in HAL_PCD_EP_Receive()
2039 PCD_EPTypeDef *ep; in HAL_PCD_EP_Transmit() local
2041 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Transmit()
2044 ep->xfer_buff = pBuf; in HAL_PCD_EP_Transmit()
2045 ep->xfer_len = len; in HAL_PCD_EP_Transmit()
2047 ep->xfer_fill_db = 1U; in HAL_PCD_EP_Transmit()
2048 ep->xfer_len_db = len; in HAL_PCD_EP_Transmit()
2050 ep->xfer_count = 0U; in HAL_PCD_EP_Transmit()
2051 ep->is_in = 1U; in HAL_PCD_EP_Transmit()
2052 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Transmit()
2054 (void)USB_EPStartXfer(hpcd->Instance, ep); in HAL_PCD_EP_Transmit()
2067 PCD_EPTypeDef *ep; in HAL_PCD_EP_SetStall() local
2076 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_SetStall()
2077 ep->is_in = 1U; in HAL_PCD_EP_SetStall()
2081 ep = &hpcd->OUT_ep[ep_addr]; in HAL_PCD_EP_SetStall()
2082 ep->is_in = 0U; in HAL_PCD_EP_SetStall()
2085 ep->is_stall = 1U; in HAL_PCD_EP_SetStall()
2086 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_SetStall()
2090 (void)USB_EPSetStall(hpcd->Instance, ep); in HAL_PCD_EP_SetStall()
2110 PCD_EPTypeDef *ep; in HAL_PCD_EP_ClrStall() local
2119 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
2120 ep->is_in = 1U; in HAL_PCD_EP_ClrStall()
2124 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
2125 ep->is_in = 0U; in HAL_PCD_EP_ClrStall()
2128 ep->is_stall = 0U; in HAL_PCD_EP_ClrStall()
2129 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_ClrStall()
2132 (void)USB_EPClearStall(hpcd->Instance, ep); in HAL_PCD_EP_ClrStall()
2147 PCD_EPTypeDef *ep; in HAL_PCD_EP_Abort() local
2151 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
2155 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
2159 ret = USB_EPStopXfer(hpcd->Instance, ep); in HAL_PCD_EP_Abort()
2260 USB_OTG_EPTypeDef *ep; in PCD_WriteEmptyTxFifo() local
2265 ep = &hpcd->IN_ep[epnum]; in PCD_WriteEmptyTxFifo()
2267 if (ep->xfer_count > ep->xfer_len) in PCD_WriteEmptyTxFifo()
2272 len = ep->xfer_len - ep->xfer_count; in PCD_WriteEmptyTxFifo()
2274 if (len > ep->maxpacket) in PCD_WriteEmptyTxFifo()
2276 len = ep->maxpacket; in PCD_WriteEmptyTxFifo()
2282 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) in PCD_WriteEmptyTxFifo()
2285 len = ep->xfer_len - ep->xfer_count; in PCD_WriteEmptyTxFifo()
2287 if (len > ep->maxpacket) in PCD_WriteEmptyTxFifo()
2289 len = ep->maxpacket; in PCD_WriteEmptyTxFifo()
2293 (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len); in PCD_WriteEmptyTxFifo()
2295 ep->xfer_buff += len; in PCD_WriteEmptyTxFifo()
2296 ep->xfer_count += len; in PCD_WriteEmptyTxFifo()
2299 if (ep->xfer_len <= ep->xfer_count) in PCD_WriteEmptyTxFifo()
2394 PCD_EPTypeDef *ep; in PCD_EP_ISR_Handler() local
2425 ep = &hpcd->IN_ep[0]; in PCD_EP_ISR_Handler()
2427 ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2428 ep->xfer_buff += ep->xfer_count; in PCD_EP_ISR_Handler()
2437 if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U)) in PCD_EP_ISR_Handler()
2449 ep = &hpcd->OUT_ep[0]; in PCD_EP_ISR_Handler()
2455 ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2458 ep->pmaadress, (uint16_t)ep->xfer_count); in PCD_EP_ISR_Handler()
2475 ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2477 if ((ep->xfer_count != 0U) && (ep->xfer_buff != 0U)) in PCD_EP_ISR_Handler()
2479 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, in PCD_EP_ISR_Handler()
2480 ep->pmaadress, (uint16_t)ep->xfer_count); in PCD_EP_ISR_Handler()
2482 ep->xfer_buff += ep->xfer_count; in PCD_EP_ISR_Handler()
2511 ep = &hpcd->OUT_ep[epindex]; in PCD_EP_ISR_Handler()
2514 if (ep->doublebuffer == 0U) in PCD_EP_ISR_Handler()
2516 count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2520 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count); in PCD_EP_ISR_Handler()
2527 if (ep->type == EP_TYPE_BULK) in PCD_EP_ISR_Handler()
2529 count = HAL_PCD_EP_DB_Receive(hpcd, ep, wEPVal); in PCD_EP_ISR_Handler()
2534 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in PCD_EP_ISR_Handler()
2536 if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U) in PCD_EP_ISR_Handler()
2539 count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2543 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); in PCD_EP_ISR_Handler()
2549 count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2553 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); in PCD_EP_ISR_Handler()
2561 ep->xfer_count += count; in PCD_EP_ISR_Handler()
2562 ep->xfer_buff += count; in PCD_EP_ISR_Handler()
2564 if ((ep->xfer_len == 0U) || (count < ep->maxpacket)) in PCD_EP_ISR_Handler()
2568 hpcd->DataOutStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
2570 HAL_PCD_DataOutStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
2575 (void)USB_EPStartXfer(hpcd->Instance, ep); in PCD_EP_ISR_Handler()
2581 ep = &hpcd->IN_ep[epindex]; in PCD_EP_ISR_Handler()
2586 if (ep->type == EP_TYPE_ISOC) in PCD_EP_ISR_Handler()
2588 ep->xfer_len = 0U; in PCD_EP_ISR_Handler()
2591 if (ep->doublebuffer != 0U) in PCD_EP_ISR_Handler()
2595 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in PCD_EP_ISR_Handler()
2599 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in PCD_EP_ISR_Handler()
2606 hpcd->DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
2608 HAL_PCD_DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
2617 TxPctSize = (uint16_t)PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
2619 if (ep->xfer_len > TxPctSize) in PCD_EP_ISR_Handler()
2621 ep->xfer_len -= TxPctSize; in PCD_EP_ISR_Handler()
2625 ep->xfer_len = 0U; in PCD_EP_ISR_Handler()
2629 if (ep->xfer_len == 0U) in PCD_EP_ISR_Handler()
2633 hpcd->DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
2635 HAL_PCD_DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
2641 ep->xfer_buff += TxPctSize; in PCD_EP_ISR_Handler()
2642 ep->xfer_count += TxPctSize; in PCD_EP_ISR_Handler()
2643 (void)USB_EPStartXfer(hpcd->Instance, ep); in PCD_EP_ISR_Handler()
2650 (void)HAL_PCD_EP_DB_Transmit(hpcd, ep, wEPVal); in PCD_EP_ISR_Handler()
2671 PCD_EPTypeDef *ep, uint16_t wEPVal) in HAL_PCD_EP_DB_Receive() argument
2679 count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Receive()
2681 if (ep->xfer_len >= count) in HAL_PCD_EP_DB_Receive()
2683 ep->xfer_len -= count; in HAL_PCD_EP_DB_Receive()
2687 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Receive()
2690 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Receive()
2693 PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); in HAL_PCD_EP_DB_Receive()
2699 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in HAL_PCD_EP_DB_Receive()
2704 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); in HAL_PCD_EP_DB_Receive()
2711 count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Receive()
2713 if (ep->xfer_len >= count) in HAL_PCD_EP_DB_Receive()
2715 ep->xfer_len -= count; in HAL_PCD_EP_DB_Receive()
2719 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Receive()
2722 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Receive()
2725 PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); in HAL_PCD_EP_DB_Receive()
2731 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in HAL_PCD_EP_DB_Receive()
2736 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); in HAL_PCD_EP_DB_Receive()
2752 PCD_EPTypeDef *ep, uint16_t wEPVal) in HAL_PCD_EP_DB_Transmit() argument
2761 TxPctSize = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Transmit()
2763 if (ep->xfer_len > TxPctSize) in HAL_PCD_EP_DB_Transmit()
2765 ep->xfer_len -= TxPctSize; in HAL_PCD_EP_DB_Transmit()
2769 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Transmit()
2773 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Transmit()
2775 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2776 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2778 if (ep->type == EP_TYPE_BULK) in HAL_PCD_EP_DB_Transmit()
2781 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_NAK); in HAL_PCD_EP_DB_Transmit()
2786 hpcd->DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2788 HAL_PCD_DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2793 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2803 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2807 if (ep->xfer_fill_db == 1U) in HAL_PCD_EP_DB_Transmit()
2809 ep->xfer_buff += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2810 ep->xfer_count += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2813 if (ep->xfer_len_db >= ep->maxpacket) in HAL_PCD_EP_DB_Transmit()
2815 len = ep->maxpacket; in HAL_PCD_EP_DB_Transmit()
2816 ep->xfer_len_db -= len; in HAL_PCD_EP_DB_Transmit()
2818 else if (ep->xfer_len_db == 0U) in HAL_PCD_EP_DB_Transmit()
2821 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2825 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2826 len = ep->xfer_len_db; in HAL_PCD_EP_DB_Transmit()
2827 ep->xfer_len_db = 0U; in HAL_PCD_EP_DB_Transmit()
2832 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, len); in HAL_PCD_EP_DB_Transmit()
2835 USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, (uint16_t)len); in HAL_PCD_EP_DB_Transmit()
2842 TxPctSize = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Transmit()
2844 if (ep->xfer_len >= TxPctSize) in HAL_PCD_EP_DB_Transmit()
2846 ep->xfer_len -= TxPctSize; in HAL_PCD_EP_DB_Transmit()
2850 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Transmit()
2854 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Transmit()
2856 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2857 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2859 if (ep->type == EP_TYPE_BULK) in HAL_PCD_EP_DB_Transmit()
2862 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_NAK); in HAL_PCD_EP_DB_Transmit()
2867 hpcd->DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2869 HAL_PCD_DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2875 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2885 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2889 if (ep->xfer_fill_db == 1U) in HAL_PCD_EP_DB_Transmit()
2891 ep->xfer_buff += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2892 ep->xfer_count += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2895 if (ep->xfer_len_db >= ep->maxpacket) in HAL_PCD_EP_DB_Transmit()
2897 len = ep->maxpacket; in HAL_PCD_EP_DB_Transmit()
2898 ep->xfer_len_db -= len; in HAL_PCD_EP_DB_Transmit()
2900 else if (ep->xfer_len_db == 0U) in HAL_PCD_EP_DB_Transmit()
2903 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2907 len = ep->xfer_len_db; in HAL_PCD_EP_DB_Transmit()
2908 ep->xfer_len_db = 0U; in HAL_PCD_EP_DB_Transmit()
2909 ep->xfer_fill_db = 0; in HAL_PCD_EP_DB_Transmit()
2913 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, len); in HAL_PCD_EP_DB_Transmit()
2916 USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, (uint16_t)len); in HAL_PCD_EP_DB_Transmit()
2922 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_VALID); in HAL_PCD_EP_DB_Transmit()