Commit Graph

433 Commits

Author SHA1 Message Date
armando
6e3abd12a1 refactor(spi_flash): move os layer to esp_mspi and chip configs to spi_flash
Also fixes the implicit dependency on esp_partition.
2026-09-09 14:17:00 +08:00
morris
f5afb99e3b fix(gdma): treat burst size 0 and 1 as burst disabled
The GDMA layer used `max_data_burst_size == 0` as the only way to disable the
data burst. That conflicts with the upstream drivers' convention where a zeroed
config struct means "unset", so users had no way to ask for the driver default
burst size.

GDMA now treats both 0 and 1 as "no data burst": a single-beat burst has no
benefit over the non-burst mode. The MSPI alignment constraint under Flash
Encryption / PSRAM ECC still takes precedence and is reported with a warning.

The upstream drivers using GDMA now apply their own default burst size (16
bytes) when the user leaves `dma_burst_size` as 0, following the UHCI driver:

- esp_async_crc (AHB / AXI GDMA backend)
- esp_async_memcpy (AHB / AXI / LP-AHB / DW_GDMA backend)

Callers that really want no burst can now set `dma_burst_size` to 1.
2026-09-08 23:29:14 +08:00
morris
85c826ecb1 Merge branch 'contrib/github_pr_19038' into 'master'
fix(esp_lcd): yield from SPI ISR when color trans done callback wakes a task (GitHub PR)

Closes IDFGH-18223

See merge request espressif/esp-idf!52372
2026-09-03 20:06:17 +08:00
morris
0b8dde2d06 feat(uhci): add flash encryption test on encrypted runners 2026-09-02 17:40:50 +08:00
morris
77c1190d52 Merge branch 'feat/add_timeout_return_for_dsi_panel' into 'master'
feat(dsi): add timeout check for lp cmd rx

See merge request espressif/esp-idf!50439
2026-09-02 10:44:04 +08:00
YoungsunLi
1a2b8e58f3 fix(esp_lcd): yield from SPI ISR when color trans done callback wakes a task
The return value of on_color_trans_done ("whether a high priority task
has been waken up by this function", see esp_lcd_types.h) was discarded
by the SPI backend. A task unblocked from inside the callback (e.g. via
xSemaphoreGiveFromISR) therefore did not get scheduled until the next
FreeRTOS tick, adding up to 10 ms of latency per color transfer with the
default CONFIG_FREERTOS_HZ=100. The i80 backend already honors the
contract (need_yield -> portYIELD_FROM_ISR); do the same here.
2026-09-01 19:33:03 +08:00
morris
fe465ae1fe Merge branch 'fix/psram-ecc-mspi-dma-align' into 'master'
fix(mspi): handle PSRAM ECC DMA alignment across MSPI users

Closes IDF-15850, IDF-15910, and IDF-15700

See merge request espressif/esp-idf!49987
2026-08-20 11:51:46 +08:00
morris
cef40397d9 fix(rgb_lcd): pass output color format in tests 2026-08-20 10:06:21 +08:00
morris
09a65392d4 Merge branch 'feat/support_rgb888_to_rgb565' into 'master'
feat(rgb_lcd): support convert rgb2rgb

Closes IDF-14142

See merge request espressif/esp-idf!49359
2026-08-19 18:13:53 +08:00
Chen Jichang
9c06cfcbcf feat(dsi): add timeout check for lp cmd rx 2026-08-18 09:25:43 +08:00
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
df71a43db5 feat(rgb_lcd): support convert rgb2rgb 2026-08-13 17:27:43 +08:00
Chen Jichang
7d6164515c refactor(lcd): add async dma2d copy wrapper 2026-08-13 14:29:43 +08:00
Chen Jichang
e3144ebd08 fix(dma2d): improve async color convert performance 2026-08-13 14:29:43 +08:00
Chen Jichang
f2cf926e0a feat(rgb_lcd): support draw bitmap hook 2026-08-13 14:29:43 +08:00
Chen Jichang
33fb0f6daf fix(lcdcam): remove sleep retention pd management 2026-08-13 14:29:43 +08:00
morris
eec76a070e feat(esp_driver_dma): add dw_gdma backend for async_memcpy 2026-08-10 16:16:53 +08:00
morris
74d9e99d91 refactor(lcdcam): move shared core clock setup to drivers
Configure the shared LCDCAM core clock through guarded LCD and CAM LL APIs,
and unify LCD functional clock LL calls around group IDs across supported targets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 18:40:04 +08:00
Wu Zheng Hui
aac7f7ea47 Merge branch 'feat/support_esp32s31_clock_tree_management' into 'master'
feat: support esp32s31 clock tree management

Closes PM-630

See merge request espressif/esp-idf!48934
2026-07-24 20:11:45 +08:00
Chen Ji Chang
5abb8ab351 Merge branch 'test/enable_c61_h4_flash_enc_test' into 'master'
test(flash_enc): enable c61 and h4 flash_enc test

Closes IDF-15964

See merge request espressif/esp-idf!50872
2026-07-23 16:51:51 +08:00
wuzhenghui
7c75525edd fix(driver): fix drivers clock management 2026-07-22 16:32:12 +08:00
Chen Jichang
9a196c8416 remove(lcd): remove restart support for p4 and s31 2026-07-20 13:19:09 +08:00
Chen Jichang
6322016c9d test(flash_enc): enable c61 and h4 flash_enc test 2026-07-17 16:06:34 +08:00
morris
ea07001c2c Merge branch 'test/peripheral_drivers_on_real_encryption_runner' into 'master'
test(drivers): run flash encryption apps on real hardware

Closes IDFCI-10377

See merge request espressif/esp-idf!50510
2026-07-13 17:08:43 +08:00
morris
08346e011a test(drivers): run flash encryption apps on real hardware
Replace the virtual efuse flash-encryption flow in parlio, rmt, and lcd
test apps with real-device flash_enc configs so CI can validate the same
path used on encryption runners.
2026-07-13 14:33:47 +08:00
morris
ab70690fff refactor(lcd): move sleep retention config into driver layer
Move LCD I80 retention descriptors and related comments out of
esp_hal_lcd and into esp_lcd so the backup policy stays with the driver
implementation.
2026-07-10 10:05:01 +08:00
morris
6b29697fc8 Merge branch 'fix/fix_i2s_i80_color_size_check' into 'master'
fix(lcd): add color size check for i80 and boundary check for rgb

Closes SEC-1141 and SEC-1150

See merge request espressif/esp-idf!50201
2026-07-09 15:16:01 +08:00
Chen Jichang
734f88b07c fix(lcd): add color size check for i80 and boundary check for rgb 2026-07-06 14:50:53 +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
morris
624a21f359 feat(dma2d): support RGB24 and BGR24 scramble conversion
Add async color convert coverage for direct RGB24/BGR24 byte-order swaps
and
thread both TX and RX CSC state through DMA2D transactions for future
extensibility.
2026-06-28 17:07:18 +08:00
Alexey Lapshin
e389f3e4df Merge branch 'feature/upgrade_toolchain_to_16.1.0_20260609' into 'master'
Upgrade GNU toolchain to 16.1.0_20260609

See merge request espressif/esp-idf!49523
2026-06-18 00:55:07 +04:00
morris
7cbe3c6e0f feat(mipi_dsi): replace the fbcopy driver by the async color conver driver 2026-06-16 15:01:23 +08:00
Alexey Lapshin
406bd2393e fix(ci): suppress GNU static analyzer warnings 2026-06-15 18:53:21 +07:00
Chen Jichang
8319196c64 fix(rgb_lcd): fix gdma link switch not take effect 2026-06-10 15:13:14 +08:00
Chen Jichang
f8ff130959 feat(lcd): support buffer switch interrupt 2026-06-01 15:19:19 +08:00
morris
6b711f91f5 fix(esp_lcd): balance clock source references on teardown
Track enabled clock sources in DSI/DPI/i80 drivers and disable them in
delete/error cleanup paths so esp_clk_tree source refcounts stay
balanced.
2026-05-22 18:43:02 +08:00
cjin
03686080ac fix(btbb): add sleep retention attach/detach at btbb enable/disable 2026-05-21 11:46:16 +08:00
Chen Ji Chang
43b397eb9e Merge branch 'feat/support_parlio_on_s31' into 'master'
feat(parlio): support parlio on s31

Closes IDF-14711, IDF-14712, IDF-14713, and IDF-15645

See merge request espressif/esp-idf!48028
2026-05-19 10:40:45 +08:00
Chen Chen
14c3147fd0 Merge branch 'feat/lcd_i2c_use_configurable_timeout' into 'master'
feat(lcd): add configurable timeout for lcd i2c panel

Closes IDFGH-17618 and IDFGH-17619

See merge request espressif/esp-idf!48426
2026-05-19 10:34:39 +08:00
Chen Jichang
58e6cad8cd fix(dma2d): fix dma2d async memcpy msync 2026-05-18 15:42:57 +08:00
Chen Chen
0ceada9d0a feat(lcd): add configurable timeout for lcd i2c panel
Closes https://github.com/espressif/esp-idf/issues/18542
Closes https://github.com/espressif/esp-idf/pull/18543
2026-05-18 10:34:12 +08:00
Chen Jichang
78e47e3ebf feat(parlio): support parlio on s31 2026-05-15 16:53:17 +08:00
Chen Ji Chang
3333b9b17c Merge branch 'feat/enable_h4_ci_target_test' into 'master'
ci(esp32h4): enable ci target test

Closes IDF-12328 and IDF-13766

See merge request espressif/esp-idf!47350
2026-05-12 11:23:28 +08:00
wanckl
2521f3887a fix(esp_hw_support): fixed spi buslock multi dev acq/release logic issue 2026-05-11 19:36:40 +08:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Chen Jichang
645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08:00
wuzhenghui
d3c5129050 fix(driver): fix retention unsupported mouldes TOP pd test 2026-05-07 12:02:05 +08:00
Chen Chen
3b2f30ec35 fix(lcd): lower the APLL test frequency to pass the test 2026-04-22 09:31:12 +08:00
Chen Ji Chang
7ed6c83eb5 Merge branch 'feat/support_lcd_on_s31' into 'master'
feat(lcd): support rgb and i80 lcd on s31

Closes IDF-14750, IDF-14751, IDF-14753, and IDF-14754

See merge request espressif/esp-idf!47312
2026-04-22 00:40:26 +08:00