Commit Graph

42 Commits

Author SHA1 Message Date
morris
5ad9e6b87f feat(rmt): added a help function for allocating encoder memory
The encoder memory location should respect the RMT_MEM_ALLOC_CAPS,
which is affected by some Kconfig options, like ISR_IRAM_SAFE

Closes https://github.com/espressif/esp-idf/issues/13032
2024-01-30 17:03:41 +08:00
morris
40093b34eb fix(rmt): enable dma owner check
Closes https://github.com/espressif/esp-idf/issues/12564
2023-11-20 14:55:34 +08:00
morris
2e8cc61af7 feat(rmt): support calling rmt_receive in ISR callback 2023-11-08 14:32:26 +08:00
morris
8dda17e3a3 fix(rmt): a disabled channel may pick up a pending transaction
because in the trans_done interrupt, the driver didn't check the channel FSM
2023-11-02 11:30:42 +08:00
morris
df2c62d270 bugfix(driver): fix wrong DMA bus usage
in SPI, RMT, parlio
2023-10-20 09:08:54 +00:00
morris
e92a1515be feat(hal): add util function to reverse a 8bit byte 2023-10-18 09:48:14 +08:00
morris
985b8ca948 fix(rmt): fixed unstable transfer during DFS
Closes https://github.com/espressif/esp-idf/issues/12292
2023-09-26 17:01:06 +08:00
morris
0fe1114673 Merge branch 'bugfix/shared_intr_memory_location' into 'master'
fix(intr): always allocate memory from internal ram

Closes IDFGH-11099

See merge request espressif/esp-idf!26090
2023-09-25 15:36:36 +08:00
morris
3dc13d58a1 fix(intr): always allocate memory from internal ram
Closes https://github.com/espressif/esp-idf/issues/12271
2023-09-22 15:13:35 +08:00
Armando
32db81a6d6 change(rmt): update cache_hal_get_cache_line_size accordingly 2023-09-22 14:19:41 +08:00
morris
6bb05cccdd feat(rmt): add driver support for esp32p4
including DMA feature
2023-09-19 12:54:14 +08:00
Planck (Lu Zeyu)
80fa5da9e8 feat(rmt): specify interrupt priority 2023-09-01 11:30:41 +08:00
Darian Leung
9ed58bf564 feat(driver): updated drivers to use CreateWithCaps() API
This commit simplifies various drivers by using the ...CreateWithCaps() API
when creating driver objects in internal RAM.
2023-08-08 04:26:42 +00:00
morris
57879e772d feat(gdma): support channel allocator on esp32p4
There's two GDMA groups on ESP32P4, one is connected to AHB bus,
and another one is connected AXI bus.
We now have two seperate APIs for allocating DMA channels,
depends on the bus type.
2023-07-19 18:18:07 +08:00
morris
b589355a10 feat(mcpwm): support open drain output for generator IO
Closes https://github.com/espressif/esp-idf/issues/11877
2023-07-19 11:32:35 +08:00
morris
88600bd91b driver: minor code clean up to pass coverity scan test 2023-06-10 16:21:12 +08:00
morris
9ae742eb85 rmt: check filter and idle threashold
Closes https://github.com/espressif/esp-idf/issues/11262
2023-04-29 06:51:35 +00:00
morris
af2085b789 rmt_onewire: refactor example with component manager
Closes https://github.com/espressif/esp-idf/issues/10790
2023-04-27 15:02:55 +08:00
Song Ruo Jing
a4e8960ab4 esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-25 14:12:06 +08:00
morris
b19a3e3e56 rmt: define RMT_ENCODING_RESET in rmt_encode_state_t
Closes https://github.com/espressif/esp-idf/issues/11200
2023-04-17 14:50:51 +08:00
morris
5d1a272b1c rmt: calarify the meaning of mem_block_symbols in DMA and non-DMA mode 2023-03-30 11:09:13 +08:00
morris
d82981c437 rmt: use gpio_num_t to define gpio number 2023-03-30 10:30:27 +08:00
morris
f534247a00 driver: add parallel IO TX driver 2023-03-01 00:43:14 +00:00
morris
d9f82baca7 driver: fix typo "destroy" 2023-03-01 00:43:14 +00:00
morris
195f6b99ad rmt: expose private API to get channel ID
Closes https://github.com/espressif/esp-idf/issues/10596
2023-02-16 11:37:25 +08:00
morris
1626766abf rmt: simplify rmt source clock configure with clk_tree API
Also decrease the payload size for testing the multi-channel behaviour.
2023-02-10 18:24:27 +08:00
laokaiyao
f27cd67c00 driver: pack peripherals 2023-02-02 18:19:58 +08:00
morris
7c9e3b60c6 rmt: no auto light sleep if xtal is working as the clock source 2022-12-29 11:33:43 +08:00
morris
32cd193ddf rmt: support pll clock source on esp32c6 2022-12-22 11:25:54 +08:00
morris
c71bd0e4fa rmt: disable rc_fast clock when it's used up 2022-09-17 04:56:49 +00:00
morris
0d881fc9e0 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-15 14:46:56 +08:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00:00
morris
307d26659e Merge branch 'bugfix/rmt_hw_issue' into 'master'
rmt: only use register to control the IDLE state (hardware issue workaround)

See merge request espressif/esp-idf!19344
2022-08-03 17:01:44 +08:00
morris
8de9fd8cd7 rmt: only use register to control IDLE state
hardware issue: we can't control the IDLE level by the stop item
when loop transmission is enabled.
But we can always control the IDLE state by register.
2022-08-03 10:51:43 +08:00
morris
a5a171926b rmt: add test with -O0 2022-08-02 23:07:06 +08:00
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
wangyuanze
ab0c4abd6e rmt: add open-drain flag on tx channel 2022-07-20 14:12:43 +00:00
morris
9e532696f4 pcnt: add const qualifier to event data 2022-07-20 14:59:50 +08:00
morris
4094f13fd3 rmt: fix error in rmt register file
Closes https://github.com/espressif/esp-idf/issues/9100
2022-06-10 18:38:42 +08:00
songruojing
a5b09cf015 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00
morris
660ff8e840 rmt: declare RMTMEM as a block of memory 2022-05-09 11:26:30 +08:00
morris
2fb43820c2 driver_ng: implement new rmt driver
The legacy driver can't handle the breaking change between esp chips

very well.

And it's not elegant to extend new feature like DMA, ETM.

The new driver can return a opaque handle for each RMT channel.

An obvious transaction concept was also introduced.

TX and RX functionalities are splited out.
2022-05-07 10:34:50 +00:00