Initializes the SPI interface for the Ethernet board */
| 559 | Initializes the SPI interface for the Ethernet board |
| 560 | */ |
| 561 | static void init_spi() { |
| 562 | #ifdef MODDEF_ETHERNET_SPI_MISO_PIN |
| 563 | spi_bus_config_t buscfg = { |
| 564 | .miso_io_num = MODDEF_ETHERNET_SPI_MISO_PIN, |
| 565 | .mosi_io_num = MODDEF_ETHERNET_SPI_MOSI_PIN, |
| 566 | .sclk_io_num = MODDEF_ETHERNET_SPI_SCK_PIN, |
| 567 | .quadwp_io_num = -1, |
| 568 | .quadhd_io_num = -1, |
| 569 | }; |
| 570 | int spi_dma_channel = 2; |
| 571 | #ifdef MODDEF_ETHERNET_SPI_DMA_CH |
| 572 | spi_dma_channel = MODDEF_ETHERNET_SPI_DMA_CH; |
| 573 | #endif |
| 574 | if (MODDEF_ETHERNET_DEBUG) ESP_LOGI(TAG, LOG_FMT("MISO=%d MOSI=%d SCK=%d CS=%d DMA_Ch=%d PORT=%d HZ=%d PowerPin=%d"), |
| 575 | MODDEF_ETHERNET_SPI_MISO_PIN, MODDEF_ETHERNET_SPI_MOSI_PIN, MODDEF_ETHERNET_SPI_SCK_PIN, |
| 576 | spi_dma_channel,MODDEF_ETHERNET_SPI_CS_PIN, MODDEF_ETHERNET_SPI_PORT, MODDEF_ETHERNET_HZ, MODDEF_ETHERNET_POWER_PIN); |
| 577 | |
| 578 | ESP_ERROR_CHECK(spi_bus_initialize(MODDEF_ETHERNET_SPI_PORT, &buscfg, MODDEF_ETHERNET_SPI_DMA_CH )); |
| 579 | #else |
| 580 | modSPIConfigurationRecord config = {0}; |
| 581 | config.cs_pin = MODDEF_ETHERNET_SPI_CS_PIN; |
| 582 | config.spiPort = HSPI_HOST; |
| 583 | config.sync = 1; |
| 584 | config.hz = MODDEF_ETHERNET_HZ; |
| 585 | config.command_bits = MODDEF_ETHERNET_SPI_COMMAND_BITS, |
| 586 | config.address_bits = MODDEF_ETHERNET_SPI_ADDRESS_BITS, |
| 587 | config.external = 1; |
| 588 | config.queue_size = 20; |
| 589 | if (MODDEF_ETHERNET_DEBUG) ESP_LOGI(TAG, LOG_FMT("MISO=%d MOSI=%d SCK=%d CS=%d DMA_Ch=%d PORT=%d HZ=%d PowerPin=%d"), |
| 590 | config.miso_pin, config.mosi_pin, config.clock_pin, config.cs_pin, spi_dma_channel, |
| 591 | config.spiPort, config.hz, MODDEF_ETHERNET_POWER_PIN); |
| 592 | modSPIInit(&config); |
| 593 | #endif |
| 594 | } |
| 595 | |
| 596 | static void uninit_spi() { |
| 597 | if (MODDEF_ETHERNET_DEBUG) ESP_LOGI(TAG, LOG_FMT("Uninitializing SPI")); |
no test coverage detected