mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
Merge branch 'test/add_spi_slave_freq_test_v5.0' into 'release/v5.0'
spi_slave: fix io re-config issue (v5.0) See merge request espressif/esp-idf!22592
This commit is contained in:
@ -51,6 +51,7 @@ static const char *SPI_TAG = "spi_slave";
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int id;
|
int id;
|
||||||
|
spi_bus_config_t bus_config;
|
||||||
spi_slave_interface_config_t cfg;
|
spi_slave_interface_config_t cfg;
|
||||||
intr_handle_t intr;
|
intr_handle_t intr;
|
||||||
spi_slave_hal_context_t hal;
|
spi_slave_hal_context_t hal;
|
||||||
@ -136,6 +137,7 @@ esp_err_t spi_slave_initialize(spi_host_device_t host, const spi_bus_config_t *b
|
|||||||
}
|
}
|
||||||
memset(spihost[host], 0, sizeof(spi_slave_t));
|
memset(spihost[host], 0, sizeof(spi_slave_t));
|
||||||
memcpy(&spihost[host]->cfg, slave_config, sizeof(spi_slave_interface_config_t));
|
memcpy(&spihost[host]->cfg, slave_config, sizeof(spi_slave_interface_config_t));
|
||||||
|
memcpy(&spihost[host]->bus_config, bus_config, sizeof(spi_bus_config_t));
|
||||||
spihost[host]->id = host;
|
spihost[host]->id = host;
|
||||||
|
|
||||||
bool use_dma = (dma_chan != SPI_DMA_DISABLED);
|
bool use_dma = (dma_chan != SPI_DMA_DISABLED);
|
||||||
@ -262,6 +264,7 @@ esp_err_t spi_slave_free(spi_host_device_t host)
|
|||||||
if (spihost[host]->dma_enabled) {
|
if (spihost[host]->dma_enabled) {
|
||||||
spicommon_dma_chan_free(host);
|
spicommon_dma_chan_free(host);
|
||||||
}
|
}
|
||||||
|
spicommon_bus_free_io_cfg(&spihost[host]->bus_config);
|
||||||
free(spihost[host]->hal.dmadesc_tx);
|
free(spihost[host]->hal.dmadesc_tx);
|
||||||
free(spihost[host]->hal.dmadesc_rx);
|
free(spihost[host]->hal.dmadesc_rx);
|
||||||
esp_intr_free(spihost[host]->intr);
|
esp_intr_free(spihost[host]->intr);
|
||||||
|
Reference in New Issue
Block a user