Commit Graph
100 Commits
Author SHA1 Message Date
Tomas Rezucha a7a89f98c9 Merge branch 'docs/usb_wakeup_source' into 'master'
docs(sleep): Update light-sleep USB wake-up source

See merge request espressif/esp-idf!49990
2026-07-03 15:16:12 +02:00
Tomas Rezucha 2859a9b24a docs(sleep): Update light-sleep USB wake-up source 2026-07-03 15:04:33 +08:00
Tomas Rezucha 5f84dab44c Merge branch 'change/utmi_phy_eco_src' into 'master'
change(soc/usb): Merge duplicated definitions for P4 v1 and v3

Closes IDF-13430

See merge request espressif/esp-idf!50272
2026-07-02 11:50:06 +02:00
Tomas Rezucha 702dc82ed4 change(soc/usb): Merge duplicated definitions for P4 v1 and v3 2026-07-01 19:49:07 +02:00
Tomas Rezucha 7788f0114c Merge branch 'feat/ncm_esp32p4_example' into 'master'
feat(usb/example): Enable NCM device example on ESP32-P4

Closes IDF-15741

See merge request espressif/esp-idf!48935
2026-06-10 18:50:27 +02:00
Tomas Rezucha 162c082111 Merge branch 'feat/usb_host_console' into 'master'
Extend USB Host Library example with interactive console

Closes IDF-15521

See merge request espressif/esp-idf!47689
2026-06-09 12:49:20 +02:00
Tomas Rezucha 3bb1d62b32 feat(usb/host): Extend USB Host Library example with interactive console 2026-06-09 12:27:00 +02:00
Tomas Rezucha 2d19225f46 feat(usb/example): Enable NCM device example on ESP32-P4 2026-06-08 16:56:17 +08:00
Tomas Rezucha 9756d9654c Merge branch 'feat/usb_dfu_console_soc_caps' into 'master'
feat(soc): add USB DFU and OTG console caps

Closes IDF-9133

See merge request espressif/esp-idf!48167
2026-05-28 10:42:08 +02:00
Tomas Rezucha 232035071e feat(tools): Add 'check' field to idf.py actions 2026-05-27 19:06:10 +02:00
Tomas Rezucha 0ddb802067 Merge branch 'feat/esp32s31_usb_examples' into 'master'
feat(usb): Enable ESP32-S31 USB device examples

See merge request espressif/esp-idf!48452
2026-05-20 12:00:45 +02:00
Tomas Rezucha 47faecc3e4 Merge branch 'refactor/usb_leakage' into 'master'
Refactor deep-sleep USB leakage current workaround

See merge request espressif/esp-idf!47746
2026-04-22 15:43:02 +02:00
Tomas Rezucha d02062f914 refactor(esp_hal_usb): Enable HNP on HNP-capable controllers 2026-04-22 10:21:59 +02:00
Tomas Rezucha 6e0878131e Revert "fix(esp_hw_support): Fix deepsleep leakage after initializing USB HS phy"
This reverts commit 7107177e2d.
2026-04-22 10:05:46 +02:00
Tomas Rezucha 72a0c99064 Merge branch 'docs/fix_esp-usb_redirects' into 'master'
docs: Redirect all esp-usb links to English version

See merge request espressif/esp-idf!46514
2026-03-13 07:10:03 +01:00
Tomas Rezucha b875bccd7a docs: Redirect all esp-usb links to English version 2026-03-11 19:22:51 +01:00
Tomas Rezucha 506dbc2985 Merge branch 'docs/usb-docs-link-esp-usb' into 'master'
docs(usb): Move USB docs to esp-usb and add redirects

Closes IDF-13559

See merge request espressif/esp-idf!45997
2026-03-11 11:41:52 +01:00
Tomas Rezucha 12825abb80 Merge branch 'feat/usb_max_size' into 'master'
fix(esp_hal_usb): Add API for transfer max size

See merge request espressif/esp-idf!46025
2026-03-03 08:44:28 +01:00
Tomas Rezucha de8f440155 fix(esp_hal_usb): Add API for transfer max size 2026-03-02 18:46:58 +01:00
Tomas Rezucha 9620e107e2 Merge branch 'refactor/usb_host_cdc_example' into 'master'
refactor: Merge USB Host CDC-ACM and CDC-VCP examples

Closes IDF-11359

See merge request espressif/esp-idf!45589
2026-02-06 12:35:05 +01:00
Tomas Rezucha b028d25f91 refactor: Merge USB Host CDC-ACM and CDC-VCP examples 2026-02-06 09:03:14 +01:00
Tomas Rezucha b3c8a78fb2 Merge branch 'ci/conditional_usb' into 'master'
ci(usb): Run USB tests only on USB related changes

See merge request espressif/esp-idf!45410
2026-01-28 10:06:42 +01:00
Tomas Rezucha 1840a2fb0f ci(usb): Run USB tests only on USB related changes 2026-01-27 18:08:19 +08:00
Tomas Rezucha a160c64c81 Merge branch 'fix/usb_cdc_example' into 'master'
fix(usb/host): Update CDC example so it opens device with any VID/PID

Closes IEC-404

See merge request espressif/esp-idf!44117
2025-12-16 20:27:37 +01:00
Tomas Rezucha b3445d09df fix(usb/host): Update CDC example so it opens device with any VID/PID
Closes https://github.com/espressif/esp-usb/issues/302
2025-12-15 13:37:22 +01:00
Tomas Rezucha 10ce570707 Merge branch 'feat/usb_host_hal_remote_wake' into 'master'
feat(esp_hal_usb): Add hal changes for remote wakeup

See merge request espressif/esp-idf!42394
2025-12-04 12:29:10 +01:00
Tomas Rezucha 24efd7f1e7 Merge branch 'ci/reenable_p4_usb_device_tests' into 'master'
ci(usb/device): re-enable usb_device tests for ESP32-P4

Closes IDF-14369 and IDF-14832

See merge request espressif/esp-idf!43734
2025-11-26 14:44:12 +01:00
Tomas Rezucha 98af307c66 ci(usb/device): re-enable usb_device tests for ESP32-P4 2025-11-25 16:06:57 +01:00
Tomas Rezucha da7d0e6979 fix(usb): Fix USB PHY mocking on linux target 2025-11-20 12:44:11 +01:00
Tomas Rezucha a16739a950 Merge branch 'contrib/github_pr_17831' into 'master'
fix(hal): Fix USB PHY selection logic in usb_wrap_ll.h (GitHub PR)

Closes IDFGH-16746

See merge request espressif/esp-idf!43255
2025-11-12 08:54:30 +01:00
Tomas Rezucha 8948bf6ba7 Merge branch 'refactor/make_usb_hal_independent' into 'master'
refactor(usb): Make usb hal layer independent

Closes IDF-14092

See merge request espressif/esp-idf!43155
2025-11-11 09:53:45 +01:00
Tomas Rezucha b6db931b0d refactor(usb): Make usb hal layer independent 2025-11-10 17:04:22 +01:00
Tomas Rezucha ecc1144054 Merge branch 'feature/usb_p4_ver2' into 'master'
feat(usb/host): Add USB support to ESP32-P4 v3 (ECO5)

Closes IDF-13507 and IDF-13742

See merge request espressif/esp-idf!41602
2025-09-20 14:57:53 +02:00
Tomas Rezucha 0ac4b9a94b Merge branch 'fix/usb_host_intr_prio' into 'master'
fix(usb/host): Use ESP_INTR_FLAG_LOWMED interrupt priority for USB examples

See merge request espressif/esp-idf!42048
2025-09-19 17:33:05 +02:00
Tomas Rezucha 617a608027 fix(usb/host): Use ESP_INTR_FLAG_LOWMED interrupt priority for USB examples 2025-09-19 14:12:53 +02:00
Tomas Rezucha ce590e4bae feat(usb/device): Add USB device support to ESP32-P4 v3 2025-09-17 11:17:25 +02:00
Tomas Rezucha 1711ed88aa feat(usb/host): Add USB Host support to ESP32-P4 v3 2025-09-17 11:17:25 +02:00
Tomas Rezucha 961c10bffc Merge branch 'fix/usj_disable_help' into 'master'
fix: Add clarifying note to USJ_ENABLE_USB_SERIAL_JTAG

Closes IDFGH-13778

See merge request espressif/esp-idf!41874
2025-09-17 09:23:29 +02:00
Tomas Rezucha aaa72fcc19 fix: Add clarifying note to USJ_ENABLE_USB_SERIAL_JTAG
Closes https://github.com/espressif/esp-idf/issues/14638
2025-09-16 17:31:39 +08:00
Tomas Rezucha a9ba907a31 Merge branch 'docs/usb-ext-phy-tusb1106' into 'master'
docs(usb): add TUSB1106 to tested external PHY list

See merge request espressif/esp-idf!41855
2025-09-15 09:29:11 +02:00
Tomas Rezucha 5efa5ab9f5 Merge branch 'feature/usb_device_examples_update_v2.0.0' into 'master'
feature(usb_device): Examples update to esp_tinyusb v2.0.0

Closes IDF-13618

See merge request espressif/esp-idf!41610
2025-09-15 09:28:49 +02:00
Tomas Rezucha 1bbf04cb4c Merge branch 'refactor/remove_old_usb_pins' into 'master'
refactor(usb): Remove deprecated USB pin definitions

Closes IDF-9029

See merge request espressif/esp-idf!40144
2025-06-26 11:22:01 +02:00
Tomas Rezucha 65ac3f6f80 refactor(usb): Remove deprecated USB pin definitions
When connecting USB OTG to an external FSLS PHY,
the FSLS Serial Interface signals can be routed to any GPIO via the GPIO
matrix. Thus, these macros are meaningless.
2025-06-25 14:44:36 +02:00
Tomas Rezucha 32bee685d6 Merge branch 'docs/p4_eco1_usb_pins' into 'master'
docs(usb): Update ESP32-P4 USB pins to MP version

Closes IDFGH-15495

See merge request espressif/esp-idf!39901
2025-06-16 16:27:03 +02:00
Tomas Rezucha 025aec91c5 docs(usb): Update ESP32-P4 USB pins to MP version
Closes https://github.com/espressif/esp-idf/issues/16136
2025-06-16 13:32:51 +02:00
Tomas Rezucha 94d71a8cd0 Merge branch 'feature/usb_dual_host_2' into 'master'
feat(usb/host): Add option to choose peripherals for USB host library

Closes IDF-11705, IDF-9052, and DOC-10991

See merge request espressif/esp-idf!35401
2025-05-15 16:18:05 +08:00
Tomas Rezucha cf18fe5568 refactor(usb/host): Remove deprecated usb_otg_periph.h 2025-05-14 10:34:17 +02:00
Tomas Rezucha b961f42e8b feat(usb/host): Add option to choose peripheral for USB host library
Starting with ESP32-P4 we can have targets that have more than 1 USB-OTG peripheral.
This commit adds an option to choose which peripherals will be used by USB Host lib.

Internally, we will still have only 1 Root HUB but with multiple Root ports.
2025-05-14 10:34:11 +02:00
Tomas Rezucha 27099e1c55 Merge branch 'fix/usbjtag_after_tinyusb' into 'master'
fix(usb/phy): Fix ability to switch back to USB/JTAG after uninstalling TinyUSB

Closes IDFGH-15273 and IDFGH-15248

See merge request espressif/esp-idf!39061
2025-05-14 01:06:05 +08:00
Tomas Rezucha 4b15ef706b Merge branch 'fix/usb_comprehensive_heap' into 'master'
fix(usb/host): Do not call heap_caps_get_allocated_size() in USB host driver

Closes IDFGH-15138

See merge request espressif/esp-idf!38715
2025-04-30 14:22:08 +08:00
Tomas Rezucha 6badd2cf25 fix(usb/host): Do not call heap_caps_get_allocated_size() in USB host driver
It causes heap corruption if heap poisoning is enabled on ESP32-P4.
It returns incorrect size on ESP32-S3.

Closes https://github.com/espressif/esp-idf/issues/15815
2025-04-29 14:50:11 +08:00
Tomas Rezucha ca58556221 Merge branch 'fix/usb_host_ep_char_ls_via_fs' into 'master'
fix(usb_host): Correctly initialize set pipe ep char

Closes IDF-12980

See merge request espressif/esp-idf!38631
2025-04-23 14:49:16 +08:00
Tomas Rezucha 206fe63029 Merge branch 'feat/new_usb_uvc_example' into 'master'
refactor(usb/host): Update UVC example for new UVC driver v2.0

Closes IDF-10240

See merge request espressif/esp-idf!38359
2025-04-22 18:26:43 +08:00
Tomas Rezucha 1816b95261 refactor(usb/host): Update UVC example for new UVC driver v2.0 2025-04-22 08:48:18 +02:00
Tomas Rezucha b37c882aa9 Merge branch 'docs/update_cn_translation_for_usb' into 'master'
docs: Provide CN translation for usb device

See merge request espressif/esp-idf!38387
2025-04-15 22:37:08 +08:00
Tomas Rezucha 179a468adf Merge branch 'fix/usb_host_hcd_test_pipe_stall' into 'master'
feat(usb_host): Fix HCD test HCD control pipe STALL

See merge request espressif/esp-idf!38338
2025-04-15 20:43:15 +08:00
Tomas Rezucha 602a777dbd Merge branch 'mock/usb_dev_info' into 'master'
mock(usb): Extend USB mock with usb_host_device_info()

See merge request espressif/esp-idf!37952
2025-03-25 17:52:53 +08:00
Tomas Rezucha 914d003c7b test(usb): Extend USB mock with usb_host_device_info()
Also provide mocks for CTRL transfers usb_host_transfer_submit_control()
2025-03-25 08:10:30 +01:00
Tomas Rezucha 51fd02dd83 Merge branch 'fix/usb_phy_set_speed' into 'master'
fix(usb/phy): Fixed crash on external PHY init with speed != UNDEFINED

See merge request espressif/esp-idf!37218
2025-02-26 19:50:23 +08:00
Tomas Rezucha ca24a117c7 fix(usb/phy): Fixed crash on external PHY init with speed != UNDEFINED
Also deprecated usb_phy_otg_dev_set_speed()
and usb_phy_action() which are no longer used in esp-idf
2025-02-21 14:11:51 +01:00
Tomas Rezucha f9d580210c Merge branch 'fix/usb_non_periodic' into 'master'
fix(usb/host): Set SCHED_INFO for all channels

Closes IDF-12035

See merge request espressif/esp-idf!36724
2025-02-06 00:20:24 +08:00
Tomas Rezucha e80a84c148 fix(usb/host): Set SCHED_INFO for all channels
Although the hardware documentation suggests that SCHED_INFO is only used
for periodic channels, empirical evidence shows that omitting this configuration
on non-periodic channels can cause them to freeze.
Therefore, we set this field for all channels to ensure reliable operation.
2025-02-05 02:35:48 +08:00
Tomas Rezucha dfcc0b22c9 Merge branch 'fix/periodic_fs_usb_on_p4' into 'master'
fix(usb/host): Fixed Full Speed periodic transfers on ESP32-P4

Closes IDF-11988

See merge request espressif/esp-idf!36560
2025-01-27 17:28:24 +08:00
Tomas Rezucha 125a3f0297 refactor(usb): Include supported PHYs information in SoC 2025-01-24 14:03:04 +01:00
Tomas Rezucha ce59bd4017 fix(usb): Fixed missing GPIO drive capability on ESP32-P4
All USB PHYs that share their IOs with GPIOs must set
the GPIO's drive capability to maximum.
2025-01-24 14:02:52 +01:00
Tomas Rezucha 91f0cb493f fix(usb/host): Fixed Full Speed periodic transfers on ESP32-P4
For FS periodic endpoints 'tokens_per_frame' must be set to 8
LL usb_dwc_ll_hctsiz_set_sched_info() function.
2025-01-24 13:43:32 +01:00
Tomas Rezucha 70ead76a4d Merge branch 'refactor/usb_merge_p4_phy' into 'master'
refactor(usb/phy): Merge P4 and S2/S3 PHYs into one module

Closes IDF-11902

See merge request espressif/esp-idf!36249
2025-01-16 16:39:21 +08:00
Tomas Rezucha 65c2cc095d refactor(usb/phy): Merge P4 and S2/S3 PHYs into one module
P4 had separate PHY implementation for initial bring-up,
now we can merge it with the original PHY driver.
2025-01-15 11:18:10 +01:00
Tomas Rezucha b92e993d56 Merge branch 'refactor/cleanup_usb_phy' into 'master'
Cleanup USB PHY

See merge request espressif/esp-idf!35783
2025-01-08 16:11:54 +08:00
Tomas Rezucha c97b2e6cc8 refactor(usb/phy): Start using values from usb_dwc_info in PHY driver
Add tests for PHY sanity checks
2025-01-07 10:00:48 +01:00
Tomas Rezucha a66cecd250 refactor(usb/phy): Do not use deprecated variables in usb_phy 2025-01-07 09:10:23 +01:00
Tomas Rezucha 3132ffbcd7 feat(hal/usb): Explicitly enable clock and reset USB WRAP on init 2025-01-07 09:10:23 +01:00
Tomas Rezucha f029ad207f Merge branch 'fix/usb_ctrl_nyet' into 'master'
fix(usb/host): Fix reaction on High-Speed NYET packet

See merge request espressif/esp-idf!35737
2025-01-02 17:25:35 +08:00
Tomas Rezucha a57e4d7bdd Merge branch 'feat/dfu_p4' into 'master'
feat(dfu): Enable DFU on ESP32-P4

Closes IDF-7757

See merge request espressif/esp-idf!35539
2024-12-18 23:57:23 +08:00
Tomas Rezucha 3fd2f53c68 fix(usb/host): Fix reaction on High-Speed NYET packet
In Scatter-Gather DMA mode, the USB-DWC will automatically enable
PING protocol if an OUT packet is NACKed by the High-Speed device.
The PING bit must be manually reset.
2024-12-17 17:45:54 +01:00
Tomas Rezucha bf86ab3926 feat(dfu): Enable DFU on ESP32-P4 2024-12-11 09:23:32 +01:00
Tomas Rezucha 691a0ee1fd Merge branch 'feature/usb_ctrl_hint' into 'master'
feat(hints/usb): Add a hint about too small control transfer size

See merge request espressif/esp-idf!34936
2024-11-18 21:03:30 +08:00
Tomas Rezucha 66596b7f59 feat(hints/usb): Add a hint about too small control transfer size 2024-11-18 21:03:30 +08:00
Tomas Rezucha e613fcde6e Merge branch 'contrib/github_pr_14738' into 'master'
fix(docs): code comment spelling error  (GitHub PR)

Closes IDFGH-13896

See merge request espressif/esp-idf!34863
2024-11-13 19:23:47 +08:00
Tomas Rezucha 5532fa8e26 Merge branch 'contrib/github_pr_14858' into 'master'
fix(examples/usb_host_lib): correct typo in comments (GitHub PR)

Closes IDFGH-14038

See merge request espressif/esp-idf!34861
2024-11-13 15:58:10 +08:00
Tomas Rezucha 1e7098fe97 Merge branch 'contrib/github_pr_14859' into 'master'
fix(usb_host): return ESP_ERR_NO_MEM on failed alloc in client register (GitHub PR)

Closes IDFGH-14037

See merge request espressif/esp-idf!34862
2024-11-13 15:33:11 +08:00
Tomas Rezucha 00dcf1a0c0 Merge branch 'docs/usb_host_examples_readme' into 'master'
docs(usb_host): Update usb_host example READMEs for P4

Closes IDFGH-13706 and IDFGH-10950

See merge request espressif/esp-idf!34510
2024-10-31 17:08:10 +08:00
Tomas Rezucha f7da0175b0 docs(usb_host): Update usb_host example READMEs for P4
Closes https://github.com/espressif/esp-idf/issues/14578
Closes https://github.com/espressif/esp-idf/issues/12142
2024-10-31 09:00:59 +01:00
Tomas Rezucha 1805efb0b2 Merge branch 'feat/dynamic_usb_hal' into 'master'
feat(hal/usb): Make USB-DWC HAL&LL configuration independent

Closes IDF-11437

See merge request espressif/esp-idf!34045
2024-10-30 18:32:32 +08:00
Tomas Rezucha d837cae2b0 feat(hal/usb): Make USB-DWC HAL&LL configuration independent
Previously, we included symbols from soc/usb_dwc_cfg.h and configured
the HAL and LL according to it. Now we get the configuration in runtime
from USB-DWC registers.

Added missing definition for USB FS peripheral on ESP32-P4.
2024-10-24 16:54:20 +02:00
Tomas Rezucha e60ebae1e2 Merge branch 'refactor/usb_periph' into 'master'
Refactor: USB peripheral

See merge request espressif/esp-idf!33971
2024-10-24 19:35:41 +08:00
Tomas Rezucha c1f5d3067f feat(hal/usb): Add USB UTMI PHY HAL
* Add a bare-bones HAL API for the USB UTMI PHY
* Split USB-DWC LL per target
2024-10-24 15:18:30 +08:00
Tomas Rezucha b02ad37a55 feat(soc/usb): Add USB related changes to soc_caps and usb_dwc_periph
This commit changes the following:

- Add types and data structures indicating the available USB controllers
for each target.
2024-10-24 15:18:30 +08:00
Tomas Rezucha c2b5339275 Merge branch 'feat/usb_disconnect_api' into 'master'
refactor(usb): Update HCD tests to use port power off for disconnections

Closes IDF-11006

See merge request espressif/esp-idf!31179
2024-09-06 09:46:57 +08:00
Tomas Rezucha 19bf686d5e feat(usb/host): Enable USB Host tests on P4 2024-09-05 19:41:07 +02:00
Tomas Rezucha 3857f779cc fix(usb/host): Correctly handle unpowered port in HUB 2024-09-05 19:40:52 +02:00
Tomas Rezucha 19d488370f Merge branch 'feat/usb_ls_p4' into 'master'
Fix USB Low-Speed devices on ESP32-P4

Closes IDF-9565

See merge request espressif/esp-idf!33201
2024-09-03 13:59:59 +08:00
Tomas Rezucha ba16f50560 refactor(usb/host): Move P4 HS PHY function to correct LL file
Moved usb_wrap_ll_enable_precise_detection() in usb_wrap_ll.h
to usb_utmi_ll_enable_precise_detection() in usb_utmi_ll.h

Fixes commit 97d30e7c48
2024-09-02 14:39:28 +02:00
Tomas Rezucha 21c6c62087 fix(usb/host): Fix USB Low Speed devices connection on P4
P4 USB UTMI PHY was updated to specification v2.0
2024-09-02 14:39:22 +02:00
Tomas Rezucha c990e1007d Merge branch 'docs/usb_docs_p4' into 'master'
Update USB host & device documentation for P4

Closes IDF-7724

See merge request espressif/esp-idf!32855
2024-08-26 15:47:05 +08:00
Tomas Rezucha c48d1641b4 docs(usb/host): Update USB host docs for ESP32-P4 2024-08-26 08:26:45 +02:00
Tomas Rezucha d0220bd3e8 docs(usb/device): Update USB device docs for ESP32-P4 2024-08-26 08:26:39 +02:00
Tomas Rezucha 73e0948332 Merge branch 'docs/usb_maintainer_docs_p4' into 'master'
docs(usb/host): Update maintainer docs for ESP32-P4

See merge request espressif/esp-idf!32831
2024-08-22 22:21:31 +08:00
Tomas Rezucha 6457d3942d Merge branch 'fix/usb_dma_api' into 'master'
fix(usb/host): Use new cache aligned DMA alloc functions

Closes IDF-10048

See merge request espressif/esp-idf!32891
2024-08-20 23:45:45 +08:00
Tomas Rezucha 512df697f0 docs(usb/host): Update maintainer docs for ESP32-P4 2024-08-20 08:14:21 +02:00