Commit Graph
100 Commits
Author SHA1 Message Date
Song Ruo Jing 58d883a99d fix(uart): lp uart rx iomux pin was not working as expected
Introduced in 8818157e42
The workaround in the commit routes the signal to LP GPIO matrix first.
When uses LP IOMUX pin as UART RX, the signal did not bypass the matrix,
which caused the issue.

This commit adds rtc_gpio_iomux_input and rtc_gpio_iomux_output APIs
to align with existing GPIO driver APIs.
2026-05-22 15:36:00 +08:00
Song Ruo Jing 5b7db25db1 refactor(rtcio): split rtcio/gpio switch with rtc iomux func sel func
This allows rtc_gpio_deinit to always switch the pad back to GPIO,
regardless of lp io clock enabled or not, so that gpio_config can
always switch the IO back to GPIO use after wakeup from deep sleep.
2026-05-22 15:35:21 +08:00
Song Ruo Jing df34ee76af fix(isp): disable gamma xcoord error check 2026-05-22 15:31:17 +08:00
Song Ruo Jing d15a897d13 feat(dma2d,ppa): Support flash encryption for DMA2D and PPA 2026-04-13 15:03:37 +08:00
Song Ruo Jing ccbf0abb7a fix(flash): flash erase operation may fail to raise PMS exception 2026-04-13 14:40:39 +08:00
Song Ruo Jing 5698be672b feat(mspi): support 120MHz flash and psram for esp32c61 2026-03-13 16:27:17 +08:00
Song Ruo Jing ae99294ea3 fix(rtcio): RTC GPIO configuration should be written if LP IO clock exists 2026-03-13 14:24:42 +08:00
Song Ruo Jing 9a9b104f8c fix(uart): fix autobaud detection unable to trigger LOGE when counts unreliable 2026-02-14 11:38:32 +08:00
Song Ruo Jing de878df848 fix(uart): Avoid division by zero error when calling uart_get_baudrate
If uart_driver_install is not called before uart_get_baudrate,
the UART port may not be ready. In such cases, the register values
cannot be read out, leading to a division by zero error in uart_ll_get_baudrate.
This commit adds a check to ensure the UART port is enabled before
attempting to read its registers.

Closes https://github.com/espressif/esp-idf/issues/17513
2026-02-14 11:38:17 +08:00
Song Ruo Jing 8974851c8a fix(uart): tx write bytes fails to use non-default tx fifo empty threshold
Users may see tx write bytes fails to feed data into tx fifo in time
even if the tx fifo empty threshold has been set to a large value.
2026-02-14 11:18:40 +08:00
Song Ruo Jing d6fbe418c6 fix(ppa): fix SRM YUV422/420 incorrect DMA descriptor port mode block size 2025-12-22 16:09:06 +08:00
Song Ruo Jing 1b13ef0498 fix(ppa): fix potential SRM operation stuck on DMA issue
Apply a workaound to bypass macro block order function in PPA SRM
when specific conditions are met to avoid SRM operation getting stuck
2025-12-22 16:09:06 +08:00
Song Ruo Jing 507bea72e7 fix(ppa): YUV444 cannot be a PPA SRM output color mode 2025-12-22 16:09:06 +08:00
Song Ruo Jing ca3ff9aced docs(ppa): add a note about bilinear scaling algorithm in PPA SRM
Closes https://github.com/espressif/esp-idf/issues/17531
2025-12-22 16:09:06 +08:00
Song Ruo Jing 0c15b9f6a4 refactor(ppa): avoid the use of yuv422_pack_order field in PPA driver 2025-11-24 11:41:26 +08:00
Song Ruo Jing ee588b3aad fix(gpio): oe control by register only take effect when func sel is GPIO 2025-11-24 11:41:26 +08:00
Song Ruo Jing 3228998165 fix(uart): fix some wdt get triggered due to uart sclk not exist on C5
Interrupt wdt would get triggered on uart_driver_install if uart driver was deleted before
Closes https://github.com/espressif/esp-idf/issues/17779

RTC wdt would get triggered on esp_restart if uart driver was deleted before
2025-11-24 11:41:26 +08:00
Song Ruo Jing 430e8e8970 fix(ci): increase memory leak threshold for uart rs485 test app 2025-11-24 11:41:26 +08:00
Song Ruo Jing a5904ca810 fix(uart): fix some uart port generate a RX BRK_DET intr on reset issue
Issue saw on S3 UART2 and some LP_UART ports
2025-11-24 11:41:26 +08:00
Song Ruo Jing 9629b2fb6a fix(uart): correct uart_get_tx_buffer_free_size calculation
Modified a bit on the TX ring buffer push size logic

 Closes https://github.com/espressif/esp-idf/issues/15859
2025-11-24 11:41:19 +08:00
Song Ruo Jing fb20e147d5 fix(console): release default console UART pins if console is switched in bootloader
Also print out console UART pin number in app cpu_startup stage

Closes https://github.com/espressif/esp-idf/issues/16764
Closes https://github.com/espressif/esp-idf/issues/17459
2025-11-21 22:11:25 +08:00
Song Ruo Jing 086183db94 fix(light_sleep/example): fix potential compilation error in light_sleep example
If ESP_CONSOLE_NONE is selected in menuconfig, compilation fails with
undefined CONFIG_ESP_CONSOLE_UART_BAUDRATE macro.
2025-11-21 21:57:22 +08:00
Song Ruo Jing 2143f6ea47 fix(uart): fix release pin logic if switching only one pin 2025-11-21 21:57:00 +08:00
Song Ruo Jing ea09a117ee feat(gpio): ESP32P4 ECO5 GPIO related update 2025-11-13 11:36:22 +08:00
Song Ruo Jing ea6ed237d2 fix(clk): 400MHz CPU should still be selectable on ESP32-P4 less than rev3 2025-11-13 11:36:22 +08:00
Song Ruo Jing 9589ab5361 feat(gpio): add IO hold support for Deep-sleep for ESP32-P4 ECO5 2025-11-13 11:36:15 +08:00
Song Ruo Jing 912c24eb09 fix(gpio): fix USB DP pin unusable after CPU reset for S3/C3
Closes https://github.com/espressif/esp-idf/issues/17488
2025-10-23 15:07:25 +08:00
Song Ruo Jing 37f2d25897 feat(ppa): ESP32P4 ECO5 PPA related updates
PPA SRM engine added YUV422 and GRAY8 color mode support
PPA SRM engine macro block size increased to 32x32
PPA Blending engine added YUV420, YUV422 and GRAY8 color mode support
2025-10-22 20:05:59 +08:00
Song Ruo Jing e69eeb7355 feat(2ddma): ESP32P4 ECO5 2DDMA related updates
Added one more pair of 2DDMA channels
Priority bit width increased corespondingly
Added three new CSC modes for RX channel 0
2025-10-22 20:05:59 +08:00
Song Ruo Jing a9b2bd1b72 feat(interrupts): ESP32P4 ECO5 interrupt sources update 2025-10-22 20:05:59 +08:00
Song Ruo Jing e71732139a fix(clk): allow P4 CPU clk freq can auto switch between 360/400MHz according to revision 2025-10-22 20:05:59 +08:00
Song Ruo Jing 967e9f1029 feat(uart): ESP32P4 ECO5 UART related updates 2025-10-22 20:05:59 +08:00
Song Ruo Jing fbdb9413de feat(ledc): ESP32P4 ECO5 LEDC related updates 2025-10-22 20:05:59 +08:00
Song Ruo Jing 723a926b26 fix(ledc): duty_start bit should wait for its self-clear before next set on esp32 2025-08-14 18:56:34 +08:00
Song Ruo Jing f941ce5f1b fix(gpio): remove GPIO_OUTPUT_SET macro for ESP32P4
Use GPIO_OUTPUT_SET led to compilation error

Closes https://github.com/espressif/esp-idf/issues/16050
2025-08-13 21:00:47 +08:00
Song Ruo Jing ab60739814 fix(ci): add ci test for gpio etm test cases 2025-08-13 20:41:31 +08:00
Song Ruo Jing 2292bd6473 fix(lp_io): w1ts/w1tc register access performance is improved
by avoiding "read-modify-write" operation. The registers designed to be
write only.
2025-08-13 20:40:02 +08:00
Song Ruo Jing 54534c8637 fix(gpio): fix ESP32 GPIO sleep mode handling
The previous workaround does not work, the backup/restore should apply to RTC IO registers.
2025-08-13 20:27:55 +08:00
Song Ruo Jing a441cad4b7 fix(sleep): Fix CPU clk src when restoring CPU frequency after wakeup for c5 2025-07-05 23:52:38 +08:00
Song Ruo Jing 7b52c11661 test(gpio,gpio_ext,ppa): test with malloc from psram by default 2025-05-19 21:53:10 +08:00
Song Ruo Jing 5bb83afac7 refactor(uart): minor refactor to uart wakeup code 2025-05-19 21:52:55 +08:00
Song Ruo Jing 669e677ba3 fix(uart): eliminate garbled data on UART TX/RX line in sleep 2025-05-19 21:52:15 +08:00
Song Ruo Jing 1909105acf feat(uart): add pin release process to uart driver 2025-05-19 21:51:59 +08:00
Song Ruo Jing 5f050afdc1 Merge branch 'refactor/enable_rtc_clk_test' into 'master'
refactor(clk): enable rtc_clk ci test for all supported targets

Closes IDF-8973, IDF-10309, IDF-10984, and IDF-11022

See merge request espressif/esp-idf!38330
2025-04-24 15:07:59 +08:00
Song Ruo Jing 35708ec137 Merge branch 'feature/add_sc030iot_dvp_cam_support' into 'master'
feat(isp_dvp): add SC030IOT camera support to dvp_isp_dsi example

See merge request espressif/esp-idf!38521
2025-04-23 18:36:35 +08:00
Song Ruo Jing 1b3680eff3 feat(rtc_time): support rtc time for esp32c61 2025-04-23 14:15:01 +08:00
Song Ruo Jing 51744bd13d refactor(clk): enable rtc_clk ci test for all supported targets 2025-04-23 14:15:01 +08:00
Song Ruo Jing 8b4d46aa46 feat(isp_dvp): add SC030IOT camera support to dvp_isp_dsi example 2025-04-22 15:21:18 +08:00
Song Ruo Jing 917868d5b7 feat(gdma): apply c5 eco2 gdma minor modification 2025-04-22 11:31:33 +08:00
Song Ruo Jing 6994be3acd fix(gpio): add some detailed error log for gpio_pullup_en and gpio_pulldown_en 2025-04-18 19:03:16 +08:00
Song Ruo Jing 40cc70c325 fix(gpio): fix IO22-24 GPIO/IOMUX registers not restored after TOP PD for C61 2025-04-18 19:03:16 +08:00
Song Ruo Jing ec5176e95a fix(gpio): IO7 is not a LP IO anymore on C5 ECO2 chip 2025-04-18 19:03:08 +08:00
Song Ruo Jing d11ccf81b2 Merge branch 'bugfix/uart_nmea0183_example_wrong_unit_conversion' into 'master'
fix(uart): fix nmea0183 example wrong knots to m/s unit conversion

Closes IDFGH-14998 and IDFGH-12374

See merge request espressif/esp-idf!38286
2025-04-09 11:04:51 +08:00
Song Ruo Jing afccb78720 fix(ledc): align ledc register typo with TRM 2025-04-07 19:54:56 +08:00
Song Ruo Jing dd72141b78 fix(uart): add check for malloc in uart examples
Closes https://github.com/espressif/esp-idf/issues/13405
2025-04-07 19:54:56 +08:00
Song Ruo Jing b5587f0b4f fix(uart): fix nmea0183 example wrong knots to m/s unit conversion
Closes https://github.com/espressif/esp-idf/issues/15695
2025-04-07 19:54:56 +08:00
Song Ruo Jing 2ee8c066bf Merge branch 'feature/uart_autoband_detect' into 'master'
feat(uart): add uart_detect_bitrate_bps API for data line bitrate measurement

Closes IDFGH-13876, IDF-12195, and IDFGH-14709

See merge request espressif/esp-idf!36620
2025-03-31 12:08:38 +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
Song Ruo Jing 01c9407bb6 fix(uart): correct C3/S3 module enable porcedure to avoid undesired line noise 2025-03-28 15:03:19 +08:00
Song Ruo Jing 35b46448a9 fix(sleep): uart suspend/flush should also check if port is enabled on esp32 2025-03-28 15:03:19 +08:00
Song Ruo Jing b9b95cef37 docs(uart): improve set/get baud rate API docs
Closes https://github.com/espressif/esp-idf/issues/15449
2025-03-28 15:03:19 +08:00
Song Ruo Jing a67554d032 fix(uart): fixed coverity ininitialized scalar variable in uart_tcgetattr 2025-03-28 15:03:19 +08:00
Song Ruo Jing f3625b0fb0 Merge branch 'refactor/gpio_reset_pin' into 'master'
refactor(gpio): simplified gpio_reset_pin function to not call gpio_configure

Closes IDFGH-14846 and IDFGH-14880

See merge request espressif/esp-idf!37814
2025-03-26 16:56:27 +08:00
Song Ruo Jing cbf7a66030 feat(gpio): gpio_reset_pin should do IO reservation revoke
Closes https://github.com/espressif/esp-idf/issues/15598
2025-03-20 14:56:16 +08:00
Song Ruo Jing 8f74c54a8a refactor(gpio): simplified gpio_reset_pin function to not call gpio_configure
Closes https://github.com/espressif/esp-idf/pull/15569
2025-03-20 14:56:16 +08:00
Song Ruo Jing 95f8eb12d3 Merge branch 'bugfix/ledc_fade_stop_race_condition' into 'master'
fix(ledc): fix race condition in ledc_fade_stop causing assert failure

Closes IDFGH-14859

See merge request espressif/esp-idf!37817
2025-03-19 15:53:58 +08:00
Song Ruo Jing 88048d7076 fix(ledc): fix race condition in ledc_fade_stop causing assert failure
Closes https://github.com/espressif/esp-idf/issues/15580
2025-03-18 12:16:49 +08:00
Song Ruo Jing 2fabe6ff9c Merge branch 'bugfix/lp_uart_baudrate_limitation' into 'master'
fix(uart): LP UART does not have the pre-divider for its clock source

Closes IDFGH-14685 and IDF-12524

See merge request espressif/esp-idf!37250
2025-03-07 16:05:54 +08:00
Song Ruo Jing 1b09bb3037 fix(uart): LP UART does not have the pre-divider for its clock source
Closes https://github.com/espressif/esp-idf/issues/15427
2025-03-06 20:35:48 +08:00
Song Ruo Jing 4244d8af54 fix(gpio): fix bad bit shift operation and OOB (h2) in io_mux.c 2025-03-06 20:35:48 +08:00
Song Ruo Jing 83c9d4347c refactor(uart): increase test app memory leak tolerance 2025-03-06 20:35:48 +08:00
Song Ruo Jing 65044efa22 Merge branch 'bugfix/ppa_srm_scale_frag_yuv420' into 'master'
fix(ppa): fix ppa srm potentially get blocked when scaling to YUV420

Closes IDF-12468

See merge request espressif/esp-idf!37318
2025-03-03 22:41:44 +08:00
Song Ruo Jing 8038037b07 fix(ppa): fix ppa srm potentially get blocked when scaling to YUV420
YUV420 requires scale_x_frag, scale_y_frag be even
2025-02-27 21:12:45 +08:00
Song Ruo Jing e791f14bc4 fix(dma2d): dma2d_force_end should not crash when rx channel is idle 2025-02-27 21:12:45 +08:00
Song Ruo Jing ce3d603e05 Merge branch 'feature/esp32h21_gdma_support' into 'master'
feat(gdma): add GDMA support for ESP32H21

Closes IDF-11603 and IDF-11604

See merge request espressif/esp-idf!37063
2025-02-27 14:07:52 +08:00
Song Ruo Jing a4a28b57a3 feat(gdma): add GDMA support for ESP32H21 2025-02-25 17:05:48 +08:00
Song Ruo Jing c9dff55c9f Merge branch 'bugfix/gpio_standardization_fix' into 'master'
fix(gpio): minor improvement to output/input configuration step

Closes IDF-12240

See merge request espressif/esp-idf!36973
2025-02-24 15:56:59 +08:00
Song Ruo Jing 53d8b70e8b fix(gpio): fix IO output enable control
oen_sel and oen_inv_sel fields from func_out_sel_cfg register
2025-02-20 19:49:28 +08:00
Song Ruo Jing 1d6bcb86ba fix(gpio): removed unnecessary step when routing input signal to a pin 2025-02-20 18:54:19 +08:00
Song Ruo Jing a88bd155cd fix(ledc): overflowed integer argument in ledc_hal_clear_left_off_fade_param 2025-02-20 18:54:19 +08:00
Song Ruo Jing fd2df5e2fc Merge branch 'bugfix/uart_async_rxtxtasks_example_stack_overflow' into 'master'
fix(uart): enlarged task stack size for uart_async_rxtxtasks example

Closes IDFGH-14607, IDF-12230, and IDFGH-12126

See merge request espressif/esp-idf!36903
2025-02-17 17:28:43 +08:00
Song Ruo Jing c465b75ed6 docs(uart): aligned the config order in the programming guide with examples
Closes https://github.com/espressif/esp-idf/issues/13182
2025-02-17 15:28:16 +08:00
Song Ruo Jing f38a2e193d fix(uart): enlarged task stack size for uart_async_rxtxtasks example
Meanwhile, added CI pytest for some UART examples

Closes https://github.com/espressif/esp-idf/issues/15363
2025-02-17 15:28:08 +08:00
Song Ruo Jing d59f732718 Merge branch 'refactor/gpio_apis_modification' into 'master'
refactor(gpio): refactor some GPIO APIs

See merge request espressif/esp-idf!36384
2025-02-12 11:33:37 +08:00
Song Ruo Jing b88f30a099 Merge branch 'bugfix/gpio_rom_patch_fix' into 'master'
fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2

Closes IDFGH-14429

See merge request espressif/esp-idf!36766
2025-02-11 12:32:54 +08:00
Song Ruo Jing a6ac2bb322 refactor(gpio): improve gpio_get_io_config API 2025-02-10 21:44:51 +08:00
Song Ruo Jing 3a8d065908 refactor(gpio): improve gpio_iomux_in/out API 2025-02-10 21:44:07 +08:00
Song Ruo Jing 974910d4f8 Merge branch 'bugfix/clear_ledc_gamma_ram' into 'master'
fix(ledc): left-off gamma ram registers should be cleared

Closes IDF-11392 and IDFGH-14293

See merge request espressif/esp-idf!36098
2025-02-10 21:16:43 +08:00
Song Ruo Jing 5378b716a0 docs(ledc): add notes for ledc_set_fade_with_time API reference
Closes https://github.com/espressif/esp-idf/issues/15085
2025-02-07 21:28:34 +08:00
Song Ruo Jing a6b47fac12 fix(ledc): left-off gamma ram registers should be cleared
Hardware reads in (range_number+1) fade parameter registers, which could
cause output waveform error.
2025-02-07 20:39:26 +08:00
Song Ruo Jing 19fec9f455 fix(ledc): updated docs for esp32h2 eco5 bugfix 2025-02-07 20:39:26 +08:00
Song Ruo Jing 13a0a584d9 fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2
Closes https://github.com/espressif/esp-idf/issues/15209
2025-02-05 22:19:04 +08:00
Song Ruo Jing bbdef6a11d Merge branch 'feature/malloc_cap_simd_flag' into 'master'
feat(heap): add a MALLOC_CAP_SIMD flag

Closes IDF-11813

See merge request espressif/esp-idf!35471
2025-01-17 11:35:22 +08:00
Song Ruo Jing 20eb6ca5e9 feat(heap): add a MALLOC_CAP_SIMD flag
MALLOC_CAP_SIMD can be used to allocate memory to be used for SIMD instructions
2025-01-16 14:39:12 +08:00
Song Ruo Jing ef5dad5bf4 Merge branch 'bugfix/ledc_include_gpio' into 'master'
fix(ledc): fixed depending on gpio header but don't depends on it

Closes IDFGH-14390

See merge request espressif/esp-idf!36280
2025-01-13 15:25:21 +08:00
Song Ruo Jing 486c95557a Merge branch 'bugfix/gpio_8_16_bit_access' into 'master'
feat(gpio): add gpio_config_as_analog() API

Closes IDF-10247 and IDFGH-12754

See merge request espressif/esp-idf!35856
2025-01-10 15:14:19 +08:00
Song Ruo Jing 52c0278361 feat(gpio): add gpio_config_as_analog API 2025-01-08 21:58:12 +08:00
Song Ruo Jing 5b75572f23 fix(gpio): fix 8/16-bit gpio, rtc/lp_io register access 2025-01-08 16:49:34 +08:00
Song Ruo Jing 3fde2017cd refactor(rtcio): update comments for rtc_io header file
Closes https://github.com/espressif/esp-idf/issues/13735
2025-01-08 16:49:34 +08:00
Song Ruo Jing ebdb804d63 Merge branch 'bugfix/dvp_isp_yuv_submodule_workaround' into 'master'
fix(isp): fix some submodule dependence for specific isp output format

See merge request espressif/esp-idf!35532
2024-12-24 12:25:11 +08:00