Commit Graph

939 Commits

Author SHA1 Message Date
Marius Vikhammer
1606d60c07 Merge branch 'ci/enable_bootloader_sup_tests' into 'master'
change(bootloader-support): enable tests for P4 and QEMU

Closes QEMU-149 and IDF-8114

See merge request espressif/esp-idf!28018
2023-12-20 10:59:47 +08:00
Marius Vikhammer
5b36225162 change(bootloader): enable tests for P4 and QEMU 2023-12-20 09:27:18 +08:00
harshal.patil
42943845e4
feat(bootloader_support): Encrypt only the app image instead of the whole partition
Currently, when flash encryption is enabled, the whole partition gets encrypted.
This can be optimised by encrypting only the app image instead of encrypting the whole partition.

Closes https://github.com/espressif/esp-idf/issues/12576
2023-12-18 17:10:17 +05:30
harshal.patil
cb169cb02f
fix(bootloader_support): Fix image_length calculation when secure boot v1 is enabled
Fixed the value of the image_length field of the image metadata populated by esp_image_verfiy()
to include the size of the signature sector when Secure Boot V1 is enabled.
2023-12-18 17:08:11 +05:30
harshal.patil
fe293dfd83
feat(bootloader_support): Make esp_secure_boot_verify_sbv2_signature_block() function public
Closes https://github.com/espressif/esp-idf/issues/12717
2023-12-11 18:50:55 +05:30
Mahavir Jain
25c2cc5f03 Merge branch 'feature/esp32p4_enable_flash_encryption' into 'master'
Enable Flash Encryption for ESP32P4

Closes IDF-7545

See merge request espressif/esp-idf!26959
2023-12-05 21:42:18 +08:00
Aditya Patwardhan
a84234c23f
feat(security): Enable Flash encryption for ESP32P4 2023-12-05 13:10:55 +05:30
Darian
cc34c4fc08 Merge branch 'contrib/github_pr_12481' into 'master'
Many places in the ESP_SYSTEM are using CONFIG_FREERTOS_UNICORE instead of CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE (GitHub PR)

Closes IDFGH-11333

See merge request espressif/esp-idf!27435
2023-12-01 19:33:19 +08:00
Kevin (Lao Kaiyao)
cd9d321062 Merge branch 'feature/introduce_target_esp32c5' into 'master'
feat(esp32c5): introduce target esp32c5 (stage 1)

See merge request espressif/esp-idf!27299
2023-11-29 20:31:34 +08:00
laokaiyao
7fa0d61c35 refactor(build_test_rules): invert the logic to avoid involving preview target
Only set enable condition for the app will introduce the preview target in README.md
Replace with disable logic instead
2023-11-28 16:14:17 +08:00
laokaiyao
bb0879b3f8 feat(esp32c5): introduce target esp32c5 2023-11-28 16:14:17 +08:00
fl0wl0w
d149c1b26f Use configuration option instead of in components not related to FreeRTOS
Mergeshttps://github.com/espressif/esp-idf/pull/12481
2023-11-28 07:49:20 +00:00
Marius Vikhammer
b96f93b879 ci(system): fixed and enabled misc system build tests 2023-11-28 14:00:16 +08:00
wuzhenghui
0ab0d2182e fix(esp_hw_support): fix lightsleep current leakage on usb-phy controlled pad 2023-11-11 13:00:55 +08:00
Song Ruo Jing
46d33e46ef fix(console): enable to select UART1 port for console output
This feature was only enabled for esp32, esp32s2, esp32s3 previously.
Now, enabling this feature for all targets.
2023-11-09 22:32:49 +08:00
Xiao Xufeng
cc28674686 refactor(bootloader_flash): make cache enable more obvious 2023-11-01 02:01:45 +08:00
Xiao Xufeng
28f19cf0e6 fix(ram_app): Fixed issue ram_app can't use the SPI Flash
1st bootloader won't help to initialize the MSPI & cache properly as it
usually do when loading from flash. And the ram app doesn't have valid
headers.

Since there is no enough space in 2nd bootloader, we replace the
`bootloader_init_spi_flash` in the ram_app (!pure_ram_app), with an
customized alternative of it for the ram_app.

This alternative helps to initialize the MSPI & cache properly, without
the help of 1st bootloader or image headers.
2023-11-01 02:01:45 +08:00
Ivan Grokhotkov
cbb6fa0507 Merge branch 'bugfix/esp32s3_usb_otg_console_without_efuse' into 'master'
fix(console): switch USB PHY to OTG when OTG is used for console

Closes IDFGH-11281

See merge request espressif/esp-idf!26653
2023-10-27 20:09:09 +08:00
Ivan Grokhotkov
a8e175364a
fix(console): switch USB PHY to OTG when OTG is used for console
On ESP32-S3 with the default efuse settings, USB PHY is connected to
the USB_SERIAL_JTAG peripheral. If USB OTG peripheral is used for the
console, we need to additionally switch the PHY to USB OTG, otherwise
we won't get any output.

Closes https://github.com/espressif/esp-idf/issues/12437
2023-10-24 13:29:15 +02:00
Xiao Xufeng
1f5fb3f921 spi_flash: fixed issue that enabling HPM-DC by default may cause app unable to restart 2023-10-24 10:38:08 +08:00
Erhan Kurubas
6cd8030160 Merge branch 'check_debug_aware_config' into 'master'
fix(esp_hw_support): re-enable CONFIG_ESP_DEBUG_OCDAWARE functionality

Closes IDF-5881

See merge request espressif/esp-idf!26533
2023-10-21 15:20:26 +08:00
Armando
05c147c3e8 fix(rng): only build bootloader_random apis once 2023-10-19 16:15:52 +08:00
Zim Kalinowski
fa1a3ce0b5 Merge branch 'refactor/components_linux_compatible' into 'master'
Exclude all currently incompatible components from Linux build

Closes IDF-8318 and IDF-5996

See merge request espressif/esp-idf!25598
2023-10-18 20:17:49 +08:00
Erhan Kurubas
2d55270006 fix(esp_hw_support): re-enable CONFIG_ESP_DEBUG_OCDAWARE functionality 2023-10-18 08:48:45 +02:00
Mahavir Jain
2407813a67 Merge branch 'feature/update_esp32c6-h2_apm_api' into 'master'
apm: updated APM HAL/LL APIs.

See merge request espressif/esp-idf!26368
2023-10-18 12:26:38 +08:00
Sachin Billore
c106f5caf6 apm: updated APM HAL/LL APIs. 2023-10-17 18:20:36 +05:30
Armando
17063b51e0 feat(soc): added flash operation range macros in ext_mem_defs.h 2023-10-16 17:19:04 +08:00
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Mahavir Jain
eea2536dc4 Merge branch 'feature/conservative_key_revocation_in_secure_boot_v2' into 'master'
feat: Add API to verify the bootloader and application image before revoking...

Closes IDF-7078

See merge request espressif/esp-idf!24572
2023-10-16 12:42:49 +08:00
Mahavir Jain
1501aef1b3 Merge branch 'feature/enable_secure_boot_esp32p4' into 'master'
feat(secure_boot): add secure boot support for esp32p4

Closes IDF-7544 and IDF-7745

See merge request espressif/esp-idf!26335
2023-10-16 11:07:14 +08:00
Cao Sen Miao
6cea72b76b fix(ota): Fixed OTA fail on octal flash with 32MB memory,
Closes https://github.com/espressif/esp-idf/issues/11903
2023-10-13 12:01:26 +08:00
Harshit Malpani
1df186d4e1
feat: Add API to verify the bootloader and app image
Added an API to verify the bootloader and app image before revoking the key in Secure Boot V2.
This will help in preventing the device to be bricked if the bootloader/application cannot be
verified by any other keys in efuse
2023-10-12 14:53:57 +05:30
harshal.patil
f46a93e565
feat(secure_boot): add secure boot support for esp32p4 2023-10-12 10:12:54 +05:30
Adam Múdry
ab1eb37fe8 feat(partition_table): Add read-only partition flag and functionality 2023-10-11 00:01:05 +02:00
gaoxu
4541ad134d feat(uart): add RCC atomic block to uart/lp-uart peripheral 2023-10-08 10:10:02 +08:00
Harshit Malpani
5d9ebd2473 Merge branch 'bugfix/fix_condition_to_verify_when_no_SB' into 'master'
fix(bootloader_support): Fix condition for checking signature in the application

See merge request espressif/esp-idf!26026
2023-09-26 14:38:08 +08:00
Armando (Dou Yiwen)
b58a2ea6a6 Merge branch 'feature/support_cache_p4' into 'master'
cache: support cache driver on esp32p4

Closes IDF-7516

See merge request espressif/esp-idf!25490
2023-09-25 15:21:46 +08:00
Harshit Malpani
c19e1b8f72
fix(bootloader_support): Fix condition for SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
Fix the condition to verify the image when SECURE_SIGNED_APPS_ECDSA_V2_SCHEME and
SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT are selected.
2023-09-25 12:02:58 +05:30
Armando
ec27891af6 change(cache): swap cache hal arg 'type' and 'level' 2023-09-22 14:19:41 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
Chen Yudong
2e11919f70 fix(ci): change build-test-rules files folder 2023-09-20 19:17:06 +08:00
Marius Vikhammer
e58becec0a feat(esp-system): support reset reasons on P4 2023-09-15 08:11:34 +08:00
Armando
7dace60861 feat(rom): updated to esp32p4 image 12.0.0 2023-09-07 07:01:00 +00:00
Armando (Dou Yiwen)
bdfa91ab66 Merge branch 'change/delete_not_used_mmu_macros' into 'master'
mm: delete not used mmu macros and added soc_ prefix

Closes IDF-7686

See merge request espressif/esp-idf!25663
2023-09-06 11:59:03 +08:00
Armando
de77ab3061 change(soc): added SOC_ prefix to mmu defs 2023-09-05 15:47:26 +08:00
Marius Vikhammer
e3861261eb fix(wdt): move non-auto generated wdt values to ll 2023-09-05 11:52:34 +08:00
Armando
6f412393b6 change(ci): add todo to p4 build test enable 2023-08-24 12:51:19 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Armando
06782d1623 change(esp32p4): update rtc interrupt registration todo list 2023-08-09 19:33:36 +08:00
KonstantinKondrashov
c09d823b6a change(efuse): Update eFuses for esp32p4 chip 2023-08-09 19:33:35 +08:00
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
Konstantin Kondrashov
a12c06367f Merge branch 'ci/test_verify_image' into 'master'
fix(bootloader_support): Fix memory leak for unit tests

Closes IDFCI-1754 and IDFCI-1755

See merge request espressif/esp-idf!24870
2023-08-09 13:44:22 +08:00
C.S.M
40532cb820 Merge branch 'bugfix/esp32s3_lack_boot_resume' into 'master'
bugfix(spi_flash): Add flash resuem in bootloader on esp32s3

See merge request espressif/esp-idf!25163
2023-08-04 11:24:56 +08:00
Cao Sen Miao
91ad084c15 bugfix(spi_flash): Add flash resuem in bootloader on esp32s3 2023-08-03 18:26:00 +08:00
Mahavir Jain
56fb618733
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-02 19:31:20 +05:30
C.S.M
7927ec44f1 Merge branch 'bugfix/gd25lq255e_unlock' into 'master'
spi_flash: fix gd25lq255e unlock mistake

See merge request espressif/esp-idf!24859
2023-07-21 15:29:45 +08:00
KonstantinKondrashov
95626b9401 fix(bootloader_support): Fix memory leak for unit tests 2023-07-19 21:25:31 +08:00
Cao Sen Miao
44693a63b4 spi_flash: fix gd25lq255e unlock mistake 2023-07-18 10:12:46 +08:00
Chen Ji Chang
7ec38eb309 Merge branch 'bugfix/update_all_esp32xxx/rom/gpio.h_comments' into 'master'
gpio: Update the incorrect comments in rom/gpio.h

Closes IDFGH-10490

See merge request espressif/esp-idf!24487
2023-07-13 19:44:31 +08:00
Marius Vikhammer
91aaf8b1a0 ci(qemu): temporarily allow qemu tests to fail 2023-07-13 11:16:38 +08:00
Chen Jichang
b9c22b126a bugfix(driver/gpio):update the incorrect comment
There are some register description errors in parts of rom/gpio.h
This commit update the incorrect comments in rom/gpio.h And now
esp_rom_gpio.h is recommend instead of rom/gpio.h. So this commit adds
macro SIG_GPIO_OUT_IDX in esp_rom_gpio_connect_out_signal
function and removes the reference to gpio.h in some source files.

Closes https://github.com/espressif/esp-idf/issues/11737
2023-07-13 10:52:50 +08:00
Harshit Malpani
941eb4e61e
feat: Made read_otadata() API public
Updated the read_otadata() API name to bootloader_common_read_otadata() and made the API public.

Closes https://github.com/espressif/esp-idf/issues/11603
2023-07-06 11:40:49 +05:30
Jiang Jiang Jian
cbcddc8ed0 Merge branch 'bugfix/fix_bootloader_wrong_spi_freq_print' into 'master'
bugfix: fix esp32c6 bootloader print wrong spi speed mode

See merge request espressif/esp-idf!24261
2023-07-05 12:24:04 +08:00
Zim Kalinowski
c412ac625c Merge branch 'feature/qemu-bootloader-support' into 'master'
bootloader_support: Enable tests on QEMU (ESP32 and ESP32C3)

Closes IDF-7335

See merge request espressif/esp-idf!21416
2023-06-28 21:03:15 +08:00
Lou Tian Hao
7c2ac1feb6 Merge branch 'bringup/esp32h2_light_sleep_for_rebase' into 'master'
esp32h2: support light_sleep

Closes IDF-6266 and IDF-7359

See merge request espressif/esp-idf!23567
2023-06-28 10:37:18 +08:00
Zim Kalinowski
434a9e4e2f ci(bootloader): Enable QEMU tests (ESP32 and ESP32C3) 2023-06-27 17:14:18 +08:00
morris
1c0be26531 fix(soc): soc header files can pass CI check 2023-06-26 23:00:45 +08:00
Lou Tianhao
117008143b bugfix: remove the workaround implemented in MR 22773 about the lp_timer 2023-06-26 21:05:16 +08:00
Lou Tianhao
7fd74057a3 example: bringup light sleep example for esp32h2 2023-06-26 21:05:16 +08:00
wuzhenghui
d35ba005b8 bugfix: fix bootloader print wrong spi speed mode 2023-06-20 20:02:14 +08:00
Konstantin Kondrashov
c350c3c504 Merge branch 'feature/cleanup_wrong_log_use' into 'master'
all: Removes unnecessary newline character in logs

Closes IDFGH-10197

See merge request espressif/esp-idf!24131
2023-06-15 21:49:49 +08:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Konstantin Kondrashov
f875978fb3 Merge branch 'bugfix/incorrect_time_after_ota' into 'master'
esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around

Closes IDFGH-7930

See merge request espressif/esp-idf!23030
2023-06-09 00:30:52 +08:00
KonstantinKondrashov
cb6e2133f0 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-08 21:59:21 +08:00
Xiao Xufeng
91fc40cfd9 esp32: stop using deprecated name PICOD2 to avoid confusion 2023-06-08 02:09:12 +08:00
Mahavir Jain
aed0e3604b Merge branch 'bugfix/c6_h2_decrease_rng_frequency' into 'master'
esp_hw_support: decrease RNG read frequency for C6 and H2

See merge request espressif/esp-idf!23977
2023-05-31 16:30:37 +08:00
Jakob Hasse
d7ce04a5cd 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-30 19:16:53 +08:00
Harshit Malpani
44e88792de
Add ESP32-H2 chip id in esp_chip_id_t enum in esp_app_format.h header file 2023-05-30 15:19:21 +05:30
Jakob Hasse
d3f77ec352 esp_hw_support/bootloader: made ESP32-C6 and ESP32-H2 RNG available 2023-05-23 18:14:51 +08:00
Cao Sen Miao
1ec55b7d1a spi_flash: Add GD25LQ255E flash support 2023-05-17 18:28:57 +08:00
Zim Kalinowski
bd1ac6a566 Merge branch 'feature/adds_esp_bootloader_desc_t' into 'master'
esp_bootloader_format: Adds bootloader description structure to read bootloader version from app

Closes IDFGH-7206 and IDFGH-7573

See merge request espressif/esp-idf!21592
2023-05-15 17:54:43 +08:00
Jakob Hasse
c8791f30c0 compiler: replaced noreturn by __noreturn__ in header files
* noreturn may be replaced by third-party macros,
  rendering it ineffective

* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-11 16:07:45 +08:00
KonstantinKondrashov
69838403f9 esp_bootloader_format: Adds bootloader description structure to read bootloader version from app
Closes https://github.com/espressif/esp-idf/issues/8800
Closes https://github.com/espressif/esp-idf/issues/9132
2023-05-10 21:39:52 +08:00
Marius Vikhammer
d17248ecdf build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES
ADDITIONAL_MAKE_CLEAN_FILES is deprecated and only worked with make.
Replaced with the new ADDITIONAL_CLEAN_FILES (CMake 3.15) which also works with ninja.
2023-05-08 15:51:48 +08:00
Marek Matej
d1a447f6c0 bootloader_support: fix register backup
By storing the 'user2' register during the early init
we fix the flash access issue, which occurs in the
Zephyr/MCUboot ports for ESP32.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2023-05-03 15:11:10 +02:00
Marius Vikhammer
68088c6371 Merge branch 'ci/fix_overwrite_pytest_configs' into 'master'
ci: fixed test apps overriding idf_build_apps configs

See merge request espressif/esp-idf!23387
2023-04-27 14:32:18 +08:00
Almir Okato
8d84a5315a Merge branch 'fix/bootloader_missing_include' into 'master'
bootloader_support: add missing header to bootloader_flash.c

See merge request espressif/esp-idf!23221
2023-04-27 06:26:49 +08:00
Marius Vikhammer
1a5e47bd07 ci: fixed test apps overriding pytest configs 2023-04-26 11:07:35 +08:00
laokaiyao
49f16eefbb esp32h4: checked all the corner stuffs of the removal 2023-04-23 12:03:07 +00:00
laokaiyao
bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00:00
laokaiyao
b16ed57b2e esp32h4: removed esp32h4 related files 2023-04-23 12:03:07 +00:00
laokaiyao
b7053b46ef esp32h4: remove esp32h4 target from peripherals 2023-04-20 15:19:45 +08:00
Mahavir Jain
359da9ce63 Merge branch 'bugfix/efuse_hal_api_update' into 'master'
efuse: add efuse hal api

Closes IDF-7215

See merge request espressif/esp-idf!23217
2023-04-19 18:45:13 +08:00
Ivan Grokhotkov
274fa56e71 Merge branch 'bugfix/esp32s3_usb_otg_console' into 'master'
system: support USB_OTG CDC console on ESP32-S3

Closes IDF-2048, IDF-2987, IDFGH-7134, IDFGH-7291, and IDFGH-7835

See merge request espressif/esp-idf!19312
2023-04-18 16:28:49 +08:00
Sachin Billore
c3e701588e efuse: add efuse hal api
Closes IDF-7215
2023-04-18 13:47:00 +05:30
Almir Okato
4b910ffa68 bootloader_support: add missing esp_rom_sys.h to bootloader_flash.c bootloader build
Missing esp_rom_sys.h header could cause declaration issues.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2023-04-15 16:49:12 -03:00
Cao Sen Miao
c7053641bc spi_flash: 32M bits address flash map, (for customer use only) 2023-04-14 11:37:09 +08:00
Ivan Grokhotkov
74fa41f434
esp_rom: add USB_OTG "port" number for S2 and S3 2023-04-12 11:08:42 +02:00
Xiao Xufeng
63089b1f7e bootloader: enable super WDT and BOD reset on C2 2023-04-11 10:23:21 +08:00
Xiao Xufeng
a2bbbd1c1c bootloader: cleanup ana reset config code 2023-04-11 10:23:21 +08:00
Xiao Xufeng
d586a8aa13 bootloader: fixed super watchdog not enabled issue on C3, S3, H4 2023-04-11 10:23:21 +08:00
Xiao Xufeng
8a926c5b37 bootloader: removed unavailable rtc features 2023-04-11 10:23:20 +08:00
Michael (XIAO Xufeng)
c7b852b7c7 bootloader: fix analog reset on C6 and H2 2023-04-11 10:23:20 +08:00
morris
6c19e7b8a7 gdma: avoid manually start/stop when channel is controled by ETM 2023-04-06 10:49:32 +08:00
Song Ruo Jing
5816c47457 spi_flash: Move mspi clock source switch to 64M in 2nd bootloader code from rtc_clk.c to bootloader_flash_config_esp32h2.c 2023-04-04 16:09:47 +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
Wan Lei
3b62bf59c4 Merge branch 'bugfix/fix_deep_sleep_crash_when_psram_high_freq' into 'master'
mspi: turn down freq to fix crash when sleep

Closes IDF-6881

See merge request espressif/esp-idf!22491
2023-03-16 14:11:21 +08:00
wanlei
d0c70aa7ac mspi: turn down freq to fix crash when sleep 2023-03-15 11:26:34 +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
Cao Sen Miao
bc655a6890 spi_flash: Allow clock frequency up to 64M, and make it default on ESP32H2 2023-03-10 11:39:53 +08: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
Armando
82ee8403b6 mmu: mmu_hal_check_valid_ext_vaddr_region 2023-02-17 13:04:55 +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
Marius Vikhammer
f9c1a2b791 Merge branch 'feature/core_c6_component_tests' into 'master'
ci: update idf-core related tests for C6

Closes IDF-6888

See merge request espressif/esp-idf!22282
2023-02-14 16:47:52 +08:00
Sachin Parekh
2bb9499a7e esp32c6: Enable ECDSA based secure boot
- Updated documentation for C6
2023-02-13 13:02:11 +05:30
Marius Vikhammer
25abc7f6d8 ci: update idf-core related tests for C6 2023-02-13 13:01:57 +08:00
Sachin Parekh
a3c341384f esp32c6: Remove assert check on len for SHA calculation 2023-02-13 09:45:55 +05:30
Cao Sen Miao
0d37436f36 spi_flash: Support flash wrap (burst read), flash driver side 2023-02-13 11:10:15 +08:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
Armando
af15b6d885 mmu: simplify mmu vaddr region macro on esp32c2
ESP32C2 mmu vaddr region macros, and related mask macros in
ext_mem_defs.h depends on mmu page size.
2023-02-07 20:23:51 +08:00
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
Guillaume Souchere
a26ecafa0d Merge branch 'fix/malloc_cap_exec_on_esp32c6' into 'master'
heap: Fix allocation issue when trying to allocate in IRAM on esp32c6

Closes IDF-6306

See merge request espressif/esp-idf!22077
2023-01-26 17:45:23 +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
Guillaume Souchere
a5d6f62e7e heap: Prevent alloc from IRAM to call dram_alloc_to_iram() on esp32c6 target
Since DRAM and IRAM are superposed on esp32c6 it is not necessary to convert a freshly allocated
DRAM addr to its IRAM equivalent when MALLOC_CAP_EXEC is passed to heap_caps_malloc(). Instead,
proceed with a default allocation since the address returned by multi_heap_malloc() already belongs
to the IRAM region.

Applies for esp32c6 and every boards with superposed DRAM and IRAM addresses.
2023-01-23 07:42:20 +01:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Mahavir Jain
fd34bdb70a Merge branch 'feature/secure_features_are_enabled_correctly' into 'master'
security: Adds new APIs to check that all eFuse security features are enabled correctly

Closes IDF-1814

See merge request espressif/esp-idf!19532
2023-01-13 15:09:55 +08:00
KonstantinKondrashov
df662c30e4 bootloader_support(esp32c2): Fix WR_DIS_RD_DIS burn for secure boot key
SB key is left readable, the corresponding bit in RD_DIS is unset.
We set write-protection for RD_DIS to ensure that the SB key is always readable.
2023-01-10 23:35:13 +08:00
KonstantinKondrashov
696f7495a0 security: Adds new APIs to check that all eFuse security features are enabled correctly 2023-01-10 23:35:13 +08:00
morris
f7fdba7f39 apm: disable permission control temporarily for esp32h2
Access Protection Mode is not yet configured globally, disable the APM
functionality temporarily for esp32h2 and esp32c6
2023-01-10 16:37:01 +08:00
Wu Zheng Hui
61a04e2257 Merge branch 'bugfix/workaround_for_esp32c6_bad_mspi_freq_on_hs_mode_reset' into 'master'
bugfix: workaround for esp32c6 bad mspi freq on hs mode reset

See merge request espressif/esp-idf!21851
2023-01-04 13:38:32 +08:00
wuzhenghui
77f6b70a52 workaround: workaround_for_esp32c6 bad mspi freq on hs mode reset 2022-12-30 19:20:30 +08:00
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
Chip Weinberger
9e02682097 bootloader_support: Adds better logs for virtual efuses
Close https://github.com/espressif/esp-idf/pull/10383
2022-12-21 18:03:41 +08:00
Song Ruo Jing
182e937c5a clk_tree: Add basic clock support for esp32c6
- 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 esp32c6
2022-12-13 19:18:34 +08:00
Armando
d88236678a bootloader: fix bootloader_sha256_flash_contents mmap issue 2022-12-01 21:39:57 +08:00
Konstantin Kondrashov
7bc15f78a5 Merge branch 'feature/efuse_remove_warnings_for_memcpy' into 'master'
all: Remove warnings for memcpy/memset

Closes IDF-6298

See merge request espressif/esp-idf!21164
2022-12-01 16:03:29 +08:00
KonstantinKondrashov
9fd8f3786a all: Replaces memset/memcpy with hal_mem.. funcs where were used -Wstringop-overread, -Wstringop-overflow, -Warray-bounds
hal: Adds hal_memcpy and hal_memset
2022-11-30 19:22:41 +08:00
Mahavir Jain
bcb4fd7ead Merge branch 'fix/fix_behaviour_of_api_to_set_fe_release_mode' into 'master'
esp_flash_encrypt: If it is supported then Enable secure download mode in...

See merge request espressif/esp-idf!21310
2022-11-30 14:02:34 +08:00
Aditya Patwardhan
8d047ea910 esp_flash_encrypt: If it is supported then Enable secure download mode in release mode instead of disabling it completely. 2022-11-29 11:44:18 +05:30
Song Ruo Jing
7466ddfa8c ci: Make consistence between pytest_*.py and .build-test-rules.yml for esp32c6 (i.e. to pass check_test_scripts_build_test_rules.py) 2022-11-28 11:58:30 +08:00
Armando (Dou Yiwen)
2ad7b85a9e Merge branch 'bugfix/improve_ext_virtual_memory_allocation_in_2nd_btld' into 'master'
bootloader: improve irom & drom mapping way in 2nd bootloader on esp32c6

Closes IDF-6331

See merge request espressif/esp-idf!21173
2022-11-25 15:24:06 +08:00
Aditya Patwardhan
dfcf5878f8 secure_boot_v2: Fix warning message 2022-11-25 03:25:36 +05:30
C.S.M
28b2deaf24 Merge branch 'feature/add_target_esp32h2' into 'master'
ESP32-H2: Introduce new target for ESP32H2

See merge request espressif/esp-idf!21190
2022-11-24 18:31:19 +08:00
Cao Sen Miao
86aa4df5b5 ESP32-H2: Introduce new target for ESP32H2 2022-11-23 14:38:05 +08:00
Armando
ad52655558 bootloader: improve irom/drom mapping way 2022-11-22 18:53:50 +08:00
Omar Chebib
cd21058097 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +08:00
wuzhenghui
a7f952238e bootloader: enable i2c clk at bootloader_hardware init 2022-11-18 11:17:08 +08:00
jiangguangming
8f807d8964 bootloader_support: fix uart1 no printing in the 2nd bootloader stage 2022-11-10 16:24:26 +08:00
Kevin (Lao Kaiyao)
5bed8fab49 Merge branch 'refactor/rename_h2_to_h4' into 'master'
esp32h2: renaming esp32h2 to esp32h4

Closes IDF-6098

See merge request espressif/esp-idf!20676
2022-11-09 19:19:43 +08:00
Cao Sen Miao
d9f01ed43c spi_flash: bringup for esp32c6 2022-11-09 12:50:46 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
KonstantinKondrashov
1f9260d790 all: Apply new version logic (major * 100 + minor) 2022-11-03 08:36:23 +00:00
Song Ruo Jing
986094482b soc: Fix esp32c6 super watchdog wrong wprotect key causing chip keeps resetting due to swd 2022-11-01 17:21:49 +08:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
Cao Sen Miao
2c9bb4eb7d spi_flash: Support select flash mode automatically at run time(Quad flash or Octal flash) 2022-10-18 11:25:35 +08:00
jiangguangming
8774db59f0 esp_rom: remove ESP_ROM_SUPPORT_MULTIPLE_UART 2022-10-14 14:06:40 +08:00
jiangguangming
4c3ce9f21d esp_rom: fix esp32s3 rom ets_printf bug 2022-10-14 11:43:46 +08:00
wuzhenghui
fbc19fad70 memory_utils: Modify esp_ptr_in_diram_iram to be compatible with esp32c6 2022-09-26 20:32:13 +08:00
wuzhenghui
1c820b0a6d esp32c6: add bootloader support 2022-09-26 20:24:52 +08:00
Marius Vikhammer
7cef82e0df bootloader support: move unit tests to pytest 2022-09-15 15:19:42 +08:00
Omar Chebib
3a429b8b7a Bootloader: print date and time to the banner on boot
* Closes https://github.com/espressif/esp-idf/issues/9718
2022-09-08 06:08:49 +00:00
Mahavir Jain
6193e4c8e8 Merge branch 'bugfix/stringop_overflow_warning' into 'master'
bootloader_support: fix stringop-overflow warning with `PERF` compiler optimization

See merge request espressif/esp-idf!19932
2022-09-05 16:04:15 +08:00
Mahavir Jain
4aaf02b093
bootloader_support: fix stringop-overflow warning with PERF compiler optimization
This commit fixes build issue because of function `bootloader_common_reset_rtc_retain_mem`
getting inlined with compiler optimization level set to `PERF` (-O2).

Build failure log:
-----------------

In function 'bootloader_common_reset_rtc_retain_mem',
    inlined from 'bootloader_common_update_rtc_retain_mem' at /h/esp-idf/components/bootloader_support/src/bootloader_common_loader.c:183:13:
/h/esp-idf/components/bootloader_support/src/bootloader_common_loader.c:159:5: error: 'memset' writing 16 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
  159 |     memset(rtc_retain_mem, 0, sizeof(rtc_retain_mem_t));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-09-05 10:42:11 +05:30
Marius Vikhammer
a77dce6979 bootloader: dont print assert msg if CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is set
Closes https://github.com/espressif/esp-idf/pull/7518
2022-09-02 11:01:50 +08:00
Omar Chebib
779d880580 Merge branch 'bugfix/rtc_retain_mem_always_erased' into 'master'
Bootloader: retained memory can now be kept after reboot when custom data enabled

See merge request espressif/esp-idf!19809
2022-09-01 16:42:54 +08:00
Omar Chebib
26c4550e6d Bootloader: retained memory can now be kept after reboot when custom data enabled
User's custom data are not taken into account during the CRC calculation anymore.
Which means taht the retained mem structure is not systematically erased
on each reboot anymore.
2022-08-31 03:23:30 +00:00
wuzhenghui
82ffe7e438 replacing reset by register operations with ROM interfaces to decouple the effects of register name changes 2022-08-31 01:59:36 +00:00
Cao Sen Miao
0de699532d bootloader_flash: Some bootloader flash functions are not put in IRAM 2022-08-29 17:24:05 +08:00
songruojing
304a8f142d esp32c6: introduce the target
Add esp32c6 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32c6`
2022-08-19 11:13:02 +08:00
Laukik Hase
0071ea498f
esp_app_format: Fixed build errors and resolved dependencies 2022-08-17 10:59:31 +05:30
Mahavir Jain
b1e1411f7d Merge branch 'bugfix/add_signature_in_image_len' into 'master'
bootloader_support: consider signature sector in image length validation

Closes IDF-5617

See merge request espressif/esp-idf!19272
2022-08-08 20:52:59 +08:00
Mahavir Jain
384f7cd1da bootloader_support: consider signature sector in image length validation
For secure boot enabled cases, bootloader and firmware images have signature
appended and size is variable based on scheme being used. This appended data
must be considered while verifying image length against allocated partition
size to avoid any possibilities of going beyond reserved size.

Closes IDF-5617
2022-08-08 03:22:14 +00:00