Commit Graph

837 Commits

Author SHA1 Message Date
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