hathach
77e142ed76
Merge branch 'master' into fork/HiFiPhile/async_io
2025-06-30 21:09:40 +07:00
HiFiPhile
d789a87a7d
Merge branch 'master' into async_io
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-06-22 17:19:08 +02:00
hathach
5c974cee23
usbh make TU_API_SYNC() public, to implement sync() API, change return of sync API from uint8_t to tusb_xfer_result_t
2025-06-20 12:51:29 +07:00
hathach
9503883ba7
usbh: add new API tuh_descriptor_get_device_local()
...
cdc host: remove the local desc_dev and the get_device descriptor call for ftdi and pl2303
2025-06-18 23:44:03 +07:00
hathach
e41a63c60d
add usbh_spin_lock/unlock() use spinlock instead of atomic flag for hcd max3421
2025-05-21 15:27:18 +07:00
hathach
fe4446090e
fix dual example for rp2350 conflict printf and cdc_printf
2025-05-13 16:27:26 +07:00
hathach
baf67539fc
fix warnings, minor clean up
2025-05-13 12:16:22 +07:00
hathach
809af3e74c
chore(usbh): change removing_hubs to array instead of bitmask
2025-05-06 15:58:07 +07:00
hathach
bc37ed6e3e
usbh: force removed device in the same bus info, before setting address.
...
usbh: move code around
hub: queue status endpoint for detach/remove event
2025-05-06 15:23:23 +07:00
hathach
e7d4b5c9e7
add enum for set addr recovery
2025-04-29 20:16:50 +07:00
hathach
42d4f7c81e
remove the old attach duplicated logic, debouncing skip should take care of it.
2025-04-28 15:10:03 +07:00
hathach
2c1414b4c1
usbh: add roothub debounncing flag to ignore attach/remove event on the roothub that is currently doing debouncing delay
2025-04-28 14:59:32 +07:00
hathach
b5b7a4be60
hub check status before get 1st device descriptor
2025-04-24 22:21:38 +07:00
hathach
093720f60b
fix build
2025-04-24 18:08:00 +07:00
hathach
0f784e8a07
refactor hub driver and move port reset on connection change to usbh.
...
hub: add hub_port_get_status_local(), ignore resp in hub_port_get_status(pot != 0)
usbh properly deboucning with hub/rootport accordingly to usb specs, also add 10ms of reset recovery
2025-04-24 17:59:45 +07:00
hathach
89f8d0cffb
add tuh_address_set() API
...
minor rename and move code around
2025-04-24 10:41:00 +07:00
hathach
9a1f690ec4
move usbh ctrl_xfer into usbh_data
2025-04-23 16:50:58 +07:00
hathach
a2da575793
rename and expose tuh_bus_info_get() to application
2025-04-23 16:03:40 +07:00
hathach
741cb3cf02
rename hcd_devtree_info_t to tuh_bus_info_t, hcd_devtree_get_info to hcd_bus_info_get
...
streamline bus info to usbh_devies, also replace dev0 (renamed to dev0_bus)
2025-04-23 12:35:32 +07:00
HiFiPhile
b6170c965f
Compile fix.
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-22 21:14:04 +02:00
hathach
8f9ef7dfbe
reduce ENUM_DEBOUNCING_DELAY_MS to 200ms
...
replace dev0.enumerating by enumerating_daddr for better clean up on unplugging while enumerating
move controller_id & enumerating_daddr into _usbh_data struct
2025-04-22 22:09:06 +07:00
hathach
940fe43e68
move removing dev0 to process_removing_device()
2025-04-22 17:33:37 +07:00
HiFiPhile
7ba63a6302
Also cleanup unaddressed device.
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-22 16:58:13 +07:00
HiFiPhile
3c4e6a779d
Move decouncing delay before USB reset.
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-22 16:58:12 +07:00
HiFiPhile
9f096ac56b
host: fix enumerate racing
...
- if a previous enumeration failed _ctrl_xfer status could stuck, it needs to be cleared before next attempt.
- after _dev0.enumerating is reset in hcd_event_handler(), if an attach event arrived before _ctrl_xfer clean up in remove event, a racing condition will happen.
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-22 16:58:10 +07:00
hathach
5725d33121
improve usbh stability with failed setup send, prevent control stage locked out
2025-04-21 20:39:23 +07:00
HiFiPhile
b3d20442e2
Fix usbh racing later.
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-18 14:57:53 +02:00
HiFiPhile
4c6736c277
Merge branch 'master' into dwc2-proper-attach-debouncing
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-18 14:54:20 +02:00
hathach
e8a84f9076
enum For string descriptor (langid, manufacturer product, serila): always get the first 2 bytes to determine the length first. otherwise, some device may have buffer overflow.
2025-04-18 10:53:12 +07:00
HiFiPhile
459e2cd39e
Merge remote-tracking branch 'upstream/master' into async_io
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-04-11 23:07:22 +02:00
Maxime Vincent
2064ee470d
dwc2/host: attach debouncing fixes
2025-04-11 12:26:36 +02:00
hathach
901ce2ad93
hcd/ehci: hcd_edpt_open() return false if ep is already opened. implement hcd_edpt_close()
2025-03-26 21:32:18 +07:00
hathach
65e01fff2e
add tuh_edpt_close() API, it will abort any pending transfer
...
implement hcd_edpt_close() for pio-usb and max3421e, also move max3421e api into its own header.
2025-03-25 16:15:58 +07:00
hathach
9f541a3d96
host: add tuh_enum_descriptor_device_cb() and tuh_enum_descriptor_configuration_cb() callback
...
host: support device with multiple configurations
2025-03-24 22:55:04 +07:00
hathach
ee234a84ca
hack: force/overwrite endpoint mps to 64 for device that incorrectly report 512 bytes for bulk in fullspeed mode.
2025-03-06 11:03:47 +07:00
hathach
8c0c21189c
Merge branch 'master' into fork/atoktoto/midihost
...
# Conflicts:
# src/host/usbh.c
2025-03-05 18:25:31 +07:00
hathach
5f447b76ad
- add tuh_descriptor_get_string_langid() API
...
- host enumeration always get language id, manufacturer, product and serial string. Which is required by some device such as 8bitdo
2025-03-03 23:22:23 +07:00
hathach
6ebd362cfd
Merge branch 'master' into fork/atoktoto/midihost
...
# Conflicts:
# src/host/usbh.c
2025-02-21 10:59:40 +07:00
hathach
70ddb7a867
more hub improve, handle more failed transfer with polling interrupt status endpoint
2025-02-19 15:50:42 +07:00
hathach
792a446405
usbh always retry control transfer (max 3) in case of XFER_RESULT_FAILED.
...
added tuh_connected()
2025-02-17 22:40:19 +07:00
hathach
18d566b94c
improve hub: retry if hub interrupt endpoint failed
...
bump up pio-usb to latest
2025-02-17 17:06:51 +07:00
hathach
bad6cbe489
update midi host to use endpoint stream API
2025-02-13 15:54:31 +07:00
hathach
e0b192b633
- use CFG_TUH_MIDI as number of midi host instance
...
- comment out tuh_descriptor_device_cb/tuh_desc_configuration_cb since it is unrelated to this PR
2025-02-12 22:16:08 +07:00
hathach
7c405236cf
fix host midi build
2025-02-12 11:50:57 +07:00
hathach
85247e50dd
clean up
2025-02-12 11:34:32 +07:00
hathach
87adc63226
Merge branch 'master' into fork/atoktoto/midihost
...
# Conflicts:
# hw/bsp/rp2040/family.cmake
# src/class/midi/midi.h
# src/class/midi/midi_device.c
# src/device/usbd_control.c
# src/host/hcd.h
# src/host/usbh.c
# src/host/usbh.h
2025-02-12 11:28:16 +07:00
HiFiPhile
d1ee2bf18f
Fix Auto speed display.
...
Signed-off-by: HiFiPhile <admin@hifiphile.com >
2025-01-29 15:14:25 +01:00
hathach
3cacb01459
Merge branch 'refs/heads/master' into fork/GuavTek/recover_zero_length_desc
2024-11-28 10:36:17 +07:00
GuavTek
4212db1b83
Move desc_len sanity checks to start of loops
2024-11-27 22:19:42 +01:00
hathach
9e4b855e53
minor clean up
2024-11-27 11:35:21 +07:00