RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
atsam
include
libchip
include
samv71
component
component_tc.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_TC_COMPONENT_
31
#define _SAMV71_TC_COMPONENT_
32
33
/* ============================================================================= */
35
/* ============================================================================= */
38
39
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
41
typedef
struct
{
42
__O
uint32_t TC_CCR;
43
__IO
uint32_t TC_CMR;
44
__IO
uint32_t TC_SMMR;
45
__I
uint32_t TC_RAB;
46
__I
uint32_t TC_CV;
47
__IO
uint32_t TC_RA;
48
__IO
uint32_t TC_RB;
49
__IO
uint32_t TC_RC;
50
__I
uint32_t TC_SR;
51
__O
uint32_t TC_IER;
52
__O
uint32_t TC_IDR;
53
__I
uint32_t TC_IMR;
54
__IO
uint32_t TC_EMR;
55
__I
uint32_t Reserved1[3];
56
}
TcChannel
;
58
#define TCCHANNEL_NUMBER 3
59
typedef
struct
{
60
TcChannel
TC_CHANNEL[TCCHANNEL_NUMBER];
61
__O
uint32_t TC_BCR;
62
__IO
uint32_t TC_BMR;
63
__O
uint32_t TC_QIER;
64
__O
uint32_t TC_QIDR;
65
__I
uint32_t TC_QIMR;
66
__I
uint32_t TC_QISR;
67
__IO
uint32_t TC_FMR;
68
__I
uint32_t Reserved1[2];
69
__IO
uint32_t TC_WPMR;
70
__I
uint32_t Reserved2[5];
71
__I
uint32_t
TC_VER
;
72
}
Tc
;
73
#endif
/* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
74
/* -------- TC_CCR : (TC Offset: N/A) Channel Control Register -------- */
75
#define TC_CCR_CLKEN (0x1u << 0)
76
#define TC_CCR_CLKDIS (0x1u << 1)
77
#define TC_CCR_SWTRG (0x1u << 2)
78
/* -------- TC_CMR : (TC Offset: N/A) Channel Mode Register -------- */
79
#define TC_CMR_TCCLKS_Pos 0
80
#define TC_CMR_TCCLKS_Msk (0x7u << TC_CMR_TCCLKS_Pos)
81
#define TC_CMR_TCCLKS(value) ((TC_CMR_TCCLKS_Msk & ((value) << TC_CMR_TCCLKS_Pos)))
82
#define TC_CMR_TCCLKS_TIMER_CLOCK1 (0x0u << 0)
83
#define TC_CMR_TCCLKS_TIMER_CLOCK2 (0x1u << 0)
84
#define TC_CMR_TCCLKS_TIMER_CLOCK3 (0x2u << 0)
85
#define TC_CMR_TCCLKS_TIMER_CLOCK4 (0x3u << 0)
86
#define TC_CMR_TCCLKS_TIMER_CLOCK5 (0x4u << 0)
87
#define TC_CMR_TCCLKS_XC0 (0x5u << 0)
88
#define TC_CMR_TCCLKS_XC1 (0x6u << 0)
89
#define TC_CMR_TCCLKS_XC2 (0x7u << 0)
90
#define TC_CMR_CLKI (0x1u << 3)
91
#define TC_CMR_BURST_Pos 4
92
#define TC_CMR_BURST_Msk (0x3u << TC_CMR_BURST_Pos)
93
#define TC_CMR_BURST(value) ((TC_CMR_BURST_Msk & ((value) << TC_CMR_BURST_Pos)))
94
#define TC_CMR_BURST_NONE (0x0u << 4)
95
#define TC_CMR_BURST_XC0 (0x1u << 4)
96
#define TC_CMR_BURST_XC1 (0x2u << 4)
97
#define TC_CMR_BURST_XC2 (0x3u << 4)
98
#define TC_CMR_LDBSTOP (0x1u << 6)
99
#define TC_CMR_LDBDIS (0x1u << 7)
100
#define TC_CMR_ETRGEDG_Pos 8
101
#define TC_CMR_ETRGEDG_Msk (0x3u << TC_CMR_ETRGEDG_Pos)
102
#define TC_CMR_ETRGEDG(value) ((TC_CMR_ETRGEDG_Msk & ((value) << TC_CMR_ETRGEDG_Pos)))
103
#define TC_CMR_ETRGEDG_NONE (0x0u << 8)
104
#define TC_CMR_ETRGEDG_RISING (0x1u << 8)
105
#define TC_CMR_ETRGEDG_FALLING (0x2u << 8)
106
#define TC_CMR_ETRGEDG_EDGE (0x3u << 8)
107
#define TC_CMR_ABETRG (0x1u << 10)
108
#define TC_CMR_CPCTRG (0x1u << 14)
109
#define TC_CMR_WAVE (0x1u << 15)
110
#define TC_CMR_LDRA_Pos 16
111
#define TC_CMR_LDRA_Msk (0x3u << TC_CMR_LDRA_Pos)
112
#define TC_CMR_LDRA(value) ((TC_CMR_LDRA_Msk & ((value) << TC_CMR_LDRA_Pos)))
113
#define TC_CMR_LDRA_NONE (0x0u << 16)
114
#define TC_CMR_LDRA_RISING (0x1u << 16)
115
#define TC_CMR_LDRA_FALLING (0x2u << 16)
116
#define TC_CMR_LDRA_EDGE (0x3u << 16)
117
#define TC_CMR_LDRB_Pos 18
118
#define TC_CMR_LDRB_Msk (0x3u << TC_CMR_LDRB_Pos)
119
#define TC_CMR_LDRB(value) ((TC_CMR_LDRB_Msk & ((value) << TC_CMR_LDRB_Pos)))
120
#define TC_CMR_LDRB_NONE (0x0u << 18)
121
#define TC_CMR_LDRB_RISING (0x1u << 18)
122
#define TC_CMR_LDRB_FALLING (0x2u << 18)
123
#define TC_CMR_LDRB_EDGE (0x3u << 18)
124
#define TC_CMR_SBSMPLR_Pos 20
125
#define TC_CMR_SBSMPLR_Msk (0x7u << TC_CMR_SBSMPLR_Pos)
126
#define TC_CMR_SBSMPLR(value) ((TC_CMR_SBSMPLR_Msk & ((value) << TC_CMR_SBSMPLR_Pos)))
127
#define TC_CMR_SBSMPLR_ONE (0x0u << 20)
128
#define TC_CMR_SBSMPLR_HALF (0x1u << 20)
129
#define TC_CMR_SBSMPLR_FOURTH (0x2u << 20)
130
#define TC_CMR_SBSMPLR_EIGHTH (0x3u << 20)
131
#define TC_CMR_SBSMPLR_SIXTEENTH (0x4u << 20)
132
#define TC_CMR_CPCSTOP (0x1u << 6)
133
#define TC_CMR_CPCDIS (0x1u << 7)
134
#define TC_CMR_EEVTEDG_Pos 8
135
#define TC_CMR_EEVTEDG_Msk (0x3u << TC_CMR_EEVTEDG_Pos)
136
#define TC_CMR_EEVTEDG(value) ((TC_CMR_EEVTEDG_Msk & ((value) << TC_CMR_EEVTEDG_Pos)))
137
#define TC_CMR_EEVTEDG_NONE (0x0u << 8)
138
#define TC_CMR_EEVTEDG_RISING (0x1u << 8)
139
#define TC_CMR_EEVTEDG_FALLING (0x2u << 8)
140
#define TC_CMR_EEVTEDG_EDGE (0x3u << 8)
141
#define TC_CMR_EEVT_Pos 10
142
#define TC_CMR_EEVT_Msk (0x3u << TC_CMR_EEVT_Pos)
143
#define TC_CMR_EEVT(value) ((TC_CMR_EEVT_Msk & ((value) << TC_CMR_EEVT_Pos)))
144
#define TC_CMR_EEVT_TIOB (0x0u << 10)
145
#define TC_CMR_EEVT_XC0 (0x1u << 10)
146
#define TC_CMR_EEVT_XC1 (0x2u << 10)
147
#define TC_CMR_EEVT_XC2 (0x3u << 10)
148
#define TC_CMR_ENETRG (0x1u << 12)
149
#define TC_CMR_WAVSEL_Pos 13
150
#define TC_CMR_WAVSEL_Msk (0x3u << TC_CMR_WAVSEL_Pos)
151
#define TC_CMR_WAVSEL(value) ((TC_CMR_WAVSEL_Msk & ((value) << TC_CMR_WAVSEL_Pos)))
152
#define TC_CMR_WAVSEL_UP (0x0u << 13)
153
#define TC_CMR_WAVSEL_UPDOWN (0x1u << 13)
154
#define TC_CMR_WAVSEL_UP_RC (0x2u << 13)
155
#define TC_CMR_WAVSEL_UPDOWN_RC (0x3u << 13)
156
#define TC_CMR_ACPA_Pos 16
157
#define TC_CMR_ACPA_Msk (0x3u << TC_CMR_ACPA_Pos)
158
#define TC_CMR_ACPA(value) ((TC_CMR_ACPA_Msk & ((value) << TC_CMR_ACPA_Pos)))
159
#define TC_CMR_ACPA_NONE (0x0u << 16)
160
#define TC_CMR_ACPA_SET (0x1u << 16)
161
#define TC_CMR_ACPA_CLEAR (0x2u << 16)
162
#define TC_CMR_ACPA_TOGGLE (0x3u << 16)
163
#define TC_CMR_ACPC_Pos 18
164
#define TC_CMR_ACPC_Msk (0x3u << TC_CMR_ACPC_Pos)
165
#define TC_CMR_ACPC(value) ((TC_CMR_ACPC_Msk & ((value) << TC_CMR_ACPC_Pos)))
166
#define TC_CMR_ACPC_NONE (0x0u << 18)
167
#define TC_CMR_ACPC_SET (0x1u << 18)
168
#define TC_CMR_ACPC_CLEAR (0x2u << 18)
169
#define TC_CMR_ACPC_TOGGLE (0x3u << 18)
170
#define TC_CMR_AEEVT_Pos 20
171
#define TC_CMR_AEEVT_Msk (0x3u << TC_CMR_AEEVT_Pos)
172
#define TC_CMR_AEEVT(value) ((TC_CMR_AEEVT_Msk & ((value) << TC_CMR_AEEVT_Pos)))
173
#define TC_CMR_AEEVT_NONE (0x0u << 20)
174
#define TC_CMR_AEEVT_SET (0x1u << 20)
175
#define TC_CMR_AEEVT_CLEAR (0x2u << 20)
176
#define TC_CMR_AEEVT_TOGGLE (0x3u << 20)
177
#define TC_CMR_ASWTRG_Pos 22
178
#define TC_CMR_ASWTRG_Msk (0x3u << TC_CMR_ASWTRG_Pos)
179
#define TC_CMR_ASWTRG(value) ((TC_CMR_ASWTRG_Msk & ((value) << TC_CMR_ASWTRG_Pos)))
180
#define TC_CMR_ASWTRG_NONE (0x0u << 22)
181
#define TC_CMR_ASWTRG_SET (0x1u << 22)
182
#define TC_CMR_ASWTRG_CLEAR (0x2u << 22)
183
#define TC_CMR_ASWTRG_TOGGLE (0x3u << 22)
184
#define TC_CMR_BCPB_Pos 24
185
#define TC_CMR_BCPB_Msk (0x3u << TC_CMR_BCPB_Pos)
186
#define TC_CMR_BCPB(value) ((TC_CMR_BCPB_Msk & ((value) << TC_CMR_BCPB_Pos)))
187
#define TC_CMR_BCPB_NONE (0x0u << 24)
188
#define TC_CMR_BCPB_SET (0x1u << 24)
189
#define TC_CMR_BCPB_CLEAR (0x2u << 24)
190
#define TC_CMR_BCPB_TOGGLE (0x3u << 24)
191
#define TC_CMR_BCPC_Pos 26
192
#define TC_CMR_BCPC_Msk (0x3u << TC_CMR_BCPC_Pos)
193
#define TC_CMR_BCPC(value) ((TC_CMR_BCPC_Msk & ((value) << TC_CMR_BCPC_Pos)))
194
#define TC_CMR_BCPC_NONE (0x0u << 26)
195
#define TC_CMR_BCPC_SET (0x1u << 26)
196
#define TC_CMR_BCPC_CLEAR (0x2u << 26)
197
#define TC_CMR_BCPC_TOGGLE (0x3u << 26)
198
#define TC_CMR_BEEVT_Pos 28
199
#define TC_CMR_BEEVT_Msk (0x3u << TC_CMR_BEEVT_Pos)
200
#define TC_CMR_BEEVT(value) ((TC_CMR_BEEVT_Msk & ((value) << TC_CMR_BEEVT_Pos)))
201
#define TC_CMR_BEEVT_NONE (0x0u << 28)
202
#define TC_CMR_BEEVT_SET (0x1u << 28)
203
#define TC_CMR_BEEVT_CLEAR (0x2u << 28)
204
#define TC_CMR_BEEVT_TOGGLE (0x3u << 28)
205
#define TC_CMR_BSWTRG_Pos 30
206
#define TC_CMR_BSWTRG_Msk (0x3u << TC_CMR_BSWTRG_Pos)
207
#define TC_CMR_BSWTRG(value) ((TC_CMR_BSWTRG_Msk & ((value) << TC_CMR_BSWTRG_Pos)))
208
#define TC_CMR_BSWTRG_NONE (0x0u << 30)
209
#define TC_CMR_BSWTRG_SET (0x1u << 30)
210
#define TC_CMR_BSWTRG_CLEAR (0x2u << 30)
211
#define TC_CMR_BSWTRG_TOGGLE (0x3u << 30)
212
/* -------- TC_SMMR : (TC Offset: N/A) Stepper Motor Mode Register -------- */
213
#define TC_SMMR_GCEN (0x1u << 0)
214
#define TC_SMMR_DOWN (0x1u << 1)
215
/* -------- TC_RAB : (TC Offset: N/A) Register AB -------- */
216
#define TC_RAB_RAB_Pos 0
217
#define TC_RAB_RAB_Msk (0xffffffffu << TC_RAB_RAB_Pos)
218
/* -------- TC_CV : (TC Offset: N/A) Counter Value -------- */
219
#define TC_CV_CV_Pos 0
220
#define TC_CV_CV_Msk (0xffffffffu << TC_CV_CV_Pos)
221
/* -------- TC_RA : (TC Offset: N/A) Register A -------- */
222
#define TC_RA_RA_Pos 0
223
#define TC_RA_RA_Msk (0xffffffffu << TC_RA_RA_Pos)
224
#define TC_RA_RA(value) ((TC_RA_RA_Msk & ((value) << TC_RA_RA_Pos)))
225
/* -------- TC_RB : (TC Offset: N/A) Register B -------- */
226
#define TC_RB_RB_Pos 0
227
#define TC_RB_RB_Msk (0xffffffffu << TC_RB_RB_Pos)
228
#define TC_RB_RB(value) ((TC_RB_RB_Msk & ((value) << TC_RB_RB_Pos)))
229
/* -------- TC_RC : (TC Offset: N/A) Register C -------- */
230
#define TC_RC_RC_Pos 0
231
#define TC_RC_RC_Msk (0xffffffffu << TC_RC_RC_Pos)
232
#define TC_RC_RC(value) ((TC_RC_RC_Msk & ((value) << TC_RC_RC_Pos)))
233
/* -------- TC_SR : (TC Offset: N/A) Status Register -------- */
234
#define TC_SR_COVFS (0x1u << 0)
235
#define TC_SR_LOVRS (0x1u << 1)
236
#define TC_SR_CPAS (0x1u << 2)
237
#define TC_SR_CPBS (0x1u << 3)
238
#define TC_SR_CPCS (0x1u << 4)
239
#define TC_SR_LDRAS (0x1u << 5)
240
#define TC_SR_LDRBS (0x1u << 6)
241
#define TC_SR_ETRGS (0x1u << 7)
242
#define TC_SR_CLKSTA (0x1u << 16)
243
#define TC_SR_MTIOA (0x1u << 17)
244
#define TC_SR_MTIOB (0x1u << 18)
245
/* -------- TC_IER : (TC Offset: N/A) Interrupt Enable Register -------- */
246
#define TC_IER_COVFS (0x1u << 0)
247
#define TC_IER_LOVRS (0x1u << 1)
248
#define TC_IER_CPAS (0x1u << 2)
249
#define TC_IER_CPBS (0x1u << 3)
250
#define TC_IER_CPCS (0x1u << 4)
251
#define TC_IER_LDRAS (0x1u << 5)
252
#define TC_IER_LDRBS (0x1u << 6)
253
#define TC_IER_ETRGS (0x1u << 7)
254
/* -------- TC_IDR : (TC Offset: N/A) Interrupt Disable Register -------- */
255
#define TC_IDR_COVFS (0x1u << 0)
256
#define TC_IDR_LOVRS (0x1u << 1)
257
#define TC_IDR_CPAS (0x1u << 2)
258
#define TC_IDR_CPBS (0x1u << 3)
259
#define TC_IDR_CPCS (0x1u << 4)
260
#define TC_IDR_LDRAS (0x1u << 5)
261
#define TC_IDR_LDRBS (0x1u << 6)
262
#define TC_IDR_ETRGS (0x1u << 7)
263
/* -------- TC_IMR : (TC Offset: N/A) Interrupt Mask Register -------- */
264
#define TC_IMR_COVFS (0x1u << 0)
265
#define TC_IMR_LOVRS (0x1u << 1)
266
#define TC_IMR_CPAS (0x1u << 2)
267
#define TC_IMR_CPBS (0x1u << 3)
268
#define TC_IMR_CPCS (0x1u << 4)
269
#define TC_IMR_LDRAS (0x1u << 5)
270
#define TC_IMR_LDRBS (0x1u << 6)
271
#define TC_IMR_ETRGS (0x1u << 7)
272
/* -------- TC_EMR : (TC Offset: N/A) Extended Mode Register -------- */
273
#define TC_EMR_TRIGSRCA_Pos 0
274
#define TC_EMR_TRIGSRCA_Msk (0x3u << TC_EMR_TRIGSRCA_Pos)
275
#define TC_EMR_TRIGSRCA(value) ((TC_EMR_TRIGSRCA_Msk & ((value) << TC_EMR_TRIGSRCA_Pos)))
276
#define TC_EMR_TRIGSRCA_EXTERNAL_TIOAx (0x0u << 0)
277
#define TC_EMR_TRIGSRCA_PWMx (0x1u << 0)
278
#define TC_EMR_TRIGSRCB_Pos 4
279
#define TC_EMR_TRIGSRCB_Msk (0x3u << TC_EMR_TRIGSRCB_Pos)
280
#define TC_EMR_TRIGSRCB(value) ((TC_EMR_TRIGSRCB_Msk & ((value) << TC_EMR_TRIGSRCB_Pos)))
281
#define TC_EMR_TRIGSRCB_EXTERNAL_TIOBx (0x0u << 4)
282
#define TC_EMR_TRIGSRCB_PWMx (0x1u << 4)
283
#define TC_EMR_NODIVCLK (0x1u << 8)
284
/* -------- TC_BCR : (TC Offset: 0xC0) Block Control Register -------- */
285
#define TC_BCR_SYNC (0x1u << 0)
286
/* -------- TC_BMR : (TC Offset: 0xC4) Block Mode Register -------- */
287
#define TC_BMR_TC0XC0S_Pos 0
288
#define TC_BMR_TC0XC0S_Msk (0x3u << TC_BMR_TC0XC0S_Pos)
289
#define TC_BMR_TC0XC0S(value) ((TC_BMR_TC0XC0S_Msk & ((value) << TC_BMR_TC0XC0S_Pos)))
290
#define TC_BMR_TC0XC0S_TCLK0 (0x0u << 0)
291
#define TC_BMR_TC0XC0S_TIOA1 (0x2u << 0)
292
#define TC_BMR_TC0XC0S_TIOA2 (0x3u << 0)
293
#define TC_BMR_TC1XC1S_Pos 2
294
#define TC_BMR_TC1XC1S_Msk (0x3u << TC_BMR_TC1XC1S_Pos)
295
#define TC_BMR_TC1XC1S(value) ((TC_BMR_TC1XC1S_Msk & ((value) << TC_BMR_TC1XC1S_Pos)))
296
#define TC_BMR_TC1XC1S_TCLK1 (0x0u << 2)
297
#define TC_BMR_TC1XC1S_TIOA0 (0x2u << 2)
298
#define TC_BMR_TC1XC1S_TIOA2 (0x3u << 2)
299
#define TC_BMR_TC2XC2S_Pos 4
300
#define TC_BMR_TC2XC2S_Msk (0x3u << TC_BMR_TC2XC2S_Pos)
301
#define TC_BMR_TC2XC2S(value) ((TC_BMR_TC2XC2S_Msk & ((value) << TC_BMR_TC2XC2S_Pos)))
302
#define TC_BMR_TC2XC2S_TCLK2 (0x0u << 4)
303
#define TC_BMR_TC2XC2S_TIOA0 (0x2u << 4)
304
#define TC_BMR_TC2XC2S_TIOA1 (0x3u << 4)
305
#define TC_BMR_QDEN (0x1u << 8)
306
#define TC_BMR_POSEN (0x1u << 9)
307
#define TC_BMR_SPEEDEN (0x1u << 10)
308
#define TC_BMR_QDTRANS (0x1u << 11)
309
#define TC_BMR_EDGPHA (0x1u << 12)
310
#define TC_BMR_INVA (0x1u << 13)
311
#define TC_BMR_INVB (0x1u << 14)
312
#define TC_BMR_INVIDX (0x1u << 15)
313
#define TC_BMR_SWAP (0x1u << 16)
314
#define TC_BMR_IDXPHB (0x1u << 17)
315
#define TC_BMR_MAXFILT_Pos 20
316
#define TC_BMR_MAXFILT_Msk (0x3fu << TC_BMR_MAXFILT_Pos)
317
#define TC_BMR_MAXFILT(value) ((TC_BMR_MAXFILT_Msk & ((value) << TC_BMR_MAXFILT_Pos)))
318
/* -------- TC_QIER : (TC Offset: 0xC8) QDEC Interrupt Enable Register -------- */
319
#define TC_QIER_IDX (0x1u << 0)
320
#define TC_QIER_DIRCHG (0x1u << 1)
321
#define TC_QIER_QERR (0x1u << 2)
322
/* -------- TC_QIDR : (TC Offset: 0xCC) QDEC Interrupt Disable Register -------- */
323
#define TC_QIDR_IDX (0x1u << 0)
324
#define TC_QIDR_DIRCHG (0x1u << 1)
325
#define TC_QIDR_QERR (0x1u << 2)
326
/* -------- TC_QIMR : (TC Offset: 0xD0) QDEC Interrupt Mask Register -------- */
327
#define TC_QIMR_IDX (0x1u << 0)
328
#define TC_QIMR_DIRCHG (0x1u << 1)
329
#define TC_QIMR_QERR (0x1u << 2)
330
/* -------- TC_QISR : (TC Offset: 0xD4) QDEC Interrupt Status Register -------- */
331
#define TC_QISR_IDX (0x1u << 0)
332
#define TC_QISR_DIRCHG (0x1u << 1)
333
#define TC_QISR_QERR (0x1u << 2)
334
#define TC_QISR_DIR (0x1u << 8)
335
/* -------- TC_FMR : (TC Offset: 0xD8) Fault Mode Register -------- */
336
#define TC_FMR_ENCF0 (0x1u << 0)
337
#define TC_FMR_ENCF1 (0x1u << 1)
338
/* -------- TC_WPMR : (TC Offset: 0xE4) Write Protection Mode Register -------- */
339
#define TC_WPMR_WPEN (0x1u << 0)
340
#define TC_WPMR_WPKEY_Pos 8
341
#define TC_WPMR_WPKEY_Msk (0xffffffu << TC_WPMR_WPKEY_Pos)
342
#define TC_WPMR_WPKEY(value) ((TC_WPMR_WPKEY_Msk & ((value) << TC_WPMR_WPKEY_Pos)))
343
#define TC_WPMR_WPKEY_PASSWD (0x54494Du << 8)
344
/* -------- TC_VER : (TC Offset: 0xFC) Version Register -------- */
345
#define TC_VER_VERSION_Pos 0
346
#define TC_VER_VERSION_Msk (0xfffu << TC_VER_VERSION_Pos)
347
#define TC_VER_MFN_Pos 16
348
#define TC_VER_MFN_Msk (0x7u << TC_VER_MFN_Pos)
349
351
352
353
#endif
/* _SAMV71_TC_COMPONENT_ */
__O
#define __O
Definition
core_cm4.h:238
__IO
#define __IO
Definition
core_cm4.h:239
__I
#define __I
Definition
core_cm4.h:236
TcChannel
TcChannel hardware registers.
Definition
component_tc.h:41
Tc
Definition
component_tc.h:59
Tc::TC_VER
__I uint32_t TC_VER
(Tc Offset: 0xFC) Version Register
Definition
component_tc.h:71
Generated by
1.18.0