Lines Matching refs:hc
1823 HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma) in USB_HC_StartXfer() argument
1826 uint32_t ch_num = (uint32_t)hc->ch_num; in USB_HC_StartXfer()
1839 if (((hc->ep_type == EP_TYPE_CTRL) || (hc->ep_type == EP_TYPE_BULK)) && (hc->do_ssplit == 0U)) in USB_HC_StartXfer()
1849 if ((hc->speed == USBH_HS_SPEED) && (hc->do_ping == 1U)) in USB_HC_StartXfer()
1851 (void)USB_DoPing(USBx, hc->ch_num); in USB_HC_StartXfer()
1858 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1863 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1865 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1869 if (hc->ep_type == EP_TYPE_ISOC) in USB_HC_StartXfer()
1871 if (hc->xfer_len > ISO_SPLT_MPS) in USB_HC_StartXfer()
1874 hc->XferSize = hc->max_packet; in USB_HC_StartXfer()
1875 hc->xfer_len = hc->XferSize; in USB_HC_StartXfer()
1877 if ((hc->iso_splt_xactPos == HCSPLT_BEGIN) || (hc->iso_splt_xactPos == HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1879 hc->iso_splt_xactPos = HCSPLT_MIDDLE; in USB_HC_StartXfer()
1883 hc->iso_splt_xactPos = HCSPLT_BEGIN; in USB_HC_StartXfer()
1888 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1890 if ((hc->iso_splt_xactPos != HCSPLT_BEGIN) && (hc->iso_splt_xactPos != HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1892 hc->iso_splt_xactPos = HCSPLT_FULL; in USB_HC_StartXfer()
1896 hc->iso_splt_xactPos = HCSPLT_END; in USB_HC_StartXfer()
1902 if ((dma == 1U) && (hc->xfer_len > hc->max_packet)) in USB_HC_StartXfer()
1904 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1908 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1916 if (hc->xfer_len > 0U) in USB_HC_StartXfer()
1918 num_packets = (uint16_t)((hc->xfer_len + hc->max_packet - 1U) / hc->max_packet); in USB_HC_StartXfer()
1923 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1935 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1937 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1941 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1946 USBx_HC(ch_num)->HCTSIZ = (hc->XferSize & USB_OTG_HCTSIZ_XFRSIZ) | in USB_HC_StartXfer()
1948 (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); in USB_HC_StartXfer()
1953 USBx_HC(ch_num)->HCDMA = (uint32_t)hc->xfer_buff; in USB_HC_StartXfer()
1960 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1963 USBx_HC((uint32_t)ch_num)->HCSPLT = ((uint32_t)hc->hub_addr << USB_OTG_HCSPLT_HUBADDR_Pos) | in USB_HC_StartXfer()
1964 (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; in USB_HC_StartXfer()
1970 if ((hc->do_csplit == 1U) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1976 if (((hc->ep_type == EP_TYPE_ISOC) || (hc->ep_type == EP_TYPE_INTR)) && in USB_HC_StartXfer()
1977 (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) in USB_HC_StartXfer()
1983 if ((hc->ep_type == EP_TYPE_ISOC) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1986 switch (hc->iso_splt_xactPos) in USB_HC_StartXfer()
2024 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
2040 if ((hc->ep_is_in == 0U) && (hc->xfer_len > 0U) && (hc->do_csplit == 0U)) in USB_HC_StartXfer()
2042 switch (hc->ep_type) in USB_HC_StartXfer()
2048 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
2061 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
2075 (void)USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, (uint16_t)hc->xfer_len, 0); in USB_HC_StartXfer()
2306 USB_DRD_HCTypeDef *hc,
2311 USB_DRD_HCTypeDef *hc,
3429 HAL_StatusTypeDef USB_HC_StartXfer(USB_DRD_TypeDef *USBx, USB_DRD_HCTypeDef *hc) in USB_HC_StartXfer() argument
3432 uint32_t phy_ch_num = (uint32_t)hc->phy_ch_num; in USB_HC_StartXfer()
3437 if (hc->ch_dir == CH_IN_DIR) /* In Channel */ in USB_HC_StartXfer()
3440 if (hc->xfer_len > hc->max_packet) in USB_HC_StartXfer()
3442 len = hc->max_packet; in USB_HC_StartXfer()
3446 len = hc->xfer_len; in USB_HC_StartXfer()
3449 if (hc->doublebuffer == 0U) in USB_HC_StartXfer()
3451 if ((hc->ep_type == EP_TYPE_BULK) || in USB_HC_StartXfer()
3452 (hc->ep_type == EP_TYPE_INTR)) in USB_HC_StartXfer()
3457 if (hc->data_pid == HC_PID_DATA1) in USB_HC_StartXfer()
3467 else if (hc->ep_type == EP_TYPE_BULK) in USB_HC_StartXfer()
3470 if ((hc->xfer_len > hc->max_packet)) in USB_HC_StartXfer()
3500 if (hc->xfer_len > hc->max_packet) in USB_HC_StartXfer()
3502 len = hc->max_packet; in USB_HC_StartXfer()
3506 len = hc->xfer_len; in USB_HC_StartXfer()
3510 if (hc->doublebuffer == 0U) in USB_HC_StartXfer()
3512 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaadress, (uint16_t)len); in USB_HC_StartXfer()
3516 if ((hc->data_pid) == HC_PID_SETUP) in USB_HC_StartXfer()
3521 if ((hc->ep_type == EP_TYPE_BULK) || in USB_HC_StartXfer()
3522 (hc->ep_type == EP_TYPE_INTR)) in USB_HC_StartXfer()
3527 if (hc->data_pid == HC_PID_DATA1) in USB_HC_StartXfer()
3534 else if (hc->ep_type == EP_TYPE_BULK) in USB_HC_StartXfer()
3536 (void)USB_HC_BULK_DB_StartXfer(USBx, hc, ch_reg, &len); in USB_HC_StartXfer()
3540 (void)USB_HC_ISO_DB_StartXfer(USBx, hc, len); in USB_HC_StartXfer()
3545 USB_DRD_SET_CHEP_TX_STATUS(USBx, hc->phy_ch_num, USB_CH_TX_VALID); in USB_HC_StartXfer()
3561 USB_DRD_HCTypeDef *hc, in USB_HC_ISO_DB_StartXfer() argument
3564 uint32_t phy_ch_num = (uint32_t)hc->phy_ch_num; in USB_HC_ISO_DB_StartXfer()
3570 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)len); in USB_HC_ISO_DB_StartXfer()
3577 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr1, (uint16_t)len); in USB_HC_ISO_DB_StartXfer()
3593 USB_DRD_HCTypeDef *hc, in USB_HC_BULK_DB_StartXfer() argument
3597 uint32_t phy_ch_num = (uint32_t)hc->phy_ch_num; in USB_HC_BULK_DB_StartXfer()
3600 if (hc->xfer_len_db > hc->max_packet) in USB_HC_BULK_DB_StartXfer()
3604 *len = hc->max_packet; in USB_HC_BULK_DB_StartXfer()
3605 hc->xfer_len_db -= *len; in USB_HC_BULK_DB_StartXfer()
3612 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3618 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr1, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3621 hc->xfer_buff += *len; in USB_HC_BULK_DB_StartXfer()
3624 if (hc->xfer_len_db > hc->max_packet) in USB_HC_BULK_DB_StartXfer()
3626 hc->xfer_len_db -= *len; in USB_HC_BULK_DB_StartXfer()
3630 *len = hc->xfer_len_db; in USB_HC_BULK_DB_StartXfer()
3631 hc->xfer_len_db = 0U; in USB_HC_BULK_DB_StartXfer()
3638 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr1, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3644 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3651 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()