Commit Graph

10696 Commits

Author SHA1 Message Date
Omar Chebib
b6a450f824 panic: Add support for SoC-level panic
SoC level exceptions such as watchdog timer and cache errors are now supported.
Such exceptions now triggers a panic, giving more information about how
and when it happened.
2020-12-31 15:46:17 +08:00
Angus Gratton
e20833124e Merge branch 'feature/c3_build_master' into 'master'
C3: build on master

Closes IDF-1757 and IDF-2489

See merge request espressif/esp-idf!11822
2020-12-31 15:06:55 +08:00
XieWenxiang
ba89eeabfa component/bt: fix Blufi sends customer data will congested when connection is broken 2020-12-31 14:45:23 +08:00
Angus Gratton
db4fb49432 esp_common: Fix issue with SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY not visible on c3
Create a common symbol name to use from linker.lf fragments
2020-12-31 15:20:05 +11:00
Marius Vikhammer
eed154a583 esp_system: sync with C3 changes
Fixes interrupt allocation issue
2020-12-31 15:20:05 +11:00
Marius Vikhammer
f54e9269f3 esp_system: Don't compile sleep_mode.c on c3 2020-12-31 15:20:05 +11:00
Marius Vikhammer
68608f804c esp32c3: Misc fixes needed to build & run 2020-12-31 15:20:05 +11:00
Michael (XIAO Xufeng)
7f147e09e9 Merge branch 'fix/efuse_utility_early_logd' into 'master'
efuse: revert EARLY_LOGD to LOGD

See merge request espressif/esp-idf!11828
2020-12-31 11:46:57 +08:00
Marius Vikhammer
0301c66bf0 esp32c3: Disable components that are not yet supported 2020-12-31 09:27:38 +11:00
Marius Vikhammer
3458469204 newlib: Update esp32c3 ROM support, use single init function 2020-12-31 09:27:37 +11:00
Jakob Hasse
a7683fc256 [system/tools]: gdbstub support C3
Closes IDF-1757
Closes IDF-2489
2020-12-31 09:27:00 +11:00
Angus Gratton
62cc864cbe Merge branch 'feature/c3_hw_sup_merge_master' into 'master'
esp_hw_support: merge C3 changes to master

See merge request espressif/esp-idf!11820
2020-12-30 20:06:23 +08:00
Mahavir Jain
7d387cf65e Merge branch 'fix/i2c_pm_lock' into 'master'
i2c: Acquire PM lock after acquiring mutex

See merge request espressif/esp-idf!11704
2020-12-30 15:44:34 +08:00
Michael (XIAO Xufeng)
707b1bd9b1 efuse: revert EARLY_LOGD to LOGD
introduced in 5cc329b9d0
2020-12-30 12:37:44 +08:00
David Cermak
2c50ec2cf9 ci/test: Fix esp_http_client test not to use pointer after free 2020-12-30 05:33:51 +01:00
chaijie
d505474f78 1. Fix CPU switch to 160M issue;
2. increase lightsleep voltage to make sure wakeup successfully;
3. add judgement code to whether wait or not when switch CPU frequency.
2020-12-30 12:32:31 +08:00
Marius Vikhammer
eb788deb03 esp_hw_support: merge C3 changes to master
Merge RTC related C3 changes to master
2020-12-30 12:20:41 +08:00
xiehang
84e44914c0 esp_wifi: Update WiFi lib
1. Fix csa timer issue
2. Fix country code last byte to space instead of NULL
3. Fix softap cannot forward A-MSDU

Closes https://github.com/espressif/esp-idf/issues/6315
2020-12-30 03:34:11 +00:00
Angus Gratton
641b92da75 Merge branch 'feature/add_c3_target_master' into 'master'
tools: merge C3 changes into master

Closes IDF-2364 and IDF-2564

See merge request espressif/esp-idf!11800
2020-12-30 10:39:14 +08:00
Angus Gratton
1760f47681 Merge branch 'feature/newlib_lock_retarget' into 'master'
newlib 3.3.0 _RETARGETABLE_LOCKING support

Closes IDF-2129

See merge request espressif/esp-idf!9141
2020-12-30 09:11:35 +08:00
Ivan Grokhotkov
de798541dc tools: use riscv32-esp-elf toolchain for ESP32-S2 RISC-V ULP
riscv32-esp-elf toolchain (used for ESP32-C3) can also be used for
ESP32-S2 RISC-V ULP coprocessor.

This removes the riscv-none-embed-gcc toolchain which was originally
used for the ULP, and updates the docs and CMake files to use
riscv32-esp-elf.

Some flags are cleaned up and workarounds removed from CMake toolchain
file.
2020-12-29 19:19:18 +00:00
Roland Dobai
548ea1bdd5 tools: Wrap flash binaries into a UF2 file for flashing through USB MSC
@mmoskal This commit adds basic support for UF2 into ESP-IDF.
2020-12-29 18:14:47 +01:00
Ivan Grokhotkov
b7b9ea4361 newlib: add _RETARGETABLE_LOCKING support
This adds support for the retargetable locking implementation in
newlib 3. This feature will be enabled in the future toolchain builds.
With the present version of the toolchain, this code doesn't get used.

When _RETARGETABLE_LOCKING gets enabled, newlib locking implementation
will be modified as follows:

- Legacy ESP-specific _lock_xxx functions are preserved. This is done
  because ROM copies of newlib in ESP32 and ESP32-S2 rely on these
  functions through the function pointer table. Also there is some
  code in IDF which still uses these locking functions.

- New __retarget_lock_xxx functions are introduced. Newlib expects
  these functions to be provided by the system. These functions work
  pretty much the same way as the ESP-specific _lock_xxx functions,
  except one major difference: _lock_acquire receives the lock pointer
  by value, and as such doesn't support lazy initialization.

- Static locks used by newlib are now explicitly initialized at
  startup. Since it is unlikely that these static locks are used at
  the same time, all compatible locks are set to point to the same
  mutex. This saves a bit of RAM. Note that there are still many locks
  not initialized statically, in particular those inside FILE
  structures.
2020-12-29 16:18:04 +01:00
Ivan Grokhotkov
b1c4107275 vfs: zero-initialize struct stat in *_stat and *_fstat handlers
...otherwise some fields will contain garbage values.
This wasn't noticed until HAVE_BLKSIZE got enabled in newlib builds.
2020-12-29 16:18:04 +01:00
Ivan Grokhotkov
7f3b16a99d freertos: always enable static allocation
to use it for newlib locks
2020-12-29 16:18:04 +01:00
David Cermak
0693e172de mdns: Allow resolve its own non-strict answers
the mDNS responder should not repeat questions when replying, however resolvers
must ignore these questions field if they are present. esp-idf mDNS
library does include questions in answering packets (thus not strictly
following the RFC6762) so the resolver did not correctly resolved
another instance host name.

Closes https://github.com/espressif/esp-idf/issues/6190
2020-12-29 13:18:00 +00:00
Anton Maklakov
286f06b274 Merge branch 'bugfix/ci_flasher_args_json_dict_items' into 'master'
ci: fix flasher_args.json parser (iterate over dictionary)

Closes IDFCI-347

See merge request espressif/esp-idf!11787
2020-12-29 21:15:12 +08:00
Mahavir Jain
41aa787166 Merge branch 'fix/wolfssl_domain_name_check' into 'master'
esp_tls_wolfssl : Add domain name check

Closes IDF-2557

See merge request espressif/esp-idf!11737
2020-12-29 17:41:00 +08:00
Angus Gratton
629b4270b4 Merge branch 'feature/c3_mbedtls_merge' into 'master'
mbedtls: merge changes from C3 to master

Closes IDF-2544 and IDF-2114

See merge request espressif/esp-idf!11718
2020-12-29 12:37:08 +08:00
Omar Chebib
fcbc706a66 ci: fix flasher_args.json parser (iterate over dictionary)
Closes IDFCI-347
2020-12-29 12:27:51 +08:00
Angus Gratton
1b0442b963 Merge branch 'feature/unify_rtc_fast_mem_as_heap_config_across_chips' into 'master'
esp_system: make rtc fast memory to heap configuration unified across chips

Closes IDF-2503

See merge request espressif/esp-idf!11693
2020-12-29 11:41:05 +08:00
Marius Vikhammer
1b6891c5d8 mbedtls: merge changes from C3 2020-12-29 10:56:13 +08:00
Angus Gratton
2a5ac66a71 Merge branch 'feature/c3_docs_master_merge' into 'master'
Docs: merge C3 docs changes to master

Closes IDF-2546, IDF-2335, and IDF-2320

See merge request espressif/esp-idf!11722
2020-12-29 07:26:14 +08:00
Jiang Jiang Jian
98d838ef04 Merge branch 'bugfix/fix_espnow_bug_for_esp32c3' into 'master'
esp_wifi: fix the espnow bug for esp32c3

See merge request espressif/esp-idf!11768
2020-12-28 15:38:08 +08:00
Krzysztof Budzynski
d06d421844 Merge branch 'docs/fix_minor_documentation_issue' into 'master'
Docs: Fix minor documentation issue in the header file "sdmmc_cmd.h"

Closes IDFGH-4354

See merge request espressif/esp-idf!11760
2020-12-28 15:22:19 +08:00
Marius Vikhammer
da947d736f Docs: Add C3 support to build_docs 2020-12-28 12:25:03 +08:00
Ivan Grokhotkov
fb7fbdb299 Merge branch 'feature/usb_host_ll' into 'master'
USB Host struct, LL Layer, and types

See merge request espressif/esp-idf!11669
2020-12-27 08:13:43 +08:00
Jiang Jiang Jian
56625eea1e Merge branch 'bugfix/11kv_bugfixes' into 'master'
wpa_supplicant: Remove lock during processing of BTM/RRM packets

Closes WIFI-3182 and WIFI-3175

See merge request espressif/esp-idf!11717
2020-12-25 19:09:27 +08:00
zhangyanjiao
4ebc4eda8c esp_wifi: fix the espnow bug for esp32c3 2020-12-25 18:31:35 +08:00
Jiang Jiang Jian
22fded3acf Merge branch 'bugfix/support_sniffer_capture_fcs_err_packets' into 'master'
esp_wifi: Add FCS failed packets filter

Closes WIFI-3194, IDF-1832, and WIFI-892

See merge request espressif/esp-idf!11700
2020-12-25 18:08:59 +08:00
xiehang
c41f4a122a esp_wifi: ESP32 phy add [sections:phy_iram] 2020-12-25 16:46:36 +08:00
xiehang
0cbb7d503d esp_wifi: Update WiFi lib
1. Refactor wifi_interface_t
2. Faster WiFi station connect improvement, avoid 100ms passive scan
3. Add FCS failed packets filter
4. Update esp32 phy lib to v4660

Closes https://github.com/espressif/esp-idf/issues/986
2020-12-25 16:46:01 +08:00
raldone01
6e2dc5d291 Fix minor documentation issue
Merges https://github.com/espressif/esp-idf/pull/6192

Signed-off-by: yiying <yiying@MacBook-Air-Cindy.local>
2020-12-25 15:46:36 +08:00
xiehang
d1222ce158 esp_wifi: Refactor wifi_interface_t 2020-12-25 02:49:12 +00:00
Darian Leung
602a747b31 Add USB Host registers and types and LL layer
This commit adds the register struct, Low Level Layer, and
protocol types for USB Host
2020-12-24 19:43:42 +08:00
Chinmay Chhajed
d73ebb570b Bluedroid: Fixes for some vulnerabilities.
This commit fixes 'Impersonation in Passkey entry protocol'
(CVE-2020-26558) and suggests fixes for other vulnerabilites like
'Impersonation in the Pin Pairing Protocol' (CVE-2020-26555) and
'Authentication of the LE Legacy Pairing Protocol'

CVE-2020-26558 can be easily implemented if the peer device can
impersonate our public key. This commit adds a check by comparing our
and received public key and returns failed pairing if keys are same.

This commit also adds comments suggesting to use secure connection when
supported by all devices.
2020-12-24 10:52:12 +00:00
Ivan Grokhotkov
45afa158ff Merge branch 'bugfix/nvs_str_cmp' into 'master'
NVS: fix string comparison

Closes IDF-2476

See merge request espressif/esp-idf!11523
2020-12-24 18:28:29 +08:00
Angus Gratton
c3ba995f2c Merge branch 'ci/ccomp_performance_tests' into 'master'
unit_test: Refactor all performance tests that rely on cache compensated timer

See merge request espressif/esp-idf!11709
2020-12-24 13:44:52 +08:00
Angus Gratton
7a40b1695c Merge branch 'feature/esp32c3_small_changes' into 'master'
esp32c3: Merge small target support changes

Closes IDF-2361

See merge request espressif/esp-idf!11714
2020-12-24 12:36:12 +08:00
Angus Gratton
8a52f20a79 Merge branch 'feature/freertos_add_xQueueGenericReceive' into 'master'
freertos: add `xQueueGenericReceive` for backward compatibility

See merge request espressif/esp-idf!11169
2020-12-24 12:20:03 +08:00
Mahavir Jain
880a63b2e9 esp_system: make rtc fast memory to heap configuration unified across chips
Closes IDF-2503
2020-12-24 09:46:35 +05:30
Angus Gratton
7f98aedd23 Merge branch 'bugfix/misc_secure_boot_v2' into 'master'
Bugfix/misc secure boot v2

See merge request espressif/esp-idf!11678
2020-12-24 11:56:09 +08:00
Angus Gratton
309d76e986 Merge branch 'feature/support_esp32c3_master_cmake_efuse_to_mater' into 'master'
efuse: Merge C3 efuse changes to master

Closes IDF-2548

See merge request espressif/esp-idf!11719
2020-12-24 11:43:00 +08:00
Angus Gratton
af845b7de2 xtensa: Disable component on esp32c3 2020-12-24 14:18:02 +11:00
Angus Gratton
1741ae941e vfs: Update for esp32c3
From internal commit 6d894813
2020-12-24 14:18:02 +11:00
Angus Gratton
e2d4f0e320 riscv: Place stdatomic file in iram 2020-12-24 14:18:01 +11:00
Angus Gratton
99d93c1227 newlib: Update unit tests for ESP32-C3 2020-12-24 14:18:01 +11:00
Angus Gratton
570ef56d86 wear_levelling: Re-enable for ESP32-C3 2020-12-24 14:18:01 +11:00
Angus Gratton
690dc5d023 sdmmc: Temporarily disable sd_spi test cases
From internal commit 6d894813
2020-12-24 14:18:01 +11:00
Angus Gratton
1449eb8e9f esp_common fpga: Fix bootloader_fill_random() emulation 2020-12-24 14:18:01 +11:00
Marius Vikhammer
4ff8c7ae98 esp_rom/esp_system: Add flag for ROM multiple UART output, esp32c3 console
From internal commit 6d894813
2020-12-24 14:18:01 +11:00
Angus Gratton
544c5e57ce esp32c3: Add tests for esp_sha, stack checker
From internal commit 6d894813
2020-12-24 14:18:01 +11:00
Angus Gratton
adbf182bc5 bootloder_support: esp32c3 only supports XTS-AES-128 flash encryption 2020-12-24 13:40:01 +11:00
Angus Gratton
8fa2cf464a fatfs: Whitespace cleanup 2020-12-24 13:40:01 +11:00
Angus Gratton
61c77d9212 esp_system: Add port-specific esp32c3 files 2020-12-24 13:40:01 +11:00
Angus Gratton
55155c3f82 esp_system: Rename _init_start symbol to _vector_table 2020-12-24 13:40:01 +11:00
Angus Gratton
cfbded2ea1 esp_system: Add extra MMU config step for ESP32-C3 2020-12-24 13:40:01 +11:00
Angus Gratton
01696afc34 esp32c3: Add new esp_sleep_is_valid_wakeup_gpio() function 2020-12-24 13:40:01 +11:00
Angus Gratton
f9e1ee35ad esp_serial_slave_link: Add essl_spi definitions for esp32c3
From internal commit 6d894813
2020-12-24 13:40:01 +11:00
Angus Gratton
a5aac93051 esp_rom: Small changes for esp32c3 support
Updated from internal commit 6d894813
2020-12-24 13:40:01 +11:00
Angus Gratton
ed737becde soc: Move esp32c3 soc_memory_layout.c to soc component
Was incorrectly placed in esp_hw_support
2020-12-24 13:40:01 +11:00
Michael (XIAO Xufeng)
d5e1f43175 Merge branch 'feature/support_ext_flash_c3' into 'master'
esp_flash: support external flash on C3

Closes IDF-2123

See merge request espressif/esp-idf!11648
2020-12-24 10:30:20 +08:00
Michael (XIAO Xufeng)
4d9df27c2f Merge branch 'bugfix/flash_mmap_output_psram_arg' into 'master'
mmap: fixed the issue mmap cannot be called with pointers to psram

See merge request espressif/esp-idf!11537
2020-12-24 10:28:03 +08:00
Angus Gratton
30a96d22e1 Merge branch 'feature/esp32c3_soc_changes' into 'master'
soc: Apply esp32c3 updates

See merge request espressif/esp-idf!11712
2020-12-24 09:20:24 +08:00
Angus Gratton
b7f4c46a82 soc: Update esp32c3 soc headers
From internal commit 6d894813
2020-12-24 10:47:34 +11:00
Jiang Jiang Jian
413d3ab6dd Merge branch 'bugfix/fix_csi_bug_for_esp32s2' into 'master'
esp_wifi: fix the bug that esp32s2 can't get CSI info

Closes WIFI-2837 and WIFI-1311

See merge request espressif/esp-idf!11573
2020-12-23 23:50:54 +08:00
Aditya Patwardhan
39b446f9fe esp_tls_wolfssl : Add domain name check 2020-12-23 18:10:36 +05:30
jiangguangming
867255bbab efuse: Add support ESP32-C3
Updated:
- CSV eFuse table
- Kconfig
- efuse_table_gen.py
- UTs
- espefuse.py

efuse/c3: Fix the burn order of BLOCKs (MAX->0)

efuse/c3: Support efuse API with keys, protection, purpose bits

tool/ci: Adds test_efuse_table_on_host for esp32s3 and esp32c3
2020-12-23 18:39:18 +08:00
zhangyanjiao
e040168a9f esp_wifi: fix the bug that esp32s2 can't get CSI info
Closes https://github.com/espressif/esp-idf/issues/5857

Closes https://github.com/espressif/esp-idf/issues/1855
2020-12-23 16:18:11 +08:00
Jiang Jiang Jian
788e9fa49a Merge branch 'feature/lightsleep_related_iram_opt' into 'master'
components/pm: Add sleep related code iram opt chioce

See merge request espressif/esp-idf!11290
2020-12-23 14:45:43 +08:00
Liu Ning
57aa65eeed components/pm: Add sleep related code iram opt chioce 2020-12-23 14:45:36 +08:00
Jiang Jiang Jian
52e66cb143 Merge branch 'bugfix/fix_spp_vfs_dynamic_memory_bugs' into 'master'
component_bt/fix spp vfs demo crash when use dynamic memory

See merge request espressif/esp-idf!11502
2020-12-23 12:36:44 +08:00
ChenJianxing
1780d9d2b5 esp_wifi: optimize phy version log 2020-12-23 10:47:25 +08:00
Angus Gratton
6d6510c39b soc: Move esp32c3 soc_memory_layout.c to soc component
Was incorrectly placed in esp_hw_support
2020-12-23 11:49:16 +11:00
Angus Gratton
705d797b41 Merge branch 'feature/esp32c3_drivers' into 'master'
driver: Add esp32c3

Closes IDF-2363

See merge request espressif/esp-idf!11650
2020-12-23 08:43:31 +08:00
Angus Gratton
04c681443e hal esp32c3: Add placeholder rtc_io_ll.h 2020-12-23 09:53:24 +11:00
Angus Gratton
1cc206f393 driver: Only build dedic_gpio driver on supported chips 2020-12-23 09:53:24 +11:00
Armando
2d37bfa126 driver: Add adc_digi single conversion mode
- add lock for single read and continuous read APIs
- update onetime read start singal delay for hardware limitation[*]
- move adc_caps to soc_caps.h
- update license dates

[*] There is a hardware limitation. If the APB clock frequency is high, the
step of this reg signal: ``onetime_start`` may not be captured by the
ADC digital controller (when its clock frequency is too slow). A rough
estimate for this step should be at least 3 ADC digital controller
clock cycle.
2020-12-23 09:53:24 +11:00
Angus Gratton
fa892eb017 soc: Explain units for rtc_clk_cal() function, fix typo 2020-12-23 09:53:24 +11:00
Angus Gratton
75dede2344 esp_hw_support: Add esp32c3 regi2c headers 2020-12-23 09:53:24 +11:00
Angus Gratton
8e0d423a5e driver: Add rtc_io hold/wakeup c3 support
Temporary implementation, should be moved to HAL

Copied from internal commit 3ef01301ff
2020-12-23 09:53:24 +11:00
Cao Sen Miao
e338a2e3df rtc: add function to en/disable the rtc clock 2020-12-23 09:53:24 +11:00
Angus Gratton
f09b8ae7a4 driver: Add esp32c3 ADC driver
Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Angus Gratton
27a9cf861e driver: Add esp32c3 drivers (except ADC/DAC) and update tests
Some ESP32-C3 drivers are still pending.

Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Jiang Jiang Jian
fcfb7cea4a Merge branch 'bugfix/sync_baidu_fix_to_master' into 'master'
esp_wifi: Sync baidu fix to master

See merge request espressif/esp-idf!11188
2020-12-22 22:10:41 +08:00
Mahavir Jain
96288d82d4 Merge branch 'bugfix/build_issue_with_rtc_gpio_desc_configuration' into 'master'
Fix build issue with rtc gpio desc configuration

Closes IDFGH-4470 and IDFGH-4167

See merge request espressif/esp-idf!11699
2020-12-22 21:04:24 +08:00
kapil.gupta
f14da2ecc0 wpa_supplicant: Remove lock during processing of btm/rrm packets
Lock is not required during btm/rrm action frames processing and
taking it may cause inconsistant behavior since wifi task
posts the events to this task.
2020-12-22 16:56:41 +05:30
Cao Sen Miao
83f6eaf0d2 ci: make flash performance test alternative 2020-12-22 16:46:04 +08:00
Marius Vikhammer
0a95151a75 unit_test: Refactor all performance tests that rely on cache compensated timer
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.

This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11:00
xiehang
32dd739da4 esp_wifi: Update wifi lib
1. Add check CSA state before CSA timer process
2. Change wifi scan duration from 120ms to 100ms
3. Using deport reg instead of ahb
4. Check TID in ieee80211_recv_bar()
5. Revert to report specific reason code when receiving deauth during 4-way-handshark
6. Fix the bug that tx ampdu parameter is not from peer device
2020-12-22 15:48:24 +08:00