Commit Graph

129 Commits

Author SHA1 Message Date
Tomas Rezucha ab5e48b026 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-06-30 08:47:45 +02:00
Tomas Rezucha 73058bfca0 docs(usb): Update ESP32-P4 USB pins to MP version
Closes https://github.com/espressif/esp-idf/issues/16136
2025-06-16 16:39:22 +02:00
peter.marcisovsky b264d7f89b 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 09:46:16 +02:00
Tomas Rezucha 1816b95261 refactor(usb/host): Update UVC example for new UVC driver v2.0 2025-04-22 08:48:18 +02:00
Adam Múdry 93ff1aec46 Merge branch 'feat/remove_const_from_voltopart' into 'master'
feat(fatfs/diskio): Remove const from PARTITION VolToPart

Closes IDFGH-13211

See merge request espressif/esp-idf!38150
2025-04-16 23:46:19 +08:00
Peter Marcisovsky e9bdd39599 Merge branch 'fix/usb_device_fix_ncm_pytest' into 'master'
fix(usb_device): Fix failing NCM device test by increasing dealy for the network ifc

See merge request espressif/esp-idf!38384
2025-04-14 22:40:23 +08:00
peter.marcisovsky 07765cde50 fix(usb_host): Fix msc example pytest to support external hub 2025-04-11 17:25:30 +02:00
peter.marcisovsky dbc111ebff fix(usb_device): Fix failing NCM device test by increasing dealy for the network ifc 2025-04-11 16:49:04 +02:00
Guillaume Souchere 8f0e9f038b fix(tinyusb): Update console exit mechanism in tusb_msc example 2025-04-03 10:06:59 +02:00
Guillaume Souchere 30f8b59ed0 feat(console): Make console deinit optional 2025-04-03 10:06:01 +02:00
Adam Múdry b5b2fbc87d feat(fatfs/diskio): Remove const from PARTITION VolToPart
Closes https://github.com/espressif/esp-idf/issues/14148
2025-03-31 13:35:39 +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
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
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
Adam Múdry 7e9782b67e fix(examples): tusb_midi task stack overflow fix 2024-11-14 13:03:27 +01:00
Roman Leonov 7ff774905a Merge branch 'fix/usb_device_msc_storage_example' into 'master'
fix(tusb_msc): Added SD power supply configuration for p4

See merge request espressif/esp-idf!33455
2024-11-14 17:18:39 +08:00
Roman Leonov 32f60da330 fix(tusb_msc): Fixed sdmmc init on ESP32P4 2024-11-13 16:34:54 +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
Peter Marcisovsky c2366d5df6 Merge branch 'fix/usb_device_msc_example_fix_console' into 'master'
fix(usb_device): Fix console selection in MSC Device example

Closes IDF-11136

See merge request espressif/esp-idf!33517
2024-09-19 19:29:33 +08:00
Peter Marcisovsky 70ff700f56 Merge branch 'ci/usb_device_enable_p4_tests' into 'master'
ci(usb_device): Enable USB device tests in CI for esp32p4

See merge request espressif/esp-idf!33287
2024-09-19 19:17:40 +08:00
Peter Marcisovsky 2da0f66e9a fix(usb_device): Fix console periheral, enable USJ Console on P4 2024-09-13 10:28:43 +02:00
Peter Marcisovsky db6e37c975 ci(usb_device): Fix exception for ACM port in USB composite dev pytest 2024-09-03 17:05:34 +02:00
Peter Marcisovsky 67a8480aec ci(usb_device): Enable USB device tests in CI for esp32p4 2024-09-03 16:43:49 +02:00
Daniel Paul 658b1de02c docs: Consistent naming convention for ESP Component Registry 2024-07-23 14:10:34 +08:00
Peter Marcisovsky bfcdc3ca0e Merge branch 'refactor/usb_device_examples_cdc_rx_cb' into 'master'
refactor(examples): Refactor rx callbacks in USB device examples with CDC device

Closes IDF-10095

See merge request espressif/esp-idf!31319
2024-06-11 18:45:38 +08:00
Peter Marcisovsky d8d92c1928 refactor(examples): Refactor rx callbacks in USB device examples with CDC device
- cdcacm_write_queue and cdcacm_write_flush moved from rx callback to main task
    - received data from rx callback are handled by freerots queues
2024-06-06 15:51:23 +02:00
Roman Leonov 39f91a3d5a refactor(enum): Curved out Enumeration process from Hub Driver 2024-06-03 10:27:37 +02:00
Tomas Rezucha 6b10a3074a fix(ci): Temporarily disable USB device tests on S3
Partially reverts 1302fd70ba
2024-04-17 11:43:10 +02:00
Roman Leonov a3191451bc refactor(usb_device): Fixed examples with esp_tinyusb v1.4.4 2024-03-28 16:40:49 +01: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 1302fd70ba ci: Add esp32s3 runner for usb device example tests
- CI USB device tests are run on esp32s3
    - usb_host env_marker removed - not used anymore
    - failing usb_device_ncm test fixed
2024-02-29 15:10:18 +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
Roman Leonov da8c926e9d feat(usb/device): Add esp32p4 prerequisites to examples 2024-01-12 13:04:38 +01:00
Fu Hanxi d44f236f7b ci(usb): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:44 +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