harshal.patil
0580cff0e4
change(esp_hw_support): harden the ESP32-S31 PSRAM region permissions
...
Both PSRAM layouts were mapped as a single RWX window, so everything in external
RAM - the heap included - was executable.
PSRAM used as data only is now RW, and under XIP-from-PSRAM it is split per
section as ESP32-P4 does: .text RX, .rodata read-only, and the MMU-page
alignment gaps and the reclaimed heap RW, so neither is executable.
Both describe the layout that esp_psram_init() produces, and the entries are
locked, so - again as on ESP32-P4 - they are only narrowed when
CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION says that layout applies. Without
it the application owns the region and PSRAM stays RWX.
The per-section entries cost one PMP entry more than the 16 available, so the CPU
subsystem and peripheral windows are chained as TOR entries, taking one entry
instead of three.
soc.h is corrected against the S31 bus address map: the peripheral window base
was 1 MB too low, and the LP peripheral top, derived from a register base plus a
size rather than from the map, was 16 KB short. SOC_NON_CACHEABLE_OFFSET_FLASH
is added.
2026-08-28 18:06:56 +05:30
Mahavir Jain
e7499410fa
fix(esp_hw_support): run ESP32-P4 PMA programming from IRAM
...
The bootloader locks PMA entries on core 0 only (PMA is per-hart), so
core 1 applies its PMA configuration with effective writes. Executing
that from flash momentarily makes the flash aperture non-cacheable
while reprogramming its entry, which executes ciphertext with flash
encryption enabled (illegal instruction -> CPU lockup).
2026-08-28 18:06:56 +05:30
Mahavir Jain
939043ea83
fix(bootloader_support): do not gate application region protection on bootloader config
...
CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE is bootloader-scoped;
disabling it must not strip the application's PMP/PMA configuration.
The application now always applies region protection.
2026-08-28 18:06:56 +05:30
Mahavir Jain
5ff870a33e
fix(esp_hw_support): fix ESP32-S31 CPU lockup with flash encryption during PMA setup
...
Run esp_cpu_configure_invalid_regions() from IRAM: it reprograms the PMA
entry that keeps the flash aperture cacheable, so an instruction fetched
from flash inside the reprogramming window bypasses the cache and, with
flash encryption enabled, executes ciphertext (illegal instruction ->
CPU lockup).
Also move the PSRAM PMA entry to index 7 so that the application layout
matches the entry earlier bootloaders programmed and locked, keeping the
full layout effective under such bootloaders.
2026-08-28 18:06:56 +05:30
Mahavir Jain
dedb644938
change(esp_hw_support): drop the frozen PMP entry layout for ESP32-S31
...
Freezing PMP entry indices as a bootloader<->application ABI (pmp_layout.h)
is only needed on targets where an already-shipped bootloader locks PMP
entries (C5, C6, C61, H2, P4). No such bootloader has ever shipped for
ESP32-S31 and, per the v6.2 PMP ownership policy, the bootloader never
configures or locks any PMP entry on this target - so there is no ABI to
freeze. Program all entries by plain index (as on ESP32-H4/H21) and state
that the application-owned layout is not an ABI.
2026-08-28 18:06:56 +05:30
nilesh.kale
8f3d9e7445
feat: enable cpu region protection for esp32s31
2026-08-28 18:06:56 +05:30
morris
4dbfecac7e
Merge branch 'feat/dac_driver_treat_zero_as_default_clk_src_v6.1' into 'release/v6.1'
...
feat(dac): use default clock source for zero config (v6.1)
See merge request espressif/esp-idf!52158
2026-08-28 15:10:11 +08:00
morris
11da85e65b
Merge branch 'feat/isp_dpc_support_v6.1' into 'release/v6.1'
...
feat(isp): support isp dpc dead pixel correction (v6.1)
See merge request espressif/esp-idf!51469
2026-08-28 15:01:10 +08:00
Wang Meng Yang
af7a66da7c
Merge branch 'bugfix/hid_host_oob_read_v6.1' into 'release/v6.1'
...
fix(bt/bluedroid): fixed possible 1-byte OOB read in bta_hh_ctrl_dat_act (v6.1)
See merge request espressif/esp-idf!50971
2026-08-28 14:31:25 +08:00
Marius Vikhammer
929a3f18d3
Merge branch 'bugfix/heap_task_tracking_isr_safe_v6.1' into 'release/v6.1'
...
fix(heap): use critical section for task tracking locks (v6.1)
See merge request espressif/esp-idf!52011
2026-08-28 14:26:40 +08:00
Mahavir Jain
b0b7cca32c
Merge branch 'change/mmu_psram_anti_fi_bootloader_size_v6.1' into 'release/v6.1'
...
change(hal): exclude PSRAM anti-FI check from bootloader build (v6.1)
See merge request espressif/esp-idf!51608
2026-08-28 11:28:08 +05:30
Wang Meng Yang
a28e43fd36
Merge branch 'fix/aireview_obex_v6.1' into 'release/v6.1'
...
fix(bt_obex): fix some bugs in bluedroid obex (v6.1)
See merge request espressif/esp-idf!52004
2026-08-28 13:38:35 +08:00
morris
649433af0d
Merge branch 'fix/isp_error_when_rgb888_input_v6.1' into 'release/v6.1'
...
fix(isp): initialize Color defaults for RGB DMA output (v6.1)
See merge request espressif/esp-idf!51646
2026-08-28 11:34:42 +08:00
gaoxu
61c4fbcba5
feat(isp): support ISP DPC, add tests and use it in multi pipeline example
2026-08-28 11:14:33 +08:00
gaoxu
4b1b7a8f9c
fix(isp): initialize Color defaults for RGB DMA output
2026-08-28 11:02:19 +08:00
morris
b8e9a18e95
feat(dac): use default clock source for zero config
2026-08-28 10:16:31 +08:00
morris
43e6da1796
Merge branch 'refactor/dac_priv_dma_callbacks_v6.1' into 'release/v6.1'
...
refactor(dac): move DMA interrupt handling behind dac_priv_dma callbacks (v6.1)
See merge request espressif/esp-idf!52150
2026-08-28 10:15:29 +08:00
morris
f0cfc287b6
Merge branch 'docs/clarify_p4_no_wifi_ble_v6.1' into 'release/v6.1'
...
docs: Clarify that ESP32-P4 does not have Wi-Fi or Bluetooth in the introduction (v6.1)
See merge request espressif/esp-idf!51502
2026-08-28 10:11:51 +08:00
morris
1a0aa28792
Merge branch 'docs/update_get_started_s31_v6.1' into 'release/v6.1'
...
docs: Update Get Started for ESP32-S31 (v6.1)
See merge request espressif/esp-idf!51722
2026-08-28 10:11:19 +08:00
morris
b4f9033645
Merge branch 'feature/add_asrc_sleep_retention_v6.1' into 'release/v6.1'
...
feat(asrc): Add sleep retention
See merge request espressif/esp-idf!51807
2026-08-28 10:10:37 +08:00
hejiaxin
21270aea18
fix(bt_obex): fix some bugs in bluedroid obex
...
- fix goepc wait state switch
- fix psm unbind's mismatch
- fix some resources leak
- fix goep connection's incorrect ternimation when congesting
- Add some NULL ptr check
2026-08-28 10:09:29 +08:00
morris
f7502ee0cb
Merge branch 'isp_dma_one_frame_v6.1' into 'release/v6.1'
...
feat(isp): support isp dma input and add example (v6.1)
See merge request espressif/esp-idf!50754
2026-08-28 10:05:35 +08:00
Wang Meng Yang
7b8c5df2f6
Merge branch 'bugfix/qos_div_zero_v6.1' into 'release/v6.1'
...
fix(bt): update ESP32 libbtdm_app.a to fix several issues (v6.1)
See merge request espressif/esp-idf!52052
2026-08-28 09:44:26 +08:00
Marius Vikhammer
06ac9a5a72
Merge branch 'fix/bootloader_log_format_drom_vaddr_v6.1' into 'release/v6.1'
...
fix(bootloader): use correct format specifier for MMU_LL_END_DROM_ENTRY_VADDR (v6.1)
See merge request espressif/esp-idf!51055
2026-08-28 09:30:22 +08:00
Wang Meng Yang
95d4f21533
Merge branch 'fix/aireview_critical_v6.1' into 'release/v6.1'
...
fix: Fix some critical bugs in classic bt (v6.1)
See merge request espressif/esp-idf!51288
2026-08-28 09:18:04 +08:00
Wang Meng Yang
6c4435b285
Merge branch 'bugfix/avrcp_version_compatibility_v6.1' into 'release/v6.1'
...
fix(bt): Fix the issue of AVRCP version compatibility (v6.1)
See merge request espressif/esp-idf!52086
2026-08-28 08:58:40 +08:00
Wang Meng Yang
5abb8c7386
Merge branch 'bugfix/a2dp_sink_nego_sbc_v6.1' into 'release/v6.1'
...
fix(bt): do not cap AVDTP Discover results by local SEP count (v6.1)
See merge request espressif/esp-idf!51750
2026-08-28 08:39:37 +08:00
Wang Meng Yang
8036c800a2
Merge branch 'change/refactor_hidh_datapath_v6.1' into 'release/v6.1'
...
Change/refactor hidh datapath[backport v6.1]
See merge request espressif/esp-idf!51278
2026-08-28 08:31:57 +08:00
Wang Meng Yang
6684208ded
Merge branch 'bugfix/a2dp_api_init_check_v6.1' into 'release/v6.1'
...
fix(bt): Fix compatibility with A2DP API legacy usage methods (v6.1)
See merge request espressif/esp-idf!51327
2026-08-28 08:02:15 +08:00
Wang Meng Yang
33c6931f9e
Merge branch 'docs/update_coexist_docs_v6.1' into 'release/v6.1'
...
docs(coex): enable coexist docs for c61 h21 h4 s31 (v6.1)
See merge request espressif/esp-idf!51376
2026-08-28 07:49:54 +08:00
Roland Dobai
9090ed4c05
Merge branch 'fix/kconfig_bool_defaults_v6.1' into 'release/v6.1'
...
fix(kconfig): use 'n' instead of '0'/'false' for bool defaults
See merge request espressif/esp-idf!52032
2026-08-27 15:28:20 +02:00
Euripedes Rocha
252d8b8177
Merge branch 'feat/gmac_s31_followup_2nd_v6.1' into 'release/v6.1'
...
feat(esp_eth): add ioctl for 1G PHY master/slave mode (v6.1)
See merge request espressif/esp-idf!51709
2026-08-27 15:14:03 +02:00
Hu Rui
f7dc7a638d
refactor(dac): move DMA interrupt handling behind dac_priv_dma callbacks
2026-08-27 20:25:24 +08:00
hejiaxin
e907e90f08
fix(bt_stack): Fix some critical bugs in classic_bt stack
...
related: obex, smp, pbap, sdp, rfcomm, stack_dm
- Deinit function doesn't delete connection when OBEX_DYNAMIC_MEMORY is on
- Union tGOEPC_DATA sometimes is free by osi_free in some cases when it contains mtu_id
- Add correct free and return solution after fail
- Fix symbol mistake in mod calculation
- Fix pointer-related UAF problems and memory free problems
- Fix buffer overflows and out-of-bounds access
- Fix infinite loops triggered by integer overflow wraparound
- Fix double free
- Change layer_specific usage to avoid heap overflow
- Add some NULL check for pointers
- Fix sdp_db free function
- Fix state table mismatch
2026-08-27 19:05:45 +08:00
Marius Vikhammer
b29d8694b3
Merge branch 'feat/c5_eco4_newlib_support_v6.1' into 'release/v6.1'
...
change(esp_libc): use C5 ECO4 ROM newlib functions (v6.1)
See merge request espressif/esp-idf!51902
2026-08-27 18:56:51 +08:00
Marius Vikhammer
738e9da8e9
Merge branch 'feat/optimize_bootloader_size_v6.1' into 'release/v6.1'
...
change(bootloader): optimize bootloader size (v6.1)
See merge request espressif/esp-idf!51596
2026-08-27 18:15:49 +08:00
morris
88e8e6bb13
Merge branch 'feat/uhci_receive_isr_ctn_v6.1' into 'release/v6.1'
...
feat(uhci): ISR receive and continuous API example/docs (backport v6.1)
See merge request espressif/esp-idf!51641
2026-08-27 18:04:32 +08:00
morris
d4942d1ea5
Merge branch 'fix/jpeg_enc_header_oob_v6.1' into 'release/v6.1'
...
fix(jpeg): validate encoder buffer sizes before header/DMA access (backport v6.1)
See merge request espressif/esp-idf!52121
2026-08-27 18:03:43 +08:00
morris
702b35b9dd
Merge branch 'feat/move_flash_120_out_from_experimental_v6.1' into 'release/v6.1'
...
feat(flash): p4 flash 120MHz is no longer experimental feature (v6.1)
See merge request espressif/esp-idf!51698
2026-08-27 18:01:43 +08:00
morris
d5e9370617
Merge branch 'fix/fix_image_header_check_v6.1' into 'release/v6.1'
...
image header: fixed image header segment count check (v6.1)
See merge request espressif/esp-idf!50934
2026-08-27 18:01:25 +08:00
morris
5224318d78
Merge branch 'fix/spi_buslock_unregister_issue_v6.1' into 'release/v6.1'
...
fix(hw_support): spi buslock fix unregister dev api issue (v6.1)
See merge request espressif/esp-idf!51472
2026-08-27 18:00:35 +08:00
morris
5cb807164b
Merge branch 'feat/gdma_tx_done_teof_v6.1' into 'release/v6.1'
...
feat(gdma): add tx done and total_eof callbacks (v6.1)
See merge request espressif/esp-idf!51845
2026-08-27 17:59:55 +08:00
morris
1cedc10195
Merge branch 'refactor/dac_common_lock_and_log_v6.1' into 'release/v6.1'
...
refactor(dac): split spinlock, update logging and memory management (v6.1)
See merge request espressif/esp-idf!51859
2026-08-27 17:59:11 +08:00
morris
dfa12ca99b
Merge branch 'docs/i2c_addr_description_v6.1' into 'release/v6.1'
...
docs(i2c): clarify 7-bit address usage (v6.1)
See merge request espressif/esp-idf!51089
2026-08-27 17:59:00 +08:00
morris
e5fe3a13e4
Merge branch 'fix/sdio_revert_intrstatus_alloc_v6.1' into 'release/v6.1'
...
fix(sdio): restore generic interrupt allocation (v6.1)
See merge request espressif/esp-idf!51418
2026-08-27 17:58:42 +08:00
morris
c78fac7f09
Merge branch 'fix/i2s_tdm_5slot_clock_test_v6.1' into 'release/v6.1'
...
fix(hal): prevent overflow in fractional clock division (v6.1)
See merge request espressif/esp-idf!51429
2026-08-27 17:58:23 +08:00
morris
8a0d1f94a9
Merge branch 'docs/gpio_strapping_descrption_v6.1' into 'release/v6.1'
...
docs(gpio): removed strapping description in programming guide (v6.1)
See merge request espressif/esp-idf!52059
2026-08-27 17:57:59 +08:00
morris
d6d6ff857c
Merge branch 'fix/h4_s31_enable_multi_board_test_v6.1' into 'release/v6.1'
...
fix(ci): re-enable some LEDC/UART tests for H4, S31 (v6.1)
See merge request espressif/esp-idf!51604
2026-08-27 17:56:52 +08:00
morris
4afe3c8206
Merge branch 'fix/ci_h4_enable_spi_test_v6.1' into 'release/v6.1'
...
fix(driver_spi): ci enable h4 generic test (v6.1)
See merge request espressif/esp-idf!51985
2026-08-27 17:56:06 +08:00
yangfeng
93e93fa58b
fix(bt): do not cap AVDTP Discover results by local SEP count
...
- Closes https://github.com/espressif/esp-idf/issues/18848
2026-08-27 17:55:38 +08:00