efm32gg12b310_pac/
emu.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Register"]
5    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6    #[doc = "0x04 - Status Register"]
7    pub status: crate::Reg<status::STATUS_SPEC>,
8    #[doc = "0x08 - Configuration Lock Register"]
9    pub lock: crate::Reg<lock::LOCK_SPEC>,
10    #[doc = "0x0c - Memory Control Register"]
11    pub ram0ctrl: crate::Reg<ram0ctrl::RAM0CTRL_SPEC>,
12    #[doc = "0x10 - Command Register"]
13    pub cmd: crate::Reg<cmd::CMD_SPEC>,
14    _reserved5: [u8; 0x04],
15    #[doc = "0x18 - EM4 Control Register"]
16    pub em4ctrl: crate::Reg<em4ctrl::EM4CTRL_SPEC>,
17    #[doc = "0x1c - Temperature Limits for Interrupt Generation"]
18    pub templimits: crate::Reg<templimits::TEMPLIMITS_SPEC>,
19    #[doc = "0x20 - Value of Last Temperature Measurement"]
20    pub temp: crate::Reg<temp::TEMP_SPEC>,
21    #[doc = "0x24 - Interrupt Flag Register"]
22    pub if_: crate::Reg<if_::IF_SPEC>,
23    #[doc = "0x28 - Interrupt Flag Set Register"]
24    pub ifs: crate::Reg<ifs::IFS_SPEC>,
25    #[doc = "0x2c - Interrupt Flag Clear Register"]
26    pub ifc: crate::Reg<ifc::IFC_SPEC>,
27    #[doc = "0x30 - Interrupt Enable Register"]
28    pub ien: crate::Reg<ien::IEN_SPEC>,
29    #[doc = "0x34 - Regulator and Supply Lock Register"]
30    pub pwrlock: crate::Reg<pwrlock::PWRLOCK_SPEC>,
31    _reserved13: [u8; 0x04],
32    #[doc = "0x3c - Power Control Register"]
33    pub pwrctrl: crate::Reg<pwrctrl::PWRCTRL_SPEC>,
34    #[doc = "0x40 - DCDC Control"]
35    pub dcdcctrl: crate::Reg<dcdcctrl::DCDCCTRL_SPEC>,
36    _reserved15: [u8; 0x08],
37    #[doc = "0x4c - DCDC Miscellaneous Control Register"]
38    pub dcdcmiscctrl: crate::Reg<dcdcmiscctrl::DCDCMISCCTRL_SPEC>,
39    #[doc = "0x50 - DCDC Power Train NFET Zero Current Detector Control Register"]
40    pub dcdczdetctrl: crate::Reg<dcdczdetctrl::DCDCZDETCTRL_SPEC>,
41    #[doc = "0x54 - DCDC Power Train PFET Current Limiter Control Register"]
42    pub dcdcclimctrl: crate::Reg<dcdcclimctrl::DCDCCLIMCTRL_SPEC>,
43    #[doc = "0x58 - DCDC Low Noise Compensator Control Register"]
44    pub dcdclncompctrl: crate::Reg<dcdclncompctrl::DCDCLNCOMPCTRL_SPEC>,
45    #[doc = "0x5c - DCDC Low Noise Voltage Register"]
46    pub dcdclnvctrl: crate::Reg<dcdclnvctrl::DCDCLNVCTRL_SPEC>,
47    _reserved20: [u8; 0x04],
48    #[doc = "0x64 - DCDC Low Power Voltage Register"]
49    pub dcdclpvctrl: crate::Reg<dcdclpvctrl::DCDCLPVCTRL_SPEC>,
50    _reserved21: [u8; 0x04],
51    #[doc = "0x6c - DCDC Low Power Control Register"]
52    pub dcdclpctrl: crate::Reg<dcdclpctrl::DCDCLPCTRL_SPEC>,
53    #[doc = "0x70 - DCDC Low Noise Controller Frequency Control"]
54    pub dcdclnfreqctrl: crate::Reg<dcdclnfreqctrl::DCDCLNFREQCTRL_SPEC>,
55    _reserved23: [u8; 0x04],
56    #[doc = "0x78 - DCDC Read Status Register"]
57    pub dcdcsync: crate::Reg<dcdcsync::DCDCSYNC_SPEC>,
58    _reserved24: [u8; 0x14],
59    #[doc = "0x90 - VMON AVDD Channel Control"]
60    pub vmonavddctrl: crate::Reg<vmonavddctrl::VMONAVDDCTRL_SPEC>,
61    #[doc = "0x94 - Alternate VMON AVDD Channel Control"]
62    pub vmonaltavddctrl: crate::Reg<vmonaltavddctrl::VMONALTAVDDCTRL_SPEC>,
63    #[doc = "0x98 - VMON DVDD Channel Control"]
64    pub vmondvddctrl: crate::Reg<vmondvddctrl::VMONDVDDCTRL_SPEC>,
65    #[doc = "0x9c - VMON IOVDD0 Channel Control"]
66    pub vmonio0ctrl: crate::Reg<vmonio0ctrl::VMONIO0CTRL_SPEC>,
67    #[doc = "0xa0 - VMON IOVDD1 Channel Control"]
68    pub vmonio1ctrl: crate::Reg<vmonio1ctrl::VMONIO1CTRL_SPEC>,
69    #[doc = "0xa4 - VMON BUVDD Channel Control"]
70    pub vmonbuvddctrl: crate::Reg<vmonbuvddctrl::VMONBUVDDCTRL_SPEC>,
71    _reserved30: [u8; 0x0c],
72    #[doc = "0xb4 - Memory Control Register"]
73    pub ram1ctrl: crate::Reg<ram1ctrl::RAM1CTRL_SPEC>,
74    #[doc = "0xb8 - Memory Control Register"]
75    pub ram2ctrl: crate::Reg<ram2ctrl::RAM2CTRL_SPEC>,
76    #[doc = "0xbc - Backup Power Configuration Register"]
77    pub buctrl: crate::Reg<buctrl::BUCTRL_SPEC>,
78    _reserved33: [u8; 0x08],
79    #[doc = "0xc8 - 5V Regulator Control"]
80    pub r5vctrl: crate::Reg<r5vctrl::R5VCTRL_SPEC>,
81    #[doc = "0xcc - 5V Regulator Control"]
82    pub r5vadcctrl: crate::Reg<r5vadcctrl::R5VADCCTRL_SPEC>,
83    #[doc = "0xd0 - 5V Regulator Voltage Select"]
84    pub r5voutlevel: crate::Reg<r5voutlevel::R5VOUTLEVEL_SPEC>,
85    _reserved36: [u8; 0x08],
86    #[doc = "0xdc - 5V Detector Enables"]
87    pub r5vdetctrl: crate::Reg<r5vdetctrl::R5VDETCTRL_SPEC>,
88    _reserved37: [u8; 0x0c],
89    #[doc = "0xec - Configuration Bits for Low Power Mode to Be Applied During EM01, This Field is Only Relevant If LP Mode is Used in EM01"]
90    pub dcdclpem01cfg: crate::Reg<dcdclpem01cfg::DCDCLPEM01CFG_SPEC>,
91    #[doc = "0xf0 - 5V Detector Status Register"]
92    pub r5vstatus: crate::Reg<r5vstatus::R5VSTATUS_SPEC>,
93    _reserved39: [u8; 0x04],
94    #[doc = "0xf8 - 5V Read Status Register"]
95    pub r5vsync: crate::Reg<r5vsync::R5VSYNC_SPEC>,
96    _reserved40: [u8; 0x04],
97    #[doc = "0x100 - Clears Corresponding Bits in EM23PERNORETAINSTATUS Unlocking Access to Peripheral"]
98    pub em23pernoretaincmd: crate::Reg<em23pernoretaincmd::EM23PERNORETAINCMD_SPEC>,
99    #[doc = "0x104 - Status Indicating If Peripherals Were Powered Down in EM23, Subsequently Locking Access to It"]
100    pub em23pernoretainstatus: crate::Reg<em23pernoretainstatus::EM23PERNORETAINSTATUS_SPEC>,
101    #[doc = "0x108 - When Set Corresponding Peripherals May Get Powered Down in EM23"]
102    pub em23pernoretainctrl: crate::Reg<em23pernoretainctrl::EM23PERNORETAINCTRL_SPEC>,
103}
104#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
105pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
106#[doc = "Control Register"]
107pub mod ctrl;
108#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
109pub type STATUS = crate::Reg<status::STATUS_SPEC>;
110#[doc = "Status Register"]
111pub mod status;
112#[doc = "LOCK register accessor: an alias for `Reg<LOCK_SPEC>`"]
113pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
114#[doc = "Configuration Lock Register"]
115pub mod lock;
116#[doc = "RAM0CTRL register accessor: an alias for `Reg<RAM0CTRL_SPEC>`"]
117pub type RAM0CTRL = crate::Reg<ram0ctrl::RAM0CTRL_SPEC>;
118#[doc = "Memory Control Register"]
119pub mod ram0ctrl;
120#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
121pub type CMD = crate::Reg<cmd::CMD_SPEC>;
122#[doc = "Command Register"]
123pub mod cmd;
124#[doc = "EM4CTRL register accessor: an alias for `Reg<EM4CTRL_SPEC>`"]
125pub type EM4CTRL = crate::Reg<em4ctrl::EM4CTRL_SPEC>;
126#[doc = "EM4 Control Register"]
127pub mod em4ctrl;
128#[doc = "TEMPLIMITS register accessor: an alias for `Reg<TEMPLIMITS_SPEC>`"]
129pub type TEMPLIMITS = crate::Reg<templimits::TEMPLIMITS_SPEC>;
130#[doc = "Temperature Limits for Interrupt Generation"]
131pub mod templimits;
132#[doc = "TEMP register accessor: an alias for `Reg<TEMP_SPEC>`"]
133pub type TEMP = crate::Reg<temp::TEMP_SPEC>;
134#[doc = "Value of Last Temperature Measurement"]
135pub mod temp;
136#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
137pub type IF = crate::Reg<if_::IF_SPEC>;
138#[doc = "Interrupt Flag Register"]
139pub mod if_;
140#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
141pub type IFS = crate::Reg<ifs::IFS_SPEC>;
142#[doc = "Interrupt Flag Set Register"]
143pub mod ifs;
144#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
145pub type IFC = crate::Reg<ifc::IFC_SPEC>;
146#[doc = "Interrupt Flag Clear Register"]
147pub mod ifc;
148#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
149pub type IEN = crate::Reg<ien::IEN_SPEC>;
150#[doc = "Interrupt Enable Register"]
151pub mod ien;
152#[doc = "PWRLOCK register accessor: an alias for `Reg<PWRLOCK_SPEC>`"]
153pub type PWRLOCK = crate::Reg<pwrlock::PWRLOCK_SPEC>;
154#[doc = "Regulator and Supply Lock Register"]
155pub mod pwrlock;
156#[doc = "PWRCTRL register accessor: an alias for `Reg<PWRCTRL_SPEC>`"]
157pub type PWRCTRL = crate::Reg<pwrctrl::PWRCTRL_SPEC>;
158#[doc = "Power Control Register"]
159pub mod pwrctrl;
160#[doc = "DCDCCTRL register accessor: an alias for `Reg<DCDCCTRL_SPEC>`"]
161pub type DCDCCTRL = crate::Reg<dcdcctrl::DCDCCTRL_SPEC>;
162#[doc = "DCDC Control"]
163pub mod dcdcctrl;
164#[doc = "DCDCMISCCTRL register accessor: an alias for `Reg<DCDCMISCCTRL_SPEC>`"]
165pub type DCDCMISCCTRL = crate::Reg<dcdcmiscctrl::DCDCMISCCTRL_SPEC>;
166#[doc = "DCDC Miscellaneous Control Register"]
167pub mod dcdcmiscctrl;
168#[doc = "DCDCZDETCTRL register accessor: an alias for `Reg<DCDCZDETCTRL_SPEC>`"]
169pub type DCDCZDETCTRL = crate::Reg<dcdczdetctrl::DCDCZDETCTRL_SPEC>;
170#[doc = "DCDC Power Train NFET Zero Current Detector Control Register"]
171pub mod dcdczdetctrl;
172#[doc = "DCDCCLIMCTRL register accessor: an alias for `Reg<DCDCCLIMCTRL_SPEC>`"]
173pub type DCDCCLIMCTRL = crate::Reg<dcdcclimctrl::DCDCCLIMCTRL_SPEC>;
174#[doc = "DCDC Power Train PFET Current Limiter Control Register"]
175pub mod dcdcclimctrl;
176#[doc = "DCDCLNCOMPCTRL register accessor: an alias for `Reg<DCDCLNCOMPCTRL_SPEC>`"]
177pub type DCDCLNCOMPCTRL = crate::Reg<dcdclncompctrl::DCDCLNCOMPCTRL_SPEC>;
178#[doc = "DCDC Low Noise Compensator Control Register"]
179pub mod dcdclncompctrl;
180#[doc = "DCDCLNVCTRL register accessor: an alias for `Reg<DCDCLNVCTRL_SPEC>`"]
181pub type DCDCLNVCTRL = crate::Reg<dcdclnvctrl::DCDCLNVCTRL_SPEC>;
182#[doc = "DCDC Low Noise Voltage Register"]
183pub mod dcdclnvctrl;
184#[doc = "DCDCLPVCTRL register accessor: an alias for `Reg<DCDCLPVCTRL_SPEC>`"]
185pub type DCDCLPVCTRL = crate::Reg<dcdclpvctrl::DCDCLPVCTRL_SPEC>;
186#[doc = "DCDC Low Power Voltage Register"]
187pub mod dcdclpvctrl;
188#[doc = "DCDCLPCTRL register accessor: an alias for `Reg<DCDCLPCTRL_SPEC>`"]
189pub type DCDCLPCTRL = crate::Reg<dcdclpctrl::DCDCLPCTRL_SPEC>;
190#[doc = "DCDC Low Power Control Register"]
191pub mod dcdclpctrl;
192#[doc = "DCDCLNFREQCTRL register accessor: an alias for `Reg<DCDCLNFREQCTRL_SPEC>`"]
193pub type DCDCLNFREQCTRL = crate::Reg<dcdclnfreqctrl::DCDCLNFREQCTRL_SPEC>;
194#[doc = "DCDC Low Noise Controller Frequency Control"]
195pub mod dcdclnfreqctrl;
196#[doc = "DCDCSYNC register accessor: an alias for `Reg<DCDCSYNC_SPEC>`"]
197pub type DCDCSYNC = crate::Reg<dcdcsync::DCDCSYNC_SPEC>;
198#[doc = "DCDC Read Status Register"]
199pub mod dcdcsync;
200#[doc = "VMONAVDDCTRL register accessor: an alias for `Reg<VMONAVDDCTRL_SPEC>`"]
201pub type VMONAVDDCTRL = crate::Reg<vmonavddctrl::VMONAVDDCTRL_SPEC>;
202#[doc = "VMON AVDD Channel Control"]
203pub mod vmonavddctrl;
204#[doc = "VMONALTAVDDCTRL register accessor: an alias for `Reg<VMONALTAVDDCTRL_SPEC>`"]
205pub type VMONALTAVDDCTRL = crate::Reg<vmonaltavddctrl::VMONALTAVDDCTRL_SPEC>;
206#[doc = "Alternate VMON AVDD Channel Control"]
207pub mod vmonaltavddctrl;
208#[doc = "VMONDVDDCTRL register accessor: an alias for `Reg<VMONDVDDCTRL_SPEC>`"]
209pub type VMONDVDDCTRL = crate::Reg<vmondvddctrl::VMONDVDDCTRL_SPEC>;
210#[doc = "VMON DVDD Channel Control"]
211pub mod vmondvddctrl;
212#[doc = "VMONIO0CTRL register accessor: an alias for `Reg<VMONIO0CTRL_SPEC>`"]
213pub type VMONIO0CTRL = crate::Reg<vmonio0ctrl::VMONIO0CTRL_SPEC>;
214#[doc = "VMON IOVDD0 Channel Control"]
215pub mod vmonio0ctrl;
216#[doc = "VMONIO1CTRL register accessor: an alias for `Reg<VMONIO1CTRL_SPEC>`"]
217pub type VMONIO1CTRL = crate::Reg<vmonio1ctrl::VMONIO1CTRL_SPEC>;
218#[doc = "VMON IOVDD1 Channel Control"]
219pub mod vmonio1ctrl;
220#[doc = "VMONBUVDDCTRL register accessor: an alias for `Reg<VMONBUVDDCTRL_SPEC>`"]
221pub type VMONBUVDDCTRL = crate::Reg<vmonbuvddctrl::VMONBUVDDCTRL_SPEC>;
222#[doc = "VMON BUVDD Channel Control"]
223pub mod vmonbuvddctrl;
224#[doc = "RAM1CTRL register accessor: an alias for `Reg<RAM1CTRL_SPEC>`"]
225pub type RAM1CTRL = crate::Reg<ram1ctrl::RAM1CTRL_SPEC>;
226#[doc = "Memory Control Register"]
227pub mod ram1ctrl;
228#[doc = "RAM2CTRL register accessor: an alias for `Reg<RAM2CTRL_SPEC>`"]
229pub type RAM2CTRL = crate::Reg<ram2ctrl::RAM2CTRL_SPEC>;
230#[doc = "Memory Control Register"]
231pub mod ram2ctrl;
232#[doc = "BUCTRL register accessor: an alias for `Reg<BUCTRL_SPEC>`"]
233pub type BUCTRL = crate::Reg<buctrl::BUCTRL_SPEC>;
234#[doc = "Backup Power Configuration Register"]
235pub mod buctrl;
236#[doc = "R5VCTRL register accessor: an alias for `Reg<R5VCTRL_SPEC>`"]
237pub type R5VCTRL = crate::Reg<r5vctrl::R5VCTRL_SPEC>;
238#[doc = "5V Regulator Control"]
239pub mod r5vctrl;
240#[doc = "R5VADCCTRL register accessor: an alias for `Reg<R5VADCCTRL_SPEC>`"]
241pub type R5VADCCTRL = crate::Reg<r5vadcctrl::R5VADCCTRL_SPEC>;
242#[doc = "5V Regulator Control"]
243pub mod r5vadcctrl;
244#[doc = "R5VOUTLEVEL register accessor: an alias for `Reg<R5VOUTLEVEL_SPEC>`"]
245pub type R5VOUTLEVEL = crate::Reg<r5voutlevel::R5VOUTLEVEL_SPEC>;
246#[doc = "5V Regulator Voltage Select"]
247pub mod r5voutlevel;
248#[doc = "R5VDETCTRL register accessor: an alias for `Reg<R5VDETCTRL_SPEC>`"]
249pub type R5VDETCTRL = crate::Reg<r5vdetctrl::R5VDETCTRL_SPEC>;
250#[doc = "5V Detector Enables"]
251pub mod r5vdetctrl;
252#[doc = "DCDCLPEM01CFG register accessor: an alias for `Reg<DCDCLPEM01CFG_SPEC>`"]
253pub type DCDCLPEM01CFG = crate::Reg<dcdclpem01cfg::DCDCLPEM01CFG_SPEC>;
254#[doc = "Configuration Bits for Low Power Mode to Be Applied During EM01, This Field is Only Relevant If LP Mode is Used in EM01"]
255pub mod dcdclpem01cfg;
256#[doc = "R5VSTATUS register accessor: an alias for `Reg<R5VSTATUS_SPEC>`"]
257pub type R5VSTATUS = crate::Reg<r5vstatus::R5VSTATUS_SPEC>;
258#[doc = "5V Detector Status Register"]
259pub mod r5vstatus;
260#[doc = "R5VSYNC register accessor: an alias for `Reg<R5VSYNC_SPEC>`"]
261pub type R5VSYNC = crate::Reg<r5vsync::R5VSYNC_SPEC>;
262#[doc = "5V Read Status Register"]
263pub mod r5vsync;
264#[doc = "EM23PERNORETAINCMD register accessor: an alias for `Reg<EM23PERNORETAINCMD_SPEC>`"]
265pub type EM23PERNORETAINCMD = crate::Reg<em23pernoretaincmd::EM23PERNORETAINCMD_SPEC>;
266#[doc = "Clears Corresponding Bits in EM23PERNORETAINSTATUS Unlocking Access to Peripheral"]
267pub mod em23pernoretaincmd;
268#[doc = "EM23PERNORETAINSTATUS register accessor: an alias for `Reg<EM23PERNORETAINSTATUS_SPEC>`"]
269pub type EM23PERNORETAINSTATUS = crate::Reg<em23pernoretainstatus::EM23PERNORETAINSTATUS_SPEC>;
270#[doc = "Status Indicating If Peripherals Were Powered Down in EM23, Subsequently Locking Access to It"]
271pub mod em23pernoretainstatus;
272#[doc = "EM23PERNORETAINCTRL register accessor: an alias for `Reg<EM23PERNORETAINCTRL_SPEC>`"]
273pub type EM23PERNORETAINCTRL = crate::Reg<em23pernoretainctrl::EM23PERNORETAINCTRL_SPEC>;
274#[doc = "When Set Corresponding Peripherals May Get Powered Down in EM23"]
275pub mod em23pernoretainctrl;