Commit Graph
53891 Commits
Author SHA1 Message Date
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