Skip to main content

efm32pg12_pac/
msc.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Memory System Control Register"]
5    pub ctrl: CTRL,
6    #[doc = "0x04 - Read Control Register"]
7    pub readctrl: READCTRL,
8    #[doc = "0x08 - Write Control Register"]
9    pub writectrl: WRITECTRL,
10    #[doc = "0x0c - Write Command Register"]
11    pub writecmd: WRITECMD,
12    #[doc = "0x10 - Page Erase/Write Address Buffer"]
13    pub addrb: ADDRB,
14    _reserved5: [u8; 4usize],
15    #[doc = "0x18 - Write Data Register"]
16    pub wdata: WDATA,
17    #[doc = "0x1c - Status Register"]
18    pub status: STATUS,
19    _reserved7: [u8; 16usize],
20    #[doc = "0x30 - Interrupt Flag Register"]
21    pub if_: IF,
22    #[doc = "0x34 - Interrupt Flag Set Register"]
23    pub ifs: IFS,
24    #[doc = "0x38 - Interrupt Flag Clear Register"]
25    pub ifc: IFC,
26    #[doc = "0x3c - Interrupt Enable Register"]
27    pub ien: IEN,
28    #[doc = "0x40 - Configuration Lock Register"]
29    pub lock: LOCK,
30    #[doc = "0x44 - Flash Cache Command Register"]
31    pub cachecmd: CACHECMD,
32    #[doc = "0x48 - Cache Hits Performance Counter"]
33    pub cachehits: CACHEHITS,
34    #[doc = "0x4c - Cache Misses Performance Counter"]
35    pub cachemisses: CACHEMISSES,
36    _reserved15: [u8; 4usize],
37    #[doc = "0x54 - Mass Erase Lock Register"]
38    pub masslock: MASSLOCK,
39    _reserved16: [u8; 4usize],
40    #[doc = "0x5c - Startup Control"]
41    pub startup: STARTUP,
42    _reserved17: [u8; 16usize],
43    #[doc = "0x70 - Bank Switching Lock Register"]
44    pub bankswitchlock: BANKSWITCHLOCK,
45    #[doc = "0x74 - Command Register"]
46    pub cmd: CMD,
47    _reserved19: [u8; 24usize],
48    #[doc = "0x90 - Bootloader Read and Write Enable, Write Once Register"]
49    pub bootloaderctrl: BOOTLOADERCTRL,
50    #[doc = "0x94 - Software Unlock AAP Command Register"]
51    pub aapunlockcmd: AAPUNLOCKCMD,
52    #[doc = "0x98 - Cache Configuration Register 0"]
53    pub cacheconfig0: CACHECONFIG0,
54    _reserved22: [u8; 100usize],
55    #[doc = "0x100 - RAM Control Enable Register"]
56    pub ramctrl: RAMCTRL,
57}
58#[doc = "Memory System Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrl](ctrl) module"]
59pub type CTRL = crate::Reg<u32, _CTRL>;
60#[allow(missing_docs)]
61#[doc(hidden)]
62pub struct _CTRL;
63#[doc = "`read()` method returns [ctrl::R](ctrl::R) reader structure"]
64impl crate::Readable for CTRL {}
65#[doc = "`write(|w| ..)` method takes [ctrl::W](ctrl::W) writer structure"]
66impl crate::Writable for CTRL {}
67#[doc = "Memory System Control Register"]
68pub mod ctrl;
69#[doc = "Read Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [readctrl](readctrl) module"]
70pub type READCTRL = crate::Reg<u32, _READCTRL>;
71#[allow(missing_docs)]
72#[doc(hidden)]
73pub struct _READCTRL;
74#[doc = "`read()` method returns [readctrl::R](readctrl::R) reader structure"]
75impl crate::Readable for READCTRL {}
76#[doc = "`write(|w| ..)` method takes [readctrl::W](readctrl::W) writer structure"]
77impl crate::Writable for READCTRL {}
78#[doc = "Read Control Register"]
79pub mod readctrl;
80#[doc = "Write Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [writectrl](writectrl) module"]
81pub type WRITECTRL = crate::Reg<u32, _WRITECTRL>;
82#[allow(missing_docs)]
83#[doc(hidden)]
84pub struct _WRITECTRL;
85#[doc = "`read()` method returns [writectrl::R](writectrl::R) reader structure"]
86impl crate::Readable for WRITECTRL {}
87#[doc = "`write(|w| ..)` method takes [writectrl::W](writectrl::W) writer structure"]
88impl crate::Writable for WRITECTRL {}
89#[doc = "Write Control Register"]
90pub mod writectrl;
91#[doc = "Write Command Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [writecmd](writecmd) module"]
92pub type WRITECMD = crate::Reg<u32, _WRITECMD>;
93#[allow(missing_docs)]
94#[doc(hidden)]
95pub struct _WRITECMD;
96#[doc = "`write(|w| ..)` method takes [writecmd::W](writecmd::W) writer structure"]
97impl crate::Writable for WRITECMD {}
98#[doc = "Write Command Register"]
99pub mod writecmd;
100#[doc = "Page Erase/Write Address Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [addrb](addrb) module"]
101pub type ADDRB = crate::Reg<u32, _ADDRB>;
102#[allow(missing_docs)]
103#[doc(hidden)]
104pub struct _ADDRB;
105#[doc = "`read()` method returns [addrb::R](addrb::R) reader structure"]
106impl crate::Readable for ADDRB {}
107#[doc = "`write(|w| ..)` method takes [addrb::W](addrb::W) writer structure"]
108impl crate::Writable for ADDRB {}
109#[doc = "Page Erase/Write Address Buffer"]
110pub mod addrb;
111#[doc = "Write Data Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [wdata](wdata) module"]
112pub type WDATA = crate::Reg<u32, _WDATA>;
113#[allow(missing_docs)]
114#[doc(hidden)]
115pub struct _WDATA;
116#[doc = "`read()` method returns [wdata::R](wdata::R) reader structure"]
117impl crate::Readable for WDATA {}
118#[doc = "`write(|w| ..)` method takes [wdata::W](wdata::W) writer structure"]
119impl crate::Writable for WDATA {}
120#[doc = "Write Data Register"]
121pub mod wdata;
122#[doc = "Status Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [status](status) module"]
123pub type STATUS = crate::Reg<u32, _STATUS>;
124#[allow(missing_docs)]
125#[doc(hidden)]
126pub struct _STATUS;
127#[doc = "`read()` method returns [status::R](status::R) reader structure"]
128impl crate::Readable for STATUS {}
129#[doc = "Status Register"]
130pub mod status;
131#[doc = "Interrupt Flag Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [if_](if_) module"]
132pub type IF = crate::Reg<u32, _IF>;
133#[allow(missing_docs)]
134#[doc(hidden)]
135pub struct _IF;
136#[doc = "`read()` method returns [if_::R](if_::R) reader structure"]
137impl crate::Readable for IF {}
138#[doc = "Interrupt Flag Register"]
139pub mod if_;
140#[doc = "Interrupt Flag Set Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ifs](ifs) module"]
141pub type IFS = crate::Reg<u32, _IFS>;
142#[allow(missing_docs)]
143#[doc(hidden)]
144pub struct _IFS;
145#[doc = "`write(|w| ..)` method takes [ifs::W](ifs::W) writer structure"]
146impl crate::Writable for IFS {}
147#[doc = "Interrupt Flag Set Register"]
148pub mod ifs;
149#[doc = "Interrupt Flag Clear Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ifc](ifc) module"]
150pub type IFC = crate::Reg<u32, _IFC>;
151#[allow(missing_docs)]
152#[doc(hidden)]
153pub struct _IFC;
154#[doc = "`write(|w| ..)` method takes [ifc::W](ifc::W) writer structure"]
155impl crate::Writable for IFC {}
156#[doc = "Interrupt Flag Clear Register"]
157pub mod ifc;
158#[doc = "Interrupt Enable Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ien](ien) module"]
159pub type IEN = crate::Reg<u32, _IEN>;
160#[allow(missing_docs)]
161#[doc(hidden)]
162pub struct _IEN;
163#[doc = "`read()` method returns [ien::R](ien::R) reader structure"]
164impl crate::Readable for IEN {}
165#[doc = "`write(|w| ..)` method takes [ien::W](ien::W) writer structure"]
166impl crate::Writable for IEN {}
167#[doc = "Interrupt Enable Register"]
168pub mod ien;
169#[doc = "Configuration Lock Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [lock](lock) module"]
170pub type LOCK = crate::Reg<u32, _LOCK>;
171#[allow(missing_docs)]
172#[doc(hidden)]
173pub struct _LOCK;
174#[doc = "`read()` method returns [lock::R](lock::R) reader structure"]
175impl crate::Readable for LOCK {}
176#[doc = "`write(|w| ..)` method takes [lock::W](lock::W) writer structure"]
177impl crate::Writable for LOCK {}
178#[doc = "Configuration Lock Register"]
179pub mod lock;
180#[doc = "Flash Cache Command Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cachecmd](cachecmd) module"]
181pub type CACHECMD = crate::Reg<u32, _CACHECMD>;
182#[allow(missing_docs)]
183#[doc(hidden)]
184pub struct _CACHECMD;
185#[doc = "`write(|w| ..)` method takes [cachecmd::W](cachecmd::W) writer structure"]
186impl crate::Writable for CACHECMD {}
187#[doc = "Flash Cache Command Register"]
188pub mod cachecmd;
189#[doc = "Cache Hits Performance Counter\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cachehits](cachehits) module"]
190pub type CACHEHITS = crate::Reg<u32, _CACHEHITS>;
191#[allow(missing_docs)]
192#[doc(hidden)]
193pub struct _CACHEHITS;
194#[doc = "`read()` method returns [cachehits::R](cachehits::R) reader structure"]
195impl crate::Readable for CACHEHITS {}
196#[doc = "Cache Hits Performance Counter"]
197pub mod cachehits;
198#[doc = "Cache Misses Performance Counter\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cachemisses](cachemisses) module"]
199pub type CACHEMISSES = crate::Reg<u32, _CACHEMISSES>;
200#[allow(missing_docs)]
201#[doc(hidden)]
202pub struct _CACHEMISSES;
203#[doc = "`read()` method returns [cachemisses::R](cachemisses::R) reader structure"]
204impl crate::Readable for CACHEMISSES {}
205#[doc = "Cache Misses Performance Counter"]
206pub mod cachemisses;
207#[doc = "Mass Erase Lock Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [masslock](masslock) module"]
208pub type MASSLOCK = crate::Reg<u32, _MASSLOCK>;
209#[allow(missing_docs)]
210#[doc(hidden)]
211pub struct _MASSLOCK;
212#[doc = "`read()` method returns [masslock::R](masslock::R) reader structure"]
213impl crate::Readable for MASSLOCK {}
214#[doc = "`write(|w| ..)` method takes [masslock::W](masslock::W) writer structure"]
215impl crate::Writable for MASSLOCK {}
216#[doc = "Mass Erase Lock Register"]
217pub mod masslock;
218#[doc = "Startup Control\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [startup](startup) module"]
219pub type STARTUP = crate::Reg<u32, _STARTUP>;
220#[allow(missing_docs)]
221#[doc(hidden)]
222pub struct _STARTUP;
223#[doc = "`read()` method returns [startup::R](startup::R) reader structure"]
224impl crate::Readable for STARTUP {}
225#[doc = "`write(|w| ..)` method takes [startup::W](startup::W) writer structure"]
226impl crate::Writable for STARTUP {}
227#[doc = "Startup Control"]
228pub mod startup;
229#[doc = "Bank Switching Lock Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [bankswitchlock](bankswitchlock) module"]
230pub type BANKSWITCHLOCK = crate::Reg<u32, _BANKSWITCHLOCK>;
231#[allow(missing_docs)]
232#[doc(hidden)]
233pub struct _BANKSWITCHLOCK;
234#[doc = "`read()` method returns [bankswitchlock::R](bankswitchlock::R) reader structure"]
235impl crate::Readable for BANKSWITCHLOCK {}
236#[doc = "`write(|w| ..)` method takes [bankswitchlock::W](bankswitchlock::W) writer structure"]
237impl crate::Writable for BANKSWITCHLOCK {}
238#[doc = "Bank Switching Lock Register"]
239pub mod bankswitchlock;
240#[doc = "Command Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cmd](cmd) module"]
241pub type CMD = crate::Reg<u32, _CMD>;
242#[allow(missing_docs)]
243#[doc(hidden)]
244pub struct _CMD;
245#[doc = "`write(|w| ..)` method takes [cmd::W](cmd::W) writer structure"]
246impl crate::Writable for CMD {}
247#[doc = "Command Register"]
248pub mod cmd;
249#[doc = "Bootloader Read and Write Enable, Write Once Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [bootloaderctrl](bootloaderctrl) module"]
250pub type BOOTLOADERCTRL = crate::Reg<u32, _BOOTLOADERCTRL>;
251#[allow(missing_docs)]
252#[doc(hidden)]
253pub struct _BOOTLOADERCTRL;
254#[doc = "`read()` method returns [bootloaderctrl::R](bootloaderctrl::R) reader structure"]
255impl crate::Readable for BOOTLOADERCTRL {}
256#[doc = "`write(|w| ..)` method takes [bootloaderctrl::W](bootloaderctrl::W) writer structure"]
257impl crate::Writable for BOOTLOADERCTRL {}
258#[doc = "Bootloader Read and Write Enable, Write Once Register"]
259pub mod bootloaderctrl;
260#[doc = "Software Unlock AAP Command Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [aapunlockcmd](aapunlockcmd) module"]
261pub type AAPUNLOCKCMD = crate::Reg<u32, _AAPUNLOCKCMD>;
262#[allow(missing_docs)]
263#[doc(hidden)]
264pub struct _AAPUNLOCKCMD;
265#[doc = "`write(|w| ..)` method takes [aapunlockcmd::W](aapunlockcmd::W) writer structure"]
266impl crate::Writable for AAPUNLOCKCMD {}
267#[doc = "Software Unlock AAP Command Register"]
268pub mod aapunlockcmd;
269#[doc = "Cache Configuration Register 0\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cacheconfig0](cacheconfig0) module"]
270pub type CACHECONFIG0 = crate::Reg<u32, _CACHECONFIG0>;
271#[allow(missing_docs)]
272#[doc(hidden)]
273pub struct _CACHECONFIG0;
274#[doc = "`read()` method returns [cacheconfig0::R](cacheconfig0::R) reader structure"]
275impl crate::Readable for CACHECONFIG0 {}
276#[doc = "`write(|w| ..)` method takes [cacheconfig0::W](cacheconfig0::W) writer structure"]
277impl crate::Writable for CACHECONFIG0 {}
278#[doc = "Cache Configuration Register 0"]
279pub mod cacheconfig0;
280#[doc = "RAM Control Enable Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ramctrl](ramctrl) module"]
281pub type RAMCTRL = crate::Reg<u32, _RAMCTRL>;
282#[allow(missing_docs)]
283#[doc(hidden)]
284pub struct _RAMCTRL;
285#[doc = "`read()` method returns [ramctrl::R](ramctrl::R) reader structure"]
286impl crate::Readable for RAMCTRL {}
287#[doc = "`write(|w| ..)` method takes [ramctrl::W](ramctrl::W) writer structure"]
288impl crate::Writable for RAMCTRL {}
289#[doc = "RAM Control Enable Register"]
290pub mod ramctrl;