fix spi names

This commit is contained in:
Tomas Rezucha 2021-12-16 13:36:23 +01:00
parent 4afc03a9fa
commit 22ba4161b5
5 changed files with 30 additions and 59 deletions

4
.gitignore vendored
View file

@ -56,3 +56,7 @@ dkms.conf
# ESP-IDF build dir # ESP-IDF build dir
build build
# Kconfig files
sdkconfig
sdkconfig.old

View file

@ -154,34 +154,12 @@ bool lvgl_spi_driver_init(int host,
int dma_channel, int dma_channel,
int quadwp_pin, int quadhd_pin) int quadwp_pin, int quadhd_pin)
{ {
int dma_chan = 0 /* SPI_DMA_DISABLED */; assert((0 <= host) && (SPI_HOST_MAX > host));
#if defined (CONFIG_IDF_TARGET_ESP32)
assert((SPI_HOST <= host) && (VSPI_HOST >= host));
const char *spi_names[] = {
"SPI_HOST", "HSPI_HOST", "VSPI_HOST"
};
dma_chan = dma_channel;
#elif defined (CONFIG_IDF_TARGET_ESP32S2)
assert((SPI_HOST <= host) && (HSPI_HOST >= host));
const char *spi_names[] = {
"SPI_HOST", "", ""
};
dma_chan = dma_channel;
#elif defined (CONFIG_IDF_TARGET_ESP32C3)
assert((SPI1_HOST <= host) && (SPI3_HOST >= host));
const char *spi_names[] = { const char *spi_names[] = {
"SPI1_HOST", "SPI2_HOST", "SPI3_HOST" "SPI1_HOST", "SPI2_HOST", "SPI3_HOST"
}; };
dma_chan = 3 /* SPI_DMA_CH_AUTO */; ESP_LOGI(TAG, "Configuring SPI host %s", spi_names[host]);
#else
#error "Target chip not selected"
#endif
ESP_LOGI(TAG, "Configuring SPI host %s (%d)", spi_names[host], host);
ESP_LOGI(TAG, "MISO pin: %d, MOSI pin: %d, SCLK pin: %d, IO2/WP pin: %d, IO3/HD pin: %d", ESP_LOGI(TAG, "MISO pin: %d, MOSI pin: %d, SCLK pin: %d, IO2/WP pin: %d, IO3/HD pin: %d",
miso_pin, mosi_pin, sclk_pin, quadwp_pin, quadhd_pin); miso_pin, mosi_pin, sclk_pin, quadwp_pin, quadhd_pin);
@ -189,17 +167,16 @@ bool lvgl_spi_driver_init(int host,
spi_bus_config_t buscfg = { spi_bus_config_t buscfg = {
.miso_io_num = miso_pin, .miso_io_num = miso_pin,
.mosi_io_num = mosi_pin, .mosi_io_num = mosi_pin,
.sclk_io_num = sclk_pin, .sclk_io_num = sclk_pin,
.quadwp_io_num = quadwp_pin, .quadwp_io_num = quadwp_pin,
.quadhd_io_num = quadhd_pin, .quadhd_io_num = quadhd_pin,
.max_transfer_sz = max_transfer_sz .max_transfer_sz = max_transfer_sz
}; };
ESP_LOGI(TAG, "Initializing SPI bus..."); ESP_LOGI(TAG, "Initializing SPI bus...");
esp_err_t ret = spi_bus_initialize(host, &buscfg, dma_chan); esp_err_t ret = spi_bus_initialize(host, &buscfg, (spi_dma_chan_t)dma_channel);
assert(ret == ESP_OK); assert(ret == ESP_OK);
return ESP_OK != ret; return ESP_OK != ret;
} }

View file

@ -64,9 +64,7 @@ extern "C" {
#define ENABLE_TOUCH_INPUT CONFIG_LV_ENABLE_TOUCH #define ENABLE_TOUCH_INPUT CONFIG_LV_ENABLE_TOUCH
#if defined (CONFIG_LV_TFT_DISPLAY_SPI1_HOST) #if defined (CONFIG_LV_TFT_DISPLAY_SPI2_HOST)
#define TFT_SPI_HOST SPI1_HOST
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI2_HOST)
#define TFT_SPI_HOST SPI2_HOST #define TFT_SPI_HOST SPI2_HOST
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI3_HOST) #elif defined (CONFIG_LV_TFT_DISPLAY_SPI3_HOST)
#define TFT_SPI_HOST SPI3_HOST #define TFT_SPI_HOST SPI3_HOST
@ -86,12 +84,10 @@ extern "C" {
#define DISP_SPI_TRANS_MODE_SIO #define DISP_SPI_TRANS_MODE_SIO
#endif #endif
#if defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_HSPI) #if defined (CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST)
#define TOUCH_SPI_HOST HSPI_HOST #define TOUCH_SPI_HOST SPI2_HOST
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_VSPI) #elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST)
#define TOUCH_SPI_HOST VSPI_HOST #define TOUCH_SPI_HOST SPI3_HOST
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_FSPI)
#define TOUCH_SPI_HOST FSPI_HOST
#endif #endif
/* Handle the FT81X Special case */ /* Handle the FT81X Special case */
@ -107,7 +103,7 @@ extern "C" {
// Detect the use of a shared SPI Bus and verify the user specified the same SPI bus for both touch and tft // Detect the use of a shared SPI Bus and verify the user specified the same SPI bus for both touch and tft
#if defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI) && TP_SPI_MOSI == DISP_SPI_MOSI && TP_SPI_CLK == DISP_SPI_CLK #if defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI) && TP_SPI_MOSI == DISP_SPI_MOSI && TP_SPI_CLK == DISP_SPI_CLK
#if TFT_SPI_HOST != TOUCH_SPI_HOST #if TFT_SPI_HOST != TOUCH_SPI_HOST
#error You must specify the same SPI host (HSPI, VSPI or FSPI) for both display and touch driver #error You must specify the same SPI host (SPIx_HOST) for both display and touch driver
#endif #endif
#define SHARED_SPI_BUS #define SHARED_SPI_BUS

View file

@ -469,13 +469,10 @@ menu "LVGL TFT Display controller"
choice choice
prompt "TFT SPI Bus." if LV_TFT_DISPLAY_PROTOCOL_SPI prompt "TFT SPI Bus." if LV_TFT_DISPLAY_PROTOCOL_SPI
default LV_TFT_DISPLAY_SPI3_HOST if LV_PREDEFINED_DISPLAY_TTGO && \ default LV_TFT_DISPLAY_SPI2_HOST
!IDF_TARGET_ESP32S2
help help
Select the SPI Bus the TFT Display is attached to. Select the SPI Bus the TFT Display is attached to.
config LV_TFT_DISPLAY_SPI1_HOST
bool "SPI1_HOST"
config LV_TFT_DISPLAY_SPI2_HOST config LV_TFT_DISPLAY_SPI2_HOST
bool "SPI2_HOST" bool "SPI2_HOST"
config LV_TFT_DISPLAY_SPI3_HOST config LV_TFT_DISPLAY_SPI3_HOST

View file

@ -67,17 +67,14 @@ menu "LVGL Touch controller"
prompt "Touch Controller SPI Bus." prompt "Touch Controller SPI Bus."
depends on LV_TOUCH_DRIVER_PROTOCOL_SPI depends on LV_TOUCH_DRIVER_PROTOCOL_SPI
default LV_TOUCH_CONTROLLER_SPI_VSPI if !IDF_TARGET_ESP32S2 default LV_TOUCH_CONTROLLER_SPI2_HOST
default LV_TOUCH_CONTROLLER_SPI_FSPI if IDF_TARGET_ESP32S2
help help
Select the SPI Bus the TFT Display is attached to. Select the SPI Bus the touch controller is attached to.
config LV_TOUCH_CONTROLLER_SPI_HSPI config LV_TOUCH_CONTROLLER_SPI2_HOST
bool "HSPI" bool "SPI2_HOST"
config LV_TOUCH_CONTROLLER_SPI_VSPI config LV_TOUCH_CONTROLLER_SPI3_HOST
bool "VSPI" if !IDF_TARGET_ESP32S2 bool "SPI3_HOST"
config LV_TOUCH_CONTROLLER_SPI_FSPI
bool "FSPI" if IDF_TARGET_ESP32S2
endchoice endchoice
menu "Touchpanel (XPT2046) Pin Assignments" menu "Touchpanel (XPT2046) Pin Assignments"
@ -86,7 +83,7 @@ menu "LVGL Touch controller"
config LV_TOUCH_SPI_MISO config LV_TOUCH_SPI_MISO
int int
prompt "GPIO for MISO (Master In Slave Out)" prompt "GPIO for MISO (Master In Slave Out)"
default 35 if LV_PREDEFINED_PINS_38V1 default 35 if LV_PREDEFINED_PINS_38V1
default 19 default 19
help help
@ -103,7 +100,7 @@ menu "LVGL Touch controller"
config LV_TOUCH_SPI_CLK config LV_TOUCH_SPI_CLK
int "GPIO for CLK (SCK / Serial Clock)" int "GPIO for CLK (SCK / Serial Clock)"
default 26 if LV_PREDEFINED_PINS_38V1 default 26 if LV_PREDEFINED_PINS_38V1
default 18 default 18
help help
@ -119,7 +116,7 @@ menu "LVGL Touch controller"
config LV_TOUCH_PIN_IRQ config LV_TOUCH_PIN_IRQ
int "GPIO for IRQ (Interrupt Request)" int "GPIO for IRQ (Interrupt Request)"
default 27 if LV_PREDEFINED_PINS_38V4 default 27 if LV_PREDEFINED_PINS_38V4
default 25 default 25
help help
@ -216,7 +213,7 @@ menu "LVGL Touch controller"
config LV_TOUCH_SPI_MISO config LV_TOUCH_SPI_MISO
int int
prompt "GPIO for MISO (Master In Slave Out)" prompt "GPIO for MISO (Master In Slave Out)"
default 35 if LV_PREDEFINED_PINS_38V1 default 35 if LV_PREDEFINED_PINS_38V1
default 19 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING default 19 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING
default 19 default 19
@ -472,14 +469,14 @@ menu "LVGL Touch controller"
config LV_I2C_TOUCH_PORT_0 config LV_I2C_TOUCH_PORT_0
bool bool
prompt "I2C port 0" prompt "I2C port 0"
help help
I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu
Component config->I2C Port Settings. Component config->I2C Port Settings.
config LV_I2C_TOUCH_PORT_1 config LV_I2C_TOUCH_PORT_1
bool bool
prompt "I2C port 1" prompt "I2C port 1"
help help
I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu
Component config->I2C Port Settings. Component config->I2C Port Settings.