Robobo
instance_dmac.h
1 /* ----------------------------------------------------------------------------
2  * SAM Software Package License
3  * ----------------------------------------------------------------------------
4  * Copyright (c) 2012, Atmel Corporation
5  *
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following condition is met:
10  *
11  * - Redistributions of source code must retain the above copyright notice,
12  * this list of conditions and the disclaimer below.
13  *
14  * Atmel's name may not be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  * ----------------------------------------------------------------------------
28  */
29 
30 #ifndef _SAM3XA_DMAC_INSTANCE_
31 #define _SAM3XA_DMAC_INSTANCE_
32 
33 /* ========== Register definition for DMAC peripheral ========== */
34 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
35 #define REG_DMAC_GCFG (0x400C4000U)
36 #define REG_DMAC_EN (0x400C4004U)
37 #define REG_DMAC_SREQ (0x400C4008U)
38 #define REG_DMAC_CREQ (0x400C400CU)
39 #define REG_DMAC_LAST (0x400C4010U)
40 #define REG_DMAC_EBCIER (0x400C4018U)
41 #define REG_DMAC_EBCIDR (0x400C401CU)
42 #define REG_DMAC_EBCIMR (0x400C4020U)
43 #define REG_DMAC_EBCISR (0x400C4024U)
44 #define REG_DMAC_CHER (0x400C4028U)
45 #define REG_DMAC_CHDR (0x400C402CU)
46 #define REG_DMAC_CHSR (0x400C4030U)
47 #define REG_DMAC_SADDR0 (0x400C403CU)
48 #define REG_DMAC_DADDR0 (0x400C4040U)
49 #define REG_DMAC_DSCR0 (0x400C4044U)
50 #define REG_DMAC_CTRLA0 (0x400C4048U)
51 #define REG_DMAC_CTRLB0 (0x400C404CU)
52 #define REG_DMAC_CFG0 (0x400C4050U)
53 #define REG_DMAC_SADDR1 (0x400C4064U)
54 #define REG_DMAC_DADDR1 (0x400C4068U)
55 #define REG_DMAC_DSCR1 (0x400C406CU)
56 #define REG_DMAC_CTRLA1 (0x400C4070U)
57 #define REG_DMAC_CTRLB1 (0x400C4074U)
58 #define REG_DMAC_CFG1 (0x400C4078U)
59 #define REG_DMAC_SADDR2 (0x400C408CU)
60 #define REG_DMAC_DADDR2 (0x400C4090U)
61 #define REG_DMAC_DSCR2 (0x400C4094U)
62 #define REG_DMAC_CTRLA2 (0x400C4098U)
63 #define REG_DMAC_CTRLB2 (0x400C409CU)
64 #define REG_DMAC_CFG2 (0x400C40A0U)
65 #define REG_DMAC_SADDR3 (0x400C40B4U)
66 #define REG_DMAC_DADDR3 (0x400C40B8U)
67 #define REG_DMAC_DSCR3 (0x400C40BCU)
68 #define REG_DMAC_CTRLA3 (0x400C40C0U)
69 #define REG_DMAC_CTRLB3 (0x400C40C4U)
70 #define REG_DMAC_CFG3 (0x400C40C8U)
71 #define REG_DMAC_SADDR4 (0x400C40DCU)
72 #define REG_DMAC_DADDR4 (0x400C40E0U)
73 #define REG_DMAC_DSCR4 (0x400C40E4U)
74 #define REG_DMAC_CTRLA4 (0x400C40E8U)
75 #define REG_DMAC_CTRLB4 (0x400C40ECU)
76 #define REG_DMAC_CFG4 (0x400C40F0U)
77 #define REG_DMAC_SADDR5 (0x400C4104U)
78 #define REG_DMAC_DADDR5 (0x400C4108U)
79 #define REG_DMAC_DSCR5 (0x400C410CU)
80 #define REG_DMAC_CTRLA5 (0x400C4110U)
81 #define REG_DMAC_CTRLB5 (0x400C4114U)
82 #define REG_DMAC_CFG5 (0x400C4118U)
83 #define REG_DMAC_WPMR (0x400C41E4U)
84 #define REG_DMAC_WPSR (0x400C41E8U)
85 #else
86 #define REG_DMAC_GCFG (*(RwReg*)0x400C4000U)
87 #define REG_DMAC_EN (*(RwReg*)0x400C4004U)
88 #define REG_DMAC_SREQ (*(RwReg*)0x400C4008U)
89 #define REG_DMAC_CREQ (*(RwReg*)0x400C400CU)
90 #define REG_DMAC_LAST (*(RwReg*)0x400C4010U)
91 #define REG_DMAC_EBCIER (*(WoReg*)0x400C4018U)
92 #define REG_DMAC_EBCIDR (*(WoReg*)0x400C401CU)
93 #define REG_DMAC_EBCIMR (*(RoReg*)0x400C4020U)
94 #define REG_DMAC_EBCISR (*(RoReg*)0x400C4024U)
95 #define REG_DMAC_CHER (*(WoReg*)0x400C4028U)
96 #define REG_DMAC_CHDR (*(WoReg*)0x400C402CU)
97 #define REG_DMAC_CHSR (*(RoReg*)0x400C4030U)
98 #define REG_DMAC_SADDR0 (*(RwReg*)0x400C403CU)
99 #define REG_DMAC_DADDR0 (*(RwReg*)0x400C4040U)
100 #define REG_DMAC_DSCR0 (*(RwReg*)0x400C4044U)
101 #define REG_DMAC_CTRLA0 (*(RwReg*)0x400C4048U)
102 #define REG_DMAC_CTRLB0 (*(RwReg*)0x400C404CU)
103 #define REG_DMAC_CFG0 (*(RwReg*)0x400C4050U)
104 #define REG_DMAC_SADDR1 (*(RwReg*)0x400C4064U)
105 #define REG_DMAC_DADDR1 (*(RwReg*)0x400C4068U)
106 #define REG_DMAC_DSCR1 (*(RwReg*)0x400C406CU)
107 #define REG_DMAC_CTRLA1 (*(RwReg*)0x400C4070U)
108 #define REG_DMAC_CTRLB1 (*(RwReg*)0x400C4074U)
109 #define REG_DMAC_CFG1 (*(RwReg*)0x400C4078U)
110 #define REG_DMAC_SADDR2 (*(RwReg*)0x400C408CU)
111 #define REG_DMAC_DADDR2 (*(RwReg*)0x400C4090U)
112 #define REG_DMAC_DSCR2 (*(RwReg*)0x400C4094U)
113 #define REG_DMAC_CTRLA2 (*(RwReg*)0x400C4098U)
114 #define REG_DMAC_CTRLB2 (*(RwReg*)0x400C409CU)
115 #define REG_DMAC_CFG2 (*(RwReg*)0x400C40A0U)
116 #define REG_DMAC_SADDR3 (*(RwReg*)0x400C40B4U)
117 #define REG_DMAC_DADDR3 (*(RwReg*)0x400C40B8U)
118 #define REG_DMAC_DSCR3 (*(RwReg*)0x400C40BCU)
119 #define REG_DMAC_CTRLA3 (*(RwReg*)0x400C40C0U)
120 #define REG_DMAC_CTRLB3 (*(RwReg*)0x400C40C4U)
121 #define REG_DMAC_CFG3 (*(RwReg*)0x400C40C8U)
122 #define REG_DMAC_SADDR4 (*(RwReg*)0x400C40DCU)
123 #define REG_DMAC_DADDR4 (*(RwReg*)0x400C40E0U)
124 #define REG_DMAC_DSCR4 (*(RwReg*)0x400C40E4U)
125 #define REG_DMAC_CTRLA4 (*(RwReg*)0x400C40E8U)
126 #define REG_DMAC_CTRLB4 (*(RwReg*)0x400C40ECU)
127 #define REG_DMAC_CFG4 (*(RwReg*)0x400C40F0U)
128 #define REG_DMAC_SADDR5 (*(RwReg*)0x400C4104U)
129 #define REG_DMAC_DADDR5 (*(RwReg*)0x400C4108U)
130 #define REG_DMAC_DSCR5 (*(RwReg*)0x400C410CU)
131 #define REG_DMAC_CTRLA5 (*(RwReg*)0x400C4110U)
132 #define REG_DMAC_CTRLB5 (*(RwReg*)0x400C4114U)
133 #define REG_DMAC_CFG5 (*(RwReg*)0x400C4118U)
134 #define REG_DMAC_WPMR (*(RwReg*)0x400C41E4U)
135 #define REG_DMAC_WPSR (*(RoReg*)0x400C41E8U)
136 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
137 
138 #endif /* _SAM3XA_DMAC_INSTANCE_ */