1 /*
2  * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #pragma once
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /**
14  * @brief Enumeration of peripherals which have the DMA capability
15  * @note Some peripheral might not be available on certain chip, please refer to `soc_caps.h` for detail.
16  *
17  */
18 typedef enum {
19     GDMA_TRIG_PERIPH_M2M,  /*!< GDMA trigger peripheral: M2M */
20     GDMA_TRIG_PERIPH_UHCI, /*!< GDMA trigger peripheral: UHCI */
21     GDMA_TRIG_PERIPH_SPI,  /*!< GDMA trigger peripheral: SPI */
22     GDMA_TRIG_PERIPH_I2S,  /*!< GDMA trigger peripheral: I2S */
23     GDMA_TRIG_PERIPH_AES,  /*!< GDMA trigger peripheral: AES */
24     GDMA_TRIG_PERIPH_SHA,  /*!< GDMA trigger peripheral: SHA */
25     GDMA_TRIG_PERIPH_ADC,  /*!< GDMA trigger peripheral: ADC */
26     GDMA_TRIG_PERIPH_DAC,  /*!< GDMA trigger peripheral: DAC */
27     GDMA_TRIG_PERIPH_LCD,  /*!< GDMA trigger peripheral: LCD */
28     GDMA_TRIG_PERIPH_CAM,  /*!< GDMA trigger peripheral: CAM */
29     GDMA_TRIG_PERIPH_RMT,  /*!< GDMA trigger peripheral: RMT */
30     GDMA_TRIG_PERIPH_PARLIO, /*!< GDMA trigger peripheral: PARLIO */
31 } gdma_trigger_peripheral_t;
32 
33 /**
34  * @brief Enumeration of GDMA channel direction
35  *
36  */
37 typedef enum {
38     GDMA_CHANNEL_DIRECTION_TX, /*!< GDMA channel direction: TX */
39     GDMA_CHANNEL_DIRECTION_RX, /*!< GDMA channel direction: RX */
40 } gdma_channel_direction_t;
41 
42 /**
43  * @brief GDMA channel events that supported by the ETM module
44  */
45 typedef enum {
46     GDMA_ETM_EVENT_EOF, /*!< Event that the GDMA engine meets EOF descriptor */
47     GDMA_ETM_EVENT_MAX, /*!< Maximum number of events */
48 } gdma_etm_event_type_t;
49 
50 /**
51  * @brief GDMA channel tasks that supported by the ETM module
52  */
53 typedef enum {
54     GDMA_ETM_TASK_START, /*!< Start the GDMA machine */
55     GDMA_ETM_TASK_MAX,   /*!< Maximum number of events */
56 } gdma_etm_task_type_t;
57 
58 #ifdef __cplusplus
59 }
60 #endif
61