mirror of
https://github.com/Dasharo/zephyr.git
synced 2026-03-06 14:57:20 -08:00
drivers: dma: esp32c3: add gdma driver
Add GDMA driver for esp32c3. Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
This commit is contained in:
committed by
Carles Cufí
parent
9421785fd0
commit
17fbdc55b5
@@ -24,3 +24,4 @@ zephyr_library_sources_ifdef(CONFIG_DMA_INTEL_ADSP_HDA_LINK_IN dma_intel_adsp_hd
|
||||
zephyr_library_sources_ifdef(CONFIG_DMA_INTEL_ADSP_HDA_LINK_OUT dma_intel_adsp_hda_link_out.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_DMA_INTEL_ADSP_GPDMA dma_intel_adsp_gpdma.c dma_dw_common.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_DMA_GD32 dma_gd32.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_DMA_ESP32 dma_esp32_gdma.c)
|
||||
|
||||
@@ -50,4 +50,6 @@ source "drivers/dma/Kconfig.intel_adsp_hda"
|
||||
|
||||
source "drivers/dma/Kconfig.gd32"
|
||||
|
||||
source "drivers/dma/Kconfig.esp32"
|
||||
|
||||
endif # DMA
|
||||
|
||||
9
drivers/dma/Kconfig.esp32
Normal file
9
drivers/dma/Kconfig.esp32
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config DMA_ESP32
|
||||
bool "ESP32 General Purpose DMA driver"
|
||||
depends on DT_HAS_ESPRESSIF_ESP32_GDMA_ENABLED
|
||||
default y
|
||||
help
|
||||
General Purpose DMA for ESP32 series.
|
||||
583
drivers/dma/dma_esp32_gdma.c
Normal file
583
drivers/dma/dma_esp32_gdma.c
Normal file
File diff suppressed because it is too large
Load Diff
32
include/zephyr/drivers/dma/dma_esp32.h
Normal file
32
include/zephyr/drivers/dma/dma_esp32.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef ZEPHYR_INCLUDE_DRIVERS_DMA_ESP32_H_
|
||||
#define ZEPHYR_INCLUDE_DRIVERS_DMA_ESP32_H_
|
||||
|
||||
enum gdma_trigger_peripheral {
|
||||
GDMA_TRIG_PERIPH_M2M = -1,
|
||||
GDMA_TRIG_PERIPH_SPI2 = 0,
|
||||
GDMA_TRIG_PERIPH_UHCI0 = 2,
|
||||
GDMA_TRIG_PERIPH_I2S = 4,
|
||||
GDMA_TRIG_PERIPH_AES = 6,
|
||||
GDMA_TRIG_PERIPH_SHA = 7,
|
||||
GDMA_TRIG_PERIPH_ADC = 8,
|
||||
GDMA_TRIG_PERIPH_INVALID = 0x3F,
|
||||
};
|
||||
|
||||
#define ESP32_DT_INST_DMA_CTLR(n, name) \
|
||||
COND_CODE_1(DT_INST_NODE_HAS_PROP(n, dmas), \
|
||||
(DEVICE_DT_GET(DT_INST_DMAS_CTLR_BY_NAME(n, name))), \
|
||||
(NULL))
|
||||
|
||||
#define ESP32_DT_INST_DMA_CELL(n, name, cell) \
|
||||
COND_CODE_1(DT_INST_NODE_HAS_PROP(n, dmas), \
|
||||
(DT_INST_DMAS_CELL_BY_NAME(n, name, cell)), \
|
||||
(0xff))
|
||||
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_DRIVERS_DMA_ESP32_H_ */
|
||||
Reference in New Issue
Block a user