Commit Graph

20400 Commits

Author SHA1 Message Date
Darian Leung
189899180f usb: Change API and refactor tests
This commit updates the USB Host Library API in the following wasy:
- usb_host_client_handle_t and usb_device_handle_t made into struct pointers
  to generate compiler warnings about conflicting handle types
- usb_host_client_config_t changed to future proof API for Synchronous Clients
- Added usb_host_lib_unblock()
- Added usb_host_device_addr_list_fill()
- Return of usb_host_device_free_all() updated to indicate whether there
  are still devices yet to be freed.
- Blockg APIs are now marked explicitly
- Fixed a bug in usb_host_transfer_submit_control() when checking the bEndpointAddress
  of a control transfer.

Tests are also refactored to move some common macros into shared headers

Closes https://github.com/espressif/esp-idf/issues/7786
2021-11-02 14:30:58 +08:00
Darian Leung
54b6c902d3 usb: Add USB Host Library sudden disconnect tests 2021-11-02 14:30:58 +08:00
Darian Leung
6a12e28333 usb: Fix USBH handling of disconnections
This commit fixes how the USBH handling of a sudden device disconnection,
more specifically handling of device gone.
- Previously the USBH would only halt, flush, and dequeue the device's
default EP, then send a device gone event to the Host Library layer.
- Now the USBH will also halt and flush all non-default EPs, allowing
all of the URBs to be dequeud.
- Some internal object members are now protected by a mutex instead of
a spinlock.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-02 14:30:58 +08:00
Darian Leung
0c758c8557 usb: Fix how the HCD handles sudden disconnection
This commit fixes how the USB Host HCD handles sudden disconnections.

Bugs:
- HW channels remain active when the port suddenly disconnects, and
previously the channel would be disabled by setting the disabled bit,
then waiting for a disabled interrupt. However, ISOC channels do not
generate the disabled interrupt when the port is invalid, thus leading
to tasks getting indefinitely blocked in hcd_pipe_command().

Fix:
On a sudden disconnection, forcibly treat all channels as halted even
if their HCCHAR.ChEna bit is still set. We do a soft reset after a port
error anyways, so the channels will eventually be reset.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-02 14:30:58 +08:00
Darian Leung
0159c37cf2 usb: Fix LL 8/16 bit register field access
This commit addes the 8/16 bit register field access workarounds to
the DWC_OTG peripheral. This workaround was applied to all other
peripherals in commit 874a720286.
2021-11-02 14:30:58 +08:00
Jakob Hasse
1eb96cfc79 feat (driver)!: Added mocking for i2c.h
BREAKING CHANGE: removed ringbuf.h from public i2c.h
2021-11-02 14:16:31 +08:00
xiaqilin
3fc4a0c9c1 ieee802154: add timer APIs 2021-11-02 14:08:34 +08:00
Darian Leung
8babb3bca6 freertos: Fix SMP round robin scheduling
The previous SMP freertos round robin would skip over tasks when
time slicing. This commit implements a Best Effort Round Robin
where selected tasks are put to the back of the list, thus
makes the time slicing more fair.

- Documentation has been updated accordingly.
- Tidy up vTaskSwitchContext() to match v10.4.3 more
- Increased esp_ipc task stack size to avoid overflow

Closes https://github.com/espressif/esp-idf/issues/7256
2021-11-02 14:00:14 +08:00
Krzysztof
cc8413a330 docs: Update 'Hardware Reference' section for ESP32-S3 2021-11-02 06:56:12 +01:00
Zim Kalinowski
13ab2cd9f9 Merge branch 'bugfix/spiram_abort_allocation_failure' into 'master'
SPIRAM: 'Abort on allocation failure' should not trigger when there is available SPI ram

Closes IDFGH-5870

See merge request espressif/esp-idf!15454
2021-11-02 05:36:18 +00:00
Omar Chebib
96391ef62b SPIRAM: 'Abort on allocation failure' should not trigger when there is available SPI ram 2021-11-02 05:36:18 +00:00
Zim Kalinowski
6b3201605e Merge branch 'bugfix/riscv_fix_vector_mcause' into 'master'
RISC-V: fix usage of special register when interrupts are enabled

Closes IDF-3955

See merge request espressif/esp-idf!15370
2021-11-02 05:31:06 +00:00
morris
b2c2e2302b Merge branch 'feature/KSZ8091_support' into 'master'
Add support for Eth PHY KSZ8091

Closes IDFGH-5845

See merge request espressif/esp-idf!15702
2021-11-02 02:37:53 +00:00
xiewenxiang
9b16f5d831 component/bt: fix crash when shutdown bt 2021-11-02 10:29:10 +08:00
Ivan Grokhotkov
f47e8f90ce Merge branch 'bugfix/multi_heap_get_info_impl' into 'master'
heap: fix multi_heap_get_info_impl

See merge request espressif/esp-idf!15470
2021-11-01 21:21:22 +00:00
Frank Sautter
5e7df077d6 Increased LAN8720 ETH-PHY reset assertion time (IDFGH-6018)
Increase reset assertion time from 100µs (as specified minimum in the datasheet) to 150µs.
Some specimen of the LAN8720 need the reset signal asserted longer than 100µs to initialise properly. Otherwise they are in a zombie state where they are establishing and loosing an Ethernet link once in a seconds interval.
2021-11-01 22:03:30 +01:00
Mahavir Jain
e6db26cc40 Merge branch 'bugfix/no_yield_for_efuse_virt_mode' into 'master'
spi_flash: Fix, no CPU release time for an erase operation when OS is not running

See merge request espressif/esp-idf!15734
2021-11-01 18:22:29 +00:00
Simon Chupin
5b17d80a89 Merge branch 'bugfix/archive_details_always_run_like_diff' into 'master'
tools: fix bug with idf_size argument archive_details

Closes IDF-4192

See merge request espressif/esp-idf!15579
2021-11-01 17:42:18 +00:00
simon.chupin
8cff2a27e6 change --archive_details output 2021-11-01 17:43:31 +01:00
gaoxiaojie
0028e2c23c heap: fix multi_heap_get_info_impl 2021-11-01 16:08:07 +00:00
Roland Dobai
6cd0ae8cbf Merge branch 'bugfix/ci_copyright_header_ownership' into 'master'
CI: Make the maintainers to be the owners of the copyright header ignore list

See merge request espressif/esp-idf!15761
2021-11-01 15:54:50 +00:00
ma-lalonde
0f754551dd Add support for Eth PHY KSZ8091 2021-11-01 11:11:18 -04:00
KonstantinKondrashov
884a6b17cc spi_flash: No CPU release time for an erase operation when OS is not running
During the early start, the virtual eFuse mode can call erase operations when OS is not yet running.

Possible workaround: CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n

Fixed for the legacy flash driver as well.
2021-11-01 21:49:24 +08:00
Roland Dobai
93faf8fb95 CI: Make the maintainers to be the owners of the copyright header ignore list 2021-11-01 14:08:07 +01:00
Roland Dobai
2606f3101b Merge branch 'bugfix/xtensa_clang_version_regex' into 'master'
fix(tool): export.sh cannot export xtensa-clang if installed

See merge request espressif/esp-idf!15751
2021-11-01 11:26:31 +00:00
Cao Sen Miao
049349a087 Merge branch 'feature/usb_serial_default_option' into 'master'
usb_serial_jtag: Add secondary menu to support using usb_serial port to print when primary is uart

Closes IDF-3525 and IDF-3555

See merge request espressif/esp-idf!14554
2021-11-01 11:22:35 +00:00
Martin Vychodil
8a86434ece Merge branch 'feature/fatfs_disk_status_implementation' into 'master'
fatfs: Implementation of disk_status for SD/MMC card

Closes IDF-4125

See merge request espressif/esp-idf!15488
2021-11-01 09:48:59 +00:00
Armando (Dou Yiwen)
742517bcea Merge branch 'bugfix/fix_120m_sdr_flash_config_on_non_s3_bug' into 'master'
spi_flash: make 120m config only visible on s3 sdr mode

See merge request espressif/esp-idf!15704
2021-11-01 09:06:13 +00:00
Cao Sen Miao
adfb7bed96 vfs_usb_serial: set secondary selection for making usb port can output under default menu 2021-11-01 15:48:36 +08:00
Jan Procházka
fb22c1f182 fatfs: Implementation of disk_status nad disk_initialize for SD/MMC card
FATFS provides a disk status and disk initialize callback which were not
implemented. Implementation has very low impact on SD/MMC speed and
fixes issues, when trying to open file when SD card was removed from
slot and not deinited.

If disk_status returns STA_NOINIT, it will always continue with
disk_initialize. If that returns 0, it will continue like everything is
working normally. So there has to be the same check as in disk_status.
Return of disk_initialize is always checked like this for STA_NOINIT or
STA_PROTECT so if command fails, we return the STA_NOINIT.

stat = disk_initialize(pdrv);
if (stat & STA_NOINIT) return FR_NOT_READY;
if (stat & STA_PROTECT) return FR_WRITE_PROTECTED;

Closes IDF-4125
2021-11-01 15:11:40 +08:00
Omar Chebib
5206afe755 Merge branch 'bugfix/fix_select_timeout' into 'master'
VFS: `select` function's timeout is now POSIX compliant

Closes IDFGH-5807

See merge request espressif/esp-idf!15374
2021-11-01 07:01:20 +00:00
Fu Hanxi
6c7100cce0 fix(tool): export.sh cannot export xtensa-clang if installed issue 2021-11-01 14:59:11 +08:00
Steinbart Andreas (HAU-EDS)
f9d6fa2b84 esp-eth: emac: Reset Tx DMA channel owner on init
Reset ethernet TX DMA descriptors sets owner to CPU, so re-installing the ethernet driver will now not result in packet loss

Merges https://github.com/espressif/esp-idf/pull/7752
2021-11-01 06:16:59 +00:00
Jakob Hasse
f82e69d595 Merge branch 'ci/simple_MR_template' into 'master'
RFC: Add minimal MR template

See merge request espressif/esp-idf!15719
2021-11-01 05:55:27 +00:00
Jakob Hasse
c81f8b7e17 feat (ci): Added minimal MR template 2021-11-01 12:47:10 +08:00
Shubham Kulkarni
33e6549597 Merge branch 'bugfix/http_client_breaking_changes' into 'master'
esp_http_client: v5.0 specific breaking changes

Closes IDFGH-4777 and IDF-2985

See merge request espressif/esp-idf!15639
2021-10-31 04:53:26 +00:00
Li Shuai
9ac58e32a2 substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC 2021-10-29 21:24:09 +08:00
Mahavir Jain
a89d56082f Merge branch 'bugfix/memprot_bad_esp_restart_check' into 'master'
System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart()

See merge request espressif/esp-idf!15414
2021-10-29 12:17:32 +00:00
Chinmay Chhajed
da0234ca01 Merge branch 'bugfix/ble_conn_latency_max_value' into 'master'
BLE: Set connection max latency value to 499.

Closes BT-2025

See merge request espressif/esp-idf!15706
2021-10-29 12:16:55 +00:00
Lv Xin Yue
48f7ae266d docs:update the link to esp32-s3-wroom-1 datasheet 2021-10-29 20:05:12 +08:00
Shubham Kulkarni
5bf49e1cd6 esp_http_client: Support handling larger content lengths
Closes https://github.com/espressif/esp-idf/issues/6580
2021-10-29 18:14:22 +08:00
Shubham Kulkarni
436249de4f esp_http_client: Disable HTTP digest auth by default 2021-10-29 18:14:22 +08:00
Island
c33db5d4f5 Merge branch 'bugfix/ble_mesh_update_license' into 'master'
ble_mesh: stack: update license of esp specific files

See merge request espressif/esp-idf!15603
2021-10-29 09:56:33 +00:00
Chinmay Chhajed
7caa6ca45f BLE: Set connection max latency value to 499. 2021-10-29 14:24:45 +05:30
Martin Vychodil
dffb92e45f System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart()
esp_restart()/panic_restart() never resets the Digital system (so far required only by the Memprot feature) as there's a typo in the corresponding #define:
it checks CONFIG_ESP_SYSTEM_CONFIG_MEMPROT_FEATURE instead of CONFIG_ESP_SYSTEM_MEMPROT_FEATURE.
Issue fixed.

IDF-4094
2021-10-29 16:28:28 +08:00
Shu Chen
546a66c65e Merge branch 'bugfix/fix_esp32h2_efuse_get_ext_mac' into 'master'
efuse: fix esp32h2 get ext_mac

See merge request espressif/esp-idf!15682
2021-10-29 08:20:28 +00:00
Zim Kalinowski
57bf4eb612 Merge branch 'feature/update-freertos-folder-structure-to-match-upstream' into 'master'
freertos: update freertos folder structure to match upstream

Closes IDF-3718

See merge request espressif/esp-idf!15271
2021-10-29 06:56:09 +00:00
Sudeep Mohanty
4846222102 freertos: update freertos folder structure to match upstream
The following changes have been made:
1. All FreeRTOS kernel source files are now placed in the
   freertos/FreeRTOS-Kernel folder to match with the upstream folder structure.
2. All kernel include files are now placed in freertos/FreeRTOS-Kernel/include.
3. All port files are now placed in freertos/FreeRTOS-Kernel/portable.
4. All additions/customizations are placed in freertos/esp_additions.
5. All other miscellaneous files (README, License files etc.) are moved to
   freertos/FreeRTOS-Kernel folder to match with the upstream.
6. Updated esp-cryptoauthlib to latest commit to resolve FreeRTOS
   include dependencies.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-10-29 12:05:13 +08:00
Sudeep Mohanty
a3db2dd4a8 Merge branch 'bugfix/ringbuf_read_pointer_wrap' into 'master'
ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers

Closes IDFGH-5624 and IDFGH-5649

See merge request espressif/esp-idf!15373
2021-10-29 03:59:21 +00:00
Chen Yu Dong
f58e2a396a Merge branch 'ci/add_esp32s3_ssc_build_jobs' into 'master'
CI: add esp32s3 SSC build jobs

See merge request espressif/esp-idf!15587
2021-10-29 03:11:08 +00:00