Commit Graph

72 Commits

Author SHA1 Message Date
Chen Jichang
e008f5a627 refactor(gdma): increase performance and optimize api 2026-08-17 17:02:06 +08:00
Chen Jichang
2b8029c775 feat(mspi): split dma and mspi alignment 2026-08-17 16:49:27 +08:00
Chen Jichang
6f7d1e1d98 fix(rmt): fix loop tx can trigger done event 2026-07-27 16:49:41 +08:00
morris
651d6a283f refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h
Remove ~50 duplicate local definitions of ALIGN_UP/ALIGN_DOWN/ALIGN_UP_BY/
ALIGN_DOWN_BY across the codebase and replace them with canonical
ESP_ALIGN_UP/ESP_ALIGN_DOWN from esp_macros.h.
2026-07-06 13:36:06 +08:00
Li Shuai
e28ee420ac fix(ci): some digital peripherals support sleep retention attach and detach 2026-05-21 11:46:16 +08:00
morris
3d452de7a3 fix(drivers): sleep retention failure on esp32s31 2026-05-13 11:12:08 +08:00
wuzhenghui
d3c5129050 fix(driver): fix retention unsupported mouldes TOP pd test 2026-05-07 12:02:05 +08:00
morris
a583cee39b feat(rmt): move rmt retention info from esp_hal_rmt to esp_driver_rmt 2026-04-22 13:47:07 +08:00
Chen Jichang
6e206dd173 refactor(clk_tree): use general api to enable the clk 2026-04-16 20:03:06 +08:00
morris
4084c88a2e refactor(rmt): switch group interrupts to private shared binding
Bind RMT channel interrupts by module name and allocate them as private
shared so channels in the same RMT instance reuse one CPU interrupt line
without exposing it to other peripherals. Drop RMT-side interrupt
priority conflict state and let the interrupt allocator enforce
compatibility.

Use soc_rmt_signals[group_id].module_name when creating RMT PM locks and
drop the per-channel formatted lock name buffer. This keeps naming
consistent with interrupt binding and removes unnecessary string
formatting state.
2026-03-27 22:53:14 +08:00
morris
0469db2f83 refactor(rcc): unify the usage of clock control macros for peripherals
- Removed conditional definitions for various RCC_ATOMIC macros across
multiple files, replacing them with a unified PERIPH_RCC_ATOMIC() macro.
- Updated instances where specific RCC_ATOMIC macros were used to ensure
consistent usage of PERIPH_RCC_ATOMIC().
- Deleted unused uart_share_hw_ctrl.h file as its functionality is now
integrated into the new structure.
2026-01-23 18:28:13 +08:00
morris
fb1b53c7c5 refactor(gdma): channel allocation can return both direction within the same call 2026-01-04 15:39:38 +08:00
Chen Jichang
2cb84ecf95 feat(hal): graudate the RMT hal driver into a new component 2025-11-25 14:21:01 +08:00
morris
bc064a353a refactor(hal_dma): move bitscrambler from hal component
because bitscrambler can't live without DMA, it's highly binded with the
GDMA peripheral.
2025-11-21 16:10:16 +08:00
laokaiyao
ff1c14b1a3 refactor(parlio_rx): refactor to support unaligned user payload buffer
Closes https://github.com/espressif/esp-idf/issues/17581
2025-10-30 16:12:34 +08:00
Chen Jichang
f9cf0394e5 fix(rmt): fix pm lock type to increase stability 2025-10-29 15:40:31 +08:00
Chen Jichang
9e28a8d05c fix(rmt): use memset to clear entire RMT memory block instead of single word
closes https://github.com/espressif/esp-idf/issues/17692
2025-10-11 11:27:52 +08:00
Chen Jichang
51b253e945 feat(rmt): support receive buffer to psram 2025-09-26 16:42:33 +08:00
Chen Jichang
ddef1d3d52 refactor(gdma): move buffer aligment to buffer mount config 2025-09-26 16:42:33 +08:00
Chen Jichang
f2f62b590d fix(rmt): alloc channel memory from internal 2025-09-26 16:42:33 +08:00
Chen Jichang
092aa00be4 fix(rmt): fix the regression from gdma link refactor 2025-09-16 15:20:30 +08:00
Chen Jichang
6c3d275342 fix(rmt): treat loop once as no loop 2025-08-21 14:25:30 +08:00
Chen Jichang
4e03f8df0f fix(rmt): correct the condition for warnings in loop mode 2025-08-21 14:25:30 +08:00
Chen Jichang
e321d3f85f feat(rmt): support unaligned receive buffer with DMA
The driver will help to align the buffer to mem_alignment in DMA mode
2025-08-11 14:22:28 +08:00
Chen Jichang
f4a76612fa feat(rmt): allow to set init level before any tx transmission
Closes https://github.com/espressif/esp-idf/issues/16068
2025-08-11 14:22:28 +08:00
Chen Jichang
7d0d7c52db fix(rmt): deal with spurious RX done interrupts on ESP32
Closes https://github.com/espressif/esp-idf/issues/15948
2025-08-11 14:22:28 +08:00
Chen Jichang
4ee0feeb6f refactor(rmt): use gdma link list driver to mount buffer 2025-08-11 14:22:28 +08:00
Chen Jichang
579a744fb3 fix(rmt): fix the state of the simple encoder with mem full
Closes https://github.com/espressif/esp-idf/issues/17244
2025-08-07 11:16:43 +08:00
wuzhenghui
65b7e70564 feat(driver): support acquire/release clock source dependency for all drivers 2025-05-27 21:21:38 +08:00
morris
c63f51dcb3 refactor(drivers)!: remove unnecessary io_loop_back and pull up/down config option 2025-05-23 18:09:53 +08:00
Chen Jichang
6397820d0b fix(rmt): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled 2025-05-22 17:27:18 +08:00
Chen Jichang
d3dba7597d feat(parlio_tx): support to mount bitscrambler 2025-05-12 10:27:14 +08:00
Chen Jichang
0f8415bb72 fix(rmt): fix race condition and add receive config error message
Closes https://github.com/espressif/esp-idf/issues/15842
Closes https://github.com/espressif/esp-idf/issues/15836
2025-05-08 13:32:48 +08:00
morris
ae5f8e550c feat(rmt): introduce RMT_ENCODER_FUNC_ATTR for encoder functions
Closes https://github.com/espressif/esp-idf/issues/15832
2025-04-25 11:25:56 +08:00
morris
15e16599ae refactor(drivers): refactor the iram-safe option of the gdma peripherals
Closes https://github.com/espressif/esp-idf/issues/15771
2025-04-15 11:37:18 +08:00
Chen Jichang
2bd5425a5b feat(rmt_tx): allow to switch gpio in tx channal 2025-04-10 10:26:27 +08:00
morris
c3f422348d feat(rmt): support bitscrambler as a RMT encoder 2025-04-07 18:13:03 +08:00
morris
a06dfd5f19 feat(rmt): allow the encoder to emit the EOF marker 2025-04-07 17:32:16 +08:00
morris
bb4eb3ac8b refactor(rmt): function placement by tx and rx separately 2025-03-26 15:22:05 +08:00
morris
1877605e59 change(rmt): split rmt encoders into different files 2025-03-24 12:23:26 +08:00
Chen Jichang
fac2d9eada fix(rmt): fix the received symbols issue 2025-03-17 11:32:32 +08:00
morris
b6c94a19d6 Merge branch 'contrib/github_pr_15225' into 'master'
change(rmt): change rx buffer prints from error to debug (GitHub PR)

Closes IDFGH-14449

See merge request espressif/esp-idf!36460
2025-01-22 10:39:17 +08:00
Jonathan Swoboda
374f6f1f2a change(rmt): change rx buffer prints from error to debug 2025-01-16 12:08:33 -05:00
Chen Jichang
555bfd8f5c refactor(rmt): set group clock prescale dynamically
Closes https://github.com/espressif/esp-idf/issues/14760
2025-01-16 11:11:13 +08:00
morris
9b3ea0cebd fix(rmt): channel resolution divider rounding issue
Closes https://github.com/espressif/esp-idf/issues/15092
2024-12-26 16:28:16 +08:00
morris
45df38a012 Merge branch 'refactor/mipi_lcd_iram_safe' into 'master'
test(rmt): the IO level can keep at low level after channel delete

Closes IDFGH-14255

See merge request espressif/esp-idf!34186
2024-12-24 17:15:04 +08:00
morris
047ff0cb4b feat(rmt): add API to return the real clock resolution of a channel
Closes https://github.com/espressif/esp-idf/pull/15074
2024-12-23 15:08:50 +08:00
morris
1f015c0509 change(rmt): rename isr iram safe to cache safe 2024-12-20 17:06:51 +08:00
Li Shuai
8eea8a8ef3 change(esp_hw_support): update some modules sleep retention init dependency bitmap 2024-11-18 15:40:47 +08:00
morris
05cb70cc3a refactor(rmt): define retention module in the soc layer 2024-10-10 12:12:58 +08:00