Commit Graph

678 Commits

Author SHA1 Message Date
Ivan Grokhotkov
f824a827dc fix(sdmmc): move DMA descriptor refilling into the ISR
Previously, as DMA descriptors were processed, the task performing
SDMMC transfer would get woken up and would refill the descriptors.
This design didn't work correctly when higher priority tasks occupied
the CPU for too long, resulting in SDMMC transfer timing out.

This change moves DMA descriptor refilling into SDMMC ISR. Now the
"DMA done" interrupt is delivered back to task context only when
the entire transfer is completed.

Closes https://github.com/espressif/esp-idf/issues/13934
2025-03-12 13:06:57 +08:00
morris
67c6ae91ab Merge branch 'feat/allow_setting_rmt_group_prescale_v5.3' into 'release/v5.3'
refactor(rmt): set group clock prescale dynamically (v5.3)

See merge request espressif/esp-idf!36738
2025-02-26 17:03:16 +08:00
Chen Jichang
e98ded4e7b refactor(rmt): set group clock prescale dynamically
Closes https://github.com/espressif/esp-idf/issues/14760
2025-02-26 11:22:51 +08:00
wuzhenghui
1f6d8d4e5d fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management 2025-02-20 19:39:02 +08:00
morris
03a2fca29d Merge branch 'feature/flash_software_resume_v5.3' into 'release/v5.3'
feat(spi_flash): Add config for adding auto check status after suspend to improve performance (backport v5.3)

See merge request espressif/esp-idf!36526
2025-02-20 11:01:11 +08:00
Tomas Rezucha
56620eb23b fix(usb/host): Set SCHED_INFO for all channels
Although the hardware documentation suggests that SCHED_INFO is only used
for periodic channels, empirical evidence shows that omitting this configuration
on non-periodic channels can cause them to freeze.
Therefore, we set this field for all channels to ensure reliable operation.
2025-02-06 08:18:04 +01:00
Mahavir Jain
e1a023e13d Merge branch 'feat/support_aes_pseudo_round_func_in_esp32h2_eco5_v5.3' into 'release/v5.3'
Support AES and XTS-AES's pseudo round function in ESP32H2-ECO5 (v5.3)

See merge request espressif/esp-idf!36464
2025-01-24 14:40:00 +08:00
morris
8f20eac2df Merge branch 'feat/spi_std_timing_and_bit_trans_v5.3' into 'release/v5.3'
feat(driver_spi): support adjust master rx to standard timing (v5.3)

See merge request espressif/esp-idf!36400
2025-01-24 10:24:14 +08:00
harshal.patil
ac0dc0d775 feat(bootloader_support): Permanently enable XTS-AES pseudo rounds when FE release mode is enabled 2025-01-23 14:06:16 +05:30
C.S.M
4b86e6424b fix(spi_flash): Fix issue that bit_length is wrong on suspend chip because not judge idle correctly 2025-01-21 17:39:39 +08:00
C.S.M
d756e6d208 feat(spi_flash): Add config for adding auto check status after suspend to improve performance 2025-01-21 15:04:21 +08:00
Jiang Jiang Jian
4e0cb9a140 Merge branch 'fix/fix_p4_deepsleep_io_leakage_v5.3' into 'release/v5.3'
fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage (v5.3)

See merge request espressif/esp-idf!36009
2025-01-17 12:10:46 +08:00
Jiang Jiang Jian
86adcd99df Merge branch 'fix/fix_flash_clock_changed_after_sleep_bak_v5.3' into 'release/v5.3'
fix(esp_hw_support): fix mspi clock freq changed after lightsleep (v5.3)

See merge request espressif/esp-idf!36003
2025-01-17 12:03:30 +08:00
wanckl
e1cc1e2568 feat(driver_spi): support using SPI_DEVICE_STD_TIMING to adjust master rx in standard timing 2025-01-17 10:48:52 +08:00
Tomas Rezucha
47fd8aac23 feat(hal/usb): Explicitly enable clock and reset USB WRAP on init 2025-01-16 16:39:59 +08:00
Tomas Rezucha
875defd3b7 fix(usb/host): Fix reaction on High-Speed NYET packet
In Scatter-Gather DMA mode, the USB-DWC will automatically enable
PING protocol if an OUT packet is NACKed by the High-Speed device.
The PING bit must be manually reset.
2025-01-08 16:29:14 +08:00
wuzhenghui
d1475b5d72 fix(esp_hw_support): fix mspi clock freq changed after lightsleep 2024-12-26 19:26:44 +08:00
wuzhenghui
a18fe20e9b fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage 2024-12-26 16:05:14 +08:00
morris
a7781f3662 Merge branch 'feat/rgb_lcd_increase_pclk_v5.3' into 'release/v5.3'
feat(lcd): increase the upper limit of pclk frequency for RGB LCD (v5.3)

See merge request espressif/esp-idf!35929
2024-12-25 16:24:59 +08:00
morris
4d5d5defd5 feat(lcd): increase the upper limit of pclk frequency for RGB LCD 2024-12-24 22:47:52 +08:00
laokaiyao
fdc8275b37 fix(i2s): add check for the tdm frame bits num 2024-12-24 12:21:29 +08:00
Tomas Rezucha
177679b74e feat(hal/usb): Make USB-DWC HAL&LL configuration independent
Previously, we included symbols from soc/usb_dwc_cfg.h and configured
the HAL and LL according to it. Now we get the configuration in runtime
from USB-DWC registers.

Added missing definition for USB FS peripheral on ESP32-P4.
2024-11-22 17:32:22 +08:00
Tomas Rezucha
1d5a8f6952 feat(hal/usb): Add USB UTMI PHY HAL
* Add a bare-bones HAL API for the USB UTMI PHY
* Split USB-DWC LL per target
2024-11-22 17:32:22 +08:00
morris
bde65f22fc fix(gpio): improve set level performance
by avoid "read-modify-write" operation. The registers designed to be
write only.

Related to https://github.com/espressif/esp-idf/issues/14674
2024-11-14 14:35:49 +08:00
laokaiyao
e1e9ffdd4f fix(i2s): fix i2s half sample rate issue 2024-10-24 14:32:06 +08:00
Jiang Jiang Jian
70ee5fa536 Merge branch 'bugfix/fix_s3c3_wrong_ext32k_config_bug_v5.3' into 'release/v5.3'
fix(ext_32k): fix the external 32K issue on C3&S3 (v5.3)

See merge request espressif/esp-idf!33162
2024-10-14 10:20:40 +08:00
C.S.M
403bd86a21 fix(i2c): Fix the wrong return value of esp32,esp32s2,esp32s3 2024-09-12 11:21:10 +08:00
C.S.M
189db78bec fix(i2c): Fix possible error state in clear the bus,
Closes https://github.com/espressif/esp-idf/issues/13647
2024-09-12 11:21:08 +08:00
C.S.M
deb91c7abe fix(i2c_master): Fix an I2C issue that slave streth happen but master timeout set seems doesn't work
Closes https://github.com/espressif/esp-idf/issues/14129
Closes https://github.com/espressif/esp-idf/issues/14401
2024-09-12 11:20:46 +08:00
zlq
1f68af2720 fix(ext_32k): fix the external 32K issue on C3&S3 (v5.3) 2024-09-04 15:06:40 +08:00
morris
7e7f388392 change(wdt): create wdt_periph.c in soc component 2024-08-09 18:12:25 +08:00
Song Ruo Jing
8b8bb72ad4 feat(uart): support uart module sleep retention on c6/h2/p4 2024-07-31 15:15:11 +08:00
Jiang Jiang Jian
86bcea64b9 Merge branch 'feature/touch_driver_ng_on_p4_v5.3' into 'release/v5.3'
feat(touch_sensor): touch driver ng on p4 (v5.3)

See merge request espressif/esp-idf!31624
2024-07-26 11:42:27 +08:00
morris
25f78b3715 fix(rmt): power up memory block 2024-07-18 14:52:15 +08:00
laokaiyao
8a18ae60e0 feat(touch_sens): touch sensor driver-ng on P4 2024-07-13 15:47:20 +08:00
gaoxu
a326f15120 feat(adc): support ADC continuous mode on ESP32P4 2024-06-12 18:34:04 +08:00
gaoxu
e63d6582cc feat(adc): move adc periph enable/reset functions to ll layer 2024-06-12 18:16:45 +08:00
gaoxu
3f5037866b fix(dma): feat(adc): support ADC oneshot mod on ESP32P4 2024-06-12 18:16:41 +08:00
Michael (XIAO Xufeng)
dbf8726b47 Merge branch 'feat/esp32p4_xip_psram_v5.3' into 'release/v5.3'
psram: support xip_psram on esp32p4 (v5.3)

See merge request espressif/esp-idf!31044
2024-06-11 21:07:41 +08:00
morris
2f0c9b3584 feat(gdma): set burst size and return alignment constraint
burst size can affect the buffer alignment
2024-06-07 22:44:18 +08:00
Armando
48e06fafea feat(xip_psram): support xip psram feature on esp32p4 2024-05-29 10:02:44 +08:00
C.S.M
4dc565b7d0 feature(usb_serial_jtag): add usb serial jtag support for esp32p4 2024-05-13 12:19:14 +08:00
wuzhenghui
309725fcd0 feat(esp_hw_support): support esp32p4 clock output 2024-04-17 15:09:49 +08:00
wuzhenghui
101f1abbf1 refactor(esp_hw_support): add hal layer for clock output feature 2024-04-17 14:25:29 +08:00
Konstantin Kondrashov
06c28f0ee9 feat(hal): Adds hal funcs for cpu.c 2024-04-11 13:07:04 +03:00
morris
e8b6d2280d change(gptimer): use private unsafe RCC LL functions in bootloader 2024-04-08 17:48:20 +08:00
Darian Leung
023eae4f0b feat(hal/usb): Update USB WRAP and USJ LL, add missing ESP32-P4 LL
This commit updates updates the LLs of USB WRAP and USJ as follows:

- Added missing 'usb_wrap_ll.h' and 'usb_serial_jtag_ll.h' for the ESP32-P4
- Added LL cap macros to distinguish feature differences between the LLs of
  different targets:
    - '..._LL_EXT_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      routing to an external FSLS PHY.
    - '..._LL_SWAP_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      swapping between multiple internal FSLS PHYs.
- Tidied up some RCC LL functions and their callers.
- Added 'usb_wrap_types.h' and 'usb_serial_jtag_types.h' to provide types used
  in LLs.
- Fixed some spelling/naming issues as part of code-spell pre-commit
2024-04-04 02:47:00 +08:00
gaoxu
8e9b1501c0 fix(dma): fix s3 dma reg spell error 2024-04-02 14:30:14 +08:00
Armando
f0518b3c16 feat(dma): advanced dma malloc helper 2024-04-02 14:30:14 +08:00
morris
b4de983dbc feat(dedic_gpio): add reset and clock control functions 2024-03-29 10:41:17 +08:00