Lines Matching refs:hc

227     hhcd->hc[ch_num & 0xFU].pmaadress = hhcd->hc[0U].pmaadress;  in HAL_HCD_HC_Init()
228 hhcd->hc[ch_num & 0xFU].pmaaddr0 = hhcd->hc[0U].pmaaddr0; in HAL_HCD_HC_Init()
229 hhcd->hc[ch_num & 0xFU].pmaaddr1 = hhcd->hc[0U].pmaaddr1; in HAL_HCD_HC_Init()
247 hhcd->hc[ch_num & 0xFU].phy_ch_num = HAL_HCD_Get_FreePhyChannel(hhcd, ch_num, epnum, ep_type); in HAL_HCD_HC_Init()
250 if (hhcd->hc[ch_num & 0xFU].phy_ch_num == HCD_FREE_CH_NOT_FOUND) in HAL_HCD_HC_Init()
260 hhcd->hc[ch_num & 0xFU].phy_ch_num = (used_channel & 0xF0U) >> 4U; in HAL_HCD_HC_Init()
265 hhcd->hc[ch_num & 0xFU].ch_dir = CH_IN_DIR; in HAL_HCD_HC_Init()
269 hhcd->hc[ch_num & 0xFU].ch_dir = CH_OUT_DIR; in HAL_HCD_HC_Init()
272 hhcd->hc[ch_num & 0xFU].dev_addr = dev_address; in HAL_HCD_HC_Init()
273 hhcd->hc[ch_num & 0xFU].max_packet = mps; in HAL_HCD_HC_Init()
274 hhcd->hc[ch_num & 0xFU].ep_type = ep_type; in HAL_HCD_HC_Init()
275 hhcd->hc[ch_num & 0xFU].ep_num = epnum & 0x7FU; in HAL_HCD_HC_Init()
276 hhcd->hc[ch_num & 0xFU].speed = speed; in HAL_HCD_HC_Init()
294 HCD_CLEAR_TX_DTOG(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Init()
297 HCD_CLEAR_RX_DTOG(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Init()
302 if (hhcd->hc[ch_num & 0xFU].ep_num != 0U) in HAL_HCD_HC_Init()
320 if (hhcd->hc[ch_num & 0xFU].ch_dir == CH_OUT_DIR) in HAL_HCD_HC_Init()
342 hhcd->hc[ch_num & 0xFU].ch_dir = CH_OUT_DIR; in HAL_HCD_HC_Init()
352 hhcd->hc[ch_num & 0xFU].ch_dir = CH_IN_DIR; in HAL_HCD_HC_Init()
370 hhcd->hc[ch_num & 0xFU].pmaaddr1 = hhcd->hc[ep0_virtual_channel & 0xFU].pmaaddr1; in HAL_HCD_HC_Init()
374 hhcd->hc[ch_num & 0xFU].pmaaddr0 = hhcd->hc[ep0_virtual_channel & 0xFU].pmaaddr0; in HAL_HCD_HC_Init()
394 hhcd->hc[ch_num & 0xFU].ch_dir = CH_IN_DIR; in HAL_HCD_HC_Init()
396 if (hhcd->hc[ch_num & 0xFU].ep_num == 0U) in HAL_HCD_HC_Init()
398 hhcd->hc[ch_num & 0xFU].pmaadress = hhcd->hc[ch_num & 0xFU].pmaaddr1; in HAL_HCD_HC_Init()
403 hhcd->hc[ch_num & 0xFU].ch_dir = CH_OUT_DIR; in HAL_HCD_HC_Init()
405 if (hhcd->hc[ch_num & 0xFU].ep_num == 0U) in HAL_HCD_HC_Init()
407 hhcd->hc[ch_num & 0xFU].pmaadress = hhcd->hc[ch_num & 0xFU].pmaaddr0; in HAL_HCD_HC_Init()
412 status = USB_HC_Init(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num, in HAL_HCD_HC_Init()
420 (void)USB_HC_DoubleBuffer(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num, in HAL_HCD_HC_Init()
430 (void)USB_HC_DoubleBuffer(hhcd->Instance, hhcd->hc[ch_num & 0xFU].phy_ch_num, in HAL_HCD_HC_Init()
454 if (hhcd->hc[ch_num & 0xFU].ch_dir == CH_IN_DIR) in HAL_HCD_HC_Close()
457 hhcd->phy_chin_state[hhcd->hc[ch_num & 0xFU].phy_ch_num] = 0U; in HAL_HCD_HC_Close()
462 hhcd->phy_chout_state[hhcd->hc[ch_num & 0xFU].phy_ch_num] = 0U; in HAL_HCD_HC_Close()
483 if (hhcd->hc[ch_num & 0xFU].ch_dir == CH_IN_DIR) in HAL_HCD_HC_Halt()
485 (void)USB_HC_IN_Halt(hhcd->Instance, (uint8_t) hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Halt()
489 (void)USB_HC_OUT_Halt(hhcd->Instance, (uint8_t) hhcd->hc[ch_num & 0xFU].phy_ch_num); in HAL_HCD_HC_Halt()
648 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_SETUP; in HAL_HCD_HC_SubmitRequest()
652 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
664 hhcd->hc[ch_num & 0xFU].toggle_out = 1U; in HAL_HCD_HC_SubmitRequest()
668 if (hhcd->hc[ch_num & 0xFU].toggle_out == 0U) in HAL_HCD_HC_SubmitRequest()
671 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
676 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
685 if (hhcd->hc[ch_num & 0xFU].toggle_out == 0U) in HAL_HCD_HC_SubmitRequest()
688 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
693 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
698 if (hhcd->hc[ch_num & 0xFU].toggle_in == 0U) in HAL_HCD_HC_SubmitRequest()
700 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
704 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
713 if (hhcd->hc[ch_num & 0xFU].toggle_out == 0U) in HAL_HCD_HC_SubmitRequest()
716 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
721 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
726 if (hhcd->hc[ch_num & 0xFU].toggle_in == 0U) in HAL_HCD_HC_SubmitRequest()
728 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
732 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA1; in HAL_HCD_HC_SubmitRequest()
738 hhcd->hc[ch_num & 0xFU].data_pid = HC_PID_DATA0; in HAL_HCD_HC_SubmitRequest()
745 hhcd->hc[ch_num & 0xFU].xfer_buff = pbuff; in HAL_HCD_HC_SubmitRequest()
746 hhcd->hc[ch_num & 0xFU].xfer_len = length; in HAL_HCD_HC_SubmitRequest()
747 hhcd->hc[ch_num & 0xFU].xfer_len_db = length; in HAL_HCD_HC_SubmitRequest()
748 hhcd->hc[ch_num & 0xFU].urb_state = URB_IDLE; in HAL_HCD_HC_SubmitRequest()
749 hhcd->hc[ch_num & 0xFU].xfer_count = 0U; in HAL_HCD_HC_SubmitRequest()
750 hhcd->hc[ch_num & 0xFU].state = HC_IDLE; in HAL_HCD_HC_SubmitRequest()
752 return USB_HC_StartXfer(hhcd->Instance, &hhcd->hc[ch_num & 0xFU]); in HAL_HCD_HC_SubmitRequest()
1460 return hhcd->hc[chnum].urb_state; in HAL_HCD_HC_GetURBState()
1473 return hhcd->hc[chnum].xfer_count; in HAL_HCD_HC_GetXferCount()
1495 return hhcd->hc[chnum].state; in HAL_HCD_HC_GetState()
1533 hhcd->hc[ch_num].hub_addr = addr; in HAL_HCD_HC_SetHubInfo()
1534 hhcd->hc[ch_num].hub_port_nbr = PortNbr; in HAL_HCD_HC_SetHubInfo()
1549 hhcd->hc[ch_num].hub_addr = 0U; in HAL_HCD_HC_ClearHubInfo()
1550 hhcd->hc[ch_num].hub_port_nbr = 0U; in HAL_HCD_HC_ClearHubInfo()
1575 if (hhcd->hc[ch_num & 0xFU].xfer_len >= data_xfr) in HCD_HC_OUT_BulkDb()
1577 hhcd->hc[ch_num & 0xFU].xfer_len -= data_xfr; in HCD_HC_OUT_BulkDb()
1581 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_OUT_BulkDb()
1585 if (hhcd->hc[ch_num & 0xFU].xfer_len != 0U) in HCD_HC_OUT_BulkDb()
1588 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1600 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > 0U) /* Still data to fill in the buffer */ in HCD_HC_OUT_BulkDb()
1602 hhcd->hc[ch_num & 0xFU].xfer_buff += data_xfr; in HCD_HC_OUT_BulkDb()
1605 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > hhcd->hc[ch_num & 0xFU].max_packet) in HCD_HC_OUT_BulkDb()
1607 len = (uint16_t)hhcd->hc[ch_num & 0xFU].max_packet; in HCD_HC_OUT_BulkDb()
1608 hhcd->hc[ch_num & 0xFU].xfer_len_db -= len; in HCD_HC_OUT_BulkDb()
1612 len = (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_len_db; in HCD_HC_OUT_BulkDb()
1613 hhcd->hc[ch_num & 0xFU].xfer_len_db = 0U; /* end of fill buffer */ in HCD_HC_OUT_BulkDb()
1618 USB_WritePMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_OUT_BulkDb()
1619 hhcd->hc[ch_num & 0xFU].pmaaddr0, (uint16_t)len); in HCD_HC_OUT_BulkDb()
1627 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1628 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_OUT_BulkDb()
1629 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_BulkDb()
1630 hhcd->hc[ch_num & 0xFU].toggle_out ^= 1U; in HCD_HC_OUT_BulkDb()
1640 if (hhcd->hc[ch_num & 0xFU].xfer_len >= data_xfr) /* updated */ in HCD_HC_OUT_BulkDb()
1642 hhcd->hc[ch_num & 0xFU].xfer_len -= data_xfr; in HCD_HC_OUT_BulkDb()
1646 if (hhcd->hc[ch_num & 0xFU].xfer_len != 0U) in HCD_HC_OUT_BulkDb()
1649 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1661 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > 0U) /* Still data to fill in the buffer */ in HCD_HC_OUT_BulkDb()
1663 hhcd->hc[ch_num & 0xFU].xfer_buff += data_xfr; in HCD_HC_OUT_BulkDb()
1666 if (hhcd->hc[ch_num & 0xFU].xfer_len_db > hhcd->hc[ch_num & 0xFU].max_packet) in HCD_HC_OUT_BulkDb()
1668 len = hhcd->hc[ch_num & 0xFU].max_packet; in HCD_HC_OUT_BulkDb()
1669 hhcd->hc[ch_num & 0xFU].xfer_len_db -= len; in HCD_HC_OUT_BulkDb()
1673 len = (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_len_db; in HCD_HC_OUT_BulkDb()
1674 hhcd->hc[ch_num & 0xFU].xfer_len_db = 0U; /* end of fill buffer */ in HCD_HC_OUT_BulkDb()
1680 USB_WritePMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_OUT_BulkDb()
1681 hhcd->hc[ch_num & 0xFU].pmaaddr1, (uint16_t)len); in HCD_HC_OUT_BulkDb()
1690 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_BulkDb()
1691 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_OUT_BulkDb()
1692 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_BulkDb()
1693 hhcd->hc[ch_num & 0xFU].toggle_out ^= 1U; in HCD_HC_OUT_BulkDb()
1720 if (hhcd->hc[ch_num & 0xFU].xfer_len <= received_bytes) in HCD_HC_IN_BulkDb()
1722 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_IN_BulkDb()
1726 hhcd->hc[ch_num & 0xFU].xfer_len -= received_bytes; in HCD_HC_IN_BulkDb()
1730 if ((hhcd->hc[ch_num & 0xFU].xfer_len != 0U) && ((regvalue & USB_CH_DTOG_TX) != 0U)) in HCD_HC_IN_BulkDb()
1737 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_BulkDb()
1738 hhcd->hc[ch_num & 0xFU].pmaaddr0, (uint16_t)received_bytes); in HCD_HC_IN_BulkDb()
1745 if (hhcd->hc[ch_num & 0xFU].xfer_len <= received_bytes) in HCD_HC_IN_BulkDb()
1747 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_IN_BulkDb()
1751 hhcd->hc[ch_num & 0xFU].xfer_len -= received_bytes; in HCD_HC_IN_BulkDb()
1755 if ((hhcd->hc[ch_num & 0xFU].xfer_len != 0U) && ((regvalue & USB_CH_DTOG_TX) == 0U)) in HCD_HC_IN_BulkDb()
1762 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_BulkDb()
1763 hhcd->hc[ch_num & 0xFU].pmaaddr1, (uint16_t)received_bytes); in HCD_HC_IN_BulkDb()
1767 hhcd->hc[ch_num & 0xFU].xfer_count += received_bytes; in HCD_HC_IN_BulkDb()
1770 hhcd->hc[ch_num & 0xFU].state = HC_ACK; in HCD_HC_IN_BulkDb()
1771 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_IN_BulkDb()
1773 if ((hhcd->hc[ch_num & 0xFU].xfer_len == 0U) || in HCD_HC_IN_BulkDb()
1774 ((received_bytes < hhcd->hc[ch_num & 0xFU].max_packet))) in HCD_HC_IN_BulkDb()
1776 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_BulkDb()
1777 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_IN_BulkDb()
1784 hhcd->hc[ch_num & 0xFU].xfer_buff += received_bytes; in HCD_HC_IN_BulkDb()
1807 hhcd->hc[ch_num & 0xFU].xfer_count = HCD_GET_CH_RX_CNT(hhcd->Instance, phy_chnum); in HCD_HC_IN_ISO()
1808 if (hhcd->hc[ch_num & 0xFU].xfer_count != 0U) in HCD_HC_IN_ISO()
1810 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_ISO()
1811 hhcd->hc[ch_num & 0xFU].pmaadress, in HCD_HC_IN_ISO()
1812 (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_count); in HCD_HC_IN_ISO()
1814 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_ISO()
1824 hhcd->hc[ch_num & 0xFU].xfer_count = HCD_GET_CH_DBUF0_CNT(hhcd->Instance, phy_chnum); in HCD_HC_IN_ISO()
1826 if (hhcd->hc[ch_num & 0xFU].xfer_count != 0U) in HCD_HC_IN_ISO()
1829 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_ISO()
1830 hhcd->hc[ch_num & 0xFU].pmaaddr0, in HCD_HC_IN_ISO()
1831 (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_count); in HCD_HC_IN_ISO()
1833 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_ISO()
1839 hhcd->hc[ch_num & 0xFU].xfer_count = HCD_GET_CH_DBUF1_CNT(hhcd->Instance, phy_chnum); in HCD_HC_IN_ISO()
1841 if (hhcd->hc[ch_num & 0xFU].xfer_count != 0U) in HCD_HC_IN_ISO()
1844 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_ISO()
1845 hhcd->hc[ch_num & 0xFU].pmaaddr1, in HCD_HC_IN_ISO()
1846 (uint16_t)hhcd->hc[ch_num & 0xFU].xfer_count); in HCD_HC_IN_ISO()
1848 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_ISO()
1855 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_IN_ISO()
1894 USB_ReadPMA(hhcd->Instance, hhcd->hc[ch_num & 0xFU].xfer_buff, in HCD_HC_IN_IRQHandler()
1895 hhcd->hc[ch_num & 0xFU].pmaadress, (uint16_t)received_bytes); in HCD_HC_IN_IRQHandler()
1898 hhcd->hc[ch_num & 0xFU].xfer_count += received_bytes; in HCD_HC_IN_IRQHandler()
1901 hhcd->hc[ch_num & 0xFU].state = HC_ACK; in HCD_HC_IN_IRQHandler()
1902 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_IN_IRQHandler()
1904 if (hhcd->hc[ch_num & 0xFU].xfer_len <= received_bytes) in HCD_HC_IN_IRQHandler()
1906 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_IN_IRQHandler()
1910 hhcd->hc[ch_num & 0xFU].xfer_len -= received_bytes; in HCD_HC_IN_IRQHandler()
1913 if ((hhcd->hc[ch_num & 0xFU].xfer_len == 0U) || in HCD_HC_IN_IRQHandler()
1914 ((received_bytes < hhcd->hc[ch_num & 0xFU].max_packet))) in HCD_HC_IN_IRQHandler()
1916 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_IN_IRQHandler()
1917 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_IN_IRQHandler()
1921 hhcd->hc[ch_num & 0xFU].xfer_buff += received_bytes; in HCD_HC_IN_IRQHandler()
1927 if ((hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_BULK) || in HCD_HC_IN_IRQHandler()
1928 (hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_INTR)) in HCD_HC_IN_IRQHandler()
1930 hhcd->hc[ch_num & 0xFU].toggle_in ^= 1U; in HCD_HC_IN_IRQHandler()
1935 && (hhcd->hc[ch_num & 0xFU].urb_state != URB_DONE)) in HCD_HC_IN_IRQHandler()
1937 hhcd->hc[ch_num & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_IN_IRQHandler()
1938 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_IN_IRQHandler()
1939 hhcd->hc[ch_num & 0xFU].state = HC_NAK; in HCD_HC_IN_IRQHandler()
1941 if (hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_INTR) in HCD_HC_IN_IRQHandler()
1951 hhcd->hc[ch_num & 0xFU].state = HC_STALL; in HCD_HC_IN_IRQHandler()
1952 hhcd->hc[ch_num & 0xFU].urb_state = URB_STALL; in HCD_HC_IN_IRQHandler()
1973 hhcd->HC_NotifyURBChangeCallback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
1975 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
1985 hhcd->hc[ch_num & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_IN_IRQHandler()
1986 hhcd->hc[ch_num & 0xFU].ErrCnt++; in HCD_HC_IN_IRQHandler()
1987 hhcd->hc[ch_num & 0xFU].state = HC_XACTERR; in HCD_HC_IN_IRQHandler()
1993 if (hhcd->hc[ch_num & 0xFU].ErrCnt > 3U) in HCD_HC_IN_IRQHandler()
1995 hhcd->hc[ch_num & 0xFU].urb_state = URB_ERROR; in HCD_HC_IN_IRQHandler()
2003 hhcd->HC_NotifyURBChangeCallback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
2005 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_IN_IRQHandler()
2063 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_OUT_IRQHandler()
2064 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_IRQHandler()
2072 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2074 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2085 if (hhcd->hc[ch_num & 0xFU].xfer_len >= data_xfr) in HCD_HC_OUT_IRQHandler()
2087 hhcd->hc[ch_num & 0xFU].xfer_len -= data_xfr; in HCD_HC_OUT_IRQHandler()
2091 hhcd->hc[ch_num & 0xFU].xfer_len = 0U; in HCD_HC_OUT_IRQHandler()
2094 if ((hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_BULK) || in HCD_HC_OUT_IRQHandler()
2095 (hhcd->hc[ch_num & 0xFU].ep_type == EP_TYPE_INTR)) in HCD_HC_OUT_IRQHandler()
2097 hhcd->hc[ch_num & 0xFU].toggle_out ^= 1U; in HCD_HC_OUT_IRQHandler()
2101 if (hhcd->hc[ch_num & 0xFU].xfer_len != 0U) in HCD_HC_OUT_IRQHandler()
2104 hhcd->hc[ch_num & 0xFU].xfer_buff += data_xfr; in HCD_HC_OUT_IRQHandler()
2105 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_IRQHandler()
2108 (void) USB_HC_StartXfer(hhcd->Instance, &hhcd->hc[ch_num & 0xFU]); in HCD_HC_OUT_IRQHandler()
2113 hhcd->hc[ch_num & 0xFU].xfer_count += data_xfr; in HCD_HC_OUT_IRQHandler()
2114 hhcd->hc[ch_num & 0xFU].state = HC_XFRC; in HCD_HC_OUT_IRQHandler()
2115 hhcd->hc[ch_num & 0xFU].urb_state = URB_DONE; in HCD_HC_OUT_IRQHandler()
2123 hhcd->hc[ch_num & 0xFU].state = HC_NAK; in HCD_HC_OUT_IRQHandler()
2124 hhcd->hc[ch_num & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_OUT_IRQHandler()
2125 hhcd->hc[ch_num & 0xFU].ErrCnt = 0U; in HCD_HC_OUT_IRQHandler()
2136 if (hhcd->hc[ch_num & 0xFU].doublebuffer == 0U) in HCD_HC_OUT_IRQHandler()
2139 … hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2141 … HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2149 hhcd->hc[ch_num & 0xFU].state = HC_STALL; in HCD_HC_OUT_IRQHandler()
2150 hhcd->hc[ch_num & 0xFU].urb_state = URB_STALL; in HCD_HC_OUT_IRQHandler()
2168 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2170 … HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2180 hhcd->hc[ch_num & 0xFU].ErrCnt++; in HCD_HC_OUT_IRQHandler()
2181 if (hhcd->hc[ch_num & 0xFU].ErrCnt > 3U) in HCD_HC_OUT_IRQHandler()
2184 hhcd->hc[ch_num & 0xFU].urb_state = URB_ERROR; in HCD_HC_OUT_IRQHandler()
2188 hhcd->hc[ch_num & 0xFU].urb_state = URB_NOTREADY; in HCD_HC_OUT_IRQHandler()
2191 hhcd->hc[ch_num & 0xFU].state = HC_XACTERR; in HCD_HC_OUT_IRQHandler()
2197 hhcd->HC_NotifyURBChangeCallback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 0xFU].urb_state); in HCD_HC_OUT_IRQHandler()
2199 HAL_HCD_HC_NotifyURBChange_Callback(hhcd, (uint8_t)ch_num, hhcd->hc[ch_num & 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()
2656 if (hc->ch_dir == CH_IN_DIR) in HAL_HCD_PMAlloc()
2658 hc->pmaaddr1 = pma_addr0; in HAL_HCD_PMAlloc()
2659 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->RXBD = hc->pmaaddr1; in HAL_HCD_PMAlloc()
2661 if (hc->ep_num == 0U) in HAL_HCD_PMAlloc()
2668 hc->pmaaddr0 = pma_addr0; in HAL_HCD_PMAlloc()
2669 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->TXBD = hc->pmaaddr0; in HAL_HCD_PMAlloc()
2673 hc->pmaadress = pma_addr0; in HAL_HCD_PMAlloc()
2679 hc->doublebuffer = 1U; in HAL_HCD_PMAlloc()
2693 hc->pmaaddr0 = (uint16_t)(pma_addr0); in HAL_HCD_PMAlloc()
2694 hc->pmaaddr1 = (uint16_t)(pma_addr1); in HAL_HCD_PMAlloc()
2697 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->TXBD = pma_addr0; in HAL_HCD_PMAlloc()
2700 (USB_DRD_PMA_BUFF + hc->phy_ch_num)->RXBD = pma_addr1; in HAL_HCD_PMAlloc()
2703 if (hc->ch_dir == CH_IN_DIR) in HAL_HCD_PMAlloc()
2705 hc->pmaadress = hc->pmaaddr1; in HAL_HCD_PMAlloc()
2709 hc->pmaadress = hc->pmaaddr0; in HAL_HCD_PMAlloc()
2734 HCD_HCTypeDef *hc = &(hhcd->hc[ch_num]); in HAL_HCD_PMADeAlloc() local
2737 if (hc->doublebuffer == 0U) in HAL_HCD_PMADeAlloc()
2739 status = HAL_HCD_PMAFree(hhcd, hc->pmaadress, hc->max_packet); in HAL_HCD_PMADeAlloc()
2744 status = HAL_HCD_PMAFree(hhcd, hc->pmaaddr0, hc->max_packet); in HAL_HCD_PMADeAlloc()
2750 status = HAL_HCD_PMAFree(hhcd, hc->pmaaddr1, hc->max_packet); in HAL_HCD_PMADeAlloc()