1 /* 2 * Copyright (c) 2019-2025 Allwinner Technology Co., Ltd. ALL rights reserved. 3 * 4 * Allwinner is a trademark of Allwinner Technology Co.,Ltd., registered in 5 * the the People's Republic of China and other countries. 6 * All Allwinner Technology Co.,Ltd. trademarks are used with permission. 7 * 8 * DISCLAIMER 9 * THIRD PARTY LICENCES MAY BE REQUIRED TO IMPLEMENT THE SOLUTION/PRODUCT. 10 * IF YOU NEED TO INTEGRATE THIRD PARTY¡¯S TECHNOLOGY (SONY, DTS, DOLBY, AVS OR MPEGLA, ETC.) 11 * IN ALLWINNERS¡¯SDK OR PRODUCTS, YOU SHALL BE SOLELY RESPONSIBLE TO OBTAIN 12 * ALL APPROPRIATELY REQUIRED THIRD PARTY LICENCES. 13 * ALLWINNER SHALL HAVE NO WARRANTY, INDEMNITY OR OTHER OBLIGATIONS WITH RESPECT TO MATTERS 14 * COVERED UNDER ANY REQUIRED THIRD PARTY LICENSE. 15 * YOU ARE SOLELY RESPONSIBLE FOR YOUR USAGE OF THIRD PARTY¡¯S TECHNOLOGY. 16 * 17 * 18 * THIS SOFTWARE IS PROVIDED BY ALLWINNER"AS IS" AND TO THE MAXIMUM EXTENT 19 * PERMITTED BY LAW, ALLWINNER EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND, 20 * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION REGARDING 21 * THE TITLE, NON-INFRINGEMENT, ACCURACY, CONDITION, COMPLETENESS, PERFORMANCE 22 * OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 23 * IN NO EVENT SHALL ALLWINNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 * LOSS OF USE, DATA, OR PROFITS, OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 28 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 30 * OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33 #ifndef __DMA_SUN8IW19_H__ 34 #define __DMA_SUN8IW19_H__ 35 36 #define SUNXI_DMAC_PBASE 0x03002000 37 38 #define DMA_IRQ_NUM 42 39 40 #define NR_MAX_CHAN 8 /* total of channels */ 41 #define START_CHAN_OFFSET 0 42 43 #define SUNXI_CLK_DMA HAL_CLK_PERIPH_DMA 44 #define SUNXI_CLK_MBUS_DMA (0) 45 #define SUNXI_RST_DMA (0) 46 47 48 /* 49 * The source DRQ type and port corresponding relation 50 */ 51 #define DRQSRC_SRAM 0 52 #define DRQSRC_SDRAM 0 53 /* #define DRQSRC_RESEVER 2 */ 54 #define DRQSRC_DAUDIO_0_RX 3 55 #define DRQSRC_DAUDIO_1_RX 4 56 /*#define DRQSRC_DAUDIO_2_RX 5 */ 57 #define DRQSRC_AUDIO_CODEC 6 58 #define DRQSRC_DMIC 7 59 /* #define DRQSRC_RESEVER 8 */ 60 /* #define DRQSRC_RESEVER 9 */ 61 /*#define DRQSRC_NAND0 10 */ 62 /* #define DRQSRC_RESEVER 11 */ 63 #define DRQSRC_GPADC 12 64 /* #define DRQSRC_RESEVER 13 */ 65 #define DRQSRC_UART0_RX 14 66 #define DRQSRC_UART1_RX 15 67 #define DRQSRC_UART2_RX 16 68 #define DRQSRC_UART3_RX 17 69 /*#define DRQSRC_UART4_RX 18 */ 70 /* #define DRQSRC_RESEVER 19 */ 71 /* #define DRQSRC_RESEVER 20 */ 72 /* #define DRQSRC_RESEVER 21 */ 73 #define DRQSRC_SPI0_RX 22 74 #define DRQSRC_SPI1_RX 23 75 #define DRQSRC_SPI2_RX 24 76 /*#define DRQSRC_SPI3_RX 25 */ 77 /* #define DRQSRC_RESEVER 26 */ 78 /* #define DRQSRC_RESEVER 27 */ 79 /* #define DRQSRC_RESEVER 28 */ 80 /* #define DRQSRC_RESEVER 29 */ 81 #define DRQSRC_OTG_EP1 30 82 #define DRQSRC_OTG_EP2 31 83 #define DRQSRC_OTG_EP3 32 84 #define DRQSRC_OTG_EP4 33 85 #define DRQSRC_OTG_EP5 34 86 #define DRQSRC_TWI0_RX 43 87 #define DRQSRC_TWI1_RX 44 88 #define DRQSRC_TWI2_RX 45 89 #define DRQSRC_TWI3_RX 46 90 #define DRQSRC_R_TWI0 48 91 92 /* 93 * The destination DRQ type and port corresponding relation 94 */ 95 #define DRQDST_SRAM 0 96 #define DRQDST_SDRAM 0 97 /* #define DRQSRC_RESEVER 2 */ 98 #define DRQDST_DAUDIO_0_TX 3 99 #define DRQDST_DAUDIO_1_TX 4 100 /*#define DRQDST_DAUDIO_2_TX 5 */ 101 #define DRQDST_AUDIO_CODEC 6 102 /* #define DRQSRC_RESEVER 7 */ 103 /* #define DRQSRC_RESEVER 8 */ 104 /* #define DRQSRC_RESEVER 9 */ 105 /*#define DRQDST_NAND0 10 */ 106 /* #define DRQSRC_RESEVER 11*/ 107 /* #define DRQSRC_RESEVER 12 */ 108 /*#define DRQDST_IR_TX 13 */ 109 #define DRQDST_UART0_TX 14 110 #define DRQDST_UART1_TX 15 111 #define DRQDST_UART2_TX 16 112 #define DRQDST_UART3_TX 17 113 /*#define DRQDST_UART4_TX 18 */ 114 /* #define DRQSRC_RESEVER 19 */ 115 /* #define DRQSRC_RESEVER 20 */ 116 /* #define DRQSRC_RESEVER 21 */ 117 #define DRQDST_SPI0_TX 22 118 #define DRQDST_SPI1_TX 23 119 #define DRQDST_SPI2_TX 24 120 /*#define DRQDST_SPI3_TX 25 */ 121 /* #define DRQSRC_RESEVER 26 */ 122 /* #define DRQSRC_RESEVER 27 */ 123 /* #define DRQSRC_RESEVER 28 */ 124 /* #define DRQSRC_RESEVER 29 */ 125 #define DRQDST_OTG_EP1 30 126 #define DRQDST_OTG_EP2 31 127 #define DRQDST_OTG_EP3 32 128 #define DRQDST_OTG_EP4 33 129 #define DRQDST_OTG_EP5 34 130 #define DRQDST_TWI0_TX 43 131 #define DRQDST_TWI1_TX 44 132 #define DRQDST_TWI2_TX 45 133 #define DRQDST_TWI3_TX 46 134 #define DRQDST_R_TWI0 48 135 136 137 #endif /*__DMA_SUN8IW19_H__ */ 138