KonstantinKondrashov
3ed226c362
efuse(esp32c3): Adds getting chip_revision and chip_pkg
2021-01-25 19:37:40 +08:00
KonstantinKondrashov
1f37a5f162
spi_flash(esp32-s2): Add the workaround of a reboot issue when SPI HW suspend is enabled
2021-01-25 11:13:38 +08:00
KonstantinKondrashov
60e58eaddb
spi_flash: Add auto-suspend mode for ESP32-S2
...
Uses HW auto_wait_idle, HW auto_suspend and SW resume
2021-01-25 11:13:38 +08:00
KonstantinKondrashov
afef16c2e9
spi_flash: Support suspend/resume mode for operations
...
- Adds arbitration between the erase and write in suspend mode
(If the flash memory is suspended then only a read operation can be performed.)
- espcoredump: Dump does not use suspend feature, just resume before continue.
- spi_flash: Add release_cpu() to do suspend/release_cpu/resume
2021-01-25 11:13:38 +08:00
KonstantinKondrashov
88c5fe49b8
soc: Adds a soc_caps define for all chips to define the number of boot key digests
2021-01-19 20:51:13 +08:00
KonstantinKondrashov
98f726fa4b
bootloader/esp32c3: Adds secure boot (not yet supported)
2021-01-19 20:51:13 +08:00
KonstantinKondrashov
e62d4a6b81
esp32s3: BROWNOUT reset reason is set directly without using the brownout ISR
2021-01-18 15:38:09 +08:00
KonstantinKondrashov
f58c296336
esp32s2: BROWNOUT reset reason is set directly without using the brownout ISR
2021-01-18 15:38:09 +08:00
KonstantinKondrashov
d81a93ae4c
esp32c3: Adds support BROWNOUT reset
2021-01-18 15:38:09 +08:00
Konstantin Kondrashov
d23c7690f2
esp32c3: Add UTs for reset_reason
2021-01-18 07:12:21 +08:00
KonstantinKondrashov
dada7cd035
global: Uses CCOUNT API instead of XTHAL macro
2021-01-12 16:24:23 +08:00
Konstantin Kondrashov
fbba2cb356
bootloader/esp32s2: Add using of efuse APIs for keys, purposes, wr/rd-protection bits for flash encryption, secure boot
2021-01-08 11:29:46 +08:00
KonstantinKondrashov
aec5776091
newlib: Fix a case in FD_ISSET macro when n==-1
2021-01-06 20:54:24 +00:00
KonstantinKondrashov
aa96c9a4d8
esp_timer: Add an option to skip unhandled events for periodic timers
...
- Added an option to skip unhandled events for periodic timers. Useful for light sleep.
- Added doc about this case
- Added Test a latency between a call of callback and real event (14-16us). and UT to check skip_unhandled_events.
- Fixed for esp_timer_dump() if name of timer is NULL
- Refactored timer_process_alarm()
- Added the delete function after using in UTs
2020-12-09 17:19:19 +08:00
Konstantin Kondrashov
4a487af43a
efuse: Add new APIs for keys, purposes, wr/rd protection
...
- the batch mode can be called recursively
2020-12-04 10:42:57 +08:00
KonstantinKondrashov
48c498bdca
esp32s2/fpga: Fix a clock configure in bootloader
2020-11-06 07:25:35 +00:00
KonstantinKondrashov
f2c9c1e4ab
efuse: Fix the order of writing in batch mode for esp32s2 and s3
2020-11-06 07:25:35 +00:00
KonstantinKondrashov
e0d0200aed
esp_timer: Use Task Notification instead of semaphore
2020-11-06 06:43:22 +00:00
KonstantinKondrashov
e9978f7623
esp32xx: Fix default values for all RTC sources in RTC_CLK_CAL_CYCLES option
...
Closes: https://github.com/espressif/esp-idf/issues/6037
2020-10-28 16:25:07 +08:00
KonstantinKondrashov
99226734e2
esp_common: Fix range of MACs for interal usage with wrong crc
...
Closes: https://github.com/espressif/esp-idf/issues/5937
2020-10-20 22:12:28 +08:00
KonstantinKondrashov
5f975a8168
bootloader: Change range of the factory reset pin in Kconfig
...
Closes: https://github.com/espressif/esp-idf/issues/5489
2020-10-20 21:28:37 +08:00
Konstantin Kondrashov
9386cafbc3
time: Fix gettimeofday for ESP32-S3
2020-10-20 14:09:32 +08:00
KonstantinKondrashov
b19c4739c3
bootloader: Secure_boot name replaced by secure_boot_v1 & secure_boot_v2
...
- espefuse.py burn_key secure_boot is no longer used.
- Secure boot V1: espefuse.py burn_key secure_boot_v1 file.bin
- Secure boot V2: espefuse.py burn_key secure_boot_v2 file.bin
2020-10-15 16:48:23 +08:00
KonstantinKondrashov
3c57d5e0a1
bootloader: Skip a sha256 error on FPGA
2020-10-15 13:27:54 +08:00
KonstantinKondrashov
66b9b589cb
efuse: Adds support for esp32-s2 chip
2020-10-14 16:26:51 +08:00
KonstantinKondrashov
7ae7adf16a
newlib: Fix clock_getres() improves accuracy
...
Returns not rounded value of resolution for WITH_RTC and !WITH_FRC
2020-10-07 18:01:35 +08:00
KonstantinKondrashov
55dc1524ee
partition_table: Extend the get_partition_info command
...
A manufactory tool needs to retrieve info about partitions. With a new flag - "--part_list" we can get a list of partitions with the same type/subtype and easily iterate by it.
- name and flag arguments
- added flag "--part_list" to get a list of partitions with the same type/subtype
- save prev behavior of the get_partition_info command (return the only first item)
- added host test
2020-10-05 17:56:43 +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
KonstantinKondrashov
09af4a9fad
bootloader: Fix esp_get_flash_encryption_mode(). RELEASE = (CRYPT_CNT == max) or (CRYPT_CNT.write_protect == true)
...
If the CRYPT_CNT efuse is max it means the same as a write protection bit for this efuse.
Closes: https://github.com/espressif/esp-idf/issues/5747
2020-09-11 04:20:23 +00:00
KonstantinKondrashov
0319eb5984
esp32s2/soc: Fix periph_ll_periph_enabled
...
Logs, before to go the deepsleep, were not completely flushed.
2020-09-07 08:32:18 +00:00
KonstantinKondrashov
b1e667cdcc
esp_system: Disable UTs for ESP32-S2 linked to sleep mode
...
- disable source trigger behavior
- light sleep followed by deep sleep
- wake up from light sleep using timer
2020-09-01 17:10:28 +08:00
KonstantinKondrashov
5e8795eebe
example/flash_encryption: Fix partition table and sdkconfig.defaults
...
When the flash encryption is enabled then we do not need to change the partition table.
The partition_example.csv should not have fixed offsets for partitions because we want to move the whole table.
The fixed offsets in the table were cleared.
2020-08-26 19:37:33 +08:00
KonstantinKondrashov
d95c89a1eb
bootloader_support: Fix bootloader_common_get_sha256_of_partition, can handle a long image
...
Closes: IDFGH-3594
2020-07-20 10:55:41 +00:00
KonstantinKondrashov
76fd504cc8
esptool: Update esptool
...
Closes: ESPTOOL-44
2020-07-16 13:24:09 +08:00
KonstantinKondrashov
11844a54f4
mbedtls: Fix a case for mpi_montgomery_exp_calc() when Z is not init
...
Closes: IDF-1870
2020-07-13 22:46:05 +08:00
KonstantinKondrashov
96b3ab708a
esp32s2: Add USE_FIXED_STATIC_RAM_SIZE feature
...
This feature exists on ESP32 and missed for ESP32S2. This commit adds it for esp32s2 as well.
Closes: IDF-1800
2020-06-17 22:24:51 +08:00
KonstantinKondrashov
a861a75396
newlib: Fix UT for adjtime
2020-06-15 22:46:41 +08:00
KonstantinKondrashov
0c7e13f0cd
newlib: Fix adjtime, returns the amount of time remaining from any previous adjustment
...
If the olddelta argument is not a null pointer, the adjtime function returns information
about any previous time adjustment that has not yet completed.
Closes: https://github.com/espressif/esp-idf/issues/5194
2020-06-08 22:57:38 +08:00
KonstantinKondrashov
5cfdf1aa70
efuse: Add some fields in efuse_table and update esp_efuse_get_pkg_ver()
...
Closes: IDF-1077
2020-06-08 22:35:08 +08:00
KonstantinKondrashov
4d66c384a4
esp32s2: Fix missed features CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP and CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
...
Defines the correct size for RTC fast memory (the same as for ESP32).
Closes: IDF-1800
2020-06-02 22:55:56 +08:00
KonstantinKondrashov
0b62b28e25
esp32s2: Move some code after the stdout initialization
2020-06-01 20:46:21 +08:00
KonstantinKondrashov
3bb2d581c6
esp32: Reduce using ESP_EARLY_LOGx and move some code after the stdout initialization
...
After setting _GLOBAL_REENT, ESP_LOGIx can be used instead of ESP_EARLY_LOGx.
Closes: https://github.com/espressif/esp-idf/issues/5343
2020-06-01 20:36:08 +08:00
KonstantinKondrashov
4275056423
esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack
...
If esp_restart_noos() is run and the stack address points to external memory (SPIRAM)
then Cache_Read_Disable() raises up the error "Cache disabled but cached memory region accessed"
to fix this we switch stack to internal RAM before disable cache.
Added unit tests.
Closes: https://github.com/espressif/esp-idf/issues/5107
2020-05-22 16:23:53 +08:00
KonstantinKondrashov
86a73de9b3
esp-idf: Update esptool and add reedsolo and bitstring into requirements.txt
...
They are necessary for espefuse.py from esptool v3.0.
2020-05-14 13:29:21 +10:00
KonstantinKondrashov
e3ea943088
partition_table: Fix parttool.py crashes when retrieving partition info
...
Closes: IDFGH-3279
Closes: https://github.com/espressif/esp-idf/issues/5271
2020-05-13 16:10:48 +08:00
KonstantinKondrashov
bc50bd2806
spi_flash(new driver): Add a Kconfig option - Bypass a block erase and always do sector erase
...
Closes: IDF-1561
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
304f67e42a
spi_flash(LEGACY_IMPL): Add a Kconfig option - Bypass a block erase and always do sector erase
...
Closes: IDF-1561
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
0f6fe0c8e9
spi_flash: Add into sim/stubs the esp_timer
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
ae89f98d59
spi_flash(new driver): Add vTaskDelay while a long erasing
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
3cb655eaab
spi_flash(LEGACY_IMPL): Add vTaskDelay while a long erasing
...
Added Kconfig options to enable yield operation during flash erase
Closes: https://github.com/espressif/esp-idf/issues/2083
Closes: https://github.com/espressif/esp-idf/issues/4916
Closes: IDFGH-261
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
9aeac7f6cb
esp_rom: Fix esp32.rom.newlib-time.ld should includes all time ROM functions/data
...
- Added UT
Closes: https://github.com/espressif/esp-idf/issues/4925
2020-03-27 04:57:42 +00:00
KonstantinKondrashov
df2ea2527f
esp32s2: Add a Kconfig option- Number of attempts to repeat 32k XTAL calibration
2020-03-27 04:56:44 +00:00
KonstantinKondrashov
a259746016
esp32: Add a Kconfig option- Number of attempts to repeat 32k XTAL calibration
...
Closes: IDF-1479
2020-03-27 04:56:44 +00:00
KonstantinKondrashov
912028273d
efuse: Using IDF_ENV_FPGA in UTs
2020-03-11 18:22:07 +08:00
KonstantinKondrashov
4c5d26085f
efuse/esp32s2: Fix get_coding_scheme() when CONFIG_SECURE_FLASH_ENC_ENABLED and LOG_LEVEL is Debug
2020-03-11 18:22:07 +08:00
KonstantinKondrashov
ae90d5f39f
efuse/esp32: Fix get_coding_scheme() when CONFIG_SECURE_FLASH_ENC_ENABLED and LOG_LEVEL is Debug
...
Closes: https://github.com/espressif/esp-idf/issues/4862
2020-03-11 18:22:07 +08:00
KonstantinKondrashov
fc03161f70
app_update: Fix case when elf file SHA256 should be printed by panic handler while cache is disabled
...
Closes: IDF-1342
2020-03-10 20:26:03 +08:00
KonstantinKondrashov
146c788bd4
(S2) efuse: Using a ROM function for set_timing
...
Closes: IDF-990
2020-02-18 01:10:57 +00:00
Konstantin Kondrashov
565eee12a0
lwip: Add to sys_arch_protect() a check that the mutex is created before use if not then creates it
...
Closes: https://github.com/espressif/esp-idf/issues/944
Closes: https://github.com/espressif/esp-idf/issues/3931
Closes: WIFI-1019
2020-02-15 13:14:08 +08:00
Konstantin Kondrashov
daa9c30c8e
rmt/esp32s2: Update RMT: reg, struct, LL and test_utils/ref_clock.c
2020-02-09 20:03:31 +08:00
Konstantin Kondrashov
739eb05bb9
esp32: add implementation of esp_timer based on TG0 LAC timer
...
Closes: IDF-979
2020-02-06 14:00:18 +08:00
KonstantinKondrashov
47a5d14e59
soc/esp32s2: Fix setting timeout for RTC_WDT. ESP32-S2 uses 90KHz instead of 150kHz
2020-02-05 15:16:28 +08:00
KonstantinKondrashov
e85e99189f
spiffs: Fix for case when CONFIG_SPIFFS_USE_MTIME is not defined
...
Closes: https://github.com/espressif/esp-idf/commit/2c793cef061e8a0d19ac32bdf5d6936b84cd0276
2020-02-05 03:00:22 +08:00
KonstantinKondrashov
aa42177e19
app_update(s2): Enable app_update UTs
...
Closes: IDF-1007
2020-01-31 10:34:08 +00:00
KonstantinKondrashov
6061d5d65a
esp_timer/esp32: Fix case when alarm_reg > counter_reg but FRC_TIMER_INT_STATUS is not set
...
Closes: WIFI-1576
Closes: https://github.com/espressif/esp-idf/issues/2954
2020-01-22 14:30:34 +08:00
KonstantinKondrashov
b49a657448
build: Add CONFIG_APP_PROJECT_VER to set the project version from Kconfig
2020-01-15 11:02:27 +00:00
Konstantin Kondrashov
2c793cef06
idf: Support a custom toolchain with time_t wide 64-bits
...
Allows resolving the Y2K38 problem.
Closes: IDF-350
Closes: https://github.com/espressif/esp-idf/issues/584
2020-01-10 12:58:54 +08:00
KonstantinKondrashov
c23549c04f
docs: Add System time chapter and for sntp a description about using CONFIG_LWIP_SNTP_UPDATE_DELAY option
...
Closes: https://github.com/espressif/esp-idf/issues/4386
Closes: IDFGH-2237
Closes: IDF-1199
2020-01-10 14:49:07 +11:00
KonstantinKondrashov
9432ebddf9
esp32: Add UT for DPORT
2019-12-21 14:10:38 +00:00
KonstantinKondrashov
c4dcf6f917
esp32: Fix esp_dport_access_reg_read
2019-12-21 14:10:38 +00:00
KonstantinKondrashov
1687c53700
freertos: Fix save_context. Add RSYNC after WSR
...
RSYNC waits for all previously fetched WSR.* instructions to be performed before inter-
preting the register fields of the next instruction.
2019-12-21 14:10:38 +00:00
Konstantin Kondrashov
98495e5939
sntp: Add API to set update interval
...
Closes: https://github.com/espressif/esp-idf/issues/4437
Closes: IDFGH-2298
2019-12-20 18:26:23 +08:00
KonstantinKondrashov
c6b681827d
target-test.yml: Increase parallel count +1 for ESP32_IDF, UT_T1_1
2019-12-13 13:51:47 +08:00
KonstantinKondrashov
ada09f8fad
esp_timer: Add Test case when set_alarm needs set timer < now_time
2019-12-13 13:51:47 +08:00
KonstantinKondrashov
e6223440b3
esp_timer: Fix set_alarm. Case when timestamp < now_time
...
arg1 = MAX(int64_t arg1, uint64_t arg2) gave the wrong result, if arg1 < 0, it was presented as a larger value.
And ALARM_REG = (uin32_t)arg1. This leads to an infinite loop.
Fixed: both args are int64_t.
Closes: WIFI-1511
2019-12-12 14:02:26 +08:00
KonstantinKondrashov
e8d3b80e4b
mbedtls: Add an UT for performance RSA key operations
...
(New) - Montgomery exponentiation: Z = X ^ Y mod M (HAC 14.94)
keysize = 2048 bits
RSA key operation (performance): public [21894 us], private [199119 us]
RSA key operation (performance): public [18768 us], private [189051 us]
RSA key operation (performance): public [16242 us], private [190821 us]
keysize = 3072 bits
RSA key operation (performance): public [39762 us], private [437480 us]
RSA key operation (performance): public [36550 us], private [449422 us]
RSA key operation (performance): public [40536 us], private [443451 us]
keysize = 4096 bits
RSA key operation (performance): public [65671 us], private [885215 us]
RSA key operation (performance): public [60770 us], private [880936 us]
RSA key operation (performance): public [68951 us], private [872027 us]
(Old) - Sliding-window exponentiation: Z = X ^ Y mod M (HAC 14.85)
keysize = 2048 bits
RSA key operation (performance): public [93206 us], private [280189 us]
RSA key operation (performance): public [93060 us], private [278893 us]
RSA key operation (performance): public [97520 us], private [283252 us]
keysize = 3072 bits
RSA key operation (performance): public [293614 us], private [858157 us]
RSA key operation (performance): public [289902 us], private [843701 us]
RSA key operation (performance): public [291495 us], private [845232 us]
keysize = 4096 bits
RSA key operation (performance): public [653192 us], private [1912126 us]
RSA key operation (performance): public [656661 us], private [1901792 us]
RSA key operation (performance): public [641390 us], private [1938911 us]
2019-11-05 16:33:11 +08:00
KonstantinKondrashov
5ed8388f6b
mbedtls: Add Montgomery exponentiation implementation (HAC 14.94)
...
It gave us a better performance of RSA operations. (2~11 times)
The old modexp implementation (Z = X ^ Y mod M) loaded all the data into
the hw registers and was waiting for completion, but due to
the hardware RSA implementation, the calculations always started with 4096 bit,
which took a lot of time.
Measurement results (measurements were made for keys: 2048, 3072 and 4096 bits)
(Old) - Sliding-window exponentiation (HAC 14.85):
keysize = 2048 bits
RSA key operation (performance): public [93206 us], private [280189 us]
keysize = 3072 bits
RSA key operation (performance): public [293614 us], private [858157 us]
keysize = 4096 bits
RSA key operation (performance): public [653192 us], private [1912126 us]
Instead (Old) - Sliding-window exponentiation (HAC 14.85) was implemented
(New) - Montgomery exponentiation (HAC 14.94) which showed
better performance on private and public keys.
keysize = 2048 bits
RSA key operation (performance): public [14504 us], private [149456 us]
keysize = 3072 bits
RSA key operation (performance): public [35073 us], private [392743 us]
keysize = 4096 bits
RSA key operation (performance): public [58650 us], private [787186 us]
For this reason, the old implementation was removed
and the MBEDTLS_HARDWARE_MPI option was turned on by default.
Why the MPI_INTERRUPT option is removed:
the old implementation used calculations on the hardware and
it took a lot of time (10ms - 500ms). And in order not to stand idle
while waiting for completion, an interrupt option was added.
This made it possible to carry out other tasks during the calculation,
and this one to block. The new method is free from such a drawback and
the maximum duration of one RSA HW operation does not exceed 70us (usually 2-70 μs).
This option is no longer needed.
Closes: IDF-965
2019-11-05 16:33:11 +08:00
KonstantinKondrashov
6071e2f3c7
esp_common: IPC refactor
...
- esp_ipc_call_and_wait() can work simultaneously on two CPUs.
- This will increase the priority for ipc_task
if the current task also wants to use it.
- Added the ESP_IPC_USES_CALLERS_PRIORITY option
to get back the old IPC behaviour.
2019-11-01 13:41:25 +08:00
KonstantinKondrashov
e3ff160733
soc/esp32: Add test_env for 32kHz XTAL unit tests
2019-10-31 13:23:47 +08:00
KonstantinKondrashov
f9e0e3557f
soc/esp32s2beta: Add test_env for 32kHz XTAL unit tests
2019-10-31 13:23:47 +08:00
KonstantinKondrashov
cf762d91c2
efuse: Add the batch writing mode
...
This mode should be used when burning several efuses at one time.
2019-10-30 15:43:40 +08:00
KonstantinKondrashov
d7fa288a6c
examples: Add an example efuse API usage
...
Added: read, write operations for the common and custom efuse tables.
Writing is possible only for CONFIG_EFUSE_VIRTUAL.
Closes: IDF-773
2019-10-30 15:43:40 +08:00
KonstantinKondrashov
b125bb50ea
esp_common: IPC works with the priority of the caller's task
...
Closes: IDF-78
2019-10-22 22:19:34 +08:00
KonstantinKondrashov
007d01c10a
esp_timer: Fix System time jumps back ~54secs
...
Closes: https://github.com/espressif/esp-idf/issues/2513
2019-10-16 18:33:14 +08:00
KonstantinKondrashov
d80fae2c88
esp32: Add UTs to check the System time does not jump back
2019-10-16 16:06:39 +08:00
KonstantinKondrashov
267ca19ae8
bootloader: Fix dram_seg
2019-10-08 16:07:53 +08:00
KonstantinKondrashov
0c44f8ccbd
esp32: Using periph_module_enable instead of the shared regs.
2019-10-07 06:47:00 +00:00
KonstantinKondrashov
807826f796
bootloader_support: Fix using shared CLK_EN and RST_EN regs for random
...
bootloader_random_enable() and bootloader_random_disable() functions
can be used in app.
This MR added the protection for shared CLK_EN and RST_EN registers.
2019-10-07 06:47:00 +00:00
KonstantinKondrashov
737ab91742
newlib: Fix UT - test time adjustment happens linearly
2019-10-01 03:09:22 +08:00
KonstantinKondrashov
3e18681555
app_trace: Adds general support esp32s2beta chip
2019-09-26 01:03:06 +08:00
KonstantinKondrashov
c5c41eab46
soc: Add interrupt numbers mapping for esp32s2beta
...
Closes: IDF-999
2019-09-26 00:22:36 +08:00
KonstantinKondrashov
c4da959fa7
soc: Fix setting timeout for RTC_WDT
2019-09-23 14:57:26 +08:00
KonstantinKondrashov
db84ba868c
efuse: Add support for esp32s2beta
...
Updated:
- CI test_esp32s2beta_efuse_table_on_host.
- efuse_table_gen.py.
- esp_efuse_table.csv file and generated headers files.
- splitted esp32 and esp32s2beta parts.
- unit tests and api efuse.
2019-09-20 16:59:46 +10:00
KonstantinKondrashov
6257828348
app_update: Add support esp32s2beta
2019-09-20 16:57:33 +10:00
KonstantinKondrashov
6f102125b4
bootloader: Add support esp32s2beta
2019-09-20 16:57:33 +10:00
KonstantinKondrashov
d06b2a3598
esp32s2beta: Add support esp32s2beta
...
Added reading MAC address
Closes: IDF-756
2019-09-20 16:57:27 +10:00
KonstantinKondrashov
a25841bc9a
newlib: Fix test_posix_timers_clock for esp32s2beta
2019-09-20 14:01:22 +08:00
KonstantinKondrashov
e0f7fbc5fa
bootloader: expand the space for iram_loader_seg
...
Fixed ld issue: overflowed iram_loader_seg
2019-09-13 00:39:37 +08:00
KonstantinKondrashov
d1173c8f09
esp32s2beta: task_wdt
...
Closes: IDF-753
2019-09-13 00:06:22 +08:00
KonstantinKondrashov
2644ddc3e1
esp32s2beta: Using rtc_wdt API
2019-09-13 00:06:22 +08:00