Deinitialize ESP32-S3 SPI slave GDMA engine
This commit is contained in:
parent
996b9377a7
commit
d2b4734756
@ -1150,6 +1150,35 @@ void spislave_dma_init(struct spislave_priv_s *priv)
|
|||||||
|
|
||||||
resetbits(SPI_RX_EOF_EN_M, SPI_DMA_CONF_REG(priv->config->id));
|
resetbits(SPI_RX_EOF_EN_M, SPI_DMA_CONF_REG(priv->config->id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: spislave_dma_deinit
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Deinitialize ESP32-S3 SPI slave GDMA engine.
|
||||||
|
*
|
||||||
|
* Input Parameters:
|
||||||
|
* dev - Device-specific state data
|
||||||
|
*
|
||||||
|
* Returned Value:
|
||||||
|
* None.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
void spislave_dma_deinit(struct spislave_priv_s *priv)
|
||||||
|
{
|
||||||
|
/* Release a DMA channel from peripheral */
|
||||||
|
|
||||||
|
esp32s3_dma_release(priv->dma_channel);
|
||||||
|
|
||||||
|
/* Deinitialize DMA controller */
|
||||||
|
|
||||||
|
esp32s3_dma_deinit();
|
||||||
|
|
||||||
|
/* Disable DMA clock for the SPI peripheral */
|
||||||
|
|
||||||
|
modifyreg32(SYSTEM_PERIP_CLK_EN0_REG, priv->config->dma_clk_bit, 0);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -1390,7 +1419,7 @@ static void spislave_deinitialize(struct spi_slave_ctrlr_s *ctrlr)
|
|||||||
resetbits(SPI_TRANS_DONE_INT_ENA_M, SPI_DMA_INT_ENA_REG(priv->config->id));
|
resetbits(SPI_TRANS_DONE_INT_ENA_M, SPI_DMA_INT_ENA_REG(priv->config->id));
|
||||||
|
|
||||||
#ifdef CONFIG_ESP32S3_SPI_DMA
|
#ifdef CONFIG_ESP32S3_SPI_DMA
|
||||||
resetbits(priv->config->dma_clk_bit, SYSTEM_PERIP_CLK_EN0_REG);
|
spislave_dma_deinit(priv);
|
||||||
priv->rx_dma_offset = 0;
|
priv->rx_dma_offset = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user