@@ -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+
0 commit comments