Commit Graph

34873 Commits

Author SHA1 Message Date
Darian Leung
36de16d97c
refactor(hal/usb): Add new USB PHY related HAL API
This commit adds/updates the USB PHY related HAL APIs. The following changes
are made:

- Updated 'usb_wrap_hal.h' API
- Added 'usb_serial_jtag_hal.h' API
2024-06-04 20:35:49 +08:00
Darian Leung
d944e85a57
feat(hal/usb): Update USB WRAP and USJ LL
- Added LL cap macros to distinguish feature differences between the LLs of
  different targets:
    - '..._LL_EXT_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      routing to an external FSLS PHY.
- Tidied up some RCC LL functions and their callers.
- Added 'usb_wrap_types.h' and 'usb_serial_jtag_types.h' to provide types used
  in LLs.
- Fixed some spelling/naming issues as part of code-spell pre-commit
2024-06-04 20:35:49 +08:00
Darian Leung
14a581939c
refactor(hal/usb): Refactor usb_wrap_ll.h
This commit rewrite the 'usb_wrap_ll.h' API as follows:

- All APIs renamed from 'usb_fsls_phy_ll_...()' to 'usb_wrap_ll_...()'
- APIs now match their equivalent counter parts in 'usb_serial_jtag_ll.h'
2024-06-04 20:35:48 +08:00
Darian Leung
81f6d7abbe
refactor(hal/usb): Remove usb_fsls_phy_ll.h
For targets that only contain a USJ peripheral (and not a DWC OTG), their
'usb_fsls_phy_ll.h' headers only contain a single function
('usb_fsls_phy_ll_int_jtag_enable()') whose feature is already covered by
functions in 'usb_serial_jtag_ll.h'. Thus, this header is redundant.

This commit does the following:

- Remove 'usb_fsls_phy_ll.h' for targets that only contain a USJ peripheral
- Rename 'usb_fsls_phy_[hal|ll].[h|c]' to `usb_wrap_[hal|ll].[h|c]` for targets
that contain a DWC OTG peripheral. This better reflects the underlying peripheral
that the LL header accesses.
2024-06-04 20:35:47 +08:00
Darian Leung
1739bff0b9
refactor(hal/usj): Add USB PHY related functions to USJ LL 2024-06-04 20:35:46 +08:00
Darian Leung
0b11401bc4
docs(usb): Add USBH maintainer notes 2024-06-04 20:34:58 +08:00
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
1c4cdfe4b7 fix(brownout): fixed brownout isr crashing if cache disabled
If a brownout ISR was triggered while cache was disabled the system would panic.

This was due to a print accessing a string stored in flash
2024-06-04 16:30:05 +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
zhangyanjiao
d4c1af3740 fix(lwip): fixed the dhcp pool error on dhcp server 2024-06-03 11:33:12 +08:00
zhangyanjiao
8c958fb8c7 docs(wifi): update the docmentation for mesh API 2024-06-03 11:29:54 +08:00
zhangyanjiao
a1fa536990 fix(wifi): fixed sniffer and espnow issue
1. fix(wifi): fixed sniffer dump fcs error packets fail

Closes https://github.com/espressif/esp-idf/issues/10777

2. fix(wifi): fixed the espnow priv parameter get error

Closes https://github.com/espressif/esp-idf/issues/13693
Closes https://github.com/espressif/esp-idf/issues/13880
2024-06-03 11:29:17 +08:00
zhanghaipeng
32ec84c6d6 fix(ble/bluedroid): Optimize BLE stack connect callback name 2024-06-02 17:16:54 +08:00
zhanghaipeng
7af45c272d fix(ble/bluedroid): Fixed BLE no data length change event 2024-06-02 17:16:45 +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
wuzhenghui
464fe67ec7
docs(lowpower): updating low-power statistics in Wi-Fi scenarios 2024-05-30 22:04:24 +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
luoxu
240236a7bd fix(ble_mesh): fix issues in mesh deinit 2024-05-30 20:38:10 +08:00
Song Ruo Jing
638b18a595 fix(gpio): fix IO 21-27 IOMUX registers not being backed up on ESP32H2 2024-05-30 15:07:42 +08:00
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
Li Shuai
1903fa8e0b fix(wifi): fixed the issue of tg0 watchdog reset caused by wifi module retention 2024-05-29 20:48:49 +08:00
David Cermak
26ce69c31a fix(docs): tcpip_adapter: Document replacement of tcpip_adapter_get_sta_list 2024-05-29 13:45:39 +02:00
David Cermak
d750d067e5 fix(esp_netif): Prevent running esp_netif_sntp_init() multiple times
Closes https://github.com/espressif/esp-idf/issues/12854
2024-05-29 17:10:07 +08:00
David Cermak
d5f086f432 fix(netif): Add missing SNTP get-reachablitiy API 2024-05-29 17:10:07 +08:00