Lines Matching refs:ep

92 static HAL_StatusTypeDef HAL_PCD_EP_DB_Transmit(PCD_HandleTypeDef *hpcd, PCD_EPTypeDef *ep, uint16_…
93 static uint16_t HAL_PCD_EP_DB_Receive(PCD_HandleTypeDef *hpcd, PCD_EPTypeDef *ep, uint16_t wEPVal);
1399 PCD_EPTypeDef *ep; in HAL_PCD_EP_Open() local
1403 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1404 ep->is_in = 1U; in HAL_PCD_EP_Open()
1408 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1409 ep->is_in = 0U; in HAL_PCD_EP_Open()
1412 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Open()
1413 ep->maxpacket = ep_mps; in HAL_PCD_EP_Open()
1414 ep->type = ep_type; in HAL_PCD_EP_Open()
1419 ep->data_pid_start = 0U; in HAL_PCD_EP_Open()
1423 (void)USB_ActivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Open()
1437 PCD_EPTypeDef *ep; in HAL_PCD_EP_Close() local
1441 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1442 ep->is_in = 1U; in HAL_PCD_EP_Close()
1446 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1447 ep->is_in = 0U; in HAL_PCD_EP_Close()
1449 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Close()
1452 (void)USB_DeactivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Close()
1468 PCD_EPTypeDef *ep; in HAL_PCD_EP_Receive() local
1470 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Receive()
1473 ep->xfer_buff = pBuf; in HAL_PCD_EP_Receive()
1474 ep->xfer_len = len; in HAL_PCD_EP_Receive()
1475 ep->xfer_count = 0U; in HAL_PCD_EP_Receive()
1476 ep->is_in = 0U; in HAL_PCD_EP_Receive()
1477 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Receive()
1479 (void)USB_EPStartXfer(hpcd->Instance, ep); in HAL_PCD_EP_Receive()
1504 PCD_EPTypeDef *ep; in HAL_PCD_EP_Transmit() local
1506 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Transmit()
1509 ep->xfer_buff = pBuf; in HAL_PCD_EP_Transmit()
1510 ep->xfer_len = len; in HAL_PCD_EP_Transmit()
1511 ep->xfer_fill_db = 1U; in HAL_PCD_EP_Transmit()
1512 ep->xfer_len_db = len; in HAL_PCD_EP_Transmit()
1513 ep->xfer_count = 0U; in HAL_PCD_EP_Transmit()
1514 ep->is_in = 1U; in HAL_PCD_EP_Transmit()
1515 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Transmit()
1517 (void)USB_EPStartXfer(hpcd->Instance, ep); in HAL_PCD_EP_Transmit()
1530 PCD_EPTypeDef *ep; in HAL_PCD_EP_SetStall() local
1539 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_SetStall()
1540 ep->is_in = 1U; in HAL_PCD_EP_SetStall()
1544 ep = &hpcd->OUT_ep[ep_addr]; in HAL_PCD_EP_SetStall()
1545 ep->is_in = 0U; in HAL_PCD_EP_SetStall()
1548 ep->is_stall = 1U; in HAL_PCD_EP_SetStall()
1549 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_SetStall()
1553 (void)USB_EPSetStall(hpcd->Instance, ep); in HAL_PCD_EP_SetStall()
1568 PCD_EPTypeDef *ep; in HAL_PCD_EP_ClrStall() local
1577 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
1578 ep->is_in = 1U; in HAL_PCD_EP_ClrStall()
1582 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
1583 ep->is_in = 0U; in HAL_PCD_EP_ClrStall()
1586 ep->is_stall = 0U; in HAL_PCD_EP_ClrStall()
1587 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_ClrStall()
1590 (void)USB_EPClearStall(hpcd->Instance, ep); in HAL_PCD_EP_ClrStall()
1605 PCD_EPTypeDef *ep; in HAL_PCD_EP_Abort() local
1609 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
1613 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
1617 ret = USB_EPStopXfer(hpcd->Instance, ep); in HAL_PCD_EP_Abort()
1716 PCD_EPTypeDef *ep; in PCD_EP_ISR_Handler() local
1747 ep = &hpcd->IN_ep[0]; in PCD_EP_ISR_Handler()
1749 ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1750 ep->xfer_buff += ep->xfer_count; in PCD_EP_ISR_Handler()
1759 if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U)) in PCD_EP_ISR_Handler()
1771 ep = &hpcd->OUT_ep[0]; in PCD_EP_ISR_Handler()
1777 ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1780 ep->pmaadress, (uint16_t)ep->xfer_count); in PCD_EP_ISR_Handler()
1797 ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1799 if ((ep->xfer_count != 0U) && (ep->xfer_buff != 0U)) in PCD_EP_ISR_Handler()
1801 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, in PCD_EP_ISR_Handler()
1802 ep->pmaadress, (uint16_t)ep->xfer_count); in PCD_EP_ISR_Handler()
1804 ep->xfer_buff += ep->xfer_count; in PCD_EP_ISR_Handler()
1818 PCD_SET_EP_RX_CNT(hpcd->Instance, PCD_ENDP0, ep->maxpacket); in PCD_EP_ISR_Handler()
1834 ep = &hpcd->OUT_ep[epindex]; in PCD_EP_ISR_Handler()
1837 if (ep->doublebuffer == 0U) in PCD_EP_ISR_Handler()
1839 count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1843 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count); in PCD_EP_ISR_Handler()
1850 if (ep->type == EP_TYPE_BULK) in PCD_EP_ISR_Handler()
1852 count = HAL_PCD_EP_DB_Receive(hpcd, ep, wEPVal); in PCD_EP_ISR_Handler()
1857 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in PCD_EP_ISR_Handler()
1859 if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U) in PCD_EP_ISR_Handler()
1862 count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1866 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); in PCD_EP_ISR_Handler()
1872 count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1876 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); in PCD_EP_ISR_Handler()
1884 ep->xfer_count += count; in PCD_EP_ISR_Handler()
1885 ep->xfer_buff += count; in PCD_EP_ISR_Handler()
1887 if ((ep->xfer_len == 0U) || (count < ep->maxpacket)) in PCD_EP_ISR_Handler()
1891 hpcd->DataOutStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1893 HAL_PCD_DataOutStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1898 (void)USB_EPStartXfer(hpcd->Instance, ep); in PCD_EP_ISR_Handler()
1904 ep = &hpcd->IN_ep[epindex]; in PCD_EP_ISR_Handler()
1909 if (ep->type == EP_TYPE_ISOC) in PCD_EP_ISR_Handler()
1911 ep->xfer_len = 0U; in PCD_EP_ISR_Handler()
1914 if (ep->doublebuffer != 0U) in PCD_EP_ISR_Handler()
1918 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in PCD_EP_ISR_Handler()
1922 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in PCD_EP_ISR_Handler()
1929 hpcd->DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1931 HAL_PCD_DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1940 TxPctSize = (uint16_t)PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1942 if (ep->xfer_len > TxPctSize) in PCD_EP_ISR_Handler()
1944 ep->xfer_len -= TxPctSize; in PCD_EP_ISR_Handler()
1948 ep->xfer_len = 0U; in PCD_EP_ISR_Handler()
1952 if (ep->xfer_len == 0U) in PCD_EP_ISR_Handler()
1956 hpcd->DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1958 HAL_PCD_DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1964 ep->xfer_buff += TxPctSize; in PCD_EP_ISR_Handler()
1965 ep->xfer_count += TxPctSize; in PCD_EP_ISR_Handler()
1966 (void)USB_EPStartXfer(hpcd->Instance, ep); in PCD_EP_ISR_Handler()
1973 (void)HAL_PCD_EP_DB_Transmit(hpcd, ep, wEPVal); in PCD_EP_ISR_Handler()
1994 PCD_EPTypeDef *ep, uint16_t wEPVal) in HAL_PCD_EP_DB_Receive() argument
2002 count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Receive()
2004 if (ep->xfer_len >= count) in HAL_PCD_EP_DB_Receive()
2006 ep->xfer_len -= count; in HAL_PCD_EP_DB_Receive()
2010 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Receive()
2013 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Receive()
2016 PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); in HAL_PCD_EP_DB_Receive()
2022 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in HAL_PCD_EP_DB_Receive()
2027 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); in HAL_PCD_EP_DB_Receive()
2034 count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Receive()
2036 if (ep->xfer_len >= count) in HAL_PCD_EP_DB_Receive()
2038 ep->xfer_len -= count; in HAL_PCD_EP_DB_Receive()
2042 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Receive()
2045 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Receive()
2048 PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); in HAL_PCD_EP_DB_Receive()
2054 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in HAL_PCD_EP_DB_Receive()
2059 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); in HAL_PCD_EP_DB_Receive()
2075 PCD_EPTypeDef *ep, uint16_t wEPVal) in HAL_PCD_EP_DB_Transmit() argument
2084 TxPctSize = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Transmit()
2086 if (ep->xfer_len > TxPctSize) in HAL_PCD_EP_DB_Transmit()
2088 ep->xfer_len -= TxPctSize; in HAL_PCD_EP_DB_Transmit()
2092 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Transmit()
2096 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Transmit()
2098 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2099 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2103 hpcd->DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2105 HAL_PCD_DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2110 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2118 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2122 if (ep->xfer_fill_db == 1U) in HAL_PCD_EP_DB_Transmit()
2124 ep->xfer_buff += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2125 ep->xfer_count += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2128 if (ep->xfer_len_db >= ep->maxpacket) in HAL_PCD_EP_DB_Transmit()
2130 len = ep->maxpacket; in HAL_PCD_EP_DB_Transmit()
2131 ep->xfer_len_db -= len; in HAL_PCD_EP_DB_Transmit()
2133 else if (ep->xfer_len_db == 0U) in HAL_PCD_EP_DB_Transmit()
2136 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2140 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2141 len = ep->xfer_len_db; in HAL_PCD_EP_DB_Transmit()
2142 ep->xfer_len_db = 0U; in HAL_PCD_EP_DB_Transmit()
2147 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, len); in HAL_PCD_EP_DB_Transmit()
2150 USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, (uint16_t)len); in HAL_PCD_EP_DB_Transmit()
2157 TxPctSize = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Transmit()
2159 if (ep->xfer_len >= TxPctSize) in HAL_PCD_EP_DB_Transmit()
2161 ep->xfer_len -= TxPctSize; in HAL_PCD_EP_DB_Transmit()
2165 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Transmit()
2169 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Transmit()
2171 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2172 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2176 hpcd->DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2178 HAL_PCD_DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2184 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2192 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2196 if (ep->xfer_fill_db == 1U) in HAL_PCD_EP_DB_Transmit()
2198 ep->xfer_buff += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2199 ep->xfer_count += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2202 if (ep->xfer_len_db >= ep->maxpacket) in HAL_PCD_EP_DB_Transmit()
2204 len = ep->maxpacket; in HAL_PCD_EP_DB_Transmit()
2205 ep->xfer_len_db -= len; in HAL_PCD_EP_DB_Transmit()
2207 else if (ep->xfer_len_db == 0U) in HAL_PCD_EP_DB_Transmit()
2210 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2214 len = ep->xfer_len_db; in HAL_PCD_EP_DB_Transmit()
2215 ep->xfer_len_db = 0U; in HAL_PCD_EP_DB_Transmit()
2216 ep->xfer_fill_db = 0; in HAL_PCD_EP_DB_Transmit()
2220 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, len); in HAL_PCD_EP_DB_Transmit()
2223 USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, (uint16_t)len); in HAL_PCD_EP_DB_Transmit()
2229 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_VALID); in HAL_PCD_EP_DB_Transmit()