Commit Graph
67 Commits
Author SHA1 Message Date
Chen Jichang 3e32f8bb54 feat(esp32h4): update rom.ld files for esp32h4 eco2 2026-08-28 15:31:08 +08:00
harshal.patil a7b29bfda9 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-07-22 19:58:23 +05:30
nilesh.kale f5b861783d fix(esp_rom): correct ESP32-P4 secure boot signature block layout 2026-07-16 14:29:33 +05:30
harshal.patil f68bc1ba9f fix(secure_boot): range-check ECDSA r,s in bootloader before ROM verify 2026-06-12 14:38:47 +05:30
harshal.patil c5e03fd55c fix(esp_rom): Patch ets_ecdsa_verify() to include signature bounds check 2026-06-09 10:59:12 +05:30
C.S.M 2acd9b9a7c fix(spi_flash): Fix suspend issue on esp32s31, and add trs timing on other target 2026-06-08 11:15:13 +08:00
wanglei a52b484faf fix(cache): remove strong symbols in p4 eco0_4 ld
add return value for p4/s31 sync all functions
2026-05-20 17:43:43 +08:00
wanglei 751a75a982 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-20 17:43:43 +08:00
Konstantin Kondrashov e8609f59a8 feat(bootloader): Support recovery bootloader for ESP32S31 and ESP32P4 2026-05-08 16:45:14 +03:00
Marius Vikhammer e684ca5183 Merge branch 'change/esp_rom_caps_bootloader_offset' into 'master'
change(rom): move bootloader flash offset to esp_rom_caps

Closes IDF-14899

See merge request espressif/esp-idf!48056
2026-04-29 17:27:33 +08:00
Marius Vikhammer 6af582c260 change(rom): add rom caps for bootloader in flash offset 2026-04-29 10:58:50 +08:00
Marius Vikhammer 76983e48fc fix(hal): fix LP WDT stage timeout and reset configuration for ESP32S31 2026-04-28 12:10:23 +08:00
hebinglin 0603e0eb23 fix(ulp): record wakeup causes before lp core request sleep 2026-04-22 16:22:11 +08:00
morris 43bc8c2fe5 feat(etm): add ETM LL and GPIO ETM support on esp32s31
Enable ETM caps and add S31 ETM/GPIO LL and retention support for
GPTimer ETM builds.
2026-04-07 14:47:36 +08:00
Song Ruo Jing 600bf5b6d7 refactor(esp_hal_regi2c): move regi2c implementation from esp_rom to esp_hal_regi2c 2026-03-10 15:08:51 +08:00
armando 3d9e2ec948 ci(p4): use eco6 by default 2026-02-09 16:27:57 +08:00
Chen Chen eeb24057c4 refactor(hal): graduate systimer hal driver into esp_hal_systimer 2026-02-06 18:08:57 +08:00
Xiao Xufeng 8dbf23630a 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-23 03:38:54 +08:00
Marius Vikhammer 32c6d9d327 feat(rom): added esp-rom support for ESP32-H4 2025-12-29 09:36:32 +08:00
harshal.patil 60637470c2 test(ota): Add tests for verifying app build's SBv2 ECDSA signature verify APIs 2025-12-23 23:24:46 +05:30
Alexey Lapshin f6cd2fe970 Merge branch 'feature/update-toolchain-to-esp-15.2.0_20250929.4-6d3fdb7' into 'master'
Make Picolibc the default libc

See merge request espressif/esp-idf!43620
2025-12-04 01:14:01 +04:00
Alexey Lapshin 31810ae993 feat(esp_libc): make picolibc default libc 2025-12-03 13:31:42 +07:00
morris 3d31f510d0 refactor(hal_wdt): esp_hal_wdt also maintains the ROM implementation 2025-12-01 23:16:09 +08:00
Marius Vikhammer aefab81f37 fix(libc): fixed P4 ECO5 always using sub opt. version of memcpy and similar 2025-11-21 15:45:18 +08:00
Marius Vikhammer 4ebad0a47d fix(rom): fixed systimer hal implementation from ROM always being used on P4 2025-11-20 15:36:26 +08:00
Song Ruo Jing 4b8633cc2b refactor(rom/gpio): add 'rom_' prefix to GPIO ROM functions 2025-11-07 15:26: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