Commit Graph

180 Commits

Author SHA1 Message Date
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
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
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
morris
2bbdd35383 build: trim lcd apps build dependency 2023-10-13 14:58:15 +08:00
morris
b4bcb5cc5c test(esp_lcd): test lcd sleep function 2023-10-11 15:40:35 +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
wanlei
eb75aa462e feat(spi_master): p4 enable test and examples 2023-10-08 14:45:52 +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 (Dou Yiwen)
b58a2ea6a6 Merge branch 'feature/support_cache_p4' into 'master'
cache: support cache driver on esp32p4

Closes IDF-7516

See merge request espressif/esp-idf!25490
2023-09-25 15:21:46 +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
Chen Yu Dong
ac17132bb4 Merge branch 'ci/move_build_test_rules_files_folder' into 'master'
fix(ci): change build-test-rules files folder

See merge request espressif/esp-idf!26076
2023-09-22 11:28:48 +08:00
Liu Zhongwei
b4a173648a fix(nt35510_st7789): correct the word spelling 2023-09-21 09:19:18 +08:00
laokaiyao
dd4072a80c refactor(hal): use hal utils to calculate clock division 2023-09-20 23:33:25 +08:00
Chen Yudong
2e11919f70 fix(ci): change build-test-rules files folder 2023-09-20 19:17:06 +08:00
Darian Leung
287bdc5e61 fix(test_apps): Trim builds of component test apps
Some component test apps do not use the "set(COMPONENTS main)" command in their
project level "CMakeLists.txt", thus leading to their builds pulling in all
ESP-IDF components.

This commit trims the build of multiple component test apps:

- Add "set(COMPONENTS main ...)" to project level "CMakeLists.txt"
- Add missing "PRIV_REQUIRES" in some "main" component "CMakeLists.txt"

Also removed repeated configuraiton options in legacy_i2c_driver/sdkconfig.ci.defaults
as they are already specified in legacy_i2c_driver/sdkconfig.defaults
2023-09-18 17:16:37 +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
1d8668c31f feat(esp_lcd): add user data and init cmd 2023-09-02 11:47:39 +08:00
Armando (Dou Yiwen)
d4d6241db0 Merge branch 'feature/esp32p4_build_test' into 'master'
ci: enable ci build stage on esp32p4

Closes IDF-7524 and IDF-7525

See merge request espressif/esp-idf!25343
2023-08-25 13:35:20 +08:00
Liu Zhong Wei
20ebcf76fd esp_lcd: spi support quad mode 2023-08-25 12:43:20 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +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
b72df43a3f refactor(esp_lcd): control hal function placement in the esp_lcd component
because G1 component can't rely on G2 component, thus  we shouldn't use the esp_lcd's Kconfig in the hal's linker.lf
2023-07-05 22:54:01 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
morris
35d0835508 rgb_lcd: restart when dma eof interrupt is delayed 2023-06-19 13:22:46 +08:00
morris
771883395b esp_lcd: trim the build of test apps 2023-06-19 13:05:49 +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
ab2c7c48af spi_lcd: test spi lcd io can transfer color data to a fixed window region
also test the io tx_param and tx_color can skip the command phase
2023-04-12 16:56:47 +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
5d2e3c4ee1 lcd: test send color buffers in multiple steps 2023-04-11 16:02:25 +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