Skip to content

Commit d44b7e8

Browse files
Revert "fix spi names"
1 parent 02d351f commit d44b7e8

File tree

5 files changed

+60
-31
lines changed

5 files changed

+60
-31
lines changed

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,3 @@ dkms.conf
5656

5757
# ESP-IDF build dir
5858
build
59-
60-
# Kconfig files
61-
sdkconfig
62-
sdkconfig.old

lvgl_helpers.c

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -154,29 +154,52 @@ bool lvgl_spi_driver_init(int host,
154154
int dma_channel,
155155
int quadwp_pin, int quadhd_pin)
156156
{
157-
assert((0 <= host) && (SPI_HOST_MAX > host));
157+
int dma_chan = 0 /* SPI_DMA_DISABLED */;
158+
159+
#if defined (CONFIG_IDF_TARGET_ESP32)
160+
assert((SPI_HOST <= host) && (VSPI_HOST >= host));
161+
const char *spi_names[] = {
162+
"SPI_HOST", "HSPI_HOST", "VSPI_HOST"
163+
};
164+
165+
dma_chan = dma_channel;
166+
#elif defined (CONFIG_IDF_TARGET_ESP32S2)
167+
assert((SPI_HOST <= host) && (HSPI_HOST >= host));
168+
const char *spi_names[] = {
169+
"SPI_HOST", "", ""
170+
};
171+
172+
dma_chan = dma_channel;
173+
#elif defined (CONFIG_IDF_TARGET_ESP32C3)
174+
assert((SPI1_HOST <= host) && (SPI3_HOST >= host));
158175
const char *spi_names[] = {
159176
"SPI1_HOST", "SPI2_HOST", "SPI3_HOST"
160177
};
161178

162-
ESP_LOGI(TAG, "Configuring SPI host %s", spi_names[host]);
179+
dma_chan = 3 /* SPI_DMA_CH_AUTO */;
180+
#else
181+
#error "Target chip not selected"
182+
#endif
183+
184+
ESP_LOGI(TAG, "Configuring SPI host %s (%d)", spi_names[host], host);
163185
ESP_LOGI(TAG, "MISO pin: %d, MOSI pin: %d, SCLK pin: %d, IO2/WP pin: %d, IO3/HD pin: %d",
164186
miso_pin, mosi_pin, sclk_pin, quadwp_pin, quadhd_pin);
165187

166188
ESP_LOGI(TAG, "Max transfer size: %d (bytes)", max_transfer_sz);
167189

168190
spi_bus_config_t buscfg = {
169191
.miso_io_num = miso_pin,
170-
.mosi_io_num = mosi_pin,
171-
.sclk_io_num = sclk_pin,
172-
.quadwp_io_num = quadwp_pin,
173-
.quadhd_io_num = quadhd_pin,
192+
.mosi_io_num = mosi_pin,
193+
.sclk_io_num = sclk_pin,
194+
.quadwp_io_num = quadwp_pin,
195+
.quadhd_io_num = quadhd_pin,
174196
.max_transfer_sz = max_transfer_sz
175197
};
176198

177199
ESP_LOGI(TAG, "Initializing SPI bus...");
178-
esp_err_t ret = spi_bus_initialize(host, &buscfg, (spi_dma_chan_t)dma_channel);
200+
esp_err_t ret = spi_bus_initialize(host, &buscfg, dma_chan);
179201
assert(ret == ESP_OK);
180202

181203
return ESP_OK != ret;
182204
}
205+

lvgl_spi_conf.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ extern "C" {
6464

6565
#define ENABLE_TOUCH_INPUT CONFIG_LV_ENABLE_TOUCH
6666

67-
#if defined (CONFIG_LV_TFT_DISPLAY_SPI2_HOST)
67+
#if defined (CONFIG_LV_TFT_DISPLAY_SPI1_HOST)
68+
#define TFT_SPI_HOST SPI1_HOST
69+
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI2_HOST)
6870
#define TFT_SPI_HOST SPI2_HOST
6971
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI3_HOST)
7072
#define TFT_SPI_HOST SPI3_HOST
@@ -84,10 +86,12 @@ extern "C" {
8486
#define DISP_SPI_TRANS_MODE_SIO
8587
#endif
8688

87-
#if defined (CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST)
88-
#define TOUCH_SPI_HOST SPI2_HOST
89-
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST)
90-
#define TOUCH_SPI_HOST SPI3_HOST
89+
#if defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_HSPI)
90+
#define TOUCH_SPI_HOST HSPI_HOST
91+
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_VSPI)
92+
#define TOUCH_SPI_HOST VSPI_HOST
93+
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_FSPI)
94+
#define TOUCH_SPI_HOST FSPI_HOST
9195
#endif
9296

9397
/* Handle the FT81X Special case */
@@ -103,7 +107,7 @@ extern "C" {
103107
// Detect the use of a shared SPI Bus and verify the user specified the same SPI bus for both touch and tft
104108
#if defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI) && TP_SPI_MOSI == DISP_SPI_MOSI && TP_SPI_CLK == DISP_SPI_CLK
105109
#if TFT_SPI_HOST != TOUCH_SPI_HOST
106-
#error You must specify the same SPI host (SPIx_HOST) for both display and touch driver
110+
#error You must specify the same SPI host (HSPI, VSPI or FSPI) for both display and touch driver
107111
#endif
108112

109113
#define SHARED_SPI_BUS

lvgl_tft/Kconfig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,10 +469,13 @@ menu "LVGL TFT Display controller"
469469

470470
choice
471471
prompt "TFT SPI Bus." if LV_TFT_DISPLAY_PROTOCOL_SPI
472-
default LV_TFT_DISPLAY_SPI2_HOST
472+
default LV_TFT_DISPLAY_SPI3_HOST if LV_PREDEFINED_DISPLAY_TTGO && \
473+
!IDF_TARGET_ESP32S2
473474
help
474475
Select the SPI Bus the TFT Display is attached to.
475476

477+
config LV_TFT_DISPLAY_SPI1_HOST
478+
bool "SPI1_HOST"
476479
config LV_TFT_DISPLAY_SPI2_HOST
477480
bool "SPI2_HOST"
478481
config LV_TFT_DISPLAY_SPI3_HOST

lvgl_touch/Kconfig

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,17 @@ menu "LVGL Touch controller"
6767
prompt "Touch Controller SPI Bus."
6868
depends on LV_TOUCH_DRIVER_PROTOCOL_SPI
6969

70-
default LV_TOUCH_CONTROLLER_SPI2_HOST
70+
default LV_TOUCH_CONTROLLER_SPI_VSPI if !IDF_TARGET_ESP32S2
71+
default LV_TOUCH_CONTROLLER_SPI_FSPI if IDF_TARGET_ESP32S2
7172
help
72-
Select the SPI Bus the touch controller is attached to.
73-
74-
config LV_TOUCH_CONTROLLER_SPI2_HOST
75-
bool "SPI2_HOST"
76-
config LV_TOUCH_CONTROLLER_SPI3_HOST
77-
bool "SPI3_HOST"
73+
Select the SPI Bus the TFT Display is attached to.
74+
75+
config LV_TOUCH_CONTROLLER_SPI_HSPI
76+
bool "HSPI"
77+
config LV_TOUCH_CONTROLLER_SPI_VSPI
78+
bool "VSPI" if !IDF_TARGET_ESP32S2
79+
config LV_TOUCH_CONTROLLER_SPI_FSPI
80+
bool "FSPI" if IDF_TARGET_ESP32S2
7881
endchoice
7982

8083
menu "Touchpanel (XPT2046) Pin Assignments"
@@ -83,7 +86,7 @@ menu "LVGL Touch controller"
8386
config LV_TOUCH_SPI_MISO
8487
int
8588
prompt "GPIO for MISO (Master In Slave Out)"
86-
89+
8790
default 35 if LV_PREDEFINED_PINS_38V1
8891
default 19
8992
help
@@ -100,7 +103,7 @@ menu "LVGL Touch controller"
100103

101104
config LV_TOUCH_SPI_CLK
102105
int "GPIO for CLK (SCK / Serial Clock)"
103-
106+
104107
default 26 if LV_PREDEFINED_PINS_38V1
105108
default 18
106109
help
@@ -116,7 +119,7 @@ menu "LVGL Touch controller"
116119

117120
config LV_TOUCH_PIN_IRQ
118121
int "GPIO for IRQ (Interrupt Request)"
119-
122+
120123
default 27 if LV_PREDEFINED_PINS_38V4
121124
default 25
122125
help
@@ -213,7 +216,7 @@ menu "LVGL Touch controller"
213216
config LV_TOUCH_SPI_MISO
214217
int
215218
prompt "GPIO for MISO (Master In Slave Out)"
216-
219+
217220
default 35 if LV_PREDEFINED_PINS_38V1
218221
default 19 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING
219222
default 19
@@ -469,14 +472,14 @@ menu "LVGL Touch controller"
469472
config LV_I2C_TOUCH_PORT_0
470473
bool
471474
prompt "I2C port 0"
472-
help
475+
help
473476
I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu
474477
Component config->I2C Port Settings.
475478

476479
config LV_I2C_TOUCH_PORT_1
477480
bool
478481
prompt "I2C port 1"
479-
help
482+
help
480483
I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu
481484
Component config->I2C Port Settings.
482485

0 commit comments

Comments
 (0)