36#ifndef LIBBSP_ARM_SHARED_LPC_DMA_H
37#define LIBBSP_ARM_SHARED_LPC_DMA_H
73 uint32_t reserved [3];
82 uint32_t int_tc_clear;
83 uint32_t int_err_stat;
84 uint32_t int_err_clear;
86 uint32_t raw_err_stat;
87 uint32_t enabled_channels;
88 uint32_t soft_burst_req;
89 uint32_t soft_single_req;
90 uint32_t soft_last_burst_req;
91 uint32_t soft_last_single_req;
94 uint32_t reserved [50];
104#define DMA_CFG_E BSP_BIT32(0)
105#define DMA_CFG_M_0 BSP_BIT32(1)
106#define DMA_CFG_M_1 BSP_BIT32(2)
116#define DMA_CH_CTRL_TSZ(val) BSP_FLD32(val, 0, 11)
117#define DMA_CH_CTRL_TSZ_MAX DMA_CH_CTRL_TSZ(0xfff)
119#define DMA_CH_CTRL_SB(val) BSP_FLD32(val, 12, 14)
120#define DMA_CH_CTRL_SB_1 DMA_CH_CTRL_SB(0)
121#define DMA_CH_CTRL_SB_4 DMA_CH_CTRL_SB(1)
122#define DMA_CH_CTRL_SB_8 DMA_CH_CTRL_SB(2)
123#define DMA_CH_CTRL_SB_16 DMA_CH_CTRL_SB(3)
124#define DMA_CH_CTRL_SB_32 DMA_CH_CTRL_SB(4)
125#define DMA_CH_CTRL_SB_64 DMA_CH_CTRL_SB(5)
126#define DMA_CH_CTRL_SB_128 DMA_CH_CTRL_SB(6)
127#define DMA_CH_CTRL_SB_256 DMA_CH_CTRL_SB(7)
129#define DMA_CH_CTRL_DB(val) BSP_FLD32(val, 15, 17)
130#define DMA_CH_CTRL_DB_1 DMA_CH_CTRL_DB(0)
131#define DMA_CH_CTRL_DB_4 DMA_CH_CTRL_DB(1)
132#define DMA_CH_CTRL_DB_8 DMA_CH_CTRL_DB(2)
133#define DMA_CH_CTRL_DB_16 DMA_CH_CTRL_DB(3)
134#define DMA_CH_CTRL_DB_32 DMA_CH_CTRL_DB(4)
135#define DMA_CH_CTRL_DB_64 DMA_CH_CTRL_DB(5)
136#define DMA_CH_CTRL_DB_128 DMA_CH_CTRL_DB(6)
137#define DMA_CH_CTRL_DB_256 DMA_CH_CTRL_DB(7)
139#define DMA_CH_CTRL_SW(val) BSP_FLD32(val, 18, 20)
140#define DMA_CH_CTRL_SW_8 DMA_CH_CTRL_SW(0)
141#define DMA_CH_CTRL_SW_16 DMA_CH_CTRL_SW(1)
142#define DMA_CH_CTRL_SW_32 DMA_CH_CTRL_SW(2)
144#define DMA_CH_CTRL_DW(val) BSP_FLD32(val, 21, 23)
145#define DMA_CH_CTRL_DW_8 DMA_CH_CTRL_DW(0)
146#define DMA_CH_CTRL_DW_16 DMA_CH_CTRL_DW(1)
147#define DMA_CH_CTRL_DW_32 DMA_CH_CTRL_DW(2)
149#define DMA_CH_CTRL_S BSP_BIT32(24)
150#define DMA_CH_CTRL_D BSP_BIT32(25)
151#define DMA_CH_CTRL_SI BSP_BIT32(26)
152#define DMA_CH_CTRL_DI BSP_BIT32(27)
153#define DMA_CH_CTRL_PROT(val) BSP_FLD32(val, 28, 30)
154#define DMA_CH_CTRL_I BSP_BIT32(31)
164#define DMA_CH_CFG_E BSP_BIT32(0)
165#define DMA_CH_CFG_SPER(val) BSP_FLD32(val, 1, 5)
166#define DMA_CH_CFG_DPER(val) BSP_FLD32(val, 6, 10)
168#define DMA_CH_CFG_FLOW(val) BSP_FLD32(val, 11, 13)
169#define DMA_CH_CFG_FLOW_MEM_TO_MEM_DMA DMA_CH_CFG_FLOW(0)
170#define DMA_CH_CFG_FLOW_MEM_TO_PER_DMA DMA_CH_CFG_FLOW(1)
171#define DMA_CH_CFG_FLOW_PER_TO_MEM_DMA DMA_CH_CFG_FLOW(2)
172#define DMA_CH_CFG_FLOW_PER_TO_PER_DMA DMA_CH_CFG_FLOW(3)
173#define DMA_CH_CFG_FLOW_PER_TO_PER_DEST DMA_CH_CFG_FLOW(4)
174#define DMA_CH_CFG_FLOW_MEM_TO_PER_PER DMA_CH_CFG_FLOW(5)
175#define DMA_CH_CFG_FLOW_PER_TO_MEM_PER DMA_CH_CFG_FLOW(6)
176#define DMA_CH_CFG_FLOW_PER_TO_PER_SRC DMA_CH_CFG_FLOW(7)
178#define DMA_CH_CFG_IE BSP_BIT32(14)
179#define DMA_CH_CFG_ITC BSP_BIT32(15)
180#define DMA_CH_CFG_L BSP_BIT32(16)
181#define DMA_CH_CFG_A BSP_BIT32(17)
182#define DMA_CH_CFG_H BSP_BIT32(18)
192#define LPC24XX_DMA_PER_SSP_0_TX 0
193#define LPC24XX_DMA_PER_SSP_0_RX 1
194#define LPC24XX_DMA_PER_SSP_1_TX 2
195#define LPC24XX_DMA_PER_SSP_1_RX 3
196#define LPC24XX_DMA_PER_SD_MMC 4
197#define LPC24XX_DMA_PER_I2S_CH_0 5
198#define LPC24XX_DMA_PER_I2S_CH_1 6
208#define LPC32XX_DMA_PER_I2S_0_CH_0 0
209#define LPC32XX_DMA_PER_I2S_0_CH_1 13
210#define LPC32XX_DMA_PER_I2S_1_CH_0 2
211#define LPC32XX_DMA_PER_I2S_1_CH_1 10
212#define LPC32XX_DMA_PER_NAND_0 1
213#define LPC32XX_DMA_PER_NAND_1 12
214#define LPC32XX_DMA_PER_SD_MMC 4
215#define LPC32XX_DMA_PER_SSP_0_RX 14
216#define LPC32XX_DMA_PER_SSP_0_TX 15
217#define LPC32XX_DMA_PER_SSP_1_RX 3
218#define LPC32XX_DMA_PER_SSP_1_TX 11
219#define LPC32XX_DMA_PER_UART_1_RX 6
220#define LPC32XX_DMA_PER_UART_1_TX 5
221#define LPC32XX_DMA_PER_UART_2_RX 8
222#define LPC32XX_DMA_PER_UART_2_TX 7
223#define LPC32XX_DMA_PER_UART_7_RX 10
224#define LPC32XX_DMA_PER_UART_7_TX 9
This header file provides utility macros for BSPs.
DMA channel block.
Definition: lpc-dma.h:70
DMA descriptor item.
Definition: lpc-dma.h:60
DMA control block.
Definition: lpc-dma.h:79