Commit Graph
100 Commits
Author SHA1 Message Date
Michael.B d60abc17b3 test(twai): add regression test for prop_seg in legacy timing config
Verify prop_seg is correctly included in the programmed TSEG1 hardware
register when using the legacy twai_driver_install() with prop_seg > 0.

Closes https://github.com/espressif/esp-idf/issues/18477
2026-05-22 14:38:41 +08:00
Xiao Xufeng be62da6ca4 fix(mspi): fixed possible boot failure in some builds when psram is enabled
A typical scenario is: when XIP on PSRAM enabled, compiler optimization level is Os. Under certain binary layout, boot hangs and backtrace points to `esp_sleep_config_gpio_isolate`.

The root cause is that, during PSRAM initialization, it calls esp_gpio_reserve, which happens to place before the reported function. However, after call, there is no barrier before the clock adjustment in `mspi_timing_enter_low_speed_mode`. The clock gets changed when the cache is still fetching data, resulting in the corrupted data in the end of the cache line.

This commits add spi_flash_disable_cache as a barrier to make sure the cache transactions is finished before the clock switch.
2026-05-19 23:55:01 +08:00
Xiao Xufeng 6affa18a26 fix(spi_flash): fixed overboundary check skipping of erase and write_encrypted 2026-04-22 02:31:06 +08:00
Xiao Xufeng b4de5a7af2 refactor(spi_flash): not patching api_funcs on C3 and S3 2026-04-22 02:31:06 +08:00
Xiao Xufeng 5cbeaaf7f9 refactoring(spi_flash): Move PSRAM frequency constraint macro from soc_caps.h to mspi_ll.h
- Rename SOC_SPI_MEM_PSRAM_FREQ_AXI_CONSTRAINED to
  MSPI_TIMING_LL_PSRAM_FREQ_AXI_CONSTRAINED
- Move macro definition to chip-specific mspi_ll.h files (C5, C61, H4, P4, S31)
- Update usage in clk_utils.c and esp_flash_spi_init.c
- Remove old macro from all soc_caps.h files
2026-04-22 02:31:06 +08:00
Xiao Xufeng a8fbfb70a7 ci(github): update workflow permission 2026-03-24 11:30:32 +08:00
Xiao Xufeng d5ecb0b27f fix(psram): cleanup PSRAM_MSPI_MB_WORKAROUND to avoid future issue 2026-03-06 19:49:06 +08:00
Xiao Xufeng cd11c26e47 fix(bt): fix AGC_RECORRECT on ESP32-C3 when REV_MIN configured higher than 102 2026-03-06 19:49:06 +08:00
Xiao Xufeng 1e60df4c8c fix(tee): fix failed to configure flash on C6 v0.1 and above when REV_MIN_0 configured 2026-03-06 19:49:06 +08:00
Michael (XIAO Xufeng) 1f590bc00f Merge branch 'fix/i2c_redundant_local_level_v5.5' into 'release/v5.5'
fix(i2c): fix LOG_LOCAL_LEVEL redefinition error when CONFIG_I2C_ENABLE_DEBUG_LOG is enabled (v5.5)

See merge request espressif/esp-idf!45648
2026-02-06 18:22:05 +08:00
Xiao Xufeng 07cc2c7d3b fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption
This reverts commit 7145fc9558.
2026-02-06 11:44:52 +08:00
Xiao Xufeng a52fe54ead fix(i2c): fix LOG_LOCAL_LEVEL redefinition error when CONFIG_I2C_ENABLE_DEBUG_LOG is enabled
- Move LOG_LOCAL_LEVEL definition before including esp_check.h
- Fixes compilation error: 'LOG_LOCAL_LEVEL' redefined [-Werror]

Closes https://github.com/espressif/esp-idf/issues/17877
2026-02-05 00:32:02 +08:00
Michael (XIAO Xufeng) f4ad576689 Merge branch 'feature/support_chip912_eco5_pvt_auto_dbias_400m_backport_v5.5' into 'release/v5.5'
feat(p4): support chip912 pvt auto dbias 400m from eco5 (v5.5)

See merge request espressif/esp-idf!45210
2026-01-22 13:07:26 +08:00
Michael (XIAO Xufeng) ab213a9987 Merge branch 'bugfix/fix_pvt_print_and_sleep_cost_on_chip761_v5.5' into 'release/v5.5'
fix pvt efuse print bug on c6 and adjust pvt prepare cost in sleep wakeup on c6/c5/c61 (v5.5)

See merge request espressif/esp-idf!45271
2026-01-21 04:12:04 +08:00
Michael (XIAO Xufeng) 3cf945bdbc Merge branch 'fix/p4_min_rev_usage_v5.5' into 'release/v5.5'
P4: fix wrong rev_min usage in rom and other places (v5.5)

See merge request espressif/esp-idf!45224
2026-01-21 00:47:30 +08:00
Michael (XIAO Xufeng) e382f96856 Merge branch 'feat/vbat_p4_eco6_v5.5' into 'release/v5.5'
feat(vbat): update vbat charger threshold on p4 revision 3 (backport v5.5)

See merge request espressif/esp-idf!45228
2026-01-20 17:14:45 +08:00
Xiao Xufeng 85f30c2665 fix: fix DCDC patch on P4 rev3.1 2026-01-19 22:34:23 +08:00
Xiao Xufeng bb79e6f246 fix(esp32p4): fix efuse, encryption and other rev_min usage 2026-01-19 17:53:51 +08:00
Xiao Xufeng 3d22ac034c fix(esp32p4): fix rom and ld misuse min_rev 2026-01-19 17:53:34 +08:00
Xiao Xufeng ccaaa3a923 refactor(startup): make flash_init_state static 2026-01-15 23:54:49 +08:00
Xiao Xufeng 343fbafafe Revert "fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption"
This reverts commit cca0ac8c56.
2026-01-15 23:52:41 +08:00
Xiao Xufeng a4aff97a21 fix(psram): fix inaccurate warning that encryption not enabled on PSRAM on ESP32-C5 v1.2 and C61 v1.1 2026-01-13 18:00:18 +08:00
Xiao Xufeng 08f5f0d66b fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption
This reverts commit 7145fc9558.
2025-12-24 02:31:57 +08:00
Michael (XIAO Xufeng) 0f4b3846ae Merge branch 'bugfix/esp32c5_encrypted_flash_write_v5.5' into 'release/v5.5'
fix(spi_flash): Add CPU frequency switching during flash encrypted write (v5.5)

See merge request espressif/esp-idf!44305
2025-12-18 11:56:19 +08:00
Xiao Xufeng 27f1484774 test(esp_flash): fixed test config that c5 not support 120MHz 2025-12-17 12:16:55 +08:00
Xiao Xufeng 187f43a3bb Revert "fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption"
This reverts commit 3c5d2e6b58.
2025-12-17 03:33:30 +08:00
Xiao Xufeng faf6cc4f84 feat(spi_flash): implement dynamic CPU frequency switching workaround for encrypted writes
This commit implements a workaround that allows ESP32-C5 to run at 240MHz CPU frequency
normally, while automatically reducing CPU frequency during encrypted flash writes to
ensure correct operation. The frequency limit is chip revision dependent:
- v1.2 and above: limited to 160MHz during encrypted writes
- v1.0 and below: limited to 80MHz during encrypted writes

Key implementation details:
- Frequency limiting is triggered automatically when esp_flash_write_encrypted() is called
- Uses start() flags (ESP_FLASH_START_FLAG_LIMIT_CPU_FREQ) to integrate with OS layer
- Works with both PM enabled and disabled configurations
- Frequency is automatically restored after encrypted write completes
- For ESP32-C5 with 120MHz flash, Flash clock and timing registers are adjusted when
  CPU frequency is reduced to 80MHz
- SPI1 timing registers are configured during frequency switching since encrypted writes
  use SPI1 and must work correctly at reduced CPU frequencies

Code improvements:
- Use SOC_MSPI_FREQ_AXI_CONSTRAINED capability macro instead of hardcoded chip checks
- Control workaround via Kconfig (CONFIG_PM_WORKAROUND_FREQ_LIMIT_ENABLED) instead of
  hardcoded macros
- Add comprehensive test cases covering various PM configurations and edge cases

This workaround enables ESP32-C5 applications to benefit from 240MHz CPU performance
while maintaining reliable encrypted flash write functionality.
2025-12-17 03:33:29 +08:00
Xiao Xufeng 09aafffb2e esp_system: increase bootloader partition size in examples using framepointer 2025-12-01 15:31:44 +08:00
Xiao Xufeng 625c96675e feat(hw_support): add config version for c61 v1.1 2025-11-30 19:40:47 +08:00
Xiao Xufeng 26b91fc262 feat(hw_support): add config version for c5 v1.2 2025-11-30 19:40:47 +08:00
Michael (XIAO Xufeng) d2ac65df80 Merge branch 'feat/make_p4_rev3_default_v5.5' into 'release/v5.5'
p4: make v3 as default for CI (v5.5)

See merge request espressif/esp-idf!43441
2025-11-26 12:02:29 +08:00
Michael (XIAO Xufeng) c51b5e955a Merge branch 'feature/support_efuses_esp32p4_eco5_v5.5' into 'release/v5.5'
feat(efuse): Support efuses for ESP32-P4 ECO5 (v5.5)

See merge request espressif/esp-idf!42651
2025-11-13 17:11:10 +08:00
Michael (XIAO Xufeng) ab760dab4d Merge branch 'feat/p4_eco5_dvp_v5.5' into 'release/v5.5'
feat(cam): support esp32p4 eco5 dvp cam (v5.5)

See merge request espressif/esp-idf!43100
2025-11-11 19:30:41 +08:00
Michael (XIAO Xufeng) d1e854920a Merge branch 'feat/p4_rev3_isp_awb_wbg_v5.5' into 'release/v5.5'
isp: awb white balance gain feature and subwindow feature support on P4 ECO5 (v5.5)

See merge request espressif/esp-idf!42799
2025-11-11 11:17:36 +08:00
Michael (XIAO Xufeng) e66fc82cb7 Merge branch 'bugfix/fixed_possible_i2s_failure_on_p4_v5.5' into 'release/v5.5'
ci(i2s): fixed occationally failure on P4 (v5.5)

See merge request espressif/esp-idf!42951
2025-11-10 10:49:10 +08:00
Michael (XIAO Xufeng) 2e0f52036f Merge branch 'fix/fix_spi_master_test_fail_v5.5' into 'release/v5.5'
fix(driver_spi): fixed test app fail (v5.5)

See merge request espressif/esp-idf!43065
2025-11-10 10:46:54 +08:00
Xiao Xufeng 5a4ff6bb6a dma: fixed issue that DMA are not reset when CPU reset
When DMA keep writing the memory, some data may be corrupted after reset. For example, the stack of bootloader may be overwritten and failed to boot until a higher scope of reset (Core).
2025-10-23 21:39:09 +08:00
Xiao Xufeng 36e3831d8b fix(i2c): make write_buffer const in i2c_master_transmit_multi_buffer_info_t
Fixes https://github.com/espressif/esp-idf/issues/16890
2025-10-20 14:24:41 +08:00
Michael (XIAO Xufeng) 129cd0d247 Merge branch 'update/version_5_5_1' into 'release/v5.5'
Update version to 5.5.1

See merge request espressif/esp-idf!41653
2025-09-01 12:22:06 +08:00
Xiao Xufeng fcae32885b change(version): Update version to 5.5.1 2025-08-30 21:42:28 +08:00
Michael (XIAO Xufeng) ca77450feb Merge branch 'feat/add_c5_c61_supported' into 'release/v5.5'
feat(tools): add c5, c61 into supported targets list

See merge request espressif/esp-idf!41629
2025-08-30 21:39:07 +08:00
Xiao Xufeng 6049a4a1c2 feat(tools): add c5, c61 into supported targets list 2025-08-30 01:23:15 +08:00
Michael (XIAO Xufeng) 0be09bc38e Merge branch 'feat/c5_flash_timing_tuning_v5.5' into 'release/v5.5'
flash: flash timing tuning support on c5 (v5.5)

See merge request espressif/esp-idf!40879
2025-08-01 17:20:08 +08:00
Michael (XIAO Xufeng) c02e1edce4 Merge branch 'feat/support_rmt_on_h4_v5.5' into 'release/v5.5'
fix(rmt): add pll and rcfast clock src on c5 (v5.5)

See merge request espressif/esp-idf!40915
2025-07-31 21:28:02 +08:00
Michael (XIAO Xufeng) 3fcd7b1ba5 Merge branch 'feat/lcd_cam_dvp_driver_s3_v5.5' into 'release/v5.5'
DVP support and example for ESP32S3 (v5.5)

See merge request espressif/esp-idf!40329
2025-07-31 11:48:18 +08:00
Michael (XIAO Xufeng) 4d19e6be9c Merge branch 'fix/fix_dvp_loss_isr_v5.5' into 'release/v5.5'
Cam: fixed dvp lose frame issue (v5.5)

See merge request espressif/esp-idf!40885
2025-07-31 11:38:10 +08:00
Michael (XIAO Xufeng) 64e9fb0b88 Merge branch 'c61_adc_calibration_5.5' into 'release/v5.5'
feat(adc): support ADC calibration on ESP32C61 (v5.5)

See merge request espressif/esp-idf!40717
2025-07-31 11:37:56 +08:00
Michael (XIAO Xufeng) b66b5448e0 Merge branch 'update/version_5_5_0' into 'release/v5.5'
Update version to 5.5.0

See merge request espressif/esp-idf!40712
2025-07-22 11:02:34 +08:00
Xiao Xufeng da939fa729 fix(esp_flash): fixed issue of escaping boundary check
Also patched corresponding ROM functions
2025-06-25 01:35:21 +08:00
Michael (XIAO Xufeng) 8694f893ea Merge branch 'bugfix/onewire_internal_pullup_v5.5' into 'release/v5.5'
fix(rmt): enable internal pull-up resistor for onewire bus (v5.5)

See merge request espressif/esp-idf!39930
2025-06-18 16:53:41 +08:00
Xiao Xufeng 6cb9214520 wss_server: use large partition table config 2025-06-18 12:30:24 +08:00
Michael (XIAO Xufeng) e1faf670b2 feat(hw_support): move call_start_cpu0 into flash to save IRAM 2025-06-17 15:11:36 +08:00
Michael (XIAO Xufeng) ef71aad834 Merge branch 'fix/fix_c3_c2_cache_freeze_soc_caps_issue_v5.5' into 'release/v5.5'
cache: fixed SOC_CACHE_FREEZE_SUPPORTED not defined on C3 / C2 issue (v5.5)

See merge request espressif/esp-idf!39886
2025-06-16 23:54:42 +08:00
Michael (XIAO Xufeng) 908ff6e5df Merge branch 'refactor/change_mmap_cache_lock_type_v5.5' into 'release/v5.5'
mmu: use cache freeze for mmap APIs (v5.5)

See merge request espressif/esp-idf!39796
2025-06-16 13:12:08 +08:00
Xiao Xufeng c771e4508e iperf: increased app partition size in example 2025-05-20 19:52:07 +08:00
Xiao Xufeng 375d675cdc https_server: use larger partition table in the example 2025-05-20 19:52:07 +08:00
Xiao Xufeng 3bc4ee8a87 doc(compatibility): update compatibility information for c6 v0.2
Latest suggested version have support for FTM calibration
2025-04-28 21:18:29 +08:00
Xiao Xufeng 1a55ea7e2c feat(soc): add config option for c6 v0.2 2025-04-28 21:18:29 +08:00
Michael (XIAO Xufeng) 1f74bebdda Merge branch 'feat/add_default_config_supsend' into 'master'
system: add config for suspend test app

See merge request espressif/esp-idf!38695
2025-04-28 20:20:43 +08:00
Xiao Xufeng bb6da46ccd system: add config for suspend test app 2025-04-24 21:36:58 +08:00
Michael (XIAO Xufeng) e65efb9156 Merge branch 'test/enable_xip_mmap_cases' into 'master'
fix(mmap): fixed cache2phys and phy2cache not patched when XIP on PSRAM

Closes IDF-10983

See merge request espressif/esp-idf!33629
2025-04-16 15:30:23 +08:00
Xiao Xufeng e97b1a8b51 fix(mmap): fixed cache2phys and phy2cache not patched when XIP on PSRAM 2025-04-11 11:02:11 +08:00
Xiao Xufeng 477af3b4a8 ci(mmap): enable mmap and XIP related cases for c5 2025-04-11 11:02:11 +08:00
Michael (XIAO Xufeng) 80bc9d8828 Merge branch 'feat/h2_v1.2_compatibility' into 'master'
doc(compatibility): add compatibility info for h2 v1.2

See merge request espressif/esp-idf!37174
2025-02-27 09:03:07 +08:00
Michael (XIAO Xufeng) 70b474a08a Merge branch 'feat/c2_v2.0_compatibility' into 'master'
hw_support: Add compatibility information and Kconfig option for c2 v2.0

See merge request espressif/esp-idf!35831
2025-02-26 16:01:58 +08:00
Michael (XIAO Xufeng) 1aae76f524 doc(compatibility): add compatibility info for h2 v1.2 2025-02-20 22:10:01 +08:00
Xiao Xufeng 7361aca98b doc(compatibility): add compatibility info for c2 v2.0 2025-02-20 21:56:25 +08:00
Michael (XIAO Xufeng) c71d74e2f8 Merge branch 'feat/upload_status_to_s3' into 'master'
ci(all): upload support status when pushed go github

See merge request espressif/esp-idf!37064
2025-02-19 13:35:16 +08:00
Xiao Xufeng bc1965a109 ci(all): upload support status when pushed go github 2025-02-19 13:23:28 +08:00
Michael (XIAO Xufeng) ece4ee30da Merge branch 'fix/p4_lsc_v100_warning' into 'master'
fix(isp_lsc): fixed warning description for p4 v1.0

See merge request espressif/esp-idf!34593
2025-02-05 10:53:06 +08:00
Michael (XIAO Xufeng) cb227eb260 fix(isp_lsc): fixed warning description for p4 v1.0 2025-02-01 00:10:37 +08:00
Xiao Xufeng 06166ad3aa feat(soc): add Kconfig rev min option and increase max ver for H2 v1.2 2025-01-29 12:55:15 +08:00
Michael (XIAO Xufeng) 05bcde060e doc(compatibility): add supported version for C6 v0.2 2025-01-26 16:25:27 +08:00
Xiao Xufeng d594067acf fix(ledc): fixed depending on gpio header but don't depends on it
Closes https://github.com/espressif/esp-idf/issues/15174
2025-01-09 21:40:48 +08:00
Xiao Xufeng 64c44dd39b feat(soc): increase c2 max supported version 2025-01-09 11:41:06 +08:00
Michael (XIAO Xufeng) 676f5194d5 Merge branch 'fix/sdio_slave_add_pm_lock' into 'master'
fix(sdio_slave): fix issue that auto light sleep can happen SDIO slave enabled

Closes IDF-8476

See merge request espressif/esp-idf!33579
2024-11-05 03:19:33 +08:00
Xiao Xufeng ed31c19933 fix(sdio_slave): prevents peripheral power domain being powered off when SDIO slave in use 2024-10-31 21:25:40 +08:00
Xiao Xufeng df2d09e3e0 feat(sleep_retention): allow drivers taking TOP power lock
Also add a dump function
2024-10-31 21:25:37 +08:00
Michael (XIAO Xufeng) 534c3288ae Merge branch 'docs/update_examples_in_sdio_slave' into 'master'
docs: Update the application examples in sdio_slave

Closes DOC-8319

See merge request espressif/esp-idf!31994
2024-09-19 11:14:49 +08:00
Michael (XIAO Xufeng) ed92c2c226 Merge branch 'test/add_cache2phys_xip_tests' into 'master'
fix(mmap): fixed spi_flash_phys2cache return addr in PSRAM issue

See merge request espressif/esp-idf!31083
2024-09-18 23:53:47 +08:00
Xiao Xufeng 436bcd6c06 ci(app_update): move test_apps to subfolder with a name 2024-09-14 10:19:30 +08:00
Xiao Xufeng cdb9f2b098 ci(spi_flash): add tests for cache2phys with XIP 2024-09-14 10:19:30 +08:00
Xiao Xufeng 8bf68ff07b fix(mmap): fixed spi_flash_phys2cache return addr in PSRAM issue
When SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled
2024-09-14 10:19:30 +08:00
Michael (XIAO Xufeng) 28340977bd Merge branch 'doc/spi_flash_hpm_dc_aware_version' into 'master'
doc(spi_flash): add version number for bootloader version using explicit DC_AWARE

See merge request espressif/esp-idf!33470
2024-09-14 10:19:07 +08:00
Xiao Xufeng ba06e0cfc8 docs(spi_flash): add version number for bootloader version using explicit DC_AWARE 2024-09-12 00:09:15 +08:00
Michael (XIAO Xufeng) 742a4838d6 Merge branch 'fix/mmu_multicore_app_bl' into 'master'
fix(MMU): fixed mmap deadlock when using multicore app with unicore bootloader

Closes IDFGH-10359

See merge request espressif/esp-idf!32745
2024-08-16 11:49:32 +08:00
Xiao Xufeng 00c144aa99 ci(mmu): add unicore test 2024-08-15 12:00:08 +08:00
Xiao Xufeng 55dccc4bba fix(MMU): fixed mmap deadlock when using multicore app with unicore bootloader
Closes https://github.com/espressif/esp-idf/issues/11617
2024-08-15 12:00:08 +08:00
Michael (XIAO Xufeng) 3cb3b5b61e Merge branch 'feat/unity_runner_print_stage_number' into 'master'
feat(unity_test): print stage number when unity test run

See merge request espressif/esp-idf!28344
2024-07-31 17:15:24 +08:00
Xiao Xufeng 792b3079b9 feat(esp32p4): make revision v0.1 the default version 2024-07-09 11:30:32 +08:00
Michael (XIAO Xufeng) d5a1e226d2 Merge branch 'bugfix/sdmmc_io_fixed_addr_splitting' into 'master'
fix(sdmmc_io): fixed fixed_addr mode will still increase addr when splitting

See merge request espressif/esp-idf!31806
2024-07-05 11:05:38 +08:00
Michael (XIAO Xufeng) fded5b0ce3 fix(sdmmc_io): fixed fixed_addr mode will still increase addr when splitting 2024-06-29 02:30:20 +08:00
Michael (XIAO Xufeng) e57c686136 Merge branch 'refactor/rtc_init_before_mspi_tuning' into 'master'
fix(startup): move rtc initialization before MSPI timing tuning to improve stability

See merge request espressif/esp-idf!31200
2024-06-19 14:53:00 +08:00
Xiao Xufeng 5b71b949be fix(startup): move rtc initialization before MSPI timing tuning to improve stability 2024-06-18 01:16:24 +08:00
Michael (XIAO Xufeng) 9468bc3784 Merge branch 'fix/check_ring_buffer_before_fill' into 'master'
fix(uart): remove unnecessary wait when sending message to ring buffer

See merge request espressif/esp-idf!30839
2024-06-04 10:47:00 +08:00
Michael (XIAO Xufeng) 3e877842cd Merge branch 'feat/sdmmc_spi_no_crc' into 'master'
feat(sdmmc_io): support sending CMD53 with fixed address, bypass sdspi crc check

Closes IDF-9387

See merge request espressif/esp-idf!30643
2024-05-24 20:27:28 +08:00
Xiao Xufeng 52baadf0db feat(sdmmc_io): support sending CMD53 with fixed address 2024-05-21 18:09:23 +08:00
Michael (XIAO Xufeng) 438971c108 Merge branch 'feat/kconfig_h2_v1.0_dev' into 'master'
esp32h2: add development support option for v1.0 chips

See merge request espressif/esp-idf!30534
2024-05-21 17:20:56 +08:00
Michael (XIAO Xufeng) 7bff9f9d28 feat(esp32h2): add development support option for v1.0 chips 2024-05-16 02:23:52 +08:00
Michael (XIAO Xufeng) ddefb85703 Merge branch 'docs/compatibility_c2_v102' into 'master'
doc(compatibility): add compatibility docs for C2

See merge request espressif/esp-idf!28590
2024-05-12 00:03:52 +08:00