Robobo
instance_pwm.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 _SAM4S_PWM_INSTANCE_
31 #define _SAM4S_PWM_INSTANCE_
32 
33 /* ========== Register definition for PWM peripheral ========== */
34 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
35 #define REG_PWM_CLK (0x40020000U)
36 #define REG_PWM_ENA (0x40020004U)
37 #define REG_PWM_DIS (0x40020008U)
38 #define REG_PWM_SR (0x4002000CU)
39 #define REG_PWM_IER1 (0x40020010U)
40 #define REG_PWM_IDR1 (0x40020014U)
41 #define REG_PWM_IMR1 (0x40020018U)
42 #define REG_PWM_ISR1 (0x4002001CU)
43 #define REG_PWM_SCM (0x40020020U)
44 #define REG_PWM_SCUC (0x40020028U)
45 #define REG_PWM_SCUP (0x4002002CU)
46 #define REG_PWM_SCUPUPD (0x40020030U)
47 #define REG_PWM_IER2 (0x40020034U)
48 #define REG_PWM_IDR2 (0x40020038U)
49 #define REG_PWM_IMR2 (0x4002003CU)
50 #define REG_PWM_ISR2 (0x40020040U)
51 #define REG_PWM_OOV (0x40020044U)
52 #define REG_PWM_OS (0x40020048U)
53 #define REG_PWM_OSS (0x4002004CU)
54 #define REG_PWM_OSC (0x40020050U)
55 #define REG_PWM_OSSUPD (0x40020054U)
56 #define REG_PWM_OSCUPD (0x40020058U)
57 #define REG_PWM_FMR (0x4002005CU)
58 #define REG_PWM_FSR (0x40020060U)
59 #define REG_PWM_FCR (0x40020064U)
60 #define REG_PWM_FPV (0x40020068U)
61 #define REG_PWM_FPE (0x4002006CU)
62 #define REG_PWM_ELMR (0x4002007CU)
63 #define REG_PWM_SMMR (0x400200B0U)
64 #define REG_PWM_WPCR (0x400200E4U)
65 #define REG_PWM_WPSR (0x400200E8U)
66 #define REG_PWM_TPR (0x40020108U)
67 #define REG_PWM_TCR (0x4002010CU)
68 #define REG_PWM_TNPR (0x40020118U)
69 #define REG_PWM_TNCR (0x4002011CU)
70 #define REG_PWM_PTCR (0x40020120U)
71 #define REG_PWM_PTSR (0x40020124U)
72 #define REG_PWM_CMPV0 (0x40020130U)
73 #define REG_PWM_CMPVUPD0 (0x40020134U)
74 #define REG_PWM_CMPM0 (0x40020138U)
75 #define REG_PWM_CMPMUPD0 (0x4002013CU)
76 #define REG_PWM_CMPV1 (0x40020140U)
77 #define REG_PWM_CMPVUPD1 (0x40020144U)
78 #define REG_PWM_CMPM1 (0x40020148U)
79 #define REG_PWM_CMPMUPD1 (0x4002014CU)
80 #define REG_PWM_CMPV2 (0x40020150U)
81 #define REG_PWM_CMPVUPD2 (0x40020154U)
82 #define REG_PWM_CMPM2 (0x40020158U)
83 #define REG_PWM_CMPMUPD2 (0x4002015CU)
84 #define REG_PWM_CMPV3 (0x40020160U)
85 #define REG_PWM_CMPVUPD3 (0x40020164U)
86 #define REG_PWM_CMPM3 (0x40020168U)
87 #define REG_PWM_CMPMUPD3 (0x4002016CU)
88 #define REG_PWM_CMPV4 (0x40020170U)
89 #define REG_PWM_CMPVUPD4 (0x40020174U)
90 #define REG_PWM_CMPM4 (0x40020178U)
91 #define REG_PWM_CMPMUPD4 (0x4002017CU)
92 #define REG_PWM_CMPV5 (0x40020180U)
93 #define REG_PWM_CMPVUPD5 (0x40020184U)
94 #define REG_PWM_CMPM5 (0x40020188U)
95 #define REG_PWM_CMPMUPD5 (0x4002018CU)
96 #define REG_PWM_CMPV6 (0x40020190U)
97 #define REG_PWM_CMPVUPD6 (0x40020194U)
98 #define REG_PWM_CMPM6 (0x40020198U)
99 #define REG_PWM_CMPMUPD6 (0x4002019CU)
100 #define REG_PWM_CMPV7 (0x400201A0U)
101 #define REG_PWM_CMPVUPD7 (0x400201A4U)
102 #define REG_PWM_CMPM7 (0x400201A8U)
103 #define REG_PWM_CMPMUPD7 (0x400201ACU)
104 #define REG_PWM_CMR0 (0x40020200U)
105 #define REG_PWM_CDTY0 (0x40020204U)
106 #define REG_PWM_CDTYUPD0 (0x40020208U)
107 #define REG_PWM_CPRD0 (0x4002020CU)
108 #define REG_PWM_CPRDUPD0 (0x40020210U)
109 #define REG_PWM_CCNT0 (0x40020214U)
110 #define REG_PWM_DT0 (0x40020218U)
111 #define REG_PWM_DTUPD0 (0x4002021CU)
112 #define REG_PWM_CMR1 (0x40020220U)
113 #define REG_PWM_CDTY1 (0x40020224U)
114 #define REG_PWM_CDTYUPD1 (0x40020228U)
115 #define REG_PWM_CPRD1 (0x4002022CU)
116 #define REG_PWM_CPRDUPD1 (0x40020230U)
117 #define REG_PWM_CCNT1 (0x40020234U)
118 #define REG_PWM_DT1 (0x40020238U)
119 #define REG_PWM_DTUPD1 (0x4002023CU)
120 #define REG_PWM_CMR2 (0x40020240U)
121 #define REG_PWM_CDTY2 (0x40020244U)
122 #define REG_PWM_CDTYUPD2 (0x40020248U)
123 #define REG_PWM_CPRD2 (0x4002024CU)
124 #define REG_PWM_CPRDUPD2 (0x40020250U)
125 #define REG_PWM_CCNT2 (0x40020254U)
126 #define REG_PWM_DT2 (0x40020258U)
127 #define REG_PWM_DTUPD2 (0x4002025CU)
128 #define REG_PWM_CMR3 (0x40020260U)
129 #define REG_PWM_CDTY3 (0x40020264U)
130 #define REG_PWM_CDTYUPD3 (0x40020268U)
131 #define REG_PWM_CPRD3 (0x4002026CU)
132 #define REG_PWM_CPRDUPD3 (0x40020270U)
133 #define REG_PWM_CCNT3 (0x40020274U)
134 #define REG_PWM_DT3 (0x40020278U)
135 #define REG_PWM_DTUPD3 (0x4002027CU)
136 #else
137 #define REG_PWM_CLK (*(RwReg*)0x40020000U)
138 #define REG_PWM_ENA (*(WoReg*)0x40020004U)
139 #define REG_PWM_DIS (*(WoReg*)0x40020008U)
140 #define REG_PWM_SR (*(RoReg*)0x4002000CU)
141 #define REG_PWM_IER1 (*(WoReg*)0x40020010U)
142 #define REG_PWM_IDR1 (*(WoReg*)0x40020014U)
143 #define REG_PWM_IMR1 (*(RoReg*)0x40020018U)
144 #define REG_PWM_ISR1 (*(RoReg*)0x4002001CU)
145 #define REG_PWM_SCM (*(RwReg*)0x40020020U)
146 #define REG_PWM_SCUC (*(RwReg*)0x40020028U)
147 #define REG_PWM_SCUP (*(RwReg*)0x4002002CU)
148 #define REG_PWM_SCUPUPD (*(WoReg*)0x40020030U)
149 #define REG_PWM_IER2 (*(WoReg*)0x40020034U)
150 #define REG_PWM_IDR2 (*(WoReg*)0x40020038U)
151 #define REG_PWM_IMR2 (*(RoReg*)0x4002003CU)
152 #define REG_PWM_ISR2 (*(RoReg*)0x40020040U)
153 #define REG_PWM_OOV (*(RwReg*)0x40020044U)
154 #define REG_PWM_OS (*(RwReg*)0x40020048U)
155 #define REG_PWM_OSS (*(WoReg*)0x4002004CU)
156 #define REG_PWM_OSC (*(WoReg*)0x40020050U)
157 #define REG_PWM_OSSUPD (*(WoReg*)0x40020054U)
158 #define REG_PWM_OSCUPD (*(WoReg*)0x40020058U)
159 #define REG_PWM_FMR (*(RwReg*)0x4002005CU)
160 #define REG_PWM_FSR (*(RoReg*)0x40020060U)
161 #define REG_PWM_FCR (*(WoReg*)0x40020064U)
162 #define REG_PWM_FPV (*(RwReg*)0x40020068U)
163 #define REG_PWM_FPE (*(RwReg*)0x4002006CU)
164 #define REG_PWM_ELMR (*(RwReg*)0x4002007CU)
165 #define REG_PWM_SMMR (*(RwReg*)0x400200B0U)
166 #define REG_PWM_WPCR (*(WoReg*)0x400200E4U)
167 #define REG_PWM_WPSR (*(RoReg*)0x400200E8U)
168 #define REG_PWM_TPR (*(RwReg*)0x40020108U)
169 #define REG_PWM_TCR (*(RwReg*)0x4002010CU)
170 #define REG_PWM_TNPR (*(RwReg*)0x40020118U)
171 #define REG_PWM_TNCR (*(RwReg*)0x4002011CU)
172 #define REG_PWM_PTCR (*(WoReg*)0x40020120U)
173 #define REG_PWM_PTSR (*(RoReg*)0x40020124U)
174 #define REG_PWM_CMPV0 (*(RwReg*)0x40020130U)
175 #define REG_PWM_CMPVUPD0 (*(WoReg*)0x40020134U)
176 #define REG_PWM_CMPM0 (*(RwReg*)0x40020138U)
177 #define REG_PWM_CMPMUPD0 (*(WoReg*)0x4002013CU)
178 #define REG_PWM_CMPV1 (*(RwReg*)0x40020140U)
179 #define REG_PWM_CMPVUPD1 (*(WoReg*)0x40020144U)
180 #define REG_PWM_CMPM1 (*(RwReg*)0x40020148U)
181 #define REG_PWM_CMPMUPD1 (*(WoReg*)0x4002014CU)
182 #define REG_PWM_CMPV2 (*(RwReg*)0x40020150U)
183 #define REG_PWM_CMPVUPD2 (*(WoReg*)0x40020154U)
184 #define REG_PWM_CMPM2 (*(RwReg*)0x40020158U)
185 #define REG_PWM_CMPMUPD2 (*(WoReg*)0x4002015CU)
186 #define REG_PWM_CMPV3 (*(RwReg*)0x40020160U)
187 #define REG_PWM_CMPVUPD3 (*(WoReg*)0x40020164U)
188 #define REG_PWM_CMPM3 (*(RwReg*)0x40020168U)
189 #define REG_PWM_CMPMUPD3 (*(WoReg*)0x4002016CU)
190 #define REG_PWM_CMPV4 (*(RwReg*)0x40020170U)
191 #define REG_PWM_CMPVUPD4 (*(WoReg*)0x40020174U)
192 #define REG_PWM_CMPM4 (*(RwReg*)0x40020178U)
193 #define REG_PWM_CMPMUPD4 (*(WoReg*)0x4002017CU)
194 #define REG_PWM_CMPV5 (*(RwReg*)0x40020180U)
195 #define REG_PWM_CMPVUPD5 (*(WoReg*)0x40020184U)
196 #define REG_PWM_CMPM5 (*(RwReg*)0x40020188U)
197 #define REG_PWM_CMPMUPD5 (*(WoReg*)0x4002018CU)
198 #define REG_PWM_CMPV6 (*(RwReg*)0x40020190U)
199 #define REG_PWM_CMPVUPD6 (*(WoReg*)0x40020194U)
200 #define REG_PWM_CMPM6 (*(RwReg*)0x40020198U)
201 #define REG_PWM_CMPMUPD6 (*(WoReg*)0x4002019CU)
202 #define REG_PWM_CMPV7 (*(RwReg*)0x400201A0U)
203 #define REG_PWM_CMPVUPD7 (*(WoReg*)0x400201A4U)
204 #define REG_PWM_CMPM7 (*(RwReg*)0x400201A8U)
205 #define REG_PWM_CMPMUPD7 (*(WoReg*)0x400201ACU)
206 #define REG_PWM_CMR0 (*(RwReg*)0x40020200U)
207 #define REG_PWM_CDTY0 (*(RwReg*)0x40020204U)
208 #define REG_PWM_CDTYUPD0 (*(WoReg*)0x40020208U)
209 #define REG_PWM_CPRD0 (*(RwReg*)0x4002020CU)
210 #define REG_PWM_CPRDUPD0 (*(WoReg*)0x40020210U)
211 #define REG_PWM_CCNT0 (*(RoReg*)0x40020214U)
212 #define REG_PWM_DT0 (*(RwReg*)0x40020218U)
213 #define REG_PWM_DTUPD0 (*(WoReg*)0x4002021CU)
214 #define REG_PWM_CMR1 (*(RwReg*)0x40020220U)
215 #define REG_PWM_CDTY1 (*(RwReg*)0x40020224U)
216 #define REG_PWM_CDTYUPD1 (*(WoReg*)0x40020228U)
217 #define REG_PWM_CPRD1 (*(RwReg*)0x4002022CU)
218 #define REG_PWM_CPRDUPD1 (*(WoReg*)0x40020230U)
219 #define REG_PWM_CCNT1 (*(RoReg*)0x40020234U)
220 #define REG_PWM_DT1 (*(RwReg*)0x40020238U)
221 #define REG_PWM_DTUPD1 (*(WoReg*)0x4002023CU)
222 #define REG_PWM_CMR2 (*(RwReg*)0x40020240U)
223 #define REG_PWM_CDTY2 (*(RwReg*)0x40020244U)
224 #define REG_PWM_CDTYUPD2 (*(WoReg*)0x40020248U)
225 #define REG_PWM_CPRD2 (*(RwReg*)0x4002024CU)
226 #define REG_PWM_CPRDUPD2 (*(WoReg*)0x40020250U)
227 #define REG_PWM_CCNT2 (*(RoReg*)0x40020254U)
228 #define REG_PWM_DT2 (*(RwReg*)0x40020258U)
229 #define REG_PWM_DTUPD2 (*(WoReg*)0x4002025CU)
230 #define REG_PWM_CMR3 (*(RwReg*)0x40020260U)
231 #define REG_PWM_CDTY3 (*(RwReg*)0x40020264U)
232 #define REG_PWM_CDTYUPD3 (*(WoReg*)0x40020268U)
233 #define REG_PWM_CPRD3 (*(RwReg*)0x4002026CU)
234 #define REG_PWM_CPRDUPD3 (*(WoReg*)0x40020270U)
235 #define REG_PWM_CCNT3 (*(RoReg*)0x40020274U)
236 #define REG_PWM_DT3 (*(RwReg*)0x40020278U)
237 #define REG_PWM_DTUPD3 (*(WoReg*)0x4002027CU)
238 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
239 
240 #endif /* _SAM4S_PWM_INSTANCE_ */