Skip to content

Conversation

@roma-jam
Copy link
Collaborator

@roma-jam roma-jam commented Nov 14, 2025

Description

Synchronization logic:

  1. Take the changes from release/v0.19 branch from Prepare release/v0.19 branch #60
  2. Create the sync/release_v0.18 branch from release/v0.18 branch from fix(ci): Added path to recently added ignore_warning_file.txt in esp-usb #67
  3. Merge the changes out of release/v0.19 branch from step 1 to sync/release_v0.18 branch with solved conflicts:
  • idf_component.yml
  • src/portable/synopsys/dwc2/dcd_dwc2.c (BValid override + Critical Section for xfer)
  • src/portable/synopsys/dwc2/dwc2_common.c Reset procedure
  • src/tusb.c (teardown vs deinit)
  • src/tusb.h (teardown vs deinit)
  • src/tusb_option.h (H4 controller definition vs H4, C5, C61)
  • workflows and ci-related files
  1. Merge the sync/release_v0.18 branch to release/v0.19 branch (current PR)

Changes

This PR applies the ESP-related changes from the release/v0.18 branch to release/v0.19 branch.

Related

Test & Verification

Verify, that final version includes:

Tests, that are not available in CI yet:

VBUS monitoring feature test

Tested with ESP32-P4, ECO5. Tests from the part1 and part2 do not support ECO5, so the final branch was used: espressif/esp-usb#313

For manual testing that requires manual device detachment, the external Hub with power switcher was used.

  • Works on ESP32-P4, ECO5 (all scenarios) with v0.18.0~6
  • Works on ESP32-P4, ECO5 (all scenarios) with the current version

Test notes:

  • ESP32-P4, ECO5, USB OTG 2.0: One parasite SUSPEND event on any test before device attach on both versions (refer to IEC-412)

Remote Wakeup feature test

Tested with espressif/esp-usb#309.
Verified that:

  • Works on ESP32-S3 and ESP32-P4, ECO5 (1.1 and 2.0) with v0.18.0~6
  • Works on ESP32-S3 and ESP32-P4, ECO 5 (1.1) and doesn't work on ESP32-P4, ECO5 (2.0) with the current version

Limitations

Follow-up the #69 for limitation solving.

roma-jam and others added 30 commits November 25, 2024 12:11
…ounter

fix(usbd/dcd_dwc2): Fixed epin counter assert, update buffer name for usbd_control debug
…_build_check

feature(ci): Added esp-iot-solution USB Device examples build verification
…st_apps

ci(tinyusb): Added esp-usb test_apps build and run (esp32s2)
…_class

feature(uvc): Applied proprietary changes in UVC Device class
feature(tusb): Added tusb_teardown()
ci(tinyusb): Added esp-idf run (esp32s2)
* fixed unit test with ceedling 1.0.0
roma-jam and others added 22 commits February 12, 2025 10:14
ci(workflow): Update ubuntu runners to ubuntu-latest
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 espressif/esp-idf#9691
Also reported in espressif/esp-usb#131
fix(dcd): Fixed race condition on device disconnect
fix(ci): Fixing build IDF and IOT solutions examples
Add ESP32-H4 as a supported MCU in TinyUSB and wire it into build/runtime:

- CMakeLists: map IDF target esp32h4 → OPT_MCU_ESP32H4, family=esp32sx
- tusb_option.h: define OPT_MCU_ESP32H4
- tusb_mcu.h: enable DWC2 USBIP for H4
- dcd_dwc2.c: add H4 USB_WRAP field aliases (wrap_* → legacy names)
- dwc2_esp32.h: add H4 controller entry (FS base/IRQ, ep caps)
- family.c: include H4 in USB init/PHY setup
- idf_component.yml: add esp32h4 target

This enables TinyUSB examples to build for ESP32-H4.
feat(usb): Add ESP32-H4 support in tinyusb
- Add all targets to esp-usb test apps and esp-idf examples
- Fix override tinyusb in the network example
…_example

fix(ci): Cleanup and extension of workflows [v0.18]
…_example

feature(ci): Adding esp32p4 target to Run step [v0.18]
- Added esp-idf release v6.0 to build & run
- Enabled preview target build to the esp-idf examples
- Updated the idf-build-apps version to 2.13.3
feature(ci): Updated CI workflows
Upstream synchronization - Partial  [v0.18]
…ing_file

fix(ci): Added path to recently added ignore_warning_file.txt in esp-usb
@roma-jam roma-jam self-assigned this Nov 14, 2025
@roma-jam roma-jam changed the title Synchronization patch with changes from release/v0.18 branch [v0.19] Synchronization patch with changes from release/v0.18 [v0.19] Nov 14, 2025
@roma-jam roma-jam mentioned this pull request Nov 14, 2025
2 tasks
@roma-jam roma-jam marked this pull request as ready for review November 19, 2025 09:49
@roma-jam roma-jam merged commit 461d10a into release/v0.19 Nov 19, 2025
133 of 135 checks passed
@roma-jam roma-jam deleted the sync/release_v0.18 branch November 19, 2025 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants