Lines Matching refs:hc

1835 HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma)  in USB_HC_StartXfer()  argument
1838 uint32_t ch_num = (uint32_t)hc->ch_num; in USB_HC_StartXfer()
1851 if (((hc->ep_type == EP_TYPE_CTRL) || (hc->ep_type == EP_TYPE_BULK)) && (hc->do_ssplit == 0U)) in USB_HC_StartXfer()
1861 if ((hc->speed == USBH_HS_SPEED) && (hc->do_ping == 1U)) in USB_HC_StartXfer()
1863 (void)USB_DoPing(USBx, hc->ch_num); in USB_HC_StartXfer()
1870 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1875 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1877 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1881 if (hc->ep_type == EP_TYPE_ISOC) in USB_HC_StartXfer()
1883 if (hc->xfer_len > ISO_SPLT_MPS) in USB_HC_StartXfer()
1886 hc->XferSize = hc->max_packet; in USB_HC_StartXfer()
1887 hc->xfer_len = hc->XferSize; in USB_HC_StartXfer()
1889 if ((hc->iso_splt_xactPos == HCSPLT_BEGIN) || (hc->iso_splt_xactPos == HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1891 hc->iso_splt_xactPos = HCSPLT_MIDDLE; in USB_HC_StartXfer()
1895 hc->iso_splt_xactPos = HCSPLT_BEGIN; in USB_HC_StartXfer()
1900 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1902 if ((hc->iso_splt_xactPos != HCSPLT_BEGIN) && (hc->iso_splt_xactPos != HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1904 hc->iso_splt_xactPos = HCSPLT_FULL; in USB_HC_StartXfer()
1908 hc->iso_splt_xactPos = HCSPLT_END; in USB_HC_StartXfer()
1914 if ((dma == 1U) && (hc->xfer_len > hc->max_packet)) in USB_HC_StartXfer()
1916 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1920 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1928 if (hc->xfer_len > 0U) in USB_HC_StartXfer()
1930 num_packets = (uint16_t)((hc->xfer_len + hc->max_packet - 1U) / hc->max_packet); in USB_HC_StartXfer()
1935 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1947 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1949 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1953 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1958 USBx_HC(ch_num)->HCTSIZ = (hc->XferSize & USB_OTG_HCTSIZ_XFRSIZ) | in USB_HC_StartXfer()
1960 (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); in USB_HC_StartXfer()
1965 USBx_HC(ch_num)->HCDMA = (uint32_t)hc->xfer_buff; in USB_HC_StartXfer()
1972 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1975 USBx_HC((uint32_t)ch_num)->HCSPLT = ((uint32_t)hc->hub_addr << USB_OTG_HCSPLT_HUBADDR_Pos) | in USB_HC_StartXfer()
1976 (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; in USB_HC_StartXfer()
1982 if ((hc->do_csplit == 1U) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1988 if (((hc->ep_type == EP_TYPE_ISOC) || (hc->ep_type == EP_TYPE_INTR)) && in USB_HC_StartXfer()
1989 (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) in USB_HC_StartXfer()
1995 if ((hc->ep_type == EP_TYPE_ISOC) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1998 switch (hc->iso_splt_xactPos) in USB_HC_StartXfer()
2036 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
2052 if ((hc->ep_is_in == 0U) && (hc->xfer_len > 0U) && (hc->do_csplit == 0U)) in USB_HC_StartXfer()
2054 switch (hc->ep_type) in USB_HC_StartXfer()
2060 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
2073 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
2087 (void)USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, (uint16_t)hc->xfer_len, 0); in USB_HC_StartXfer()
2318 USB_DRD_HCTypeDef *hc,
2323 USB_DRD_HCTypeDef *hc,
3446 HAL_StatusTypeDef USB_HC_StartXfer(USB_DRD_TypeDef *USBx, USB_DRD_HCTypeDef *hc) in USB_HC_StartXfer() argument
3449 uint32_t phy_ch_num = (uint32_t)hc->phy_ch_num; in USB_HC_StartXfer()
3454 if (hc->ch_dir == CH_IN_DIR) /* In Channel */ in USB_HC_StartXfer()
3457 if (hc->xfer_len > hc->max_packet) in USB_HC_StartXfer()
3459 len = hc->max_packet; in USB_HC_StartXfer()
3463 len = hc->xfer_len; in USB_HC_StartXfer()
3466 if (hc->doublebuffer == 0U) in USB_HC_StartXfer()
3468 if ((hc->ep_type == EP_TYPE_BULK) || in USB_HC_StartXfer()
3469 (hc->ep_type == EP_TYPE_INTR)) in USB_HC_StartXfer()
3474 if (hc->data_pid == HC_PID_DATA1) in USB_HC_StartXfer()
3484 else if (hc->ep_type == EP_TYPE_BULK) in USB_HC_StartXfer()
3487 if ((hc->xfer_len > hc->max_packet)) in USB_HC_StartXfer()
3517 if (hc->xfer_len > hc->max_packet) in USB_HC_StartXfer()
3519 len = hc->max_packet; in USB_HC_StartXfer()
3523 len = hc->xfer_len; in USB_HC_StartXfer()
3527 if (hc->doublebuffer == 0U) in USB_HC_StartXfer()
3529 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaadress, (uint16_t)len); in USB_HC_StartXfer()
3533 if ((hc->data_pid) == HC_PID_SETUP) in USB_HC_StartXfer()
3538 if ((hc->ep_type == EP_TYPE_BULK) || in USB_HC_StartXfer()
3539 (hc->ep_type == EP_TYPE_INTR)) in USB_HC_StartXfer()
3544 if (hc->data_pid == HC_PID_DATA1) in USB_HC_StartXfer()
3551 else if (hc->ep_type == EP_TYPE_BULK) in USB_HC_StartXfer()
3553 (void)USB_HC_BULK_DB_StartXfer(USBx, hc, ch_reg, &len); in USB_HC_StartXfer()
3557 (void)USB_HC_ISO_DB_StartXfer(USBx, hc, len); in USB_HC_StartXfer()
3562 USB_DRD_SET_CHEP_TX_STATUS(USBx, hc->phy_ch_num, USB_CH_TX_VALID); in USB_HC_StartXfer()
3578 USB_DRD_HCTypeDef *hc, in USB_HC_ISO_DB_StartXfer() argument
3581 uint32_t phy_ch_num = (uint32_t)hc->phy_ch_num; in USB_HC_ISO_DB_StartXfer()
3587 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)len); in USB_HC_ISO_DB_StartXfer()
3594 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr1, (uint16_t)len); in USB_HC_ISO_DB_StartXfer()
3610 USB_DRD_HCTypeDef *hc, in USB_HC_BULK_DB_StartXfer() argument
3614 uint32_t phy_ch_num = (uint32_t)hc->phy_ch_num; in USB_HC_BULK_DB_StartXfer()
3617 if (hc->xfer_len_db > hc->max_packet) in USB_HC_BULK_DB_StartXfer()
3621 *len = hc->max_packet; in USB_HC_BULK_DB_StartXfer()
3622 hc->xfer_len_db -= *len; in USB_HC_BULK_DB_StartXfer()
3629 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3635 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr1, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3638 hc->xfer_buff += *len; in USB_HC_BULK_DB_StartXfer()
3641 if (hc->xfer_len_db > hc->max_packet) in USB_HC_BULK_DB_StartXfer()
3643 hc->xfer_len_db -= *len; in USB_HC_BULK_DB_StartXfer()
3647 *len = hc->xfer_len_db; in USB_HC_BULK_DB_StartXfer()
3648 hc->xfer_len_db = 0U; in USB_HC_BULK_DB_StartXfer()
3655 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr1, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3661 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()
3668 USB_WritePMA(USBx, hc->xfer_buff, hc->pmaaddr0, (uint16_t)*len); in USB_HC_BULK_DB_StartXfer()