1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 verid: Verid,
6 _reserved1: [u8; 0x0c],
7 ckctrl: Ckctrl,
8 ckstat: Ckstat,
9 pmprot: Pmprot,
10 gpmctrl: Gpmctrl,
11 pmctrlmain: Pmctrlmain,
12 _reserved6: [u8; 0x5c],
13 srs: Srs,
14 rpc: Rpc,
15 ssrs: Ssrs,
16 srie: Srie,
17 srif: Srif,
18 _reserved11: [u8; 0x0c],
19 mr0: Mr0,
20 _reserved12: [u8; 0x0c],
21 fm0: Fm0,
22 _reserved13: [u8; 0x2c],
23 flashcr: Flashcr,
24 _reserved14: [u8; 0x2c],
25 corectl: Corectl,
26 _reserved15: [u8; 0x0c],
27 dbgctl: Dbgctl,
28}
29impl RegisterBlock {
30 #[doc = "0x00 - Version ID"]
31 #[inline(always)]
32 pub const fn verid(&self) -> &Verid {
33 &self.verid
34 }
35 #[doc = "0x10 - Clock Control"]
36 #[inline(always)]
37 pub const fn ckctrl(&self) -> &Ckctrl {
38 &self.ckctrl
39 }
40 #[doc = "0x14 - Clock Status"]
41 #[inline(always)]
42 pub const fn ckstat(&self) -> &Ckstat {
43 &self.ckstat
44 }
45 #[doc = "0x18 - Power Mode Protection"]
46 #[inline(always)]
47 pub const fn pmprot(&self) -> &Pmprot {
48 &self.pmprot
49 }
50 #[doc = "0x1c - Global Power Mode Control"]
51 #[inline(always)]
52 pub const fn gpmctrl(&self) -> &Gpmctrl {
53 &self.gpmctrl
54 }
55 #[doc = "0x20 - Power Mode Control"]
56 #[inline(always)]
57 pub const fn pmctrlmain(&self) -> &Pmctrlmain {
58 &self.pmctrlmain
59 }
60 #[doc = "0x80 - System Reset Status"]
61 #[inline(always)]
62 pub const fn srs(&self) -> &Srs {
63 &self.srs
64 }
65 #[doc = "0x84 - Reset Pin Control"]
66 #[inline(always)]
67 pub const fn rpc(&self) -> &Rpc {
68 &self.rpc
69 }
70 #[doc = "0x88 - Sticky System Reset Status"]
71 #[inline(always)]
72 pub const fn ssrs(&self) -> &Ssrs {
73 &self.ssrs
74 }
75 #[doc = "0x8c - System Reset Interrupt Enable"]
76 #[inline(always)]
77 pub const fn srie(&self) -> &Srie {
78 &self.srie
79 }
80 #[doc = "0x90 - System Reset Interrupt Flag"]
81 #[inline(always)]
82 pub const fn srif(&self) -> &Srif {
83 &self.srif
84 }
85 #[doc = "0xa0 - Mode"]
86 #[inline(always)]
87 pub const fn mr0(&self) -> &Mr0 {
88 &self.mr0
89 }
90 #[doc = "0xb0 - Force Mode"]
91 #[inline(always)]
92 pub const fn fm0(&self) -> &Fm0 {
93 &self.fm0
94 }
95 #[doc = "0xe0 - Flash Control"]
96 #[inline(always)]
97 pub const fn flashcr(&self) -> &Flashcr {
98 &self.flashcr
99 }
100 #[doc = "0x110 - Core Control"]
101 #[inline(always)]
102 pub const fn corectl(&self) -> &Corectl {
103 &self.corectl
104 }
105 #[doc = "0x120 - Debug Control"]
106 #[inline(always)]
107 pub const fn dbgctl(&self) -> &Dbgctl {
108 &self.dbgctl
109 }
110}
111#[doc = "VERID (r) register accessor: Version ID\n\nYou can [`read`](crate::Reg::read) this register and get [`verid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@verid`] module"]
112#[doc(alias = "VERID")]
113pub type Verid = crate::Reg<verid::VeridSpec>;
114#[doc = "Version ID"]
115pub mod verid;
116#[doc = "CKCTRL (rw) register accessor: Clock Control\n\nYou can [`read`](crate::Reg::read) this register and get [`ckctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ckctrl::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@ckctrl`] module"]
117#[doc(alias = "CKCTRL")]
118pub type Ckctrl = crate::Reg<ckctrl::CkctrlSpec>;
119#[doc = "Clock Control"]
120pub mod ckctrl;
121#[doc = "CKSTAT (rw) register accessor: Clock Status\n\nYou can [`read`](crate::Reg::read) this register and get [`ckstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ckstat::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@ckstat`] module"]
122#[doc(alias = "CKSTAT")]
123pub type Ckstat = crate::Reg<ckstat::CkstatSpec>;
124#[doc = "Clock Status"]
125pub mod ckstat;
126#[doc = "PMPROT (rw) register accessor: Power Mode Protection\n\nYou can [`read`](crate::Reg::read) this register and get [`pmprot::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pmprot::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@pmprot`] module"]
127#[doc(alias = "PMPROT")]
128pub type Pmprot = crate::Reg<pmprot::PmprotSpec>;
129#[doc = "Power Mode Protection"]
130pub mod pmprot;
131#[doc = "GPMCTRL (rw) register accessor: Global Power Mode Control\n\nYou can [`read`](crate::Reg::read) this register and get [`gpmctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpmctrl::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@gpmctrl`] module"]
132#[doc(alias = "GPMCTRL")]
133pub type Gpmctrl = crate::Reg<gpmctrl::GpmctrlSpec>;
134#[doc = "Global Power Mode Control"]
135pub mod gpmctrl;
136#[doc = "PMCTRLMAIN (rw) register accessor: Power Mode Control\n\nYou can [`read`](crate::Reg::read) this register and get [`pmctrlmain::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pmctrlmain::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@pmctrlmain`] module"]
137#[doc(alias = "PMCTRLMAIN")]
138pub type Pmctrlmain = crate::Reg<pmctrlmain::PmctrlmainSpec>;
139#[doc = "Power Mode Control"]
140pub mod pmctrlmain;
141#[doc = "SRS (r) register accessor: System Reset Status\n\nYou can [`read`](crate::Reg::read) this register and get [`srs::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@srs`] module"]
142#[doc(alias = "SRS")]
143pub type Srs = crate::Reg<srs::SrsSpec>;
144#[doc = "System Reset Status"]
145pub mod srs;
146#[doc = "RPC (rw) register accessor: Reset Pin Control\n\nYou can [`read`](crate::Reg::read) this register and get [`rpc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rpc::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@rpc`] module"]
147#[doc(alias = "RPC")]
148pub type Rpc = crate::Reg<rpc::RpcSpec>;
149#[doc = "Reset Pin Control"]
150pub mod rpc;
151#[doc = "SSRS (rw) register accessor: Sticky System Reset Status\n\nYou can [`read`](crate::Reg::read) this register and get [`ssrs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ssrs::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@ssrs`] module"]
152#[doc(alias = "SSRS")]
153pub type Ssrs = crate::Reg<ssrs::SsrsSpec>;
154#[doc = "Sticky System Reset Status"]
155pub mod ssrs;
156#[doc = "SRIE (rw) register accessor: System Reset Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`srie::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`srie::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@srie`] module"]
157#[doc(alias = "SRIE")]
158pub type Srie = crate::Reg<srie::SrieSpec>;
159#[doc = "System Reset Interrupt Enable"]
160pub mod srie;
161#[doc = "SRIF (rw) register accessor: System Reset Interrupt Flag\n\nYou can [`read`](crate::Reg::read) this register and get [`srif::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`srif::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@srif`] module"]
162#[doc(alias = "SRIF")]
163pub type Srif = crate::Reg<srif::SrifSpec>;
164#[doc = "System Reset Interrupt Flag"]
165pub mod srif;
166#[doc = "MR0 (rw) register accessor: Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`mr0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mr0::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@mr0`] module"]
167#[doc(alias = "MR0")]
168pub type Mr0 = crate::Reg<mr0::Mr0Spec>;
169#[doc = "Mode"]
170pub mod mr0;
171#[doc = "FM0 (rw) register accessor: Force Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`fm0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fm0::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@fm0`] module"]
172#[doc(alias = "FM0")]
173pub type Fm0 = crate::Reg<fm0::Fm0Spec>;
174#[doc = "Force Mode"]
175pub mod fm0;
176#[doc = "FLASHCR (rw) register accessor: Flash Control\n\nYou can [`read`](crate::Reg::read) this register and get [`flashcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`flashcr::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@flashcr`] module"]
177#[doc(alias = "FLASHCR")]
178pub type Flashcr = crate::Reg<flashcr::FlashcrSpec>;
179#[doc = "Flash Control"]
180pub mod flashcr;
181#[doc = "CORECTL (rw) register accessor: Core Control\n\nYou can [`read`](crate::Reg::read) this register and get [`corectl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`corectl::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@corectl`] module"]
182#[doc(alias = "CORECTL")]
183pub type Corectl = crate::Reg<corectl::CorectlSpec>;
184#[doc = "Core Control"]
185pub mod corectl;
186#[doc = "DBGCTL (rw) register accessor: Debug Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dbgctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dbgctl::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@dbgctl`] module"]
187#[doc(alias = "DBGCTL")]
188pub type Dbgctl = crate::Reg<dbgctl::DbgctlSpec>;
189#[doc = "Debug Control"]
190pub mod dbgctl;