summaryrefslogtreecommitdiff
path: root/src/host/hub.c
AgeCommit message (Collapse)Author
2024-03-22implement tuh_init()hathach
change usbh driver init() return type from void to bool
2024-03-22adding deinit() stub for usbh/hcd class driverhathach
add TUSB_VERSION_BUILD, also add TUSB_VERSION_NUMBER
2024-01-07[HUB] Fix double status xferRyzee119
2023-08-15more minor clean uphathach
- also rename usbh_classdriver.h to usbh_pvt.h to consitent with usbd
2023-08-07Add tuh_rhport_is_active() and tuh_rhport_reset_bus()hathach
- also improve ehci bus reset - seperate bus reset delay and contact debouncing delay in enumeration
2023-07-25fix unaligned hub status_changehathach
2023-05-29slightly clean uphathach
2023-05-29check status_change is not zero firsthathach
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-16correct EHCI reporting failed xfer (instead of stalled) when device is unpluggedhathach
2023-03-24separate CFG_TUSB_MEM_SECTION and CFG_TUSB_MEM_ALIGN tohathach
- CFG_TUD_MEM_SECTION and CFG_TUD_MEM_ALIGN - CFG_TUH_MEM_SECTION and CFG_TUH_MEM_ALIGN - fix missing mem section and align for host
2023-03-17fix trailing space and new linehathach
temporarily disable codespell
2022-08-16Hub: Clear other port feature changesRyzee119
2022-08-16Hub: Handle hub device status change interruptRyzee119
2022-08-15Hub: Rename port status callback to be more genericRyzee119
2022-08-15Hub: Expand hub helpers to handle device eventsRyzee119
2022-06-24fix redundant-decls warnings by usbd/usbhhathach
2022-05-29Hub: Retry port status transfer if failedRyzee119
2022-03-19rename usbh_edpt_open() to tuh_edpt_open()hathach
2022-03-19add parse config descriptor to examplehathach
move usbh_edpt_open() to public API, remove rhport from its signature
2022-03-18move daddr into xfer structhathach
2022-03-17rename user_arg to user_datahathach
2022-03-17rename tuh_control_xfer_t to tuh_xfer_thathach
2022-03-17slightly change the signature of tuh_control_xferhathach
2022-03-17change return type of callback to voidhathach
2022-03-17remove const in xfer callbackhathach
2022-03-17move result into transfer structhathach
2022-03-17change tuh_control_xfer_t structhathach
2022-03-12rework usbh enumeration process using user arg from control transfer as statehathach
2022-03-11rework usbh control xferhathach
- change API of tuh_control_xfer and its callback - rename tuh_control_complete_cb_t to tuh_control_xfer_cb_t - add user argument to control callback - migrate usbh and hub
2022-03-10fix enumeration issue when plugging hub with multiple devices attachedhathach
2022-03-04rename HCD_MAX_XFER to CFG_TUH_ENDPOINT_MAXhathach
minor clean up
2022-02-25rename TUSB_OPT_HOST_ENABLED to CFG_TUH_ENABLEDhathach
2021-08-23sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUBhathach
separate dev0 from _usbh_devices pool to save sram
2021-08-23add hcd attr, add note for ehci framelist on NXP derivativehathach
2021-08-23rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAXhathach
2021-08-20change host driver open return type to boolhathach
the descriptor len used by driver will be calculated by usbh
2021-06-28change usbh open driver to have max_len and return driver lenhathach
2021-06-10add usbh_classdriver.hhathach
2021-05-31update hubhathach
2021-05-31add hub_port_set_feature()hathach
2021-05-31remove obsolete hcd_pipe_queue_xfer()/hcd_pipe_xfer()hathach
2021-05-27more include clean uphathach
2020-11-02get hub work more reliablyhathach
2020-11-02update usbh with hub to use async control transferhathach
work ok with msc + hub, but definitely need more testing.
2020-09-06change xfer_cb return type from void to boolhathach
2020-09-06replacing hcd_pipe_xfer by usbh_edpt_xferhathach
2020-09-05refactor hub classhathach
- separate connect/disconnect handling - hub work with full speed, but doesn't seem to work with Low speed device (with mcb1800) - need to update msc host after migrating from isr to xfer_cb (blocked at inquiry)
2020-09-05add in_isr to all hcd event functionshathach
2020-09-05defer xfer_isr to xfer_cbhathach