Commit Graph

251 Commits

Author SHA1 Message Date
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
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
Marius Vikhammer
0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +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
18295bb2f5 Merge branch 'bugfix/i80_pll240_esp32s3' into 'master'
lcd: support PLL240M as i80 clock source on esp32s3

See merge request espressif/esp-idf!22285
2023-02-14 12:27:57 +08:00
morris
c2c4fbff13 lcd: driver support for esp32h2 2023-02-11 00:30:48 +00:00
morris
78855a88c9 lcd: support PLL240M as i80 clock source on esp32s3 2023-02-11 00:30:20 +00:00
wanlei
5300bd3b2f spi: support H2 spi master, slave, slave_hd driver 2023-02-08 11:38:45 +08:00
laokaiyao
330149f3a6 i2c: support i2c on esp32h2 2023-02-01 11:23:11 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08: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
8c7e8f2811 doc: add api reference for controller lcd drivers 2022-12-06 11:12:28 +08:00
morris
18545e9abe lcd: support multi framebuffers for RGB LCD driver 2022-12-06 11:12:28 +08:00
Song Ruo Jing
7466ddfa8c ci: Make consistence between pytest_*.py and .build-test-rules.yml for esp32c6 (i.e. to pass check_test_scripts_build_test_rules.py) 2022-11-28 11:58:30 +08:00
Omar Chebib
cd21058097 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +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
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00
morris
c25031212d driver: test with non-isr freertos functions in the flash 2022-10-26 13:43:13 +08: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
morris
7d3c9e9f3e spi_lcd: allow dc gpio set to -1
Closes https://github.com/espressif/esp-idf/issues/9881
2022-10-10 16:31:28 +08:00
morris
3a5bc50c2f spi_lcd: support CS active high
Closes https://github.com/espressif/esp-idf/issues/9881
2022-10-10 16:31:28 +08:00
morris
05092e2f82 rgb_lcd: support restart dma transmission manually
When doing Flash operations (e.g. OTA), LCD's DMA bandwidth will be not
sufficient, causing the desync between the LCD controller and DMA.

Added a restart function to help the user to make them sync again.
2022-10-07 18:46:05 +08:00
Marius Vikhammer
8540e7a772 docs: fixed misc broken links 2022-09-18 15:03:39 +08:00
morris
8e2d307c52 lcd: fix wrong bpp size of rgb666 format
Closes https://github.com/espressif/esp-idf/issues/9729
2022-09-07 13:22:20 +08:00
morris
fc1aa2848b rgb_lcd: support yuv converter 2022-08-17 06:33:06 +00:00
morris
bc372f8f55 rgb_lcd: deprecate esp_lcd_color_space_t 2022-08-16 14:35:08 +08:00
morris
0d881fc9e0 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-15 14:46:56 +08:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
morris
104bd44377 kconfig: support plain comment in the menu 2022-08-03 17:03:54 +08:00
morris
8987164385 i2s: add test with -O0 2022-08-02 23:07:06 +08:00
zhouli
13770a2660 rgb_lcd: support mirror and swap axis 2022-08-01 03:05:19 +00:00
morris
454d658309 rgb_lcd: workaround pclk polarity bug by setting mo>=2 2022-07-21 13:06:09 +00:00
morris
a149afb0c0 rgb_lcd: support PLL240MHz clock source 2022-07-21 13:06:09 +00:00
laokaiyao
edee3ee3cd i2s: add slot sequence table
Closes: https://github.com/espressif/esp-idf/issues/9208

When I2S is configured into different modes, the slot sequence varies.
This commit updates slot sequence tables and corresponding descriptions
in (both code and programming guide).
2022-07-21 15:52:39 +08:00
Vilem Zavodny
7b3fe6d832 esp_lcd: Add RX into SPI lcd panel. 2022-07-20 07:07:33 +00:00
Vilem Zavodny
a7bd917c42 esp_lcd: Fix code style. 2022-07-20 07:07:33 +00:00
Slamy
256945997d fixed misaligned data transfer for ssd1306
(cherry picked from commit 46a2bf8ac9)
2022-07-20 07:07:33 +00:00
morris
3ece942704 rgb_lcd: don't test bounce buffer mode with iram-safe 2022-07-18 14:55:11 +08:00
Fu Hanxi
7b5a3af407 Merge branch 'feat/reorg_examples' into 'master'
feat: new find_build_apps rules with centralized manifest file

Closes IDFCI-1061, IDF-3553, IDFCI-941, IDFCI-1359, and IDFCI-1361

See merge request espressif/esp-idf!18299
2022-07-14 20:04:12 +08:00
morris
a33a183365 rgb_lcd: support double buffer
also cleaned up the bounce buffer code
2022-07-14 14:05:47 +08:00
morris
9ea3f6f3e7 rgb_lcd: support 8bit RGB (SRGB) interface 2022-07-14 14:05:47 +08:00
morris
ad35ed2e58 rgb_lcd: update unit test for more features
test 8bit RGB interface
test PCLK can be changed at runtime
test bounce buffer mode
adapted to the new LCD board
2022-07-14 14:05:47 +08:00
morris
4bccd3b635 rgb_lcd: rename relax_on_idle to refresh_on_demand 2022-07-14 14:05:47 +08:00
morris
1dab4af3e8 rgb_lcd: added API to manually refresh the LCD 2022-07-14 14:05:47 +08:00
morris
140536892d rgb_lcd: added API to get the frame buffer(s) 2022-07-14 14:05:47 +08:00
morris
226bd6bc2d rgb_lcd: add doc for various frame buffer modes 2022-07-14 14:05:47 +08:00
morris
ada0ba7717 rgb_lcd: unify the way to register event callbacks 2022-07-14 14:05:47 +08:00
Fu Hanxi
c0568611dd docs: changes docs supported targets tables 2022-07-14 08:26:32 +08:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
morris
489d14cf55 spi_lcd: don't support dc_as_cmd_phase
The current SPI hardware can't support 9bit SPI data format very well
(i.e. inserting an extra bit before each data byte)

Closes https://github.com/espressif/esp-idf/pull/8644
2022-06-28 17:11:31 +08:00
Jeroen Domburg
5f8666afb8 Add bounce buffer support to esp_lcd 2022-06-28 11:56:22 +08:00
Armando (Dou Yiwen)
0b80546f8e Merge branch 'feature/new_esp_psram_component' into 'master'
esp_psram: new esp psram component

Closes IDF-4318, IDF-4382, IDF-4841, and IDFGH-7192

See merge request espressif/esp-idf!18050
2022-06-15 19:16:56 +08:00
laokaiyao
28b8fc6a7e i2s: update documents for driver-NG 2022-06-15 10:30:04 +08:00
laokaiyao
0fe3bb8ab7 i2s: update examples and unit-tests 2022-06-15 10:29:06 +08:00
laokaiyao
621d0aa942 i2s: Introduced a brand new driver 2022-06-15 10:29:06 +08:00
Armando
38e5043ae8 esp_psram: new psram component 2022-06-14 15:44:27 +08:00
TDA2030
09c192c7f1 rgb_lcd: optimise rgb_panel_draw_bitmap
by using memcpy instead of coping in a nested for loop
2022-06-14 02:20:47 +00:00
morris
b2bb8fd3c4 rgb_lcd: support update pclk at runtime 2022-06-14 02:20:47 +00:00
morris
843279d287 rgb_lcd: support fractional clock divisor 2022-06-14 02:20:47 +00:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
morris
d274cd5601 lcd: simplify iram safe test case 2022-05-19 11:10:59 +08:00
Marius Vikhammer
c8617fe965 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
Vilem Zavodny
4a2766d906 esp_lcd: Add support for rx_param on I2C transport. 2022-05-09 11:49:57 +02:00
laokaiyao
b99ced08a2 i2s: fix only right case
Closes: https://github.com/espressif/esp-idf/issues/8538
2022-04-23 07:38:45 +00:00
morris
334bf89b0f lcd: spi lcd support transmit lsb first
Closes https://github.com/espressif/esp-idf/issues/8790
2022-04-21 13:59:47 +00:00
morris
de433105a2 lcd: don't turn on disp in init
Closes https://github.com/espressif/esp-idf/issues/8516
2022-04-21 13:59:47 +00:00
morris
f32a89826c clk_tree: added default clock source for peripheral 2022-04-14 15:44:56 +08:00
morris
cb5507f11c Merge branch 'feature/clk_tree_defs' into 'master'
clk_tree: prework of introducing clock subsystem control

Closes IDF-4892

See merge request espressif/esp-idf!17631
2022-04-13 10:36:56 +08:00
morris
bd3ded195a Merge branch 'feature/proper_way_register_testapp_component' into 'master'
Several driver improvements according to coverify scan report

See merge request espressif/esp-idf!17708
2022-04-11 21:04:14 +08:00
songruo
60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
morris
0a36cad9e0 driver: register test app component by WHOLE_ARCHIVE 2022-04-08 15:15:05 +08:00
Armando
c4bcf1117c esp_hw_support: move soc_memory_types.h helper functions into esp_hw_support 2022-04-08 11:46:10 +08:00
morris
fe13b2ed50 lcd: add rgb isr iram safe callback test 2022-03-24 21:23:01 +08:00
laokaiyao
f17edba20b i2s: extract std/pdm/tdm modes
Type structures of these modes are defined. Driver and HAL layer are modified to fit these concepts.
2022-03-22 10:14:45 +08:00
morris
98e19b3355 Merge branch 'contrib/github_pr_8496' into 'master'
SPI  LCD support large color transfers (GitHub PR)

Closes IDFGH-6874

See merge request espressif/esp-idf!17391
2022-03-14 22:22:00 +08:00
morris
3517ae6387 lcd: check return value of xQueueReceive
Fix warnnings reported by Coverity Scan Test
2022-03-14 14:00:40 +08:00
morris
a019db6880 lcd: delay 1us between DMA start and LCD start
Closes https://github.com/espressif/esp-idf/issues/8212
2022-03-14 14:00:40 +08:00
morris
7112009473 lcd: support rgb lcd interupt iram safe 2022-03-14 14:00:40 +08:00
morris
f06a13ad82 lcd: workaround auto next frame hardware bug
Closes https://github.com/espressif/esp-idf/issues/8381
2022-03-14 13:55:01 +08:00
morris
9422fe077a lcd: support I2S1 LCD mode on esp32 2022-03-14 13:55:01 +08:00
morris
f35edeb5a3 lcd: add debug log on/off Kconfig 2022-03-14 13:49:18 +08:00
morris
2c7cfdd784 spi: define tranfer max bit length in LL 2022-03-10 13:40:43 +08:00
Sudeep Mohanty
a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
rrforte
ffe19e0c8d Bugfix: LCD component support for large SPI color transfers 2022-03-03 22:43:12 -08:00
Omar Chebib
2571aaf3c9 G0: target component (components/esp32*) doesn't depend on driver anymore 2022-03-02 04:21:00 +00:00
morris
dbfde65515 lcd: refactor ut into test app 2022-02-14 18:43:50 +08:00
morris
84b750cbe8 Merge branch 'refactor/lcd_soc_ll_update_according_trm' into 'master'
lcd soc ll update according trm

See merge request espressif/esp-idf!16900
2022-02-12 08:13:34 +00:00
morris
2ab7d92785 lcd: improve LL driver according to TRM 2022-01-24 18:58:37 +08:00
morris
1938d7c006 log: skip unused tag string wanring in esp_check.h 2022-01-24 18:45:46 +08:00
morris
24e6fdf3c6 lcd: add i2c oled example with lvgl port 2022-01-21 11:21:38 +08:00
morris
821634b24e lcd: add rgb panel example 2022-01-20 22:09:23 +08:00
morris
0e15844706 lcd: alloc framebuffer in alignment 2022-01-20 22:06:02 +08:00
morris
8ea1c12d80 lcd: split gpio check for de and hv mode 2022-01-20 22:06:02 +08:00
morris
e51474ef70 build: fix unused tag string
Closes https://github.com/espressif/esp-idf/issues/8250
2022-01-18 10:06:08 +08:00
morris
a611b39254 lcd: update i80 lcd example to work with PSRAM 2022-01-14 11:35:34 +08:00
morris
070dc53e0b lcd: i80 bus can transfer PSRAM buffer
Closes https://github.com/espressif/esp-idf/issues/8085
2022-01-14 11:03:50 +08:00
morris
869bed1bb5 soc: don't expose unstable soc header files in public api 2022-01-06 23:10:22 +08:00
Kevin (Lao Kaiyao)
9bc274b47b Merge branch 'refactor/i2s_deprecate_confusing_names' into 'master'
i2s: deprecate confusing names

Closes IDF-4368

See merge request espressif/esp-idf!16088
2021-12-07 11:52:44 +00:00
morris
89e37837d0 lcd: rgb pclk idle default to low 2021-11-30 13:44:06 +08:00
laokaiyao
fa4e77eb44 i2s: deprecate confusing names 2021-11-24 13:21:13 +08:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
morris
e09e39c94f lcd: unify callback prototype 2021-10-02 14:23:31 +08:00
Tomas Rezucha
75f3d76e26 Always use half-duplex for SPI 2021-09-22 15:03:35 +02:00
Tomas Rezucha
5fa9f30c8b Set MADCTL register during initialization 2021-09-22 08:55:01 +02:00
Kevin (Lao Kaiyao)
a287f34f88 Merge branch 'bugfix/i2s_apll_fixed_clock' into 'master'
i2s: fix apll bug introduced in 'refactor/i2s_driver'

Closes IDFGH-5824

See merge request espressif/esp-idf!15109
2021-09-14 08:31:12 +00:00
laokaiyao
dfbe76e988 i2s: fix return value when failed to register i2s 2021-09-09 10:33:15 +08:00
morris
7dc9c7aa05 lcd: allow execlusive use of i80 bus 2021-09-08 11:34:46 +08:00
morris
02e470bc50 lcd: add pm lock 2021-09-08 11:34:46 +08:00
morris
a6661bdf90 lcd: spi-lcd send command and parameter with big-endian 2021-09-08 11:30:30 +08:00
laokaiyao
c5afd7ce34 i2s: fix write failure on ESP32 in 32bit slave mode 2021-09-03 17:36:44 +08:00
morris
71d475149d lcd: update doc unit test and example to support 8-line spi 2021-08-19 16:40:22 +08:00
bizhuangyang
8143832041 spi_master:support octal mode for esp32s2 and esp32s3
Add support for 8-line spi for lcd on esp32s2 and esp32s3

Closes https://github.com/espressif/esp-idf/issues/6371
2021-08-19 16:40:22 +08:00
morris
6fdc5877cd lcd: support i80 LCD on esp32/s2/s3 2021-08-10 21:06:59 +08:00
morris
dc1d14a37f lcd: support putting RGB frame buffer in PSRAM 2021-07-30 11:23:26 +08:00
morris
6352a7ee07 lcd_cam: new csv header file 2021-07-30 11:23:26 +08:00
SalimTerryLi
91a2074dd5
esp_lcd: one-time allcoated buffer for i2c_cmd_link_create_static & reduce duplicated code 2021-07-28 12:23:34 +08:00
Marius Vikhammer
fe921291d2 build system: fix cxx init_priority not working on S3 2021-07-14 10:56:24 +08:00
Marius Vikhammer
80acc1a002 CI: add S3 default_2 unit test config 2021-07-08 18:39:57 +08:00