atsamd11d/
mtb.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    position: Position,
5    master: Master,
6    flow: Flow,
7    base: Base,
8    _reserved4: [u8; 0x0ef0],
9    itctrl: Itctrl,
10    _reserved5: [u8; 0x9c],
11    claimset: Claimset,
12    claimclr: Claimclr,
13    _reserved7: [u8; 0x08],
14    lockaccess: Lockaccess,
15    lockstatus: Lockstatus,
16    authstatus: Authstatus,
17    devarch: Devarch,
18    _reserved11: [u8; 0x08],
19    devid: Devid,
20    devtype: Devtype,
21    pid4: Pid4,
22    pid5: Pid5,
23    pid6: Pid6,
24    pid7: Pid7,
25    pid0: Pid0,
26    pid1: Pid1,
27    pid2: Pid2,
28    pid3: Pid3,
29    cid0: Cid0,
30    cid1: Cid1,
31    cid2: Cid2,
32    cid3: Cid3,
33}
34impl RegisterBlock {
35    #[doc = "0x00 - MTB Position"]
36    #[inline(always)]
37    pub const fn position(&self) -> &Position {
38        &self.position
39    }
40    #[doc = "0x04 - MTB Master"]
41    #[inline(always)]
42    pub const fn master(&self) -> &Master {
43        &self.master
44    }
45    #[doc = "0x08 - MTB Flow"]
46    #[inline(always)]
47    pub const fn flow(&self) -> &Flow {
48        &self.flow
49    }
50    #[doc = "0x0c - MTB Base"]
51    #[inline(always)]
52    pub const fn base(&self) -> &Base {
53        &self.base
54    }
55    #[doc = "0xf00 - MTB Integration Mode Control"]
56    #[inline(always)]
57    pub const fn itctrl(&self) -> &Itctrl {
58        &self.itctrl
59    }
60    #[doc = "0xfa0 - MTB Claim Set"]
61    #[inline(always)]
62    pub const fn claimset(&self) -> &Claimset {
63        &self.claimset
64    }
65    #[doc = "0xfa4 - MTB Claim Clear"]
66    #[inline(always)]
67    pub const fn claimclr(&self) -> &Claimclr {
68        &self.claimclr
69    }
70    #[doc = "0xfb0 - MTB Lock Access"]
71    #[inline(always)]
72    pub const fn lockaccess(&self) -> &Lockaccess {
73        &self.lockaccess
74    }
75    #[doc = "0xfb4 - MTB Lock Status"]
76    #[inline(always)]
77    pub const fn lockstatus(&self) -> &Lockstatus {
78        &self.lockstatus
79    }
80    #[doc = "0xfb8 - MTB Authentication Status"]
81    #[inline(always)]
82    pub const fn authstatus(&self) -> &Authstatus {
83        &self.authstatus
84    }
85    #[doc = "0xfbc - MTB Device Architecture"]
86    #[inline(always)]
87    pub const fn devarch(&self) -> &Devarch {
88        &self.devarch
89    }
90    #[doc = "0xfc8 - MTB Device Configuration"]
91    #[inline(always)]
92    pub const fn devid(&self) -> &Devid {
93        &self.devid
94    }
95    #[doc = "0xfcc - MTB Device Type"]
96    #[inline(always)]
97    pub const fn devtype(&self) -> &Devtype {
98        &self.devtype
99    }
100    #[doc = "0xfd0 - CoreSight"]
101    #[inline(always)]
102    pub const fn pid4(&self) -> &Pid4 {
103        &self.pid4
104    }
105    #[doc = "0xfd4 - CoreSight"]
106    #[inline(always)]
107    pub const fn pid5(&self) -> &Pid5 {
108        &self.pid5
109    }
110    #[doc = "0xfd8 - CoreSight"]
111    #[inline(always)]
112    pub const fn pid6(&self) -> &Pid6 {
113        &self.pid6
114    }
115    #[doc = "0xfdc - CoreSight"]
116    #[inline(always)]
117    pub const fn pid7(&self) -> &Pid7 {
118        &self.pid7
119    }
120    #[doc = "0xfe0 - CoreSight"]
121    #[inline(always)]
122    pub const fn pid0(&self) -> &Pid0 {
123        &self.pid0
124    }
125    #[doc = "0xfe4 - CoreSight"]
126    #[inline(always)]
127    pub const fn pid1(&self) -> &Pid1 {
128        &self.pid1
129    }
130    #[doc = "0xfe8 - CoreSight"]
131    #[inline(always)]
132    pub const fn pid2(&self) -> &Pid2 {
133        &self.pid2
134    }
135    #[doc = "0xfec - CoreSight"]
136    #[inline(always)]
137    pub const fn pid3(&self) -> &Pid3 {
138        &self.pid3
139    }
140    #[doc = "0xff0 - CoreSight"]
141    #[inline(always)]
142    pub const fn cid0(&self) -> &Cid0 {
143        &self.cid0
144    }
145    #[doc = "0xff4 - CoreSight"]
146    #[inline(always)]
147    pub const fn cid1(&self) -> &Cid1 {
148        &self.cid1
149    }
150    #[doc = "0xff8 - CoreSight"]
151    #[inline(always)]
152    pub const fn cid2(&self) -> &Cid2 {
153        &self.cid2
154    }
155    #[doc = "0xffc - CoreSight"]
156    #[inline(always)]
157    pub const fn cid3(&self) -> &Cid3 {
158        &self.cid3
159    }
160}
161#[doc = "POSITION (rw) register accessor: MTB Position\n\nYou can [`read`](crate::Reg::read) this register and get [`position::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`position::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@position`]
162module"]
163#[doc(alias = "POSITION")]
164pub type Position = crate::Reg<position::PositionSpec>;
165#[doc = "MTB Position"]
166pub mod position;
167#[doc = "MASTER (rw) register accessor: MTB Master\n\nYou can [`read`](crate::Reg::read) this register and get [`master::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`master::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@master`]
168module"]
169#[doc(alias = "MASTER")]
170pub type Master = crate::Reg<master::MasterSpec>;
171#[doc = "MTB Master"]
172pub mod master;
173#[doc = "FLOW (rw) register accessor: MTB Flow\n\nYou can [`read`](crate::Reg::read) this register and get [`flow::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`flow::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@flow`]
174module"]
175#[doc(alias = "FLOW")]
176pub type Flow = crate::Reg<flow::FlowSpec>;
177#[doc = "MTB Flow"]
178pub mod flow;
179#[doc = "BASE (r) register accessor: MTB Base\n\nYou can [`read`](crate::Reg::read) this register and get [`base::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@base`]
180module"]
181#[doc(alias = "BASE")]
182pub type Base = crate::Reg<base::BaseSpec>;
183#[doc = "MTB Base"]
184pub mod base;
185#[doc = "ITCTRL (rw) register accessor: MTB Integration Mode Control\n\nYou can [`read`](crate::Reg::read) this register and get [`itctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`itctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@itctrl`]
186module"]
187#[doc(alias = "ITCTRL")]
188pub type Itctrl = crate::Reg<itctrl::ItctrlSpec>;
189#[doc = "MTB Integration Mode Control"]
190pub mod itctrl;
191#[doc = "CLAIMSET (rw) register accessor: MTB Claim Set\n\nYou can [`read`](crate::Reg::read) this register and get [`claimset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`claimset::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@claimset`]
192module"]
193#[doc(alias = "CLAIMSET")]
194pub type Claimset = crate::Reg<claimset::ClaimsetSpec>;
195#[doc = "MTB Claim Set"]
196pub mod claimset;
197#[doc = "CLAIMCLR (rw) register accessor: MTB Claim Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`claimclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`claimclr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@claimclr`]
198module"]
199#[doc(alias = "CLAIMCLR")]
200pub type Claimclr = crate::Reg<claimclr::ClaimclrSpec>;
201#[doc = "MTB Claim Clear"]
202pub mod claimclr;
203#[doc = "LOCKACCESS (rw) register accessor: MTB Lock Access\n\nYou can [`read`](crate::Reg::read) this register and get [`lockaccess::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lockaccess::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lockaccess`]
204module"]
205#[doc(alias = "LOCKACCESS")]
206pub type Lockaccess = crate::Reg<lockaccess::LockaccessSpec>;
207#[doc = "MTB Lock Access"]
208pub mod lockaccess;
209#[doc = "LOCKSTATUS (r) register accessor: MTB Lock Status\n\nYou can [`read`](crate::Reg::read) this register and get [`lockstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lockstatus`]
210module"]
211#[doc(alias = "LOCKSTATUS")]
212pub type Lockstatus = crate::Reg<lockstatus::LockstatusSpec>;
213#[doc = "MTB Lock Status"]
214pub mod lockstatus;
215#[doc = "AUTHSTATUS (r) register accessor: MTB Authentication Status\n\nYou can [`read`](crate::Reg::read) this register and get [`authstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@authstatus`]
216module"]
217#[doc(alias = "AUTHSTATUS")]
218pub type Authstatus = crate::Reg<authstatus::AuthstatusSpec>;
219#[doc = "MTB Authentication Status"]
220pub mod authstatus;
221#[doc = "DEVARCH (r) register accessor: MTB Device Architecture\n\nYou can [`read`](crate::Reg::read) this register and get [`devarch::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@devarch`]
222module"]
223#[doc(alias = "DEVARCH")]
224pub type Devarch = crate::Reg<devarch::DevarchSpec>;
225#[doc = "MTB Device Architecture"]
226pub mod devarch;
227#[doc = "DEVID (r) register accessor: MTB Device Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`devid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@devid`]
228module"]
229#[doc(alias = "DEVID")]
230pub type Devid = crate::Reg<devid::DevidSpec>;
231#[doc = "MTB Device Configuration"]
232pub mod devid;
233#[doc = "DEVTYPE (r) register accessor: MTB Device Type\n\nYou can [`read`](crate::Reg::read) this register and get [`devtype::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@devtype`]
234module"]
235#[doc(alias = "DEVTYPE")]
236pub type Devtype = crate::Reg<devtype::DevtypeSpec>;
237#[doc = "MTB Device Type"]
238pub mod devtype;
239#[doc = "PID4 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid4::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid4`]
240module"]
241#[doc(alias = "PID4")]
242pub type Pid4 = crate::Reg<pid4::Pid4Spec>;
243#[doc = "CoreSight"]
244pub mod pid4;
245#[doc = "PID5 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid5::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid5`]
246module"]
247#[doc(alias = "PID5")]
248pub type Pid5 = crate::Reg<pid5::Pid5Spec>;
249#[doc = "CoreSight"]
250pub mod pid5;
251#[doc = "PID6 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid6::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid6`]
252module"]
253#[doc(alias = "PID6")]
254pub type Pid6 = crate::Reg<pid6::Pid6Spec>;
255#[doc = "CoreSight"]
256pub mod pid6;
257#[doc = "PID7 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid7::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid7`]
258module"]
259#[doc(alias = "PID7")]
260pub type Pid7 = crate::Reg<pid7::Pid7Spec>;
261#[doc = "CoreSight"]
262pub mod pid7;
263#[doc = "PID0 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid0`]
264module"]
265#[doc(alias = "PID0")]
266pub type Pid0 = crate::Reg<pid0::Pid0Spec>;
267#[doc = "CoreSight"]
268pub mod pid0;
269#[doc = "PID1 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid1`]
270module"]
271#[doc(alias = "PID1")]
272pub type Pid1 = crate::Reg<pid1::Pid1Spec>;
273#[doc = "CoreSight"]
274pub mod pid1;
275#[doc = "PID2 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid2`]
276module"]
277#[doc(alias = "PID2")]
278pub type Pid2 = crate::Reg<pid2::Pid2Spec>;
279#[doc = "CoreSight"]
280pub mod pid2;
281#[doc = "PID3 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`pid3::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pid3`]
282module"]
283#[doc(alias = "PID3")]
284pub type Pid3 = crate::Reg<pid3::Pid3Spec>;
285#[doc = "CoreSight"]
286pub mod pid3;
287#[doc = "CID0 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`cid0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cid0`]
288module"]
289#[doc(alias = "CID0")]
290pub type Cid0 = crate::Reg<cid0::Cid0Spec>;
291#[doc = "CoreSight"]
292pub mod cid0;
293#[doc = "CID1 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`cid1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cid1`]
294module"]
295#[doc(alias = "CID1")]
296pub type Cid1 = crate::Reg<cid1::Cid1Spec>;
297#[doc = "CoreSight"]
298pub mod cid1;
299#[doc = "CID2 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`cid2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cid2`]
300module"]
301#[doc(alias = "CID2")]
302pub type Cid2 = crate::Reg<cid2::Cid2Spec>;
303#[doc = "CoreSight"]
304pub mod cid2;
305#[doc = "CID3 (r) register accessor: CoreSight\n\nYou can [`read`](crate::Reg::read) this register and get [`cid3::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cid3`]
306module"]
307#[doc(alias = "CID3")]
308pub type Cid3 = crate::Reg<cid3::Cid3Spec>;
309#[doc = "CoreSight"]
310pub mod cid3;