summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-05-29Even when we get an empty "status change" interrupt from the hub, schedule ↵Ivo Popov
another interrupt poll. During enumeration, when there are multiple devices attached to the hub as it's plugged into the Pi Pico, enumeration hangs, because we get a "status change" callback with value zero. With this patch, we retry several times on "zero" status change callbacks, until eventually we succeed. This is the cheapo hub that exhibits this behavior, but I assume it's not the only one: https://www.amazon.com/gp/product/B083RQMC7S. While debugging this, I consulted the implementation in the Linux kernel. There, hub setup explicitly checks each port individually, before starting to depend on "status change" interrupts: https://elixir.bootlin.com/linux/latest/source/drivers/usb/core/hub.c#L1133. We probably should do something like that here, but it's a much bigger change.
2023-05-28Fixes bug in tuh_msc_readygitlab
2023-05-26move lpc18 and rp2040 to cmake workflow since rp2040 often failed randomly ↵hathach
with make
2023-05-26fix build with net_lwip_webserver examplehathach
2023-05-25Merge pull request #2081 from hathach/more-build-systemHa Thach
More build system
2023-05-25fix issue with ftdi host driver with status byteshathach
add workflow_dispatch to all ci workflow
2023-05-24Merge pull request #2063 from abakosh/developHa Thach
fix(RA Host Portable): implement missing function __builtin_ctz(x)
2023-05-24fix(RA Host Portable): implement missing function __builtin_ctz(x) for IARAladdin Bakosh
2023-05-23Enhance chipidea (#2075)Ha Thach
* update chipidea dcd, remove manual ep_count and use DCCPARAMS to get number of endpoint instead * add dcd dcache for chipidea * add cmake for lpc18 * add makefile build for mcx * use fork of mcu sdk * fix ci build with nrf * flash rp2040 with openocd
2023-05-19more dcache fixhathach
2023-05-19ehci fix dcache clean when control endpoint failedhathach
2023-05-19only clean/invalidate dcache on imxrt if memory is not in DTCMhathach
2023-05-18refactor ehci: add attached_buffer for dcache invalidate for IN transferhathach
2023-05-18refactor ehci, since usbh only queue 1 TD per queue headhathach
2023-05-18EHCI more improvementhathach
- more dcache clean/invalidate - extract init_periodic_list() - improve isr list handling
2023-05-18more cache, fix an similar issue with OHCI when removing an queue headhathach
2023-05-18use weak local for dcache function to skip if()hathach
2023-05-18EHCI adding dcahe support, passing enumertaionhathach
2023-05-17renesas: provide default for CFG_TUSB_RHPORT1_MODEMartino Facchin
Should fix CI failure for Renesas RX family
2023-05-17adding hcd_dcache_clean/hcd_dcache_invalidatehathach
2023-05-16fix error on EHCI causes xfer error in non-queued qhd which cause memory faulthathach
2023-05-16usbd: fix control transfer issue for chipidea hs when previous status and ↵hathach
new setup complete in the same isr frame change usbd edpt busy/stalled/claimed value to 0/1 instead of (true/false) since they are 1-bit field.
2023-05-16add various check for disconncted device, also fix #1511 un-roll recursive ↵hathach
hub removal with usbh queue
2023-05-16EHCI: fix xfer failed with disconnected device as stalledhathach
- change CFG_TUH_ENDPOINT_MAX to 16 (max endpoint pair per device) if not defined - change QHD_MAX for EHCI, should be user configurable and more optimized in the future
2023-05-16correct EHCI reporting failed xfer (instead of stalled) when device is unpluggedhathach
2023-05-10allow imxrt build with dual exmapleshathach
2023-05-09fix ehci issue with portsc when enable port power and port resethathach
fix attached device not regconized if attached before power on
2023-05-08build host examples with imxhathach
2023-05-07update all device cmake example for imxhathach
2023-05-06cmake work well with imxrthathach
2023-05-05more temp workhathach
2023-05-04wiphathach
2023-05-04Use double-sized fifo only for IN endpointsMichiel van Leeuwen
2023-05-03renesas: add fallback for targets not defining CFG_TUSB_RHPORT*_MODEMartino Facchin
2023-05-03renesas_ra: support RA2A1 (FS only)Martino Facchin
2023-05-03renesas_ra: host: handle retry on attach()Martino Facchin
2023-05-03renesas_ra: add support for HS portMartino Facchin
2023-04-28more update to host serial APIhathach
2023-04-28allow call tuh cdc with blocking (callback = NULL)hathach
- tuh_cdc_set_control_line_state() - tuh_cdc_set_baudrate() - tuh_cdc_set_line_coding()
2023-04-28improve host serial drivershathach
- tuh_control_xfer() update xfer result to user_data if complete callback = NULL (sync/blocking) - refactor host serial driver for acm/ftdi/cp210x
2023-04-28Check correct interrupt flagMichiel van Leeuwen
Fixes #1737
2023-04-28dwc2: configure fifo size to be twice the max_sizeMichiel van Leeuwen
This is needed in order to always be able to fit a packet in the fifo. Writing to the fifo is done from an interrupts that fires when the fifo is half-empty, so the fifo must be twice the packet size.
2023-04-28add aligned(4) for cdc_line_coding_thathach
2023-04-27cdc: fix line_coding aligmentJean-Baptiste Theou
While calling tud_cdc_n_get_line_coding, the structure is copied into the destination. Dump of assembler code for function tud_cdc_n_get_line_coding: 0x000193f4 <+0>: mov.w r2, #2112 @ 0x840 0x000193f8 <+4>: ldr r3, [pc, #20] @ (0x19410 <tud_cdc_n_get_line_coding+28>) 0x000193fa <+6>: mla r0, r2, r0, r3 => 0x000193fe <+10>: ldr.w r3, [r0, #6] 0x00019402 <+14>: str r3, [r1, #0] On some platform (tested on LPC55S28), the address needs to be 4-bytes aligned. Without this, the address is (gdb) p &_cdcd_itf.line_coding $3 = (cdc_line_coding_t *) 0x40100006 <_cdcd_itf+6> which leads to a HardFault. With this fix (gdb) p &_cdcd_itf.line_coding $5 = (cdc_line_coding_t *) 0x40100008 <_cdcd_itf+8> and the function can be called properly Signed-off-by: Jean-Baptiste Theou <[email protected]>
2023-04-27add tuh_cdc_set_baudrate()hathach
2023-04-27add code to calculate divisor from baudrate for ftdihathach
2023-04-27clean uphathach
2023-04-27forgot to add cp210x headerhathach
2023-04-27more refactorhathach
2023-04-27cp210x seems to work wellhathach