Commit Graph

34614 Commits

Author SHA1 Message Date
Darian Leung
64faf3aa9f
refactor(usb/usbh): Update USBH device creation and enumeration handling
This commit updates how the USBH handles device creation and enumeration so that
upper layers (such as the Hub driver) can use the USBH API for enumeration instead
of calling the HCD.

USBH Updates:

USBH now creates unenumerated devices set to address 0 with no device/config
descriptor. A newly created device can be opened and communicated with immediately
(using control transfers). This allows the Hub driver to call the USBH instead of
the HCD. Summary of USBH changes:

- Added new APIs to add/remove a device. Devices are now created as unenumerated
and can be immediately opened and communicated with.
- Added new APIs to enumerate a device (see 'usbh_dev_set_...()' functions). Device
must be locked (see 'usbh_dev_enum_lock()') before enumeration functions can be called.
- Added UID for each device. This allows the particular USBH without needing to
use the device's handle (which implies opening the device).

Hub Driver Updates:

Hub driver now calls the USBH for enumeration. Summary of USBH changes:

- Replace all 'hcd_pipe_...()' calls with 'usbh_dev_...()' calls
- Refactored port event handling to fit with new USBH API
- Updated to use UID to uniquely identify devices without opening them

USB Host Updates:

- Reroute USBH control transfers to clients and hub driver
2024-06-04 20:34:57 +08:00
Darian Leung
9141d48b41
refactor(usb/hub): Update Hub driver port request logic 2024-06-04 20:34:57 +08:00
Darian Leung
0c8ec63c10
refactor(usb/hcd): Allow port resets with allocated pipes
This commit updates the HCD API to allow port resets to occur even if pipes
are allocated. The pipes cannot be active and the port reset will simply
restore the pipes (by reinitializing their channel registers) following the
reset.

Changes:

- Allow port resets while channels are allocated
- Remove pipe persistance API 'hcd_pipe_set_persist_reset()'
2024-06-04 20:34:56 +08:00
Darian Leung
fe206dab59
refactor(usb/usbh): Rename device pool functions and ref_count
This commit renames the following APIs and variables in the USBH:

- Rename the prefix of device pool functions from 'usbh_dev_...' to
  'usbh_devs_...'.
- Rename 'ref_count' to 'open_count'. This variable tracks the number of times
  a device has been opened.
2024-06-04 20:34:55 +08:00
Darian Leung
72d6c31ac7
refactor(usb/host): Refactor USBH function grouping
This commit rearranges the USBH functions into new groupings to provide a
clearer abstraction. This is in preparation for refactoring/removing the Hub
related functions in the USBH API. This commit DOES NOT MAKE ANY BEHAVIORAL
CHANGES to the code.

Functions are now grouped into...

- USBH Processing: Functions dealing with overall USBH processing
- Device Pool: Functions that add/remove/open/close devices from the internal
               device pool
- Device: Functions that pertain to setting/getting a particular device
- Endpoints: Functions that pertain to a particular endpoint
- Transfer: Functions that pertain to sending transfers
2024-06-04 20:34:55 +08:00
Roman Leonov
32a7719177
refactor(hcd_dwc): Added mps request from hcd_dwc 2024-06-04 20:34:54 +08:00
Darian Leung
455674ae8c
refactor(usb/host): Simplify USBH and Hub interaction
Previously, on a device disconnection, the USBH and Hub would the require the
following 2-way interaction:

- Hub -> usbh_hub_pass_event() -> USBH to indicate a port error
- USBH -> usbh_hub_req_cb_t -> Hub to request port recovery after the device
has been freed.

The 2-way interaction has been simplified:

- USBH now nofities upper layers of devices being freed via the
USBH_EVENT_DEV_FREE event
- Hub now handles port recovery only after a device has been freed
2024-06-04 20:34:54 +08:00
Roman Leonov
4139edba23
refactor(usb_host): Renamed hub_driver_state to root_port_state 2024-06-04 20:34:53 +08:00
Tomas Rezucha
6913f2721f
feat(usb/host): Add missing sync types from USB specification 2024-06-04 20:34:52 +08:00
Roman Leonov
7ae41ebd8b
feat(usb_host): Added KConfig parameter for External HUB support enable 2024-06-04 20:34:52 +08:00
Roman Leonov
2d6aae5aa3
refactor(usb_host): Added chapter11 header, refactor chapter9 header 2024-06-04 20:34:51 +08:00
Darian Leung
95e6dd3884
refactor(usb): Remove USBH control transfer callback
This commit merges the USBH control transfer callback into the USBH event
callback. This simplifies the code as the USBH now uses a single callback.
2024-06-04 20:34:50 +08:00
Darian Leung
83a629f68b
refactor(usb): Update USBH event callback arguments
This commit does the following:

- Updates the USBH event callback arguments to now pass a usbh_event_data_t
which can contain different data for each event
- Updated event names
2024-06-04 20:34:50 +08:00
Wang Meng Yang
876d000b81 Merge branch 'bugfix/fix_hid_connection_failed_bug_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix HID Device connection failed bug[backport 5.2]

See merge request espressif/esp-idf!30589
2024-06-04 19:30:23 +08:00
Wang Meng Yang
9c63a9afa8 Merge branch 'fix/assert_1024_in_rwbt_isr_v5.2' into 'release/v5.2'
fix(bt/ble): fix some issues in bluetooth controller(backport v5.2)

See merge request espressif/esp-idf!30814
2024-06-04 19:30:00 +08:00
Roland Dobai
278c9dc6fd Merge branch 'fix/gdbgui_version_check_v5.2' into 'release/v5.2'
fix(tools): Use GDGBUI arguments based on its version (v5.2)

See merge request espressif/esp-idf!31038
2024-06-04 17:26:42 +08:00
Marius Vikhammer
bce25322d7 Merge branch 'docs/fix_doxygen_1_9_8_failure_v5.2' into 'release/v5.2'
docs(doxygen): fix misc issues with new version of doxygen (v5.2)

See merge request espressif/esp-idf!31187
2024-06-04 16:50:42 +08:00
Marius Vikhammer
bea6dc43cb Merge branch 'refactor/cpu_interrupt_table_v5.2' into 'release/v5.2'
fix(esp_hw_support): refactor and clear reserved interrupts that are unused or not applicable anymore (backport v5.2)

See merge request espressif/esp-idf!31184
2024-06-04 16:38:15 +08:00
Marius Vikhammer
52df721bb1 Merge branch 'feature/freertos_runtime_counter_support_v5.2' into 'release/v5.2'
feat(freertos): Runtime Counter support (v5.2)

See merge request espressif/esp-idf!31135
2024-06-04 16:36:49 +08:00
Marius Vikhammer
a572a86b0b Merge branch 'doc/ringbuffer_v5.2' into 'release/v5.2'
docs(esp_ringbuf): Corrected example code block (v5.2)

See merge request espressif/esp-idf!30632
2024-06-04 16:35:13 +08:00
Marius Vikhammer
88859560d1 Merge branch 'feature/console_add_sbom_file_v5.2' into 'release/v5.2'
feat(system/console): Added argtable3 SBOM manifest file for SPDX file generation for console component (v5.2)

See merge request espressif/esp-idf!30944
2024-06-04 16:34:51 +08:00
Mahavir Jain
ab8ebe6f17 Merge branch 'bugfix/fix_resetting_redirect_counter_v5.2' into 'release/v5.2'
fix: reset redirect counter for using same handler (v5.2)

See merge request espressif/esp-idf!30936
2024-06-04 16:34:03 +08:00
Mahavir Jain
c5909dc669 Merge branch 'feature/update_cjson_version_to_1.7.18_v5.2' into 'release/v5.2'
feat(cjson): update submodule to v1.7.18 (v5.2)

See merge request espressif/esp-idf!31015
2024-06-04 16:33:16 +08:00
Marius Vikhammer
94d3c76950 Merge branch 'bugfix/lp_core_tests_race_condition_v5.2' into 'release/v5.2'
fix(lp_core_test): fixed race-condition in lp core tests (v5.2)

See merge request espressif/esp-idf!30932
2024-06-04 16:29:19 +08:00
Aditya Patwardhan
d8e9aeae92 Merge branch 'update/version_5_2_2' into 'release/v5.2'
Update version to 5.2.2

See merge request espressif/esp-idf!31242
2024-06-03 15:27:20 +08:00
Aditya Patwardhan
3b8741b172 change(version): Update version to 5.2.2 2024-05-31 21:48:23 +05:50
Jiang Jiang Jian
9cf323d4c6 Merge branch 'bugfix/add_deprecated_warning_for_wpa3_ext_v5.2' into 'release/v5.2'
fix(wifi): Add back `WIFI_AUTH_WPA3_EXT_PSK` and `WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE` for v5.x (Backport v5.2)

See merge request espressif/esp-idf!31177
2024-05-31 17:46:43 +08:00
Sarvesh Bodakhe
f47a4796e5 fix(wifi): Add back WIFI_AUTH_WPA3_EXT_PSK and WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE
Add back above authmodes instead of merging them with WIFI_AUTH_WPA3_PSK in minor releases
during v5.x.

These authmodes will be removed from v6.0
2024-05-30 18:09:42 +05:30
Marius Vikhammer
bbe00b9ee3 docs(doxygen): fix misc issues with new version of doxygen 2024-05-30 13:42:18 +08:00
Omar Chebib
742b3a1814 fix(esp_hw_support): clear reserved interrupts that are not applicable for each target 2024-05-30 12:12:44 +08:00
Omar Chebib
35dd4e1557 refactor(esp_hw_support): changed reserved interrupt functions to be now defined per SoC 2024-05-30 11:49:13 +08:00
Konstantin Kondrashov
22b3041f1e feat(freertos): Runtime Counter support
Closes https://github.com/espressif/esp-idf/issues/13120
2024-05-28 12:07:13 +03:00
Jiang Jiang Jian
8cd37950c7 Merge branch 'fix/fix_softap_send_mgmt_err_when_eapol_v5.2' into 'release/v5.2'
fix(wifi): fix softap send mgmt err when eapol process backport for v5.2

See merge request espressif/esp-idf!31101
2024-05-28 15:21:40 +08:00
wangtao@espressif.com
ee1c907d21 fix(wifi): fix softap send mgmt err when eapol process 2024-05-27 20:08:25 +08:00
Jiang Jiang Jian
9f4f8e24f2 Merge branch 'fix/freertos_scheduler_suspend_crit_v5.2' into 'release/v5.2'
fix(freertos/idf): Add missing critical sections to vTaskSuspendAll() (v5.2)

See merge request espressif/esp-idf!30923
2024-05-24 21:20:22 +08:00
Roland Dobai
85b9f7612c fix(tools): Use GDGBUI arguments based on its version
Closes https://github.com/espressif/esp-idf/issues/13665
2024-05-23 07:37:59 +02:00
Jiang Jiang Jian
5ff245f7f9 Merge branch 'bugfix/esp32c6eco1_coex_ble_deinit_wifi_bcn_timeout_v5.2' into 'release/v5.2'
backport v5.2: fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop

See merge request espressif/esp-idf!30982
2024-05-23 13:32:41 +08:00
nilesh.kale
ec226e83d2 feat(cjson): update submodule to v1.7.18
Changelog: https://github.com/DaveGamble/cJSON/releases/tag/v1.7.18
2024-05-22 13:34:43 +05:30
Li Shuai
541632c555 fix(wifi): fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop 2024-05-21 16:48:48 +08:00
Xiaoyu Liu
20046f6bc4 feat(system/console): Added argtable3 SBOM manifest file in console component for SPDX file generation 2024-05-20 15:04:39 +08:00
Harshit Malpani
4dda1f6d93
fix: Add warning to enable LWIP_NETIF_LOOPBACK to use control socket API
Closes https://github.com/espressif/esp-idf/issues/13659
2024-05-20 10:44:55 +05:30
Harshit Malpani
4e4ceba9c8
fix: reset redirect counter for using same handler
Closes https://github.com/espressif/esp-idf/issues/13633
2024-05-20 10:44:53 +05:30
Marius Vikhammer
d885b47eaf fix(lp_core_test): fixed race-condition in lp core tests 2024-05-20 12:00:01 +08:00
Darian Leung
89c22c63e6
refactor(freertos/idf): Add critical section requirements to function description
This commit adds a note regarding the critical section calling requires of some
internal functions.
2024-05-18 01:22:03 +08:00
Darian Leung
7c38b262fb
fix(freertos/idf): Add missing critical sections to vTaskSuspendAll()
vTaskSuspendAll() requires critical sections when building for SMP. Otherwise,
it is possible for a task to switch cores in between getting the core ID and
before incremented uxSchedulerSuspended.
2024-05-18 01:22:03 +08:00
Jin Cheng
bcb8df2a0e fix(bt/controller): Parse out the correct packet types from Host parameters
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-05-14 11:54:01 +08:00
gongyantao
369c297e23 fix(bt/ble): fix some issues in bluetooth controller
1: fix assert 1024 issue when bt tx and wifi coexist on esp32
2: fix ble scan backoff
3: parse out the correct packet types from host parameters for
   hci command hci_enhanced_setup_synchronous_connection
2024-05-14 09:59:20 +08:00
Jiang Jiang Jian
70fc0e3037 Merge branch 'fix/some_fix_for_openthread_backport_5_2' into 'release/v5.2'
Fix/some fix for openthread (backport v5.2)

See merge request espressif/esp-idf!30796
2024-05-13 22:13:32 +08:00
Jiang Jiang Jian
3b15317109 Merge branch 'bugfix/ftm_fix_wrong_compensation_v5.2' into 'release/v5.2'
Fix issue in selecting FTM compensation with external AP (Backport v5.2)

See merge request espressif/esp-idf!30761
2024-05-13 21:28:45 +08:00
Nachiket Kukade
300aa4d08c fix(esp_wifi): Fix issue in selecting FTM compensation with external AP 2024-05-13 18:01:36 +05:30