Commit Graph
112 Commits
Author SHA1 Message Date
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
C.S.M ecc6d380ce feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device 2024-12-30 15:17:25 +08:00