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
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
Roman Leonov
4677ccee86
fix(ext_port): ESP_LOGW() -> ESP_LOGD() changed back
2024-10-17 19:44:00 +08:00
Roman Leonov
76293e3356
fix(ext_port): Moved reset recovery delay in correct place, removed delay while polling port which in reset state
2024-10-17 19:44:00 +08:00
Roman Leonov
30f199562b
fix(ext_port): Added port recovery delay
2024-10-17 19:44:00 +08:00
Roman Leonov
f333131063
feat(hub): Added notification when hubs support disabled
2024-10-14 12:37:34 +02:00
Peter Marcisovsky
d19666d8e5
refactor(usb_host): Update the USB component to new critical section API
2024-10-08 17:43:55 +02:00
Roman Leonov
3d07895c8f
refactor(usb_host_examples): Enabled Hub support by default
2024-10-07 10:13:10 +02:00
Roman Leonov
70f222e5d2
feat(ext_port): Added External Port driver
...
Closes https://github.com/espressif/esp-idf/issues/12554
2024-09-26 12:38:24 +02:00
Peter Marcisovsky
d071bb4c56
feat(usb_host): Create USB Host mock for CMock host tests
2024-09-18 15:04:03 +02:00
Roman Leonov
fac1966c9b
Merge branch 'refactor/usb_host_ext_hub_cleanup' into 'master'
...
refactor(hub): Cleaned up dev_tree_node debug output, moved node freeing
See merge request espressif/esp-idf!33380
2024-09-12 16:01:36 +08:00
Wu Zheng Hui
6abe40e590
Merge branch 'feature/optimize_esp32p4_active_power_eco1' into 'master'
...
feat(system): Optimize esp32p4 active state power consumption
Closes PM-103 and IDF-7688
See merge request espressif/esp-idf!32950
2024-09-11 23:15:29 +08:00
wuzhenghui
05e74480f5
feat(esp_system): gate some clock by default to optmize esp32p4 active power
2024-09-11 10:53:00 +08:00
Peter Marcisovsky
3362e18432
fix(usb_host): Update log level and error poropagation
2024-09-08 18:43:42 +02:00
Roman Leonov
a9d960a81f
refactor(hub): Cleaned up dev_tree_node debug output, moved node freeing
2024-09-06 22:44:37 +02: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
Darian Leung
cac0ef9d11
refactor(usb): Remove use of usb_phy_action() from unit tests
...
Currently, USB Host unit tests that require a software triggered disconnection/
reconnection rely on the 'usb_phy_action()' function.
This commit replaces those calls with 'hcd_port_command()' or
'usb_host_lib_set_root_port_power()'.
Note: Also removed 'test_usb_common.h/c' as it is no longer necessary are the
function call replacements.
2024-09-05 12:27:27 +02:00
Darian Leung
54db1cda8b
feat(usb): Add usb_host_lib_set_root_port_power()
...
This commit adds the usb_host_lib_set_root_port_power() function. This provides
a public API for users to power the root port OFF or ON at runtime, thus trigger
a disconnection or allow connections respectively.
In addition, the usb_host_config_t.root_port_unpowered install configuration is
provided to allow users to install the USB Host Library without automatically
powering ON the root port.
2024-09-05 12:27:27 +02:00
Peter Marcisovsky
0c388cf576
Merge branch 'refactor/usb_host_add_func_ret_values_description' into 'master'
...
Refactor: USB Host add function return values description
Closes IDF-10455
See merge request espressif/esp-idf!32106
2024-09-05 15:20:04 +08:00
Roman Leonov
6ee1c300c2
Merge branch 'refactor/usb_host_ext_port_prereq' into 'master'
...
refactor(ext_hub): Prerequisites for the Ext Port Driver
See merge request espressif/esp-idf!32213
2024-09-03 19:17:22 +08:00
Peter Marcisovsky
f7b31defc9
refactor(usb_host): Fixed function return values in usb_host stack:
...
- updated doxygen for the whole usb_host stack
- doxygen for test_apps is not updated
- fixed error codes propagation problems in the usb_host stack
2024-09-02 16:41:38 +02: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
Roman Leonov
a971ddf17a
refactor(ext_hub): Added port creation and freeing, cleaned up members
2024-09-02 14:25:21 +02:00
Tomas Rezucha
660319ecaf
fix(usb/host): Use new cache aligned DMA alloc functions
2024-08-20 08:13:32 +02:00
Roman Leonov
0a9bd7aa50
fix(enum): Added cancellation stage to process, second reset stage, remove dynamic members
2024-08-12 09:11:02 +02:00
Peter Marcisovsky
ddc3c2b78b
refactor(usb_host): Update USB Host multiconfig public API
...
- previous usb_host_get_config_desc_free()
- updated usb_host_free_config_desc()
2024-07-16 11:32:22 +02:00
Ivan Grokhotkov
d146fb5b84
Merge branch 'bugfix/build_with_clang' into 'master'
...
fix build errors with clang
Closes IDFGH-13238
See merge request espressif/esp-idf!32099
2024-07-15 21:40:40 +08:00
Roman Leonov
d108ba14ac
Merge branch 'fix/usb_host_hcd_dconn_hs' into 'master'
...
fix(usb_dwc_hal): Enabled precise VBUS detection
Closes IDF-9953
See merge request espressif/esp-idf!32031
2024-07-13 00:45:56 +08:00
Ivan Grokhotkov
df65b3829e
fix(usb): variable declaration after label for clang
2024-07-12 13:58:18 +02:00
Roman Leonov
97d30e7c48
fix(usb_dwc_hal): Enabled precise detection of VBUS
2024-07-12 10:51:31 +02:00
Tomas Rezucha
43c06a5d11
fix(usb/host): Fix occasional ISOC scheduler skipping transfers
2024-07-09 16:59:27 +02:00
Roman Leonov
eceb27a835
fix(usb_host): Changed addr_map to 4x array of uint32
2024-07-03 11:01:17 +02:00
Roman Leonov
1526b80e08
fix(hub): Changed type of next_uid member (uint8_t -> unsigned int)
2024-07-03 10:43:08 +02:00
Tomas Rezucha
04be071dc6
fix(usb/host): Decode error flags in ISOC transfers
2024-07-02 15:08:30 +02:00
Roman Leonov
548b03c69f
feat(ext_hub): Added External Hub driver
2024-06-25 11:28:03 +02:00
Tomas Rezucha
67c10eafaa
Merge branch 'feature/usb_host_multi_configuration' into 'master'
...
USB Host multiconfiguration support pt1 (getting the configuration descriptor)
Closes IDFGH-11532 and IDF-8732
See merge request espressif/esp-idf!26760
2024-06-20 20:29:12 +08:00
Peter Marcisovsky
6cabb68d12
feat(usb/host): multiconfiguration support
...
- usb host reads device's configuration on request
- a control transfer is sent
- memory is allocated for a new descriptor
- user must manually free the memory
2024-06-19 09:40:57 +02:00
Alexey Lapshin
ed6e497c6f
feat(build): add COMPILER_STATIC_ANALYZER option
2024-06-18 14:25:37 +08:00
Alexey Lapshin
e1b9985bd0
fix(usb): fix warnings found by GNU static analyzer
2024-06-18 14:25:37 +08:00
Roman Leonov
f5c1039de3
fix(enum): Returned usb_round_up_to_mps for control request of string descriptors
2024-06-13 09:23:34 +02:00
Roman Leonov
b688ee2cba
feat(hub): Added device tree nodes list and uid calculation
2024-06-11 09:20:42 +02:00
Roman Leonov
d214c482f6
fix(enum): Added STALL handling on descriptor fetching
2024-06-10 19:45:15 +02:00
Roman Leonov
db1f13d259
fix(enum): Removed unused value
2024-06-10 19:45:15 +02:00
Roman Leonov
39f91a3d5a
refactor(enum): Curved out Enumeration process from Hub Driver
2024-06-03 10:27:37 +02:00
Darian Leung
4954884527
fix(usb): Make string descriptor checks in unit tests optional
...
Checking for an exact match for product or serial and string descriptors can
lead to test failures if the USB devices connected to the runner is changed. This
commit adds some kconfig options to make the string descriptor checks optional,
with the product and serial string checks being disabled by default.
2024-05-30 19:25:18 +08:00
Darian Leung
6a3bb3294d
refactor(usb): Split test device descriptors from mock class files
...
Previously, descriptors of the test devices were stored direclty in the mock
device files (e.g., "mock_[hid|msc].[h|c]"). This commit splits out the device
descriptors to separate files (e.g., "dev_[hid|msc].c") along with getter
functions.
Users that want to run the tests locally on a different device simply need to
update the "dev_[hid|msc].c" file for their device.
2024-05-24 17:43:40 +08:00
Darian Leung
94e3b83bc0
refactor(usb): Rename mock class files
...
- Rename "test_usb_mock_..." class files to "mock_..."
- Fixed some codespell issues
- Fixed comment spacing
2024-05-23 17:47:24 +08:00