summaryrefslogtreecommitdiff
path: root/src/portable
AgeCommit message (Collapse)Author
2023-01-31add e15 prefix or walkaround related functions, also minor refactorhathach
2023-01-31minor clean uphathach
2023-01-30fix typohathach
2023-01-30Merge branch 'master' into port-ft90xHa Thach
2023-01-24rp2040: shuffle hw_endpoint membersJonathan Bell
Ordering by element size prevents alignment holes, and as a consequence the host mode version of the struct is the same size as device, as pad bytes at the end are used instead.
2023-01-24rp2040: avoid device-mode state machine hangJonathan Bell
Don't mark IN buffers as available during the last 200us of a full-speed frame. This avoids a situation seen with the USB2.0 hub on a Raspberry Pi 4 where a late IN token before the next full-speed SOF can cause port babble and a corrupt ACK packet. The nature of the data corruption has a chance to cause device lockup. Use the next SOF to mark delayed buffers as available. This reduces available Bulk IN bandwidth by approximately 20%, and requires that the SOF interrupt is enabled while these transfers are ongoing. Inherit the top-level enable from the corresponding Pico-SDK flag. Applications that will not use the device in a situation where it could be plugged into a Pi 4 or Pi 400 (for example, when directly connected to a commodity hub or other host) can turn off the flag in the SDK. v2: use a field in hw_endpoint to mark pending. v3: Partial rewrite following review comments - Stub functions out if the workaround is not required - Only force-enable SOF while any vulnerable endpoints are active - Respect dcd_sof_enable() functionality - Get rid of all but necessary ifdef hackery - Fix a bug where the "endpoint lock" was used with an uninitialised pointer.
2023-01-23rp2040: export hw_endpoint_start_next_buffer() and hw_endpoint_lock_update()Jonathan Bell
The next change to the driver requires the export of these functions. Leave the lock unimplemented for now. Also move hw_set and hw_clear aliases into the top-level header file.
2023-01-18Merge pull request #1847 from HiFiPhile/dwc2_iarHa Thach
dwc2: fix iar warnings
2023-01-12Merge pull request #1405 from gregdavill/ch32v307Ha Thach
Add WCH CH32V307 port
2023-01-12add dcd_remote_wakeup() stubhathach
2023-01-12rename driver with dcd_ to be consitent with other portshathach
2023-01-12add note for openocd with wch, also add wch-riscv.cfghathach
2023-01-11dwc2: fix IAR warnings.MasterPhi
2023-01-09Merge pull request #1843 from HiFiPhile/ip3511Ha Thach
ip3511 : Fix IAR build.
2023-01-08ip3511 : Fix IAR build.MasterPhi
2023-01-07Merge branch 'master' into ch32v307Ha Thach
2023-01-05Add fix to dcd_edpt_iso_activate()Mengsk
2023-01-05Fixed bug where with some devices, the TU_ASSERT inserted with this commit ↵Simon Kueppers
gets triggered for ISOCHRONOUS endpoints. It is necessary for those endpoints to set the NUM_BLOCK and BLSIZE for the receiving buffer in both, USB_COUNTn_TX and USB_COUNTn_RX. Despite the datasheet showing those fields only for the USB_COUNTn_RX register
2023-01-03Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTIONpete-pjb
Add NULL check to loop in list_remove_qhd_by_addr() function in ehci.c
2023-01-02Remove tu_stm32_sof_cbMengsk
2023-01-02Clean up.Mengsk
2022-12-30Fix buffer allocation overflow.Mengsk
2022-12-30Add ISO buffer allocation.Mengsk
2022-12-29Do not set USB_EP_RX_NAK for ISO EP.Mengsk
2022-12-29Fix CI.Mengsk
2022-12-29Add dcd_edpt_iso_alloc() / dcd_edpt_iso_activate() for ISO EP buffer management.Mengsk
2022-12-29Generally enable ISO xfer.Mengsk
2022-12-29Add hardware endpoint allocator.Mengsk
2022-12-29dcd_stm32_fsdev : Implement FIFO transfer correctly.Mengsk
2022-12-29dcd_stm32_fsdev : Fix index out of bound in dcd_write_packet_memory()Mengsk
If src is odd then src[wNBytes] is accessed.
2022-12-29Added improvements with regards to SOF timing jitterSimon Kueppers
2022-12-29Added TU_ATTR_ALWAYS_INLINE to all static inline functionsSimon Kueppers
2022-12-29Fixed various small problems and inaccuracies regarding ISOCHRONOUS endpointSimon Kueppers
2022-12-29SHA-1: 5cb3ed518301e2237ee4e468e97e51ece0ba3838Mengsk
* Correct handling of SOF interrupt
2022-12-29Merge branch 'master' of https://github.com/hathach/tinyusb into stm32_fsdevMengsk
2022-12-29Fixed problem where the transmit byte count was written into the wrong ↵Simon Kueppers
register on ISOCHRONOUS endpoints
2022-12-29Renamed pcd_set_ep_rx_cnt because it actually sets the maximum buffer sizeSimon Kueppers
2022-12-29Changed comments, added define to fail if ISOCHRONOUS endpoint is not ↵Simon Kueppers
available but requested
2022-12-29Fixed non-aligned allocated memory sizesSimon Kueppers
2022-12-29Changed indirection from actual endpoint address to hardware endpoint ↵Simon Kueppers
through lookup table. Allocation of endpoint is now only performed in dcd_edpt_open
2022-12-29Fixed wrongly enabling RX and TX status simultaneously on ISOCHRONOUS endpointsSimon Kueppers
2022-12-29Implemented an optional callback function that is used instead of ↵Simon Kueppers
tu_edpt_number in the stm32 device driver as a crude tool to control mapping of the endpoint address to actual endpoint register
2022-12-29Implemented very rudimentary support for isochronous transfer buffer handlingSimon Kueppers
2022-12-04more typoshathach
2022-12-04Fix typosBastien Nocera
2022-11-30Merge branch 'hathach:master' into port-ft90xGordon McNab
2022-11-30more clean uphathach
2022-11-30white spaceshathach
2022-11-30Add FT9xx for cdc_dual_portsGordon McNab
Fix handling of interrupt endpoints. i.e. no ZLPs. Fix the assignation of endpoint types. Add button support for MM900evx boards. On board support do not block for UART input.
2022-11-29Fix transfers issues with FT9xxGordon McNab
Correct USB FIFO use for setup data phases (OUT transfers). We cannot stop traffic on the control endpoint so we set a flag and pull data from host when tinyUSB requests it from the USB FIFO. Extend this for all endpoints although currently not required. Rename all instances of ft90x which can apply to ft93x as ft9xx. Add support for the cdc_dual_ports example for ft9xx. Add LED pin definition for board LED in a simple to access place on the Bridgetek MM900EVx boards.