Commit Graph
97 Commits
Author SHA1 Message Date
Chen Jichang cbc6382b26 fix(i2c,mcpwm): fix gpio pull strategy
Closes https://github.com/espressif/esp-idf/issues/15774
2025-04-21 10:35:52 +08:00
Chen Jichang 7be85fd8ba feat(rmt_tx): allow to switch gpio in tx channal 2025-04-14 18:38:45 +08:00
Chen Jichang da4c0a3a8d fix(parlio): fix non-free running test case 2025-04-01 11:11:44 +08:00
Chen Jichang 4e7c593098 fix(parlio): fix rempty interrupt during resetting fifo
Move the fifo reset to after disabling the tx core clock.
And add external non-free running clock src test.
2025-04-01 11:11:44 +08:00
Chen Jichang 21792d572e fix(parlio_tx): add clock and fifo reset in disable function 2025-04-01 11:11:44 +08:00
Chen Jichang 51cbe9291b fix(pcnt): remove the gpi0_reset_pin function 2025-03-30 13:48:02 +08:00
Chen Jichang 5a6e4760d4 fix(pcnt): update pcnt_reg on esp32h2 eco5 2025-03-30 13:48:01 +08:00
Chen Jichang 916af811f4 fix(rmt): fix the received symbols issue 2025-03-20 10:36:45 +08:00
Chen Jichang 3d55047a09 fix(drivers): use CPU_MAX lock in dirvers use axi dma to access psram 2025-03-13 11:20:27 +08:00
Chen Jichang fc5d2e1bae refactor(rmt): set group clock prescale dynamically
Closes https://github.com/espressif/esp-idf/issues/14760
2025-02-26 14:17:12 +08:00
Chen Jichang a05a12526d feat(spi_lcd): move callback function to iram
Closes https://github.com/espressif/esp-idf/issues/15160
2025-02-05 11:21:46 +08:00
Chen Jichang d3dbbf1351 fix(parlio_tx): fix line address in simple_rgb_martix example 2024-12-30 17:08:43 +08:00
Chen Jichang 0f937a7e90 docs(pcnt): remove pm_lock content in glitch_filter
Closes https://github.com/espressif/esp-idf/issues/15027
2024-12-30 17:05:53 +08:00
Chen Jichang bcf13b4be7 docs(pcnt): update pcnt power down description 2024-12-30 17:05:53 +08:00
Chen Jichang 3779757cd3 feat(pcnt): support step_notify on esp32h2 eco5 2024-12-12 19:40:20 +08:00
Chen Jichang 3b3a6b4725 feat(legacy_driver): add kconfig to skip legacy confilct check 2024-12-12 18:39:11 +08:00
Chen Jichang 6aa4f8b63e feat(mcpwm): support mcpwm sleep retention on p4 2024-12-12 11:43:54 +08:00
Chen Jichang 5a1e5d04d0 feat(parlio_tx): add check of fifo empty event 2024-12-09 20:35:37 +08:00
Chen Jichang 174fa30ade refactor(i80_lcd): adapt example to lvgl9 2024-12-09 20:35:37 +08:00
Chen Jichang 9b112e2a70 docs(pcnt): add pullup and pulldown documentation
Closes https://github.com/espressif/esp-idf/issues/14277
2024-12-09 20:23:06 +08:00
Chen Jichang 2e44cb9387 feat(mcpwm): support sleep retention 2024-11-13 11:13:34 +08:00
Chen Jichang c8fa2a1f42 fix(mcpwm): fix mcpwm register offset on p4 2024-11-13 11:13:34 +08:00
Chen Jichang 31befbfad3 feat(pcnt): add sleep retention init
Currently, due to the lack of sleep callback feature. We only init
sleep module but don't allocate it. Thus the power domain will be
kept during the light sleep. And temporarily disable pcnt sleep
retention support on P4 due to the lack of retention module ID.
2024-11-07 12:09:26 +08:00
Chen Jichang 7946eb51e0 fix(mcpwm): add warning about generator deadtime
Closes https://github.com/espressif/esp-idf/issues/14773
2024-11-07 10:56:57 +08:00
Chen Jichang b3f733166c fix(lcd): fix the newest lvgl regression 2024-10-25 18:31:52 +08:00
Chen Ji Chang 6c1bb29092 Merge branch 'fix/mcpwm_example_remove_io_loop_back' into 'master'
refactor(mcpwm): remove io_loop_back in example

See merge request espressif/esp-idf!34259
2024-10-22 19:07:48 +08:00
Chen Ji Chang 93a9368dcd Merge branch 'feat/sdm_gpio_append_mode' into 'master'
refactor(sdm): refactor gpio config mode

Closes IDF-11275

See merge request espressif/esp-idf!34256
2024-10-22 17:27:58 +08:00
Chen Ji Chang 722db20d67 Merge branch 'feat/parlio_sleep_retention' into 'master'
feat(parlio): support sleep retention

Closes IDF-8477, IDF-9741, and IDF-9770

See merge request espressif/esp-idf!33925
2024-10-22 17:26:18 +08:00
Chen Jichang b6645acafe feat(parlio): support sleep retention 2024-10-21 20:25:39 +08:00
Chen Jichang e9fc43f5da fix(parlio): fix spelling error in reg_base.h 2024-10-21 19:59:17 +08:00
Chen Jichang e8de889cda fix(parlio_rx): fix high failure rate of test with i2s input 2024-10-21 19:59:17 +08:00
Chen Jichang 9e27d464eb refactor(mcpwm): remove io_loop_back in example 2024-10-18 10:35:45 +08:00
Chen Jichang 47010efe09 refactor(sdm): refactor gpio config mode 2024-10-17 19:31:56 +08:00
Chen Ji Chang b42cd6b4b7 Merge branch 'feat/mcpwm_io_append_mode' into 'master'
refactor(mcpwm): deprecate io_loop_back

Closes IDF-11120

See merge request espressif/esp-idf!34040
2024-10-15 17:15:40 +08:00
Chen Jichang cfdaf3b379 feat(parlio): refactor gpio mode config in parlio 2024-10-12 14:12:25 +08:00
Chen Jichang cb097aeb54 refactor(mcpwm): refactor gpio mode config in mcpwm
Deprecate io_loop_back flag. Use capture timer to test generator and
dead time.
2024-10-11 16:36:25 +08:00
Chen Ji Chang afffd0d062 Merge branch 'fix/mcpwm_pm_lock_memory_leak' into 'master'
fix(mcpwm): fix pm_lock memory issues

See merge request espressif/esp-idf!33852
2024-09-27 20:39:51 +08:00
Chen Jichang e56f04fdd3 fix(mcpwm): fix pm_lock memory issues 2024-09-27 14:41:34 +08:00
Chen Ji Chang 3a6a6ecedc Merge branch 'fix/fix_macro_in_memory_ld' into 'master'
fix(psram): fix macro in memory.ld

Closes IDFCI-2382 and IDF-11133

See merge request espressif/esp-idf!33583
2024-09-23 14:07:36 +08:00
Chen Jichang 5bef0f5664 docs(spi_lcd): update supported spi mode description
Closes https://github.com/espressif/esp-idf/issues/14605
2024-09-19 14:29:41 +08:00
Chen Jichang 7e2a7bd5b2 feat(spi_lcd): adapt spi_lcd example to LVGL v9 2024-09-19 14:29:41 +08:00
Chen Jichang 309e4d09bd fix(psram): fix macro in memory.ld 2024-09-19 13:46:57 +08:00
Chen Jichang 057b6b72ba docs(psram): sync psram noinit description 2024-09-06 14:30:54 +08:00
Chen Ji Chang 646d2f9e4a Merge branch 'feat/parlio_tx_support_psram_buffer' into 'master'
feat(parlio_tx): support transmit buffer in external PSRAM

Closes IDF-10981

See merge request espressif/esp-idf!33347
2024-09-06 14:00:35 +08:00
Chen Jichang 227f80ff88 feat(parlio_tx): support psram buffer 2024-09-06 11:20:39 +08:00
Chen Jichang 7dd15bee31 fix(parlio_tx): fix error in first transfer and 1 byte transfer
On p4, the clock was configured in the wrong order causing a dropped
count on the first transmission. And gdma eof event fails to trigger
parlio_tx eof event when transmitting single byte.
2024-09-05 17:12:49 +08:00
Chen Jichang 35c6e44181 refactor(parlio_tx): use gdma link list driver to mount buffer 2024-09-04 10:20:01 +08:00
Chen Ji Chang b8b845a96a Merge branch 'change/remove_sdm_and_glitch_filter_on_c61' into 'master'
Change(sdm,glitch_filter): remove sdm and glitch filter on c61

Closes IDF-9340 and IDF-9335

See merge request espressif/esp-idf!32691
2024-08-21 19:28:05 +08:00
Chen Jichang 1c1f536235 feat(psram): add psram noinit segment support on S2/S3/P4/C5
Closes https://github.com/espressif/esp-idf/issues/14253
2024-08-21 12:13:16 +08:00
Chen Jichang a1fc225aaa feat(glitch_filter): remove glitch filter on c61 2024-08-20 10:57:01 +08:00
Chen Jichang b947ff99da feat(sdm): remove sigma delta gpio on c61 2024-08-20 10:57:01 +08:00
Chen Ji Chang 5b0c63b2cd Merge branch 'feat/add_ledc_support_on_c61' into 'master'
feat(ledc): add ledc support on c61

Closes IDF-9291

See merge request espressif/esp-idf!32705
2024-08-16 17:35:19 +08:00
Chen Jichang 2e2cbd9aa8 feat(ledc): add ledc support on c61 2024-08-15 15:21:06 +08:00
Chen Ji Chang 8e956dab87 Merge branch 'feat/dma_cache_align' into 'master'
feat(dma): Add helper functions to align buffer

Closes IDF-10462

See merge request espressif/esp-idf!32343
2024-08-14 10:00:55 +08:00
Chen Ji Chang 1b0fb462b6 Merge branch 'feat/add_dedic_gpio_support_on_c61' into 'master'
feat(dedic_gpio): support dedic gpio on esp32c61

Closes IDF-9321

See merge request espressif/esp-idf!32688
2024-08-09 11:37:44 +08:00
Chen Jichang 2fafecdc2e feat(dedic_gpio): support dedic gpio on esp32c61 2024-08-08 14:00:19 +08:00
Chen Jichang f919336448 feat(dma): Add helper functions to split aligned buffer
In some cases we will need the dma's buffer to be aligned with specific
requirements. This MR add two helper function to split the unaligned
buffer and merge to the origin buffer. The cost is that each unaligned
buffer requires two stash buffers of spilt alignment size. And this
memory should be managed by callers.
2024-08-07 19:48:19 +08:00
Chen Jichang e04d0aad20 feat(gptimer): add gptimer support on c61 2024-07-23 10:23:14 +08:00
Chen Ji Chang 53734aab16 Merge branch 'change/remove_mcpwm_on_c61' into 'master'
change(mcpwm,pcnt): remove mcpwm and pcnt on esp32c61

Closes IDF-9332 and IDF-9338

See merge request espressif/esp-idf!32136
2024-07-19 19:44:36 +08:00
Chen Jichang cde7750f0a ci(legacy_pcnt): re_enable legacy_pcnt test on c5 2024-07-18 21:54:31 +08:00
Chen Jichang 6b7da2901e change(pcnt): remove pcnt on esp32c61
pcnt is not supported on esp32c61
2024-07-18 21:52:39 +08:00
Chen Jichang 5e0c5e0ba5 change(mcpwm): remove mcpwm on esp32c61
mcpwm is not supported on esp32c61
2024-07-18 21:52:09 +08:00
Chen Jichang 38b1fe9b11 feat(glitch_filter): add support for esp32c5 2024-07-17 17:56:45 +08:00
Chen Jichang 9b94afdd38 feat(dedic_gpio): add support for esp32c5 2024-07-17 17:56:43 +08:00
Chen Jichang 5dea9413a8 feat(gptimer): add wiegand interface example
Closes https://github.com/espressif/esp-idf/issues/13892
2024-07-11 10:45:04 +08:00
Chen Jichang a717fecf94 feat(sdm): add support for esp32c5 2024-07-10 11:46:45 +08:00
Chen Jichang 70835b307b ci(mcpwm): re-enable mcpwm test on c5 2024-07-04 17:40:48 +08:00
Chen Ji Chang af9d107f24 Merge branch 'feat/add_cs_timing_parameters_in_spi_lcd' into 'master'
feat(spi_lcd): add spi cs timing parameters

Closes IDFGH-12003

See merge request espressif/esp-idf!31836
2024-07-03 11:35:00 +08:00
Chen Jichang f0e8b606b7 fix(spi_master): change MOSI pin default idle level to low 2024-07-03 11:12:44 +08:00
Chen Jichang cb771eaf1b ci(spi_lcd): re-enable spi_lcd test on p4 2024-07-03 11:12:44 +08:00
Chen Jichang 8d0990806c feat(spi_lcd): add spi cs timing parameters
Some lcd hardware drivers need different CS setup time. Add pretrans
and posttrans parameters to control the CS time.

Closes https://github.com/espressif/esp-idf/issues/13071
2024-07-02 10:55:34 +08:00
Chen Jichang 03e936041d refactor(pcnt): refactor the default isr 2024-06-28 12:12:50 +08:00
Chen Jichang d81546628a feat(pcnt): add support for step notify
PCNT can add watch of value increment that we call step notify.
This commit add a step notify driver and a test for the driver.

Closes https://github.com/espressif/esp-idf/issues/9604
Closes https://github.com/espressif/esp-idf/issues/12136
2024-06-24 15:50:47 +08:00
Chen Jichang 12d2eff381 fix(gptimer): re-enable test on P4
Remove timer_get_counter_time_sec in the ISR. Keep ISR as fast as
possible and not allow FPU usage.
2024-06-07 11:12:45 +08:00
Chen Jichang 7638235311 feat(mcpwm): MCPWM event comparator driver
In esp32p4, the MCPWM has a new feature, mainly ETM-oriented.
Each operator has two event comparators, can generate an event
when the count value of the timer that operator connects is equal
to the value of event comparator.
2023-09-11 16:53:34 +08:00
Chen Jichang fc80d3e568 feat(mcpwm): Set group clock prescale dynamically
MCPWM group clock pre scale was originally fixed to 2, which is
inconvenient. Set group clock prescale dynamically. Now the maximum
resolution of the MCPWM timer is up to 160MHz(when the prescale set
to 1). And add a resulotion config for MCPWM capture.
2023-09-08 11:57:29 +08:00
Chen Jichang 5ea4df682e feat(esp_lcd): updated lvgl example to loading image from file system
which can help to reduce the firmware bin size
2023-09-06 14:53:24 +08:00
Chen Ji Chang 9db2ffd4fb Merge branch 'fix/pcnt_zero_input_init' into 'master'
feat(PCNT): Add new api of clear signal

See merge request espressif/esp-idf!25372
2023-08-23 20:15:59 +08:00
Chen Jichang d7d87813ad fix(PCNT): Add zero input gpio enable flag
The default zero input gpio num is 0. Users need to set it additionally
when not use zero input signal. It may become a breaking change.
Add an enable flag to avoid it.
2023-08-23 12:08:15 +08:00
Chen Jichang 713324ff9d feat(MCPWM): Support set interrupt priority 2023-08-23 10:44:34 +08:00
Chen Ji Chang b39fd79cb8 Merge branch 'feature/add_mcpwm_carrier_clk_source' into 'master'
feat(MCPWM): Add mcpwm carrier clk source

Closes IDF-8029

See merge request espressif/esp-idf!25342
2023-08-15 18:04:08 +08:00
Chen Jichang 97d5db32ae feat(MCPWM): Add mcpwm carrier clk source
The MCPWM carrier is part of the operator and can work independently
without the MCPWM timer being enabled. This commit add the MCPWM
carrier clk source.
2023-08-15 13:04:11 +08:00
Chen Jichang eede3796c7 feat(pcnt): support set interrupt priority 2023-08-14 17:52:38 +08:00
Chen Jichang 3fed3cf50e feat(pcnt): add support for ESP32P4 2023-08-09 14:41:22 +08:00
Chen Jichang 72f66b6d1d feat(mcpwm): add support for ESP32P4 2023-08-08 18:12:58 +08:00
Chen Jichang 5ab755915b feature(MCPWM): Add MCPWM trigger driver and test
Each MCPWM operator has two Trigger (named T0 and T1), and they can be
routed to GPIO fault signal or timer sync event.Generator can be set up
to perform different action on Trigger event.
This commit add a trigger driver and a test for the driver.
2023-07-25 14:44:41 +08:00
Chen Jichang 304c7572a6 refactor(interrupt):put the interrupts definitions in soc/interrupts.h
Now the soc interrupts definitions are scattered around in the esp-idf
which are out of sync. Put interrupts definitions in soc/periph_defs.h
(!ESP32) or soc/soc.h(ESP32) together in soc/interrupts.h.
2023-07-17 19:31:56 +08:00
Chen Ji Chang 7ec38eb309 Merge branch 'bugfix/update_all_esp32xxx/rom/gpio.h_comments' into 'master'
gpio: Update the incorrect comments in rom/gpio.h

Closes IDFGH-10490

See merge request espressif/esp-idf!24487
2023-07-13 19:44:31 +08:00
Chen Jichang b9c22b126a bugfix(driver/gpio):update the incorrect comment
There are some register description errors in parts of rom/gpio.h
This commit update the incorrect comments in rom/gpio.h And now
esp_rom_gpio.h is recommend instead of rom/gpio.h. So this commit adds
macro SIG_GPIO_OUT_IDX in esp_rom_gpio_connect_out_signal
function and removes the reference to gpio.h in some source files.

Closes https://github.com/espressif/esp-idf/issues/11737
2023-07-13 10:52:50 +08:00
Chen Jichang cdd18fd232 refactor(gpio):add gpio linker.lf to control the placement of driver and hal
since the linker placement of the hal functions are controlled by the Kconfig in the driver component,
we should create the linker.lf in the driver component, not in the hal component.
2023-07-11 20:44:36 +08:00
Chen Ji Chang 88d6e3e896 Merge branch 'docs/add_a_note_about_RMT_preipheral_in_the_programming_guide' into 'master'
rmt: add a note about binding channels to the same GPIO

Closes IDFGH-10524

See merge request espressif/esp-idf!24524
2023-07-03 23:29:42 +08:00
Chen Jichang 3f0b46da54 docs(rmt): add a note about binding channels to the same GPIO
Added a note about RX Channel and TX Channel initialization order when
bound RX and TX to the same gpio.

Closes https://github.com/espressif/esp-idf/issues/11768
2023-07-03 17:11:22 +08:00
Chen Ji Chang 01d70a8ff7 Merge branch 'feature/use_esp_rom_delay_us_to_test_the_accuracy_of_gptimer' into 'master'
gptimer: replace vTaskDelay with esp_rom_delay_us in test_apps

Closes IDF-7308

See merge request espressif/esp-idf!24419
2023-06-28 16:15:31 +08:00
Chen Jichang 001a16ea6e refactor(driver/gptimer): replace vTaskDelay
with esp_rom_delay_us in test_apps

This commit replaces vTaskDelay with esp_rom_delay_us in the gptimer
driver. The former function can introduce millisecond jitter due to
OS task switching, while the latter has less jitter because of the
polling delay. Therefore this commit reduces the delta values for
various timer tests.

Changes made in this commit include:
- Replacing vTaskDelay with esp_rom_delay_us
- Adjusting delta values for various timer tests
2023-06-28 11:50:26 +08:00
Chen Jichang 5150c578fd ledc:add option to put LEDC function into IRAM
The caches are disabled when reading/writing/erasing flash.
All CPUs should always execute code and access data from internal RAM.
Add an IRAM option to enhance the performance of LEDC.

Closes https://github.com/espressif/esp-idf/issues/11554
2023-06-14 18:12:01 +08:00
Chen Jichang 6c9cf5c352 driver:Trim the build components
Trim the build components to decrease the load of Gitlab server.
2023-06-13 14:24:44 +08:00
Chen Jichang 6abdc9b76e esp_adc:Trim the build components
If we don't trim the build components, the build system will import all
components which will increase the load of Gitlab server.

Closes IDF-7459
2023-06-09 16:46:40 +08:00