101 Commits

Author SHA1 Message Date
igor.masar 37f58cf498 ci(usb/host): enable esp32s31 and esp32h4 for USB host examples
Remove the temporary esp32s31 disable from usb/host build-test rules.
Add esp32s31 and esp32h4 to the usb_host_msc and usb_host_lib pytest
matrices. Keep the tests temp-skipped in CI until usb_host_flash_disk
runners exist.
2026-04-16 16:25:26 +02:00
Martin Vychodil 0fd5bae048 Merge branch 'refactor/fatfs_vfs_change_esp_vfs_fat_register_prototype' into 'master'
refactor(fatfs): Update esp_vfs_fat_register function prototype

Closes IDF-9212 and DOC-12416

See merge request espressif/esp-idf!41953
2026-02-20 03:07:35 +08:00
Tomas Rezucha b028d25f91 refactor: Merge USB Host CDC-ACM and CDC-VCP examples 2026-02-06 09:03:14 +01:00
Adam Múdry d58b9406d8 fix: Update examples etc. to use esp_vfs_fat_register
Instead of deprecated esp_vfs_fat_register_cfg
2026-02-04 16:33:40 +01:00
Adam Múdry 006b95f384 fix: Update cherryusb_host and examples using esp_tinyusb and usb_host_msc 2026-02-04 14:07:13 +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
peter.marcisovsky b670f1cece fix(usb_host): Dont abort on unsupported client events
- suspend and resume client events
2025-12-09 09:58:01 +01:00
igor.masar c74ce1c201 feat(usb/h4): Add USB OTG host support for ESP32-H4
- hal: add DWC OTG core LL (usb_dwc_ll.h) and USB wrap LL (usb_wrap_ll.h)
- soc: add DWC register map/cfg (usb_dwc_struct.h, usb_dwc_cfg.h) and caps
- soc/kconfig: enable SOC_USB_OTG_SUPPORTED=1, SOC_USB_OTG_PERIPH_NUM=1
- docs: add ESP32-H4 to usb_phy test app “Supported Targets”
- ld: export USB_WRAP symbol
- doxygen: include USB Host headers for H4 to emit .inc files
2025-10-02 23:21:08 +02:00
peter.marcisovsky b3bb053160 refactor(usb_host): Remove usb component form esp-idf
- usb component was relocated from esp-idf to esp-usb
    - the component is now a managed component
2025-09-29 17:15:17 +02:00
peter.marcisovsky bb4c016d59 fix(usb_host): Updaing changed Kconfig value from usb_host_uvc component in UVC example 2025-09-26 03:41:37 +08: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
peter.marcisovsky af4f9cbaed feat(cherry_usb): Pin cherryusb component version
- prerequisite for usb component migration from esp-idf
2025-09-12 09:13:29 +02:00
Li Peng 36229958d9 Merge branch 'feat/add_cherryusb_demo' into 'master'
feat(usb): add CherryUSB serial device and host example

See merge request espressif/esp-idf!39467
2025-09-03 10:14:46 +08:00
LiPeng 1f76ea953e fix(usb): fix ths bug that ALT escape input for USB HID keyboard 2025-09-02 10:42:39 +08:00
Alexey Lapshin 28ced4efad fix(config): actualize newlib Kconfig options 2025-08-28 12:25:09 +08:00
LiPeng 8f9eeedae1 feat(usb): add CherryUSB support for multiple USB controllers selection 2025-08-27 16:59:37 +08:00
LiPeng 0ac445cbd6 feat(usb): add CherryUSB host msc example 2025-08-27 16:59:37 +08:00
LiPeng 4366f118ed feat(usb): add ALT escape input for USB HID keyboard 2025-08-27 16:59:37 +08:00
LiPeng 6069bdcdca feat(examples/peripherals/usb/cherryusb/host/cherryusb_host): add CherryUSB host example 2025-08-27 16:59:37 +08:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
peter.marcisovsky 4deccbc4a6 fix(usb_host): Run esp-usb pre-commit:
- trailing whitespaces
    - end-of-file-fixer
    - codespell
    - astyle_py: align pointer name
2025-08-11 13:14:36 +02:00
Roman Leonov 7fbe72ca27 refactor(usb_host_example): Added opening only for device with proto 2025-06-30 11:19:42 +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
peter.marcisovsky cd5b3877bf feat(usb_host): Move DMA capable memory to external ram on P4
- DWC-OTG internal DMA can access psram on esp32p4
    - Move DMA memory buffs to psram, to save internal ram
    - HCD tests and MSC example runs in CI with psram enabled
2025-05-13 15:37:30 +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
peter.marcisovsky 07765cde50 fix(usb_host): Fix msc example pytest to support external hub 2025-04-11 17:25:30 +02:00
Igor Masar 9722bfcf33 feat(usb_host/msc): Add support for multiple MSC devices
Enhanced the USB MSC host example to support multiple simultaneously
connected Mass Storage Class (MSC) devices.

- Implemented dynamic allocation and mounting of multiple MSC devices.
- Improved example logic for handling USB device connections and disconnections.
- Updated documentation to clarify USB host limitations and endpoint allocation.
2025-03-20 17:40:47 +08:00
igor.udot daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
Frantisek Hrbata 1c92945f59 change(examples): switch examples to use a minimal build
Currently, several example dependencies rely on the fact that all
registered components are added to the build, along with components
specified in common requirements. This results in longer build times
because even unused components must be built. Switch all examples to use
idf_minimal_build to compile only the components actually required by
the example.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01: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
Daniel Mangum 4e3e73f353 fix(examples/usb_host_lib): correct typo in comments
Fixes a small typo in comments

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2024-11-10 19:39:53 -05: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
Cacti4dev 7bfee98996 Update hid_host_example.c
Distinguish was spelled incorrectly
2024-10-16 13:54:43 -07:00
Roman Leonov 418583a5be fix(usb_host_lib): Returned task suspend 2024-10-09 11:05:21 +02:00
Roman Leonov 3d07895c8f refactor(usb_host_examples): Enabled Hub support by default 2024-10-07 10:13:10 +02:00
Daniel Paul 658b1de02c docs: Consistent naming convention for ESP Component Registry 2024-07-23 14:10:34 +08:00
Roman Leonov 39f91a3d5a refactor(enum): Curved out Enumeration process from Hub Driver 2024-06-03 10:27:37 +02:00
Tomas Rezucha 348d4ef18d fix(usb/examples): Fix UVC example crash on non-UVC device connection 2024-03-12 20:19:12 +01:00
Tomas Rezucha 832a706eb5 revert(usb_host): Revert temporary disable cdc_acm_vcp test for P4
This reverts commit b1bbca60ee
2024-03-05 10:04:10 +01:00
Peter Marcisovsky 51d6296fde ci: Added esp32p4 usb tests to CI:
- added new test for usb_host_lib example for all targets
    - CI USB host test are run on esp32p4
    - CI USB device tests temporarily disabled until usb_device runner is fixed
    - hcd and usb_host tests which do not require PHY are run on esp32p4
2024-02-29 10:35:09 +01:00
Marius Vikhammer b1bbca60ee ci(usb_host): disable cdc_acm_vcp example for P4 2024-02-18 15:22:43 +08:00
Roland Dobai 1a80217af5 Merge branch 'bugfix/kconcheck_file_checks' into 'master'
bugfix: Fixed KConfig files that were not succesfully checked

Closes IDF-9028 and IDF-9027

See merge request espressif/esp-idf!28385
2024-02-07 19:12:25 +08:00
Tomas Rezucha 81031490dc Merge branch 'fix/usb_example_newlib_nano' into 'master'
fix(usb/example): Fixed MSC compilation with Newlib Nano format

Closes IEC-60

See merge request espressif/esp-idf!28702
2024-02-06 17:42:11 +08:00
Jakub Kocka 0b00e49ac5 fix: Fixed KConfig files that were not succesfully checked 2024-02-02 14:13:45 +01:00
Tomas Rezucha f13ae0fc08 feat(esp32p4): Add USB-OTG support for ESP32-P4 2024-01-30 15:07:11 +01:00
Tomas Rezucha e511905fd2 fix(usb/example): Fixed MSC compilation with Newlib Nano format
https://github.com/espressif/idf-extra-components/issues/254
2024-01-25 09:51:51 +01:00
Tomas Rezucha a5e647cf7f refactor(usb/examples): Depend on new esp_driver_gpio
This will exclude unneeded drivers from the build.
2024-01-18 07:28:06 +01:00
Peter Marcisovsky 24adb6ed3c feat(us/host): set device cfg during enumeration
- user callback funciton to set device configuration
      as a part of usb_host_install
    - callback provides device descriptor of a device being enumerated
    - user can set which cfg descriptor the USB device will be set with
    - user can filter device enumeration
    - Kconfig menu to enable callback function
    - usb_host_lib example demonstration
2024-01-04 16:09:13 +01:00
Tomas Rezucha 62091b4fa0 fix(usb/uvc): Add negotiation retry for some cameras
Some cameras would refuse first stream format and would only accept
on second retry.
2023-11-29 11:34:47 +08:00
Tomas Rezucha f48f433d5b fix(usb/host): Do not abort on string descriptor overflow
Some devices return full LANGID table, even if short LANGID table was requested.
No memory overflow occurs, because we have allocated enough memory for transfers to the
default pipe. So we can ignore the error and continue with string desc fetching.
2023-11-20 09:12:54 +01:00