Commit Graph

577 Commits

Author SHA1 Message Date
Mahavir Jain 5e0129c91b fix(secure_ota): secure app verification issue without padding bytes
For the following configuration case:

 - CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME
 - CONFIG_SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
 - CONFIG_SECURE_BOOT_ALLOW_SHORT_APP_PARTITION

verification of the application was failing because the externally
padded bytes were not considered in the hash (checksum) process.

This commit fixes the problem by enabling relevant code for secure OTA
without secure boot case.

Closes https://github.com/espressif/esp-idf/issues/11995
2023-08-14 03:29:44 +00:00
Lou Tianhao 7599d07c3f bugfix: remove the workaround implemented in MR 22773 about the lp_timer 2023-07-11 14:53:02 +08:00
Lou Tianhao 2c9a2a76f7 example: bringup light sleep example for esp32h2 2023-07-11 13:58:08 +08:00
KonstantinKondrashov 6d0d2366f7 esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around
The commit fixes the case:
If variables in RTC RAM have been moved around by the linker,
they will be filled with garbage data. Any reset other than OTA would work fine
because the variables would still be initialized from the initial bootup.

So now system time will be valid even after OTA.

Closes https://github.com/espressif/esp-idf/issues/9448
2023-06-26 18:12:30 +08:00
Jakob Hasse f4f45345ee esp_hw_support: decrease RNG read frequency on C6 and H2
* The RNG reading frequency of 200 KHz has been too high for
  C6 and H2 since on these chips the RNG output is combined
  with the RTC slow clock which is only 150KHz. Reduced the max
  reading frequency via esp_random() from 200KHz to 62.5KHz,
  which show best results in tests.
  Also updated the bootloader_fill_random() max frequency to the
  same value to be in line, even though it was just 83KHz.
2023-05-31 16:16:25 +00:00
Jakob Hasse b0e2f33082 esp_hw_support/bootloader: made ESP32-C6 and ESP32-H2 RNG available 2023-05-24 09:43:21 +05:30
laokaiyao 954a6a2cff esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
laokaiyao cae47ce37e esp32h4: removed esp32h4 related files 2023-04-26 18:53:12 +08:00
laokaiyao 804a9ea1f6 esp32h4: remove esp32h4 target from peripherals 2023-04-26 18:53:10 +08:00
Xiao Xufeng 5c88e0d801 bootloader: enable super WDT and BOD reset on C2 2023-04-24 11:32:23 +08:00
Xiao Xufeng c6559a9b64 bootloader: cleanup ana reset config code 2023-04-24 11:32:23 +08:00
Xiao Xufeng ca3d871a21 bootloader: fixed super watchdog not enabled issue on C3, S3, H4 2023-04-24 11:32:23 +08:00
Xiao Xufeng 113e4dc520 bootloader: removed unavailable rtc features 2023-04-24 11:32:23 +08:00
Michael (XIAO Xufeng) 80315b77a0 bootloader: fix analog reset on C6 and H2 2023-04-24 11:32:23 +08:00
Konstantin Kondrashov 6c5a7da77c Merge branch 'feature/unicore_bootloader_can_run_multicore_app' into 'master'
esp_system: Fix case when multicore app can not be run if bootloader is unicore

Closes IDFGH-9336

See merge request espressif/esp-idf!22664
2023-03-29 21:56:26 +08:00
Mahavir Jain f22daec784 Merge branch 'feature/secure_set_efuses_to_prevent_brick_chip' into 'master'
security: write-protect DIS_ICAHE and DIS_DCACHE

Closes IDF-5177

See merge request espressif/esp-idf!22640
2023-03-29 11:51:09 +08:00
KonstantinKondrashov a3232e4a5b bootloader: Adds an option to leave DIS_CACHE writeable 2023-03-29 00:02:25 +08:00
KonstantinKondrashov 723b2e86e5 security: write-protect DIS_ICAHE and DIS_DCACHE
Closes IDF-5177
2023-03-29 00:02:24 +08:00
KonstantinKondrashov 975c138fad esp_system: Do not rely on bootloader cache settings, do cache settings unconditionally at startup app
It makes multicore app runnable by unicore bootloader

Closes https://github.com/espressif/esp-idf/issues/10714
2023-03-28 23:17:16 +08:00
Zim Kalinowski ee842a1386 Merge branch 'feature/fix_load_efuses_from_flash_when_real_fe_is_on' into 'master'
efuse(virtual mode): Fix load_efuses_from_flash when FE is on

Closes IDFGH-9580

See merge request espressif/esp-idf!22793
2023-03-28 17:32:11 +08:00
KonstantinKondrashov 88ef0d8aeb efuse: Fix load_efuses_from_flash when FE is on
esp_efuse_utility_load_efuses_from_flash() read emul_efuse
as an encrypted partition, but that is not correct,
this partition was never encrypted.
Need to read it as not encrypted partition.

Fxed the case: If FE is already on then EFUSE VIRT mode can work with it.

Closes https://github.com/espressif/esp-idf/issues/10929
2023-03-23 16:20:43 +08:00
KonstantinKondrashov efbafb873b bootloader_support: Adds API to detect Factory reset has happened
Closes https://github.com/espressif/esp-idf/issues/10753
2023-03-22 02:21:54 +08:00
Zim Kalinowski 7c090d9a42 Merge branch 'bugfix/bootloader-ignored-warnings' into 'master'
bootloader: fix and re-enable no-format warnings

Closes IDF-6789

See merge request espressif/esp-idf!22715
2023-03-16 19:57:58 +08:00
Armando bae6680207 mmu: hal function to init, and hal function to unmap all 2023-03-15 10:59:20 +08:00
Armando 929b7717ff system: fixed ram app cannot use mmu correctly issue 2023-03-15 10:59:20 +08:00
Zim Kalinowski f6453b7938 bootloader: fix and re-enable no-format warnings 2023-03-15 00:28:31 +01:00
Mahavir Jain d4ccdd48f6 esp32h2: add secure boot feature support
Closes IDF-6281
2023-03-06 16:57:45 +05:30
Armando 89fa53f1c0 mmu: support configurable mmu page size 2023-03-04 02:48:40 +00:00
Konstantin Kondrashov bfd2f6ed7c Merge branch 'feature/adds_more_efuse_logs' into 'master'
efuse: Add more logging for virtual efuses

Closes IDFGH-9137

See merge request espressif/esp-idf!22399
2023-02-22 19:25:58 +08:00
KonstantinKondrashov f3394c488a efuse: Add support for esp32h2 2023-02-21 08:18:14 +00:00
Song Ruo Jing 987fd3208a Merge branch 'feature/esp32h2_clock_basic_support' into 'master'
clk: Add basic clock support for esp32h2

Closes IDF-6265 and IDF-5973

See merge request espressif/esp-idf!21943
2023-02-21 16:16:05 +08:00
Jing Li 75a82988f1 Merge branch 'refactor/wdt_use_unified_type' into 'master'
wdt: refactor wdt codes to use unified type

Closes IDF-5653

See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
Song Ruo Jing 2c2a62e323 clk_tree: Add basic clock support for esp32h2
- Support SOC ROOT clock source switch
- Support CPU frequency change
- Support RTC SLOW clock source switch
- Support RTC SLOW clock + RC FAST calibration

Remove FPGA build for esp32h2
2023-02-20 17:15:02 +08:00
Chip Weinberger c7a12dd34b efuse: Add more logging for virtual efuses
Closes https://github.com/espressif/esp-idf/pull/10536
2023-02-16 00:10:08 +08:00
Sachin Parekh 774f0ef636 Merge branch 'esp32c6/ecdsa_secure_boot_support' into 'master'
ESP32C6: Enable ECDSA secure boot

Closes IDF-5357 and IDF-5931

See merge request espressif/esp-idf!21058
2023-02-15 16:03:35 +08:00
jingli 9c37441b17 wdt: refactor wdt codes to use unified type 2023-02-15 12:08:55 +08:00
Sachin Billore 120fcec026 apm: added support for APM on esp32h2
Closes IDF-6277 IDF-6278 and IDF-5909
2023-02-14 10:43:49 +00:00
Sachin Parekh 2bb9499a7e esp32c6: Enable ECDSA based secure boot
- Updated documentation for C6
2023-02-13 13:02:11 +05:30
Sachin Parekh a3c341384f esp32c6: Remove assert check on len for SHA calculation 2023-02-13 09:45:55 +05:30
wuzhenghui 146b9b047b soc: add modem regs and force enable i2c_ana_mst clock 2023-02-06 21:43:26 +08:00
morris 753eab91ee Merge branch 'feature/usj_support_h2' into 'master'
USJ console support on esp32h2

Closes IDF-6239

See merge request espressif/esp-idf!22156
2023-02-02 17:07:19 +08:00
Wu Zheng Hui 04987ac201 Merge branch 'feature/add_ram_loadable_app_support' into 'master'
feature: add ram loadable app support

See merge request espressif/esp-idf!19465
2023-02-02 10:28:13 +08:00
wuzhenghui db61945537 bugfix: dual core chip haven't started the pro cpu in the bootloader, so no workaround is needed 2023-02-01 17:57:28 +08:00
wuzhenghui c0d2fcded7 refactor: move bootloader_init_spi_flash to bootloader_flash_config_{target}.c 2023-02-01 17:57:28 +08:00
wuzhenghui 44df5b31af feature: add ram loadable app support 2023-02-01 17:57:22 +08:00
wuzhenghui cd9d914ba0 codeclean: clean esp32c6 rtc_sleep related code 2023-01-31 22:12:58 +08:00
cje 0fb408cc68 pmu active state ICG map initialize and modify i2c master force enable to enable 2023-01-31 22:12:27 +08:00
morris b7799ec84d rom: patch uart function to switch buffer 2023-01-31 13:11:32 +08:00
KonstantinKondrashov 73d756d073 bootloader_support(esp32c2): Fix esp_secure_boot_cfg_verify_release_mode API
When FE and SB keys are set then:
- 128 low bits are read protected
- 128 hi bits are readable
2023-01-24 18:16:19 +08:00
Cao Sen Miao 94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00