morris
37758ef327
fix(driver): allocate driver objects containing atomic variables from internal SRAM
...
Objects with atomic members must not be allocated to PSRAM, otherwise
the ordering guarantee of atomic accesses is weakened due to a hardware
behavior on ESP32 chips. Explicitly request MALLOC_CAP_INTERNAL |
MALLOC_CAP_8BIT for:
- i2c master bus object (atomic status/trans_idx)
- ISP processor and AE/AF/AWB/HIST controllers (atomic fsm)
- JPEG decoder/encoder dma2d transaction descriptors (atomic started)
- PPA transaction storage embedding dma2d_trans_t
- dma2d m2m test transaction embedding dma2d_trans_t
2026-09-03 09:46:48 +08:00
morris
80aa3978b3
fix(i2c): release platform mutex on intr/pm_lock delete failure
...
ESP_RETURN_ON_ERROR inside the s_i2c_platform.mutex critical section
returns without releasing the mutex, permanently blocking all I2C
bus operations. Replace with ESP_GOTO_ON_ERROR that jumps to a
cleanup label releasing the mutex before return.
2026-07-23 15:09:55 +08:00
DatanoiseTV
ae669c7049
fix(i2c_master): yield from ISR when no matching device is found
...
`i2c_master_isr_handler_default()` may set HPTaskAwoken to pdTRUE via
`xQueueSendFromISR()` (event_queue), `xSemaphoreTakeFromISR()` and
`xSemaphoreGiveFromISR()` on `bus_lock_mux`. When the device list lookup
returns no matching device, the function returned directly, skipping
the `portYIELD_FROM_ISR()` at the bottom of the handler. A higher-
priority task waiting on the bus mux or the event queue would then have
to wait for the next scheduler tick instead of being preempted into
immediately, inflating worst-case event latency.
Replace the early return with a goto to the existing yield check at the
end of the ISR.
Merges https://github.com/espressif/esp-idf/pull/18569
2026-05-22 17:38:48 +08:00
morris
962b4687b7
Merge branch 'fix/p4_eco5_enable_special_test_v5.5' into 'release/v5.5'
...
fix(ci): p4 eco5 enable special test v5.5
See merge request espressif/esp-idf!47550
2026-04-27 10:41:53 +08:00
wanckl
5d37003c47
ci(p4): p4 eco5 enable parts of special tests
2026-04-24 15:09:56 +08:00
Jiang Jiang Jian
006c53e836
Merge branch 'fix/i2c_fsm_reset_sequence_v5.5' into 'release/v5.5'
...
fix(i2c): reset master before bus clear on chips without HW FSM reset (v5.5)
See merge request espressif/esp-idf!47508
2026-04-17 11:23:59 +08:00
Chen Chen
84399f3623
docs(i2c): update i2c_master_probe parameter comment
...
closes https://github.com/espressif/esp-idf/issues/18442
2026-04-13 15:13:29 +08:00
Chen Chen
230b7b5892
fix(i2c): reset master before bus clear on chips without HW FSM reset
...
Reorder s_i2c_hw_fsm_reset() so i2c_ll_reset_register and interrupt
masking run before s_i2c_master_clear_bus(). Avoids ISR firing when
i2c_common_set_pins reconnects GPIOs to a stuck FSM (IDFGH-17497).
Closes https://github.com/espressif/esp-idf/issues/18438
Made-with: Cursor
2026-04-13 15:12:21 +08:00
Hu Rui
0a7f8f7800
fix(i2c): add NULL check and correct log
2026-04-01 10:54:17 +08:00
Hu Rui
bd9e32514a
test(i2c): with malloc comes from PSRAM by default
2026-03-09 14:53:09 +08:00
Chen Chen
ebe7d99719
fix(i2c_slave): filter out fake request for esp32
...
Closes https://github.com/espressif/esp-idf/issues/18268
2026-03-04 11:16:20 +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
Chen Chen
707147fe57
fix(i2c_master): Add i2c master timeout range check
...
Closes https://github.com/espressif/esp-idf/issues/17930
2025-12-24 11:08:18 +08:00
igor.udot
82cf7083e3
ci: disable p4 rev3 invalid tests temporarily for v5.5 only
2025-11-21 11:28:08 +08:00
armando
cdff2570c7
ci(p4): disable p4 rev3 invalid tests temporarily
2025-11-20 11:33:36 +08:00
morris
e3c2bab3cb
Merge branch 'fix/i2c-master-write-buffer-const_v5.5' into 'release/v5.5'
...
fix(i2c): make write_buffer const in i2c_master_transmit_multi_buffer_info_t (v5.5)
See merge request espressif/esp-idf!41803
2025-10-29 14:18:19 +08:00
morris
9d21fa256d
Merge branch 'fix/i2c_master_multi_read_v5.5' into 'release/v5.5'
...
fix(i2c_master): Fix that master multi-read failed,(backport v5.5)
See merge request espressif/esp-idf!42785
2025-10-24 12:00:17 +08:00
morris
42480f1c6d
Merge branch 'fix/i2c_lp_test_v5.5' into 'release/v5.5'
...
fix(i2c/gpio): Add error checks to the i2c driver & Fix errors in gpio (v5.5)
See merge request espressif/esp-idf!42662
2025-10-23 14:14:59 +08:00
C.S.M
0cac6d3780
fix(i2c): Fix the potential wdt might happen after nack,
...
Closes https://github.com/espressif/esp-idf/issues/17720
2025-10-23 11:21:12 +08:00
C.S.M
5ef9c3810b
test(i2c_master): Add test for master multi read job
2025-10-23 11:21:12 +08:00
C.S.M
634906b3f8
fix(i2c_master): Fix that master multi-read failed,
...
Closes https://github.com/espressif/esp-idf/issues/16231
2025-10-23 11:21:12 +08:00
morris
2c05af00f9
fix(i2c): remove notfix(i2c): disable open drian mode on deinit
...
Closes https://github.com/espressif/esp-idf/issues/17737
2025-10-20 15:38:19 +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
Chen Chen
52a378272f
fix(i2c/gpio): Add error checks to the i2c driver (Backport v5.5)
...
Add more checks to i2c driver, as well as fixed some GPIO issues
together with it.
2025-10-17 15:12:51 +08:00
C.S.M
c4b6797ffd
fix(i2c): Add gpio reserve check on i2c driver,
...
Closes https://github.com/espressif/esp-idf/issues/15995
2025-10-16 14:30:14 +08:00
C.S.M
c09b55dcf0
fix(i2c): Make i2c nack log as debug level
2025-10-16 14:30:14 +08:00
wanckl
7bc929997e
ci(esp32c61): enable multi dut runner for c61
2025-07-30 09:32:09 +08:00
morris
dbfb663b66
Merge branch 'feature/add_uart_io_deinit_process_v5.5' into 'release/v5.5'
...
fix(uart): eliminate garbled data on TX/RX line in sleep (v5.5)
See merge request espressif/esp-idf!39262
2025-05-20 16:00:38 +08:00
Song Ruo Jing
1909105acf
feat(uart): add pin release process to uart driver
2025-05-19 21:51:59 +08:00
C.S.M
60adcc5980
test(i2c): Re-enable i2c test on esp32c5
2025-05-19 17:44:27 +08:00
C.S.M
34447b6401
fix(i2c): Fix some i2c coverity issue
2025-04-25 15:42:31 +08:00
C.S.M
459b75f81a
fix(i2c): I2C should not clear bus in a nack state
2025-04-23 19:01:08 +08:00
Chen Ji Chang
4bec8b5e04
Merge branch 'fix/gpio_pull_enable_disable_strategy' into 'master'
...
fix(i2c,mcpwm): fix gpio pull strategy
Closes IDFGH-15092
See merge request espressif/esp-idf!38417
2025-04-18 19:08:28 +08:00
Chen Jichang
ae4e3ffb5a
fix(i2c,mcpwm): fix gpio pull strategy
2025-04-18 15:56:37 +08:00
C.S.M
d6760b170a
fix(i2c): Fix that fsm reset cause i2c scl frequency changed on esp32s2,
...
Closes https://github.com/espressif/esp-idf/issues/15724
2025-04-17 18:03:42 +08:00
C.S.M
3158443b03
fix(i2c): Fix i2c customize only read one byte issue
2025-04-01 11:03:54 +08:00
C.S.M
8a0e310d75
Merge branch 'bugfix/i2c_slave_auto_selection' into 'master'
...
fix(i2c): Fix i2c slave auto selection issue
Closes IDFGH-14935
See merge request espressif/esp-idf!38061
2025-03-31 16:48:50 +08:00
C.S.M
b71556a976
fix(i2c): Fix i2c slave auto selection issue,
...
Closes https://github.com/espressif/esp-idf/issues/15644
2025-03-28 16:06:32 +08:00
Song Ruo Jing
b38ac5ad82
feat(uart): add uart_detect_bitrate_bps API for data line bitrate measurement
...
Closes https://github.com/espressif/esp-idf/issues/14721
2025-03-28 15:03:19 +08:00
C.S.M
43e83b8324
fix(i2c_master): Fix the stretch happen cause timeout in probe,
...
Closes https://github.com/espressif/esp-idf/issues/15589
2025-03-27 14:51:16 +08:00
C.S.M
34b69e8050
Merge branch 'fix/i2c_operation_array_max' into 'master'
...
fix(i2c): Fix the array size of static operation
Closes IDFGH-14862
See merge request espressif/esp-idf!37784
2025-03-19 12:09:27 +08:00
C.S.M
757f776f9e
fix(i2c): Fix the array size of static operation,
...
Closes https://github.com/espressif/esp-idf/issues/15583
2025-03-17 12:39:19 +08:00
gaoxu
ec632f7fed
feat(esp32h21): support I2C on ESP32H21
2025-03-13 11:06:06 +08:00
C.S.M
9aba44a2d9
test(spi_flash): Flash suspend test evolution
2025-03-11 16:21:07 +08:00
igor.udot
daf2d31008
test: format all test scripts
2025-03-05 12:08:48 +08:00
C.S.M
90d477c9a6
fix(i2c_master): Fix i2c master race condition issue,
...
Closes https://github.com/espressif/esp-idf/issues/15444
2025-02-27 15:27:58 +08:00
C.S.M
2458734108
feat(i2c): Add config option for i2c isr handler can put in flash
2025-02-10 13:49:21 +08:00
C.S.M
847780da3e
fix(i2c_master): Enhance i2c delete device and bus logic,
...
Closes https://github.com/espressif/esp-idf/issues/15171
2025-01-21 15:56:25 +08:00
C.S.M
78af773348
test(i2c): Enhance i2c test stability
2025-01-07 14:43:05 +08:00
C.S.M
1987948650
test(i2c): Add test for customize i2c transaction interface for un-standard i2c device
2024-12-30 15:18:24 +08:00