Lines Matching refs:hc

229     hhcd->hc[ch_num & 0xFU].phy_ch_num = HAL_HCD_Get_FreePhyChannel(hhcd, ch_num, epnum, ep_type);  in HAL_HCD_HC_Init()
232 if (hhcd->hc[ch_num & 0xFU].phy_ch_num == HCD_FREE_CH_NOT_FOUND) in HAL_HCD_HC_Init()
241 hhcd->hc[ch_num & 0xFU].phy_ch_num = (used_channel & 0xF0U) >> 4U; in HAL_HCD_HC_Init()
246 hhcd->hc[ch_num & 0xFU].ch_dir = CH_IN_DIR; in HAL_HCD_HC_Init()
250 hhcd->hc[ch_num & 0xFU].ch_dir = CH_OUT_DIR; in HAL_HCD_HC_Init()
253 hhcd->hc[ch_num & 0xFU].dev_addr = dev_address; in HAL_HCD_HC_Init()
254 hhcd->hc[ch_num & 0xFU].max_packet = mps; in HAL_HCD_HC_Init()
255 hhcd->hc[ch_num & 0xFU].ep_type = ep_type; in HAL_HCD_HC_Init()
256 hhcd->hc[ch_num & 0xFU].ep_num = epnum & 0x7FU; in HAL_HCD_HC_Init()
257 hhcd->hc[ch_num & 0xFU].speed = speed; in HAL_HCD_HC_Init()
274 HCD_CLEAR_TX_DTOG(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Init()
277 HCD_CLEAR_RX_DTOG(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Init()
282 if (hhcd->hc[ch_num & 0xFU].ep_num != 0U) in HAL_HCD_HC_Init()
299 if (hhcd->hc[ch_num & 0xFU].ch_dir == CH_OUT_DIR) in HAL_HCD_HC_Init()
316 hhcd->hc[ch_num & 0xFU].ch_dir = CH_OUT_DIR; in HAL_HCD_HC_Init()
325 hhcd->hc[ch_num & 0xFU].ch_dir = CH_IN_DIR; in HAL_HCD_HC_Init()
342 hhcd->hc[ch_num & 0xFU].pmaaddr1 = hhcd->hc[ep0_virtual_channel & 0xFU].pmaaddr1; in HAL_HCD_HC_Init()
346 hhcd->hc[ch_num & 0xFU].pmaaddr0 = hhcd->hc[ep0_virtual_channel & 0xFU].pmaaddr0; in HAL_HCD_HC_Init()
365 hhcd->hc[ch_num & 0xFU].ch_dir = CH_IN_DIR; in HAL_HCD_HC_Init()
367 if (hhcd->hc[ch_num & 0xFU].ep_num == 0U) in HAL_HCD_HC_Init()
369 hhcd->hc[ch_num & 0xFU].pmaadress = hhcd->hc[ch_num & 0xFU].pmaaddr1; in HAL_HCD_HC_Init()
374 hhcd->hc[ch_num & 0xFU].ch_dir = CH_OUT_DIR; in HAL_HCD_HC_Init()
376 if (hhcd->hc[ch_num & 0xFU].ep_num == 0U) in HAL_HCD_HC_Init()
378 hhcd->hc[ch_num & 0xFU].pmaadress = hhcd->hc[ch_num & 0xFU].pmaaddr0; in HAL_HCD_HC_Init()
383 status = USB_HC_Init(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num, in HAL_HCD_HC_Init()
391 (void)USB_HC_DoubleBuffer(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num, in HAL_HCD_HC_Init()
401 (void)USB_HC_DoubleBuffer(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num, in HAL_HCD_HC_Init()
425 if (hhcd->hc[ch_num & 0xFU].ch_dir == CH_IN_DIR) in HAL_HCD_HC_Close()
428 hhcd->phy_chin_state[hhcd->hc[ch_num & 0xFU].phy_ch_num] = 0U; in HAL_HCD_HC_Close()
433 hhcd->phy_chout_state[hhcd->hc[ch_num & 0xFU].phy_ch_num] = 0U; in HAL_HCD_HC_Close()
454 if (hhcd->hc[ch_num & 0xFU].ch_dir == CH_IN_DIR) in HAL_HCD_HC_Halt()
456 (void)USB_HC_IN_Halt(hhcd->Instance, (uint8_t) hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Halt()
460 (void)USB_HC_OUT_Halt(hhcd->Instance, (uint8_t) hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Halt()
619 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_SETUP; in HAL_HCD_HC_SubmitRequest()
623 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
635 hhcd->hc[ch_num & 0xFU].toggle_out = 1U; in HAL_HCD_HC_SubmitRequest()
639 if (hhcd->hc[ch_num & 0xFU].toggle_out == 0U) in HAL_HCD_HC_SubmitRequest()
642 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
647 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
656 if (hhcd->hc[ch_num & 0xFU].toggle_out == 0U) in HAL_HCD_HC_SubmitRequest()
659 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
664 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
669 if (hhcd->hc[ch_num & 0xFU].toggle_in == 0U) in HAL_HCD_HC_SubmitRequest()
671 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
675 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
684 if (hhcd->hc[ch_num & 0xFU].toggle_out == 0U) in HAL_HCD_HC_SubmitRequest()
687 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
692 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
697 if (hhcd->hc[ch_num & 0xFU].toggle_in == 0U) in HAL_HCD_HC_SubmitRequest()
699 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
703 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
709 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
716 hhcd->hc[ch_num & 0xFU].xfer_buff = pbuff; in HAL_HCD_HC_SubmitRequest()
717 hhcd->hc[ch_num & 0xFU].xfer_len = length; in HAL_HCD_HC_SubmitRequest()
718 hhcd->hc[ch_num & 0xFU].xfer_len_db = length; in HAL_HCD_HC_SubmitRequest()
719 hhcd->hc[ch_num & 0xFU].urb_state = URB_IDLE; in HAL_HCD_HC_SubmitRequest()
720 hhcd->hc[ch_num & 0xFU].xfer_count = 0U; in HAL_HCD_HC_SubmitRequest()
721 hhcd->hc[ch_num & 0xFU].state = HC_IDLE; in HAL_HCD_HC_SubmitRequest()
723 return USB_HC_StartXfer(hhcd->Instance, &hhcd->hc[ch_num & 0xFU]); in HAL_HCD_HC_SubmitRequest()
1462 return hhcd->hc[chnum].urb_state; in HAL_HCD_HC_GetURBState()
1475 return hhcd->hc[chnum].xfer_count; in HAL_HCD_HC_GetXferCount()
1497 return hhcd->hc[chnum].state; in HAL_HCD_HC_GetState()
1535 hhcd->hc[ch_num].hub_addr = addr; in HAL_HCD_HC_SetHubInfo()
1536 hhcd->hc[ch_num].hub_port_nbr = PortNbr; in HAL_HCD_HC_SetHubInfo()
1551 hhcd->hc[ch_num].hub_addr = 0U; in HAL_HCD_HC_ClearHubInfo()
1552 hhcd->hc[ch_num].hub_port_nbr = 0U; in HAL_HCD_HC_ClearHubInfo()
1577 if (hhcd->hc[ch_num & 0xFU].xfer_len >= data_xfr) in HCD_HC_OUT_BulkDb()
1579 hhcd->hc[ch_num & 0xFU].xfer_len -= data_xfr; in HCD_HC_OUT_BulkDb()
1583 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_OUT_BulkDb()
1587 if (hhcd->hc[ch_num & 0xFU].xfer_len != 0U) in HCD_HC_OUT_BulkDb()
1590 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1602 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > 0U) /* Still data to fill in the buffer */ in HCD_HC_OUT_BulkDb()
1604 hhcd->hc[ch_num & 0xFU].xfer_buff += data_xfr; in HCD_HC_OUT_BulkDb()
1607 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > hhcd->hc[ch_num & 0xFU].max_packet) in HCD_HC_OUT_BulkDb()
1609 len = (uint16_t)hhcd->hc[ch_num & 0xFU].max_packet; in HCD_HC_OUT_BulkDb()
1610 hhcd->hc[ch_num & 0xFU].xfer_len_db -= len; in HCD_HC_OUT_BulkDb()
1614 len = (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_len_db; in HCD_HC_OUT_BulkDb()
1615 hhcd->hc[ch_num & 0xFU].xfer_len_db = 0U; /* end of fill buffer */ in HCD_HC_OUT_BulkDb()
1620 USB_WritePMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_OUT_BulkDb()
1621 hhcd->hc[ch_num & 0xFU].pmaaddr0, (uint16_t)len); in HCD_HC_OUT_BulkDb()
1629 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1630 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_OUT_BulkDb()
1631 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_BulkDb()
1632 hhcd->hc[ch_num & 0xFU].toggle_out ^= 1U; in HCD_HC_OUT_BulkDb()
1642 if (hhcd->hc[ch_num & 0xFU].xfer_len >= data_xfr) /* updated */ in HCD_HC_OUT_BulkDb()
1644 hhcd->hc[ch_num & 0xFU].xfer_len -= data_xfr; in HCD_HC_OUT_BulkDb()
1648 if (hhcd->hc[ch_num & 0xFU].xfer_len != 0U) in HCD_HC_OUT_BulkDb()
1651 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1663 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > 0U) /* Still data to fill in the buffer */ in HCD_HC_OUT_BulkDb()
1665 hhcd->hc[ch_num & 0xFU].xfer_buff += data_xfr; in HCD_HC_OUT_BulkDb()
1668 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > hhcd->hc[ch_num & 0xFU].max_packet) in HCD_HC_OUT_BulkDb()
1670 len = hhcd->hc[ch_num & 0xFU].max_packet; in HCD_HC_OUT_BulkDb()
1671 hhcd->hc[ch_num & 0xFU].xfer_len_db -= len; in HCD_HC_OUT_BulkDb()
1675 len = (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_len_db; in HCD_HC_OUT_BulkDb()
1676 hhcd->hc[ch_num & 0xFU].xfer_len_db = 0U; /* end of fill buffer */ in HCD_HC_OUT_BulkDb()
1682 USB_WritePMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_OUT_BulkDb()
1683 hhcd->hc[ch_num & 0xFU].pmaaddr1, (uint16_t)len); in HCD_HC_OUT_BulkDb()
1692 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1693 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_OUT_BulkDb()
1694 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_BulkDb()
1695 hhcd->hc[ch_num & 0xFU].toggle_out ^= 1U; in HCD_HC_OUT_BulkDb()
1722 if (hhcd->hc[ch_num & 0xFU].xfer_len <= received_bytes) in HCD_HC_IN_BulkDb()
1724 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_IN_BulkDb()
1728 hhcd->hc[ch_num & 0xFU].xfer_len -= received_bytes; in HCD_HC_IN_BulkDb()
1732 if ((hhcd->hc[ch_num & 0xFU].xfer_len != 0U) && ((regvalue & USB_CH_DTOG_TX) != 0U)) in HCD_HC_IN_BulkDb()
1739 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_BulkDb()
1740 hhcd->hc[ch_num & 0xFU].pmaaddr0, (uint16_t)received_bytes); in HCD_HC_IN_BulkDb()
1747 if (hhcd->hc[ch_num & 0xFU].xfer_len <= received_bytes) in HCD_HC_IN_BulkDb()
1749 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_IN_BulkDb()
1753 hhcd->hc[ch_num & 0xFU].xfer_len -= received_bytes; in HCD_HC_IN_BulkDb()
1757 if ((hhcd->hc[ch_num & 0xFU].xfer_len != 0U) && ((regvalue & USB_CH_DTOG_TX) == 0U)) in HCD_HC_IN_BulkDb()
1764 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_BulkDb()
1765 hhcd->hc[ch_num & 0xFU].pmaaddr1, (uint16_t)received_bytes); in HCD_HC_IN_BulkDb()
1769 hhcd->hc[ch_num & 0xFU].xfer_count += received_bytes; in HCD_HC_IN_BulkDb()
1772 hhcd->hc[ch_num & 0xFU].state = HC_ACK; in HCD_HC_IN_BulkDb()
1773 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_IN_BulkDb()
1775 if ((hhcd->hc[ch_num & 0xFU].xfer_len == 0U) || in HCD_HC_IN_BulkDb()
1776 ((received_bytes < hhcd->hc[ch_num & 0xFU].max_packet))) in HCD_HC_IN_BulkDb()
1778 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_BulkDb()
1779 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_IN_BulkDb()
1786 hhcd->hc[ch_num & 0xFU].xfer_buff += received_bytes; in HCD_HC_IN_BulkDb()
1809 hhcd->hc[ch_num & 0xFU].xfer_count = HCD_GET_CH_RX_CNT(hhcd->Instance, phy_chnum); in HCD_HC_IN_ISO()
1810 if (hhcd->hc[ch_num & 0xFU].xfer_count != 0U) in HCD_HC_IN_ISO()
1812 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_ISO()
1813 hhcd->hc[ch_num & 0xFU].pmaadress, in HCD_HC_IN_ISO()
1814 (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_count); in HCD_HC_IN_ISO()
1816 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_ISO()
1826 hhcd->hc[ch_num & 0xFU].xfer_count = HCD_GET_CH_DBUF0_CNT(hhcd->Instance, phy_chnum); in HCD_HC_IN_ISO()
1828 if (hhcd->hc[ch_num & 0xFU].xfer_count != 0U) in HCD_HC_IN_ISO()
1831 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_ISO()
1832 hhcd->hc[ch_num & 0xFU].pmaaddr0, in HCD_HC_IN_ISO()
1833 (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_count); in HCD_HC_IN_ISO()
1835 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_ISO()
1841 hhcd->hc[ch_num & 0xFU].xfer_count = HCD_GET_CH_DBUF1_CNT(hhcd->Instance, phy_chnum); in HCD_HC_IN_ISO()
1843 if (hhcd->hc[ch_num & 0xFU].xfer_count != 0U) in HCD_HC_IN_ISO()
1846 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_ISO()
1847 hhcd->hc[ch_num & 0xFU].pmaaddr1, in HCD_HC_IN_ISO()
1848 (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_count); in HCD_HC_IN_ISO()
1850 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_ISO()
1857 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_IN_ISO()
1895 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_IRQHandler()
1896 hhcd->hc[ch_num & 0xFU].pmaadress, (uint16_t)received_bytes); in HCD_HC_IN_IRQHandler()
1899 hhcd->hc[ch_num & 0xFU].xfer_count += received_bytes; in HCD_HC_IN_IRQHandler()
1902 hhcd->hc[ch_num & 0xFU].state = HC_ACK; in HCD_HC_IN_IRQHandler()
1903 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_IN_IRQHandler()
1905 if (hhcd->hc[ch_num & 0xFU].xfer_len <= received_bytes) in HCD_HC_IN_IRQHandler()
1907 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_IN_IRQHandler()
1911 hhcd->hc[ch_num & 0xFU].xfer_len -= received_bytes; in HCD_HC_IN_IRQHandler()
1914 if ((hhcd->hc[ch_num & 0xFU].xfer_len == 0U) || in HCD_HC_IN_IRQHandler()
1915 ((received_bytes < hhcd->hc[ch_num & 0xFU].max_packet))) in HCD_HC_IN_IRQHandler()
1917 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_IRQHandler()
1918 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_IN_IRQHandler()
1922 hhcd->hc[ch_num & 0xFU].xfer_buff += received_bytes; in HCD_HC_IN_IRQHandler()
1928 if ((hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_BULK) || in HCD_HC_IN_IRQHandler()
1929 (hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_INTR)) in HCD_HC_IN_IRQHandler()
1931 hhcd->hc[ch_num & 0xFU].toggle_out ^= 1U; in HCD_HC_IN_IRQHandler()
1936 && (hhcd->hc[ch_num & 0xFU].urb_state != URB_DONE)) in HCD_HC_IN_IRQHandler()
1938 hhcd->hc[ch_num & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_IN_IRQHandler()
1939 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_IN_IRQHandler()
1940 hhcd->hc[ch_num & 0xFU].state = HC_NAK; in HCD_HC_IN_IRQHandler()
1942 if (hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_INTR) in HCD_HC_IN_IRQHandler()
1952 hhcd->hc[ch_num & 0xFU].state = HC_STALL; in HCD_HC_IN_IRQHandler()
1953 hhcd->hc[ch_num & 0xFU].urb_state = URB_STALL; in HCD_HC_IN_IRQHandler()
1974 hhcd->HC_NotifyURBChangeCallback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
1976 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
1986 hhcd->hc[ch_num & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_IN_IRQHandler()
1987 hhcd->hc[ch_num & 0xFU].ErrCnt++; in HCD_HC_IN_IRQHandler()
1988 hhcd->hc[ch_num & 0xFU].state = HC_XACTERR; in HCD_HC_IN_IRQHandler()
1994 if (hhcd->hc[ch_num & 0xFU].ErrCnt > 3U) in HCD_HC_IN_IRQHandler()
1996 hhcd->hc[ch_num & 0xFU].urb_state = URB_ERROR; in HCD_HC_IN_IRQHandler()
2004 hhcd->HC_NotifyURBChangeCallback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
2006 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
2063 hhcd->hc[chnum & 0xFU].state = HC_XFRC; in HCD_HC_OUT_IRQHandler()
2064 hhcd->hc[chnum & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_IRQHandler()
2072 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2074 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2085 if (hhcd->hc[chnum & 0xFU].xfer_len >= data_xfr) in HCD_HC_OUT_IRQHandler()
2087 hhcd->hc[chnum & 0xFU].xfer_len -= data_xfr; in HCD_HC_OUT_IRQHandler()
2091 hhcd->hc[chnum & 0xFU].xfer_len = 0U; in HCD_HC_OUT_IRQHandler()
2095 if (hhcd->hc[chnum & 0xFU].xfer_len != 0U) in HCD_HC_OUT_IRQHandler()
2098 hhcd->hc[chnum & 0xFU].xfer_buff += data_xfr; in HCD_HC_OUT_IRQHandler()
2099 hhcd->hc[chnum & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_IRQHandler()
2102 (void) USB_HC_StartXfer(hhcd->Instance, &hhcd->hc[chnum & 0xFU]); in HCD_HC_OUT_IRQHandler()
2107 hhcd->hc[chnum & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_IRQHandler()
2108 hhcd->hc[chnum & 0xFU].state = HC_XFRC; in HCD_HC_OUT_IRQHandler()
2109 hhcd->hc[chnum & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_IRQHandler()
2111 if ((hhcd->hc[chnum & 0xFU].ep_type == EP_TYPE_BULK) || in HCD_HC_OUT_IRQHandler()
2112 (hhcd->hc[chnum & 0xFU].ep_type == EP_TYPE_INTR)) in HCD_HC_OUT_IRQHandler()
2114 hhcd->hc[chnum & 0xFU].toggle_out ^= 1U; in HCD_HC_OUT_IRQHandler()
2123 hhcd->hc[chnum & 0xFU].state = HC_NAK; in HCD_HC_OUT_IRQHandler()
2124 hhcd->hc[chnum & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_OUT_IRQHandler()
2125 hhcd->hc[chnum & 0xFU].ErrCnt = 0U; in HCD_HC_OUT_IRQHandler()
2136 if (hhcd->hc[chnum & 0xFU].doublebuffer == 0U) in HCD_HC_OUT_IRQHandler()
2139 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2141 … HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2149 hhcd->hc[chnum & 0xFU].state = HC_STALL; in HCD_HC_OUT_IRQHandler()
2150 hhcd->hc[chnum & 0xFU].urb_state = URB_STALL; in HCD_HC_OUT_IRQHandler()
2168 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2170 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2180 hhcd->hc[chnum & 0xFU].ErrCnt++; in HCD_HC_OUT_IRQHandler()
2181 if (hhcd->hc[chnum & 0xFU].ErrCnt > 3U) in HCD_HC_OUT_IRQHandler()
2184 hhcd->hc[chnum & 0xFU].urb_state = URB_ERROR; in HCD_HC_OUT_IRQHandler()
2188 hhcd->hc[chnum & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_OUT_IRQHandler()
2191 hhcd->hc[chnum & 0xFU].state = HC_XACTERR; in HCD_HC_OUT_IRQHandler()
2197 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2199 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)chnum, hhcd->hc[chnum & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2630 HCD_HCTypeDef *hc = &(hhcd->hc[ch_num]); in HAL_HCD_PMAlloc() local
2646 hc->doublebuffer = 0U; in HAL_HCD_PMAlloc()
2648 if (hc->ep_num == 0U) in HAL_HCD_PMAlloc()
2655 if (hc->ch_dir == CH_IN_DIR) in HAL_HCD_PMAlloc()
2657 hc->pmaaddr1 = pma_addr0; in HAL_HCD_PMAlloc()
2658 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->RXBD = hc->pmaaddr1; in HAL_HCD_PMAlloc()
2660 if (hc->ep_num == 0U) in HAL_HCD_PMAlloc()
2667 hc->pmaaddr0 = pma_addr0; in HAL_HCD_PMAlloc()
2668 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->TXBD = hc->pmaaddr0; in HAL_HCD_PMAlloc()
2672 hc->pmaadress = pma_addr0; in HAL_HCD_PMAlloc()
2678 hc->doublebuffer = 1U; in HAL_HCD_PMAlloc()
2692 hc->pmaaddr0 = (uint16_t)(pma_addr0); in HAL_HCD_PMAlloc()
2693 hc->pmaaddr1 = (uint16_t)(pma_addr1); in HAL_HCD_PMAlloc()
2696 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->TXBD = pma_addr0; in HAL_HCD_PMAlloc()
2699 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->RXBD = pma_addr1; in HAL_HCD_PMAlloc()
2702 if (hc->ch_dir == CH_IN_DIR) in HAL_HCD_PMAlloc()
2704 hc->pmaadress = hc->pmaaddr1; in HAL_HCD_PMAlloc()
2708 hc->pmaadress = hc->pmaaddr0; in HAL_HCD_PMAlloc()
2733 HCD_HCTypeDef *hc = &(hhcd->hc[ch_num]); in HAL_HCD_PMADeAlloc() local
2736 if (hc->doublebuffer == 0U) in HAL_HCD_PMADeAlloc()
2738 status = HAL_HCD_PMAFree(hhcd, hc->pmaadress, hc->max_packet); in HAL_HCD_PMADeAlloc()
2743 status = HAL_HCD_PMAFree(hhcd, hc->pmaaddr0, hc->max_packet); in HAL_HCD_PMADeAlloc()
2749 status = HAL_HCD_PMAFree(hhcd, hc->pmaaddr1, hc->max_packet); in HAL_HCD_PMADeAlloc()