mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-30 12:50:41 +00:00 
			
		
		
		
	spi: update examples to use the new GDMA driver
This commit is contained in:
		| @@ -26,14 +26,12 @@ | |||||||
| #ifdef CONFIG_IDF_TARGET_ESP32 | #ifdef CONFIG_IDF_TARGET_ESP32 | ||||||
| #  ifdef CONFIG_EXAMPLE_USE_SPI1_PINS | #  ifdef CONFIG_EXAMPLE_USE_SPI1_PINS | ||||||
| #    define EEPROM_HOST    SPI1_HOST | #    define EEPROM_HOST    SPI1_HOST | ||||||
| #    define DMA_CHAN    0 |  | ||||||
| // Use default pins, same as the flash chip. | // Use default pins, same as the flash chip. | ||||||
| #    define PIN_NUM_MISO 7 | #    define PIN_NUM_MISO 7 | ||||||
| #    define PIN_NUM_MOSI 8 | #    define PIN_NUM_MOSI 8 | ||||||
| #    define PIN_NUM_CLK  6 | #    define PIN_NUM_CLK  6 | ||||||
| #  else | #  else | ||||||
| #    define EEPROM_HOST    HSPI_HOST | #    define EEPROM_HOST    HSPI_HOST | ||||||
| #    define DMA_CHAN    2 |  | ||||||
| #    define PIN_NUM_MISO 18 | #    define PIN_NUM_MISO 18 | ||||||
| #    define PIN_NUM_MOSI 23 | #    define PIN_NUM_MOSI 23 | ||||||
| #    define PIN_NUM_CLK  19 | #    define PIN_NUM_CLK  19 | ||||||
| @@ -42,7 +40,6 @@ | |||||||
| #  define PIN_NUM_CS   13 | #  define PIN_NUM_CS   13 | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32S2 | #elif defined CONFIG_IDF_TARGET_ESP32S2 | ||||||
| #  define EEPROM_HOST    SPI2_HOST | #  define EEPROM_HOST    SPI2_HOST | ||||||
| #  define DMA_CHAN    EEPROM_HOST |  | ||||||
|  |  | ||||||
| #  define PIN_NUM_MISO 37 | #  define PIN_NUM_MISO 37 | ||||||
| #  define PIN_NUM_MOSI 35 | #  define PIN_NUM_MOSI 35 | ||||||
| @@ -50,7 +47,6 @@ | |||||||
| #  define PIN_NUM_CS   34 | #  define PIN_NUM_CS   34 | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32C3 | #elif defined CONFIG_IDF_TARGET_ESP32C3 | ||||||
| #  define EEPROM_HOST    SPI2_HOST | #  define EEPROM_HOST    SPI2_HOST | ||||||
| #  define DMA_CHAN    EEPROM_HOST |  | ||||||
|  |  | ||||||
| #  define PIN_NUM_MISO 2 | #  define PIN_NUM_MISO 2 | ||||||
| #  define PIN_NUM_MOSI 7 | #  define PIN_NUM_MOSI 7 | ||||||
| @@ -58,6 +54,7 @@ | |||||||
| #  define PIN_NUM_CS   10 | #  define PIN_NUM_CS   10 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
| static const char TAG[] = "main"; | static const char TAG[] = "main"; | ||||||
|  |  | ||||||
| void app_main(void) | void app_main(void) | ||||||
| @@ -74,7 +71,7 @@ void app_main(void) | |||||||
|         .max_transfer_sz = 32, |         .max_transfer_sz = 32, | ||||||
|     }; |     }; | ||||||
|     //Initialize the SPI bus |     //Initialize the SPI bus | ||||||
|     ret = spi_bus_initialize(EEPROM_HOST, &buscfg, DMA_CHAN); |     ret = spi_bus_initialize(EEPROM_HOST, &buscfg, SPI_DMA_CH_AUTO); | ||||||
|     ESP_ERROR_CHECK(ret); |     ESP_ERROR_CHECK(ret); | ||||||
| #else | #else | ||||||
|     ESP_LOGI(TAG, "Attach to main flash bus..."); |     ESP_LOGI(TAG, "Attach to main flash bus..."); | ||||||
|   | |||||||
| @@ -30,7 +30,6 @@ | |||||||
|  |  | ||||||
| #ifdef CONFIG_IDF_TARGET_ESP32 | #ifdef CONFIG_IDF_TARGET_ESP32 | ||||||
| #define LCD_HOST    HSPI_HOST | #define LCD_HOST    HSPI_HOST | ||||||
| #define DMA_CHAN    2 |  | ||||||
|  |  | ||||||
| #define PIN_NUM_MISO 25 | #define PIN_NUM_MISO 25 | ||||||
| #define PIN_NUM_MOSI 23 | #define PIN_NUM_MOSI 23 | ||||||
| @@ -42,7 +41,6 @@ | |||||||
| #define PIN_NUM_BCKL 5 | #define PIN_NUM_BCKL 5 | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32S2 | #elif defined CONFIG_IDF_TARGET_ESP32S2 | ||||||
| #define LCD_HOST    SPI2_HOST | #define LCD_HOST    SPI2_HOST | ||||||
| #define DMA_CHAN    LCD_HOST |  | ||||||
|  |  | ||||||
| #define PIN_NUM_MISO 37 | #define PIN_NUM_MISO 37 | ||||||
| #define PIN_NUM_MOSI 35 | #define PIN_NUM_MOSI 35 | ||||||
| @@ -54,7 +52,6 @@ | |||||||
| #define PIN_NUM_BCKL 6 | #define PIN_NUM_BCKL 6 | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32C3 | #elif defined CONFIG_IDF_TARGET_ESP32C3 | ||||||
| #define LCD_HOST    SPI2_HOST | #define LCD_HOST    SPI2_HOST | ||||||
| #define DMA_CHAN    LCD_HOST |  | ||||||
|  |  | ||||||
| #define PIN_NUM_MISO 2 | #define PIN_NUM_MISO 2 | ||||||
| #define PIN_NUM_MOSI 7 | #define PIN_NUM_MOSI 7 | ||||||
| @@ -62,8 +59,8 @@ | |||||||
| #define PIN_NUM_CS   10 | #define PIN_NUM_CS   10 | ||||||
|  |  | ||||||
| #define PIN_NUM_DC   9 | #define PIN_NUM_DC   9 | ||||||
| #define PIN_NUM_RST  18 | #define PIN_NUM_RST  4 | ||||||
| #define PIN_NUM_BCKL 19 | #define PIN_NUM_BCKL 5 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| //To speed up transfers, every SPI transfer sends a bunch of lines. This define specifies how many. More means more memory use, | //To speed up transfers, every SPI transfer sends a bunch of lines. This define specifies how many. More means more memory use, | ||||||
| @@ -439,7 +436,7 @@ void app_main(void) | |||||||
|         .pre_cb=lcd_spi_pre_transfer_callback,  //Specify pre-transfer callback to handle D/C line |         .pre_cb=lcd_spi_pre_transfer_callback,  //Specify pre-transfer callback to handle D/C line | ||||||
|     }; |     }; | ||||||
|     //Initialize the SPI bus |     //Initialize the SPI bus | ||||||
|     ret=spi_bus_initialize(LCD_HOST, &buscfg, DMA_CHAN); |     ret=spi_bus_initialize(LCD_HOST, &buscfg, SPI_DMA_CH_AUTO); | ||||||
|     ESP_ERROR_CHECK(ret); |     ESP_ERROR_CHECK(ret); | ||||||
|     //Attach the LCD to the SPI bus |     //Attach the LCD to the SPI bus | ||||||
|     ret=spi_bus_add_device(LCD_HOST, &devcfg, &spi); |     ret=spi_bus_add_device(LCD_HOST, &devcfg, &spi); | ||||||
|   | |||||||
| @@ -68,15 +68,12 @@ Pins in use. The SPI Master can use the GPIO mux, so feel free to change these i | |||||||
|  |  | ||||||
| #ifdef CONFIG_IDF_TARGET_ESP32 | #ifdef CONFIG_IDF_TARGET_ESP32 | ||||||
| #define RCV_HOST    HSPI_HOST | #define RCV_HOST    HSPI_HOST | ||||||
| #define DMA_CHAN    2 |  | ||||||
|  |  | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32S2 | #elif defined CONFIG_IDF_TARGET_ESP32S2 | ||||||
| #define RCV_HOST    SPI2_HOST | #define RCV_HOST    SPI2_HOST | ||||||
| #define DMA_CHAN    RCV_HOST |  | ||||||
|  |  | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32C3 | #elif defined CONFIG_IDF_TARGET_ESP32C3 | ||||||
| #define RCV_HOST    SPI2_HOST | #define RCV_HOST    SPI2_HOST | ||||||
| #define DMA_CHAN    RCV_HOST |  | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| @@ -132,7 +129,7 @@ void app_main(void) | |||||||
|     gpio_set_pull_mode(GPIO_CS, GPIO_PULLUP_ONLY); |     gpio_set_pull_mode(GPIO_CS, GPIO_PULLUP_ONLY); | ||||||
|  |  | ||||||
|     //Initialize SPI slave interface |     //Initialize SPI slave interface | ||||||
|     ret=spi_slave_initialize(RCV_HOST, &buscfg, &slvcfg, DMA_CHAN); |     ret=spi_slave_initialize(RCV_HOST, &buscfg, &slvcfg, SPI_DMA_CH_AUTO); | ||||||
|     assert(ret==ESP_OK); |     assert(ret==ESP_OK); | ||||||
|  |  | ||||||
|     WORD_ALIGNED_ATTR char sendbuf[129]=""; |     WORD_ALIGNED_ATTR char sendbuf[129]=""; | ||||||
|   | |||||||
| @@ -69,15 +69,12 @@ Pins in use. The SPI Master can use the GPIO mux, so feel free to change these i | |||||||
|  |  | ||||||
| #ifdef CONFIG_IDF_TARGET_ESP32 | #ifdef CONFIG_IDF_TARGET_ESP32 | ||||||
| #define SENDER_HOST HSPI_HOST | #define SENDER_HOST HSPI_HOST | ||||||
| #define DMA_CHAN    2 |  | ||||||
|  |  | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32S2 | #elif defined CONFIG_IDF_TARGET_ESP32S2 | ||||||
| #define SENDER_HOST SPI2_HOST | #define SENDER_HOST SPI2_HOST | ||||||
| #define DMA_CHAN    SENDER_HOST |  | ||||||
|  |  | ||||||
| #elif defined CONFIG_IDF_TARGET_ESP32C3 | #elif defined CONFIG_IDF_TARGET_ESP32C3 | ||||||
| #define SENDER_HOST    SPI2_HOST | #define SENDER_HOST SPI2_HOST | ||||||
| #define DMA_CHAN    SENDER_HOST |  | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| @@ -156,7 +153,7 @@ void app_main(void) | |||||||
|     gpio_isr_handler_add(GPIO_HANDSHAKE, gpio_handshake_isr_handler, NULL); |     gpio_isr_handler_add(GPIO_HANDSHAKE, gpio_handshake_isr_handler, NULL); | ||||||
|  |  | ||||||
|     //Initialize the SPI bus and add the device we want to send stuff to. |     //Initialize the SPI bus and add the device we want to send stuff to. | ||||||
|     ret=spi_bus_initialize(SENDER_HOST, &buscfg, DMA_CHAN); |     ret=spi_bus_initialize(SENDER_HOST, &buscfg, SPI_DMA_CH_AUTO); | ||||||
|     assert(ret==ESP_OK); |     assert(ret==ESP_OK); | ||||||
|     ret=spi_bus_add_device(SENDER_HOST, &devcfg, &handle); |     ret=spi_bus_add_device(SENDER_HOST, &devcfg, &handle); | ||||||
|     assert(ret==ESP_OK); |     assert(ret==ESP_OK); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Marius Vikhammer
					Marius Vikhammer