RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
component_xdmac.h
1/* ---------------------------------------------------------------------------- */
2/* Atmel Microcontroller Software Support */
3/* SAM Software Package License */
4/* ---------------------------------------------------------------------------- */
5/* Copyright (c) 2015, Atmel Corporation */
6/* */
7/* All rights reserved. */
8/* */
9/* Redistribution and use in source and binary forms, with or without */
10/* modification, are permitted provided that the following condition is met: */
11/* */
12/* - Redistributions of source code must retain the above copyright notice, */
13/* this list of conditions and the disclaimer below. */
14/* */
15/* Atmel's name may not be used to endorse or promote products derived from */
16/* this software without specific prior written permission. */
17/* */
18/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
19/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
20/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
21/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
22/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
23/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
24/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
25/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
26/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
27/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
28/* ---------------------------------------------------------------------------- */
29
30#ifndef _SAMV71_XDMAC_COMPONENT_
31#define _SAMV71_XDMAC_COMPONENT_
32
33/* ============================================================================= */
35/* ============================================================================= */
38
39#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
41typedef struct {
42 __O uint32_t XDMAC_CIE;
43 __O uint32_t XDMAC_CID;
44 __O uint32_t XDMAC_CIM;
45 __I uint32_t XDMAC_CIS;
46 __IO uint32_t XDMAC_CSA;
47 __IO uint32_t XDMAC_CDA;
48 __IO uint32_t XDMAC_CNDA;
49 __IO uint32_t XDMAC_CNDC;
50 __IO uint32_t XDMAC_CUBC;
51 __IO uint32_t XDMAC_CBC;
52 __IO uint32_t XDMAC_CC;
53 __IO uint32_t XDMAC_CDS_MSP;
54 __IO uint32_t XDMAC_CSUS;
55 __IO uint32_t XDMAC_CDUS;
56 __I uint32_t Reserved1[2];
57} XdmacChid;
59#define XDMACCHID_NUMBER 24
60typedef struct {
61 __IO uint32_t XDMAC_GTYPE;
62 __I uint32_t XDMAC_GCFG;
63 __IO uint32_t XDMAC_GWAC;
64 __O uint32_t XDMAC_GIE;
65 __O uint32_t XDMAC_GID;
66 __I uint32_t XDMAC_GIM;
67 __I uint32_t XDMAC_GIS;
68 __O uint32_t XDMAC_GE;
69 __O uint32_t XDMAC_GD;
70 __I uint32_t XDMAC_GS;
71 __IO uint32_t XDMAC_GRS;
72 __IO uint32_t XDMAC_GWS;
73 __O uint32_t XDMAC_GRWS;
74 __O uint32_t XDMAC_GRWR;
75 __O uint32_t XDMAC_GSWR;
76 __I uint32_t XDMAC_GSWS;
77 __O uint32_t XDMAC_GSWF;
78 __I uint32_t Reserved1[3];
79 XdmacChid XDMAC_CHID[XDMACCHID_NUMBER];
80 __I uint32_t Reserved2[619];
82} Xdmac;
83#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
84/* -------- XDMAC_GTYPE : (XDMAC Offset: 0x00) Global Type Register -------- */
85#define XDMAC_GTYPE_NB_CH_Pos 0
86#define XDMAC_GTYPE_NB_CH_Msk (0x1fu << XDMAC_GTYPE_NB_CH_Pos)
87#define XDMAC_GTYPE_NB_CH(value) ((XDMAC_GTYPE_NB_CH_Msk & ((value) << XDMAC_GTYPE_NB_CH_Pos)))
88#define XDMAC_GTYPE_FIFO_SZ_Pos 5
89#define XDMAC_GTYPE_FIFO_SZ_Msk (0x7ffu << XDMAC_GTYPE_FIFO_SZ_Pos)
90#define XDMAC_GTYPE_FIFO_SZ(value) ((XDMAC_GTYPE_FIFO_SZ_Msk & ((value) << XDMAC_GTYPE_FIFO_SZ_Pos)))
91#define XDMAC_GTYPE_NB_REQ_Pos 16
92#define XDMAC_GTYPE_NB_REQ_Msk (0x7fu << XDMAC_GTYPE_NB_REQ_Pos)
93#define XDMAC_GTYPE_NB_REQ(value) ((XDMAC_GTYPE_NB_REQ_Msk & ((value) << XDMAC_GTYPE_NB_REQ_Pos)))
94/* -------- XDMAC_GCFG : (XDMAC Offset: 0x04) Global Configuration Register -------- */
95#define XDMAC_GCFG_CGDISREG (0x1u << 0)
96#define XDMAC_GCFG_CGDISPIPE (0x1u << 1)
97#define XDMAC_GCFG_CGDISFIFO (0x1u << 2)
98#define XDMAC_GCFG_CGDISIF (0x1u << 3)
99#define XDMAC_GCFG_BXKBEN (0x1u << 8)
100/* -------- XDMAC_GWAC : (XDMAC Offset: 0x08) Global Weighted Arbiter Configuration Register -------- */
101#define XDMAC_GWAC_PW0_Pos 0
102#define XDMAC_GWAC_PW0_Msk (0xfu << XDMAC_GWAC_PW0_Pos)
103#define XDMAC_GWAC_PW0(value) ((XDMAC_GWAC_PW0_Msk & ((value) << XDMAC_GWAC_PW0_Pos)))
104#define XDMAC_GWAC_PW1_Pos 4
105#define XDMAC_GWAC_PW1_Msk (0xfu << XDMAC_GWAC_PW1_Pos)
106#define XDMAC_GWAC_PW1(value) ((XDMAC_GWAC_PW1_Msk & ((value) << XDMAC_GWAC_PW1_Pos)))
107#define XDMAC_GWAC_PW2_Pos 8
108#define XDMAC_GWAC_PW2_Msk (0xfu << XDMAC_GWAC_PW2_Pos)
109#define XDMAC_GWAC_PW2(value) ((XDMAC_GWAC_PW2_Msk & ((value) << XDMAC_GWAC_PW2_Pos)))
110#define XDMAC_GWAC_PW3_Pos 12
111#define XDMAC_GWAC_PW3_Msk (0xfu << XDMAC_GWAC_PW3_Pos)
112#define XDMAC_GWAC_PW3(value) ((XDMAC_GWAC_PW3_Msk & ((value) << XDMAC_GWAC_PW3_Pos)))
113/* -------- XDMAC_GIE : (XDMAC Offset: 0x0C) Global Interrupt Enable Register -------- */
114#define XDMAC_GIE_IE0 (0x1u << 0)
115#define XDMAC_GIE_IE1 (0x1u << 1)
116#define XDMAC_GIE_IE2 (0x1u << 2)
117#define XDMAC_GIE_IE3 (0x1u << 3)
118#define XDMAC_GIE_IE4 (0x1u << 4)
119#define XDMAC_GIE_IE5 (0x1u << 5)
120#define XDMAC_GIE_IE6 (0x1u << 6)
121#define XDMAC_GIE_IE7 (0x1u << 7)
122#define XDMAC_GIE_IE8 (0x1u << 8)
123#define XDMAC_GIE_IE9 (0x1u << 9)
124#define XDMAC_GIE_IE10 (0x1u << 10)
125#define XDMAC_GIE_IE11 (0x1u << 11)
126#define XDMAC_GIE_IE12 (0x1u << 12)
127#define XDMAC_GIE_IE13 (0x1u << 13)
128#define XDMAC_GIE_IE14 (0x1u << 14)
129#define XDMAC_GIE_IE15 (0x1u << 15)
130#define XDMAC_GIE_IE16 (0x1u << 16)
131#define XDMAC_GIE_IE17 (0x1u << 17)
132#define XDMAC_GIE_IE18 (0x1u << 18)
133#define XDMAC_GIE_IE19 (0x1u << 19)
134#define XDMAC_GIE_IE20 (0x1u << 20)
135#define XDMAC_GIE_IE21 (0x1u << 21)
136#define XDMAC_GIE_IE22 (0x1u << 22)
137#define XDMAC_GIE_IE23 (0x1u << 23)
138/* -------- XDMAC_GID : (XDMAC Offset: 0x10) Global Interrupt Disable Register -------- */
139#define XDMAC_GID_ID0 (0x1u << 0)
140#define XDMAC_GID_ID1 (0x1u << 1)
141#define XDMAC_GID_ID2 (0x1u << 2)
142#define XDMAC_GID_ID3 (0x1u << 3)
143#define XDMAC_GID_ID4 (0x1u << 4)
144#define XDMAC_GID_ID5 (0x1u << 5)
145#define XDMAC_GID_ID6 (0x1u << 6)
146#define XDMAC_GID_ID7 (0x1u << 7)
147#define XDMAC_GID_ID8 (0x1u << 8)
148#define XDMAC_GID_ID9 (0x1u << 9)
149#define XDMAC_GID_ID10 (0x1u << 10)
150#define XDMAC_GID_ID11 (0x1u << 11)
151#define XDMAC_GID_ID12 (0x1u << 12)
152#define XDMAC_GID_ID13 (0x1u << 13)
153#define XDMAC_GID_ID14 (0x1u << 14)
154#define XDMAC_GID_ID15 (0x1u << 15)
155#define XDMAC_GID_ID16 (0x1u << 16)
156#define XDMAC_GID_ID17 (0x1u << 17)
157#define XDMAC_GID_ID18 (0x1u << 18)
158#define XDMAC_GID_ID19 (0x1u << 19)
159#define XDMAC_GID_ID20 (0x1u << 20)
160#define XDMAC_GID_ID21 (0x1u << 21)
161#define XDMAC_GID_ID22 (0x1u << 22)
162#define XDMAC_GID_ID23 (0x1u << 23)
163/* -------- XDMAC_GIM : (XDMAC Offset: 0x14) Global Interrupt Mask Register -------- */
164#define XDMAC_GIM_IM0 (0x1u << 0)
165#define XDMAC_GIM_IM1 (0x1u << 1)
166#define XDMAC_GIM_IM2 (0x1u << 2)
167#define XDMAC_GIM_IM3 (0x1u << 3)
168#define XDMAC_GIM_IM4 (0x1u << 4)
169#define XDMAC_GIM_IM5 (0x1u << 5)
170#define XDMAC_GIM_IM6 (0x1u << 6)
171#define XDMAC_GIM_IM7 (0x1u << 7)
172#define XDMAC_GIM_IM8 (0x1u << 8)
173#define XDMAC_GIM_IM9 (0x1u << 9)
174#define XDMAC_GIM_IM10 (0x1u << 10)
175#define XDMAC_GIM_IM11 (0x1u << 11)
176#define XDMAC_GIM_IM12 (0x1u << 12)
177#define XDMAC_GIM_IM13 (0x1u << 13)
178#define XDMAC_GIM_IM14 (0x1u << 14)
179#define XDMAC_GIM_IM15 (0x1u << 15)
180#define XDMAC_GIM_IM16 (0x1u << 16)
181#define XDMAC_GIM_IM17 (0x1u << 17)
182#define XDMAC_GIM_IM18 (0x1u << 18)
183#define XDMAC_GIM_IM19 (0x1u << 19)
184#define XDMAC_GIM_IM20 (0x1u << 20)
185#define XDMAC_GIM_IM21 (0x1u << 21)
186#define XDMAC_GIM_IM22 (0x1u << 22)
187#define XDMAC_GIM_IM23 (0x1u << 23)
188/* -------- XDMAC_GIS : (XDMAC Offset: 0x18) Global Interrupt Status Register -------- */
189#define XDMAC_GIS_IS0 (0x1u << 0)
190#define XDMAC_GIS_IS1 (0x1u << 1)
191#define XDMAC_GIS_IS2 (0x1u << 2)
192#define XDMAC_GIS_IS3 (0x1u << 3)
193#define XDMAC_GIS_IS4 (0x1u << 4)
194#define XDMAC_GIS_IS5 (0x1u << 5)
195#define XDMAC_GIS_IS6 (0x1u << 6)
196#define XDMAC_GIS_IS7 (0x1u << 7)
197#define XDMAC_GIS_IS8 (0x1u << 8)
198#define XDMAC_GIS_IS9 (0x1u << 9)
199#define XDMAC_GIS_IS10 (0x1u << 10)
200#define XDMAC_GIS_IS11 (0x1u << 11)
201#define XDMAC_GIS_IS12 (0x1u << 12)
202#define XDMAC_GIS_IS13 (0x1u << 13)
203#define XDMAC_GIS_IS14 (0x1u << 14)
204#define XDMAC_GIS_IS15 (0x1u << 15)
205#define XDMAC_GIS_IS16 (0x1u << 16)
206#define XDMAC_GIS_IS17 (0x1u << 17)
207#define XDMAC_GIS_IS18 (0x1u << 18)
208#define XDMAC_GIS_IS19 (0x1u << 19)
209#define XDMAC_GIS_IS20 (0x1u << 20)
210#define XDMAC_GIS_IS21 (0x1u << 21)
211#define XDMAC_GIS_IS22 (0x1u << 22)
212#define XDMAC_GIS_IS23 (0x1u << 23)
213/* -------- XDMAC_GE : (XDMAC Offset: 0x1C) Global Channel Enable Register -------- */
214#define XDMAC_GE_EN0 (0x1u << 0)
215#define XDMAC_GE_EN1 (0x1u << 1)
216#define XDMAC_GE_EN2 (0x1u << 2)
217#define XDMAC_GE_EN3 (0x1u << 3)
218#define XDMAC_GE_EN4 (0x1u << 4)
219#define XDMAC_GE_EN5 (0x1u << 5)
220#define XDMAC_GE_EN6 (0x1u << 6)
221#define XDMAC_GE_EN7 (0x1u << 7)
222#define XDMAC_GE_EN8 (0x1u << 8)
223#define XDMAC_GE_EN9 (0x1u << 9)
224#define XDMAC_GE_EN10 (0x1u << 10)
225#define XDMAC_GE_EN11 (0x1u << 11)
226#define XDMAC_GE_EN12 (0x1u << 12)
227#define XDMAC_GE_EN13 (0x1u << 13)
228#define XDMAC_GE_EN14 (0x1u << 14)
229#define XDMAC_GE_EN15 (0x1u << 15)
230#define XDMAC_GE_EN16 (0x1u << 16)
231#define XDMAC_GE_EN17 (0x1u << 17)
232#define XDMAC_GE_EN18 (0x1u << 18)
233#define XDMAC_GE_EN19 (0x1u << 19)
234#define XDMAC_GE_EN20 (0x1u << 20)
235#define XDMAC_GE_EN21 (0x1u << 21)
236#define XDMAC_GE_EN22 (0x1u << 22)
237#define XDMAC_GE_EN23 (0x1u << 23)
238/* -------- XDMAC_GD : (XDMAC Offset: 0x20) Global Channel Disable Register -------- */
239#define XDMAC_GD_DI0 (0x1u << 0)
240#define XDMAC_GD_DI1 (0x1u << 1)
241#define XDMAC_GD_DI2 (0x1u << 2)
242#define XDMAC_GD_DI3 (0x1u << 3)
243#define XDMAC_GD_DI4 (0x1u << 4)
244#define XDMAC_GD_DI5 (0x1u << 5)
245#define XDMAC_GD_DI6 (0x1u << 6)
246#define XDMAC_GD_DI7 (0x1u << 7)
247#define XDMAC_GD_DI8 (0x1u << 8)
248#define XDMAC_GD_DI9 (0x1u << 9)
249#define XDMAC_GD_DI10 (0x1u << 10)
250#define XDMAC_GD_DI11 (0x1u << 11)
251#define XDMAC_GD_DI12 (0x1u << 12)
252#define XDMAC_GD_DI13 (0x1u << 13)
253#define XDMAC_GD_DI14 (0x1u << 14)
254#define XDMAC_GD_DI15 (0x1u << 15)
255#define XDMAC_GD_DI16 (0x1u << 16)
256#define XDMAC_GD_DI17 (0x1u << 17)
257#define XDMAC_GD_DI18 (0x1u << 18)
258#define XDMAC_GD_DI19 (0x1u << 19)
259#define XDMAC_GD_DI20 (0x1u << 20)
260#define XDMAC_GD_DI21 (0x1u << 21)
261#define XDMAC_GD_DI22 (0x1u << 22)
262#define XDMAC_GD_DI23 (0x1u << 23)
263/* -------- XDMAC_GS : (XDMAC Offset: 0x24) Global Channel Status Register -------- */
264#define XDMAC_GS_ST0 (0x1u << 0)
265#define XDMAC_GS_ST1 (0x1u << 1)
266#define XDMAC_GS_ST2 (0x1u << 2)
267#define XDMAC_GS_ST3 (0x1u << 3)
268#define XDMAC_GS_ST4 (0x1u << 4)
269#define XDMAC_GS_ST5 (0x1u << 5)
270#define XDMAC_GS_ST6 (0x1u << 6)
271#define XDMAC_GS_ST7 (0x1u << 7)
272#define XDMAC_GS_ST8 (0x1u << 8)
273#define XDMAC_GS_ST9 (0x1u << 9)
274#define XDMAC_GS_ST10 (0x1u << 10)
275#define XDMAC_GS_ST11 (0x1u << 11)
276#define XDMAC_GS_ST12 (0x1u << 12)
277#define XDMAC_GS_ST13 (0x1u << 13)
278#define XDMAC_GS_ST14 (0x1u << 14)
279#define XDMAC_GS_ST15 (0x1u << 15)
280#define XDMAC_GS_ST16 (0x1u << 16)
281#define XDMAC_GS_ST17 (0x1u << 17)
282#define XDMAC_GS_ST18 (0x1u << 18)
283#define XDMAC_GS_ST19 (0x1u << 19)
284#define XDMAC_GS_ST20 (0x1u << 20)
285#define XDMAC_GS_ST21 (0x1u << 21)
286#define XDMAC_GS_ST22 (0x1u << 22)
287#define XDMAC_GS_ST23 (0x1u << 23)
288/* -------- XDMAC_GRS : (XDMAC Offset: 0x28) Global Channel Read Suspend Register -------- */
289#define XDMAC_GRS_RS0 (0x1u << 0)
290#define XDMAC_GRS_RS1 (0x1u << 1)
291#define XDMAC_GRS_RS2 (0x1u << 2)
292#define XDMAC_GRS_RS3 (0x1u << 3)
293#define XDMAC_GRS_RS4 (0x1u << 4)
294#define XDMAC_GRS_RS5 (0x1u << 5)
295#define XDMAC_GRS_RS6 (0x1u << 6)
296#define XDMAC_GRS_RS7 (0x1u << 7)
297#define XDMAC_GRS_RS8 (0x1u << 8)
298#define XDMAC_GRS_RS9 (0x1u << 9)
299#define XDMAC_GRS_RS10 (0x1u << 10)
300#define XDMAC_GRS_RS11 (0x1u << 11)
301#define XDMAC_GRS_RS12 (0x1u << 12)
302#define XDMAC_GRS_RS13 (0x1u << 13)
303#define XDMAC_GRS_RS14 (0x1u << 14)
304#define XDMAC_GRS_RS15 (0x1u << 15)
305#define XDMAC_GRS_RS16 (0x1u << 16)
306#define XDMAC_GRS_RS17 (0x1u << 17)
307#define XDMAC_GRS_RS18 (0x1u << 18)
308#define XDMAC_GRS_RS19 (0x1u << 19)
309#define XDMAC_GRS_RS20 (0x1u << 20)
310#define XDMAC_GRS_RS21 (0x1u << 21)
311#define XDMAC_GRS_RS22 (0x1u << 22)
312#define XDMAC_GRS_RS23 (0x1u << 23)
313/* -------- XDMAC_GWS : (XDMAC Offset: 0x2C) Global Channel Write Suspend Register -------- */
314#define XDMAC_GWS_WS0 (0x1u << 0)
315#define XDMAC_GWS_WS1 (0x1u << 1)
316#define XDMAC_GWS_WS2 (0x1u << 2)
317#define XDMAC_GWS_WS3 (0x1u << 3)
318#define XDMAC_GWS_WS4 (0x1u << 4)
319#define XDMAC_GWS_WS5 (0x1u << 5)
320#define XDMAC_GWS_WS6 (0x1u << 6)
321#define XDMAC_GWS_WS7 (0x1u << 7)
322#define XDMAC_GWS_WS8 (0x1u << 8)
323#define XDMAC_GWS_WS9 (0x1u << 9)
324#define XDMAC_GWS_WS10 (0x1u << 10)
325#define XDMAC_GWS_WS11 (0x1u << 11)
326#define XDMAC_GWS_WS12 (0x1u << 12)
327#define XDMAC_GWS_WS13 (0x1u << 13)
328#define XDMAC_GWS_WS14 (0x1u << 14)
329#define XDMAC_GWS_WS15 (0x1u << 15)
330#define XDMAC_GWS_WS16 (0x1u << 16)
331#define XDMAC_GWS_WS17 (0x1u << 17)
332#define XDMAC_GWS_WS18 (0x1u << 18)
333#define XDMAC_GWS_WS19 (0x1u << 19)
334#define XDMAC_GWS_WS20 (0x1u << 20)
335#define XDMAC_GWS_WS21 (0x1u << 21)
336#define XDMAC_GWS_WS22 (0x1u << 22)
337#define XDMAC_GWS_WS23 (0x1u << 23)
338/* -------- XDMAC_GRWS : (XDMAC Offset: 0x30) Global Channel Read Write Suspend Register -------- */
339#define XDMAC_GRWS_RWS0 (0x1u << 0)
340#define XDMAC_GRWS_RWS1 (0x1u << 1)
341#define XDMAC_GRWS_RWS2 (0x1u << 2)
342#define XDMAC_GRWS_RWS3 (0x1u << 3)
343#define XDMAC_GRWS_RWS4 (0x1u << 4)
344#define XDMAC_GRWS_RWS5 (0x1u << 5)
345#define XDMAC_GRWS_RWS6 (0x1u << 6)
346#define XDMAC_GRWS_RWS7 (0x1u << 7)
347#define XDMAC_GRWS_RWS8 (0x1u << 8)
348#define XDMAC_GRWS_RWS9 (0x1u << 9)
349#define XDMAC_GRWS_RWS10 (0x1u << 10)
350#define XDMAC_GRWS_RWS11 (0x1u << 11)
351#define XDMAC_GRWS_RWS12 (0x1u << 12)
352#define XDMAC_GRWS_RWS13 (0x1u << 13)
353#define XDMAC_GRWS_RWS14 (0x1u << 14)
354#define XDMAC_GRWS_RWS15 (0x1u << 15)
355#define XDMAC_GRWS_RWS16 (0x1u << 16)
356#define XDMAC_GRWS_RWS17 (0x1u << 17)
357#define XDMAC_GRWS_RWS18 (0x1u << 18)
358#define XDMAC_GRWS_RWS19 (0x1u << 19)
359#define XDMAC_GRWS_RWS20 (0x1u << 20)
360#define XDMAC_GRWS_RWS21 (0x1u << 21)
361#define XDMAC_GRWS_RWS22 (0x1u << 22)
362#define XDMAC_GRWS_RWS23 (0x1u << 23)
363/* -------- XDMAC_GRWR : (XDMAC Offset: 0x34) Global Channel Read Write Resume Register -------- */
364#define XDMAC_GRWR_RWR0 (0x1u << 0)
365#define XDMAC_GRWR_RWR1 (0x1u << 1)
366#define XDMAC_GRWR_RWR2 (0x1u << 2)
367#define XDMAC_GRWR_RWR3 (0x1u << 3)
368#define XDMAC_GRWR_RWR4 (0x1u << 4)
369#define XDMAC_GRWR_RWR5 (0x1u << 5)
370#define XDMAC_GRWR_RWR6 (0x1u << 6)
371#define XDMAC_GRWR_RWR7 (0x1u << 7)
372#define XDMAC_GRWR_RWR8 (0x1u << 8)
373#define XDMAC_GRWR_RWR9 (0x1u << 9)
374#define XDMAC_GRWR_RWR10 (0x1u << 10)
375#define XDMAC_GRWR_RWR11 (0x1u << 11)
376#define XDMAC_GRWR_RWR12 (0x1u << 12)
377#define XDMAC_GRWR_RWR13 (0x1u << 13)
378#define XDMAC_GRWR_RWR14 (0x1u << 14)
379#define XDMAC_GRWR_RWR15 (0x1u << 15)
380#define XDMAC_GRWR_RWR16 (0x1u << 16)
381#define XDMAC_GRWR_RWR17 (0x1u << 17)
382#define XDMAC_GRWR_RWR18 (0x1u << 18)
383#define XDMAC_GRWR_RWR19 (0x1u << 19)
384#define XDMAC_GRWR_RWR20 (0x1u << 20)
385#define XDMAC_GRWR_RWR21 (0x1u << 21)
386#define XDMAC_GRWR_RWR22 (0x1u << 22)
387#define XDMAC_GRWR_RWR23 (0x1u << 23)
388/* -------- XDMAC_GSWR : (XDMAC Offset: 0x38) Global Channel Software Request Register -------- */
389#define XDMAC_GSWR_SWREQ0 (0x1u << 0)
390#define XDMAC_GSWR_SWREQ1 (0x1u << 1)
391#define XDMAC_GSWR_SWREQ2 (0x1u << 2)
392#define XDMAC_GSWR_SWREQ3 (0x1u << 3)
393#define XDMAC_GSWR_SWREQ4 (0x1u << 4)
394#define XDMAC_GSWR_SWREQ5 (0x1u << 5)
395#define XDMAC_GSWR_SWREQ6 (0x1u << 6)
396#define XDMAC_GSWR_SWREQ7 (0x1u << 7)
397#define XDMAC_GSWR_SWREQ8 (0x1u << 8)
398#define XDMAC_GSWR_SWREQ9 (0x1u << 9)
399#define XDMAC_GSWR_SWREQ10 (0x1u << 10)
400#define XDMAC_GSWR_SWREQ11 (0x1u << 11)
401#define XDMAC_GSWR_SWREQ12 (0x1u << 12)
402#define XDMAC_GSWR_SWREQ13 (0x1u << 13)
403#define XDMAC_GSWR_SWREQ14 (0x1u << 14)
404#define XDMAC_GSWR_SWREQ15 (0x1u << 15)
405#define XDMAC_GSWR_SWREQ16 (0x1u << 16)
406#define XDMAC_GSWR_SWREQ17 (0x1u << 17)
407#define XDMAC_GSWR_SWREQ18 (0x1u << 18)
408#define XDMAC_GSWR_SWREQ19 (0x1u << 19)
409#define XDMAC_GSWR_SWREQ20 (0x1u << 20)
410#define XDMAC_GSWR_SWREQ21 (0x1u << 21)
411#define XDMAC_GSWR_SWREQ22 (0x1u << 22)
412#define XDMAC_GSWR_SWREQ23 (0x1u << 23)
413/* -------- XDMAC_GSWS : (XDMAC Offset: 0x3C) Global Channel Software Request Status Register -------- */
414#define XDMAC_GSWS_SWRS0 (0x1u << 0)
415#define XDMAC_GSWS_SWRS1 (0x1u << 1)
416#define XDMAC_GSWS_SWRS2 (0x1u << 2)
417#define XDMAC_GSWS_SWRS3 (0x1u << 3)
418#define XDMAC_GSWS_SWRS4 (0x1u << 4)
419#define XDMAC_GSWS_SWRS5 (0x1u << 5)
420#define XDMAC_GSWS_SWRS6 (0x1u << 6)
421#define XDMAC_GSWS_SWRS7 (0x1u << 7)
422#define XDMAC_GSWS_SWRS8 (0x1u << 8)
423#define XDMAC_GSWS_SWRS9 (0x1u << 9)
424#define XDMAC_GSWS_SWRS10 (0x1u << 10)
425#define XDMAC_GSWS_SWRS11 (0x1u << 11)
426#define XDMAC_GSWS_SWRS12 (0x1u << 12)
427#define XDMAC_GSWS_SWRS13 (0x1u << 13)
428#define XDMAC_GSWS_SWRS14 (0x1u << 14)
429#define XDMAC_GSWS_SWRS15 (0x1u << 15)
430#define XDMAC_GSWS_SWRS16 (0x1u << 16)
431#define XDMAC_GSWS_SWRS17 (0x1u << 17)
432#define XDMAC_GSWS_SWRS18 (0x1u << 18)
433#define XDMAC_GSWS_SWRS19 (0x1u << 19)
434#define XDMAC_GSWS_SWRS20 (0x1u << 20)
435#define XDMAC_GSWS_SWRS21 (0x1u << 21)
436#define XDMAC_GSWS_SWRS22 (0x1u << 22)
437#define XDMAC_GSWS_SWRS23 (0x1u << 23)
438/* -------- XDMAC_GSWF : (XDMAC Offset: 0x40) Global Channel Software Flush Request Register -------- */
439#define XDMAC_GSWF_SWF0 (0x1u << 0)
440#define XDMAC_GSWF_SWF1 (0x1u << 1)
441#define XDMAC_GSWF_SWF2 (0x1u << 2)
442#define XDMAC_GSWF_SWF3 (0x1u << 3)
443#define XDMAC_GSWF_SWF4 (0x1u << 4)
444#define XDMAC_GSWF_SWF5 (0x1u << 5)
445#define XDMAC_GSWF_SWF6 (0x1u << 6)
446#define XDMAC_GSWF_SWF7 (0x1u << 7)
447#define XDMAC_GSWF_SWF8 (0x1u << 8)
448#define XDMAC_GSWF_SWF9 (0x1u << 9)
449#define XDMAC_GSWF_SWF10 (0x1u << 10)
450#define XDMAC_GSWF_SWF11 (0x1u << 11)
451#define XDMAC_GSWF_SWF12 (0x1u << 12)
452#define XDMAC_GSWF_SWF13 (0x1u << 13)
453#define XDMAC_GSWF_SWF14 (0x1u << 14)
454#define XDMAC_GSWF_SWF15 (0x1u << 15)
455#define XDMAC_GSWF_SWF16 (0x1u << 16)
456#define XDMAC_GSWF_SWF17 (0x1u << 17)
457#define XDMAC_GSWF_SWF18 (0x1u << 18)
458#define XDMAC_GSWF_SWF19 (0x1u << 19)
459#define XDMAC_GSWF_SWF20 (0x1u << 20)
460#define XDMAC_GSWF_SWF21 (0x1u << 21)
461#define XDMAC_GSWF_SWF22 (0x1u << 22)
462#define XDMAC_GSWF_SWF23 (0x1u << 23)
463/* -------- XDMAC_CIE : (XDMAC Offset: N/A) Channel Interrupt Enable Register -------- */
464#define XDMAC_CIE_BIE (0x1u << 0)
465#define XDMAC_CIE_LIE (0x1u << 1)
466#define XDMAC_CIE_DIE (0x1u << 2)
467#define XDMAC_CIE_FIE (0x1u << 3)
468#define XDMAC_CIE_RBIE (0x1u << 4)
469#define XDMAC_CIE_WBIE (0x1u << 5)
470#define XDMAC_CIE_ROIE (0x1u << 6)
471/* -------- XDMAC_CID : (XDMAC Offset: N/A) Channel Interrupt Disable Register -------- */
472#define XDMAC_CID_BID (0x1u << 0)
473#define XDMAC_CID_LID (0x1u << 1)
474#define XDMAC_CID_DID (0x1u << 2)
475#define XDMAC_CID_FID (0x1u << 3)
476#define XDMAC_CID_RBEID (0x1u << 4)
477#define XDMAC_CID_WBEID (0x1u << 5)
478#define XDMAC_CID_ROID (0x1u << 6)
479/* -------- XDMAC_CIM : (XDMAC Offset: N/A) Channel Interrupt Mask Register -------- */
480#define XDMAC_CIM_BIM (0x1u << 0)
481#define XDMAC_CIM_LIM (0x1u << 1)
482#define XDMAC_CIM_DIM (0x1u << 2)
483#define XDMAC_CIM_FIM (0x1u << 3)
484#define XDMAC_CIM_RBEIM (0x1u << 4)
485#define XDMAC_CIM_WBEIM (0x1u << 5)
486#define XDMAC_CIM_ROIM (0x1u << 6)
487/* -------- XDMAC_CIS : (XDMAC Offset: N/A) Channel Interrupt Status Register -------- */
488#define XDMAC_CIS_BIS (0x1u << 0)
489#define XDMAC_CIS_LIS (0x1u << 1)
490#define XDMAC_CIS_DIS (0x1u << 2)
491#define XDMAC_CIS_FIS (0x1u << 3)
492#define XDMAC_CIS_RBEIS (0x1u << 4)
493#define XDMAC_CIS_WBEIS (0x1u << 5)
494#define XDMAC_CIS_ROIS (0x1u << 6)
495/* -------- XDMAC_CSA : (XDMAC Offset: N/A) Channel Source Address Register -------- */
496#define XDMAC_CSA_SA_Pos 0
497#define XDMAC_CSA_SA_Msk (0xffffffffu << XDMAC_CSA_SA_Pos)
498#define XDMAC_CSA_SA(value) ((XDMAC_CSA_SA_Msk & ((value) << XDMAC_CSA_SA_Pos)))
499/* -------- XDMAC_CDA : (XDMAC Offset: N/A) Channel Destination Address Register -------- */
500#define XDMAC_CDA_DA_Pos 0
501#define XDMAC_CDA_DA_Msk (0xffffffffu << XDMAC_CDA_DA_Pos)
502#define XDMAC_CDA_DA(value) ((XDMAC_CDA_DA_Msk & ((value) << XDMAC_CDA_DA_Pos)))
503/* -------- XDMAC_CNDA : (XDMAC Offset: N/A) Channel Next Descriptor Address Register -------- */
504#define XDMAC_CNDA_NDAIF (0x1u << 0)
505#define XDMAC_CNDA_NDA_Pos 2
506#define XDMAC_CNDA_NDA_Msk (0x3fffffffu << XDMAC_CNDA_NDA_Pos)
507#define XDMAC_CNDA_NDA(value) ((XDMAC_CNDA_NDA_Msk & ((value) << XDMAC_CNDA_NDA_Pos)))
508/* -------- XDMAC_CNDC : (XDMAC Offset: N/A) Channel Next Descriptor Control Register -------- */
509#define XDMAC_CNDC_NDE (0x1u << 0)
510#define XDMAC_CNDC_NDE_DSCR_FETCH_DIS (0x0u << 0)
511#define XDMAC_CNDC_NDE_DSCR_FETCH_EN (0x1u << 0)
512#define XDMAC_CNDC_NDSUP (0x1u << 1)
513#define XDMAC_CNDC_NDSUP_SRC_PARAMS_UNCHANGED (0x0u << 1)
514#define XDMAC_CNDC_NDSUP_SRC_PARAMS_UPDATED (0x1u << 1)
515#define XDMAC_CNDC_NDDUP (0x1u << 2)
516#define XDMAC_CNDC_NDDUP_DST_PARAMS_UNCHANGED (0x0u << 2)
517#define XDMAC_CNDC_NDDUP_DST_PARAMS_UPDATED (0x1u << 2)
518#define XDMAC_CNDC_NDVIEW_Pos 3
519#define XDMAC_CNDC_NDVIEW_Msk (0x3u << XDMAC_CNDC_NDVIEW_Pos)
520#define XDMAC_CNDC_NDVIEW(value) ((XDMAC_CNDC_NDVIEW_Msk & ((value) << XDMAC_CNDC_NDVIEW_Pos)))
521#define XDMAC_CNDC_NDVIEW_NDV0 (0x0u << 3)
522#define XDMAC_CNDC_NDVIEW_NDV1 (0x1u << 3)
523#define XDMAC_CNDC_NDVIEW_NDV2 (0x2u << 3)
524#define XDMAC_CNDC_NDVIEW_NDV3 (0x3u << 3)
525/* -------- XDMAC_CUBC : (XDMAC Offset: N/A) Channel Microblock Control Register -------- */
526#define XDMAC_CUBC_UBLEN_Pos 0
527#define XDMAC_CUBC_UBLEN_Msk (0xffffffu << XDMAC_CUBC_UBLEN_Pos)
528#define XDMAC_CUBC_UBLEN(value) ((XDMAC_CUBC_UBLEN_Msk & ((value) << XDMAC_CUBC_UBLEN_Pos)))
529/* -------- XDMAC_CBC : (XDMAC Offset: N/A) Channel Block Control Register -------- */
530#define XDMAC_CBC_BLEN_Pos 0
531#define XDMAC_CBC_BLEN_Msk (0xfffu << XDMAC_CBC_BLEN_Pos)
532#define XDMAC_CBC_BLEN(value) ((XDMAC_CBC_BLEN_Msk & ((value) << XDMAC_CBC_BLEN_Pos)))
533/* -------- XDMAC_CC : (XDMAC Offset: N/A) Channel Configuration Register -------- */
534#define XDMAC_CC_TYPE (0x1u << 0)
535#define XDMAC_CC_TYPE_MEM_TRAN (0x0u << 0)
536#define XDMAC_CC_TYPE_PER_TRAN (0x1u << 0)
537#define XDMAC_CC_MBSIZE_Pos 1
538#define XDMAC_CC_MBSIZE_Msk (0x3u << XDMAC_CC_MBSIZE_Pos)
539#define XDMAC_CC_MBSIZE(value) ((XDMAC_CC_MBSIZE_Msk & ((value) << XDMAC_CC_MBSIZE_Pos)))
540#define XDMAC_CC_MBSIZE_SINGLE (0x0u << 1)
541#define XDMAC_CC_MBSIZE_FOUR (0x1u << 1)
542#define XDMAC_CC_MBSIZE_EIGHT (0x2u << 1)
543#define XDMAC_CC_MBSIZE_SIXTEEN (0x3u << 1)
544#define XDMAC_CC_DSYNC (0x1u << 4)
545#define XDMAC_CC_DSYNC_PER2MEM (0x0u << 4)
546#define XDMAC_CC_DSYNC_MEM2PER (0x1u << 4)
547#define XDMAC_CC_SWREQ (0x1u << 6)
548#define XDMAC_CC_SWREQ_HWR_CONNECTED (0x0u << 6)
549#define XDMAC_CC_SWREQ_SWR_CONNECTED (0x1u << 6)
550#define XDMAC_CC_MEMSET (0x1u << 7)
551#define XDMAC_CC_MEMSET_NORMAL_MODE (0x0u << 7)
552#define XDMAC_CC_MEMSET_HW_MODE (0x1u << 7)
553#define XDMAC_CC_CSIZE_Pos 8
554#define XDMAC_CC_CSIZE_Msk (0x7u << XDMAC_CC_CSIZE_Pos)
555#define XDMAC_CC_CSIZE(value) ((XDMAC_CC_CSIZE_Msk & ((value) << XDMAC_CC_CSIZE_Pos)))
556#define XDMAC_CC_CSIZE_CHK_1 (0x0u << 8)
557#define XDMAC_CC_CSIZE_CHK_2 (0x1u << 8)
558#define XDMAC_CC_CSIZE_CHK_4 (0x2u << 8)
559#define XDMAC_CC_CSIZE_CHK_8 (0x3u << 8)
560#define XDMAC_CC_CSIZE_CHK_16 (0x4u << 8)
561#define XDMAC_CC_DWIDTH_Pos 11
562#define XDMAC_CC_DWIDTH_Msk (0x3u << XDMAC_CC_DWIDTH_Pos)
563#define XDMAC_CC_DWIDTH(value) ((XDMAC_CC_DWIDTH_Msk & ((value) << XDMAC_CC_DWIDTH_Pos)))
564#define XDMAC_CC_DWIDTH_BYTE (0x0u << 11)
565#define XDMAC_CC_DWIDTH_HALFWORD (0x1u << 11)
566#define XDMAC_CC_DWIDTH_WORD (0x2u << 11)
567#define XDMAC_CC_SIF (0x1u << 13)
568#define XDMAC_CC_SIF_AHB_IF0 (0x0u << 13)
569#define XDMAC_CC_SIF_AHB_IF1 (0x1u << 13)
570#define XDMAC_CC_DIF (0x1u << 14)
571#define XDMAC_CC_DIF_AHB_IF0 (0x0u << 14)
572#define XDMAC_CC_DIF_AHB_IF1 (0x1u << 14)
573#define XDMAC_CC_SAM_Pos 16
574#define XDMAC_CC_SAM_Msk (0x3u << XDMAC_CC_SAM_Pos)
575#define XDMAC_CC_SAM(value) ((XDMAC_CC_SAM_Msk & ((value) << XDMAC_CC_SAM_Pos)))
576#define XDMAC_CC_SAM_FIXED_AM (0x0u << 16)
577#define XDMAC_CC_SAM_INCREMENTED_AM (0x1u << 16)
578#define XDMAC_CC_SAM_UBS_AM (0x2u << 16)
579#define XDMAC_CC_SAM_UBS_DS_AM (0x3u << 16)
580#define XDMAC_CC_DAM_Pos 18
581#define XDMAC_CC_DAM_Msk (0x3u << XDMAC_CC_DAM_Pos)
582#define XDMAC_CC_DAM(value) ((XDMAC_CC_DAM_Msk & ((value) << XDMAC_CC_DAM_Pos)))
583#define XDMAC_CC_DAM_FIXED_AM (0x0u << 18)
584#define XDMAC_CC_DAM_INCREMENTED_AM (0x1u << 18)
585#define XDMAC_CC_DAM_UBS_AM (0x2u << 18)
586#define XDMAC_CC_DAM_UBS_DS_AM (0x3u << 18)
587#define XDMAC_CC_INITD (0x1u << 21)
588#define XDMAC_CC_INITD_TERMINATED (0x0u << 21)
589#define XDMAC_CC_INITD_IN_PROGRESS (0x1u << 21)
590#define XDMAC_CC_RDIP (0x1u << 22)
591#define XDMAC_CC_RDIP_DONE (0x0u << 22)
592#define XDMAC_CC_RDIP_IN_PROGRESS (0x1u << 22)
593#define XDMAC_CC_WRIP (0x1u << 23)
594#define XDMAC_CC_WRIP_DONE (0x0u << 23)
595#define XDMAC_CC_WRIP_IN_PROGRESS (0x1u << 23)
596#define XDMAC_CC_PERID_Pos 24
597#define XDMAC_CC_PERID_Msk (0x7fu << XDMAC_CC_PERID_Pos)
598#define XDMAC_CC_PERID(value) ((XDMAC_CC_PERID_Msk & ((value) << XDMAC_CC_PERID_Pos)))
599/* -------- XDMAC_CDS_MSP : (XDMAC Offset: N/A) Channel Data Stride Memory Set Pattern -------- */
600#define XDMAC_CDS_MSP_SDS_MSP_Pos 0
601#define XDMAC_CDS_MSP_SDS_MSP_Msk (0xffffu << XDMAC_CDS_MSP_SDS_MSP_Pos)
602#define XDMAC_CDS_MSP_SDS_MSP(value) ((XDMAC_CDS_MSP_SDS_MSP_Msk & ((value) << XDMAC_CDS_MSP_SDS_MSP_Pos)))
603#define XDMAC_CDS_MSP_DDS_MSP_Pos 16
604#define XDMAC_CDS_MSP_DDS_MSP_Msk (0xffffu << XDMAC_CDS_MSP_DDS_MSP_Pos)
605#define XDMAC_CDS_MSP_DDS_MSP(value) ((XDMAC_CDS_MSP_DDS_MSP_Msk & ((value) << XDMAC_CDS_MSP_DDS_MSP_Pos)))
606/* -------- XDMAC_CSUS : (XDMAC Offset: N/A) Channel Source Microblock Stride -------- */
607#define XDMAC_CSUS_SUBS_Pos 0
608#define XDMAC_CSUS_SUBS_Msk (0xffffffu << XDMAC_CSUS_SUBS_Pos)
609#define XDMAC_CSUS_SUBS(value) ((XDMAC_CSUS_SUBS_Msk & ((value) << XDMAC_CSUS_SUBS_Pos)))
610/* -------- XDMAC_CDUS : (XDMAC Offset: N/A) Channel Destination Microblock Stride -------- */
611#define XDMAC_CDUS_DUBS_Pos 0
612#define XDMAC_CDUS_DUBS_Msk (0xffffffu << XDMAC_CDUS_DUBS_Pos)
613#define XDMAC_CDUS_DUBS(value) ((XDMAC_CDUS_DUBS_Msk & ((value) << XDMAC_CDUS_DUBS_Pos)))
614/* -------- XDMAC_VERSION : (XDMAC Offset: 0xFFC) XDMAC Version Register -------- */
615#define XDMAC_VERSION_VERSION_Pos 0
616#define XDMAC_VERSION_VERSION_Msk (0xfffu << XDMAC_VERSION_VERSION_Pos)
617#define XDMAC_VERSION_VERSION(value) ((XDMAC_VERSION_VERSION_Msk & ((value) << XDMAC_VERSION_VERSION_Pos)))
618#define XDMAC_VERSION_MFN_Pos 16
619#define XDMAC_VERSION_MFN_Msk (0x7u << XDMAC_VERSION_MFN_Pos)
620#define XDMAC_VERSION_MFN(value) ((XDMAC_VERSION_MFN_Msk & ((value) << XDMAC_VERSION_MFN_Pos)))
621
625#endif /* _SAMV71_XDMAC_COMPONENT_ */
#define __O
Definition: core_cm7.h:286
#define __IO
Definition: core_cm7.h:287
#define __I
Definition: core_cm7.h:284
XdmacChid hardware registers.
Definition: component_xdmac.h:41
Definition: component_xdmac.h:60
__IO uint32_t XDMAC_VERSION
(Xdmac Offset: 0xFFC) XDMAC Version Register
Definition: component_xdmac.h:81