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