summaryrefslogtreecommitdiff
path: root/src/portable
AgeCommit message (Collapse)Author
2023-01-31Merge pull request #1779 from P33M/rp2040_device_babble_fixHa Thach
rp2040: avoid device-mode state machine hang
2023-01-31fix typoshathach
2023-01-31move errata to end of c filehathach
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-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
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.
2022-11-28Fix issue with the CDC SetLineCoding requestGordon McNab
The SetLineCoding would fail as host would send the SETUP OUT phase before tinyUSB had setup a transaction for it. ft9xx port would ignore the transfer since there was no valid transaction setup for it. One SETUP data phase packet is cached now.
2022-11-23Fix RP2040 Issue 1721rppicomidi
2022-11-07Fix DCD build.Mengsk
2022-11-07Merge branch 'master' of https://github.com/hathach/tinyusb into bsp_412Mengsk
2022-11-07Add support for STM32L412.Mengsk
2022-11-04fix -wconversion-int and add minor commenthathach
2022-11-04Merge branch 'master' into rp2040-hcd-bulkHa Thach
2022-10-24Merge pull request #1676 from tswan-quasi/masterHa Thach
dcd_lpc_ip3511: isochronous support and endpoint accidental write fix
2022-10-24use dummy for all ZLP for ip3511, fix lpc55 build with DEBUG=1hathach
2022-10-21unused (void) casttswan-quasi
2022-10-22Merge pull request #1690 from tore-espressif/fix/espressif/iso_transfersHa Thach
esp: Fix Isochronous transfers
2022-10-20typo fixtswan-quasi
2022-10-20dummy buffer only on EP0 OUT ZLPstswan-quasi
2022-10-19Merge pull request #1680 from LynnL4/port-stm32u5xxHa Thach
Port stm32u5xx
2022-10-19Merge pull request #1523 from maddyaby/dcd_edpt_openHa Thach
Allow more endpoint packet sizes for SAMD
2022-10-18esp: Fix Isochronous transfersTomas Rezucha
On ESP32-S2/S3 ISO transfers must be configured for even or odd frame. Closes https://github.com/hathach/tinyusb/issues/1382
2022-10-17minor renamehathach
2022-10-13(void) rhport for unused parametertswan-quasi
2022-10-13Add support for STM32U5 mcuLynnL4
2022-10-12double cast of pointer to remove errortswan-quasi
2022-10-11lpc55s69 isochronous, dummy address for endpoint buffers to prevent ↵tswan-quasi
accidental writes
2022-10-10Merge pull request #1623 from SudoMaker/masterHa Thach
Initial PIC32MM/MX & PIC24 support
2022-10-06Microchip PIC24/dsPIC33 device mode supportReimuNotMoe