1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - DMAC Global Configuration Register"]
    pub gcfg: GCFG,
    #[doc = "0x04 - DMAC Enable Register"]
    pub en: EN,
    #[doc = "0x08 - DMAC Software Single Request Register"]
    pub sreq: SREQ,
    #[doc = "0x0c - DMAC Software Chunk Transfer Request Register"]
    pub creq: CREQ,
    #[doc = "0x10 - DMAC Software Last Transfer Flag Register"]
    pub last: LAST,
    _reserved5: [u8; 4usize],
    #[doc = "0x18 - DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Enable register."]
    pub ebcier: EBCIER,
    #[doc = "0x1c - DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Disable register."]
    pub ebcidr: EBCIDR,
    #[doc = "0x20 - DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Mask Register."]
    pub ebcimr: EBCIMR,
    #[doc = "0x24 - DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Status Register."]
    pub ebcisr: EBCISR,
    #[doc = "0x28 - DMAC Channel Handler Enable Register"]
    pub cher: CHER,
    #[doc = "0x2c - DMAC Channel Handler Disable Register"]
    pub chdr: CHDR,
    #[doc = "0x30 - DMAC Channel Handler Status Register"]
    pub chsr: CHSR,
    _reserved12: [u8; 8usize],
    #[doc = "0x3c - DMAC Channel Source Address Register (ch_num = 0)"]
    pub saddr0: SADDR0,
    #[doc = "0x40 - DMAC Channel Destination Address Register (ch_num = 0)"]
    pub daddr0: DADDR0,
    #[doc = "0x44 - DMAC Channel Descriptor Address Register (ch_num = 0)"]
    pub dscr0: DSCR0,
    #[doc = "0x48 - DMAC Channel Control A Register (ch_num = 0)"]
    pub ctrla0: CTRLA0,
    #[doc = "0x4c - DMAC Channel Control B Register (ch_num = 0)"]
    pub ctrlb0: CTRLB0,
    #[doc = "0x50 - DMAC Channel Configuration Register (ch_num = 0)"]
    pub cfg0: CFG0,
    _reserved18: [u8; 16usize],
    #[doc = "0x64 - DMAC Channel Source Address Register (ch_num = 1)"]
    pub saddr1: SADDR1,
    #[doc = "0x68 - DMAC Channel Destination Address Register (ch_num = 1)"]
    pub daddr1: DADDR1,
    #[doc = "0x6c - DMAC Channel Descriptor Address Register (ch_num = 1)"]
    pub dscr1: DSCR1,
    #[doc = "0x70 - DMAC Channel Control A Register (ch_num = 1)"]
    pub ctrla1: CTRLA1,
    #[doc = "0x74 - DMAC Channel Control B Register (ch_num = 1)"]
    pub ctrlb1: CTRLB1,
    #[doc = "0x78 - DMAC Channel Configuration Register (ch_num = 1)"]
    pub cfg1: CFG1,
    _reserved24: [u8; 16usize],
    #[doc = "0x8c - DMAC Channel Source Address Register (ch_num = 2)"]
    pub saddr2: SADDR2,
    #[doc = "0x90 - DMAC Channel Destination Address Register (ch_num = 2)"]
    pub daddr2: DADDR2,
    #[doc = "0x94 - DMAC Channel Descriptor Address Register (ch_num = 2)"]
    pub dscr2: DSCR2,
    #[doc = "0x98 - DMAC Channel Control A Register (ch_num = 2)"]
    pub ctrla2: CTRLA2,
    #[doc = "0x9c - DMAC Channel Control B Register (ch_num = 2)"]
    pub ctrlb2: CTRLB2,
    #[doc = "0xa0 - DMAC Channel Configuration Register (ch_num = 2)"]
    pub cfg2: CFG2,
    _reserved30: [u8; 16usize],
    #[doc = "0xb4 - DMAC Channel Source Address Register (ch_num = 3)"]
    pub saddr3: SADDR3,
    #[doc = "0xb8 - DMAC Channel Destination Address Register (ch_num = 3)"]
    pub daddr3: DADDR3,
    #[doc = "0xbc - DMAC Channel Descriptor Address Register (ch_num = 3)"]
    pub dscr3: DSCR3,
    #[doc = "0xc0 - DMAC Channel Control A Register (ch_num = 3)"]
    pub ctrla3: CTRLA3,
    #[doc = "0xc4 - DMAC Channel Control B Register (ch_num = 3)"]
    pub ctrlb3: CTRLB3,
    #[doc = "0xc8 - DMAC Channel Configuration Register (ch_num = 3)"]
    pub cfg3: CFG3,
    _reserved36: [u8; 16usize],
    #[doc = "0xdc - DMAC Channel Source Address Register (ch_num = 4)"]
    pub saddr4: SADDR4,
    #[doc = "0xe0 - DMAC Channel Destination Address Register (ch_num = 4)"]
    pub daddr4: DADDR4,
    #[doc = "0xe4 - DMAC Channel Descriptor Address Register (ch_num = 4)"]
    pub dscr4: DSCR4,
    #[doc = "0xe8 - DMAC Channel Control A Register (ch_num = 4)"]
    pub ctrla4: CTRLA4,
    #[doc = "0xec - DMAC Channel Control B Register (ch_num = 4)"]
    pub ctrlb4: CTRLB4,
    #[doc = "0xf0 - DMAC Channel Configuration Register (ch_num = 4)"]
    pub cfg4: CFG4,
    _reserved42: [u8; 16usize],
    #[doc = "0x104 - DMAC Channel Source Address Register (ch_num = 5)"]
    pub saddr5: SADDR5,
    #[doc = "0x108 - DMAC Channel Destination Address Register (ch_num = 5)"]
    pub daddr5: DADDR5,
    #[doc = "0x10c - DMAC Channel Descriptor Address Register (ch_num = 5)"]
    pub dscr5: DSCR5,
    #[doc = "0x110 - DMAC Channel Control A Register (ch_num = 5)"]
    pub ctrla5: CTRLA5,
    #[doc = "0x114 - DMAC Channel Control B Register (ch_num = 5)"]
    pub ctrlb5: CTRLB5,
    #[doc = "0x118 - DMAC Channel Configuration Register (ch_num = 5)"]
    pub cfg5: CFG5,
    _reserved48: [u8; 200usize],
    #[doc = "0x1e4 - DMAC Write Protect Mode Register"]
    pub wpmr: WPMR,
    #[doc = "0x1e8 - DMAC Write Protect Status Register"]
    pub wpsr: WPSR,
}
#[doc = "DMAC Global Configuration Register"]
pub struct GCFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Global Configuration Register"]
pub mod gcfg;
#[doc = "DMAC Enable Register"]
pub struct EN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Enable Register"]
pub mod en;
#[doc = "DMAC Software Single Request Register"]
pub struct SREQ {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Software Single Request Register"]
pub mod sreq;
#[doc = "DMAC Software Chunk Transfer Request Register"]
pub struct CREQ {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Software Chunk Transfer Request Register"]
pub mod creq;
#[doc = "DMAC Software Last Transfer Flag Register"]
pub struct LAST {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Software Last Transfer Flag Register"]
pub mod last;
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Enable register."]
pub struct EBCIER {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Enable register."]
pub mod ebcier;
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Disable register."]
pub struct EBCIDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Disable register."]
pub mod ebcidr;
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Mask Register."]
pub struct EBCIMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Mask Register."]
pub mod ebcimr;
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Status Register."]
pub struct EBCISR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Status Register."]
pub mod ebcisr;
#[doc = "DMAC Channel Handler Enable Register"]
pub struct CHER {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Handler Enable Register"]
pub mod cher;
#[doc = "DMAC Channel Handler Disable Register"]
pub struct CHDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Handler Disable Register"]
pub mod chdr;
#[doc = "DMAC Channel Handler Status Register"]
pub struct CHSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Handler Status Register"]
pub mod chsr;
#[doc = "DMAC Channel Source Address Register (ch_num = 0)"]
pub struct SADDR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Source Address Register (ch_num = 0)"]
pub mod saddr0;
#[doc = "DMAC Channel Destination Address Register (ch_num = 0)"]
pub struct DADDR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Destination Address Register (ch_num = 0)"]
pub mod daddr0;
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 0)"]
pub struct DSCR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 0)"]
pub mod dscr0;
#[doc = "DMAC Channel Control A Register (ch_num = 0)"]
pub struct CTRLA0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control A Register (ch_num = 0)"]
pub mod ctrla0;
#[doc = "DMAC Channel Control B Register (ch_num = 0)"]
pub struct CTRLB0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control B Register (ch_num = 0)"]
pub mod ctrlb0;
#[doc = "DMAC Channel Configuration Register (ch_num = 0)"]
pub struct CFG0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Configuration Register (ch_num = 0)"]
pub mod cfg0;
#[doc = "DMAC Channel Source Address Register (ch_num = 1)"]
pub struct SADDR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Source Address Register (ch_num = 1)"]
pub mod saddr1;
#[doc = "DMAC Channel Destination Address Register (ch_num = 1)"]
pub struct DADDR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Destination Address Register (ch_num = 1)"]
pub mod daddr1;
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 1)"]
pub struct DSCR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 1)"]
pub mod dscr1;
#[doc = "DMAC Channel Control A Register (ch_num = 1)"]
pub struct CTRLA1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control A Register (ch_num = 1)"]
pub mod ctrla1;
#[doc = "DMAC Channel Control B Register (ch_num = 1)"]
pub struct CTRLB1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control B Register (ch_num = 1)"]
pub mod ctrlb1;
#[doc = "DMAC Channel Configuration Register (ch_num = 1)"]
pub struct CFG1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Configuration Register (ch_num = 1)"]
pub mod cfg1;
#[doc = "DMAC Channel Source Address Register (ch_num = 2)"]
pub struct SADDR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Source Address Register (ch_num = 2)"]
pub mod saddr2;
#[doc = "DMAC Channel Destination Address Register (ch_num = 2)"]
pub struct DADDR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Destination Address Register (ch_num = 2)"]
pub mod daddr2;
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 2)"]
pub struct DSCR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 2)"]
pub mod dscr2;
#[doc = "DMAC Channel Control A Register (ch_num = 2)"]
pub struct CTRLA2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control A Register (ch_num = 2)"]
pub mod ctrla2;
#[doc = "DMAC Channel Control B Register (ch_num = 2)"]
pub struct CTRLB2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control B Register (ch_num = 2)"]
pub mod ctrlb2;
#[doc = "DMAC Channel Configuration Register (ch_num = 2)"]
pub struct CFG2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Configuration Register (ch_num = 2)"]
pub mod cfg2;
#[doc = "DMAC Channel Source Address Register (ch_num = 3)"]
pub struct SADDR3 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Source Address Register (ch_num = 3)"]
pub mod saddr3;
#[doc = "DMAC Channel Destination Address Register (ch_num = 3)"]
pub struct DADDR3 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Destination Address Register (ch_num = 3)"]
pub mod daddr3;
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 3)"]
pub struct DSCR3 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 3)"]
pub mod dscr3;
#[doc = "DMAC Channel Control A Register (ch_num = 3)"]
pub struct CTRLA3 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control A Register (ch_num = 3)"]
pub mod ctrla3;
#[doc = "DMAC Channel Control B Register (ch_num = 3)"]
pub struct CTRLB3 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control B Register (ch_num = 3)"]
pub mod ctrlb3;
#[doc = "DMAC Channel Configuration Register (ch_num = 3)"]
pub struct CFG3 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Configuration Register (ch_num = 3)"]
pub mod cfg3;
#[doc = "DMAC Channel Source Address Register (ch_num = 4)"]
pub struct SADDR4 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Source Address Register (ch_num = 4)"]
pub mod saddr4;
#[doc = "DMAC Channel Destination Address Register (ch_num = 4)"]
pub struct DADDR4 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Destination Address Register (ch_num = 4)"]
pub mod daddr4;
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 4)"]
pub struct DSCR4 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 4)"]
pub mod dscr4;
#[doc = "DMAC Channel Control A Register (ch_num = 4)"]
pub struct CTRLA4 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control A Register (ch_num = 4)"]
pub mod ctrla4;
#[doc = "DMAC Channel Control B Register (ch_num = 4)"]
pub struct CTRLB4 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control B Register (ch_num = 4)"]
pub mod ctrlb4;
#[doc = "DMAC Channel Configuration Register (ch_num = 4)"]
pub struct CFG4 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Configuration Register (ch_num = 4)"]
pub mod cfg4;
#[doc = "DMAC Channel Source Address Register (ch_num = 5)"]
pub struct SADDR5 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Source Address Register (ch_num = 5)"]
pub mod saddr5;
#[doc = "DMAC Channel Destination Address Register (ch_num = 5)"]
pub struct DADDR5 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Destination Address Register (ch_num = 5)"]
pub mod daddr5;
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 5)"]
pub struct DSCR5 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Descriptor Address Register (ch_num = 5)"]
pub mod dscr5;
#[doc = "DMAC Channel Control A Register (ch_num = 5)"]
pub struct CTRLA5 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control A Register (ch_num = 5)"]
pub mod ctrla5;
#[doc = "DMAC Channel Control B Register (ch_num = 5)"]
pub struct CTRLB5 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Control B Register (ch_num = 5)"]
pub mod ctrlb5;
#[doc = "DMAC Channel Configuration Register (ch_num = 5)"]
pub struct CFG5 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Channel Configuration Register (ch_num = 5)"]
pub mod cfg5;
#[doc = "DMAC Write Protect Mode Register"]
pub struct WPMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Write Protect Mode Register"]
pub mod wpmr;
#[doc = "DMAC Write Protect Status Register"]
pub struct WPSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DMAC Write Protect Status Register"]
pub mod wpsr;