Commit Graph
56 Commits
Author SHA1 Message Date
harshal.patil 516e849636 change(security): disable Key Manager support on ESP32-C5/P4/S31
The Key Manager hardware peripheral in its current form needs further
design changes before it can be offered as a production feature.
Until a revised peripheral design is available, withdraw ESP-IDF
support for it on all Key Manager capable targets.
2026-08-11 09:41:38 +05:30
nilesh.kale a3ce319a87 fix(esp_rom): correct ESP32-P4 secure boot signature block layout 2026-07-22 14:07:03 +08:00
hebinglin a764b5f222 fix(ulp): record wakeup causes before lp core request sleep 2026-06-29 16:25:56 +08:00
harshal.patil 5f824c8683 fix(secure_boot): range-check ECDSA r,s in bootloader before ROM verify 2026-06-12 17:32:38 +05:30
harshal.patil c1f70a4cb5 fix(esp_rom): Patch ets_ecdsa_verify() to include signature bounds check 2026-06-09 15:07:53 +05:30
wanglei 1f559a5558 fix(esp_rom): implement cache writeback related apis in iram
avoid critical issues caused by manual cache writeback and conflicting
writes. The issue exist on chips after esp32p4
2026-05-22 10:16:02 +08:00
Marius Vikhammer ffeb0b86e3 fix(esp_rom): fixed esp-rom not compiling in g0 build
CONFIG_BOOTLOADER_OFFSET_IN_FLASH comes from the bootloader kconfigs and
is not available in g0 builds.
2026-05-13 16:00:24 +03:00
Konstantin Kondrashov a742bd519a feat(bootloader): Support recovery bootloader for ESP32P4/C61 2026-05-13 10:18:15 +03:00
Xiao Xufeng 3411286544 refactor(spi_flash): reorganize header files and improve API encapsulation
This commit reorganizes SPI flash header files to better reflect their
visibility and intended usage:

1. Rename `esp_flash_port/` to `esp_flash_chips/`:
   - Better reflects that these headers are for chip driver implementations
   - All chip driver headers moved to `esp_flash_chips/` directory
   - Added README.md explaining semi-public nature of these headers

2. Move internal headers to `esp_private/`:
   - `esp_flash_internal.h` -> `esp_private/esp_flash_internal.h`
   - `memspi_host_driver.h` -> `esp_private/memspi_host_driver.h`

3. Move chip driver related headers to `esp_flash_chips/`:
   - `esp_private/esp_flash_types.h` -> `esp_flash_chips/esp_flash_types.h`
   - `spi_flash/spi_flash_defs.h` -> `esp_flash_chips/spi_flash_defs.h`
   - `spi_flash_override.h` -> `esp_flash_chips/spi_flash_override.h`
   - All `spi_flash_chip_*.h` headers moved to `esp_flash_chips/`

4. Code improvements:
   - Remove unused includes (e.g., `spi_flash_override.h` from `cache_utils.c`)
   - Use public API `esp_flash_get_size()` instead of direct member access
   - Add `esp_flash_is_quad_mode` to linker.lf for IRAM placement

5. Documentation updates:
   - Add README.md in `esp_flash_chips/` explaining semi-public headers
   - Update programming guide with warnings about internal headers
   - Update both English and Chinese documentation

6. Update all references across the codebase:
   - Update includes in `spi_flash` component
   - Update `bootloader_support`, `app_update`, `esp_tee`, `espcoredump`
   - Update example projects

Breaking changes:
- Headers moved to new locations require include path updates
- `custom_flash_driver` example temporarily disabled until external
  components are updated
2026-01-29 03:28:30 +08:00
harshal.patil 88fc8952e5 test(ota): Add tests for verifying app build's SBv2 ECDSA signature verify APIs 2025-12-26 11:49:15 +05:30
morris b390af239b refactor(hal_wdt): esp_hal_wdt also maintains the ROM implementation 2025-12-10 13:54:44 +08:00
Alexey Lapshin ad7f4b9670 feat(esp_libc): make picolibc default libc 2025-12-06 00:08:35 +07:00
Marius Vikhammer 007222cc28 fix(libc): fixed P4 ECO5 always using sub opt. version of memcpy and similar 2025-11-25 13:35:51 +05:30
Marius Vikhammer 4dc0c7826b fix(rom): fixed systimer hal implementation from ROM always being used on P4 2025-11-25 13:35:50 +05:30
Song Ruo Jing ae7962e697 refactor(rom/gpio): add 'rom_' prefix to GPIO ROM functions 2025-11-19 12:17:52 +08:00
harshal.patil 609d52c6bf feat(esp32p4): Support newer Key Manager key sources for ESP32-P4 V3 2025-10-15 15:49:20 +05:30
Omar Chebib e1c2ddeab6 Merge branch 'fix/esp32p4_eco5_clic' into 'master'
fix: get rid of the hardware workarounds for the latest ESP32P4 revision

Closes IDF-13409, IDF-13781, and IDF-13782

See merge request espressif/esp-idf!41719
2025-09-19 15:00:21 +08:00
Zhang Shuxian 8833953070 docs: Update translation for ROM Headers 2025-09-15 10:50:28 +08:00
Marius Vikhammer af91aa771b change(rom): removed deprecated STATUS enum, use ETS_STATUS instead 2025-09-15 10:36:16 +08:00
Omar Chebib cea17beaba fix: get rid of the hardware workarounds for the latest ESP32P4 revision 2025-09-03 17:35:26 +08:00
Chen Chen 2ff0e32696 refactor(i2c_p4eco5): update i2c_struct.h on P4 ECO5
Update the i2c_struct.h file to support P4ECO5.
2025-08-26 12:10:59 +08:00
Marius Vikhammer 36834844b2 fix(systimer): fixed ETM not working with systimer on C61 ECO3 2025-07-17 09:16:47 +08:00
armando dfb0662de2 feat(esp32p4): support eco5 on fpga 2025-07-10 06:24:32 +00:00
Song Ruo Jing 3e2945b595 fix(gpio): remove GPIO_OUTPUT_SET macro for ESP32P4
Use GPIO_OUTPUT_SET led to compilation error

Closes https://github.com/espressif/esp-idf/issues/16050
2025-06-11 20:56:12 +08:00
Alexey Lapshin ec68cb3300 feat(newlib): riscv: add CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS config option
This option replaces implementations of functions from ROM:
  - memcpy
  - memcmp
  - memmove
  - str[n]cpy
  - str[n]cmp

The functions used in the firmware will be better optimized for misaligned
memory. Here are some measurements in CPU cycles for 4096-byte buffers:

  memcpy:  28676 -> 4128
  memcmp:  49147 -> 14259
  memmove: 33896 -> 8086
  strcpy:  32771 -> 17313
  strcmp:  32775 -> 13191
2025-03-26 17:27:24 +07:00
Marius Vikhammer afedcb7c9b Merge branch 'bugfix/fix_secondary_console_no_vfs' into 'master'
fix(console): fixed secondary console not working on all chips without VFS

Closes IDF-12577

See merge request espressif/esp-idf!37464
2025-03-12 13:51:37 +08:00
Marius Vikhammer 12e9d6514a fix(console): fixed secondary console not working on all chips without VFS 2025-03-07 14:41:19 +08:00
nilesh.kale 49e1e22f72 fix(esp_rom): Remove AES-192 references for unsupported chips
Cleaned up references to AES-192 in ROM headers for chips that do not support it.
2025-03-06 17:48:17 +05:30
wuzhenghui b8db4b1c52 feat(esp_hw_support): do esp32p4 l1 cache invalidate by regdma 2024-12-11 21:27:14 +08:00
Alexey Lapshin 888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
Marius Vikhammer 8406735635 fix(lp_core): updated lp rom newlib API addresses 2024-10-24 10:45:55 +08:00
morris d6ac628f7a change(esp_rom): comment out conflict gpio functions
The GPIO function names has conflict with the public API used by
esp_driver_gpio component.

For now, we simply comment out the conflict ones.

Later, we should consider reusing the GPIO rom APIs.
2024-10-10 16:01:05 +08:00
Jiang Jiang Jian e37ff3565b Merge branch 'bugfix/fix_newlib_nano_float_printf_issues' into 'master'
fix(esp_rom): add new rom caps ESP_ROM_HAS_NEWLIB_PRINTF_BUG

See merge request espressif/esp-idf!30956
2024-07-26 17:37:03 +08:00
Marius Vikhammer 74a04c140c feat(ulp): add option for routing LP-printf to HP console 2024-07-17 17:16:40 +08:00
Xiaoyu Liu 2cb9419b14 change(esp_rom): optimize target-specific header files layout in components/esp_rom 2024-06-27 11:24:45 +08:00
Konstantin Kondrashov a3be04a087 feat(esp_rom): Adds esp_rom_vprintf with the same capabilities as esp_rom_print 2024-05-30 13:30:12 +03:00
Jiang Guang Ming e829cee2fd fix(esp_rom): add new rom caps ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG 2024-05-24 17:40:34 +08:00
gaoxiaojie aa3d3835ab fix(esp_rom): patch esprv_intc_int_set_type for esp32p4 2024-04-03 10:09:47 +08:00
morris 2a9c03d2f1 Merge branch 'bugfix/update_esp32p4_rom_caps' into 'master'
fix(esp_rom): Update esp32p4 rom caps

See merge request espressif/esp-idf!28967
2024-03-13 17:53:29 +08:00
Marius Vikhammer a51942ae75 Merge branch 'refactor/esp_rom_cmake' into 'master'
refactor(esp_rom): refactor rom LD inclusions to make it easier to add new targets

Closes IDF-8673

See merge request espressif/esp-idf!29455
2024-03-13 14:18:33 +08:00
Marius Vikhammer 83d1c2f054 refactor(esp_rom): refactor rom LD inclusions to make it easier to add new targets 2024-03-12 09:48:46 +08:00
Jiang Guang Ming 60894143d7 Merge branch 'bugfix/update_esp32p4lp_rom_ld_files' into 'master'
fix(esp_rom): Update esp32p4lp rom ld files

See merge request espressif/esp-idf!28966
2024-03-06 20:40:53 +08:00
Marius Vikhammer b809267359 fix(rom): fixed systimer always using ROM implementation 2024-03-06 09:47:12 +08:00
Jiang Guang Ming 73c60401af fix(esp_rom): Update esp32p4lp rom ld files 2024-02-28 14:14:05 +08:00
Jiang Guang Ming 3117659bed fix(esp_rom): Update esp32p4 rom caps 2024-02-28 14:13:16 +08:00
Marius Vikhammer 7823d246c5 Merge branch 'bugfix/p4_rvfp_rom' into 'master'
fix(esp_rom): fixed float to int conversion functions not working on P4

Closes IDF-8977 and IDF-8109

See merge request espressif/esp-idf!28396
2024-01-24 10:10:57 +08:00
C.S.M 298931596a Merge branch 'bugfix/wrong_serial_num_2_rom' into 'master'
fix(uart,usj..): Fix wrong serial number that has been parsed to rom functions

Closes IDFGH-11872

See merge request espressif/esp-idf!28414
2024-01-18 16:17:37 +08:00
Cao Sen Miao 6768805d20 fix(uart,usj...): Fix wrong serial number that has been parsed to rom functions,
Closes https://github.com/espressif/esp-idf/issues/12958
2024-01-18 10:51:51 +08:00
Marius Vikhammer 9ab0d95f65 test(newlib): enable and fix newlib tests on P4 2024-01-18 09:52:11 +08:00
Marius Vikhammer bb6bb82350 fix(esp_rom): fixed float to int conversion functions not working on P4 2024-01-11 12:15:40 +08:00