1 /* 2 * Copyright 2022-2023 NXP 3 * All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 #ifndef _FSL_EDMA_SOC_H_ 8 #define _FSL_EDMA_SOC_H_ 9 10 #include "fsl_common.h" 11 12 /*! 13 * @addtogroup edma_soc 14 * @{ 15 */ 16 17 /******************************************************************************* 18 * Definitions 19 ******************************************************************************/ 20 /*! @name Driver version */ 21 /*@{*/ 22 /*! @brief Driver version 2.1.0. */ 23 #define FSL_EDMA_SOC_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) 24 /*@}*/ 25 26 /*!@brief DMA IP version */ 27 #define FSL_EDMA_SOC_IP_DMA3 (1) 28 #define FSL_EDMA_SOC_IP_DMA4 (1) 29 30 /*!@brief DMA base table */ 31 #define EDMA_BASE_PTRS \ 32 { \ 33 DMA3, DMA4 \ 34 } 35 36 #define EDMA_CHN_IRQS \ 37 { \ 38 {DMA3_CH0_IRQn, \ 39 DMA3_CH1_IRQn, \ 40 DMA3_CH2_IRQn, \ 41 DMA3_CH3_IRQn, \ 42 DMA3_CH4_IRQn, \ 43 DMA3_CH5_IRQn, \ 44 DMA3_CH6_IRQn, \ 45 DMA3_CH7_IRQn, \ 46 DMA3_CH8_IRQn, \ 47 DMA3_CH9_IRQn, \ 48 DMA3_CH10_IRQn, \ 49 DMA3_CH11_IRQn, \ 50 DMA3_CH12_IRQn, \ 51 DMA3_CH13_IRQn, \ 52 DMA3_CH14_IRQn, \ 53 DMA3_CH15_IRQn, \ 54 DMA3_CH16_IRQn, \ 55 DMA3_CH17_IRQn, \ 56 DMA3_CH18_IRQn, \ 57 DMA3_CH19_IRQn, \ 58 DMA3_CH20_IRQn, \ 59 DMA3_CH21_IRQn, \ 60 DMA3_CH22_IRQn, \ 61 DMA3_CH23_IRQn, \ 62 DMA3_CH24_IRQn, \ 63 DMA3_CH25_IRQn, \ 64 DMA3_CH26_IRQn, \ 65 DMA3_CH27_IRQn, \ 66 DMA3_CH28_IRQn, \ 67 DMA3_CH29_IRQn, \ 68 DMA3_CH30_IRQn, \ 69 DMA3_CH31_IRQn}, \ 70 { \ 71 DMA4_CH0_CH1_CH32_CH33_IRQn, DMA4_CH0_CH1_CH32_CH33_IRQn, DMA4_CH2_CH3_CH34_CH35_IRQn, DMA4_CH2_CH3_CH34_CH35_IRQn, DMA4_CH4_CH5_CH36_CH37_IRQn, \ 72 DMA4_CH4_CH5_CH36_CH37_IRQn, DMA4_CH6_CH7_CH38_CH39_IRQn, DMA4_CH6_CH7_CH38_CH39_IRQn, DMA4_CH8_CH9_CH40_CH41_IRQn, DMA4_CH8_CH9_CH40_CH41_IRQn, \ 73 DMA4_CH10_CH11_CH42_CH43_IRQn, DMA4_CH10_CH11_CH42_CH43_IRQn, DMA4_CH12_CH13_CH44_CH45_IRQn, DMA4_CH12_CH13_CH44_CH45_IRQn, \ 74 DMA4_CH14_CH15_CH46_CH47_IRQn, DMA4_CH14_CH15_CH46_CH47_IRQn, DMA4_CH16_CH17_CH48_CH49_IRQn, DMA4_CH16_CH17_CH48_CH49_IRQn, \ 75 DMA4_CH18_CH19_CH50_CH51_IRQn, DMA4_CH18_CH19_CH50_CH51_IRQn, DMA4_CH20_CH21_CH52_CH53_IRQn, DMA4_CH20_CH21_CH52_CH53_IRQn, \ 76 DMA4_CH22_CH23_CH54_CH55_IRQn, DMA4_CH22_CH23_CH54_CH55_IRQn, DMA4_CH24_CH25_CH56_CH57_IRQn, DMA4_CH24_CH25_CH56_CH57_IRQn, \ 77 DMA4_CH26_CH27_CH58_CH59_IRQn, DMA4_CH26_CH27_CH58_CH59_IRQn, DMA4_CH28_CH29_CH60_CH61_IRQn, DMA4_CH28_CH29_CH60_CH61_IRQn, \ 78 DMA4_CH30_CH31_CH62_CH63_IRQn, DMA4_CH30_CH31_CH62_CH63_IRQn, DMA4_CH0_CH1_CH32_CH33_IRQn, DMA4_CH0_CH1_CH32_CH33_IRQn, \ 79 DMA4_CH2_CH3_CH34_CH35_IRQn, DMA4_CH2_CH3_CH34_CH35_IRQn, DMA4_CH4_CH5_CH36_CH37_IRQn, DMA4_CH4_CH5_CH36_CH37_IRQn, \ 80 DMA4_CH6_CH7_CH38_CH39_IRQn, DMA4_CH6_CH7_CH38_CH39_IRQn, DMA4_CH8_CH9_CH40_CH41_IRQn, DMA4_CH8_CH9_CH40_CH41_IRQn, \ 81 DMA4_CH10_CH11_CH42_CH43_IRQn, DMA4_CH10_CH11_CH42_CH43_IRQn, DMA4_CH12_CH13_CH44_CH45_IRQn, DMA4_CH12_CH13_CH44_CH45_IRQn, \ 82 DMA4_CH14_CH15_CH46_CH47_IRQn, DMA4_CH14_CH15_CH46_CH47_IRQn, DMA4_CH16_CH17_CH48_CH49_IRQn, DMA4_CH16_CH17_CH48_CH49_IRQn, \ 83 DMA4_CH18_CH19_CH50_CH51_IRQn, DMA4_CH18_CH19_CH50_CH51_IRQn, DMA4_CH20_CH21_CH52_CH53_IRQn, \ 84 DMA4_CH20_CH21_CH52_CH53_IRQn, DMA4_CH22_CH23_CH54_CH55_IRQn, DMA4_CH22_CH23_CH54_CH55_IRQn, \ 85 DMA4_CH24_CH25_CH56_CH57_IRQn, DMA4_CH24_CH25_CH56_CH57_IRQn, DMA4_CH26_CH27_CH58_CH59_IRQn, \ 86 DMA4_CH26_CH27_CH58_CH59_IRQn, DMA4_CH28_CH29_CH60_CH61_IRQn, DMA4_CH28_CH29_CH60_CH61_IRQn, \ 87 DMA4_CH30_CH31_CH62_CH63_IRQn, DMA4_CH30_CH31_CH62_CH63_IRQn \ 88 } \ 89 } 90 91 /*!< Verify dma base and request source */ 92 #define EDMA_CHANNEL_HAS_REQUEST_SOURCE(base, source) ((base) == DMA3 ? ((source)&0x100U) : ((source)&0x200U)) 93 /*!@brief EDMA base address convert macro */ 94 #define EDMA_CHANNEL_OFFSET 0x10000U 95 #define EDMA_CHANNEL_ARRAY_STEP(base) ((base) == DMA3 ? 0x10000U : 0x8000U) 96 97 /******************************************************************************* 98 * API 99 ******************************************************************************/ 100 101 #ifdef __cplusplus 102 extern "C" { 103 #endif 104 105 #ifdef __cplusplus 106 } 107 #endif 108 109 /*! 110 * @} 111 */ 112 113 #endif /* _FSL_EDMA_SOC_H_ */ 114