Commit Graph

4346 Commits

Author SHA1 Message Date
Ha Thach
e95973d346 Merge pull request #3137 from HiFiPhile/uac_simplify
uac2: remove support fifo
2025-06-12 22:18:17 +07:00
hathach
7d66a3e775 merge n6 and h7rs (same config) 2025-06-12 21:20:49 +07:00
hathach
386f33807a Merge branch 'master' into fork/james-advatek/stm32n657nucleo 2025-06-12 11:02:54 +07:00
hathach
14124c1735 add h7rs to ci matrix 2025-06-11 19:35:20 +07:00
hathach
d3d505e8f7 Merge branch 'master' into fork/HiFiPhile/h7rs 2025-06-11 16:23:54 +07:00
Cédric Berger
d533650105 Fix TUH_EPSIZE_BULK_MPS macro
TUH_EPSIZE_BULK_MPS should be set based on TUH_OPT_HIGH_SPEED, not TUD_OPT_HIGH_SPEED
2025-06-09 16:56:02 +02:00
HiFiPhile
d61077cbad Merge pull request #3135 from andrewleech/ncm-link-state-control
Add USB NCM link state control support
2025-06-09 14:25:25 +02:00
HiFiPhile
69f6b57772 Code reformat
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-08 14:31:11 +02:00
HiFiPhile
1ccb10e3f1 Fix ECM compile
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-08 13:53:23 +02:00
James Sandison
5c4b2c75d2 docs: update dwc2_info.md 2025-06-04 13:21:34 +10:00
James Sandison
56c9521abd chore: squash previous commits from other branches 2025-06-04 11:21:27 +10:00
HiFiPhile
dc0038f614 uac2: remove support fifo
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-05-29 13:56:46 +02:00
Andrew Leech
9021efcacb Add link state control support for ECM mode
Extends the link state control feature to CDC-ECM mode.
RNDIS mode prints state changes but doesn't send notifications
to the host yet (would require RNDIS_INDICATE_STATUS_MSG).

For ECM:
- Tracks link state and sends proper CDC notifications
- Handles notification endpoint busy conditions
- Only sends connection notification when link is actually up

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:36:38 +10:00
Andrew Leech
5de4a23abe Add USB NCM link state control support
This adds the ability to dynamically control the network link state
for NCM devices. The host OS will see the network interface as
connected/disconnected based on the link state.

New API:
- tud_network_link_state(rhport, is_up): Set link up/down state

Example updates:
- Added button control to toggle link state
- Fixed LWIP integration to properly handle link state changes
- Added printf to show correct protocol (NCM vs RNDIS/ECM)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:36:38 +10:00
hathach
132c55aca0 add OPT_MCU_MAX32665 2025-05-28 08:38:26 +07:00
Ha Thach
8f077f9295 Merge pull request #3111 from hathach/ci_vbus 2025-05-23 21:50:00 +07:00
HiFiPhile
1a13bd8eba Add comment about CFG_TUD_CI_HS_VBUS_CHARGE
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-05-23 13:27:27 +02: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
58dfc126ac remove unused dwc2_critical.h 2025-05-21 14:36:53 +07:00
hathach
5551a3e430 add usbd_spin_lock/unlock for driver usage 2025-05-21 11:41:06 +07:00
hathach
c1d23a0a92 osal_spin skipping lock/unlock when executed in isr 2025-05-21 11:19:07 +07:00
hathach
a4875fefea rename osal_critcal to osal_spinlock
add spinlock implementation for most rtos
2025-05-20 17:01:31 +07:00
hathach
bb1d348eb3 implement osal critical for none/freertos/pico-sdk 2025-05-19 22:51:40 +07:00
hathach
9aea7751f2 dwc2 only enter critical in isr with multiple core CPUs 2025-05-19 20:04:20 +07:00
hathach
72ee742761 add osal_critical API() for use with dwc2 2025-05-19 20:04:19 +07:00
Tomas Rezucha
c8baba10f9 fix(dcd): Fixed race condition on device disconnect
TinyUSB does not provide any locking means to protect the DCD variables.
This can lead to race conditions when the user is trying to submit
a transfer while the device is being disconnected. This can cause
the device to be in an inconsistent state, leading to a crash or
undefined behavior.

This commit adds a spin-lock to protect the DCD variables during
device disconnect.

Closes https://github.com/espressif/esp-idf/issues/9691
Also reported in https://github.com/espressif/esp-usb/pull/131
2025-05-19 20:04:16 +07:00
hathach
67389f37f2 follow up to pr3118, interface also end with IAD. Add more checks 2025-05-16 16:39:53 +07:00
HiFiPhile
531fb69531 Merge pull request #3118 from ZakDanger/vendor_device_fix
vendor device open fix for descriptor parsing
2025-05-16 10:25:28 +02:00
HiFiPhile
6346fbec16 Merge branch 'master' into h7rs 2025-05-15 21:40:36 +02: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
HiFiPhile
a2117d5d0f simplify vendord_open parsing loop
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-05-09 16:43:19 +02:00
ZakDanger
6b30a61bdb revert 'end fix' 2025-05-09 20:44:11 +10:00
ZakDanger
ae8c00f5d7 revert 'end fix' 2025-05-09 20:42:19 +10:00
ZakDanger
f5944d35b0 vendor device open fix for descriptor parsing 2025-05-09 18:17:07 +10:00
Moritz Scholjegerdes
95be35b587 add support for usbtmc vendor-spicific command messages 2025-05-06 16:06:10 +02: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
HiFiPhile
6a92b8efa4 dcd/ci_hs: add vbus charge option.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-05-04 15:10:17 +02:00
hathach
2abd3c54c4 define hcd_devtree_info_t forr backward compatible 2025-04-29 20:49:47 +07:00
hathach
e7d4b5c9e7 add enum for set addr recovery 2025-04-29 20:16:50 +07:00
hathach
fc43eeddf2 attach debouncing fixed issue with port1 highspeed on imxrt 2025-04-29 10:11:20 +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