aboutsummaryrefslogtreecommitdiff
path: root/crates/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'crates/syntax')
-rw-r--r--crates/syntax/Cargo.toml7
-rw-r--r--crates/syntax/fuzz/Cargo.toml4
-rw-r--r--crates/syntax/src/algo.rs7
-rw-r--r--crates/syntax/src/ast.rs6
-rw-r--r--crates/syntax/src/ast/edit.rs11
-rw-r--r--crates/syntax/src/ast/generated/nodes.rs38
-rw-r--r--crates/syntax/src/ast/make.rs74
-rw-r--r--crates/syntax/src/ast/node_ext.rs106
-rw-r--r--crates/syntax/src/ast/token_ext.rs36
-rw-r--r--crates/syntax/src/lib.rs4
-rw-r--r--crates/syntax/src/parsing/reparsing.rs3
-rw-r--r--crates/syntax/src/parsing/text_tree_sink.rs4
-rw-r--r--crates/syntax/src/syntax_node.rs4
-rw-r--r--crates/syntax/src/tests.rs28
-rw-r--r--crates/syntax/src/validation.rs18
-rw-r--r--crates/syntax/test_data/accidentally_quadratic3980
-rw-r--r--crates/syntax/test_data/parser/err/0047_mutable_const_item.rast22
-rw-r--r--crates/syntax/test_data/parser/err/0047_mutable_const_item.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rast24
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rast42
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rast40
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0024_const_item.rast23
-rw-r--r--crates/syntax/test_data/parser/ok/0024_const_item.rs1
26 files changed, 399 insertions, 4091 deletions
diff --git a/crates/syntax/Cargo.toml b/crates/syntax/Cargo.toml
index 52394b337..d836c5d1a 100644
--- a/crates/syntax/Cargo.toml
+++ b/crates/syntax/Cargo.toml
@@ -12,15 +12,12 @@ doctest = false
12 12
13[dependencies] 13[dependencies]
14itertools = "0.10.0" 14itertools = "0.10.0"
15rowan = "0.10.3" 15rowan = "0.12.2"
16rustc_lexer = { version = "697.0.0", package = "rustc-ap-rustc_lexer" } 16rustc_lexer = { version = "708.0.0", package = "rustc-ap-rustc_lexer" }
17rustc-hash = "1.1.0" 17rustc-hash = "1.1.0"
18arrayvec = "0.5.1" 18arrayvec = "0.5.1"
19once_cell = "1.3.1" 19once_cell = "1.3.1"
20indexmap = "1.4.0" 20indexmap = "1.4.0"
21# This crate transitively depends on `smol_str` via `rowan`.
22# ideally, `serde` should be enabled by `rust-analyzer`, but we enable it here
23# to reduce number of compilations
24smol_str = { version = "0.1.15", features = ["serde"] } 21smol_str = { version = "0.1.15", features = ["serde"] }
25serde = { version = "1.0.106", features = ["derive"] } 22serde = { version = "1.0.106", features = ["derive"] }
26 23
diff --git a/crates/syntax/fuzz/Cargo.toml b/crates/syntax/fuzz/Cargo.toml
index 32c40d1b9..e22cd6b0c 100644
--- a/crates/syntax/fuzz/Cargo.toml
+++ b/crates/syntax/fuzz/Cargo.toml
@@ -10,8 +10,8 @@ edition = "2018"
10cargo-fuzz = true 10cargo-fuzz = true
11 11
12[dependencies] 12[dependencies]
13syntax = { path = ".." } 13syntax = { path = "..", version = "0.0.0" }
14text_edit = { path = "../../text_edit" } 14text_edit = { path = "../../text_edit", version = "0.0.0" }
15libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } 15libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" }
16 16
17# Prevent this from interfering with workspaces 17# Prevent this from interfering with workspaces
diff --git a/crates/syntax/src/algo.rs b/crates/syntax/src/algo.rs
index 827ae78f9..2ff92f9f6 100644
--- a/crates/syntax/src/algo.rs
+++ b/crates/syntax/src/algo.rs
@@ -4,6 +4,7 @@ use std::{
4 fmt, 4 fmt,
5 hash::BuildHasherDefault, 5 hash::BuildHasherDefault,
6 ops::{self, RangeInclusive}, 6 ops::{self, RangeInclusive},
7 ptr,
7}; 8};
8 9
9use indexmap::IndexMap; 10use indexmap::IndexMap;
@@ -171,7 +172,7 @@ pub fn diff(from: &SyntaxNode, to: &SyntaxNode) -> TreeDiff {
171 && lhs.text_range().len() == rhs.text_range().len() 172 && lhs.text_range().len() == rhs.text_range().len()
172 && match (&lhs, &rhs) { 173 && match (&lhs, &rhs) {
173 (NodeOrToken::Node(lhs), NodeOrToken::Node(rhs)) => { 174 (NodeOrToken::Node(lhs), NodeOrToken::Node(rhs)) => {
174 lhs.green() == rhs.green() || lhs.text() == rhs.text() 175 ptr::eq(lhs.green(), rhs.green()) || lhs.text() == rhs.text()
175 } 176 }
176 (NodeOrToken::Token(lhs), NodeOrToken::Token(rhs)) => lhs.text() == rhs.text(), 177 (NodeOrToken::Token(lhs), NodeOrToken::Token(rhs)) => lhs.text() == rhs.text(),
177 _ => false, 178 _ => false,
@@ -566,7 +567,7 @@ impl<'a> SyntaxRewriter<'a> {
566 567
567fn element_to_green(element: SyntaxElement) -> NodeOrToken<rowan::GreenNode, rowan::GreenToken> { 568fn element_to_green(element: SyntaxElement) -> NodeOrToken<rowan::GreenNode, rowan::GreenToken> {
568 match element { 569 match element {
569 NodeOrToken::Node(it) => NodeOrToken::Node(it.green().clone()), 570 NodeOrToken::Node(it) => NodeOrToken::Node(it.green().to_owned()),
570 NodeOrToken::Token(it) => NodeOrToken::Token(it.green().clone()), 571 NodeOrToken::Token(it) => NodeOrToken::Token(it.green().clone()),
571 } 572 }
572} 573}
@@ -624,7 +625,7 @@ fn position_of_child(parent: &SyntaxNode, child: SyntaxElement) -> usize {
624 625
625fn to_green_element(element: SyntaxElement) -> NodeOrToken<rowan::GreenNode, rowan::GreenToken> { 626fn to_green_element(element: SyntaxElement) -> NodeOrToken<rowan::GreenNode, rowan::GreenToken> {
626 match element { 627 match element {
627 NodeOrToken::Node(it) => it.green().clone().into(), 628 NodeOrToken::Node(it) => it.green().to_owned().into(),
628 NodeOrToken::Token(it) => it.green().clone().into(), 629 NodeOrToken::Token(it) => it.green().clone().into(),
629 } 630 }
630} 631}
diff --git a/crates/syntax/src/ast.rs b/crates/syntax/src/ast.rs
index 83de067d9..b3a24d39d 100644
--- a/crates/syntax/src/ast.rs
+++ b/crates/syntax/src/ast.rs
@@ -12,14 +12,14 @@ use std::marker::PhantomData;
12 12
13use crate::{ 13use crate::{
14 syntax_node::{SyntaxNode, SyntaxNodeChildren, SyntaxToken}, 14 syntax_node::{SyntaxNode, SyntaxNodeChildren, SyntaxToken},
15 SmolStr, SyntaxKind, 15 SyntaxKind,
16}; 16};
17 17
18pub use self::{ 18pub use self::{
19 expr_ext::{ArrayExprKind, BinOp, Effect, ElseBranch, LiteralKind, PrefixOp, RangeOp}, 19 expr_ext::{ArrayExprKind, BinOp, Effect, ElseBranch, LiteralKind, PrefixOp, RangeOp},
20 generated::{nodes::*, tokens::*}, 20 generated::{nodes::*, tokens::*},
21 node_ext::{ 21 node_ext::{
22 AttrKind, FieldKind, Macro, NameOrNameRef, PathSegmentKind, SelfParamKind, 22 AttrKind, FieldKind, Macro, NameLike, NameOrNameRef, PathSegmentKind, SelfParamKind,
23 SlicePatComponents, StructKind, TypeBoundKind, VisibilityKind, 23 SlicePatComponents, StructKind, TypeBoundKind, VisibilityKind,
24 }, 24 },
25 token_ext::*, 25 token_ext::*,
@@ -54,7 +54,7 @@ pub trait AstToken {
54 54
55 fn syntax(&self) -> &SyntaxToken; 55 fn syntax(&self) -> &SyntaxToken;
56 56
57 fn text(&self) -> &SmolStr { 57 fn text(&self) -> &str {
58 self.syntax().text() 58 self.syntax().text()
59 } 59 }
60} 60}
diff --git a/crates/syntax/src/ast/edit.rs b/crates/syntax/src/ast/edit.rs
index 824ebf41c..0b3b76d4a 100644
--- a/crates/syntax/src/ast/edit.rs
+++ b/crates/syntax/src/ast/edit.rs
@@ -595,11 +595,14 @@ impl ops::Add<u8> for IndentLevel {
595 595
596impl IndentLevel { 596impl IndentLevel {
597 pub fn from_node(node: &SyntaxNode) -> IndentLevel { 597 pub fn from_node(node: &SyntaxNode) -> IndentLevel {
598 let first_token = match node.first_token() { 598 match node.first_token() {
599 Some(it) => it, 599 Some(it) => Self::from_token(&it),
600 None => return IndentLevel(0), 600 None => return IndentLevel(0),
601 }; 601 }
602 for ws in prev_tokens(first_token).filter_map(ast::Whitespace::cast) { 602 }
603
604 pub fn from_token(token: &SyntaxToken) -> IndentLevel {
605 for ws in prev_tokens(token.clone()).filter_map(ast::Whitespace::cast) {
603 let text = ws.syntax().text(); 606 let text = ws.syntax().text();
604 if let Some(pos) = text.rfind('\n') { 607 if let Some(pos) = text.rfind('\n') {
605 let level = text[pos + 1..].chars().count() / 4; 608 let level = text[pos + 1..].chars().count() / 4;
diff --git a/crates/syntax/src/ast/generated/nodes.rs b/crates/syntax/src/ast/generated/nodes.rs
index 5baa54a3f..064931aec 100644
--- a/crates/syntax/src/ast/generated/nodes.rs
+++ b/crates/syntax/src/ast/generated/nodes.rs
@@ -1401,15 +1401,15 @@ pub enum FieldList {
1401 TupleFieldList(TupleFieldList), 1401 TupleFieldList(TupleFieldList),
1402} 1402}
1403#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1403#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1404pub enum AdtDef { 1404pub enum Adt {
1405 Enum(Enum), 1405 Enum(Enum),
1406 Struct(Struct), 1406 Struct(Struct),
1407 Union(Union), 1407 Union(Union),
1408} 1408}
1409impl ast::AttrsOwner for AdtDef {} 1409impl ast::AttrsOwner for Adt {}
1410impl ast::GenericParamsOwner for AdtDef {} 1410impl ast::GenericParamsOwner for Adt {}
1411impl ast::NameOwner for AdtDef {} 1411impl ast::NameOwner for Adt {}
1412impl ast::VisibilityOwner for AdtDef {} 1412impl ast::VisibilityOwner for Adt {}
1413#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1413#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1414pub enum AssocItem { 1414pub enum AssocItem {
1415 Const(Const), 1415 Const(Const),
@@ -3394,16 +3394,16 @@ impl AstNode for FieldList {
3394 } 3394 }
3395 } 3395 }
3396} 3396}
3397impl From<Enum> for AdtDef { 3397impl From<Enum> for Adt {
3398 fn from(node: Enum) -> AdtDef { AdtDef::Enum(node) } 3398 fn from(node: Enum) -> Adt { Adt::Enum(node) }
3399} 3399}
3400impl From<Struct> for AdtDef { 3400impl From<Struct> for Adt {
3401 fn from(node: Struct) -> AdtDef { AdtDef::Struct(node) } 3401 fn from(node: Struct) -> Adt { Adt::Struct(node) }
3402} 3402}
3403impl From<Union> for AdtDef { 3403impl From<Union> for Adt {
3404 fn from(node: Union) -> AdtDef { AdtDef::Union(node) } 3404 fn from(node: Union) -> Adt { Adt::Union(node) }
3405} 3405}
3406impl AstNode for AdtDef { 3406impl AstNode for Adt {
3407 fn can_cast(kind: SyntaxKind) -> bool { 3407 fn can_cast(kind: SyntaxKind) -> bool {
3408 match kind { 3408 match kind {
3409 ENUM | STRUCT | UNION => true, 3409 ENUM | STRUCT | UNION => true,
@@ -3412,18 +3412,18 @@ impl AstNode for AdtDef {
3412 } 3412 }
3413 fn cast(syntax: SyntaxNode) -> Option<Self> { 3413 fn cast(syntax: SyntaxNode) -> Option<Self> {
3414 let res = match syntax.kind() { 3414 let res = match syntax.kind() {
3415 ENUM => AdtDef::Enum(Enum { syntax }), 3415 ENUM => Adt::Enum(Enum { syntax }),
3416 STRUCT => AdtDef::Struct(Struct { syntax }), 3416 STRUCT => Adt::Struct(Struct { syntax }),
3417 UNION => AdtDef::Union(Union { syntax }), 3417 UNION => Adt::Union(Union { syntax }),
3418 _ => return None, 3418 _ => return None,
3419 }; 3419 };
3420 Some(res) 3420 Some(res)
3421 } 3421 }
3422 fn syntax(&self) -> &SyntaxNode { 3422 fn syntax(&self) -> &SyntaxNode {
3423 match self { 3423 match self {
3424 AdtDef::Enum(it) => &it.syntax, 3424 Adt::Enum(it) => &it.syntax,
3425 AdtDef::Struct(it) => &it.syntax, 3425 Adt::Struct(it) => &it.syntax,
3426 AdtDef::Union(it) => &it.syntax, 3426 Adt::Union(it) => &it.syntax,
3427 } 3427 }
3428 } 3428 }
3429} 3429}
@@ -3571,7 +3571,7 @@ impl std::fmt::Display for FieldList {
3571 std::fmt::Display::fmt(self.syntax(), f) 3571 std::fmt::Display::fmt(self.syntax(), f)
3572 } 3572 }
3573} 3573}
3574impl std::fmt::Display for AdtDef { 3574impl std::fmt::Display for Adt {
3575 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 3575 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3576 std::fmt::Display::fmt(self.syntax(), f) 3576 std::fmt::Display::fmt(self.syntax(), f)
3577 } 3577 }
diff --git a/crates/syntax/src/ast/make.rs b/crates/syntax/src/ast/make.rs
index 9ffc3ae11..b6c5de658 100644
--- a/crates/syntax/src/ast/make.rs
+++ b/crates/syntax/src/ast/make.rs
@@ -24,11 +24,24 @@ pub fn name_ref(text: &str) -> ast::NameRef {
24// FIXME: replace stringly-typed constructor with a family of typed ctors, a-la 24// FIXME: replace stringly-typed constructor with a family of typed ctors, a-la
25// `expr_xxx`. 25// `expr_xxx`.
26pub fn ty(text: &str) -> ast::Type { 26pub fn ty(text: &str) -> ast::Type {
27 ast_from_text(&format!("impl {} for D {{}};", text)) 27 ast_from_text(&format!("fn f() -> {} {{}}", text))
28} 28}
29pub fn ty_unit() -> ast::Type { 29pub fn ty_unit() -> ast::Type {
30 ty("()") 30 ty("()")
31} 31}
32// FIXME: handle types of length == 1
33pub fn ty_tuple(types: impl IntoIterator<Item = ast::Type>) -> ast::Type {
34 let contents = types.into_iter().join(", ");
35 ty(&format!("({})", contents))
36}
37// FIXME: handle path to type
38pub fn ty_generic(name: ast::NameRef, types: impl IntoIterator<Item = ast::Type>) -> ast::Type {
39 let contents = types.into_iter().join(", ");
40 ty(&format!("{}<{}>", name, contents))
41}
42pub fn ty_ref(target: ast::Type, exclusive: bool) -> ast::Type {
43 ty(&if exclusive { format!("&mut {}", target) } else { format!("&{}", target) })
44}
32 45
33pub fn assoc_item_list() -> ast::AssocItemList { 46pub fn assoc_item_list() -> ast::AssocItemList {
34 ast_from_text("impl C for D {};") 47 ast_from_text("impl C for D {};")
@@ -175,11 +188,20 @@ pub fn expr_path(path: ast::Path) -> ast::Expr {
175pub fn expr_continue() -> ast::Expr { 188pub fn expr_continue() -> ast::Expr {
176 expr_from_text("continue") 189 expr_from_text("continue")
177} 190}
178pub fn expr_break() -> ast::Expr { 191pub fn expr_break(expr: Option<ast::Expr>) -> ast::Expr {
179 expr_from_text("break") 192 match expr {
193 Some(expr) => expr_from_text(&format!("break {}", expr)),
194 None => expr_from_text("break"),
195 }
180} 196}
181pub fn expr_return() -> ast::Expr { 197pub fn expr_return(expr: Option<ast::Expr>) -> ast::Expr {
182 expr_from_text("return") 198 match expr {
199 Some(expr) => expr_from_text(&format!("return {}", expr)),
200 None => expr_from_text("return"),
201 }
202}
203pub fn expr_try(expr: ast::Expr) -> ast::Expr {
204 expr_from_text(&format!("{}?", expr))
183} 205}
184pub fn expr_match(expr: ast::Expr, match_arm_list: ast::MatchArmList) -> ast::Expr { 206pub fn expr_match(expr: ast::Expr, match_arm_list: ast::MatchArmList) -> ast::Expr {
185 expr_from_text(&format!("match {} {}", expr, match_arm_list)) 207 expr_from_text(&format!("match {} {}", expr, match_arm_list))
@@ -212,6 +234,10 @@ pub fn expr_ref(expr: ast::Expr, exclusive: bool) -> ast::Expr {
212pub fn expr_paren(expr: ast::Expr) -> ast::Expr { 234pub fn expr_paren(expr: ast::Expr) -> ast::Expr {
213 expr_from_text(&format!("({})", expr)) 235 expr_from_text(&format!("({})", expr))
214} 236}
237pub fn expr_tuple(elements: impl IntoIterator<Item = ast::Expr>) -> ast::Expr {
238 let expr = elements.into_iter().format(", ");
239 expr_from_text(&format!("({})", expr))
240}
215fn expr_from_text(text: &str) -> ast::Expr { 241fn expr_from_text(text: &str) -> ast::Expr {
216 ast_from_text(&format!("const C: () = {};", text)) 242 ast_from_text(&format!("const C: () = {};", text))
217} 243}
@@ -236,6 +262,13 @@ pub fn ident_pat(name: ast::Name) -> ast::IdentPat {
236 ast_from_text(&format!("fn f({}: ())", text)) 262 ast_from_text(&format!("fn f({}: ())", text))
237 } 263 }
238} 264}
265pub fn ident_mut_pat(name: ast::Name) -> ast::IdentPat {
266 return from_text(name.text());
267
268 fn from_text(text: &str) -> ast::IdentPat {
269 ast_from_text(&format!("fn f(mut {}: ())", text))
270 }
271}
239 272
240pub fn wildcard_pat() -> ast::WildcardPat { 273pub fn wildcard_pat() -> ast::WildcardPat {
241 return from_text("_"); 274 return from_text("_");
@@ -356,17 +389,25 @@ pub fn token(kind: SyntaxKind) -> SyntaxToken {
356 .unwrap_or_else(|| panic!("unhandled token: {:?}", kind)) 389 .unwrap_or_else(|| panic!("unhandled token: {:?}", kind))
357} 390}
358 391
359pub fn param(name: String, ty: String) -> ast::Param { 392pub fn param(pat: ast::Pat, ty: ast::Type) -> ast::Param {
360 ast_from_text(&format!("fn f({}: {}) {{ }}", name, ty)) 393 ast_from_text(&format!("fn f({}: {}) {{ }}", pat, ty))
361} 394}
362 395
363pub fn ret_type(ty: ast::Type) -> ast::RetType { 396pub fn ret_type(ty: ast::Type) -> ast::RetType {
364 ast_from_text(&format!("fn f() -> {} {{ }}", ty)) 397 ast_from_text(&format!("fn f() -> {} {{ }}", ty))
365} 398}
366 399
367pub fn param_list(pats: impl IntoIterator<Item = ast::Param>) -> ast::ParamList { 400pub fn param_list(
401 self_param: Option<ast::SelfParam>,
402 pats: impl IntoIterator<Item = ast::Param>,
403) -> ast::ParamList {
368 let args = pats.into_iter().join(", "); 404 let args = pats.into_iter().join(", ");
369 ast_from_text(&format!("fn f({}) {{ }}", args)) 405 let list = match self_param {
406 Some(self_param) if args.is_empty() => format!("fn f({}) {{ }}", self_param),
407 Some(self_param) => format!("fn f({}, {}) {{ }}", self_param, args),
408 None => format!("fn f({}) {{ }}", args),
409 };
410 ast_from_text(&list)
370} 411}
371 412
372pub fn generic_param(name: String, ty: Option<ast::TypeBoundList>) -> ast::GenericParam { 413pub fn generic_param(name: String, ty: Option<ast::TypeBoundList>) -> ast::GenericParam {
@@ -478,7 +519,7 @@ fn ast_from_text<N: AstNode>(text: &str) -> N {
478} 519}
479 520
480fn unroot(n: SyntaxNode) -> SyntaxNode { 521fn unroot(n: SyntaxNode) -> SyntaxNode {
481 SyntaxNode::new_root(n.green().clone()) 522 SyntaxNode::new_root(n.green().to_owned())
482} 523}
483 524
484pub mod tokens { 525pub mod tokens {
@@ -486,8 +527,11 @@ pub mod tokens {
486 527
487 use crate::{ast, AstNode, Parse, SourceFile, SyntaxKind::*, SyntaxToken}; 528 use crate::{ast, AstNode, Parse, SourceFile, SyntaxKind::*, SyntaxToken};
488 529
489 pub(super) static SOURCE_FILE: Lazy<Parse<SourceFile>> = 530 pub(super) static SOURCE_FILE: Lazy<Parse<SourceFile>> = Lazy::new(|| {
490 Lazy::new(|| SourceFile::parse("const C: <()>::Item = (1 != 1, 2 == 2, !true)\n;\n\n")); 531 SourceFile::parse(
532 "const C: <()>::Item = (1 != 1, 2 == 2, 3 < 3, 4 <= 4, 5 > 5, 6 >= 6, !true, *p)\n;\n\n",
533 )
534 });
491 535
492 pub fn single_space() -> SyntaxToken { 536 pub fn single_space() -> SyntaxToken {
493 SOURCE_FILE 537 SOURCE_FILE
@@ -495,7 +539,7 @@ pub mod tokens {
495 .syntax() 539 .syntax()
496 .descendants_with_tokens() 540 .descendants_with_tokens()
497 .filter_map(|it| it.into_token()) 541 .filter_map(|it| it.into_token())
498 .find(|it| it.kind() == WHITESPACE && it.text().as_str() == " ") 542 .find(|it| it.kind() == WHITESPACE && it.text() == " ")
499 .unwrap() 543 .unwrap()
500 } 544 }
501 545
@@ -523,7 +567,7 @@ pub mod tokens {
523 .syntax() 567 .syntax()
524 .descendants_with_tokens() 568 .descendants_with_tokens()
525 .filter_map(|it| it.into_token()) 569 .filter_map(|it| it.into_token())
526 .find(|it| it.kind() == WHITESPACE && it.text().as_str() == "\n") 570 .find(|it| it.kind() == WHITESPACE && it.text() == "\n")
527 .unwrap() 571 .unwrap()
528 } 572 }
529 573
@@ -533,7 +577,7 @@ pub mod tokens {
533 .syntax() 577 .syntax()
534 .descendants_with_tokens() 578 .descendants_with_tokens()
535 .filter_map(|it| it.into_token()) 579 .filter_map(|it| it.into_token())
536 .find(|it| it.kind() == WHITESPACE && it.text().as_str() == "\n\n") 580 .find(|it| it.kind() == WHITESPACE && it.text() == "\n\n")
537 .unwrap() 581 .unwrap()
538 } 582 }
539 583
diff --git a/crates/syntax/src/ast/node_ext.rs b/crates/syntax/src/ast/node_ext.rs
index 738c92a5b..52ac97c84 100644
--- a/crates/syntax/src/ast/node_ext.rs
+++ b/crates/syntax/src/ast/node_ext.rs
@@ -3,29 +3,28 @@
3 3
4use std::fmt; 4use std::fmt;
5 5
6use ast::AttrsOwner;
7use itertools::Itertools; 6use itertools::Itertools;
8use parser::SyntaxKind; 7use parser::SyntaxKind;
9 8
10use crate::{ 9use crate::{
11 ast::{self, support, AstNode, AstToken, NameOwner, SyntaxNode}, 10 ast::{self, support, AstNode, AstToken, AttrsOwner, NameOwner, SyntaxNode},
12 SmolStr, SyntaxElement, SyntaxToken, T, 11 SmolStr, SyntaxElement, SyntaxToken, T,
13}; 12};
14 13
15impl ast::Lifetime { 14impl ast::Lifetime {
16 pub fn text(&self) -> &SmolStr { 15 pub fn text(&self) -> &str {
17 text_of_first_token(self.syntax()) 16 text_of_first_token(self.syntax())
18 } 17 }
19} 18}
20 19
21impl ast::Name { 20impl ast::Name {
22 pub fn text(&self) -> &SmolStr { 21 pub fn text(&self) -> &str {
23 text_of_first_token(self.syntax()) 22 text_of_first_token(self.syntax())
24 } 23 }
25} 24}
26 25
27impl ast::NameRef { 26impl ast::NameRef {
28 pub fn text(&self) -> &SmolStr { 27 pub fn text(&self) -> &str {
29 text_of_first_token(self.syntax()) 28 text_of_first_token(self.syntax())
30 } 29 }
31 30
@@ -34,7 +33,7 @@ impl ast::NameRef {
34 } 33 }
35} 34}
36 35
37fn text_of_first_token(node: &SyntaxNode) -> &SmolStr { 36fn text_of_first_token(node: &SyntaxNode) -> &str {
38 node.green().children().next().and_then(|it| it.into_token()).unwrap().text() 37 node.green().children().next().and_then(|it| it.into_token()).unwrap().text()
39} 38}
40 39
@@ -121,7 +120,7 @@ impl ast::Attr {
121 pub fn simple_name(&self) -> Option<SmolStr> { 120 pub fn simple_name(&self) -> Option<SmolStr> {
122 let path = self.path()?; 121 let path = self.path()?;
123 match (path.segment(), path.qualifier()) { 122 match (path.segment(), path.qualifier()) {
124 (Some(segment), None) => Some(segment.syntax().first_token()?.text().clone()), 123 (Some(segment), None) => Some(segment.syntax().first_token()?.text().into()),
125 _ => None, 124 _ => None,
126 } 125 }
127 } 126 }
@@ -274,10 +273,7 @@ impl ast::Struct {
274 273
275impl ast::RecordExprField { 274impl ast::RecordExprField {
276 pub fn for_field_name(field_name: &ast::NameRef) -> Option<ast::RecordExprField> { 275 pub fn for_field_name(field_name: &ast::NameRef) -> Option<ast::RecordExprField> {
277 let candidate = 276 let candidate = Self::for_name_ref(field_name)?;
278 field_name.syntax().parent().and_then(ast::RecordExprField::cast).or_else(|| {
279 field_name.syntax().ancestors().nth(4).and_then(ast::RecordExprField::cast)
280 })?;
281 if candidate.field_name().as_ref() == Some(field_name) { 277 if candidate.field_name().as_ref() == Some(field_name) {
282 Some(candidate) 278 Some(candidate)
283 } else { 279 } else {
@@ -285,6 +281,13 @@ impl ast::RecordExprField {
285 } 281 }
286 } 282 }
287 283
284 pub fn for_name_ref(name_ref: &ast::NameRef) -> Option<ast::RecordExprField> {
285 let syn = name_ref.syntax();
286 syn.parent()
287 .and_then(ast::RecordExprField::cast)
288 .or_else(|| syn.ancestors().nth(4).and_then(ast::RecordExprField::cast))
289 }
290
288 /// Deals with field init shorthand 291 /// Deals with field init shorthand
289 pub fn field_name(&self) -> Option<ast::NameRef> { 292 pub fn field_name(&self) -> Option<ast::NameRef> {
290 if let Some(name_ref) = self.name_ref() { 293 if let Some(name_ref) = self.name_ref() {
@@ -294,6 +297,53 @@ impl ast::RecordExprField {
294 } 297 }
295} 298}
296 299
300#[derive(Debug, Clone)]
301pub enum NameLike {
302 NameRef(ast::NameRef),
303 Name(ast::Name),
304 Lifetime(ast::Lifetime),
305}
306
307impl NameLike {
308 pub fn as_name_ref(&self) -> Option<&ast::NameRef> {
309 match self {
310 NameLike::NameRef(name_ref) => Some(name_ref),
311 _ => None,
312 }
313 }
314}
315
316impl ast::AstNode for NameLike {
317 fn can_cast(kind: SyntaxKind) -> bool {
318 matches!(kind, SyntaxKind::NAME | SyntaxKind::NAME_REF | SyntaxKind::LIFETIME)
319 }
320 fn cast(syntax: SyntaxNode) -> Option<Self> {
321 let res = match syntax.kind() {
322 SyntaxKind::NAME => NameLike::Name(ast::Name { syntax }),
323 SyntaxKind::NAME_REF => NameLike::NameRef(ast::NameRef { syntax }),
324 SyntaxKind::LIFETIME => NameLike::Lifetime(ast::Lifetime { syntax }),
325 _ => return None,
326 };
327 Some(res)
328 }
329 fn syntax(&self) -> &SyntaxNode {
330 match self {
331 NameLike::NameRef(it) => it.syntax(),
332 NameLike::Name(it) => it.syntax(),
333 NameLike::Lifetime(it) => it.syntax(),
334 }
335 }
336}
337
338mod __ {
339 use super::{
340 ast::{Lifetime, Name, NameRef},
341 NameLike,
342 };
343 stdx::impl_from!(NameRef, Name, Lifetime for NameLike);
344}
345
346#[derive(Debug, Clone, PartialEq)]
297pub enum NameOrNameRef { 347pub enum NameOrNameRef {
298 Name(ast::Name), 348 Name(ast::Name),
299 NameRef(ast::NameRef), 349 NameRef(ast::NameRef),
@@ -309,16 +359,42 @@ impl fmt::Display for NameOrNameRef {
309} 359}
310 360
311impl ast::RecordPatField { 361impl ast::RecordPatField {
362 pub fn for_field_name_ref(field_name: &ast::NameRef) -> Option<ast::RecordPatField> {
363 let candidate = field_name.syntax().parent().and_then(ast::RecordPatField::cast)?;
364 match candidate.field_name()? {
365 NameOrNameRef::NameRef(name_ref) if name_ref == *field_name => Some(candidate),
366 _ => None,
367 }
368 }
369
370 pub fn for_field_name(field_name: &ast::Name) -> Option<ast::RecordPatField> {
371 let candidate =
372 field_name.syntax().ancestors().nth(2).and_then(ast::RecordPatField::cast)?;
373 match candidate.field_name()? {
374 NameOrNameRef::Name(name) if name == *field_name => Some(candidate),
375 _ => None,
376 }
377 }
378
312 /// Deals with field init shorthand 379 /// Deals with field init shorthand
313 pub fn field_name(&self) -> Option<NameOrNameRef> { 380 pub fn field_name(&self) -> Option<NameOrNameRef> {
314 if let Some(name_ref) = self.name_ref() { 381 if let Some(name_ref) = self.name_ref() {
315 return Some(NameOrNameRef::NameRef(name_ref)); 382 return Some(NameOrNameRef::NameRef(name_ref));
316 } 383 }
317 if let Some(ast::Pat::IdentPat(pat)) = self.pat() { 384 match self.pat() {
318 let name = pat.name()?; 385 Some(ast::Pat::IdentPat(pat)) => {
319 return Some(NameOrNameRef::Name(name)); 386 let name = pat.name()?;
387 Some(NameOrNameRef::Name(name))
388 }
389 Some(ast::Pat::BoxPat(pat)) => match pat.pat() {
390 Some(ast::Pat::IdentPat(pat)) => {
391 let name = pat.name()?;
392 Some(NameOrNameRef::Name(name))
393 }
394 _ => None,
395 },
396 _ => None,
320 } 397 }
321 None
322 } 398 }
323} 399}
324 400
diff --git a/crates/syntax/src/ast/token_ext.rs b/crates/syntax/src/ast/token_ext.rs
index 5e9620a40..977eb8181 100644
--- a/crates/syntax/src/ast/token_ext.rs
+++ b/crates/syntax/src/ast/token_ext.rs
@@ -41,7 +41,7 @@ impl ast::Comment {
41 match kind { 41 match kind {
42 CommentKind { shape, doc: Some(_) } => { 42 CommentKind { shape, doc: Some(_) } => {
43 let prefix = kind.prefix(); 43 let prefix = kind.prefix();
44 let text = &self.text().as_str()[prefix.len()..]; 44 let text = &self.text()[prefix.len()..];
45 let ws = text.chars().next().filter(|c| c.is_whitespace()); 45 let ws = text.chars().next().filter(|c| c.is_whitespace());
46 let text = ws.map_or(text, |ws| &text[ws.len_utf8()..]); 46 let text = ws.map_or(text, |ws| &text[ws.len_utf8()..]);
47 match shape { 47 match shape {
@@ -85,8 +85,9 @@ pub enum CommentPlacement {
85} 85}
86 86
87impl CommentKind { 87impl CommentKind {
88 const BY_PREFIX: [(&'static str, CommentKind); 8] = [ 88 const BY_PREFIX: [(&'static str, CommentKind); 9] = [
89 ("/**/", CommentKind { shape: CommentShape::Block, doc: None }), 89 ("/**/", CommentKind { shape: CommentShape::Block, doc: None }),
90 ("/***", CommentKind { shape: CommentShape::Block, doc: None }),
90 ("////", CommentKind { shape: CommentShape::Line, doc: None }), 91 ("////", CommentKind { shape: CommentShape::Line, doc: None }),
91 ("///", CommentKind { shape: CommentShape::Line, doc: Some(CommentPlacement::Outer) }), 92 ("///", CommentKind { shape: CommentShape::Line, doc: Some(CommentPlacement::Outer) }),
92 ("//!", CommentKind { shape: CommentShape::Line, doc: Some(CommentPlacement::Inner) }), 93 ("//!", CommentKind { shape: CommentShape::Line, doc: Some(CommentPlacement::Inner) }),
@@ -156,13 +157,13 @@ impl ast::String {
156 157
157 pub fn value(&self) -> Option<Cow<'_, str>> { 158 pub fn value(&self) -> Option<Cow<'_, str>> {
158 if self.is_raw() { 159 if self.is_raw() {
159 let text = self.text().as_str(); 160 let text = self.text();
160 let text = 161 let text =
161 &text[self.text_range_between_quotes()? - self.syntax().text_range().start()]; 162 &text[self.text_range_between_quotes()? - self.syntax().text_range().start()];
162 return Some(Cow::Borrowed(text)); 163 return Some(Cow::Borrowed(text));
163 } 164 }
164 165
165 let text = self.text().as_str(); 166 let text = self.text();
166 let text = &text[self.text_range_between_quotes()? - self.syntax().text_range().start()]; 167 let text = &text[self.text_range_between_quotes()? - self.syntax().text_range().start()];
167 168
168 let mut buf = String::new(); 169 let mut buf = String::new();
@@ -173,7 +174,7 @@ impl ast::String {
173 buf.capacity() == 0, 174 buf.capacity() == 0,
174 ) { 175 ) {
175 (Ok(c), false) => buf.push(c), 176 (Ok(c), false) => buf.push(c),
176 (Ok(c), true) if Some(c) == text_iter.next() => (), 177 (Ok(c), true) if char_range.len() == 1 && Some(c) == text_iter.next() => (),
177 (Ok(c), true) => { 178 (Ok(c), true) => {
178 buf.reserve_exact(text.len()); 179 buf.reserve_exact(text.len());
179 buf.push_str(&text[..char_range.start]); 180 buf.push_str(&text[..char_range.start]);
@@ -190,7 +191,7 @@ impl ast::String {
190 } 191 }
191 192
192 pub fn quote_offsets(&self) -> Option<QuoteOffsets> { 193 pub fn quote_offsets(&self) -> Option<QuoteOffsets> {
193 let text = self.text().as_str(); 194 let text = self.text();
194 let offsets = QuoteOffsets::new(text)?; 195 let offsets = QuoteOffsets::new(text)?;
195 let o = self.syntax().text_range().start(); 196 let o = self.syntax().text_range().start();
196 let offsets = QuoteOffsets { 197 let offsets = QuoteOffsets {
@@ -560,7 +561,7 @@ impl HasFormatSpecifier for ast::String {
560 fn char_ranges( 561 fn char_ranges(
561 &self, 562 &self,
562 ) -> Option<Vec<(TextRange, Result<char, rustc_lexer::unescape::EscapeError>)>> { 563 ) -> Option<Vec<(TextRange, Result<char, rustc_lexer::unescape::EscapeError>)>> {
563 let text = self.text().as_str(); 564 let text = self.text();
564 let text = &text[self.text_range_between_quotes()? - self.syntax().text_range().start()]; 565 let text = &text[self.text_range_between_quotes()? - self.syntax().text_range().start()];
565 let offset = self.text_range_between_quotes()?.start() - self.syntax().text_range().start(); 566 let offset = self.text_range_between_quotes()?.start() - self.syntax().text_range().start();
566 567
@@ -590,7 +591,7 @@ impl ast::IntNumber {
590 pub fn value(&self) -> Option<u128> { 591 pub fn value(&self) -> Option<u128> {
591 let token = self.syntax(); 592 let token = self.syntax();
592 593
593 let mut text = token.text().as_str(); 594 let mut text = token.text();
594 if let Some(suffix) = self.suffix() { 595 if let Some(suffix) = self.suffix() {
595 text = &text[..text.len() - suffix.len()] 596 text = &text[..text.len() - suffix.len()]
596 } 597 }
@@ -659,7 +660,7 @@ impl Radix {
659 660
660#[cfg(test)] 661#[cfg(test)]
661mod tests { 662mod tests {
662 use crate::ast::{make, FloatNumber, IntNumber}; 663 use crate::ast::{self, make, FloatNumber, IntNumber};
663 664
664 fn check_float_suffix<'a>(lit: &str, expected: impl Into<Option<&'a str>>) { 665 fn check_float_suffix<'a>(lit: &str, expected: impl Into<Option<&'a str>>) {
665 assert_eq!(FloatNumber { syntax: make::tokens::literal(lit) }.suffix(), expected.into()); 666 assert_eq!(FloatNumber { syntax: make::tokens::literal(lit) }.suffix(), expected.into());
@@ -692,4 +693,21 @@ mod tests {
692 check_int_suffix("0o11u32", "u32"); 693 check_int_suffix("0o11u32", "u32");
693 check_int_suffix("0xffu32", "u32"); 694 check_int_suffix("0xffu32", "u32");
694 } 695 }
696
697 fn check_string_value<'a>(lit: &str, expected: impl Into<Option<&'a str>>) {
698 assert_eq!(
699 ast::String { syntax: make::tokens::literal(&format!("\"{}\"", lit)) }
700 .value()
701 .as_deref(),
702 expected.into()
703 );
704 }
705
706 #[test]
707 fn test_string_escape() {
708 check_string_value(r"foobar", "foobar");
709 check_string_value(r"\foobar", None);
710 check_string_value(r"\nfoobar", "\nfoobar");
711 check_string_value(r"C:\\Windows\\System32\\", "C:\\Windows\\System32\\");
712 }
695} 713}
diff --git a/crates/syntax/src/lib.rs b/crates/syntax/src/lib.rs
index ea7482bb1..11294c5b2 100644
--- a/crates/syntax/src/lib.rs
+++ b/crates/syntax/src/lib.rs
@@ -56,9 +56,9 @@ pub use crate::{
56}; 56};
57pub use parser::{SyntaxKind, T}; 57pub use parser::{SyntaxKind, T};
58pub use rowan::{ 58pub use rowan::{
59 Direction, GreenNode, NodeOrToken, SmolStr, SyntaxText, TextRange, TextSize, TokenAtOffset, 59 Direction, GreenNode, NodeOrToken, SyntaxText, TextRange, TextSize, TokenAtOffset, WalkEvent,
60 WalkEvent,
61}; 60};
61pub use smol_str::SmolStr;
62 62
63/// `Parse` is the result of the parsing: a syntax tree and a collection of 63/// `Parse` is the result of the parsing: a syntax tree and a collection of
64/// errors. 64/// errors.
diff --git a/crates/syntax/src/parsing/reparsing.rs b/crates/syntax/src/parsing/reparsing.rs
index 76f01084c..3d637bf91 100644
--- a/crates/syntax/src/parsing/reparsing.rs
+++ b/crates/syntax/src/parsing/reparsing.rs
@@ -73,8 +73,7 @@ fn reparse_token<'node>(
73 new_text.pop(); 73 new_text.pop();
74 } 74 }
75 75
76 let new_token = 76 let new_token = GreenToken::new(rowan::SyntaxKind(prev_token_kind.into()), &new_text);
77 GreenToken::new(rowan::SyntaxKind(prev_token_kind.into()), new_text.into());
78 Some(( 77 Some((
79 prev_token.replace_with(new_token), 78 prev_token.replace_with(new_token),
80 new_err.into_iter().collect(), 79 new_err.into_iter().collect(),
diff --git a/crates/syntax/src/parsing/text_tree_sink.rs b/crates/syntax/src/parsing/text_tree_sink.rs
index ce27c3dd9..d5ddc076f 100644
--- a/crates/syntax/src/parsing/text_tree_sink.rs
+++ b/crates/syntax/src/parsing/text_tree_sink.rs
@@ -8,7 +8,7 @@ use crate::{
8 ast, 8 ast,
9 parsing::Token, 9 parsing::Token,
10 syntax_node::GreenNode, 10 syntax_node::GreenNode,
11 SmolStr, SyntaxError, 11 SyntaxError,
12 SyntaxKind::{self, *}, 12 SyntaxKind::{self, *},
13 SyntaxTreeBuilder, TextRange, TextSize, 13 SyntaxTreeBuilder, TextRange, TextSize,
14}; 14};
@@ -135,7 +135,7 @@ impl<'a> TextTreeSink<'a> {
135 135
136 fn do_token(&mut self, kind: SyntaxKind, len: TextSize, n_tokens: usize) { 136 fn do_token(&mut self, kind: SyntaxKind, len: TextSize, n_tokens: usize) {
137 let range = TextRange::at(self.text_pos, len); 137 let range = TextRange::at(self.text_pos, len);
138 let text: SmolStr = self.text[range].into(); 138 let text = &self.text[range];
139 self.text_pos += len; 139 self.text_pos += len;
140 self.token_pos += n_tokens; 140 self.token_pos += n_tokens;
141 self.inner.token(kind, text); 141 self.inner.token(kind, text);
diff --git a/crates/syntax/src/syntax_node.rs b/crates/syntax/src/syntax_node.rs
index cc30138fa..8f643b228 100644
--- a/crates/syntax/src/syntax_node.rs
+++ b/crates/syntax/src/syntax_node.rs
@@ -8,7 +8,7 @@
8 8
9use rowan::{GreenNodeBuilder, Language}; 9use rowan::{GreenNodeBuilder, Language};
10 10
11use crate::{Parse, SmolStr, SyntaxError, SyntaxKind, TextSize}; 11use crate::{Parse, SyntaxError, SyntaxKind, TextSize};
12 12
13pub(crate) use rowan::{GreenNode, GreenToken, NodeOrToken}; 13pub(crate) use rowan::{GreenNode, GreenToken, NodeOrToken};
14 14
@@ -53,7 +53,7 @@ impl SyntaxTreeBuilder {
53 Parse::new(green, errors) 53 Parse::new(green, errors)
54 } 54 }
55 55
56 pub fn token(&mut self, kind: SyntaxKind, text: SmolStr) { 56 pub fn token(&mut self, kind: SyntaxKind, text: &str) {
57 let kind = RustLanguage::kind_to_raw(kind); 57 let kind = RustLanguage::kind_to_raw(kind);
58 self.inner.token(kind, text) 58 self.inner.token(kind, text)
59 } 59 }
diff --git a/crates/syntax/src/tests.rs b/crates/syntax/src/tests.rs
index 9d3433c9d..b2c06e24f 100644
--- a/crates/syntax/src/tests.rs
+++ b/crates/syntax/src/tests.rs
@@ -4,11 +4,12 @@ use std::{
4 path::{Path, PathBuf}, 4 path::{Path, PathBuf},
5}; 5};
6 6
7use ast::NameOwner;
7use expect_test::expect_file; 8use expect_test::expect_file;
8use rayon::prelude::*; 9use rayon::prelude::*;
9use test_utils::project_dir; 10use test_utils::{bench, bench_fixture, project_dir, skip_slow_tests};
10 11
11use crate::{fuzz, tokenize, SourceFile, SyntaxError, TextRange, TextSize, Token}; 12use crate::{ast, fuzz, tokenize, AstNode, SourceFile, SyntaxError, TextRange, TextSize, Token};
12 13
13#[test] 14#[test]
14fn lexer_tests() { 15fn lexer_tests() {
@@ -42,6 +43,28 @@ fn main() {
42} 43}
43 44
44#[test] 45#[test]
46fn benchmark_parser() {
47 if skip_slow_tests() {
48 return;
49 }
50 let data = bench_fixture::glorious_old_parser();
51 let tree = {
52 let _b = bench("parsing");
53 let p = SourceFile::parse(&data);
54 assert!(p.errors.is_empty());
55 assert_eq!(p.tree().syntax.text_range().len(), 352474.into());
56 p.tree()
57 };
58
59 {
60 let _b = bench("tree traversal");
61 let fn_names =
62 tree.syntax().descendants().filter_map(ast::Fn::cast).filter_map(|f| f.name()).count();
63 assert_eq!(fn_names, 268);
64 }
65}
66
67#[test]
45fn parser_tests() { 68fn parser_tests() {
46 dir_tests(&test_data_dir(), &["parser/inline/ok", "parser/ok"], "rast", |text, path| { 69 dir_tests(&test_data_dir(), &["parser/inline/ok", "parser/ok"], "rast", |text, path| {
47 let parse = SourceFile::parse(text); 70 let parse = SourceFile::parse(text);
@@ -128,7 +151,6 @@ fn reparse_fuzz_tests() {
128} 151}
129 152
130/// Test that Rust-analyzer can parse and validate the rust-analyzer 153/// Test that Rust-analyzer can parse and validate the rust-analyzer
131/// FIXME: Use this as a benchmark
132#[test] 154#[test]
133fn self_hosting_parsing() { 155fn self_hosting_parsing() {
134 let dir = project_dir().join("crates"); 156 let dir = project_dir().join("crates");
diff --git a/crates/syntax/src/validation.rs b/crates/syntax/src/validation.rs
index 7901580ee..3e216fb70 100644
--- a/crates/syntax/src/validation.rs
+++ b/crates/syntax/src/validation.rs
@@ -1,4 +1,6 @@
1//! FIXME: write short doc here 1//! This module implements syntax validation that the parser doesn't handle.
2//!
3//! A failed validation emits a diagnostic.
2 4
3mod block; 5mod block;
4 6
@@ -92,6 +94,7 @@ pub(crate) fn validate(root: &SyntaxNode) -> Vec<SyntaxError> {
92 match_ast! { 94 match_ast! {
93 match node { 95 match node {
94 ast::Literal(it) => validate_literal(it, &mut errors), 96 ast::Literal(it) => validate_literal(it, &mut errors),
97 ast::Const(it) => validate_const(it, &mut errors),
95 ast::BlockExpr(it) => block::validate_block_expr(it, &mut errors), 98 ast::BlockExpr(it) => block::validate_block_expr(it, &mut errors),
96 ast::FieldExpr(it) => validate_numeric_name(it.name_ref(), &mut errors), 99 ast::FieldExpr(it) => validate_numeric_name(it.name_ref(), &mut errors),
97 ast::RecordExprField(it) => validate_numeric_name(it.name_ref(), &mut errors), 100 ast::RecordExprField(it) => validate_numeric_name(it.name_ref(), &mut errors),
@@ -116,7 +119,7 @@ fn validate_literal(literal: ast::Literal, acc: &mut Vec<SyntaxError>) {
116 } 119 }
117 120
118 let token = literal.token(); 121 let token = literal.token();
119 let text = token.text().as_str(); 122 let text = token.text();
120 123
121 // FIXME: lift this lambda refactor to `fn` (https://github.com/rust-analyzer/rust-analyzer/pull/2834#discussion_r366199205) 124 // FIXME: lift this lambda refactor to `fn` (https://github.com/rust-analyzer/rust-analyzer/pull/2834#discussion_r366199205)
122 let mut push_err = |prefix_len, (off, err): (usize, unescape::EscapeError)| { 125 let mut push_err = |prefix_len, (off, err): (usize, unescape::EscapeError)| {
@@ -362,3 +365,14 @@ fn validate_macro_rules(mac: ast::MacroRules, errors: &mut Vec<SyntaxError>) {
362 )); 365 ));
363 } 366 }
364} 367}
368
369fn validate_const(const_: ast::Const, errors: &mut Vec<SyntaxError>) {
370 if let Some(mut_token) = const_
371 .const_token()
372 .and_then(|t| t.next_token())
373 .and_then(|t| algo::skip_trivia_token(t, Direction::Next))
374 .filter(|t| t.kind() == T![mut])
375 {
376 errors.push(SyntaxError::new("const globals cannot be mutable", mut_token.text_range()));
377 }
378}
diff --git a/crates/syntax/test_data/accidentally_quadratic b/crates/syntax/test_data/accidentally_quadratic
deleted file mode 100644
index 428f83a62..000000000
--- a/crates/syntax/test_data/accidentally_quadratic
+++ /dev/null
@@ -1,3980 +0,0 @@
1#[doc = r" Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Control Register"]
5 pub cr: CR,
6 #[doc = "0x04 - Error Status Register"]
7 pub es: ES,
8 _reserved0: [u8; 4usize],
9 #[doc = "0x0c - Enable Request Register"]
10 pub erq: ERQ,
11 _reserved1: [u8; 4usize],
12 #[doc = "0x14 - Enable Error Interrupt Register"]
13 pub eei: EEI,
14 #[doc = "0x18 - Clear Enable Error Interrupt Register"]
15 pub ceei: CEEI,
16 #[doc = "0x19 - Set Enable Error Interrupt Register"]
17 pub seei: SEEI,
18 #[doc = "0x1a - Clear Enable Request Register"]
19 pub cerq: CERQ,
20 #[doc = "0x1b - Set Enable Request Register"]
21 pub serq: SERQ,
22 #[doc = "0x1c - Clear DONE Status Bit Register"]
23 pub cdne: CDNE,
24 #[doc = "0x1d - Set START Bit Register"]
25 pub ssrt: SSRT,
26 #[doc = "0x1e - Clear Error Register"]
27 pub cerr: CERR,
28 #[doc = "0x1f - Clear Interrupt Request Register"]
29 pub cint: CINT,
30 _reserved2: [u8; 4usize],
31 #[doc = "0x24 - Interrupt Request Register"]
32 pub int: INT,
33 _reserved3: [u8; 4usize],
34 #[doc = "0x2c - Error Register"]
35 pub err: ERR,
36 _reserved4: [u8; 4usize],
37 #[doc = "0x34 - Hardware Request Status Register"]
38 pub hrs: HRS,
39 _reserved5: [u8; 12usize],
40 #[doc = "0x44 - Enable Asynchronous Request in Stop Register"]
41 pub ears: EARS,
42 _reserved6: [u8; 184usize],
43 #[doc = "0x100 - Channel n Priority Register"]
44 pub dchpri3: DCHPRI3,
45 #[doc = "0x101 - Channel n Priority Register"]
46 pub dchpri2: DCHPRI2,
47 #[doc = "0x102 - Channel n Priority Register"]
48 pub dchpri1: DCHPRI1,
49 #[doc = "0x103 - Channel n Priority Register"]
50 pub dchpri0: DCHPRI0,
51 #[doc = "0x104 - Channel n Priority Register"]
52 pub dchpri7: DCHPRI7,
53 #[doc = "0x105 - Channel n Priority Register"]
54 pub dchpri6: DCHPRI6,
55 #[doc = "0x106 - Channel n Priority Register"]
56 pub dchpri5: DCHPRI5,
57 #[doc = "0x107 - Channel n Priority Register"]
58 pub dchpri4: DCHPRI4,
59 #[doc = "0x108 - Channel n Priority Register"]
60 pub dchpri11: DCHPRI11,
61 #[doc = "0x109 - Channel n Priority Register"]
62 pub dchpri10: DCHPRI10,
63 #[doc = "0x10a - Channel n Priority Register"]
64 pub dchpri9: DCHPRI9,
65 #[doc = "0x10b - Channel n Priority Register"]
66 pub dchpri8: DCHPRI8,
67 #[doc = "0x10c - Channel n Priority Register"]
68 pub dchpri15: DCHPRI15,
69 #[doc = "0x10d - Channel n Priority Register"]
70 pub dchpri14: DCHPRI14,
71 #[doc = "0x10e - Channel n Priority Register"]
72 pub dchpri13: DCHPRI13,
73 #[doc = "0x10f - Channel n Priority Register"]
74 pub dchpri12: DCHPRI12,
75 #[doc = "0x110 - Channel n Priority Register"]
76 pub dchpri19: DCHPRI19,
77 #[doc = "0x111 - Channel n Priority Register"]
78 pub dchpri18: DCHPRI18,
79 #[doc = "0x112 - Channel n Priority Register"]
80 pub dchpri17: DCHPRI17,
81 #[doc = "0x113 - Channel n Priority Register"]
82 pub dchpri16: DCHPRI16,
83 #[doc = "0x114 - Channel n Priority Register"]
84 pub dchpri23: DCHPRI23,
85 #[doc = "0x115 - Channel n Priority Register"]
86 pub dchpri22: DCHPRI22,
87 #[doc = "0x116 - Channel n Priority Register"]
88 pub dchpri21: DCHPRI21,
89 #[doc = "0x117 - Channel n Priority Register"]
90 pub dchpri20: DCHPRI20,
91 #[doc = "0x118 - Channel n Priority Register"]
92 pub dchpri27: DCHPRI27,
93 #[doc = "0x119 - Channel n Priority Register"]
94 pub dchpri26: DCHPRI26,
95 #[doc = "0x11a - Channel n Priority Register"]
96 pub dchpri25: DCHPRI25,
97 #[doc = "0x11b - Channel n Priority Register"]
98 pub dchpri24: DCHPRI24,
99 #[doc = "0x11c - Channel n Priority Register"]
100 pub dchpri31: DCHPRI31,
101 #[doc = "0x11d - Channel n Priority Register"]
102 pub dchpri30: DCHPRI30,
103 #[doc = "0x11e - Channel n Priority Register"]
104 pub dchpri29: DCHPRI29,
105 #[doc = "0x11f - Channel n Priority Register"]
106 pub dchpri28: DCHPRI28,
107 _reserved7: [u8; 3808usize],
108 #[doc = "0x1000 - TCD Source Address"]
109 pub tcd0_saddr: TCD0_SADDR,
110 #[doc = "0x1004 - TCD Signed Source Address Offset"]
111 pub tcd0_soff: TCD0_SOFF,
112 #[doc = "0x1006 - TCD Transfer Attributes"]
113 pub tcd0_attr: TCD0_ATTR,
114 #[doc = "0x1008 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
115 pub tcd0_nbytes_mlno: TCD0_NBYTES_MLNO,
116 #[doc = "0x100c - TCD Last Source Address Adjustment"]
117 pub tcd0_slast: TCD0_SLAST,
118 #[doc = "0x1010 - TCD Destination Address"]
119 pub tcd0_daddr: TCD0_DADDR,
120 #[doc = "0x1014 - TCD Signed Destination Address Offset"]
121 pub tcd0_doff: TCD0_DOFF,
122 #[doc = "0x1016 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
123 pub tcd0_citer_elinkno: TCD0_CITER_ELINKNO,
124 #[doc = "0x1018 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
125 pub tcd0_dlastsga: TCD0_DLASTSGA,
126 #[doc = "0x101c - TCD Control and Status"]
127 pub tcd0_csr: TCD0_CSR,
128 #[doc = "0x101e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
129 pub tcd0_biter_elinkno: TCD0_BITER_ELINKNO,
130 #[doc = "0x1020 - TCD Source Address"]
131 pub tcd1_saddr: TCD1_SADDR,
132 #[doc = "0x1024 - TCD Signed Source Address Offset"]
133 pub tcd1_soff: TCD1_SOFF,
134 #[doc = "0x1026 - TCD Transfer Attributes"]
135 pub tcd1_attr: TCD1_ATTR,
136 #[doc = "0x1028 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
137 pub tcd1_nbytes_mlno: TCD1_NBYTES_MLNO,
138 #[doc = "0x102c - TCD Last Source Address Adjustment"]
139 pub tcd1_slast: TCD1_SLAST,
140 #[doc = "0x1030 - TCD Destination Address"]
141 pub tcd1_daddr: TCD1_DADDR,
142 #[doc = "0x1034 - TCD Signed Destination Address Offset"]
143 pub tcd1_doff: TCD1_DOFF,
144 #[doc = "0x1036 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
145 pub tcd1_citer_elinkno: TCD1_CITER_ELINKNO,
146 #[doc = "0x1038 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
147 pub tcd1_dlastsga: TCD1_DLASTSGA,
148 #[doc = "0x103c - TCD Control and Status"]
149 pub tcd1_csr: TCD1_CSR,
150 #[doc = "0x103e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
151 pub tcd1_biter_elinkno: TCD1_BITER_ELINKNO,
152 #[doc = "0x1040 - TCD Source Address"]
153 pub tcd2_saddr: TCD2_SADDR,
154 #[doc = "0x1044 - TCD Signed Source Address Offset"]
155 pub tcd2_soff: TCD2_SOFF,
156 #[doc = "0x1046 - TCD Transfer Attributes"]
157 pub tcd2_attr: TCD2_ATTR,
158 #[doc = "0x1048 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
159 pub tcd2_nbytes_mlno: TCD2_NBYTES_MLNO,
160 #[doc = "0x104c - TCD Last Source Address Adjustment"]
161 pub tcd2_slast: TCD2_SLAST,
162 #[doc = "0x1050 - TCD Destination Address"]
163 pub tcd2_daddr: TCD2_DADDR,
164 #[doc = "0x1054 - TCD Signed Destination Address Offset"]
165 pub tcd2_doff: TCD2_DOFF,
166 #[doc = "0x1056 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
167 pub tcd2_citer_elinkno: TCD2_CITER_ELINKNO,
168 #[doc = "0x1058 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
169 pub tcd2_dlastsga: TCD2_DLASTSGA,
170 #[doc = "0x105c - TCD Control and Status"]
171 pub tcd2_csr: TCD2_CSR,
172 #[doc = "0x105e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
173 pub tcd2_biter_elinkno: TCD2_BITER_ELINKNO,
174 #[doc = "0x1060 - TCD Source Address"]
175 pub tcd3_saddr: TCD3_SADDR,
176 #[doc = "0x1064 - TCD Signed Source Address Offset"]
177 pub tcd3_soff: TCD3_SOFF,
178 #[doc = "0x1066 - TCD Transfer Attributes"]
179 pub tcd3_attr: TCD3_ATTR,
180 #[doc = "0x1068 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
181 pub tcd3_nbytes_mlno: TCD3_NBYTES_MLNO,
182 #[doc = "0x106c - TCD Last Source Address Adjustment"]
183 pub tcd3_slast: TCD3_SLAST,
184 #[doc = "0x1070 - TCD Destination Address"]
185 pub tcd3_daddr: TCD3_DADDR,
186 #[doc = "0x1074 - TCD Signed Destination Address Offset"]
187 pub tcd3_doff: TCD3_DOFF,
188 #[doc = "0x1076 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
189 pub tcd3_citer_elinkno: TCD3_CITER_ELINKNO,
190 #[doc = "0x1078 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
191 pub tcd3_dlastsga: TCD3_DLASTSGA,
192 #[doc = "0x107c - TCD Control and Status"]
193 pub tcd3_csr: TCD3_CSR,
194 #[doc = "0x107e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
195 pub tcd3_biter_elinkno: TCD3_BITER_ELINKNO,
196 #[doc = "0x1080 - TCD Source Address"]
197 pub tcd4_saddr: TCD4_SADDR,
198 #[doc = "0x1084 - TCD Signed Source Address Offset"]
199 pub tcd4_soff: TCD4_SOFF,
200 #[doc = "0x1086 - TCD Transfer Attributes"]
201 pub tcd4_attr: TCD4_ATTR,
202 #[doc = "0x1088 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
203 pub tcd4_nbytes_mlno: TCD4_NBYTES_MLNO,
204 #[doc = "0x108c - TCD Last Source Address Adjustment"]
205 pub tcd4_slast: TCD4_SLAST,
206 #[doc = "0x1090 - TCD Destination Address"]
207 pub tcd4_daddr: TCD4_DADDR,
208 #[doc = "0x1094 - TCD Signed Destination Address Offset"]
209 pub tcd4_doff: TCD4_DOFF,
210 #[doc = "0x1096 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
211 pub tcd4_citer_elinkno: TCD4_CITER_ELINKNO,
212 #[doc = "0x1098 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
213 pub tcd4_dlastsga: TCD4_DLASTSGA,
214 #[doc = "0x109c - TCD Control and Status"]
215 pub tcd4_csr: TCD4_CSR,
216 #[doc = "0x109e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
217 pub tcd4_biter_elinkno: TCD4_BITER_ELINKNO,
218 #[doc = "0x10a0 - TCD Source Address"]
219 pub tcd5_saddr: TCD5_SADDR,
220 #[doc = "0x10a4 - TCD Signed Source Address Offset"]
221 pub tcd5_soff: TCD5_SOFF,
222 #[doc = "0x10a6 - TCD Transfer Attributes"]
223 pub tcd5_attr: TCD5_ATTR,
224 #[doc = "0x10a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
225 pub tcd5_nbytes_mlno: TCD5_NBYTES_MLNO,
226 #[doc = "0x10ac - TCD Last Source Address Adjustment"]
227 pub tcd5_slast: TCD5_SLAST,
228 #[doc = "0x10b0 - TCD Destination Address"]
229 pub tcd5_daddr: TCD5_DADDR,
230 #[doc = "0x10b4 - TCD Signed Destination Address Offset"]
231 pub tcd5_doff: TCD5_DOFF,
232 #[doc = "0x10b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
233 pub tcd5_citer_elinkno: TCD5_CITER_ELINKNO,
234 #[doc = "0x10b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
235 pub tcd5_dlastsga: TCD5_DLASTSGA,
236 #[doc = "0x10bc - TCD Control and Status"]
237 pub tcd5_csr: TCD5_CSR,
238 #[doc = "0x10be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
239 pub tcd5_biter_elinkno: TCD5_BITER_ELINKNO,
240 #[doc = "0x10c0 - TCD Source Address"]
241 pub tcd6_saddr: TCD6_SADDR,
242 #[doc = "0x10c4 - TCD Signed Source Address Offset"]
243 pub tcd6_soff: TCD6_SOFF,
244 #[doc = "0x10c6 - TCD Transfer Attributes"]
245 pub tcd6_attr: TCD6_ATTR,
246 #[doc = "0x10c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
247 pub tcd6_nbytes_mlno: TCD6_NBYTES_MLNO,
248 #[doc = "0x10cc - TCD Last Source Address Adjustment"]
249 pub tcd6_slast: TCD6_SLAST,
250 #[doc = "0x10d0 - TCD Destination Address"]
251 pub tcd6_daddr: TCD6_DADDR,
252 #[doc = "0x10d4 - TCD Signed Destination Address Offset"]
253 pub tcd6_doff: TCD6_DOFF,
254 #[doc = "0x10d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
255 pub tcd6_citer_elinkno: TCD6_CITER_ELINKNO,
256 #[doc = "0x10d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
257 pub tcd6_dlastsga: TCD6_DLASTSGA,
258 #[doc = "0x10dc - TCD Control and Status"]
259 pub tcd6_csr: TCD6_CSR,
260 #[doc = "0x10de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
261 pub tcd6_biter_elinkno: TCD6_BITER_ELINKNO,
262 #[doc = "0x10e0 - TCD Source Address"]
263 pub tcd7_saddr: TCD7_SADDR,
264 #[doc = "0x10e4 - TCD Signed Source Address Offset"]
265 pub tcd7_soff: TCD7_SOFF,
266 #[doc = "0x10e6 - TCD Transfer Attributes"]
267 pub tcd7_attr: TCD7_ATTR,
268 #[doc = "0x10e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
269 pub tcd7_nbytes_mlno: TCD7_NBYTES_MLNO,
270 #[doc = "0x10ec - TCD Last Source Address Adjustment"]
271 pub tcd7_slast: TCD7_SLAST,
272 #[doc = "0x10f0 - TCD Destination Address"]
273 pub tcd7_daddr: TCD7_DADDR,
274 #[doc = "0x10f4 - TCD Signed Destination Address Offset"]
275 pub tcd7_doff: TCD7_DOFF,
276 #[doc = "0x10f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
277 pub tcd7_citer_elinkno: TCD7_CITER_ELINKNO,
278 #[doc = "0x10f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
279 pub tcd7_dlastsga: TCD7_DLASTSGA,
280 #[doc = "0x10fc - TCD Control and Status"]
281 pub tcd7_csr: TCD7_CSR,
282 #[doc = "0x10fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
283 pub tcd7_biter_elinkno: TCD7_BITER_ELINKNO,
284 #[doc = "0x1100 - TCD Source Address"]
285 pub tcd8_saddr: TCD8_SADDR,
286 #[doc = "0x1104 - TCD Signed Source Address Offset"]
287 pub tcd8_soff: TCD8_SOFF,
288 #[doc = "0x1106 - TCD Transfer Attributes"]
289 pub tcd8_attr: TCD8_ATTR,
290 #[doc = "0x1108 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
291 pub tcd8_nbytes_mlno: TCD8_NBYTES_MLNO,
292 #[doc = "0x110c - TCD Last Source Address Adjustment"]
293 pub tcd8_slast: TCD8_SLAST,
294 #[doc = "0x1110 - TCD Destination Address"]
295 pub tcd8_daddr: TCD8_DADDR,
296 #[doc = "0x1114 - TCD Signed Destination Address Offset"]
297 pub tcd8_doff: TCD8_DOFF,
298 #[doc = "0x1116 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
299 pub tcd8_citer_elinkno: TCD8_CITER_ELINKNO,
300 #[doc = "0x1118 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
301 pub tcd8_dlastsga: TCD8_DLASTSGA,
302 #[doc = "0x111c - TCD Control and Status"]
303 pub tcd8_csr: TCD8_CSR,
304 #[doc = "0x111e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
305 pub tcd8_biter_elinkno: TCD8_BITER_ELINKNO,
306 #[doc = "0x1120 - TCD Source Address"]
307 pub tcd9_saddr: TCD9_SADDR,
308 #[doc = "0x1124 - TCD Signed Source Address Offset"]
309 pub tcd9_soff: TCD9_SOFF,
310 #[doc = "0x1126 - TCD Transfer Attributes"]
311 pub tcd9_attr: TCD9_ATTR,
312 #[doc = "0x1128 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
313 pub tcd9_nbytes_mlno: TCD9_NBYTES_MLNO,
314 #[doc = "0x112c - TCD Last Source Address Adjustment"]
315 pub tcd9_slast: TCD9_SLAST,
316 #[doc = "0x1130 - TCD Destination Address"]
317 pub tcd9_daddr: TCD9_DADDR,
318 #[doc = "0x1134 - TCD Signed Destination Address Offset"]
319 pub tcd9_doff: TCD9_DOFF,
320 #[doc = "0x1136 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
321 pub tcd9_citer_elinkno: TCD9_CITER_ELINKNO,
322 #[doc = "0x1138 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
323 pub tcd9_dlastsga: TCD9_DLASTSGA,
324 #[doc = "0x113c - TCD Control and Status"]
325 pub tcd9_csr: TCD9_CSR,
326 #[doc = "0x113e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
327 pub tcd9_biter_elinkno: TCD9_BITER_ELINKNO,
328 #[doc = "0x1140 - TCD Source Address"]
329 pub tcd10_saddr: TCD10_SADDR,
330 #[doc = "0x1144 - TCD Signed Source Address Offset"]
331 pub tcd10_soff: TCD10_SOFF,
332 #[doc = "0x1146 - TCD Transfer Attributes"]
333 pub tcd10_attr: TCD10_ATTR,
334 #[doc = "0x1148 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
335 pub tcd10_nbytes_mlno: TCD10_NBYTES_MLNO,
336 #[doc = "0x114c - TCD Last Source Address Adjustment"]
337 pub tcd10_slast: TCD10_SLAST,
338 #[doc = "0x1150 - TCD Destination Address"]
339 pub tcd10_daddr: TCD10_DADDR,
340 #[doc = "0x1154 - TCD Signed Destination Address Offset"]
341 pub tcd10_doff: TCD10_DOFF,
342 #[doc = "0x1156 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
343 pub tcd10_citer_elinkno: TCD10_CITER_ELINKNO,
344 #[doc = "0x1158 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
345 pub tcd10_dlastsga: TCD10_DLASTSGA,
346 #[doc = "0x115c - TCD Control and Status"]
347 pub tcd10_csr: TCD10_CSR,
348 #[doc = "0x115e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
349 pub tcd10_biter_elinkno: TCD10_BITER_ELINKNO,
350 #[doc = "0x1160 - TCD Source Address"]
351 pub tcd11_saddr: TCD11_SADDR,
352 #[doc = "0x1164 - TCD Signed Source Address Offset"]
353 pub tcd11_soff: TCD11_SOFF,
354 #[doc = "0x1166 - TCD Transfer Attributes"]
355 pub tcd11_attr: TCD11_ATTR,
356 #[doc = "0x1168 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
357 pub tcd11_nbytes_mlno: TCD11_NBYTES_MLNO,
358 #[doc = "0x116c - TCD Last Source Address Adjustment"]
359 pub tcd11_slast: TCD11_SLAST,
360 #[doc = "0x1170 - TCD Destination Address"]
361 pub tcd11_daddr: TCD11_DADDR,
362 #[doc = "0x1174 - TCD Signed Destination Address Offset"]
363 pub tcd11_doff: TCD11_DOFF,
364 #[doc = "0x1176 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
365 pub tcd11_citer_elinkno: TCD11_CITER_ELINKNO,
366 #[doc = "0x1178 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
367 pub tcd11_dlastsga: TCD11_DLASTSGA,
368 #[doc = "0x117c - TCD Control and Status"]
369 pub tcd11_csr: TCD11_CSR,
370 #[doc = "0x117e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
371 pub tcd11_biter_elinkno: TCD11_BITER_ELINKNO,
372 #[doc = "0x1180 - TCD Source Address"]
373 pub tcd12_saddr: TCD12_SADDR,
374 #[doc = "0x1184 - TCD Signed Source Address Offset"]
375 pub tcd12_soff: TCD12_SOFF,
376 #[doc = "0x1186 - TCD Transfer Attributes"]
377 pub tcd12_attr: TCD12_ATTR,
378 #[doc = "0x1188 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
379 pub tcd12_nbytes_mlno: TCD12_NBYTES_MLNO,
380 #[doc = "0x118c - TCD Last Source Address Adjustment"]
381 pub tcd12_slast: TCD12_SLAST,
382 #[doc = "0x1190 - TCD Destination Address"]
383 pub tcd12_daddr: TCD12_DADDR,
384 #[doc = "0x1194 - TCD Signed Destination Address Offset"]
385 pub tcd12_doff: TCD12_DOFF,
386 #[doc = "0x1196 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
387 pub tcd12_citer_elinkno: TCD12_CITER_ELINKNO,
388 #[doc = "0x1198 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
389 pub tcd12_dlastsga: TCD12_DLASTSGA,
390 #[doc = "0x119c - TCD Control and Status"]
391 pub tcd12_csr: TCD12_CSR,
392 #[doc = "0x119e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
393 pub tcd12_biter_elinkno: TCD12_BITER_ELINKNO,
394 #[doc = "0x11a0 - TCD Source Address"]
395 pub tcd13_saddr: TCD13_SADDR,
396 #[doc = "0x11a4 - TCD Signed Source Address Offset"]
397 pub tcd13_soff: TCD13_SOFF,
398 #[doc = "0x11a6 - TCD Transfer Attributes"]
399 pub tcd13_attr: TCD13_ATTR,
400 #[doc = "0x11a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
401 pub tcd13_nbytes_mlno: TCD13_NBYTES_MLNO,
402 #[doc = "0x11ac - TCD Last Source Address Adjustment"]
403 pub tcd13_slast: TCD13_SLAST,
404 #[doc = "0x11b0 - TCD Destination Address"]
405 pub tcd13_daddr: TCD13_DADDR,
406 #[doc = "0x11b4 - TCD Signed Destination Address Offset"]
407 pub tcd13_doff: TCD13_DOFF,
408 #[doc = "0x11b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
409 pub tcd13_citer_elinkno: TCD13_CITER_ELINKNO,
410 #[doc = "0x11b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
411 pub tcd13_dlastsga: TCD13_DLASTSGA,
412 #[doc = "0x11bc - TCD Control and Status"]
413 pub tcd13_csr: TCD13_CSR,
414 #[doc = "0x11be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
415 pub tcd13_biter_elinkno: TCD13_BITER_ELINKNO,
416 #[doc = "0x11c0 - TCD Source Address"]
417 pub tcd14_saddr: TCD14_SADDR,
418 #[doc = "0x11c4 - TCD Signed Source Address Offset"]
419 pub tcd14_soff: TCD14_SOFF,
420 #[doc = "0x11c6 - TCD Transfer Attributes"]
421 pub tcd14_attr: TCD14_ATTR,
422 #[doc = "0x11c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
423 pub tcd14_nbytes_mlno: TCD14_NBYTES_MLNO,
424 #[doc = "0x11cc - TCD Last Source Address Adjustment"]
425 pub tcd14_slast: TCD14_SLAST,
426 #[doc = "0x11d0 - TCD Destination Address"]
427 pub tcd14_daddr: TCD14_DADDR,
428 #[doc = "0x11d4 - TCD Signed Destination Address Offset"]
429 pub tcd14_doff: TCD14_DOFF,
430 #[doc = "0x11d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
431 pub tcd14_citer_elinkno: TCD14_CITER_ELINKNO,
432 #[doc = "0x11d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
433 pub tcd14_dlastsga: TCD14_DLASTSGA,
434 #[doc = "0x11dc - TCD Control and Status"]
435 pub tcd14_csr: TCD14_CSR,
436 #[doc = "0x11de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
437 pub tcd14_biter_elinkno: TCD14_BITER_ELINKNO,
438 #[doc = "0x11e0 - TCD Source Address"]
439 pub tcd15_saddr: TCD15_SADDR,
440 #[doc = "0x11e4 - TCD Signed Source Address Offset"]
441 pub tcd15_soff: TCD15_SOFF,
442 #[doc = "0x11e6 - TCD Transfer Attributes"]
443 pub tcd15_attr: TCD15_ATTR,
444 #[doc = "0x11e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
445 pub tcd15_nbytes_mlno: TCD15_NBYTES_MLNO,
446 #[doc = "0x11ec - TCD Last Source Address Adjustment"]
447 pub tcd15_slast: TCD15_SLAST,
448 #[doc = "0x11f0 - TCD Destination Address"]
449 pub tcd15_daddr: TCD15_DADDR,
450 #[doc = "0x11f4 - TCD Signed Destination Address Offset"]
451 pub tcd15_doff: TCD15_DOFF,
452 #[doc = "0x11f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
453 pub tcd15_citer_elinkno: TCD15_CITER_ELINKNO,
454 #[doc = "0x11f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
455 pub tcd15_dlastsga: TCD15_DLASTSGA,
456 #[doc = "0x11fc - TCD Control and Status"]
457 pub tcd15_csr: TCD15_CSR,
458 #[doc = "0x11fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
459 pub tcd15_biter_elinkno: TCD15_BITER_ELINKNO,
460 #[doc = "0x1200 - TCD Source Address"]
461 pub tcd16_saddr: TCD16_SADDR,
462 #[doc = "0x1204 - TCD Signed Source Address Offset"]
463 pub tcd16_soff: TCD16_SOFF,
464 #[doc = "0x1206 - TCD Transfer Attributes"]
465 pub tcd16_attr: TCD16_ATTR,
466 #[doc = "0x1208 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
467 pub tcd16_nbytes_mlno: TCD16_NBYTES_MLNO,
468 #[doc = "0x120c - TCD Last Source Address Adjustment"]
469 pub tcd16_slast: TCD16_SLAST,
470 #[doc = "0x1210 - TCD Destination Address"]
471 pub tcd16_daddr: TCD16_DADDR,
472 #[doc = "0x1214 - TCD Signed Destination Address Offset"]
473 pub tcd16_doff: TCD16_DOFF,
474 #[doc = "0x1216 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
475 pub tcd16_citer_elinkno: TCD16_CITER_ELINKNO,
476 #[doc = "0x1218 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
477 pub tcd16_dlastsga: TCD16_DLASTSGA,
478 #[doc = "0x121c - TCD Control and Status"]
479 pub tcd16_csr: TCD16_CSR,
480 #[doc = "0x121e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
481 pub tcd16_biter_elinkno: TCD16_BITER_ELINKNO,
482 #[doc = "0x1220 - TCD Source Address"]
483 pub tcd17_saddr: TCD17_SADDR,
484 #[doc = "0x1224 - TCD Signed Source Address Offset"]
485 pub tcd17_soff: TCD17_SOFF,
486 #[doc = "0x1226 - TCD Transfer Attributes"]
487 pub tcd17_attr: TCD17_ATTR,
488 #[doc = "0x1228 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
489 pub tcd17_nbytes_mlno: TCD17_NBYTES_MLNO,
490 #[doc = "0x122c - TCD Last Source Address Adjustment"]
491 pub tcd17_slast: TCD17_SLAST,
492 #[doc = "0x1230 - TCD Destination Address"]
493 pub tcd17_daddr: TCD17_DADDR,
494 #[doc = "0x1234 - TCD Signed Destination Address Offset"]
495 pub tcd17_doff: TCD17_DOFF,
496 #[doc = "0x1236 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
497 pub tcd17_citer_elinkno: TCD17_CITER_ELINKNO,
498 #[doc = "0x1238 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
499 pub tcd17_dlastsga: TCD17_DLASTSGA,
500 #[doc = "0x123c - TCD Control and Status"]
501 pub tcd17_csr: TCD17_CSR,
502 #[doc = "0x123e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
503 pub tcd17_biter_elinkno: TCD17_BITER_ELINKNO,
504 #[doc = "0x1240 - TCD Source Address"]
505 pub tcd18_saddr: TCD18_SADDR,
506 #[doc = "0x1244 - TCD Signed Source Address Offset"]
507 pub tcd18_soff: TCD18_SOFF,
508 #[doc = "0x1246 - TCD Transfer Attributes"]
509 pub tcd18_attr: TCD18_ATTR,
510 #[doc = "0x1248 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
511 pub tcd18_nbytes_mlno: TCD18_NBYTES_MLNO,
512 #[doc = "0x124c - TCD Last Source Address Adjustment"]
513 pub tcd18_slast: TCD18_SLAST,
514 #[doc = "0x1250 - TCD Destination Address"]
515 pub tcd18_daddr: TCD18_DADDR,
516 #[doc = "0x1254 - TCD Signed Destination Address Offset"]
517 pub tcd18_doff: TCD18_DOFF,
518 #[doc = "0x1256 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
519 pub tcd18_citer_elinkno: TCD18_CITER_ELINKNO,
520 #[doc = "0x1258 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
521 pub tcd18_dlastsga: TCD18_DLASTSGA,
522 #[doc = "0x125c - TCD Control and Status"]
523 pub tcd18_csr: TCD18_CSR,
524 #[doc = "0x125e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
525 pub tcd18_biter_elinkno: TCD18_BITER_ELINKNO,
526 #[doc = "0x1260 - TCD Source Address"]
527 pub tcd19_saddr: TCD19_SADDR,
528 #[doc = "0x1264 - TCD Signed Source Address Offset"]
529 pub tcd19_soff: TCD19_SOFF,
530 #[doc = "0x1266 - TCD Transfer Attributes"]
531 pub tcd19_attr: TCD19_ATTR,
532 #[doc = "0x1268 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
533 pub tcd19_nbytes_mlno: TCD19_NBYTES_MLNO,
534 #[doc = "0x126c - TCD Last Source Address Adjustment"]
535 pub tcd19_slast: TCD19_SLAST,
536 #[doc = "0x1270 - TCD Destination Address"]
537 pub tcd19_daddr: TCD19_DADDR,
538 #[doc = "0x1274 - TCD Signed Destination Address Offset"]
539 pub tcd19_doff: TCD19_DOFF,
540 #[doc = "0x1276 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
541 pub tcd19_citer_elinkno: TCD19_CITER_ELINKNO,
542 #[doc = "0x1278 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
543 pub tcd19_dlastsga: TCD19_DLASTSGA,
544 #[doc = "0x127c - TCD Control and Status"]
545 pub tcd19_csr: TCD19_CSR,
546 #[doc = "0x127e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
547 pub tcd19_biter_elinkno: TCD19_BITER_ELINKNO,
548 #[doc = "0x1280 - TCD Source Address"]
549 pub tcd20_saddr: TCD20_SADDR,
550 #[doc = "0x1284 - TCD Signed Source Address Offset"]
551 pub tcd20_soff: TCD20_SOFF,
552 #[doc = "0x1286 - TCD Transfer Attributes"]
553 pub tcd20_attr: TCD20_ATTR,
554 #[doc = "0x1288 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
555 pub tcd20_nbytes_mlno: TCD20_NBYTES_MLNO,
556 #[doc = "0x128c - TCD Last Source Address Adjustment"]
557 pub tcd20_slast: TCD20_SLAST,
558 #[doc = "0x1290 - TCD Destination Address"]
559 pub tcd20_daddr: TCD20_DADDR,
560 #[doc = "0x1294 - TCD Signed Destination Address Offset"]
561 pub tcd20_doff: TCD20_DOFF,
562 #[doc = "0x1296 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
563 pub tcd20_citer_elinkno: TCD20_CITER_ELINKNO,
564 #[doc = "0x1298 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
565 pub tcd20_dlastsga: TCD20_DLASTSGA,
566 #[doc = "0x129c - TCD Control and Status"]
567 pub tcd20_csr: TCD20_CSR,
568 #[doc = "0x129e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
569 pub tcd20_biter_elinkno: TCD20_BITER_ELINKNO,
570 #[doc = "0x12a0 - TCD Source Address"]
571 pub tcd21_saddr: TCD21_SADDR,
572 #[doc = "0x12a4 - TCD Signed Source Address Offset"]
573 pub tcd21_soff: TCD21_SOFF,
574 #[doc = "0x12a6 - TCD Transfer Attributes"]
575 pub tcd21_attr: TCD21_ATTR,
576 #[doc = "0x12a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
577 pub tcd21_nbytes_mlno: TCD21_NBYTES_MLNO,
578 #[doc = "0x12ac - TCD Last Source Address Adjustment"]
579 pub tcd21_slast: TCD21_SLAST,
580 #[doc = "0x12b0 - TCD Destination Address"]
581 pub tcd21_daddr: TCD21_DADDR,
582 #[doc = "0x12b4 - TCD Signed Destination Address Offset"]
583 pub tcd21_doff: TCD21_DOFF,
584 #[doc = "0x12b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
585 pub tcd21_citer_elinkno: TCD21_CITER_ELINKNO,
586 #[doc = "0x12b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
587 pub tcd21_dlastsga: TCD21_DLASTSGA,
588 #[doc = "0x12bc - TCD Control and Status"]
589 pub tcd21_csr: TCD21_CSR,
590 #[doc = "0x12be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
591 pub tcd21_biter_elinkno: TCD21_BITER_ELINKNO,
592 #[doc = "0x12c0 - TCD Source Address"]
593 pub tcd22_saddr: TCD22_SADDR,
594 #[doc = "0x12c4 - TCD Signed Source Address Offset"]
595 pub tcd22_soff: TCD22_SOFF,
596 #[doc = "0x12c6 - TCD Transfer Attributes"]
597 pub tcd22_attr: TCD22_ATTR,
598 #[doc = "0x12c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
599 pub tcd22_nbytes_mlno: TCD22_NBYTES_MLNO,
600 #[doc = "0x12cc - TCD Last Source Address Adjustment"]
601 pub tcd22_slast: TCD22_SLAST,
602 #[doc = "0x12d0 - TCD Destination Address"]
603 pub tcd22_daddr: TCD22_DADDR,
604 #[doc = "0x12d4 - TCD Signed Destination Address Offset"]
605 pub tcd22_doff: TCD22_DOFF,
606 #[doc = "0x12d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
607 pub tcd22_citer_elinkno: TCD22_CITER_ELINKNO,
608 #[doc = "0x12d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
609 pub tcd22_dlastsga: TCD22_DLASTSGA,
610 #[doc = "0x12dc - TCD Control and Status"]
611 pub tcd22_csr: TCD22_CSR,
612 #[doc = "0x12de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
613 pub tcd22_biter_elinkno: TCD22_BITER_ELINKNO,
614 #[doc = "0x12e0 - TCD Source Address"]
615 pub tcd23_saddr: TCD23_SADDR,
616 #[doc = "0x12e4 - TCD Signed Source Address Offset"]
617 pub tcd23_soff: TCD23_SOFF,
618 #[doc = "0x12e6 - TCD Transfer Attributes"]
619 pub tcd23_attr: TCD23_ATTR,
620 #[doc = "0x12e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
621 pub tcd23_nbytes_mlno: TCD23_NBYTES_MLNO,
622 #[doc = "0x12ec - TCD Last Source Address Adjustment"]
623 pub tcd23_slast: TCD23_SLAST,
624 #[doc = "0x12f0 - TCD Destination Address"]
625 pub tcd23_daddr: TCD23_DADDR,
626 #[doc = "0x12f4 - TCD Signed Destination Address Offset"]
627 pub tcd23_doff: TCD23_DOFF,
628 #[doc = "0x12f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
629 pub tcd23_citer_elinkno: TCD23_CITER_ELINKNO,
630 #[doc = "0x12f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
631 pub tcd23_dlastsga: TCD23_DLASTSGA,
632 #[doc = "0x12fc - TCD Control and Status"]
633 pub tcd23_csr: TCD23_CSR,
634 #[doc = "0x12fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
635 pub tcd23_biter_elinkno: TCD23_BITER_ELINKNO,
636 #[doc = "0x1300 - TCD Source Address"]
637 pub tcd24_saddr: TCD24_SADDR,
638 #[doc = "0x1304 - TCD Signed Source Address Offset"]
639 pub tcd24_soff: TCD24_SOFF,
640 #[doc = "0x1306 - TCD Transfer Attributes"]
641 pub tcd24_attr: TCD24_ATTR,
642 #[doc = "0x1308 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
643 pub tcd24_nbytes_mlno: TCD24_NBYTES_MLNO,
644 #[doc = "0x130c - TCD Last Source Address Adjustment"]
645 pub tcd24_slast: TCD24_SLAST,
646 #[doc = "0x1310 - TCD Destination Address"]
647 pub tcd24_daddr: TCD24_DADDR,
648 #[doc = "0x1314 - TCD Signed Destination Address Offset"]
649 pub tcd24_doff: TCD24_DOFF,
650 #[doc = "0x1316 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
651 pub tcd24_citer_elinkno: TCD24_CITER_ELINKNO,
652 #[doc = "0x1318 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
653 pub tcd24_dlastsga: TCD24_DLASTSGA,
654 #[doc = "0x131c - TCD Control and Status"]
655 pub tcd24_csr: TCD24_CSR,
656 #[doc = "0x131e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
657 pub tcd24_biter_elinkno: TCD24_BITER_ELINKNO,
658 #[doc = "0x1320 - TCD Source Address"]
659 pub tcd25_saddr: TCD25_SADDR,
660 #[doc = "0x1324 - TCD Signed Source Address Offset"]
661 pub tcd25_soff: TCD25_SOFF,
662 #[doc = "0x1326 - TCD Transfer Attributes"]
663 pub tcd25_attr: TCD25_ATTR,
664 #[doc = "0x1328 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
665 pub tcd25_nbytes_mlno: TCD25_NBYTES_MLNO,
666 #[doc = "0x132c - TCD Last Source Address Adjustment"]
667 pub tcd25_slast: TCD25_SLAST,
668 #[doc = "0x1330 - TCD Destination Address"]
669 pub tcd25_daddr: TCD25_DADDR,
670 #[doc = "0x1334 - TCD Signed Destination Address Offset"]
671 pub tcd25_doff: TCD25_DOFF,
672 #[doc = "0x1336 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
673 pub tcd25_citer_elinkno: TCD25_CITER_ELINKNO,
674 #[doc = "0x1338 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
675 pub tcd25_dlastsga: TCD25_DLASTSGA,
676 #[doc = "0x133c - TCD Control and Status"]
677 pub tcd25_csr: TCD25_CSR,
678 #[doc = "0x133e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
679 pub tcd25_biter_elinkno: TCD25_BITER_ELINKNO,
680 #[doc = "0x1340 - TCD Source Address"]
681 pub tcd26_saddr: TCD26_SADDR,
682 #[doc = "0x1344 - TCD Signed Source Address Offset"]
683 pub tcd26_soff: TCD26_SOFF,
684 #[doc = "0x1346 - TCD Transfer Attributes"]
685 pub tcd26_attr: TCD26_ATTR,
686 #[doc = "0x1348 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
687 pub tcd26_nbytes_mlno: TCD26_NBYTES_MLNO,
688 #[doc = "0x134c - TCD Last Source Address Adjustment"]
689 pub tcd26_slast: TCD26_SLAST,
690 #[doc = "0x1350 - TCD Destination Address"]
691 pub tcd26_daddr: TCD26_DADDR,
692 #[doc = "0x1354 - TCD Signed Destination Address Offset"]
693 pub tcd26_doff: TCD26_DOFF,
694 #[doc = "0x1356 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
695 pub tcd26_citer_elinkno: TCD26_CITER_ELINKNO,
696 #[doc = "0x1358 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
697 pub tcd26_dlastsga: TCD26_DLASTSGA,
698 #[doc = "0x135c - TCD Control and Status"]
699 pub tcd26_csr: TCD26_CSR,
700 #[doc = "0x135e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
701 pub tcd26_biter_elinkno: TCD26_BITER_ELINKNO,
702 #[doc = "0x1360 - TCD Source Address"]
703 pub tcd27_saddr: TCD27_SADDR,
704 #[doc = "0x1364 - TCD Signed Source Address Offset"]
705 pub tcd27_soff: TCD27_SOFF,
706 #[doc = "0x1366 - TCD Transfer Attributes"]
707 pub tcd27_attr: TCD27_ATTR,
708 #[doc = "0x1368 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
709 pub tcd27_nbytes_mlno: TCD27_NBYTES_MLNO,
710 #[doc = "0x136c - TCD Last Source Address Adjustment"]
711 pub tcd27_slast: TCD27_SLAST,
712 #[doc = "0x1370 - TCD Destination Address"]
713 pub tcd27_daddr: TCD27_DADDR,
714 #[doc = "0x1374 - TCD Signed Destination Address Offset"]
715 pub tcd27_doff: TCD27_DOFF,
716 #[doc = "0x1376 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
717 pub tcd27_citer_elinkno: TCD27_CITER_ELINKNO,
718 #[doc = "0x1378 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
719 pub tcd27_dlastsga: TCD27_DLASTSGA,
720 #[doc = "0x137c - TCD Control and Status"]
721 pub tcd27_csr: TCD27_CSR,
722 #[doc = "0x137e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
723 pub tcd27_biter_elinkno: TCD27_BITER_ELINKNO,
724 #[doc = "0x1380 - TCD Source Address"]
725 pub tcd28_saddr: TCD28_SADDR,
726 #[doc = "0x1384 - TCD Signed Source Address Offset"]
727 pub tcd28_soff: TCD28_SOFF,
728 #[doc = "0x1386 - TCD Transfer Attributes"]
729 pub tcd28_attr: TCD28_ATTR,
730 #[doc = "0x1388 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
731 pub tcd28_nbytes_mlno: TCD28_NBYTES_MLNO,
732 #[doc = "0x138c - TCD Last Source Address Adjustment"]
733 pub tcd28_slast: TCD28_SLAST,
734 #[doc = "0x1390 - TCD Destination Address"]
735 pub tcd28_daddr: TCD28_DADDR,
736 #[doc = "0x1394 - TCD Signed Destination Address Offset"]
737 pub tcd28_doff: TCD28_DOFF,
738 #[doc = "0x1396 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
739 pub tcd28_citer_elinkno: TCD28_CITER_ELINKNO,
740 #[doc = "0x1398 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
741 pub tcd28_dlastsga: TCD28_DLASTSGA,
742 #[doc = "0x139c - TCD Control and Status"]
743 pub tcd28_csr: TCD28_CSR,
744 #[doc = "0x139e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
745 pub tcd28_biter_elinkno: TCD28_BITER_ELINKNO,
746 #[doc = "0x13a0 - TCD Source Address"]
747 pub tcd29_saddr: TCD29_SADDR,
748 #[doc = "0x13a4 - TCD Signed Source Address Offset"]
749 pub tcd29_soff: TCD29_SOFF,
750 #[doc = "0x13a6 - TCD Transfer Attributes"]
751 pub tcd29_attr: TCD29_ATTR,
752 #[doc = "0x13a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
753 pub tcd29_nbytes_mlno: TCD29_NBYTES_MLNO,
754 #[doc = "0x13ac - TCD Last Source Address Adjustment"]
755 pub tcd29_slast: TCD29_SLAST,
756 #[doc = "0x13b0 - TCD Destination Address"]
757 pub tcd29_daddr: TCD29_DADDR,
758 #[doc = "0x13b4 - TCD Signed Destination Address Offset"]
759 pub tcd29_doff: TCD29_DOFF,
760 #[doc = "0x13b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
761 pub tcd29_citer_elinkno: TCD29_CITER_ELINKNO,
762 #[doc = "0x13b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
763 pub tcd29_dlastsga: TCD29_DLASTSGA,
764 #[doc = "0x13bc - TCD Control and Status"]
765 pub tcd29_csr: TCD29_CSR,
766 #[doc = "0x13be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
767 pub tcd29_biter_elinkno: TCD29_BITER_ELINKNO,
768 #[doc = "0x13c0 - TCD Source Address"]
769 pub tcd30_saddr: TCD30_SADDR,
770 #[doc = "0x13c4 - TCD Signed Source Address Offset"]
771 pub tcd30_soff: TCD30_SOFF,
772 #[doc = "0x13c6 - TCD Transfer Attributes"]
773 pub tcd30_attr: TCD30_ATTR,
774 #[doc = "0x13c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
775 pub tcd30_nbytes_mlno: TCD30_NBYTES_MLNO,
776 #[doc = "0x13cc - TCD Last Source Address Adjustment"]
777 pub tcd30_slast: TCD30_SLAST,
778 #[doc = "0x13d0 - TCD Destination Address"]
779 pub tcd30_daddr: TCD30_DADDR,
780 #[doc = "0x13d4 - TCD Signed Destination Address Offset"]
781 pub tcd30_doff: TCD30_DOFF,
782 #[doc = "0x13d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
783 pub tcd30_citer_elinkno: TCD30_CITER_ELINKNO,
784 #[doc = "0x13d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
785 pub tcd30_dlastsga: TCD30_DLASTSGA,
786 #[doc = "0x13dc - TCD Control and Status"]
787 pub tcd30_csr: TCD30_CSR,
788 #[doc = "0x13de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
789 pub tcd30_biter_elinkno: TCD30_BITER_ELINKNO,
790 #[doc = "0x13e0 - TCD Source Address"]
791 pub tcd31_saddr: TCD31_SADDR,
792 #[doc = "0x13e4 - TCD Signed Source Address Offset"]
793 pub tcd31_soff: TCD31_SOFF,
794 #[doc = "0x13e6 - TCD Transfer Attributes"]
795 pub tcd31_attr: TCD31_ATTR,
796 #[doc = "0x13e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
797 pub tcd31_nbytes_mlno: TCD31_NBYTES_MLNO,
798 #[doc = "0x13ec - TCD Last Source Address Adjustment"]
799 pub tcd31_slast: TCD31_SLAST,
800 #[doc = "0x13f0 - TCD Destination Address"]
801 pub tcd31_daddr: TCD31_DADDR,
802 #[doc = "0x13f4 - TCD Signed Destination Address Offset"]
803 pub tcd31_doff: TCD31_DOFF,
804 #[doc = "0x13f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
805 pub tcd31_citer_elinkno: TCD31_CITER_ELINKNO,
806 #[doc = "0x13f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
807 pub tcd31_dlastsga: TCD31_DLASTSGA,
808 #[doc = "0x13fc - TCD Control and Status"]
809 pub tcd31_csr: TCD31_CSR,
810 #[doc = "0x13fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
811 pub tcd31_biter_elinkno: TCD31_BITER_ELINKNO,
812}
813#[doc = "Control Register"]
814pub struct CR {
815 register: VolatileCell<u32>,
816}
817#[doc = "Control Register"]
818pub mod cr;
819#[doc = "Error Status Register"]
820pub struct ES {
821 register: VolatileCell<u32>,
822}
823#[doc = "Error Status Register"]
824pub mod es;
825#[doc = "Enable Request Register"]
826pub struct ERQ {
827 register: VolatileCell<u32>,
828}
829#[doc = "Enable Request Register"]
830pub mod erq;
831#[doc = "Enable Error Interrupt Register"]
832pub struct EEI {
833 register: VolatileCell<u32>,
834}
835#[doc = "Enable Error Interrupt Register"]
836pub mod eei;
837#[doc = "Clear Enable Error Interrupt Register"]
838pub struct CEEI {
839 register: VolatileCell<u8>,
840}
841#[doc = "Clear Enable Error Interrupt Register"]
842pub mod ceei;
843#[doc = "Set Enable Error Interrupt Register"]
844pub struct SEEI {
845 register: VolatileCell<u8>,
846}
847#[doc = "Set Enable Error Interrupt Register"]
848pub mod seei;
849#[doc = "Clear Enable Request Register"]
850pub struct CERQ {
851 register: VolatileCell<u8>,
852}
853#[doc = "Clear Enable Request Register"]
854pub mod cerq;
855#[doc = "Set Enable Request Register"]
856pub struct SERQ {
857 register: VolatileCell<u8>,
858}
859#[doc = "Set Enable Request Register"]
860pub mod serq;
861#[doc = "Clear DONE Status Bit Register"]
862pub struct CDNE {
863 register: VolatileCell<u8>,
864}
865#[doc = "Clear DONE Status Bit Register"]
866pub mod cdne;
867#[doc = "Set START Bit Register"]
868pub struct SSRT {
869 register: VolatileCell<u8>,
870}
871#[doc = "Set START Bit Register"]
872pub mod ssrt;
873#[doc = "Clear Error Register"]
874pub struct CERR {
875 register: VolatileCell<u8>,
876}
877#[doc = "Clear Error Register"]
878pub mod cerr;
879#[doc = "Clear Interrupt Request Register"]
880pub struct CINT {
881 register: VolatileCell<u8>,
882}
883#[doc = "Clear Interrupt Request Register"]
884pub mod cint;
885#[doc = "Interrupt Request Register"]
886pub struct INT {
887 register: VolatileCell<u32>,
888}
889#[doc = "Interrupt Request Register"]
890pub mod int;
891#[doc = "Error Register"]
892pub struct ERR {
893 register: VolatileCell<u32>,
894}
895#[doc = "Error Register"]
896pub mod err;
897#[doc = "Hardware Request Status Register"]
898pub struct HRS {
899 register: VolatileCell<u32>,
900}
901#[doc = "Hardware Request Status Register"]
902pub mod hrs;
903#[doc = "Enable Asynchronous Request in Stop Register"]
904pub struct EARS {
905 register: VolatileCell<u32>,
906}
907#[doc = "Enable Asynchronous Request in Stop Register"]
908pub mod ears;
909#[doc = "Channel n Priority Register"]
910pub struct DCHPRI3 {
911 register: VolatileCell<u8>,
912}
913#[doc = "Channel n Priority Register"]
914pub mod dchpri3;
915#[doc = "Channel n Priority Register"]
916pub struct DCHPRI2 {
917 register: VolatileCell<u8>,
918}
919#[doc = "Channel n Priority Register"]
920pub mod dchpri2;
921#[doc = "Channel n Priority Register"]
922pub struct DCHPRI1 {
923 register: VolatileCell<u8>,
924}
925#[doc = "Channel n Priority Register"]
926pub mod dchpri1;
927#[doc = "Channel n Priority Register"]
928pub struct DCHPRI0 {
929 register: VolatileCell<u8>,
930}
931#[doc = "Channel n Priority Register"]
932pub mod dchpri0;
933#[doc = "Channel n Priority Register"]
934pub struct DCHPRI7 {
935 register: VolatileCell<u8>,
936}
937#[doc = "Channel n Priority Register"]
938pub mod dchpri7;
939#[doc = "Channel n Priority Register"]
940pub struct DCHPRI6 {
941 register: VolatileCell<u8>,
942}
943#[doc = "Channel n Priority Register"]
944pub mod dchpri6;
945#[doc = "Channel n Priority Register"]
946pub struct DCHPRI5 {
947 register: VolatileCell<u8>,
948}
949#[doc = "Channel n Priority Register"]
950pub mod dchpri5;
951#[doc = "Channel n Priority Register"]
952pub struct DCHPRI4 {
953 register: VolatileCell<u8>,
954}
955#[doc = "Channel n Priority Register"]
956pub mod dchpri4;
957#[doc = "Channel n Priority Register"]
958pub struct DCHPRI11 {
959 register: VolatileCell<u8>,
960}
961#[doc = "Channel n Priority Register"]
962pub mod dchpri11;
963#[doc = "Channel n Priority Register"]
964pub struct DCHPRI10 {
965 register: VolatileCell<u8>,
966}
967#[doc = "Channel n Priority Register"]
968pub mod dchpri10;
969#[doc = "Channel n Priority Register"]
970pub struct DCHPRI9 {
971 register: VolatileCell<u8>,
972}
973#[doc = "Channel n Priority Register"]
974pub mod dchpri9;
975#[doc = "Channel n Priority Register"]
976pub struct DCHPRI8 {
977 register: VolatileCell<u8>,
978}
979#[doc = "Channel n Priority Register"]
980pub mod dchpri8;
981#[doc = "Channel n Priority Register"]
982pub struct DCHPRI15 {
983 register: VolatileCell<u8>,
984}
985#[doc = "Channel n Priority Register"]
986pub mod dchpri15;
987#[doc = "Channel n Priority Register"]
988pub struct DCHPRI14 {
989 register: VolatileCell<u8>,
990}
991#[doc = "Channel n Priority Register"]
992pub mod dchpri14;
993#[doc = "Channel n Priority Register"]
994pub struct DCHPRI13 {
995 register: VolatileCell<u8>,
996}
997#[doc = "Channel n Priority Register"]
998pub mod dchpri13;
999#[doc = "Channel n Priority Register"]
1000pub struct DCHPRI12 {
1001 register: VolatileCell<u8>,
1002}
1003#[doc = "Channel n Priority Register"]
1004pub mod dchpri12;
1005#[doc = "Channel n Priority Register"]
1006pub struct DCHPRI19 {
1007 register: VolatileCell<u8>,
1008}
1009#[doc = "Channel n Priority Register"]
1010pub mod dchpri19;
1011#[doc = "Channel n Priority Register"]
1012pub struct DCHPRI18 {
1013 register: VolatileCell<u8>,
1014}
1015#[doc = "Channel n Priority Register"]
1016pub mod dchpri18;
1017#[doc = "Channel n Priority Register"]
1018pub struct DCHPRI17 {
1019 register: VolatileCell<u8>,
1020}
1021#[doc = "Channel n Priority Register"]
1022pub mod dchpri17;
1023#[doc = "Channel n Priority Register"]
1024pub struct DCHPRI16 {
1025 register: VolatileCell<u8>,
1026}
1027#[doc = "Channel n Priority Register"]
1028pub mod dchpri16;
1029#[doc = "Channel n Priority Register"]
1030pub struct DCHPRI23 {
1031 register: VolatileCell<u8>,
1032}
1033#[doc = "Channel n Priority Register"]
1034pub mod dchpri23;
1035#[doc = "Channel n Priority Register"]
1036pub struct DCHPRI22 {
1037 register: VolatileCell<u8>,
1038}
1039#[doc = "Channel n Priority Register"]
1040pub mod dchpri22;
1041#[doc = "Channel n Priority Register"]
1042pub struct DCHPRI21 {
1043 register: VolatileCell<u8>,
1044}
1045#[doc = "Channel n Priority Register"]
1046pub mod dchpri21;
1047#[doc = "Channel n Priority Register"]
1048pub struct DCHPRI20 {
1049 register: VolatileCell<u8>,
1050}
1051#[doc = "Channel n Priority Register"]
1052pub mod dchpri20;
1053#[doc = "Channel n Priority Register"]
1054pub struct DCHPRI27 {
1055 register: VolatileCell<u8>,
1056}
1057#[doc = "Channel n Priority Register"]
1058pub mod dchpri27;
1059#[doc = "Channel n Priority Register"]
1060pub struct DCHPRI26 {
1061 register: VolatileCell<u8>,
1062}
1063#[doc = "Channel n Priority Register"]
1064pub mod dchpri26;
1065#[doc = "Channel n Priority Register"]
1066pub struct DCHPRI25 {
1067 register: VolatileCell<u8>,
1068}
1069#[doc = "Channel n Priority Register"]
1070pub mod dchpri25;
1071#[doc = "Channel n Priority Register"]
1072pub struct DCHPRI24 {
1073 register: VolatileCell<u8>,
1074}
1075#[doc = "Channel n Priority Register"]
1076pub mod dchpri24;
1077#[doc = "Channel n Priority Register"]
1078pub struct DCHPRI31 {
1079 register: VolatileCell<u8>,
1080}
1081#[doc = "Channel n Priority Register"]
1082pub mod dchpri31;
1083#[doc = "Channel n Priority Register"]
1084pub struct DCHPRI30 {
1085 register: VolatileCell<u8>,
1086}
1087#[doc = "Channel n Priority Register"]
1088pub mod dchpri30;
1089#[doc = "Channel n Priority Register"]
1090pub struct DCHPRI29 {
1091 register: VolatileCell<u8>,
1092}
1093#[doc = "Channel n Priority Register"]
1094pub mod dchpri29;
1095#[doc = "Channel n Priority Register"]
1096pub struct DCHPRI28 {
1097 register: VolatileCell<u8>,
1098}
1099#[doc = "Channel n Priority Register"]
1100pub mod dchpri28;
1101#[doc = "TCD Source Address"]
1102pub struct TCD0_SADDR {
1103 register: VolatileCell<u32>,
1104}
1105#[doc = "TCD Source Address"]
1106pub mod tcd0_saddr;
1107#[doc = "TCD Signed Source Address Offset"]
1108pub struct TCD0_SOFF {
1109 register: VolatileCell<u16>,
1110}
1111#[doc = "TCD Signed Source Address Offset"]
1112pub mod tcd0_soff;
1113#[doc = "TCD Transfer Attributes"]
1114pub struct TCD0_ATTR {
1115 register: VolatileCell<u16>,
1116}
1117#[doc = "TCD Transfer Attributes"]
1118pub mod tcd0_attr;
1119#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1120pub struct TCD0_NBYTES_MLNO {
1121 register: VolatileCell<u32>,
1122}
1123#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1124pub mod tcd0_nbytes_mlno;
1125#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1126pub struct TCD0_NBYTES_MLOFFNO {
1127 register: VolatileCell<u32>,
1128}
1129#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1130pub mod tcd0_nbytes_mloffno;
1131#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1132pub struct TCD0_NBYTES_MLOFFYES {
1133 register: VolatileCell<u32>,
1134}
1135#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1136pub mod tcd0_nbytes_mloffyes;
1137#[doc = "TCD Last Source Address Adjustment"]
1138pub struct TCD0_SLAST {
1139 register: VolatileCell<u32>,
1140}
1141#[doc = "TCD Last Source Address Adjustment"]
1142pub mod tcd0_slast;
1143#[doc = "TCD Destination Address"]
1144pub struct TCD0_DADDR {
1145 register: VolatileCell<u32>,
1146}
1147#[doc = "TCD Destination Address"]
1148pub mod tcd0_daddr;
1149#[doc = "TCD Signed Destination Address Offset"]
1150pub struct TCD0_DOFF {
1151 register: VolatileCell<u16>,
1152}
1153#[doc = "TCD Signed Destination Address Offset"]
1154pub mod tcd0_doff;
1155#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1156pub struct TCD0_CITER_ELINKNO {
1157 register: VolatileCell<u16>,
1158}
1159#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1160pub mod tcd0_citer_elinkno;
1161#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1162pub struct TCD0_CITER_ELINKYES {
1163 register: VolatileCell<u16>,
1164}
1165#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1166pub mod tcd0_citer_elinkyes;
1167#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1168pub struct TCD0_DLASTSGA {
1169 register: VolatileCell<u32>,
1170}
1171#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1172pub mod tcd0_dlastsga;
1173#[doc = "TCD Control and Status"]
1174pub struct TCD0_CSR {
1175 register: VolatileCell<u16>,
1176}
1177#[doc = "TCD Control and Status"]
1178pub mod tcd0_csr;
1179#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1180pub struct TCD0_BITER_ELINKNO {
1181 register: VolatileCell<u16>,
1182}
1183#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1184pub mod tcd0_biter_elinkno;
1185#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1186pub struct TCD0_BITER_ELINKYES {
1187 register: VolatileCell<u16>,
1188}
1189#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1190pub mod tcd0_biter_elinkyes;
1191#[doc = "TCD Source Address"]
1192pub struct TCD1_SADDR {
1193 register: VolatileCell<u32>,
1194}
1195#[doc = "TCD Source Address"]
1196pub mod tcd1_saddr;
1197#[doc = "TCD Signed Source Address Offset"]
1198pub struct TCD1_SOFF {
1199 register: VolatileCell<u16>,
1200}
1201#[doc = "TCD Signed Source Address Offset"]
1202pub mod tcd1_soff;
1203#[doc = "TCD Transfer Attributes"]
1204pub struct TCD1_ATTR {
1205 register: VolatileCell<u16>,
1206}
1207#[doc = "TCD Transfer Attributes"]
1208pub mod tcd1_attr;
1209#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1210pub struct TCD1_NBYTES_MLNO {
1211 register: VolatileCell<u32>,
1212}
1213#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1214pub mod tcd1_nbytes_mlno;
1215#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1216pub struct TCD1_NBYTES_MLOFFNO {
1217 register: VolatileCell<u32>,
1218}
1219#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1220pub mod tcd1_nbytes_mloffno;
1221#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1222pub struct TCD1_NBYTES_MLOFFYES {
1223 register: VolatileCell<u32>,
1224}
1225#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1226pub mod tcd1_nbytes_mloffyes;
1227#[doc = "TCD Last Source Address Adjustment"]
1228pub struct TCD1_SLAST {
1229 register: VolatileCell<u32>,
1230}
1231#[doc = "TCD Last Source Address Adjustment"]
1232pub mod tcd1_slast;
1233#[doc = "TCD Destination Address"]
1234pub struct TCD1_DADDR {
1235 register: VolatileCell<u32>,
1236}
1237#[doc = "TCD Destination Address"]
1238pub mod tcd1_daddr;
1239#[doc = "TCD Signed Destination Address Offset"]
1240pub struct TCD1_DOFF {
1241 register: VolatileCell<u16>,
1242}
1243#[doc = "TCD Signed Destination Address Offset"]
1244pub mod tcd1_doff;
1245#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1246pub struct TCD1_CITER_ELINKNO {
1247 register: VolatileCell<u16>,
1248}
1249#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1250pub mod tcd1_citer_elinkno;
1251#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1252pub struct TCD1_CITER_ELINKYES {
1253 register: VolatileCell<u16>,
1254}
1255#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1256pub mod tcd1_citer_elinkyes;
1257#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1258pub struct TCD1_DLASTSGA {
1259 register: VolatileCell<u32>,
1260}
1261#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1262pub mod tcd1_dlastsga;
1263#[doc = "TCD Control and Status"]
1264pub struct TCD1_CSR {
1265 register: VolatileCell<u16>,
1266}
1267#[doc = "TCD Control and Status"]
1268pub mod tcd1_csr;
1269#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1270pub struct TCD1_BITER_ELINKNO {
1271 register: VolatileCell<u16>,
1272}
1273#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1274pub mod tcd1_biter_elinkno;
1275#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1276pub struct TCD1_BITER_ELINKYES {
1277 register: VolatileCell<u16>,
1278}
1279#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1280pub mod tcd1_biter_elinkyes;
1281#[doc = "TCD Source Address"]
1282pub struct TCD2_SADDR {
1283 register: VolatileCell<u32>,
1284}
1285#[doc = "TCD Source Address"]
1286pub mod tcd2_saddr;
1287#[doc = "TCD Signed Source Address Offset"]
1288pub struct TCD2_SOFF {
1289 register: VolatileCell<u16>,
1290}
1291#[doc = "TCD Signed Source Address Offset"]
1292pub mod tcd2_soff;
1293#[doc = "TCD Transfer Attributes"]
1294pub struct TCD2_ATTR {
1295 register: VolatileCell<u16>,
1296}
1297#[doc = "TCD Transfer Attributes"]
1298pub mod tcd2_attr;
1299#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1300pub struct TCD2_NBYTES_MLNO {
1301 register: VolatileCell<u32>,
1302}
1303#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1304pub mod tcd2_nbytes_mlno;
1305#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1306pub struct TCD2_NBYTES_MLOFFNO {
1307 register: VolatileCell<u32>,
1308}
1309#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1310pub mod tcd2_nbytes_mloffno;
1311#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1312pub struct TCD2_NBYTES_MLOFFYES {
1313 register: VolatileCell<u32>,
1314}
1315#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1316pub mod tcd2_nbytes_mloffyes;
1317#[doc = "TCD Last Source Address Adjustment"]
1318pub struct TCD2_SLAST {
1319 register: VolatileCell<u32>,
1320}
1321#[doc = "TCD Last Source Address Adjustment"]
1322pub mod tcd2_slast;
1323#[doc = "TCD Destination Address"]
1324pub struct TCD2_DADDR {
1325 register: VolatileCell<u32>,
1326}
1327#[doc = "TCD Destination Address"]
1328pub mod tcd2_daddr;
1329#[doc = "TCD Signed Destination Address Offset"]
1330pub struct TCD2_DOFF {
1331 register: VolatileCell<u16>,
1332}
1333#[doc = "TCD Signed Destination Address Offset"]
1334pub mod tcd2_doff;
1335#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1336pub struct TCD2_CITER_ELINKNO {
1337 register: VolatileCell<u16>,
1338}
1339#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1340pub mod tcd2_citer_elinkno;
1341#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1342pub struct TCD2_CITER_ELINKYES {
1343 register: VolatileCell<u16>,
1344}
1345#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1346pub mod tcd2_citer_elinkyes;
1347#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1348pub struct TCD2_DLASTSGA {
1349 register: VolatileCell<u32>,
1350}
1351#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1352pub mod tcd2_dlastsga;
1353#[doc = "TCD Control and Status"]
1354pub struct TCD2_CSR {
1355 register: VolatileCell<u16>,
1356}
1357#[doc = "TCD Control and Status"]
1358pub mod tcd2_csr;
1359#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1360pub struct TCD2_BITER_ELINKNO {
1361 register: VolatileCell<u16>,
1362}
1363#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1364pub mod tcd2_biter_elinkno;
1365#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1366pub struct TCD2_BITER_ELINKYES {
1367 register: VolatileCell<u16>,
1368}
1369#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1370pub mod tcd2_biter_elinkyes;
1371#[doc = "TCD Source Address"]
1372pub struct TCD3_SADDR {
1373 register: VolatileCell<u32>,
1374}
1375#[doc = "TCD Source Address"]
1376pub mod tcd3_saddr;
1377#[doc = "TCD Signed Source Address Offset"]
1378pub struct TCD3_SOFF {
1379 register: VolatileCell<u16>,
1380}
1381#[doc = "TCD Signed Source Address Offset"]
1382pub mod tcd3_soff;
1383#[doc = "TCD Transfer Attributes"]
1384pub struct TCD3_ATTR {
1385 register: VolatileCell<u16>,
1386}
1387#[doc = "TCD Transfer Attributes"]
1388pub mod tcd3_attr;
1389#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1390pub struct TCD3_NBYTES_MLNO {
1391 register: VolatileCell<u32>,
1392}
1393#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1394pub mod tcd3_nbytes_mlno;
1395#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1396pub struct TCD3_NBYTES_MLOFFNO {
1397 register: VolatileCell<u32>,
1398}
1399#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1400pub mod tcd3_nbytes_mloffno;
1401#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1402pub struct TCD3_NBYTES_MLOFFYES {
1403 register: VolatileCell<u32>,
1404}
1405#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1406pub mod tcd3_nbytes_mloffyes;
1407#[doc = "TCD Last Source Address Adjustment"]
1408pub struct TCD3_SLAST {
1409 register: VolatileCell<u32>,
1410}
1411#[doc = "TCD Last Source Address Adjustment"]
1412pub mod tcd3_slast;
1413#[doc = "TCD Destination Address"]
1414pub struct TCD3_DADDR {
1415 register: VolatileCell<u32>,
1416}
1417#[doc = "TCD Destination Address"]
1418pub mod tcd3_daddr;
1419#[doc = "TCD Signed Destination Address Offset"]
1420pub struct TCD3_DOFF {
1421 register: VolatileCell<u16>,
1422}
1423#[doc = "TCD Signed Destination Address Offset"]
1424pub mod tcd3_doff;
1425#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1426pub struct TCD3_CITER_ELINKNO {
1427 register: VolatileCell<u16>,
1428}
1429#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1430pub mod tcd3_citer_elinkno;
1431#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1432pub struct TCD3_CITER_ELINKYES {
1433 register: VolatileCell<u16>,
1434}
1435#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1436pub mod tcd3_citer_elinkyes;
1437#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1438pub struct TCD3_DLASTSGA {
1439 register: VolatileCell<u32>,
1440}
1441#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1442pub mod tcd3_dlastsga;
1443#[doc = "TCD Control and Status"]
1444pub struct TCD3_CSR {
1445 register: VolatileCell<u16>,
1446}
1447#[doc = "TCD Control and Status"]
1448pub mod tcd3_csr;
1449#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1450pub struct TCD3_BITER_ELINKNO {
1451 register: VolatileCell<u16>,
1452}
1453#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1454pub mod tcd3_biter_elinkno;
1455#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1456pub struct TCD3_BITER_ELINKYES {
1457 register: VolatileCell<u16>,
1458}
1459#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1460pub mod tcd3_biter_elinkyes;
1461#[doc = "TCD Source Address"]
1462pub struct TCD4_SADDR {
1463 register: VolatileCell<u32>,
1464}
1465#[doc = "TCD Source Address"]
1466pub mod tcd4_saddr;
1467#[doc = "TCD Signed Source Address Offset"]
1468pub struct TCD4_SOFF {
1469 register: VolatileCell<u16>,
1470}
1471#[doc = "TCD Signed Source Address Offset"]
1472pub mod tcd4_soff;
1473#[doc = "TCD Transfer Attributes"]
1474pub struct TCD4_ATTR {
1475 register: VolatileCell<u16>,
1476}
1477#[doc = "TCD Transfer Attributes"]
1478pub mod tcd4_attr;
1479#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1480pub struct TCD4_NBYTES_MLNO {
1481 register: VolatileCell<u32>,
1482}
1483#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1484pub mod tcd4_nbytes_mlno;
1485#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1486pub struct TCD4_NBYTES_MLOFFNO {
1487 register: VolatileCell<u32>,
1488}
1489#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1490pub mod tcd4_nbytes_mloffno;
1491#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1492pub struct TCD4_NBYTES_MLOFFYES {
1493 register: VolatileCell<u32>,
1494}
1495#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1496pub mod tcd4_nbytes_mloffyes;
1497#[doc = "TCD Last Source Address Adjustment"]
1498pub struct TCD4_SLAST {
1499 register: VolatileCell<u32>,
1500}
1501#[doc = "TCD Last Source Address Adjustment"]
1502pub mod tcd4_slast;
1503#[doc = "TCD Destination Address"]
1504pub struct TCD4_DADDR {
1505 register: VolatileCell<u32>,
1506}
1507#[doc = "TCD Destination Address"]
1508pub mod tcd4_daddr;
1509#[doc = "TCD Signed Destination Address Offset"]
1510pub struct TCD4_DOFF {
1511 register: VolatileCell<u16>,
1512}
1513#[doc = "TCD Signed Destination Address Offset"]
1514pub mod tcd4_doff;
1515#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1516pub struct TCD4_CITER_ELINKNO {
1517 register: VolatileCell<u16>,
1518}
1519#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1520pub mod tcd4_citer_elinkno;
1521#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1522pub struct TCD4_CITER_ELINKYES {
1523 register: VolatileCell<u16>,
1524}
1525#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1526pub mod tcd4_citer_elinkyes;
1527#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1528pub struct TCD4_DLASTSGA {
1529 register: VolatileCell<u32>,
1530}
1531#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1532pub mod tcd4_dlastsga;
1533#[doc = "TCD Control and Status"]
1534pub struct TCD4_CSR {
1535 register: VolatileCell<u16>,
1536}
1537#[doc = "TCD Control and Status"]
1538pub mod tcd4_csr;
1539#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1540pub struct TCD4_BITER_ELINKNO {
1541 register: VolatileCell<u16>,
1542}
1543#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1544pub mod tcd4_biter_elinkno;
1545#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1546pub struct TCD4_BITER_ELINKYES {
1547 register: VolatileCell<u16>,
1548}
1549#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1550pub mod tcd4_biter_elinkyes;
1551#[doc = "TCD Source Address"]
1552pub struct TCD5_SADDR {
1553 register: VolatileCell<u32>,
1554}
1555#[doc = "TCD Source Address"]
1556pub mod tcd5_saddr;
1557#[doc = "TCD Signed Source Address Offset"]
1558pub struct TCD5_SOFF {
1559 register: VolatileCell<u16>,
1560}
1561#[doc = "TCD Signed Source Address Offset"]
1562pub mod tcd5_soff;
1563#[doc = "TCD Transfer Attributes"]
1564pub struct TCD5_ATTR {
1565 register: VolatileCell<u16>,
1566}
1567#[doc = "TCD Transfer Attributes"]
1568pub mod tcd5_attr;
1569#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1570pub struct TCD5_NBYTES_MLNO {
1571 register: VolatileCell<u32>,
1572}
1573#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1574pub mod tcd5_nbytes_mlno;
1575#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1576pub struct TCD5_NBYTES_MLOFFNO {
1577 register: VolatileCell<u32>,
1578}
1579#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1580pub mod tcd5_nbytes_mloffno;
1581#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1582pub struct TCD5_NBYTES_MLOFFYES {
1583 register: VolatileCell<u32>,
1584}
1585#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1586pub mod tcd5_nbytes_mloffyes;
1587#[doc = "TCD Last Source Address Adjustment"]
1588pub struct TCD5_SLAST {
1589 register: VolatileCell<u32>,
1590}
1591#[doc = "TCD Last Source Address Adjustment"]
1592pub mod tcd5_slast;
1593#[doc = "TCD Destination Address"]
1594pub struct TCD5_DADDR {
1595 register: VolatileCell<u32>,
1596}
1597#[doc = "TCD Destination Address"]
1598pub mod tcd5_daddr;
1599#[doc = "TCD Signed Destination Address Offset"]
1600pub struct TCD5_DOFF {
1601 register: VolatileCell<u16>,
1602}
1603#[doc = "TCD Signed Destination Address Offset"]
1604pub mod tcd5_doff;
1605#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1606pub struct TCD5_CITER_ELINKNO {
1607 register: VolatileCell<u16>,
1608}
1609#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1610pub mod tcd5_citer_elinkno;
1611#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1612pub struct TCD5_CITER_ELINKYES {
1613 register: VolatileCell<u16>,
1614}
1615#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1616pub mod tcd5_citer_elinkyes;
1617#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1618pub struct TCD5_DLASTSGA {
1619 register: VolatileCell<u32>,
1620}
1621#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1622pub mod tcd5_dlastsga;
1623#[doc = "TCD Control and Status"]
1624pub struct TCD5_CSR {
1625 register: VolatileCell<u16>,
1626}
1627#[doc = "TCD Control and Status"]
1628pub mod tcd5_csr;
1629#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1630pub struct TCD5_BITER_ELINKNO {
1631 register: VolatileCell<u16>,
1632}
1633#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1634pub mod tcd5_biter_elinkno;
1635#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1636pub struct TCD5_BITER_ELINKYES {
1637 register: VolatileCell<u16>,
1638}
1639#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1640pub mod tcd5_biter_elinkyes;
1641#[doc = "TCD Source Address"]
1642pub struct TCD6_SADDR {
1643 register: VolatileCell<u32>,
1644}
1645#[doc = "TCD Source Address"]
1646pub mod tcd6_saddr;
1647#[doc = "TCD Signed Source Address Offset"]
1648pub struct TCD6_SOFF {
1649 register: VolatileCell<u16>,
1650}
1651#[doc = "TCD Signed Source Address Offset"]
1652pub mod tcd6_soff;
1653#[doc = "TCD Transfer Attributes"]
1654pub struct TCD6_ATTR {
1655 register: VolatileCell<u16>,
1656}
1657#[doc = "TCD Transfer Attributes"]
1658pub mod tcd6_attr;
1659#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1660pub struct TCD6_NBYTES_MLNO {
1661 register: VolatileCell<u32>,
1662}
1663#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1664pub mod tcd6_nbytes_mlno;
1665#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1666pub struct TCD6_NBYTES_MLOFFNO {
1667 register: VolatileCell<u32>,
1668}
1669#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1670pub mod tcd6_nbytes_mloffno;
1671#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1672pub struct TCD6_NBYTES_MLOFFYES {
1673 register: VolatileCell<u32>,
1674}
1675#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1676pub mod tcd6_nbytes_mloffyes;
1677#[doc = "TCD Last Source Address Adjustment"]
1678pub struct TCD6_SLAST {
1679 register: VolatileCell<u32>,
1680}
1681#[doc = "TCD Last Source Address Adjustment"]
1682pub mod tcd6_slast;
1683#[doc = "TCD Destination Address"]
1684pub struct TCD6_DADDR {
1685 register: VolatileCell<u32>,
1686}
1687#[doc = "TCD Destination Address"]
1688pub mod tcd6_daddr;
1689#[doc = "TCD Signed Destination Address Offset"]
1690pub struct TCD6_DOFF {
1691 register: VolatileCell<u16>,
1692}
1693#[doc = "TCD Signed Destination Address Offset"]
1694pub mod tcd6_doff;
1695#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1696pub struct TCD6_CITER_ELINKNO {
1697 register: VolatileCell<u16>,
1698}
1699#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1700pub mod tcd6_citer_elinkno;
1701#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1702pub struct TCD6_CITER_ELINKYES {
1703 register: VolatileCell<u16>,
1704}
1705#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1706pub mod tcd6_citer_elinkyes;
1707#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1708pub struct TCD6_DLASTSGA {
1709 register: VolatileCell<u32>,
1710}
1711#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1712pub mod tcd6_dlastsga;
1713#[doc = "TCD Control and Status"]
1714pub struct TCD6_CSR {
1715 register: VolatileCell<u16>,
1716}
1717#[doc = "TCD Control and Status"]
1718pub mod tcd6_csr;
1719#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1720pub struct TCD6_BITER_ELINKNO {
1721 register: VolatileCell<u16>,
1722}
1723#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1724pub mod tcd6_biter_elinkno;
1725#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1726pub struct TCD6_BITER_ELINKYES {
1727 register: VolatileCell<u16>,
1728}
1729#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1730pub mod tcd6_biter_elinkyes;
1731#[doc = "TCD Source Address"]
1732pub struct TCD7_SADDR {
1733 register: VolatileCell<u32>,
1734}
1735#[doc = "TCD Source Address"]
1736pub mod tcd7_saddr;
1737#[doc = "TCD Signed Source Address Offset"]
1738pub struct TCD7_SOFF {
1739 register: VolatileCell<u16>,
1740}
1741#[doc = "TCD Signed Source Address Offset"]
1742pub mod tcd7_soff;
1743#[doc = "TCD Transfer Attributes"]
1744pub struct TCD7_ATTR {
1745 register: VolatileCell<u16>,
1746}
1747#[doc = "TCD Transfer Attributes"]
1748pub mod tcd7_attr;
1749#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1750pub struct TCD7_NBYTES_MLNO {
1751 register: VolatileCell<u32>,
1752}
1753#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1754pub mod tcd7_nbytes_mlno;
1755#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1756pub struct TCD7_NBYTES_MLOFFNO {
1757 register: VolatileCell<u32>,
1758}
1759#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1760pub mod tcd7_nbytes_mloffno;
1761#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1762pub struct TCD7_NBYTES_MLOFFYES {
1763 register: VolatileCell<u32>,
1764}
1765#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1766pub mod tcd7_nbytes_mloffyes;
1767#[doc = "TCD Last Source Address Adjustment"]
1768pub struct TCD7_SLAST {
1769 register: VolatileCell<u32>,
1770}
1771#[doc = "TCD Last Source Address Adjustment"]
1772pub mod tcd7_slast;
1773#[doc = "TCD Destination Address"]
1774pub struct TCD7_DADDR {
1775 register: VolatileCell<u32>,
1776}
1777#[doc = "TCD Destination Address"]
1778pub mod tcd7_daddr;
1779#[doc = "TCD Signed Destination Address Offset"]
1780pub struct TCD7_DOFF {
1781 register: VolatileCell<u16>,
1782}
1783#[doc = "TCD Signed Destination Address Offset"]
1784pub mod tcd7_doff;
1785#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1786pub struct TCD7_CITER_ELINKNO {
1787 register: VolatileCell<u16>,
1788}
1789#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1790pub mod tcd7_citer_elinkno;
1791#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1792pub struct TCD7_CITER_ELINKYES {
1793 register: VolatileCell<u16>,
1794}
1795#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1796pub mod tcd7_citer_elinkyes;
1797#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1798pub struct TCD7_DLASTSGA {
1799 register: VolatileCell<u32>,
1800}
1801#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1802pub mod tcd7_dlastsga;
1803#[doc = "TCD Control and Status"]
1804pub struct TCD7_CSR {
1805 register: VolatileCell<u16>,
1806}
1807#[doc = "TCD Control and Status"]
1808pub mod tcd7_csr;
1809#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1810pub struct TCD7_BITER_ELINKNO {
1811 register: VolatileCell<u16>,
1812}
1813#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1814pub mod tcd7_biter_elinkno;
1815#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1816pub struct TCD7_BITER_ELINKYES {
1817 register: VolatileCell<u16>,
1818}
1819#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1820pub mod tcd7_biter_elinkyes;
1821#[doc = "TCD Source Address"]
1822pub struct TCD8_SADDR {
1823 register: VolatileCell<u32>,
1824}
1825#[doc = "TCD Source Address"]
1826pub mod tcd8_saddr;
1827#[doc = "TCD Signed Source Address Offset"]
1828pub struct TCD8_SOFF {
1829 register: VolatileCell<u16>,
1830}
1831#[doc = "TCD Signed Source Address Offset"]
1832pub mod tcd8_soff;
1833#[doc = "TCD Transfer Attributes"]
1834pub struct TCD8_ATTR {
1835 register: VolatileCell<u16>,
1836}
1837#[doc = "TCD Transfer Attributes"]
1838pub mod tcd8_attr;
1839#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1840pub struct TCD8_NBYTES_MLNO {
1841 register: VolatileCell<u32>,
1842}
1843#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1844pub mod tcd8_nbytes_mlno;
1845#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1846pub struct TCD8_NBYTES_MLOFFNO {
1847 register: VolatileCell<u32>,
1848}
1849#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1850pub mod tcd8_nbytes_mloffno;
1851#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1852pub struct TCD8_NBYTES_MLOFFYES {
1853 register: VolatileCell<u32>,
1854}
1855#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1856pub mod tcd8_nbytes_mloffyes;
1857#[doc = "TCD Last Source Address Adjustment"]
1858pub struct TCD8_SLAST {
1859 register: VolatileCell<u32>,
1860}
1861#[doc = "TCD Last Source Address Adjustment"]
1862pub mod tcd8_slast;
1863#[doc = "TCD Destination Address"]
1864pub struct TCD8_DADDR {
1865 register: VolatileCell<u32>,
1866}
1867#[doc = "TCD Destination Address"]
1868pub mod tcd8_daddr;
1869#[doc = "TCD Signed Destination Address Offset"]
1870pub struct TCD8_DOFF {
1871 register: VolatileCell<u16>,
1872}
1873#[doc = "TCD Signed Destination Address Offset"]
1874pub mod tcd8_doff;
1875#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1876pub struct TCD8_CITER_ELINKNO {
1877 register: VolatileCell<u16>,
1878}
1879#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1880pub mod tcd8_citer_elinkno;
1881#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1882pub struct TCD8_CITER_ELINKYES {
1883 register: VolatileCell<u16>,
1884}
1885#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1886pub mod tcd8_citer_elinkyes;
1887#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1888pub struct TCD8_DLASTSGA {
1889 register: VolatileCell<u32>,
1890}
1891#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1892pub mod tcd8_dlastsga;
1893#[doc = "TCD Control and Status"]
1894pub struct TCD8_CSR {
1895 register: VolatileCell<u16>,
1896}
1897#[doc = "TCD Control and Status"]
1898pub mod tcd8_csr;
1899#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1900pub struct TCD8_BITER_ELINKNO {
1901 register: VolatileCell<u16>,
1902}
1903#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1904pub mod tcd8_biter_elinkno;
1905#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1906pub struct TCD8_BITER_ELINKYES {
1907 register: VolatileCell<u16>,
1908}
1909#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1910pub mod tcd8_biter_elinkyes;
1911#[doc = "TCD Source Address"]
1912pub struct TCD9_SADDR {
1913 register: VolatileCell<u32>,
1914}
1915#[doc = "TCD Source Address"]
1916pub mod tcd9_saddr;
1917#[doc = "TCD Signed Source Address Offset"]
1918pub struct TCD9_SOFF {
1919 register: VolatileCell<u16>,
1920}
1921#[doc = "TCD Signed Source Address Offset"]
1922pub mod tcd9_soff;
1923#[doc = "TCD Transfer Attributes"]
1924pub struct TCD9_ATTR {
1925 register: VolatileCell<u16>,
1926}
1927#[doc = "TCD Transfer Attributes"]
1928pub mod tcd9_attr;
1929#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1930pub struct TCD9_NBYTES_MLNO {
1931 register: VolatileCell<u32>,
1932}
1933#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1934pub mod tcd9_nbytes_mlno;
1935#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1936pub struct TCD9_NBYTES_MLOFFNO {
1937 register: VolatileCell<u32>,
1938}
1939#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1940pub mod tcd9_nbytes_mloffno;
1941#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1942pub struct TCD9_NBYTES_MLOFFYES {
1943 register: VolatileCell<u32>,
1944}
1945#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1946pub mod tcd9_nbytes_mloffyes;
1947#[doc = "TCD Last Source Address Adjustment"]
1948pub struct TCD9_SLAST {
1949 register: VolatileCell<u32>,
1950}
1951#[doc = "TCD Last Source Address Adjustment"]
1952pub mod tcd9_slast;
1953#[doc = "TCD Destination Address"]
1954pub struct TCD9_DADDR {
1955 register: VolatileCell<u32>,
1956}
1957#[doc = "TCD Destination Address"]
1958pub mod tcd9_daddr;
1959#[doc = "TCD Signed Destination Address Offset"]
1960pub struct TCD9_DOFF {
1961 register: VolatileCell<u16>,
1962}
1963#[doc = "TCD Signed Destination Address Offset"]
1964pub mod tcd9_doff;
1965#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1966pub struct TCD9_CITER_ELINKNO {
1967 register: VolatileCell<u16>,
1968}
1969#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1970pub mod tcd9_citer_elinkno;
1971#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1972pub struct TCD9_CITER_ELINKYES {
1973 register: VolatileCell<u16>,
1974}
1975#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1976pub mod tcd9_citer_elinkyes;
1977#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1978pub struct TCD9_DLASTSGA {
1979 register: VolatileCell<u32>,
1980}
1981#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1982pub mod tcd9_dlastsga;
1983#[doc = "TCD Control and Status"]
1984pub struct TCD9_CSR {
1985 register: VolatileCell<u16>,
1986}
1987#[doc = "TCD Control and Status"]
1988pub mod tcd9_csr;
1989#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1990pub struct TCD9_BITER_ELINKNO {
1991 register: VolatileCell<u16>,
1992}
1993#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1994pub mod tcd9_biter_elinkno;
1995#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1996pub struct TCD9_BITER_ELINKYES {
1997 register: VolatileCell<u16>,
1998}
1999#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2000pub mod tcd9_biter_elinkyes;
2001#[doc = "TCD Source Address"]
2002pub struct TCD10_SADDR {
2003 register: VolatileCell<u32>,
2004}
2005#[doc = "TCD Source Address"]
2006pub mod tcd10_saddr;
2007#[doc = "TCD Signed Source Address Offset"]
2008pub struct TCD10_SOFF {
2009 register: VolatileCell<u16>,
2010}
2011#[doc = "TCD Signed Source Address Offset"]
2012pub mod tcd10_soff;
2013#[doc = "TCD Transfer Attributes"]
2014pub struct TCD10_ATTR {
2015 register: VolatileCell<u16>,
2016}
2017#[doc = "TCD Transfer Attributes"]
2018pub mod tcd10_attr;
2019#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2020pub struct TCD10_NBYTES_MLNO {
2021 register: VolatileCell<u32>,
2022}
2023#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2024pub mod tcd10_nbytes_mlno;
2025#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2026pub struct TCD10_NBYTES_MLOFFNO {
2027 register: VolatileCell<u32>,
2028}
2029#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2030pub mod tcd10_nbytes_mloffno;
2031#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2032pub struct TCD10_NBYTES_MLOFFYES {
2033 register: VolatileCell<u32>,
2034}
2035#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2036pub mod tcd10_nbytes_mloffyes;
2037#[doc = "TCD Last Source Address Adjustment"]
2038pub struct TCD10_SLAST {
2039 register: VolatileCell<u32>,
2040}
2041#[doc = "TCD Last Source Address Adjustment"]
2042pub mod tcd10_slast;
2043#[doc = "TCD Destination Address"]
2044pub struct TCD10_DADDR {
2045 register: VolatileCell<u32>,
2046}
2047#[doc = "TCD Destination Address"]
2048pub mod tcd10_daddr;
2049#[doc = "TCD Signed Destination Address Offset"]
2050pub struct TCD10_DOFF {
2051 register: VolatileCell<u16>,
2052}
2053#[doc = "TCD Signed Destination Address Offset"]
2054pub mod tcd10_doff;
2055#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2056pub struct TCD10_CITER_ELINKNO {
2057 register: VolatileCell<u16>,
2058}
2059#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2060pub mod tcd10_citer_elinkno;
2061#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2062pub struct TCD10_CITER_ELINKYES {
2063 register: VolatileCell<u16>,
2064}
2065#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2066pub mod tcd10_citer_elinkyes;
2067#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2068pub struct TCD10_DLASTSGA {
2069 register: VolatileCell<u32>,
2070}
2071#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2072pub mod tcd10_dlastsga;
2073#[doc = "TCD Control and Status"]
2074pub struct TCD10_CSR {
2075 register: VolatileCell<u16>,
2076}
2077#[doc = "TCD Control and Status"]
2078pub mod tcd10_csr;
2079#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2080pub struct TCD10_BITER_ELINKNO {
2081 register: VolatileCell<u16>,
2082}
2083#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2084pub mod tcd10_biter_elinkno;
2085#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2086pub struct TCD10_BITER_ELINKYES {
2087 register: VolatileCell<u16>,
2088}
2089#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2090pub mod tcd10_biter_elinkyes;
2091#[doc = "TCD Source Address"]
2092pub struct TCD11_SADDR {
2093 register: VolatileCell<u32>,
2094}
2095#[doc = "TCD Source Address"]
2096pub mod tcd11_saddr;
2097#[doc = "TCD Signed Source Address Offset"]
2098pub struct TCD11_SOFF {
2099 register: VolatileCell<u16>,
2100}
2101#[doc = "TCD Signed Source Address Offset"]
2102pub mod tcd11_soff;
2103#[doc = "TCD Transfer Attributes"]
2104pub struct TCD11_ATTR {
2105 register: VolatileCell<u16>,
2106}
2107#[doc = "TCD Transfer Attributes"]
2108pub mod tcd11_attr;
2109#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2110pub struct TCD11_NBYTES_MLNO {
2111 register: VolatileCell<u32>,
2112}
2113#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2114pub mod tcd11_nbytes_mlno;
2115#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2116pub struct TCD11_NBYTES_MLOFFNO {
2117 register: VolatileCell<u32>,
2118}
2119#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2120pub mod tcd11_nbytes_mloffno;
2121#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2122pub struct TCD11_NBYTES_MLOFFYES {
2123 register: VolatileCell<u32>,
2124}
2125#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2126pub mod tcd11_nbytes_mloffyes;
2127#[doc = "TCD Last Source Address Adjustment"]
2128pub struct TCD11_SLAST {
2129 register: VolatileCell<u32>,
2130}
2131#[doc = "TCD Last Source Address Adjustment"]
2132pub mod tcd11_slast;
2133#[doc = "TCD Destination Address"]
2134pub struct TCD11_DADDR {
2135 register: VolatileCell<u32>,
2136}
2137#[doc = "TCD Destination Address"]
2138pub mod tcd11_daddr;
2139#[doc = "TCD Signed Destination Address Offset"]
2140pub struct TCD11_DOFF {
2141 register: VolatileCell<u16>,
2142}
2143#[doc = "TCD Signed Destination Address Offset"]
2144pub mod tcd11_doff;
2145#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2146pub struct TCD11_CITER_ELINKNO {
2147 register: VolatileCell<u16>,
2148}
2149#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2150pub mod tcd11_citer_elinkno;
2151#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2152pub struct TCD11_CITER_ELINKYES {
2153 register: VolatileCell<u16>,
2154}
2155#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2156pub mod tcd11_citer_elinkyes;
2157#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2158pub struct TCD11_DLASTSGA {
2159 register: VolatileCell<u32>,
2160}
2161#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2162pub mod tcd11_dlastsga;
2163#[doc = "TCD Control and Status"]
2164pub struct TCD11_CSR {
2165 register: VolatileCell<u16>,
2166}
2167#[doc = "TCD Control and Status"]
2168pub mod tcd11_csr;
2169#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2170pub struct TCD11_BITER_ELINKNO {
2171 register: VolatileCell<u16>,
2172}
2173#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2174pub mod tcd11_biter_elinkno;
2175#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2176pub struct TCD11_BITER_ELINKYES {
2177 register: VolatileCell<u16>,
2178}
2179#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2180pub mod tcd11_biter_elinkyes;
2181#[doc = "TCD Source Address"]
2182pub struct TCD12_SADDR {
2183 register: VolatileCell<u32>,
2184}
2185#[doc = "TCD Source Address"]
2186pub mod tcd12_saddr;
2187#[doc = "TCD Signed Source Address Offset"]
2188pub struct TCD12_SOFF {
2189 register: VolatileCell<u16>,
2190}
2191#[doc = "TCD Signed Source Address Offset"]
2192pub mod tcd12_soff;
2193#[doc = "TCD Transfer Attributes"]
2194pub struct TCD12_ATTR {
2195 register: VolatileCell<u16>,
2196}
2197#[doc = "TCD Transfer Attributes"]
2198pub mod tcd12_attr;
2199#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2200pub struct TCD12_NBYTES_MLNO {
2201 register: VolatileCell<u32>,
2202}
2203#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2204pub mod tcd12_nbytes_mlno;
2205#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2206pub struct TCD12_NBYTES_MLOFFNO {
2207 register: VolatileCell<u32>,
2208}
2209#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2210pub mod tcd12_nbytes_mloffno;
2211#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2212pub struct TCD12_NBYTES_MLOFFYES {
2213 register: VolatileCell<u32>,
2214}
2215#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2216pub mod tcd12_nbytes_mloffyes;
2217#[doc = "TCD Last Source Address Adjustment"]
2218pub struct TCD12_SLAST {
2219 register: VolatileCell<u32>,
2220}
2221#[doc = "TCD Last Source Address Adjustment"]
2222pub mod tcd12_slast;
2223#[doc = "TCD Destination Address"]
2224pub struct TCD12_DADDR {
2225 register: VolatileCell<u32>,
2226}
2227#[doc = "TCD Destination Address"]
2228pub mod tcd12_daddr;
2229#[doc = "TCD Signed Destination Address Offset"]
2230pub struct TCD12_DOFF {
2231 register: VolatileCell<u16>,
2232}
2233#[doc = "TCD Signed Destination Address Offset"]
2234pub mod tcd12_doff;
2235#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2236pub struct TCD12_CITER_ELINKNO {
2237 register: VolatileCell<u16>,
2238}
2239#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2240pub mod tcd12_citer_elinkno;
2241#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2242pub struct TCD12_CITER_ELINKYES {
2243 register: VolatileCell<u16>,
2244}
2245#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2246pub mod tcd12_citer_elinkyes;
2247#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2248pub struct TCD12_DLASTSGA {
2249 register: VolatileCell<u32>,
2250}
2251#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2252pub mod tcd12_dlastsga;
2253#[doc = "TCD Control and Status"]
2254pub struct TCD12_CSR {
2255 register: VolatileCell<u16>,
2256}
2257#[doc = "TCD Control and Status"]
2258pub mod tcd12_csr;
2259#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2260pub struct TCD12_BITER_ELINKNO {
2261 register: VolatileCell<u16>,
2262}
2263#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2264pub mod tcd12_biter_elinkno;
2265#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2266pub struct TCD12_BITER_ELINKYES {
2267 register: VolatileCell<u16>,
2268}
2269#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2270pub mod tcd12_biter_elinkyes;
2271#[doc = "TCD Source Address"]
2272pub struct TCD13_SADDR {
2273 register: VolatileCell<u32>,
2274}
2275#[doc = "TCD Source Address"]
2276pub mod tcd13_saddr;
2277#[doc = "TCD Signed Source Address Offset"]
2278pub struct TCD13_SOFF {
2279 register: VolatileCell<u16>,
2280}
2281#[doc = "TCD Signed Source Address Offset"]
2282pub mod tcd13_soff;
2283#[doc = "TCD Transfer Attributes"]
2284pub struct TCD13_ATTR {
2285 register: VolatileCell<u16>,
2286}
2287#[doc = "TCD Transfer Attributes"]
2288pub mod tcd13_attr;
2289#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2290pub struct TCD13_NBYTES_MLNO {
2291 register: VolatileCell<u32>,
2292}
2293#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2294pub mod tcd13_nbytes_mlno;
2295#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2296pub struct TCD13_NBYTES_MLOFFNO {
2297 register: VolatileCell<u32>,
2298}
2299#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2300pub mod tcd13_nbytes_mloffno;
2301#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2302pub struct TCD13_NBYTES_MLOFFYES {
2303 register: VolatileCell<u32>,
2304}
2305#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2306pub mod tcd13_nbytes_mloffyes;
2307#[doc = "TCD Last Source Address Adjustment"]
2308pub struct TCD13_SLAST {
2309 register: VolatileCell<u32>,
2310}
2311#[doc = "TCD Last Source Address Adjustment"]
2312pub mod tcd13_slast;
2313#[doc = "TCD Destination Address"]
2314pub struct TCD13_DADDR {
2315 register: VolatileCell<u32>,
2316}
2317#[doc = "TCD Destination Address"]
2318pub mod tcd13_daddr;
2319#[doc = "TCD Signed Destination Address Offset"]
2320pub struct TCD13_DOFF {
2321 register: VolatileCell<u16>,
2322}
2323#[doc = "TCD Signed Destination Address Offset"]
2324pub mod tcd13_doff;
2325#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2326pub struct TCD13_CITER_ELINKNO {
2327 register: VolatileCell<u16>,
2328}
2329#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2330pub mod tcd13_citer_elinkno;
2331#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2332pub struct TCD13_CITER_ELINKYES {
2333 register: VolatileCell<u16>,
2334}
2335#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2336pub mod tcd13_citer_elinkyes;
2337#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2338pub struct TCD13_DLASTSGA {
2339 register: VolatileCell<u32>,
2340}
2341#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2342pub mod tcd13_dlastsga;
2343#[doc = "TCD Control and Status"]
2344pub struct TCD13_CSR {
2345 register: VolatileCell<u16>,
2346}
2347#[doc = "TCD Control and Status"]
2348pub mod tcd13_csr;
2349#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2350pub struct TCD13_BITER_ELINKNO {
2351 register: VolatileCell<u16>,
2352}
2353#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2354pub mod tcd13_biter_elinkno;
2355#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2356pub struct TCD13_BITER_ELINKYES {
2357 register: VolatileCell<u16>,
2358}
2359#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2360pub mod tcd13_biter_elinkyes;
2361#[doc = "TCD Source Address"]
2362pub struct TCD14_SADDR {
2363 register: VolatileCell<u32>,
2364}
2365#[doc = "TCD Source Address"]
2366pub mod tcd14_saddr;
2367#[doc = "TCD Signed Source Address Offset"]
2368pub struct TCD14_SOFF {
2369 register: VolatileCell<u16>,
2370}
2371#[doc = "TCD Signed Source Address Offset"]
2372pub mod tcd14_soff;
2373#[doc = "TCD Transfer Attributes"]
2374pub struct TCD14_ATTR {
2375 register: VolatileCell<u16>,
2376}
2377#[doc = "TCD Transfer Attributes"]
2378pub mod tcd14_attr;
2379#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2380pub struct TCD14_NBYTES_MLNO {
2381 register: VolatileCell<u32>,
2382}
2383#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2384pub mod tcd14_nbytes_mlno;
2385#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2386pub struct TCD14_NBYTES_MLOFFNO {
2387 register: VolatileCell<u32>,
2388}
2389#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2390pub mod tcd14_nbytes_mloffno;
2391#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2392pub struct TCD14_NBYTES_MLOFFYES {
2393 register: VolatileCell<u32>,
2394}
2395#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2396pub mod tcd14_nbytes_mloffyes;
2397#[doc = "TCD Last Source Address Adjustment"]
2398pub struct TCD14_SLAST {
2399 register: VolatileCell<u32>,
2400}
2401#[doc = "TCD Last Source Address Adjustment"]
2402pub mod tcd14_slast;
2403#[doc = "TCD Destination Address"]
2404pub struct TCD14_DADDR {
2405 register: VolatileCell<u32>,
2406}
2407#[doc = "TCD Destination Address"]
2408pub mod tcd14_daddr;
2409#[doc = "TCD Signed Destination Address Offset"]
2410pub struct TCD14_DOFF {
2411 register: VolatileCell<u16>,
2412}
2413#[doc = "TCD Signed Destination Address Offset"]
2414pub mod tcd14_doff;
2415#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2416pub struct TCD14_CITER_ELINKNO {
2417 register: VolatileCell<u16>,
2418}
2419#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2420pub mod tcd14_citer_elinkno;
2421#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2422pub struct TCD14_CITER_ELINKYES {
2423 register: VolatileCell<u16>,
2424}
2425#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2426pub mod tcd14_citer_elinkyes;
2427#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2428pub struct TCD14_DLASTSGA {
2429 register: VolatileCell<u32>,
2430}
2431#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2432pub mod tcd14_dlastsga;
2433#[doc = "TCD Control and Status"]
2434pub struct TCD14_CSR {
2435 register: VolatileCell<u16>,
2436}
2437#[doc = "TCD Control and Status"]
2438pub mod tcd14_csr;
2439#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2440pub struct TCD14_BITER_ELINKNO {
2441 register: VolatileCell<u16>,
2442}
2443#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2444pub mod tcd14_biter_elinkno;
2445#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2446pub struct TCD14_BITER_ELINKYES {
2447 register: VolatileCell<u16>,
2448}
2449#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2450pub mod tcd14_biter_elinkyes;
2451#[doc = "TCD Source Address"]
2452pub struct TCD15_SADDR {
2453 register: VolatileCell<u32>,
2454}
2455#[doc = "TCD Source Address"]
2456pub mod tcd15_saddr;
2457#[doc = "TCD Signed Source Address Offset"]
2458pub struct TCD15_SOFF {
2459 register: VolatileCell<u16>,
2460}
2461#[doc = "TCD Signed Source Address Offset"]
2462pub mod tcd15_soff;
2463#[doc = "TCD Transfer Attributes"]
2464pub struct TCD15_ATTR {
2465 register: VolatileCell<u16>,
2466}
2467#[doc = "TCD Transfer Attributes"]
2468pub mod tcd15_attr;
2469#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2470pub struct TCD15_NBYTES_MLNO {
2471 register: VolatileCell<u32>,
2472}
2473#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2474pub mod tcd15_nbytes_mlno;
2475#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2476pub struct TCD15_NBYTES_MLOFFNO {
2477 register: VolatileCell<u32>,
2478}
2479#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2480pub mod tcd15_nbytes_mloffno;
2481#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2482pub struct TCD15_NBYTES_MLOFFYES {
2483 register: VolatileCell<u32>,
2484}
2485#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2486pub mod tcd15_nbytes_mloffyes;
2487#[doc = "TCD Last Source Address Adjustment"]
2488pub struct TCD15_SLAST {
2489 register: VolatileCell<u32>,
2490}
2491#[doc = "TCD Last Source Address Adjustment"]
2492pub mod tcd15_slast;
2493#[doc = "TCD Destination Address"]
2494pub struct TCD15_DADDR {
2495 register: VolatileCell<u32>,
2496}
2497#[doc = "TCD Destination Address"]
2498pub mod tcd15_daddr;
2499#[doc = "TCD Signed Destination Address Offset"]
2500pub struct TCD15_DOFF {
2501 register: VolatileCell<u16>,
2502}
2503#[doc = "TCD Signed Destination Address Offset"]
2504pub mod tcd15_doff;
2505#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2506pub struct TCD15_CITER_ELINKNO {
2507 register: VolatileCell<u16>,
2508}
2509#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2510pub mod tcd15_citer_elinkno;
2511#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2512pub struct TCD15_CITER_ELINKYES {
2513 register: VolatileCell<u16>,
2514}
2515#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2516pub mod tcd15_citer_elinkyes;
2517#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2518pub struct TCD15_DLASTSGA {
2519 register: VolatileCell<u32>,
2520}
2521#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2522pub mod tcd15_dlastsga;
2523#[doc = "TCD Control and Status"]
2524pub struct TCD15_CSR {
2525 register: VolatileCell<u16>,
2526}
2527#[doc = "TCD Control and Status"]
2528pub mod tcd15_csr;
2529#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2530pub struct TCD15_BITER_ELINKNO {
2531 register: VolatileCell<u16>,
2532}
2533#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2534pub mod tcd15_biter_elinkno;
2535#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2536pub struct TCD15_BITER_ELINKYES {
2537 register: VolatileCell<u16>,
2538}
2539#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2540pub mod tcd15_biter_elinkyes;
2541#[doc = "TCD Source Address"]
2542pub struct TCD16_SADDR {
2543 register: VolatileCell<u32>,
2544}
2545#[doc = "TCD Source Address"]
2546pub mod tcd16_saddr;
2547#[doc = "TCD Signed Source Address Offset"]
2548pub struct TCD16_SOFF {
2549 register: VolatileCell<u16>,
2550}
2551#[doc = "TCD Signed Source Address Offset"]
2552pub mod tcd16_soff;
2553#[doc = "TCD Transfer Attributes"]
2554pub struct TCD16_ATTR {
2555 register: VolatileCell<u16>,
2556}
2557#[doc = "TCD Transfer Attributes"]
2558pub mod tcd16_attr;
2559#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2560pub struct TCD16_NBYTES_MLNO {
2561 register: VolatileCell<u32>,
2562}
2563#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2564pub mod tcd16_nbytes_mlno;
2565#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2566pub struct TCD16_NBYTES_MLOFFNO {
2567 register: VolatileCell<u32>,
2568}
2569#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2570pub mod tcd16_nbytes_mloffno;
2571#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2572pub struct TCD16_NBYTES_MLOFFYES {
2573 register: VolatileCell<u32>,
2574}
2575#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2576pub mod tcd16_nbytes_mloffyes;
2577#[doc = "TCD Last Source Address Adjustment"]
2578pub struct TCD16_SLAST {
2579 register: VolatileCell<u32>,
2580}
2581#[doc = "TCD Last Source Address Adjustment"]
2582pub mod tcd16_slast;
2583#[doc = "TCD Destination Address"]
2584pub struct TCD16_DADDR {
2585 register: VolatileCell<u32>,
2586}
2587#[doc = "TCD Destination Address"]
2588pub mod tcd16_daddr;
2589#[doc = "TCD Signed Destination Address Offset"]
2590pub struct TCD16_DOFF {
2591 register: VolatileCell<u16>,
2592}
2593#[doc = "TCD Signed Destination Address Offset"]
2594pub mod tcd16_doff;
2595#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2596pub struct TCD16_CITER_ELINKNO {
2597 register: VolatileCell<u16>,
2598}
2599#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2600pub mod tcd16_citer_elinkno;
2601#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2602pub struct TCD16_CITER_ELINKYES {
2603 register: VolatileCell<u16>,
2604}
2605#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2606pub mod tcd16_citer_elinkyes;
2607#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2608pub struct TCD16_DLASTSGA {
2609 register: VolatileCell<u32>,
2610}
2611#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2612pub mod tcd16_dlastsga;
2613#[doc = "TCD Control and Status"]
2614pub struct TCD16_CSR {
2615 register: VolatileCell<u16>,
2616}
2617#[doc = "TCD Control and Status"]
2618pub mod tcd16_csr;
2619#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2620pub struct TCD16_BITER_ELINKNO {
2621 register: VolatileCell<u16>,
2622}
2623#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2624pub mod tcd16_biter_elinkno;
2625#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2626pub struct TCD16_BITER_ELINKYES {
2627 register: VolatileCell<u16>,
2628}
2629#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2630pub mod tcd16_biter_elinkyes;
2631#[doc = "TCD Source Address"]
2632pub struct TCD17_SADDR {
2633 register: VolatileCell<u32>,
2634}
2635#[doc = "TCD Source Address"]
2636pub mod tcd17_saddr;
2637#[doc = "TCD Signed Source Address Offset"]
2638pub struct TCD17_SOFF {
2639 register: VolatileCell<u16>,
2640}
2641#[doc = "TCD Signed Source Address Offset"]
2642pub mod tcd17_soff;
2643#[doc = "TCD Transfer Attributes"]
2644pub struct TCD17_ATTR {
2645 register: VolatileCell<u16>,
2646}
2647#[doc = "TCD Transfer Attributes"]
2648pub mod tcd17_attr;
2649#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2650pub struct TCD17_NBYTES_MLNO {
2651 register: VolatileCell<u32>,
2652}
2653#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2654pub mod tcd17_nbytes_mlno;
2655#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2656pub struct TCD17_NBYTES_MLOFFNO {
2657 register: VolatileCell<u32>,
2658}
2659#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2660pub mod tcd17_nbytes_mloffno;
2661#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2662pub struct TCD17_NBYTES_MLOFFYES {
2663 register: VolatileCell<u32>,
2664}
2665#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2666pub mod tcd17_nbytes_mloffyes;
2667#[doc = "TCD Last Source Address Adjustment"]
2668pub struct TCD17_SLAST {
2669 register: VolatileCell<u32>,
2670}
2671#[doc = "TCD Last Source Address Adjustment"]
2672pub mod tcd17_slast;
2673#[doc = "TCD Destination Address"]
2674pub struct TCD17_DADDR {
2675 register: VolatileCell<u32>,
2676}
2677#[doc = "TCD Destination Address"]
2678pub mod tcd17_daddr;
2679#[doc = "TCD Signed Destination Address Offset"]
2680pub struct TCD17_DOFF {
2681 register: VolatileCell<u16>,
2682}
2683#[doc = "TCD Signed Destination Address Offset"]
2684pub mod tcd17_doff;
2685#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2686pub struct TCD17_CITER_ELINKNO {
2687 register: VolatileCell<u16>,
2688}
2689#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2690pub mod tcd17_citer_elinkno;
2691#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2692pub struct TCD17_CITER_ELINKYES {
2693 register: VolatileCell<u16>,
2694}
2695#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2696pub mod tcd17_citer_elinkyes;
2697#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2698pub struct TCD17_DLASTSGA {
2699 register: VolatileCell<u32>,
2700}
2701#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2702pub mod tcd17_dlastsga;
2703#[doc = "TCD Control and Status"]
2704pub struct TCD17_CSR {
2705 register: VolatileCell<u16>,
2706}
2707#[doc = "TCD Control and Status"]
2708pub mod tcd17_csr;
2709#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2710pub struct TCD17_BITER_ELINKNO {
2711 register: VolatileCell<u16>,
2712}
2713#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2714pub mod tcd17_biter_elinkno;
2715#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2716pub struct TCD17_BITER_ELINKYES {
2717 register: VolatileCell<u16>,
2718}
2719#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2720pub mod tcd17_biter_elinkyes;
2721#[doc = "TCD Source Address"]
2722pub struct TCD18_SADDR {
2723 register: VolatileCell<u32>,
2724}
2725#[doc = "TCD Source Address"]
2726pub mod tcd18_saddr;
2727#[doc = "TCD Signed Source Address Offset"]
2728pub struct TCD18_SOFF {
2729 register: VolatileCell<u16>,
2730}
2731#[doc = "TCD Signed Source Address Offset"]
2732pub mod tcd18_soff;
2733#[doc = "TCD Transfer Attributes"]
2734pub struct TCD18_ATTR {
2735 register: VolatileCell<u16>,
2736}
2737#[doc = "TCD Transfer Attributes"]
2738pub mod tcd18_attr;
2739#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2740pub struct TCD18_NBYTES_MLNO {
2741 register: VolatileCell<u32>,
2742}
2743#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2744pub mod tcd18_nbytes_mlno;
2745#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2746pub struct TCD18_NBYTES_MLOFFNO {
2747 register: VolatileCell<u32>,
2748}
2749#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2750pub mod tcd18_nbytes_mloffno;
2751#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2752pub struct TCD18_NBYTES_MLOFFYES {
2753 register: VolatileCell<u32>,
2754}
2755#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2756pub mod tcd18_nbytes_mloffyes;
2757#[doc = "TCD Last Source Address Adjustment"]
2758pub struct TCD18_SLAST {
2759 register: VolatileCell<u32>,
2760}
2761#[doc = "TCD Last Source Address Adjustment"]
2762pub mod tcd18_slast;
2763#[doc = "TCD Destination Address"]
2764pub struct TCD18_DADDR {
2765 register: VolatileCell<u32>,
2766}
2767#[doc = "TCD Destination Address"]
2768pub mod tcd18_daddr;
2769#[doc = "TCD Signed Destination Address Offset"]
2770pub struct TCD18_DOFF {
2771 register: VolatileCell<u16>,
2772}
2773#[doc = "TCD Signed Destination Address Offset"]
2774pub mod tcd18_doff;
2775#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2776pub struct TCD18_CITER_ELINKNO {
2777 register: VolatileCell<u16>,
2778}
2779#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2780pub mod tcd18_citer_elinkno;
2781#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2782pub struct TCD18_CITER_ELINKYES {
2783 register: VolatileCell<u16>,
2784}
2785#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2786pub mod tcd18_citer_elinkyes;
2787#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2788pub struct TCD18_DLASTSGA {
2789 register: VolatileCell<u32>,
2790}
2791#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2792pub mod tcd18_dlastsga;
2793#[doc = "TCD Control and Status"]
2794pub struct TCD18_CSR {
2795 register: VolatileCell<u16>,
2796}
2797#[doc = "TCD Control and Status"]
2798pub mod tcd18_csr;
2799#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2800pub struct TCD18_BITER_ELINKNO {
2801 register: VolatileCell<u16>,
2802}
2803#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2804pub mod tcd18_biter_elinkno;
2805#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2806pub struct TCD18_BITER_ELINKYES {
2807 register: VolatileCell<u16>,
2808}
2809#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2810pub mod tcd18_biter_elinkyes;
2811#[doc = "TCD Source Address"]
2812pub struct TCD19_SADDR {
2813 register: VolatileCell<u32>,
2814}
2815#[doc = "TCD Source Address"]
2816pub mod tcd19_saddr;
2817#[doc = "TCD Signed Source Address Offset"]
2818pub struct TCD19_SOFF {
2819 register: VolatileCell<u16>,
2820}
2821#[doc = "TCD Signed Source Address Offset"]
2822pub mod tcd19_soff;
2823#[doc = "TCD Transfer Attributes"]
2824pub struct TCD19_ATTR {
2825 register: VolatileCell<u16>,
2826}
2827#[doc = "TCD Transfer Attributes"]
2828pub mod tcd19_attr;
2829#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2830pub struct TCD19_NBYTES_MLNO {
2831 register: VolatileCell<u32>,
2832}
2833#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2834pub mod tcd19_nbytes_mlno;
2835#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2836pub struct TCD19_NBYTES_MLOFFNO {
2837 register: VolatileCell<u32>,
2838}
2839#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2840pub mod tcd19_nbytes_mloffno;
2841#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2842pub struct TCD19_NBYTES_MLOFFYES {
2843 register: VolatileCell<u32>,
2844}
2845#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2846pub mod tcd19_nbytes_mloffyes;
2847#[doc = "TCD Last Source Address Adjustment"]
2848pub struct TCD19_SLAST {
2849 register: VolatileCell<u32>,
2850}
2851#[doc = "TCD Last Source Address Adjustment"]
2852pub mod tcd19_slast;
2853#[doc = "TCD Destination Address"]
2854pub struct TCD19_DADDR {
2855 register: VolatileCell<u32>,
2856}
2857#[doc = "TCD Destination Address"]
2858pub mod tcd19_daddr;
2859#[doc = "TCD Signed Destination Address Offset"]
2860pub struct TCD19_DOFF {
2861 register: VolatileCell<u16>,
2862}
2863#[doc = "TCD Signed Destination Address Offset"]
2864pub mod tcd19_doff;
2865#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2866pub struct TCD19_CITER_ELINKNO {
2867 register: VolatileCell<u16>,
2868}
2869#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2870pub mod tcd19_citer_elinkno;
2871#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2872pub struct TCD19_CITER_ELINKYES {
2873 register: VolatileCell<u16>,
2874}
2875#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2876pub mod tcd19_citer_elinkyes;
2877#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2878pub struct TCD19_DLASTSGA {
2879 register: VolatileCell<u32>,
2880}
2881#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2882pub mod tcd19_dlastsga;
2883#[doc = "TCD Control and Status"]
2884pub struct TCD19_CSR {
2885 register: VolatileCell<u16>,
2886}
2887#[doc = "TCD Control and Status"]
2888pub mod tcd19_csr;
2889#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2890pub struct TCD19_BITER_ELINKNO {
2891 register: VolatileCell<u16>,
2892}
2893#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2894pub mod tcd19_biter_elinkno;
2895#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2896pub struct TCD19_BITER_ELINKYES {
2897 register: VolatileCell<u16>,
2898}
2899#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2900pub mod tcd19_biter_elinkyes;
2901#[doc = "TCD Source Address"]
2902pub struct TCD20_SADDR {
2903 register: VolatileCell<u32>,
2904}
2905#[doc = "TCD Source Address"]
2906pub mod tcd20_saddr;
2907#[doc = "TCD Signed Source Address Offset"]
2908pub struct TCD20_SOFF {
2909 register: VolatileCell<u16>,
2910}
2911#[doc = "TCD Signed Source Address Offset"]
2912pub mod tcd20_soff;
2913#[doc = "TCD Transfer Attributes"]
2914pub struct TCD20_ATTR {
2915 register: VolatileCell<u16>,
2916}
2917#[doc = "TCD Transfer Attributes"]
2918pub mod tcd20_attr;
2919#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2920pub struct TCD20_NBYTES_MLNO {
2921 register: VolatileCell<u32>,
2922}
2923#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2924pub mod tcd20_nbytes_mlno;
2925#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2926pub struct TCD20_NBYTES_MLOFFNO {
2927 register: VolatileCell<u32>,
2928}
2929#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2930pub mod tcd20_nbytes_mloffno;
2931#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2932pub struct TCD20_NBYTES_MLOFFYES {
2933 register: VolatileCell<u32>,
2934}
2935#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2936pub mod tcd20_nbytes_mloffyes;
2937#[doc = "TCD Last Source Address Adjustment"]
2938pub struct TCD20_SLAST {
2939 register: VolatileCell<u32>,
2940}
2941#[doc = "TCD Last Source Address Adjustment"]
2942pub mod tcd20_slast;
2943#[doc = "TCD Destination Address"]
2944pub struct TCD20_DADDR {
2945 register: VolatileCell<u32>,
2946}
2947#[doc = "TCD Destination Address"]
2948pub mod tcd20_daddr;
2949#[doc = "TCD Signed Destination Address Offset"]
2950pub struct TCD20_DOFF {
2951 register: VolatileCell<u16>,
2952}
2953#[doc = "TCD Signed Destination Address Offset"]
2954pub mod tcd20_doff;
2955#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2956pub struct TCD20_CITER_ELINKNO {
2957 register: VolatileCell<u16>,
2958}
2959#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2960pub mod tcd20_citer_elinkno;
2961#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2962pub struct TCD20_CITER_ELINKYES {
2963 register: VolatileCell<u16>,
2964}
2965#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2966pub mod tcd20_citer_elinkyes;
2967#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2968pub struct TCD20_DLASTSGA {
2969 register: VolatileCell<u32>,
2970}
2971#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2972pub mod tcd20_dlastsga;
2973#[doc = "TCD Control and Status"]
2974pub struct TCD20_CSR {
2975 register: VolatileCell<u16>,
2976}
2977#[doc = "TCD Control and Status"]
2978pub mod tcd20_csr;
2979#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2980pub struct TCD20_BITER_ELINKNO {
2981 register: VolatileCell<u16>,
2982}
2983#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2984pub mod tcd20_biter_elinkno;
2985#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2986pub struct TCD20_BITER_ELINKYES {
2987 register: VolatileCell<u16>,
2988}
2989#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2990pub mod tcd20_biter_elinkyes;
2991#[doc = "TCD Source Address"]
2992pub struct TCD21_SADDR {
2993 register: VolatileCell<u32>,
2994}
2995#[doc = "TCD Source Address"]
2996pub mod tcd21_saddr;
2997#[doc = "TCD Signed Source Address Offset"]
2998pub struct TCD21_SOFF {
2999 register: VolatileCell<u16>,
3000}
3001#[doc = "TCD Signed Source Address Offset"]
3002pub mod tcd21_soff;
3003#[doc = "TCD Transfer Attributes"]
3004pub struct TCD21_ATTR {
3005 register: VolatileCell<u16>,
3006}
3007#[doc = "TCD Transfer Attributes"]
3008pub mod tcd21_attr;
3009#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3010pub struct TCD21_NBYTES_MLNO {
3011 register: VolatileCell<u32>,
3012}
3013#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3014pub mod tcd21_nbytes_mlno;
3015#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3016pub struct TCD21_NBYTES_MLOFFNO {
3017 register: VolatileCell<u32>,
3018}
3019#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3020pub mod tcd21_nbytes_mloffno;
3021#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3022pub struct TCD21_NBYTES_MLOFFYES {
3023 register: VolatileCell<u32>,
3024}
3025#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3026pub mod tcd21_nbytes_mloffyes;
3027#[doc = "TCD Last Source Address Adjustment"]
3028pub struct TCD21_SLAST {
3029 register: VolatileCell<u32>,
3030}
3031#[doc = "TCD Last Source Address Adjustment"]
3032pub mod tcd21_slast;
3033#[doc = "TCD Destination Address"]
3034pub struct TCD21_DADDR {
3035 register: VolatileCell<u32>,
3036}
3037#[doc = "TCD Destination Address"]
3038pub mod tcd21_daddr;
3039#[doc = "TCD Signed Destination Address Offset"]
3040pub struct TCD21_DOFF {
3041 register: VolatileCell<u16>,
3042}
3043#[doc = "TCD Signed Destination Address Offset"]
3044pub mod tcd21_doff;
3045#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3046pub struct TCD21_CITER_ELINKNO {
3047 register: VolatileCell<u16>,
3048}
3049#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3050pub mod tcd21_citer_elinkno;
3051#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3052pub struct TCD21_CITER_ELINKYES {
3053 register: VolatileCell<u16>,
3054}
3055#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3056pub mod tcd21_citer_elinkyes;
3057#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3058pub struct TCD21_DLASTSGA {
3059 register: VolatileCell<u32>,
3060}
3061#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3062pub mod tcd21_dlastsga;
3063#[doc = "TCD Control and Status"]
3064pub struct TCD21_CSR {
3065 register: VolatileCell<u16>,
3066}
3067#[doc = "TCD Control and Status"]
3068pub mod tcd21_csr;
3069#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3070pub struct TCD21_BITER_ELINKNO {
3071 register: VolatileCell<u16>,
3072}
3073#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3074pub mod tcd21_biter_elinkno;
3075#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3076pub struct TCD21_BITER_ELINKYES {
3077 register: VolatileCell<u16>,
3078}
3079#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3080pub mod tcd21_biter_elinkyes;
3081#[doc = "TCD Source Address"]
3082pub struct TCD22_SADDR {
3083 register: VolatileCell<u32>,
3084}
3085#[doc = "TCD Source Address"]
3086pub mod tcd22_saddr;
3087#[doc = "TCD Signed Source Address Offset"]
3088pub struct TCD22_SOFF {
3089 register: VolatileCell<u16>,
3090}
3091#[doc = "TCD Signed Source Address Offset"]
3092pub mod tcd22_soff;
3093#[doc = "TCD Transfer Attributes"]
3094pub struct TCD22_ATTR {
3095 register: VolatileCell<u16>,
3096}
3097#[doc = "TCD Transfer Attributes"]
3098pub mod tcd22_attr;
3099#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3100pub struct TCD22_NBYTES_MLNO {
3101 register: VolatileCell<u32>,
3102}
3103#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3104pub mod tcd22_nbytes_mlno;
3105#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3106pub struct TCD22_NBYTES_MLOFFNO {
3107 register: VolatileCell<u32>,
3108}
3109#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3110pub mod tcd22_nbytes_mloffno;
3111#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3112pub struct TCD22_NBYTES_MLOFFYES {
3113 register: VolatileCell<u32>,
3114}
3115#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3116pub mod tcd22_nbytes_mloffyes;
3117#[doc = "TCD Last Source Address Adjustment"]
3118pub struct TCD22_SLAST {
3119 register: VolatileCell<u32>,
3120}
3121#[doc = "TCD Last Source Address Adjustment"]
3122pub mod tcd22_slast;
3123#[doc = "TCD Destination Address"]
3124pub struct TCD22_DADDR {
3125 register: VolatileCell<u32>,
3126}
3127#[doc = "TCD Destination Address"]
3128pub mod tcd22_daddr;
3129#[doc = "TCD Signed Destination Address Offset"]
3130pub struct TCD22_DOFF {
3131 register: VolatileCell<u16>,
3132}
3133#[doc = "TCD Signed Destination Address Offset"]
3134pub mod tcd22_doff;
3135#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3136pub struct TCD22_CITER_ELINKNO {
3137 register: VolatileCell<u16>,
3138}
3139#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3140pub mod tcd22_citer_elinkno;
3141#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3142pub struct TCD22_CITER_ELINKYES {
3143 register: VolatileCell<u16>,
3144}
3145#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3146pub mod tcd22_citer_elinkyes;
3147#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3148pub struct TCD22_DLASTSGA {
3149 register: VolatileCell<u32>,
3150}
3151#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3152pub mod tcd22_dlastsga;
3153#[doc = "TCD Control and Status"]
3154pub struct TCD22_CSR {
3155 register: VolatileCell<u16>,
3156}
3157#[doc = "TCD Control and Status"]
3158pub mod tcd22_csr;
3159#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3160pub struct TCD22_BITER_ELINKNO {
3161 register: VolatileCell<u16>,
3162}
3163#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3164pub mod tcd22_biter_elinkno;
3165#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3166pub struct TCD22_BITER_ELINKYES {
3167 register: VolatileCell<u16>,
3168}
3169#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3170pub mod tcd22_biter_elinkyes;
3171#[doc = "TCD Source Address"]
3172pub struct TCD23_SADDR {
3173 register: VolatileCell<u32>,
3174}
3175#[doc = "TCD Source Address"]
3176pub mod tcd23_saddr;
3177#[doc = "TCD Signed Source Address Offset"]
3178pub struct TCD23_SOFF {
3179 register: VolatileCell<u16>,
3180}
3181#[doc = "TCD Signed Source Address Offset"]
3182pub mod tcd23_soff;
3183#[doc = "TCD Transfer Attributes"]
3184pub struct TCD23_ATTR {
3185 register: VolatileCell<u16>,
3186}
3187#[doc = "TCD Transfer Attributes"]
3188pub mod tcd23_attr;
3189#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3190pub struct TCD23_NBYTES_MLNO {
3191 register: VolatileCell<u32>,
3192}
3193#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3194pub mod tcd23_nbytes_mlno;
3195#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3196pub struct TCD23_NBYTES_MLOFFNO {
3197 register: VolatileCell<u32>,
3198}
3199#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3200pub mod tcd23_nbytes_mloffno;
3201#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3202pub struct TCD23_NBYTES_MLOFFYES {
3203 register: VolatileCell<u32>,
3204}
3205#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3206pub mod tcd23_nbytes_mloffyes;
3207#[doc = "TCD Last Source Address Adjustment"]
3208pub struct TCD23_SLAST {
3209 register: VolatileCell<u32>,
3210}
3211#[doc = "TCD Last Source Address Adjustment"]
3212pub mod tcd23_slast;
3213#[doc = "TCD Destination Address"]
3214pub struct TCD23_DADDR {
3215 register: VolatileCell<u32>,
3216}
3217#[doc = "TCD Destination Address"]
3218pub mod tcd23_daddr;
3219#[doc = "TCD Signed Destination Address Offset"]
3220pub struct TCD23_DOFF {
3221 register: VolatileCell<u16>,
3222}
3223#[doc = "TCD Signed Destination Address Offset"]
3224pub mod tcd23_doff;
3225#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3226pub struct TCD23_CITER_ELINKNO {
3227 register: VolatileCell<u16>,
3228}
3229#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3230pub mod tcd23_citer_elinkno;
3231#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3232pub struct TCD23_CITER_ELINKYES {
3233 register: VolatileCell<u16>,
3234}
3235#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3236pub mod tcd23_citer_elinkyes;
3237#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3238pub struct TCD23_DLASTSGA {
3239 register: VolatileCell<u32>,
3240}
3241#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3242pub mod tcd23_dlastsga;
3243#[doc = "TCD Control and Status"]
3244pub struct TCD23_CSR {
3245 register: VolatileCell<u16>,
3246}
3247#[doc = "TCD Control and Status"]
3248pub mod tcd23_csr;
3249#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3250pub struct TCD23_BITER_ELINKNO {
3251 register: VolatileCell<u16>,
3252}
3253#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3254pub mod tcd23_biter_elinkno;
3255#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3256pub struct TCD23_BITER_ELINKYES {
3257 register: VolatileCell<u16>,
3258}
3259#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3260pub mod tcd23_biter_elinkyes;
3261#[doc = "TCD Source Address"]
3262pub struct TCD24_SADDR {
3263 register: VolatileCell<u32>,
3264}
3265#[doc = "TCD Source Address"]
3266pub mod tcd24_saddr;
3267#[doc = "TCD Signed Source Address Offset"]
3268pub struct TCD24_SOFF {
3269 register: VolatileCell<u16>,
3270}
3271#[doc = "TCD Signed Source Address Offset"]
3272pub mod tcd24_soff;
3273#[doc = "TCD Transfer Attributes"]
3274pub struct TCD24_ATTR {
3275 register: VolatileCell<u16>,
3276}
3277#[doc = "TCD Transfer Attributes"]
3278pub mod tcd24_attr;
3279#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3280pub struct TCD24_NBYTES_MLNO {
3281 register: VolatileCell<u32>,
3282}
3283#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3284pub mod tcd24_nbytes_mlno;
3285#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3286pub struct TCD24_NBYTES_MLOFFNO {
3287 register: VolatileCell<u32>,
3288}
3289#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3290pub mod tcd24_nbytes_mloffno;
3291#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3292pub struct TCD24_NBYTES_MLOFFYES {
3293 register: VolatileCell<u32>,
3294}
3295#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3296pub mod tcd24_nbytes_mloffyes;
3297#[doc = "TCD Last Source Address Adjustment"]
3298pub struct TCD24_SLAST {
3299 register: VolatileCell<u32>,
3300}
3301#[doc = "TCD Last Source Address Adjustment"]
3302pub mod tcd24_slast;
3303#[doc = "TCD Destination Address"]
3304pub struct TCD24_DADDR {
3305 register: VolatileCell<u32>,
3306}
3307#[doc = "TCD Destination Address"]
3308pub mod tcd24_daddr;
3309#[doc = "TCD Signed Destination Address Offset"]
3310pub struct TCD24_DOFF {
3311 register: VolatileCell<u16>,
3312}
3313#[doc = "TCD Signed Destination Address Offset"]
3314pub mod tcd24_doff;
3315#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3316pub struct TCD24_CITER_ELINKNO {
3317 register: VolatileCell<u16>,
3318}
3319#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3320pub mod tcd24_citer_elinkno;
3321#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3322pub struct TCD24_CITER_ELINKYES {
3323 register: VolatileCell<u16>,
3324}
3325#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3326pub mod tcd24_citer_elinkyes;
3327#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3328pub struct TCD24_DLASTSGA {
3329 register: VolatileCell<u32>,
3330}
3331#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3332pub mod tcd24_dlastsga;
3333#[doc = "TCD Control and Status"]
3334pub struct TCD24_CSR {
3335 register: VolatileCell<u16>,
3336}
3337#[doc = "TCD Control and Status"]
3338pub mod tcd24_csr;
3339#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3340pub struct TCD24_BITER_ELINKNO {
3341 register: VolatileCell<u16>,
3342}
3343#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3344pub mod tcd24_biter_elinkno;
3345#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3346pub struct TCD24_BITER_ELINKYES {
3347 register: VolatileCell<u16>,
3348}
3349#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3350pub mod tcd24_biter_elinkyes;
3351#[doc = "TCD Source Address"]
3352pub struct TCD25_SADDR {
3353 register: VolatileCell<u32>,
3354}
3355#[doc = "TCD Source Address"]
3356pub mod tcd25_saddr;
3357#[doc = "TCD Signed Source Address Offset"]
3358pub struct TCD25_SOFF {
3359 register: VolatileCell<u16>,
3360}
3361#[doc = "TCD Signed Source Address Offset"]
3362pub mod tcd25_soff;
3363#[doc = "TCD Transfer Attributes"]
3364pub struct TCD25_ATTR {
3365 register: VolatileCell<u16>,
3366}
3367#[doc = "TCD Transfer Attributes"]
3368pub mod tcd25_attr;
3369#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3370pub struct TCD25_NBYTES_MLNO {
3371 register: VolatileCell<u32>,
3372}
3373#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3374pub mod tcd25_nbytes_mlno;
3375#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3376pub struct TCD25_NBYTES_MLOFFNO {
3377 register: VolatileCell<u32>,
3378}
3379#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3380pub mod tcd25_nbytes_mloffno;
3381#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3382pub struct TCD25_NBYTES_MLOFFYES {
3383 register: VolatileCell<u32>,
3384}
3385#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3386pub mod tcd25_nbytes_mloffyes;
3387#[doc = "TCD Last Source Address Adjustment"]
3388pub struct TCD25_SLAST {
3389 register: VolatileCell<u32>,
3390}
3391#[doc = "TCD Last Source Address Adjustment"]
3392pub mod tcd25_slast;
3393#[doc = "TCD Destination Address"]
3394pub struct TCD25_DADDR {
3395 register: VolatileCell<u32>,
3396}
3397#[doc = "TCD Destination Address"]
3398pub mod tcd25_daddr;
3399#[doc = "TCD Signed Destination Address Offset"]
3400pub struct TCD25_DOFF {
3401 register: VolatileCell<u16>,
3402}
3403#[doc = "TCD Signed Destination Address Offset"]
3404pub mod tcd25_doff;
3405#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3406pub struct TCD25_CITER_ELINKNO {
3407 register: VolatileCell<u16>,
3408}
3409#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3410pub mod tcd25_citer_elinkno;
3411#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3412pub struct TCD25_CITER_ELINKYES {
3413 register: VolatileCell<u16>,
3414}
3415#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3416pub mod tcd25_citer_elinkyes;
3417#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3418pub struct TCD25_DLASTSGA {
3419 register: VolatileCell<u32>,
3420}
3421#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3422pub mod tcd25_dlastsga;
3423#[doc = "TCD Control and Status"]
3424pub struct TCD25_CSR {
3425 register: VolatileCell<u16>,
3426}
3427#[doc = "TCD Control and Status"]
3428pub mod tcd25_csr;
3429#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3430pub struct TCD25_BITER_ELINKNO {
3431 register: VolatileCell<u16>,
3432}
3433#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3434pub mod tcd25_biter_elinkno;
3435#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3436pub struct TCD25_BITER_ELINKYES {
3437 register: VolatileCell<u16>,
3438}
3439#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3440pub mod tcd25_biter_elinkyes;
3441#[doc = "TCD Source Address"]
3442pub struct TCD26_SADDR {
3443 register: VolatileCell<u32>,
3444}
3445#[doc = "TCD Source Address"]
3446pub mod tcd26_saddr;
3447#[doc = "TCD Signed Source Address Offset"]
3448pub struct TCD26_SOFF {
3449 register: VolatileCell<u16>,
3450}
3451#[doc = "TCD Signed Source Address Offset"]
3452pub mod tcd26_soff;
3453#[doc = "TCD Transfer Attributes"]
3454pub struct TCD26_ATTR {
3455 register: VolatileCell<u16>,
3456}
3457#[doc = "TCD Transfer Attributes"]
3458pub mod tcd26_attr;
3459#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3460pub struct TCD26_NBYTES_MLNO {
3461 register: VolatileCell<u32>,
3462}
3463#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3464pub mod tcd26_nbytes_mlno;
3465#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3466pub struct TCD26_NBYTES_MLOFFNO {
3467 register: VolatileCell<u32>,
3468}
3469#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3470pub mod tcd26_nbytes_mloffno;
3471#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3472pub struct TCD26_NBYTES_MLOFFYES {
3473 register: VolatileCell<u32>,
3474}
3475#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3476pub mod tcd26_nbytes_mloffyes;
3477#[doc = "TCD Last Source Address Adjustment"]
3478pub struct TCD26_SLAST {
3479 register: VolatileCell<u32>,
3480}
3481#[doc = "TCD Last Source Address Adjustment"]
3482pub mod tcd26_slast;
3483#[doc = "TCD Destination Address"]
3484pub struct TCD26_DADDR {
3485 register: VolatileCell<u32>,
3486}
3487#[doc = "TCD Destination Address"]
3488pub mod tcd26_daddr;
3489#[doc = "TCD Signed Destination Address Offset"]
3490pub struct TCD26_DOFF {
3491 register: VolatileCell<u16>,
3492}
3493#[doc = "TCD Signed Destination Address Offset"]
3494pub mod tcd26_doff;
3495#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3496pub struct TCD26_CITER_ELINKNO {
3497 register: VolatileCell<u16>,
3498}
3499#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3500pub mod tcd26_citer_elinkno;
3501#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3502pub struct TCD26_CITER_ELINKYES {
3503 register: VolatileCell<u16>,
3504}
3505#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3506pub mod tcd26_citer_elinkyes;
3507#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3508pub struct TCD26_DLASTSGA {
3509 register: VolatileCell<u32>,
3510}
3511#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3512pub mod tcd26_dlastsga;
3513#[doc = "TCD Control and Status"]
3514pub struct TCD26_CSR {
3515 register: VolatileCell<u16>,
3516}
3517#[doc = "TCD Control and Status"]
3518pub mod tcd26_csr;
3519#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3520pub struct TCD26_BITER_ELINKNO {
3521 register: VolatileCell<u16>,
3522}
3523#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3524pub mod tcd26_biter_elinkno;
3525#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3526pub struct TCD26_BITER_ELINKYES {
3527 register: VolatileCell<u16>,
3528}
3529#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3530pub mod tcd26_biter_elinkyes;
3531#[doc = "TCD Source Address"]
3532pub struct TCD27_SADDR {
3533 register: VolatileCell<u32>,
3534}
3535#[doc = "TCD Source Address"]
3536pub mod tcd27_saddr;
3537#[doc = "TCD Signed Source Address Offset"]
3538pub struct TCD27_SOFF {
3539 register: VolatileCell<u16>,
3540}
3541#[doc = "TCD Signed Source Address Offset"]
3542pub mod tcd27_soff;
3543#[doc = "TCD Transfer Attributes"]
3544pub struct TCD27_ATTR {
3545 register: VolatileCell<u16>,
3546}
3547#[doc = "TCD Transfer Attributes"]
3548pub mod tcd27_attr;
3549#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3550pub struct TCD27_NBYTES_MLNO {
3551 register: VolatileCell<u32>,
3552}
3553#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3554pub mod tcd27_nbytes_mlno;
3555#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3556pub struct TCD27_NBYTES_MLOFFNO {
3557 register: VolatileCell<u32>,
3558}
3559#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3560pub mod tcd27_nbytes_mloffno;
3561#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3562pub struct TCD27_NBYTES_MLOFFYES {
3563 register: VolatileCell<u32>,
3564}
3565#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3566pub mod tcd27_nbytes_mloffyes;
3567#[doc = "TCD Last Source Address Adjustment"]
3568pub struct TCD27_SLAST {
3569 register: VolatileCell<u32>,
3570}
3571#[doc = "TCD Last Source Address Adjustment"]
3572pub mod tcd27_slast;
3573#[doc = "TCD Destination Address"]
3574pub struct TCD27_DADDR {
3575 register: VolatileCell<u32>,
3576}
3577#[doc = "TCD Destination Address"]
3578pub mod tcd27_daddr;
3579#[doc = "TCD Signed Destination Address Offset"]
3580pub struct TCD27_DOFF {
3581 register: VolatileCell<u16>,
3582}
3583#[doc = "TCD Signed Destination Address Offset"]
3584pub mod tcd27_doff;
3585#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3586pub struct TCD27_CITER_ELINKNO {
3587 register: VolatileCell<u16>,
3588}
3589#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3590pub mod tcd27_citer_elinkno;
3591#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3592pub struct TCD27_CITER_ELINKYES {
3593 register: VolatileCell<u16>,
3594}
3595#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3596pub mod tcd27_citer_elinkyes;
3597#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3598pub struct TCD27_DLASTSGA {
3599 register: VolatileCell<u32>,
3600}
3601#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3602pub mod tcd27_dlastsga;
3603#[doc = "TCD Control and Status"]
3604pub struct TCD27_CSR {
3605 register: VolatileCell<u16>,
3606}
3607#[doc = "TCD Control and Status"]
3608pub mod tcd27_csr;
3609#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3610pub struct TCD27_BITER_ELINKNO {
3611 register: VolatileCell<u16>,
3612}
3613#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3614pub mod tcd27_biter_elinkno;
3615#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3616pub struct TCD27_BITER_ELINKYES {
3617 register: VolatileCell<u16>,
3618}
3619#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3620pub mod tcd27_biter_elinkyes;
3621#[doc = "TCD Source Address"]
3622pub struct TCD28_SADDR {
3623 register: VolatileCell<u32>,
3624}
3625#[doc = "TCD Source Address"]
3626pub mod tcd28_saddr;
3627#[doc = "TCD Signed Source Address Offset"]
3628pub struct TCD28_SOFF {
3629 register: VolatileCell<u16>,
3630}
3631#[doc = "TCD Signed Source Address Offset"]
3632pub mod tcd28_soff;
3633#[doc = "TCD Transfer Attributes"]
3634pub struct TCD28_ATTR {
3635 register: VolatileCell<u16>,
3636}
3637#[doc = "TCD Transfer Attributes"]
3638pub mod tcd28_attr;
3639#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3640pub struct TCD28_NBYTES_MLNO {
3641 register: VolatileCell<u32>,
3642}
3643#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3644pub mod tcd28_nbytes_mlno;
3645#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3646pub struct TCD28_NBYTES_MLOFFNO {
3647 register: VolatileCell<u32>,
3648}
3649#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3650pub mod tcd28_nbytes_mloffno;
3651#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3652pub struct TCD28_NBYTES_MLOFFYES {
3653 register: VolatileCell<u32>,
3654}
3655#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3656pub mod tcd28_nbytes_mloffyes;
3657#[doc = "TCD Last Source Address Adjustment"]
3658pub struct TCD28_SLAST {
3659 register: VolatileCell<u32>,
3660}
3661#[doc = "TCD Last Source Address Adjustment"]
3662pub mod tcd28_slast;
3663#[doc = "TCD Destination Address"]
3664pub struct TCD28_DADDR {
3665 register: VolatileCell<u32>,
3666}
3667#[doc = "TCD Destination Address"]
3668pub mod tcd28_daddr;
3669#[doc = "TCD Signed Destination Address Offset"]
3670pub struct TCD28_DOFF {
3671 register: VolatileCell<u16>,
3672}
3673#[doc = "TCD Signed Destination Address Offset"]
3674pub mod tcd28_doff;
3675#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3676pub struct TCD28_CITER_ELINKNO {
3677 register: VolatileCell<u16>,
3678}
3679#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3680pub mod tcd28_citer_elinkno;
3681#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3682pub struct TCD28_CITER_ELINKYES {
3683 register: VolatileCell<u16>,
3684}
3685#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3686pub mod tcd28_citer_elinkyes;
3687#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3688pub struct TCD28_DLASTSGA {
3689 register: VolatileCell<u32>,
3690}
3691#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3692pub mod tcd28_dlastsga;
3693#[doc = "TCD Control and Status"]
3694pub struct TCD28_CSR {
3695 register: VolatileCell<u16>,
3696}
3697#[doc = "TCD Control and Status"]
3698pub mod tcd28_csr;
3699#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3700pub struct TCD28_BITER_ELINKNO {
3701 register: VolatileCell<u16>,
3702}
3703#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3704pub mod tcd28_biter_elinkno;
3705#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3706pub struct TCD28_BITER_ELINKYES {
3707 register: VolatileCell<u16>,
3708}
3709#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3710pub mod tcd28_biter_elinkyes;
3711#[doc = "TCD Source Address"]
3712pub struct TCD29_SADDR {
3713 register: VolatileCell<u32>,
3714}
3715#[doc = "TCD Source Address"]
3716pub mod tcd29_saddr;
3717#[doc = "TCD Signed Source Address Offset"]
3718pub struct TCD29_SOFF {
3719 register: VolatileCell<u16>,
3720}
3721#[doc = "TCD Signed Source Address Offset"]
3722pub mod tcd29_soff;
3723#[doc = "TCD Transfer Attributes"]
3724pub struct TCD29_ATTR {
3725 register: VolatileCell<u16>,
3726}
3727#[doc = "TCD Transfer Attributes"]
3728pub mod tcd29_attr;
3729#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3730pub struct TCD29_NBYTES_MLNO {
3731 register: VolatileCell<u32>,
3732}
3733#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3734pub mod tcd29_nbytes_mlno;
3735#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3736pub struct TCD29_NBYTES_MLOFFNO {
3737 register: VolatileCell<u32>,
3738}
3739#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3740pub mod tcd29_nbytes_mloffno;
3741#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3742pub struct TCD29_NBYTES_MLOFFYES {
3743 register: VolatileCell<u32>,
3744}
3745#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3746pub mod tcd29_nbytes_mloffyes;
3747#[doc = "TCD Last Source Address Adjustment"]
3748pub struct TCD29_SLAST {
3749 register: VolatileCell<u32>,
3750}
3751#[doc = "TCD Last Source Address Adjustment"]
3752pub mod tcd29_slast;
3753#[doc = "TCD Destination Address"]
3754pub struct TCD29_DADDR {
3755 register: VolatileCell<u32>,
3756}
3757#[doc = "TCD Destination Address"]
3758pub mod tcd29_daddr;
3759#[doc = "TCD Signed Destination Address Offset"]
3760pub struct TCD29_DOFF {
3761 register: VolatileCell<u16>,
3762}
3763#[doc = "TCD Signed Destination Address Offset"]
3764pub mod tcd29_doff;
3765#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3766pub struct TCD29_CITER_ELINKNO {
3767 register: VolatileCell<u16>,
3768}
3769#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3770pub mod tcd29_citer_elinkno;
3771#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3772pub struct TCD29_CITER_ELINKYES {
3773 register: VolatileCell<u16>,
3774}
3775#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3776pub mod tcd29_citer_elinkyes;
3777#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3778pub struct TCD29_DLASTSGA {
3779 register: VolatileCell<u32>,
3780}
3781#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3782pub mod tcd29_dlastsga;
3783#[doc = "TCD Control and Status"]
3784pub struct TCD29_CSR {
3785 register: VolatileCell<u16>,
3786}
3787#[doc = "TCD Control and Status"]
3788pub mod tcd29_csr;
3789#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3790pub struct TCD29_BITER_ELINKNO {
3791 register: VolatileCell<u16>,
3792}
3793#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3794pub mod tcd29_biter_elinkno;
3795#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3796pub struct TCD29_BITER_ELINKYES {
3797 register: VolatileCell<u16>,
3798}
3799#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3800pub mod tcd29_biter_elinkyes;
3801#[doc = "TCD Source Address"]
3802pub struct TCD30_SADDR {
3803 register: VolatileCell<u32>,
3804}
3805#[doc = "TCD Source Address"]
3806pub mod tcd30_saddr;
3807#[doc = "TCD Signed Source Address Offset"]
3808pub struct TCD30_SOFF {
3809 register: VolatileCell<u16>,
3810}
3811#[doc = "TCD Signed Source Address Offset"]
3812pub mod tcd30_soff;
3813#[doc = "TCD Transfer Attributes"]
3814pub struct TCD30_ATTR {
3815 register: VolatileCell<u16>,
3816}
3817#[doc = "TCD Transfer Attributes"]
3818pub mod tcd30_attr;
3819#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3820pub struct TCD30_NBYTES_MLNO {
3821 register: VolatileCell<u32>,
3822}
3823#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3824pub mod tcd30_nbytes_mlno;
3825#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3826pub struct TCD30_NBYTES_MLOFFNO {
3827 register: VolatileCell<u32>,
3828}
3829#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3830pub mod tcd30_nbytes_mloffno;
3831#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3832pub struct TCD30_NBYTES_MLOFFYES {
3833 register: VolatileCell<u32>,
3834}
3835#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3836pub mod tcd30_nbytes_mloffyes;
3837#[doc = "TCD Last Source Address Adjustment"]
3838pub struct TCD30_SLAST {
3839 register: VolatileCell<u32>,
3840}
3841#[doc = "TCD Last Source Address Adjustment"]
3842pub mod tcd30_slast;
3843#[doc = "TCD Destination Address"]
3844pub struct TCD30_DADDR {
3845 register: VolatileCellz<u32>,
3846}
3847#[doc = "TCD Destination Address"]
3848pub mod tcd30_daddr;
3849#[doc = "TCD Signed Destination Address Offset"]
3850pub struct TCD30_DOFF {
3851 register: VolatileCell<u16>,
3852}
3853#[doc = "TCD Signed Destination Address Offset"]
3854pub mod tcd30_doff;
3855#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3856pub struct TCD30_CITER_ELINKNO {
3857 register: VolatileCell<u16>,
3858}
3859#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3860pub mod tcd30_citer_elinkno;
3861#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3862pub struct TCD30_CITER_ELINKYES {
3863 register: VolatileCell<u16>,
3864}
3865#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3866pub mod tcd30_citer_elinkyes;
3867#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3868pub struct TCD30_DLASTSGA {
3869 register: VolatileCell<u32>,
3870}
3871#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3872pub mod tcd30_dlastsga;
3873#[doc = "TCD Control and Status"]
3874pub struct TCD30_CSR {
3875 register: VolatileCell<u16>,
3876}
3877#[doc = "TCD Control and Status"]
3878pub mod tcd30_csr;
3879#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3880pub struct TCD30_BITER_ELINKNO {
3881 register: VolatileCell<u16>,
3882}
3883#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3884pub mod tcd30_biter_elinkno;
3885#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3886pub struct TCD30_BITER_ELINKYES {
3887 register: VolatileCell<u16>,
3888}
3889#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3890pub mod tcd30_biter_elinkyes;
3891#[doc = "TCD Source Address"]
3892pub struct TCD31_SADDR {
3893 register: VolatileCell<u32>,
3894}
3895#[doc = "TCD Source Address"]
3896pub mod tcd31_saddr;
3897#[doc = "TCD Signed Source Address Offset"]
3898pub struct TCD31_SOFF {
3899 register: VolatileCell<u16>,
3900}
3901#[doc = "TCD Signed Source Address Offset"]
3902pub mod tcd31_soff;
3903#[doc = "TCD Transfer Attributes"]
3904pub struct TCD31_ATTR {
3905 register: VolatileCell<u16>,
3906}
3907#[doc = "TCD Transfer Attributes"]
3908pub mod tcd31_attr;
3909#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3910pub struct TCD31_NBYTES_MLNO {
3911 register: VolatileCell<u32>,
3912}
3913#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3914pub mod tcd31_nbytes_mlno;
3915#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3916pub struct TCD31_NBYTES_MLOFFNO {
3917 register: VolatileCell<u32>,
3918}
3919#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3920pub mod tcd31_nbytes_mloffno;
3921#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3922pub struct TCD31_NBYTES_MLOFFYES {
3923 register: VolatileCell<u32>,
3924}
3925#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3926pub mod tcd31_nbytes_mloffyes;
3927#[doc = "TCD Last Source Address Adjustment"]
3928pub struct TCD31_SLAST {
3929 register: VolatileCell<u32>,
3930}
3931#[doc = "TCD Last Source Address Adjustment"]
3932pub mod tcd31_slast;
3933#[doc = "TCD Destination Address"]
3934pub struct TCD31_DADDR {
3935 register: VolatileCell<u32>,
3936}
3937#[doc = "TCD Destination Address"]
3938pub mod tcd31_daddr;
3939#[doc = "TCD Signed Destination Address Offset"]
3940pub struct TCD31_DOFF {
3941 register: VolatileCell<u16>,
3942}
3943#[doc = "TCD Signed Destination Address Offset"]
3944pub mod tcd31_doff;
3945#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3946pub struct TCD31_CITER_ELINKNO {
3947 register: VolatileCell<u16>,
3948}
3949#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3950pub mod tcd31_citer_elinkno;
3951#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3952pub struct TCD31_CITER_ELINKYES {
3953 register: VolatileCell<u16>,
3954}
3955#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3956pub mod tcd31_citer_elinkyes;
3957#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3958pub struct TCD31_DLASTSGA {
3959 register: VolatileCell<u32>,
3960}
3961#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3962pub mod tcd31_dlastsga;
3963#[doc = "TCD Control and Status"]
3964pub struct TCD31_CSR {
3965 register: VolatileCell<u32>,
3966}
3967#[doc = "TCD Control and Status"]
3968pub mod tcd31_csr;
3969#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3970pub struct TCD31_BITER_ELINKNO {
3971 register: VolatileCell<u16>,
3972}
3973#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3974pub mod tcd31_biter_elinkno;
3975#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3976pub struct TCD31_BITER_ELINKYES {
3977 register: VolatileCell<u16>,
3978}
3979#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3980pub mod tcd31_biter_elinkyes;
diff --git a/crates/syntax/test_data/parser/err/0047_mutable_const_item.rast b/crates/syntax/test_data/parser/err/0047_mutable_const_item.rast
new file mode 100644
index 000000000..c7eb312c9
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0047_mutable_const_item.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected] "const"
4 [email protected] " "
5 [email protected] "mut"
6 [email protected] " "
7 [email protected]
8 [email protected] "FOO"
9 [email protected] ":"
10 [email protected] " "
11 [email protected]
12 [email protected] "("
13 [email protected] ")"
14 [email protected] " "
15 [email protected] "="
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] ";"
21 [email protected] "\n"
22error 6..9: const globals cannot be mutable
diff --git a/crates/syntax/test_data/parser/err/0047_mutable_const_item.rs b/crates/syntax/test_data/parser/err/0047_mutable_const_item.rs
new file mode 100644
index 000000000..b34336f3f
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0047_mutable_const_item.rs
@@ -0,0 +1 @@
const mut FOO: () = ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rast b/crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rast
new file mode 100644
index 000000000..dcd39535b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rast
@@ -0,0 +1,24 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected] "const"
6 [email protected] " "
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected] "Send"
12 [email protected] " "
13 [email protected] "for"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "X"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "}"
24 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rs b/crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rs
new file mode 100644
index 000000000..8d6886469
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0161_impl_def_const.rs
@@ -0,0 +1 @@
impl const Send for X {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rast b/crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rast
new file mode 100644
index 000000000..61c17333a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rast
@@ -0,0 +1,42 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "T"
10 [email protected] " "
11 [email protected] "for"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "Foo"
18 [email protected] " "
19 [email protected]
20 [email protected] "{"
21 [email protected] "\n "
22 [email protected]
23 [email protected] "default"
24 [email protected] " "
25 [email protected] "async"
26 [email protected] " "
27 [email protected] "unsafe"
28 [email protected] " "
29 [email protected] "fn"
30 [email protected] " "
31 [email protected]
32 [email protected] "foo"
33 [email protected]
34 [email protected] "("
35 [email protected] ")"
36 [email protected] " "
37 [email protected]
38 [email protected] "{"
39 [email protected] "}"
40 [email protected] "\n"
41 [email protected] "}"
42 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rs b/crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rs
new file mode 100644
index 000000000..05c20a68f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rs
@@ -0,0 +1,3 @@
1impl T for Foo {
2 default async unsafe fn foo() {}
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rast b/crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rast
new file mode 100644
index 000000000..9c43ccea5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rast
@@ -0,0 +1,40 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "T"
10 [email protected] " "
11 [email protected] "for"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "Foo"
18 [email protected] " "
19 [email protected]
20 [email protected] "{"
21 [email protected] "\n "
22 [email protected]
23 [email protected] "default"
24 [email protected] " "
25 [email protected] "async"
26 [email protected] " "
27 [email protected] "fn"
28 [email protected] " "
29 [email protected]
30 [email protected] "foo"
31 [email protected]
32 [email protected] "("
33 [email protected] ")"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "}"
38 [email protected] "\n"
39 [email protected] "}"
40 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rs b/crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rs
new file mode 100644
index 000000000..78c3b4d85
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0163_default_async_fn.rs
@@ -0,0 +1,3 @@
1impl T for Foo {
2 default async fn foo() {}
3}
diff --git a/crates/syntax/test_data/parser/ok/0024_const_item.rast b/crates/syntax/test_data/parser/ok/0024_const_item.rast
index dd1b9c9a0..b89ed6f98 100644
--- a/crates/syntax/test_data/parser/ok/0024_const_item.rast
+++ b/crates/syntax/test_data/parser/ok/0024_const_item.rast
@@ -1,4 +1,4 @@
1SOURCE_FILE@0..64 1SOURCE_FILE@0..39
2 [email protected] 2 [email protected]
3 [email protected] "const" 3 [email protected] "const"
4 [email protected] " " 4 [email protected] " "
@@ -36,24 +36,3 @@ [email protected]
36 [email protected] "92" 36 [email protected] "92"
37 [email protected] ";" 37 [email protected] ";"
38 [email protected] "\n" 38 [email protected] "\n"
39 [email protected]
40 [email protected] "const"
41 [email protected] " "
42 [email protected] "mut"
43 [email protected] " "
44 [email protected]
45 [email protected] "BAR"
46 [email protected] ":"
47 [email protected] " "
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "u32"
53 [email protected] " "
54 [email protected] "="
55 [email protected] " "
56 [email protected]
57 [email protected] "62"
58 [email protected] ";"
59 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0024_const_item.rs b/crates/syntax/test_data/parser/ok/0024_const_item.rs
index a806a209d..1f2ffa0da 100644
--- a/crates/syntax/test_data/parser/ok/0024_const_item.rs
+++ b/crates/syntax/test_data/parser/ok/0024_const_item.rs
@@ -1,3 +1,2 @@
1const _: u32 = 0; 1const _: u32 = 0;
2const FOO: u32 = 92; 2const FOO: u32 = 92;
3const mut BAR: u32 = 62;