Commit Graph

9968 Commits

Author SHA1 Message Date
Aditya Patwardhan
47f7c6a991 esp32s2/esp_ds: Digital Signature software support
1)Added support for alt rsa sign implementation with DS peripheral (
through ESP-TLS - mbedTLS SSL/TLS stack)
2020-09-22 18:31:31 +05:30
morris
0bb21281ca esp32s3: select esp32s3 beta version in menuconfig 2020-09-22 15:15:03 +08:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
Marius Vikhammer
bff0016eb8 crypto accelerator support on esp32s3
SHA: passing unit tests
RSA: pass tests
AES: tests passing
2020-09-22 15:15:03 +08:00
morris
cc66334014 esp_timer: initial support on esp32-s3 2020-09-22 15:15:03 +08:00
morris
75a372a9f0 unit_test: support reference clock, test delay function 2020-09-22 15:15:03 +08:00
morris
e90dbe29cb esp32s3: run on chip 2020-09-22 15:15:03 +08:00
jiangguangming
28145e0894 support flash instr and rodata copy to SPIRAM 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
Cao Sen Miao
d7e50c6457 spi_flash:bringup some flash supports for esp32s3 2020-09-22 15:15:03 +08:00
chenjianqiang
f19cabb7e4 psram: support psram for esp32s3 2020-09-22 15:15:03 +08:00
morris
6225932201 bootloader_support: add esp32-s3 initial support 2020-09-22 15:15:03 +08:00
Xia Xiaotian
2e0c60461c esp_wifi: refactor PHY access
- Simplify PHY access API
- Move coexist initializing and deinitializing out from PHY API
  to Wi-Fi and Bluetooth
- Remove coexist pause and resume for they are no longer needed.
2020-09-22 15:00:05 +08:00
Jiang Jiang Jian
b845bb5787 Merge branch 'bugfix/ipv6_send_data_error_when_src_ip_miss' into 'master'
lw-ip:ipv6 send multicast data fail when src address is null

Closes WIFI-2489

See merge request 
2020-09-22 14:19:31 +08:00
Jiang Jiang Jian
cfc4be0f06 Merge branch 'bugfix/confirmed_bugfix_from_baidu_proj' into 'master'
component_bt/bugfix: Confirmed bugfix from Baidu project

See merge request 
2020-09-22 11:38:29 +08:00
Jiang Jiang Jian
c2c6c24e35 Merge branch 'bugfix/wifi_spin_lock_allocation_in_PSRAM' into 'master'
wifi: Fix spin lock allocation in PSRAM bug

See merge request 
2020-09-22 11:36:54 +08:00
Island
0ba0c3a01d Merge branch 'bugfix/ble_mesh_node_deinit' into 'master'
ble_mesh: stack: Persistent storage misc fixes

See merge request 
2020-09-22 10:08:03 +08:00
Ivan Grokhotkov
58ab54979c Merge branch 'bugfix/efuse_test_stackoverflow' into 'master'
CI: Increase stack size for efuse unit test

See merge request 
2020-09-21 21:58:15 +08:00
Armando
59e350b195 spi: seperate the pointer for the TX and RX DMA 2020-09-21 20:33:56 +08:00
Armando
27a6f2666a spi_master: refactor hal context structures
This commit seperates the hal context into different configuration
structures based on their members' definitions. Through refactoring
spi_master.c, the device related configuration should be passed in and
set each time before a new transaction. The transaction related
configuration now is a local variable in case of the fact that error
occurs without any notice when user forgets to pass new transaction
configuration in (which means the old driver will use the trans_config
that is saved from last transaction).

Besides, via above refactor, this commit fixs a bug which leads to
wrong cs polarity setting.
Closes https://github.com/espressif/esp-idf/pull/5490

Moreover, via above refactor, this commit also fixs a bug about duplex
mode switching when multiple devices are added to the bus.
Closes https://github.com/espressif/esp-idf/issues/4641
2020-09-21 20:32:41 +08:00
lly
e14868ff30 ble_mesh: stack: Persistent storage misc fixes
* Fix the issue that deinit node with "erase_flash"
  set to true, but info is not erased from nvs
* Reuse bt_mesh_cfg_reset() when deinit node
* Optimize Provisioner related erase operations
* No store pending timeout will be used when Node
  is not provisioned OR Provisioner is disabled
  and erase operation is performed
* Change the default timeout for settings operation
  to 0, and rpl store rate to 0
2020-09-21 11:46:52 +00:00
Ivan Grokhotkov
396dea51ba Merge branch 'bugfix/core_dump_regression' into 'master'
bugfix/esp_system: fix core_dump on flash regression by placing esp_system_abort back to IRAM

See merge request 
2020-09-21 16:11:22 +08:00
Angus Gratton
033f49f974 Merge branch 'bugfix/cpp_header_rom_secure_boot' into 'master'
Secure Boot: Fixes the cpp macro in esp32 secure boot rom functions.

Closes IDFGH-3998

See merge request 
2020-09-21 15:51:03 +08:00
jiangguangming
052f88f1d1 flash_mmap: restore interrupt and cache before err return 2020-09-21 07:37:50 +00:00
jiangguangming
61e341e791 flash_mmap: can mmap after get enough free MMU pages 2020-09-21 07:37:50 +00:00
Angus Gratton
5004812dd6 Merge branch 'bugfix/spiram_reserve_size_pr5373' into 'master'
SPIRAM reserved memory size fixes

Closes IDFGH-3407 and IDFGH-3931

See merge request 
2020-09-21 12:27:00 +08:00
Marius Vikhammer
ae0931be06 CI: Increase stack size for efuse unit test
"Batch mode is thread-safe" case would occasionally cause a stackoverflow.
Increased stack size.
2020-09-21 12:23:14 +08:00
Angus Gratton
a381ecca6f Merge branch 'bugfix/cxx_exception_crash_test' into 'master'
Temporarily remove cxx exception frequent intr unit test

See merge request 
2020-09-21 10:31:27 +08:00
Michael (XIAO Xufeng)
ea1eb495a5 Merge branch 'bugfix/spi_master_multiple_dev_with_diff_cs_lvl_master' into 'master'
spi_master: correctly set cs polarity

See merge request 
2020-09-21 10:17:38 +08:00
Angus Gratton
95177d5f07 esp32s2 spiram: Fix unused variable warnings 2020-09-21 11:43:55 +10:00
Angus Gratton
d1b86720f1 esp32s2: Reduce calls to esp_spiram_get_size() when initializing PSRAM 2020-09-21 11:43:55 +10:00
Angus Gratton
3f034a5005 spiram: Add soc macro for SPIRAM address space size, use it where applicable
Reference https://github.com/espressif/esp-idf/pull/5373
2020-09-21 11:43:55 +10:00
negativekelvin
5eb5bb5f72 Fix reserved psram region
Closes https://github.com/espressif/esp-idf/pull/5373

Closes https://github.com/espressif/esp-idf/issues/5821
2020-09-21 11:39:54 +10:00
Jakob Hasse
6292d359f8 Removed C++ unit test
* Removed cxx exception frequent intr unit test
  It sometimes stalled by too frequent interrupts
  in some configurations, causing CI trouble.
* Opened Jira IDF-2144 for further investiation
2020-09-21 01:32:23 +00:00
Supreet Deshpande
0e940c80d4 Secure Boot: Fixes the cpp macro in esp32 secure boot rom functions.
Closes https://github.com/espressif/esp-idf/issues/5878
2020-09-20 22:50:44 +05:30
Michael (XIAO Xufeng)
3b2e8648eb bootloader: create public bootloader_flash.h header
Move non-public functions into bootloader_flash_priv.h header
2020-09-19 10:52:02 +08:00
Michael (XIAO Xufeng)
fefdee1349 bootloader: fix the WRSR format for ISSI flash chips
1. The 2nd bootloader always call `rom_spiflash_unlock()`, but never help to clear the WEL bit when exit. This may cause system unstability.

   This commit helps to clear WEL when flash configuration is done.

   **RISK:** When the app starts, it didn't have to clear the WEL before it actually write/erase. But now the very first write/erase operation should be done after a WEL clear. Though the risk is little (all the following write/erase also need to clear the WEL), we still have to test this carefully, especially for those functions used by the OTA.

2. The `rom_spiflash_unlock()` function in the patch of ESP32 may (1) trigger the QPI, (2) clear the QE or (3) fail to unlock the ISSI chips.

   Status register bitmap of ISSI chip and GD chip:

| SR | ISSI | GD25LQ32C |
| -- | ---- | --------- |
| 0  | WIP  | WIP       |
| 1  | WEL  | WEL       |
| 2  | BP0  | BP0       |
| 3  | BP1  | BP1       |
| 4  | BP2  | BP2       |
| 5  | BP3  | BP3       |
| 6  | QE   | BP4       |
| 7  | SRWD | SRP0      |
| 8  |      | SRP1      |
| 9  |      | QE        |
| 10 |      | SUS2      |
| 11 |      | LB1       |
| 12 |      | LB2       |
| 13 |      | LB3       |
| 14 |      | CMP       |
| 15 |      | SUS1      |

   QE bit of other chips are at the bit 9 of the status register (i.e. bit 1 of SR2), which should be read by RDSR2 command.

   However, the RDSR2 (35H, Read Status 2) command for chip of other vendors happens to be the QIOEN (Enter QPI mode) command of ISSI chips. When the `rom_spiflash_unlock()` function trys to read SR2, it may trigger the QPI of ISSI chips.

   Moreover, when `rom_spiflash_unlock()` try to clear the BP4 bit in the status register, QE (bit 6) of ISSI chip may be cleared by accident. Or if the ISSI chip doesn't accept WRSR command with argument of two bytes (since it only have status register of one byte), it may fail to clear the other protect bits (BP0~BP3) as expected.

   This commit makes the `rom_spiflash_unlock()` check whether the vendor is issi. if so, `rom_spiflash_unlock()` only send RDSR to read the status register, send WRSR with only 1 byte argument, and also avoid clearing the QE bit (bit 6).

3. `rom_spiflash_unlock()` always send WRSR command to clear protection bits even when there is no protection bit active. And the execution of clearing status registers, which takes about 700us, will also happen even when there's no bits cleared.

   This commit skips the clearing of status register if there is no protection bits active.

Also move the execute_flash_command to be a bootloader API; move
implementation of spi_flash_wrap_set to the bootloader
2020-09-19 10:51:51 +08:00
Felipe Neves
e8a276d641 esp_system: revert the esp_system_abort to the IRAM section 2020-09-18 22:18:30 -03:00
Jakob Hasse
0e118c6070 NVS: put wild functions into namespace 2020-09-18 15:38:40 +08:00
xueyunfei
8feadde2fa ipv6 send multicast data fail when src address is null 2020-09-18 14:24:14 +08:00
Jiang Jiang Jian
65c94dfb4c Merge branch 'bugfix/add_disconn_req_action_when_no_link' into 'master'
component_bt/bugfix: add_disconn_req_action_when_no_link

See merge request 
2020-09-18 12:21:50 +08:00
Ivan Grokhotkov
3af24d2f36 Merge branch 'bugfix/fix_wrong_nvs_api_doc' into 'master'
nvs: fix api doc regarding to maximum key length

See merge request 
2020-09-18 01:01:45 +08:00
Ivan Grokhotkov
d7f846d1b3 Merge branch 'bugfix/log-error-run-esptool' into 'master'
parttool.py: Add file stream parameter and log stdout and stderr to same stream

Closes IDF-2075

See merge request 
2020-09-18 01:00:05 +08:00
Wielebny666
db6fbba73e spi_master: correctly set cs polarity
All devices must be added to the same spi line before use.

Partly solve this problem: https://github.com/espressif/esp-idf/pull/5490
2020-09-17 12:05:57 +00:00
martin.gano
da5b582dee add file stream parameter and log stdout and stderr to same stream 2020-09-17 12:54:18 +02:00
Angus Gratton
0fe231d2b3 Merge branch 'feature/pkg_ver_uses_4_bits' into 'master'
efuse/esp32: Expands PKG_VER from 3 bit to 4 bits

Closes IDF-1919

See merge request 
2020-09-17 18:21:08 +08:00
Mahavir Jain
d82b9275b5 Merge branch 'bugfix/provisioning_example_warning_with_O2_optimization' into 'master'
provisioning: use memcpy instead of strncpy for copying SSID

Closes IDFGH-3983

See merge request 
2020-09-17 17:56:37 +08:00
Michael (XIAO Xufeng)
3c283b490a Merge branch 'feature/async_memcpy' into 'master'
async_mcp: support async memory copy on esp32s2 and esp32s3

See merge request 
2020-09-17 16:54:28 +08:00
KonstantinKondrashov
2373f115fc efuse/esp32: Expands PKG_VER from 3 bit to 4 bits
Closes: IDF-1919
2020-09-17 07:44:37 +00:00
Mahavir Jain
6a3d50c952 provisioning: use memcpy instead of strncpy for copying SSID
Per WiFi library requirement, SSID can be non-null terminated string
if its length goes to 32 bytes (maximum). Use of strncpy in this case,
along with compiler optimization level -O2 results in some warnings
for potential use of non-null terminated strings.

Fix here ensures use of memcpy to copy SSID string upto appropriate
desired length. This helps to avoid compiler specific workaround
flags added earlier.

Closes https://github.com/espressif/esp-idf/issues/5866
Closes IDFGH-3983
2020-09-17 12:59:22 +05:30
morris
e52c93a514 nvs: fix api doc regarding to maximum key length
Thanks to feed back from https://esp32.com/viewtopic.php?f=25&t=17323
2020-09-17 12:37:28 +08:00
Island
83ffba024a Merge branch 'bugfix/ble_mesh_check_stack_init' into 'master'
ble_mesh: stack: Check if mesh stack initialized before init vendor client

See merge request 
2020-09-17 11:21:25 +08:00
Ivan Grokhotkov
b62d149b82 Merge branch 'feature/freertos_port_code_out_iram' into 'master'
feature/esp_system: move startup and freertos port  once-time code out of IRAM when possible

Closes IDF-1975

See merge request 
2020-09-17 06:58:08 +08:00
Ivan Grokhotkov
f4296b947e Merge branch 'bugfix/fatfs_alloc_extram_first' into 'master'
fatfs: fix SPIRAM allocation not used due to Kconfig option name error

Closes IDFGH-3850

See merge request 
2020-09-17 03:41:34 +08:00
morris
a3cc43485f async memcpy: support async memcopy on esp32s2/s3
Added async memory copy API:
on esp32-s2, the implementation is based on CP_DMA
on esp32-s3, the implementation is based on GDMA
2020-09-16 21:30:54 +08:00
Jiang Jiang Jian
78ee03b100 Merge branch 'bugfix/update_esp32_phy_4390' into 'master'
esp_wifi: update esp32 phy v4390

See merge request 
2020-09-16 11:57:32 +08:00
dongyou
29592e3e83 wifi: Fix spin lock allocation in PSRAM bug
Closes https://github.com/espressif/esp-idf/issues/5629
2020-09-16 11:38:15 +08:00
me-no-dev
b64fd872bc Allow esptool's download stub to be disabled by other options and applications
Currently USB CDC Download requires the `--no-stub` option of `esptool`. This change inverts the Kconfig option to negative, so that it can be `selected` by other options or enabled in applications through `sdkconfig.defaults`.
2020-09-16 03:25:53 +00:00
lly
cf1f5fe5ad ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-16 02:41:49 +00:00
Felipe Neves
e67162a7ea startup: namespaced start_app and start_app_other_core to avoid user code collision 2020-09-15 16:05:19 -03:00
Felipe Neves
a1e5dd58b2 startup: moved init core functions out of iram memory 2020-09-15 16:02:12 -03:00
Felipe Neves
d59e8b50d2 freertos: move startup code out of iram memory 2020-09-15 16:02:12 -03:00
Ivan Grokhotkov
96db25c861 Merge branch 'feature/nvs_encryption_s2' into 'master'
NVS: using esp_partition API

Closes IDF-1340 and IDF-858

See merge request 
2020-09-16 02:12:54 +08:00
Ivan Grokhotkov
8bc19ba893 Merge branch 'feature/free_components_iram' into 'master'
freertos: free IRAM space moving task functions into flash memory

See merge request 
2020-09-15 23:14:31 +08:00
Alex Lisitsyn
eaa892bebf freertos: optionally place selected freertos functions into flash memory instead of IRAM
correct generation.py script to be silent when file: function is not in the object list (just ignore placement)
correct linker.lf to place task functions into flash if CONFIG_FREERTOS_TASK_FUNCTIONS_INTO_FLASH is active otherwise into IRAM
update kconfig option to place functions into IRAM
update linker file after tests
fix spi_device_polling_end crash when xTaskGetTickCount() in flash
disable "yield from lower priority task, other CPU" test case when placing rtos functions into flash
upadate ut app config freertos_flash
combine spi_flash driver and freertos ut configs into one file
remove TEST_EXCLUDE_COMPONENTS
ci: fix ut job
remove functions that are called from ISR funcs
add port module functions to place into Flash
place snapshot funcs into Flash when ESP_PANIC_HANDLER_IRAM is not set
ci: add job with tags UT_T1_GPIO,ESP32_IDF
2020-09-15 23:14:31 +08:00
weitianhua
c598b816ba Confirmed bugfix from Baidu project 2020-09-15 19:36:20 +08:00
Angus Gratton
4535fa03b0 Merge branch 'feature/freertos_dual_portYIELD_support' into 'master'
feature/freertos: enable support for portYIELD_FROM_ISR that takes an argument or not

Closes IDF-1962

See merge request 
2020-09-15 19:06:58 +08:00
Island
ee7a7ffe55 Merge branch 'bugfix/ble_mesh_settings_fix' into 'master'
Bugfix/ble mesh settings fix

Closes BLEMESH-217

See merge request 
2020-09-15 11:08:51 +08:00
Ivan Grokhotkov
0efad5951b Merge branch 'bugfix/ulp_doc_typo' into 'master'
ulp: typo fix (Github PR)

Closes IDFGH-1899

See merge request 
2020-09-15 01:11:25 +08:00
Ivan Grokhotkov
4fe7a58a60 Merge branch 'bugfix/config_pm_use_rtc_timer_ref' into 'master'
esp_timer: fix CONFIG_PM_USE_RTC_TIMER_REF option usage

Closes IDFGH-2958

See merge request 
2020-09-15 00:41:16 +08:00
Ivan Grokhotkov
c330def25a fatfs: fix SPIRAM allocation not used due to Kconfig option name error
Closes https://github.com/espressif/esp-idf/issues/5756
2020-09-14 18:30:31 +02:00
Felipe Neves
c471cce26c freertos/tests: added isr latency test with no parameter and parameter based yield from ISR 2020-09-14 16:12:38 +00:00
Felipe Neves
36b2737bb1 freertos/xtensa: make vportYIELD_FROM_ISR compatible with version that both takes argument or not 2020-09-14 16:12:38 +00:00
Michael (XIAO Xufeng)
1a1e1911f9 Merge branch 'bugfix/spi_dma_close_before_cpu_reset' into 'master'
spi: fix issue with closing DMA before CPU reset

Closes FCS-484

See merge request 
2020-09-14 23:02:05 +08:00
Michael (XIAO Xufeng)
286ccc600e Merge branch 'bugfix/spi_slave_hd_callback_judge' into 'master'
spi_slave_hd: Prevent NULL callback from being called

See merge request 
2020-09-14 22:43:33 +08:00
weitianhua
31df07c5d7 Redesign separating AVRC & A2DP
1. Add g_av_with_rc to avrc_tg_init function
2. Remove g_av_open_fail
3. Add comment in API files
4. Add a2dp init & deinit state variable to inidcate a2dp statement
2020-09-14 17:22:41 +08:00
lly
b453c1268a ble_mesh: stack: Use settings_core_erase when deinit 2020-09-14 08:40:12 +00:00
lly
825ceb726d ble_mesh: stack: Fix storing next net_idx and app_idx 2020-09-14 08:40:12 +00:00
lly
f34c7df26d ble_mesh: stack: Continue restore even if failure happens
Previously we have used this solution for node info
restore. Here use the same solution for other mesh
information restore.
2020-09-14 08:40:12 +00:00
lly
e18ea178b8 ble_mesh: stack: Split model settings store and clear 2020-09-14 08:40:12 +00:00
lly
f8c3818182 ble_mesh: stack: Erase netkey and appkey with key index 2020-09-14 08:40:12 +00:00
lly
80b16c58bb ble_mesh: stack: Add clear hb_pub in settings 2020-09-14 08:40:12 +00:00
lly
88cc07b6ca ble_mesh: stack: Transport rx reset settings update
When reset the rx info of transport layer, the
rpl list will always cleared, and rpl stored
in the nvs will only be erased when erase flag
is true and BLE_MESH_SETTINGS is enabled.
Compared with the previous solution, it should
be more clear.
2020-09-14 08:40:12 +00:00
lly
f010c36366 ble_mesh: stack: Use erase settings functions 2020-09-14 08:40:12 +00:00
lly
5ad4166d41 ble_mesh: stack: Use mutex for settings operation
Also expose the settings functions with the parameter
bt_mesh_nvs_handle_t, which will be used for further
updates.
2020-09-14 08:40:12 +00:00
lly
2bb65fac60 ble_mesh: stack: Add role check before enabling device 2020-09-14 08:40:12 +00:00
lly
ace471c266 ble_mesh: stack: Define a type for mesh nvs handle 2020-09-14 08:40:12 +00:00
Ivan Grokhotkov
767235ba6d Merge branch 'bugfix/coredump_temp_files_del' into 'master'
coredump: temp-files delete fix

See merge request 
2020-09-14 16:05:28 +08:00
Michael (XIAO Xufeng)
b65fd25458 Merge branch 'bugfix/update_link_hal_readme' into 'master'
hal: update link to HAL readme.md

See merge request 
2020-09-14 13:26:30 +08:00
Michael (XIAO Xufeng)
b65d3e51aa Merge branch 'bugfix/add_return_in_uart_wait_tx_done' into 'master'
bugfix(UART): Add return in uart_wait_tx_done

See merge request 
2020-09-14 10:37:17 +08:00
Jakob Hasse
aca9ec28b3 NVS: using esp_partition API
* partition api changed from spi_flash* API to
  esp_partition* API and is abstracted as a C++
  interface.
* The old nvs encryption is still possible
* changed default unit test app partition table
* Partitions coming from esp_partition API are
  checked for generic flash encryption. If yes,
  an error is returned since generic flash
  encryption isn't compatible with nvs
  encryption
* esp32, esp32s2 tests don't require nvs_flash
  but mbedtls now

Closes IDF-1340
Closes IDF-858
2020-09-14 10:34:34 +08:00
Mahavir Jain
b18d8f1863 Merge branch 'bugfix/http_client_empty_headers' into 'master'
esp_http_client: Fix issue when response headers have empty value

Closes IDFGH-3613, IDFGH-3921, and IDFGH-3959

See merge request 
2020-09-11 23:47:32 +08:00
Mahavir Jain
ac7f7084bc Merge branch 'bugfix/returns_correct_flash_encryption_mode' into 'master'
bootloader: Fix esp_get_flash_encryption_mode()

Closes IDFGH-3841

See merge request 
2020-09-11 18:37:33 +08:00
boarchuz
bf942a60f3 esp_http_client: add flush response
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>

Merges: https://github.com/espressif/esp-idf/pull/5845
Closes: https://github.com/espressif/esp-idf/issues/5814
2020-09-11 15:25:24 +05:30
Mahavir Jain
34d5b64a34 Merge branch 'task/nvs_util_file_handling' into 'master'
nvs_util: Update file I/O handling for error handling across various OS

See merge request 
2020-09-11 17:52:02 +08:00
Ivan Grokhotkov
00072fe2e2 Merge branch 'ci/standalone_unit_test_app' into 'master'
CI: add standalone unit test app for esp_netif

See merge request 
2020-09-11 15:50:54 +08:00
Marius Vikhammer
b2f390df01 hal: update link to HAL readme.md
The HAL readme was moved during refactoring, but links were not updated.
2020-09-11 15:48:08 +08:00
Shivani Tipnis
d1f00e7c36 nvs_util: Update file I/O handling for error handling across various OS 2020-09-11 06:35:01 +00:00
weitianhua
57b695be10 Add global header and change declaration position 2020-09-11 14:31:18 +08:00
weitianhua
04a7771f33 Remove uneccessary macro
Separate AVRC from A2DP when AVRC not Initialized
2020-09-11 14:31:18 +08:00