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);
1393 PCD_EPTypeDef *ep; in HAL_PCD_EP_Open() local
1397 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1398 ep->is_in = 1U; in HAL_PCD_EP_Open()
1402 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Open()
1403 ep->is_in = 0U; in HAL_PCD_EP_Open()
1406 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Open()
1407 ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; in HAL_PCD_EP_Open()
1408 ep->type = ep_type; in HAL_PCD_EP_Open()
1413 ep->data_pid_start = 0U; in HAL_PCD_EP_Open()
1417 (void)USB_ActivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Open()
1431 PCD_EPTypeDef *ep; in HAL_PCD_EP_Close() local
1435 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1436 ep->is_in = 1U; in HAL_PCD_EP_Close()
1440 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Close()
1441 ep->is_in = 0U; in HAL_PCD_EP_Close()
1443 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Close()
1446 (void)USB_DeactivateEndpoint(hpcd->Instance, ep); in HAL_PCD_EP_Close()
1462 PCD_EPTypeDef *ep; in HAL_PCD_EP_Receive() local
1464 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Receive()
1467 ep->xfer_buff = pBuf; in HAL_PCD_EP_Receive()
1468 ep->xfer_len = len; in HAL_PCD_EP_Receive()
1469 ep->xfer_count = 0U; in HAL_PCD_EP_Receive()
1470 ep->is_in = 0U; in HAL_PCD_EP_Receive()
1471 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Receive()
1473 (void)USB_EPStartXfer(hpcd->Instance, ep); in HAL_PCD_EP_Receive()
1498 PCD_EPTypeDef *ep; in HAL_PCD_EP_Transmit() local
1500 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Transmit()
1503 ep->xfer_buff = pBuf; in HAL_PCD_EP_Transmit()
1504 ep->xfer_len = len; in HAL_PCD_EP_Transmit()
1505 ep->xfer_fill_db = 1U; in HAL_PCD_EP_Transmit()
1506 ep->xfer_len_db = len; in HAL_PCD_EP_Transmit()
1507 ep->xfer_count = 0U; in HAL_PCD_EP_Transmit()
1508 ep->is_in = 1U; in HAL_PCD_EP_Transmit()
1509 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_Transmit()
1511 (void)USB_EPStartXfer(hpcd->Instance, ep); in HAL_PCD_EP_Transmit()
1524 PCD_EPTypeDef *ep; in HAL_PCD_EP_SetStall() local
1533 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_SetStall()
1534 ep->is_in = 1U; in HAL_PCD_EP_SetStall()
1538 ep = &hpcd->OUT_ep[ep_addr]; in HAL_PCD_EP_SetStall()
1539 ep->is_in = 0U; in HAL_PCD_EP_SetStall()
1542 ep->is_stall = 1U; in HAL_PCD_EP_SetStall()
1543 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_SetStall()
1547 (void)USB_EPSetStall(hpcd->Instance, ep); in HAL_PCD_EP_SetStall()
1562 PCD_EPTypeDef *ep; in HAL_PCD_EP_ClrStall() local
1571 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
1572 ep->is_in = 1U; in HAL_PCD_EP_ClrStall()
1576 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_ClrStall()
1577 ep->is_in = 0U; in HAL_PCD_EP_ClrStall()
1580 ep->is_stall = 0U; in HAL_PCD_EP_ClrStall()
1581 ep->num = ep_addr & EP_ADDR_MSK; in HAL_PCD_EP_ClrStall()
1584 (void)USB_EPClearStall(hpcd->Instance, ep); in HAL_PCD_EP_ClrStall()
1599 PCD_EPTypeDef *ep; in HAL_PCD_EP_Abort() local
1603 ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
1607 ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; in HAL_PCD_EP_Abort()
1611 ret = USB_EPStopXfer(hpcd->Instance, ep); in HAL_PCD_EP_Abort()
1710 PCD_EPTypeDef *ep; in PCD_EP_ISR_Handler() local
1741 ep = &hpcd->IN_ep[0]; in PCD_EP_ISR_Handler()
1743 ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1744 ep->xfer_buff += ep->xfer_count; in PCD_EP_ISR_Handler()
1753 if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U)) in PCD_EP_ISR_Handler()
1765 ep = &hpcd->OUT_ep[0]; in PCD_EP_ISR_Handler()
1771 ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1774 ep->pmaadress, (uint16_t)ep->xfer_count); in PCD_EP_ISR_Handler()
1791 ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1793 if ((ep->xfer_count != 0U) && (ep->xfer_buff != 0U)) in PCD_EP_ISR_Handler()
1795 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, in PCD_EP_ISR_Handler()
1796 ep->pmaadress, (uint16_t)ep->xfer_count); in PCD_EP_ISR_Handler()
1798 ep->xfer_buff += ep->xfer_count; in PCD_EP_ISR_Handler()
1827 ep = &hpcd->OUT_ep[epindex]; in PCD_EP_ISR_Handler()
1830 if (ep->doublebuffer == 0U) in PCD_EP_ISR_Handler()
1832 count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1836 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count); in PCD_EP_ISR_Handler()
1843 if (ep->type == EP_TYPE_BULK) in PCD_EP_ISR_Handler()
1845 count = HAL_PCD_EP_DB_Receive(hpcd, ep, wEPVal); in PCD_EP_ISR_Handler()
1850 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in PCD_EP_ISR_Handler()
1852 if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U) in PCD_EP_ISR_Handler()
1855 count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1859 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); in PCD_EP_ISR_Handler()
1865 count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1869 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); in PCD_EP_ISR_Handler()
1877 ep->xfer_count += count; in PCD_EP_ISR_Handler()
1878 ep->xfer_buff += count; in PCD_EP_ISR_Handler()
1880 if ((ep->xfer_len == 0U) || (count < ep->maxpacket)) in PCD_EP_ISR_Handler()
1884 hpcd->DataOutStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1886 HAL_PCD_DataOutStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1891 (void)USB_EPStartXfer(hpcd->Instance, ep); in PCD_EP_ISR_Handler()
1897 ep = &hpcd->IN_ep[epindex]; in PCD_EP_ISR_Handler()
1902 if (ep->type == EP_TYPE_ISOC) in PCD_EP_ISR_Handler()
1904 ep->xfer_len = 0U; in PCD_EP_ISR_Handler()
1907 if (ep->doublebuffer != 0U) in PCD_EP_ISR_Handler()
1911 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in PCD_EP_ISR_Handler()
1915 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in PCD_EP_ISR_Handler()
1922 hpcd->DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1924 HAL_PCD_DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1933 TxPctSize = (uint16_t)PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); in PCD_EP_ISR_Handler()
1935 if (ep->xfer_len > TxPctSize) in PCD_EP_ISR_Handler()
1937 ep->xfer_len -= TxPctSize; in PCD_EP_ISR_Handler()
1941 ep->xfer_len = 0U; in PCD_EP_ISR_Handler()
1945 if (ep->xfer_len == 0U) in PCD_EP_ISR_Handler()
1949 hpcd->DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1951 HAL_PCD_DataInStageCallback(hpcd, ep->num); in PCD_EP_ISR_Handler()
1957 ep->xfer_buff += TxPctSize; in PCD_EP_ISR_Handler()
1958 ep->xfer_count += TxPctSize; in PCD_EP_ISR_Handler()
1959 (void)USB_EPStartXfer(hpcd->Instance, ep); in PCD_EP_ISR_Handler()
1966 (void)HAL_PCD_EP_DB_Transmit(hpcd, ep, wEPVal); in PCD_EP_ISR_Handler()
1987 PCD_EPTypeDef *ep, uint16_t wEPVal) in HAL_PCD_EP_DB_Receive() argument
1995 count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Receive()
1997 if (ep->xfer_len >= count) in HAL_PCD_EP_DB_Receive()
1999 ep->xfer_len -= count; in HAL_PCD_EP_DB_Receive()
2003 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Receive()
2006 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Receive()
2009 PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); in HAL_PCD_EP_DB_Receive()
2015 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in HAL_PCD_EP_DB_Receive()
2020 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); in HAL_PCD_EP_DB_Receive()
2027 count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Receive()
2029 if (ep->xfer_len >= count) in HAL_PCD_EP_DB_Receive()
2031 ep->xfer_len -= count; in HAL_PCD_EP_DB_Receive()
2035 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Receive()
2038 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Receive()
2041 PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); in HAL_PCD_EP_DB_Receive()
2047 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); in HAL_PCD_EP_DB_Receive()
2052 USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); in HAL_PCD_EP_DB_Receive()
2068 PCD_EPTypeDef *ep, uint16_t wEPVal) in HAL_PCD_EP_DB_Transmit() argument
2077 TxPctSize = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Transmit()
2079 if (ep->xfer_len > TxPctSize) in HAL_PCD_EP_DB_Transmit()
2081 ep->xfer_len -= TxPctSize; in HAL_PCD_EP_DB_Transmit()
2085 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Transmit()
2089 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Transmit()
2091 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2092 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2094 if (ep->type == EP_TYPE_BULK) in HAL_PCD_EP_DB_Transmit()
2097 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_NAK); in HAL_PCD_EP_DB_Transmit()
2102 hpcd->DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2104 HAL_PCD_DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2109 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2119 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2123 if (ep->xfer_fill_db == 1U) in HAL_PCD_EP_DB_Transmit()
2125 ep->xfer_buff += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2126 ep->xfer_count += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2129 if (ep->xfer_len_db >= ep->maxpacket) in HAL_PCD_EP_DB_Transmit()
2131 len = ep->maxpacket; in HAL_PCD_EP_DB_Transmit()
2132 ep->xfer_len_db -= len; in HAL_PCD_EP_DB_Transmit()
2134 else if (ep->xfer_len_db == 0U) in HAL_PCD_EP_DB_Transmit()
2137 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2141 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2142 len = ep->xfer_len_db; in HAL_PCD_EP_DB_Transmit()
2143 ep->xfer_len_db = 0U; in HAL_PCD_EP_DB_Transmit()
2148 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, len); in HAL_PCD_EP_DB_Transmit()
2151 USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, (uint16_t)len); in HAL_PCD_EP_DB_Transmit()
2158 TxPctSize = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); in HAL_PCD_EP_DB_Transmit()
2160 if (ep->xfer_len >= TxPctSize) in HAL_PCD_EP_DB_Transmit()
2162 ep->xfer_len -= TxPctSize; in HAL_PCD_EP_DB_Transmit()
2166 ep->xfer_len = 0U; in HAL_PCD_EP_DB_Transmit()
2170 if (ep->xfer_len == 0U) in HAL_PCD_EP_DB_Transmit()
2172 PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2173 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); in HAL_PCD_EP_DB_Transmit()
2175 if (ep->type == EP_TYPE_BULK) in HAL_PCD_EP_DB_Transmit()
2178 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_NAK); in HAL_PCD_EP_DB_Transmit()
2183 hpcd->DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2185 HAL_PCD_DataInStageCallback(hpcd, ep->num); in HAL_PCD_EP_DB_Transmit()
2191 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2201 PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); in HAL_PCD_EP_DB_Transmit()
2205 if (ep->xfer_fill_db == 1U) in HAL_PCD_EP_DB_Transmit()
2207 ep->xfer_buff += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2208 ep->xfer_count += TxPctSize; in HAL_PCD_EP_DB_Transmit()
2211 if (ep->xfer_len_db >= ep->maxpacket) in HAL_PCD_EP_DB_Transmit()
2213 len = ep->maxpacket; in HAL_PCD_EP_DB_Transmit()
2214 ep->xfer_len_db -= len; in HAL_PCD_EP_DB_Transmit()
2216 else if (ep->xfer_len_db == 0U) in HAL_PCD_EP_DB_Transmit()
2219 ep->xfer_fill_db = 0U; in HAL_PCD_EP_DB_Transmit()
2223 len = ep->xfer_len_db; in HAL_PCD_EP_DB_Transmit()
2224 ep->xfer_len_db = 0U; in HAL_PCD_EP_DB_Transmit()
2225 ep->xfer_fill_db = 0; in HAL_PCD_EP_DB_Transmit()
2229 PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, len); in HAL_PCD_EP_DB_Transmit()
2232 USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, (uint16_t)len); in HAL_PCD_EP_DB_Transmit()
2238 PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_VALID); in HAL_PCD_EP_DB_Transmit()