• Home
  • Raw
  • Download

Lines Matching refs:dma_chan

152 static inline periph_module_t get_dma_periph(int dma_chan)  in get_dma_periph()  argument
154 assert(dma_chan >= 1 && dma_chan <= SOC_SPI_DMA_CHAN_NUM); in get_dma_periph()
156 if (dma_chan == 1) { in get_dma_periph()
158 } else if (dma_chan == 2) { in get_dma_periph()
168 static bool spicommon_dma_chan_claim(int dma_chan, uint32_t *out_actual_dma_chan) in spicommon_dma_chan_claim() argument
173 bool is_used = (BIT(dma_chan) & spi_dma_chan_enabled); in spicommon_dma_chan_claim()
175 spi_dma_chan_enabled |= BIT(dma_chan); in spicommon_dma_chan_claim()
176 periph_module_enable(get_dma_periph(dma_chan)); in spicommon_dma_chan_claim()
177 *out_actual_dma_chan = dma_chan; in spicommon_dma_chan_claim()
185 static void spicommon_connect_spi_and_dma(spi_host_device_t host, int dma_chan) in spicommon_connect_spi_and_dma() argument
188 DPORT_SET_PERI_REG_BITS(DPORT_SPI_DMA_CHAN_SEL_REG, 3, dma_chan, (host * 2)); in spicommon_connect_spi_and_dma()
194 static esp_err_t spicommon_dma_chan_alloc(spi_host_device_t host_id, spi_dma_chan_t dma_chan, uint3… in spicommon_dma_chan_alloc() argument
198 assert(dma_chan > SPI_DMA_DISABLED && dma_chan <= SPI_DMA_CH_AUTO); in spicommon_dma_chan_alloc()
200 assert(dma_chan == (int)host_id || dma_chan == SPI_DMA_CH_AUTO); in spicommon_dma_chan_alloc()
207 if (dma_chan == SPI_DMA_CH_AUTO) { in spicommon_dma_chan_alloc()
220 success = spicommon_dma_chan_claim((int)dma_chan, &actual_dma_chan); in spicommon_dma_chan_alloc()
237 static esp_err_t spicommon_dma_chan_alloc(spi_host_device_t host_id, spi_dma_chan_t dma_chan, uint3… in spicommon_dma_chan_alloc() argument
240 assert(dma_chan == SPI_DMA_CH_AUTO); in spicommon_dma_chan_alloc()
245 if (dma_chan == SPI_DMA_CH_AUTO) { in spicommon_dma_chan_alloc()
282 esp_err_t spicommon_slave_dma_chan_alloc(spi_host_device_t host_id, spi_dma_chan_t dma_chan, uint32… in spicommon_slave_dma_chan_alloc() argument
286 assert(dma_chan > SPI_DMA_DISABLED && dma_chan <= SPI_DMA_CH_AUTO); in spicommon_slave_dma_chan_alloc()
288 assert(dma_chan == (int)host_id || dma_chan == SPI_DMA_CH_AUTO); in spicommon_slave_dma_chan_alloc()
302 ret = spicommon_dma_chan_alloc(host_id, dma_chan, &actual_tx_dma_chan, &actual_rx_dma_chan); in spicommon_slave_dma_chan_alloc()
327 int dma_chan = ctx->bus_attr.tx_dma_chan; in spicommon_dma_chan_free() local
328 assert(spi_dma_chan_enabled & BIT(dma_chan)); in spicommon_dma_chan_free()
331 spi_dma_chan_enabled &= ~BIT(dma_chan); in spicommon_dma_chan_free()
332 periph_module_disable(get_dma_periph(dma_chan)); in spicommon_dma_chan_free()
619 …_initialize(spi_host_device_t host_id, const spi_bus_config_t *bus_config, spi_dma_chan_t dma_chan) in spi_bus_initialize() argument
630 …SPI_CHECK(dma_chan >= SPI_DMA_DISABLED && dma_chan <= SPI_DMA_CH_AUTO, "invalid dma channel", ESP_… in spi_bus_initialize()
632 …SPI_CHECK( dma_chan == SPI_DMA_DISABLED || dma_chan == (int)host_id || dma_chan == SPI_DMA_CH_AUTO… in spi_bus_initialize()
634 …SPI_CHECK( dma_chan == SPI_DMA_DISABLED || dma_chan == SPI_DMA_CH_AUTO, "invalid dma channel, chip… in spi_bus_initialize()
655 if (dma_chan != SPI_DMA_DISABLED) { in spi_bus_initialize()
658 err = spicommon_dma_chan_alloc(host_id, dma_chan, &actual_tx_dma_chan, &actual_rx_dma_chan); in spi_bus_initialize()