Commit Graph

123 Commits

Author SHA1 Message Date
Markus Ebner
05ff8169f7 fix(esp_lcd): Flush rgb lcd PSRAM framebuffers after allocation
Flush PSRAM framebuffers after allocation to avoid visual corruption.

Merges https://github.com/espressif/esp-idf/pull/13294
Closes https://github.com/espressif/esp-idf/issues/13293
2024-03-04 15:55:04 +08:00
morris
715df99f8c Merge branch 'contrib/github_pr_12908_v5.2' into 'release/v5.2'
spi_lcd: add flag to control the DC level in cmd/param/data phase separately (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28240
2024-02-18 10:53:28 +08:00
morris
5c30cc24fd fix(rgb_lcd): relax the check for the data line GPIO
There are a bunch of cases you might want some pins not exposed.

Eg.

  * Reading say 8 bit data and outputting the top 5 bits, discarding the rest by not mapping those data pins to output pins

 * Not using hsync/vsync because sync data is embedded within the data bits for more timing flexibility (eg. interlacing).

 * Using the LCD module as a high speed parallel data output bus, with no need for sync/control pins.

Removing this validation makes these cases work.

Merges https://github.com/espressif/esp-idf/pull/13103
2024-02-06 10:31:33 +08:00
Brian Whitman
ab8ab03537 fix(rgb_lcd): don't assume 16 bit width on panels for restart logic
Merges https://github.com/espressif/esp-idf/pull/13020
2024-01-31 18:52:27 +08:00
Kit Sczudlo
65bc495632 feat(spi_lcd): control DC level for cmd, param, color phase separately
Closes https://github.com/espressif/esp-idf/issues/10635
Merges https://github.com/espressif/esp-idf/pull/12908
2024-01-03 17:24:47 +08:00
morris
1f79b5045d fix(i80_lcd): enhance the check of a valid data phase
in case the user passes a (uint8_t){0x00} parameter with the perameter size
set to zero
2023-11-28 09:57:02 +08:00
morris
b2972528c7 feat(nt35510): Implement sleep function 2023-10-11 15:32:34 +08:00
Andrea Greco
cbf2414226 feat(st7789): Implement sleep functions
Merges https://github.com/espressif/esp-idf/pull/12370
2023-10-11 15:30:07 +08:00
Andrea Greco
3bd67462f0 feat(esp_lcd): Add API to sleep and wakeup the LCD panel 2023-10-11 15:08:26 +08:00
morris
1b2484214c refactor(esp_lcd): reformat code with astyle_py 2023-09-28 09:42:31 +08:00
Liu Zhong Wei
1956196170 Merge branch 'feature/esp_lcd_example_use_lvgl_lock' into 'master'
feat(esp_lcd): add lock for lvgl in examples

Closes AEG-859

See merge request espressif/esp-idf!25733
2023-09-26 10:23:29 +08:00
Armando
ec27891af6 change(cache): swap cache hal arg 'type' and 'level' 2023-09-22 14:19:41 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
Liu Zhongwei
b4a173648a fix(nt35510_st7789): correct the word spelling 2023-09-21 09:19:18 +08:00
morris
94d39009b4 Merge branch 'feature/esplcd_replace_periph_func_with_atomic' into 'master'
feat(esp_lcd): Replace `periph_module` function call with new ll func

Closes IDF-8167

See merge request espressif/esp-idf!25717
2023-09-07 01:59:04 +08:00
Planck (Lu Zeyu)
86d4f9993f feat(esp_lcd): replace periph_module func with new ll func
Update periph_ctrl.h
2023-09-06 14:42:01 +08:00
Planck (Lu Zeyu)
6f55f76344 feat(st7789): add data endian config
Closes https://github.com/espressif/esp-idf/issues/11416
2023-09-05 12:11:19 +08:00
Liu Zhong Wei
20ebcf76fd esp_lcd: spi support quad mode 2023-08-25 12:43:20 +08:00
Cao Sen Miao
b6cbeeae01 feat(lcd): Add new version LCD implementation to adapt new I2C APIs 2023-08-10 11:55:54 +08:00
morris
aacd7d84d9 fix(i80_lcd): reset cs gpio on exit 2023-08-07 03:15:21 +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
84a680b057 Merge branch 'origin/feature/esp_lcd_panel_init_result_check' into 'master'
fix(esp_lcd): Check the result of each esp_lcd_panel_io_tx_param/esp_lcd_panel_io_tx_color call

Closes IDFGH-10494

See merge request espressif/esp-idf!24604
2023-07-13 15:40:54 +08:00
Planck (Lu Zeyu)
c190beb4d9 bugfix(esp_lcd): propagate the errors in the IO link layer
Closes https://github.com/espressif/esp-idf/issues/11741
Check the result of each esp_lcd_panel_io_tx_param/esp_lcd_panel_io_tx_color call
Add runner and modify test rules
Update .build-test-rules.yml
2023-07-13 10:23:05 +08:00
Armando
ea05ae6af2 feat(esp32p4): added hal support 2023-07-10 16:11:47 +08:00
morris
35d0835508 rgb_lcd: restart when dma eof interrupt is delayed 2023-06-19 13:22:46 +08:00
morris
cda847b3a7 rgb_lcd: support pixel copy for 8bpp
Closes https://github.com/espressif/esp-idf/issues/11581
2023-06-05 15:34:40 +08:00
morris
5ba53c9294 rgb_lcd: make pclk gpio setting optional
PCLK may not be necessary in VGA use case.
Closes https://github.com/espressif/esp-idf/issues/11298
2023-05-08 14:55:26 +08:00
Armando
0e72940001 spi: added an API to get max transaction length and use in spi lcd driver 2023-05-04 11:37:23 +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
2a5ee5c3e2 Merge branch 'bugfix/spi_lcd_max_trans_size' into 'master'
spi_lcd: maximum transfer size should respect bus configuration

Closes IDF-6901 and IDF-4829

See merge request espressif/esp-idf!23149
2023-04-17 16:13:57 +08:00
morris
640ec57014 spi_lcd: maximum transfer size should respect bus configuration
Also this commit added the SPI_TRANS_CS_KEEP_ACTIVE flag for io_tx_color
2023-04-12 16:55:09 +08:00
morris
a5518cea2c i80_lcd: align before cache sync 2023-04-11 16:02:25 +08:00
morris
e73d8166aa i80_lcd: support skip command phase
Closes https://github.com/espressif/esp-idf/issues/10794
2023-04-04 08:31:41 +00:00
morris
bcbe8fec39 Merge branch 'bugfix/lcd_edma_buffer_align_check' into 'master'
esp_lcd: propagate the error on cache sync failure

Closes IDF-6955

See merge request espressif/esp-idf!23022
2023-04-03 17:49:43 +08:00
morris
126a1b2631 Merge branch 'bugfix/lcd_spi_acquire_bus' into 'master'
spi_lcd: don't release bus if acquire failed

Closes IDFGH-9604

See merge request espressif/esp-idf!22990
2023-04-03 13:13:56 +08:00
morris
1fed9badf1 esp_lcd: check edma buffer alignment properly 2023-03-31 19:06:33 +08:00
morris
81b16b7852 spi_lcd: don't release bus if acquire failed
Closes https://github.com/espressif/esp-idf/issues/10952
2023-03-30 11:48:42 +08:00
laokaiyao
c1f51dfdf6 lcd_i2c: reduce recommended link size
Closes: https://github.com/espressif/esp-idf/issues/11015
2023-03-29 19:08:44 +08:00
Armando
fda9746bb8 esp_mm: cache_msync API 2023-02-28 10:42:22 +08:00
morris
0a25c48d89 rmt: fix rmt buffer allocation issue 2023-02-14 14:05:12 +08:00
morris
78855a88c9 lcd: support PLL240M as i80 clock source on esp32s3 2023-02-11 00:30:20 +00:00
morris
15e98dc7d3 doc: recommend turn on psram xip feature for bounbe buffer mode 2022-12-16 02:04:59 +00:00
Liu Zhongwei
4fac26e0a9 rgb_lcd: support multi-fb with bounce buffer 2022-12-16 02:04:59 +00:00
Vilem Zavodny
8631e4544b lcd: Support rotation SSD1306 and changed example for using LVGL port component. 2022-12-07 09:04:17 +01:00
morris
18545e9abe lcd: support multi framebuffers for RGB LCD driver 2022-12-06 11:12:28 +08:00
Liu Zhongwei
1a7cdc095b esp_lcd: add condition for spi to keep cs low 2022-11-14 17:55:27 +08:00
Liu Zhongwei
4bdba8bdc6 esp_lcd: modify flag name 2022-11-14 17:29:24 +08:00
Liu Zhongwei
48ce2037be esp_lcd: support serial interface-I mode for spi LCD 2022-11-14 16:33:36 +08:00
Vilem Zavodny
747c5993a8 esp_lcd: Add function for register on color done callback. 2022-11-10 08:37:46 +01:00
morris
d9bd809d61 spi_lcd: panel_io_spi_tx_color without cmd
Closes https://github.com/espressif/esp-idf/issues/9881
2022-10-10 16:31:28 +08:00