efm32pg_pac/efm32pg1b200/
cmu.rs1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - CMU Control Register"]
5 pub ctrl: CTRL,
6 _reserved1: [u8; 0x0c],
7 #[doc = "0x10 - HFRCO Control Register"]
8 pub hfrcoctrl: HFRCOCTRL,
9 _reserved2: [u8; 0x04],
10 #[doc = "0x18 - AUXHFRCO Control Register"]
11 pub auxhfrcoctrl: AUXHFRCOCTRL,
12 _reserved3: [u8; 0x04],
13 #[doc = "0x20 - LFRCO Control Register"]
14 pub lfrcoctrl: LFRCOCTRL,
15 #[doc = "0x24 - HFXO Control Register"]
16 pub hfxoctrl: HFXOCTRL,
17 #[doc = "0x28 - HFXO Control 1"]
18 pub hfxoctrl1: HFXOCTRL1,
19 #[doc = "0x2c - HFXO Startup Control"]
20 pub hfxostartupctrl: HFXOSTARTUPCTRL,
21 #[doc = "0x30 - HFXO Steady State Control"]
22 pub hfxosteadystatectrl: HFXOSTEADYSTATECTRL,
23 #[doc = "0x34 - HFXO Timeout Control"]
24 pub hfxotimeoutctrl: HFXOTIMEOUTCTRL,
25 #[doc = "0x38 - LFXO Control Register"]
26 pub lfxoctrl: LFXOCTRL,
27 #[doc = "0x3c - ULFRCO Control Register"]
28 pub ulfrcoctrl: ULFRCOCTRL,
29 _reserved11: [u8; 0x10],
30 #[doc = "0x50 - Calibration Control Register"]
31 pub calctrl: CALCTRL,
32 #[doc = "0x54 - Calibration Counter Register"]
33 pub calcnt: CALCNT,
34 _reserved13: [u8; 0x08],
35 #[doc = "0x60 - Oscillator Enable/Disable Command Register"]
36 pub oscencmd: OSCENCMD,
37 #[doc = "0x64 - Command Register"]
38 pub cmd: CMD,
39 _reserved15: [u8; 0x08],
40 #[doc = "0x70 - Debug Trace Clock Select"]
41 pub dbgclksel: DBGCLKSEL,
42 #[doc = "0x74 - High Frequency Clock Select Command Register"]
43 pub hfclksel: HFCLKSEL,
44 _reserved17: [u8; 0x08],
45 #[doc = "0x80 - Low Frequency A Clock Select Register"]
46 pub lfaclksel: LFACLKSEL,
47 #[doc = "0x84 - Low Frequency B Clock Select Register"]
48 pub lfbclksel: LFBCLKSEL,
49 #[doc = "0x88 - Low Frequency E Clock Select Register"]
50 pub lfeclksel: LFECLKSEL,
51 _reserved20: [u8; 0x04],
52 #[doc = "0x90 - Status Register"]
53 pub status: STATUS,
54 #[doc = "0x94 - HFCLK Status Register"]
55 pub hfclkstatus: HFCLKSTATUS,
56 _reserved22: [u8; 0x04],
57 #[doc = "0x9c - HFXO Trim Status"]
58 pub hfxotrimstatus: HFXOTRIMSTATUS,
59 #[doc = "0xa0 - Interrupt Flag Register"]
60 pub if_: IF,
61 #[doc = "0xa4 - Interrupt Flag Set Register"]
62 pub ifs: IFS,
63 #[doc = "0xa8 - Interrupt Flag Clear Register"]
64 pub ifc: IFC,
65 #[doc = "0xac - Interrupt Enable Register"]
66 pub ien: IEN,
67 #[doc = "0xb0 - High Frequency Bus Clock Enable Register 0"]
68 pub hfbusclken0: HFBUSCLKEN0,
69 _reserved28: [u8; 0x0c],
70 #[doc = "0xc0 - High Frequency Peripheral Clock Enable Register 0"]
71 pub hfperclken0: HFPERCLKEN0,
72 _reserved29: [u8; 0x1c],
73 #[doc = "0xe0 - Low Frequency a Clock Enable Register 0 (Async Reg)"]
74 pub lfaclken0: LFACLKEN0,
75 _reserved30: [u8; 0x04],
76 #[doc = "0xe8 - Low Frequency B Clock Enable Register 0 (Async Reg)"]
77 pub lfbclken0: LFBCLKEN0,
78 _reserved31: [u8; 0x04],
79 #[doc = "0xf0 - Low Frequency E Clock Enable Register 0 (Async Reg)"]
80 pub lfeclken0: LFECLKEN0,
81 _reserved32: [u8; 0x0c],
82 #[doc = "0x100 - High Frequency Clock Prescaler Register"]
83 pub hfpresc: HFPRESC,
84 _reserved33: [u8; 0x04],
85 #[doc = "0x108 - High Frequency Core Clock Prescaler Register"]
86 pub hfcorepresc: HFCOREPRESC,
87 #[doc = "0x10c - High Frequency Peripheral Clock Prescaler Register"]
88 pub hfperpresc: HFPERPRESC,
89 _reserved35: [u8; 0x04],
90 #[doc = "0x114 - High Frequency Export Clock Prescaler Register"]
91 pub hfexppresc: HFEXPPRESC,
92 _reserved36: [u8; 0x08],
93 #[doc = "0x120 - Low Frequency a Prescaler Register 0 (Async Reg)"]
94 pub lfapresc0: LFAPRESC0,
95 _reserved37: [u8; 0x04],
96 #[doc = "0x128 - Low Frequency B Prescaler Register 0 (Async Reg)"]
97 pub lfbpresc0: LFBPRESC0,
98 _reserved38: [u8; 0x04],
99 #[doc = "0x130 - Low Frequency E Prescaler Register 0 (Async Reg)"]
100 pub lfepresc0: LFEPRESC0,
101 _reserved39: [u8; 0x0c],
102 #[doc = "0x140 - Synchronization Busy Register"]
103 pub syncbusy: SYNCBUSY,
104 #[doc = "0x144 - Freeze Register"]
105 pub freeze: FREEZE,
106 _reserved41: [u8; 0x08],
107 #[doc = "0x150 - PCNT Control Register"]
108 pub pcntctrl: PCNTCTRL,
109 _reserved42: [u8; 0x08],
110 #[doc = "0x15c - ADC Control Register"]
111 pub adcctrl: ADCCTRL,
112 _reserved43: [u8; 0x10],
113 #[doc = "0x170 - I/O Routing Pin Enable Register"]
114 pub routepen: ROUTEPEN,
115 #[doc = "0x174 - I/O Routing Location Register"]
116 pub routeloc0: ROUTELOC0,
117 _reserved45: [u8; 0x08],
118 #[doc = "0x180 - Configuration Lock Register"]
119 pub lock: LOCK,
120}
121#[doc = "CTRL (rw) register accessor: an alias for `Reg<CTRL_SPEC>`"]
122pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
123#[doc = "CMU Control Register"]
124pub mod ctrl;
125#[doc = "HFRCOCTRL (rw) register accessor: an alias for `Reg<HFRCOCTRL_SPEC>`"]
126pub type HFRCOCTRL = crate::Reg<hfrcoctrl::HFRCOCTRL_SPEC>;
127#[doc = "HFRCO Control Register"]
128pub mod hfrcoctrl;
129#[doc = "AUXHFRCOCTRL (rw) register accessor: an alias for `Reg<AUXHFRCOCTRL_SPEC>`"]
130pub type AUXHFRCOCTRL = crate::Reg<auxhfrcoctrl::AUXHFRCOCTRL_SPEC>;
131#[doc = "AUXHFRCO Control Register"]
132pub mod auxhfrcoctrl;
133#[doc = "LFRCOCTRL (rw) register accessor: an alias for `Reg<LFRCOCTRL_SPEC>`"]
134pub type LFRCOCTRL = crate::Reg<lfrcoctrl::LFRCOCTRL_SPEC>;
135#[doc = "LFRCO Control Register"]
136pub mod lfrcoctrl;
137#[doc = "HFXOCTRL (rw) register accessor: an alias for `Reg<HFXOCTRL_SPEC>`"]
138pub type HFXOCTRL = crate::Reg<hfxoctrl::HFXOCTRL_SPEC>;
139#[doc = "HFXO Control Register"]
140pub mod hfxoctrl;
141#[doc = "HFXOCTRL1 (rw) register accessor: an alias for `Reg<HFXOCTRL1_SPEC>`"]
142pub type HFXOCTRL1 = crate::Reg<hfxoctrl1::HFXOCTRL1_SPEC>;
143#[doc = "HFXO Control 1"]
144pub mod hfxoctrl1;
145#[doc = "HFXOSTARTUPCTRL (rw) register accessor: an alias for `Reg<HFXOSTARTUPCTRL_SPEC>`"]
146pub type HFXOSTARTUPCTRL = crate::Reg<hfxostartupctrl::HFXOSTARTUPCTRL_SPEC>;
147#[doc = "HFXO Startup Control"]
148pub mod hfxostartupctrl;
149#[doc = "HFXOSTEADYSTATECTRL (rw) register accessor: an alias for `Reg<HFXOSTEADYSTATECTRL_SPEC>`"]
150pub type HFXOSTEADYSTATECTRL = crate::Reg<hfxosteadystatectrl::HFXOSTEADYSTATECTRL_SPEC>;
151#[doc = "HFXO Steady State Control"]
152pub mod hfxosteadystatectrl;
153#[doc = "HFXOTIMEOUTCTRL (rw) register accessor: an alias for `Reg<HFXOTIMEOUTCTRL_SPEC>`"]
154pub type HFXOTIMEOUTCTRL = crate::Reg<hfxotimeoutctrl::HFXOTIMEOUTCTRL_SPEC>;
155#[doc = "HFXO Timeout Control"]
156pub mod hfxotimeoutctrl;
157#[doc = "LFXOCTRL (rw) register accessor: an alias for `Reg<LFXOCTRL_SPEC>`"]
158pub type LFXOCTRL = crate::Reg<lfxoctrl::LFXOCTRL_SPEC>;
159#[doc = "LFXO Control Register"]
160pub mod lfxoctrl;
161#[doc = "ULFRCOCTRL (rw) register accessor: an alias for `Reg<ULFRCOCTRL_SPEC>`"]
162pub type ULFRCOCTRL = crate::Reg<ulfrcoctrl::ULFRCOCTRL_SPEC>;
163#[doc = "ULFRCO Control Register"]
164pub mod ulfrcoctrl;
165#[doc = "CALCTRL (rw) register accessor: an alias for `Reg<CALCTRL_SPEC>`"]
166pub type CALCTRL = crate::Reg<calctrl::CALCTRL_SPEC>;
167#[doc = "Calibration Control Register"]
168pub mod calctrl;
169#[doc = "CALCNT (rw) register accessor: an alias for `Reg<CALCNT_SPEC>`"]
170pub type CALCNT = crate::Reg<calcnt::CALCNT_SPEC>;
171#[doc = "Calibration Counter Register"]
172pub mod calcnt;
173#[doc = "OSCENCMD (w) register accessor: an alias for `Reg<OSCENCMD_SPEC>`"]
174pub type OSCENCMD = crate::Reg<oscencmd::OSCENCMD_SPEC>;
175#[doc = "Oscillator Enable/Disable Command Register"]
176pub mod oscencmd;
177#[doc = "CMD (w) register accessor: an alias for `Reg<CMD_SPEC>`"]
178pub type CMD = crate::Reg<cmd::CMD_SPEC>;
179#[doc = "Command Register"]
180pub mod cmd;
181#[doc = "DBGCLKSEL (rw) register accessor: an alias for `Reg<DBGCLKSEL_SPEC>`"]
182pub type DBGCLKSEL = crate::Reg<dbgclksel::DBGCLKSEL_SPEC>;
183#[doc = "Debug Trace Clock Select"]
184pub mod dbgclksel;
185#[doc = "HFCLKSEL (w) register accessor: an alias for `Reg<HFCLKSEL_SPEC>`"]
186pub type HFCLKSEL = crate::Reg<hfclksel::HFCLKSEL_SPEC>;
187#[doc = "High Frequency Clock Select Command Register"]
188pub mod hfclksel;
189#[doc = "LFACLKSEL (rw) register accessor: an alias for `Reg<LFACLKSEL_SPEC>`"]
190pub type LFACLKSEL = crate::Reg<lfaclksel::LFACLKSEL_SPEC>;
191#[doc = "Low Frequency A Clock Select Register"]
192pub mod lfaclksel;
193#[doc = "LFBCLKSEL (rw) register accessor: an alias for `Reg<LFBCLKSEL_SPEC>`"]
194pub type LFBCLKSEL = crate::Reg<lfbclksel::LFBCLKSEL_SPEC>;
195#[doc = "Low Frequency B Clock Select Register"]
196pub mod lfbclksel;
197#[doc = "LFECLKSEL (rw) register accessor: an alias for `Reg<LFECLKSEL_SPEC>`"]
198pub type LFECLKSEL = crate::Reg<lfeclksel::LFECLKSEL_SPEC>;
199#[doc = "Low Frequency E Clock Select Register"]
200pub mod lfeclksel;
201#[doc = "STATUS (r) register accessor: an alias for `Reg<STATUS_SPEC>`"]
202pub type STATUS = crate::Reg<status::STATUS_SPEC>;
203#[doc = "Status Register"]
204pub mod status;
205#[doc = "HFCLKSTATUS (r) register accessor: an alias for `Reg<HFCLKSTATUS_SPEC>`"]
206pub type HFCLKSTATUS = crate::Reg<hfclkstatus::HFCLKSTATUS_SPEC>;
207#[doc = "HFCLK Status Register"]
208pub mod hfclkstatus;
209#[doc = "HFXOTRIMSTATUS (r) register accessor: an alias for `Reg<HFXOTRIMSTATUS_SPEC>`"]
210pub type HFXOTRIMSTATUS = crate::Reg<hfxotrimstatus::HFXOTRIMSTATUS_SPEC>;
211#[doc = "HFXO Trim Status"]
212pub mod hfxotrimstatus;
213#[doc = "IF (r) register accessor: an alias for `Reg<IF_SPEC>`"]
214pub type IF = crate::Reg<if_::IF_SPEC>;
215#[doc = "Interrupt Flag Register"]
216pub mod if_;
217#[doc = "IFS (w) register accessor: an alias for `Reg<IFS_SPEC>`"]
218pub type IFS = crate::Reg<ifs::IFS_SPEC>;
219#[doc = "Interrupt Flag Set Register"]
220pub mod ifs;
221#[doc = "IFC (w) register accessor: an alias for `Reg<IFC_SPEC>`"]
222pub type IFC = crate::Reg<ifc::IFC_SPEC>;
223#[doc = "Interrupt Flag Clear Register"]
224pub mod ifc;
225#[doc = "IEN (rw) register accessor: an alias for `Reg<IEN_SPEC>`"]
226pub type IEN = crate::Reg<ien::IEN_SPEC>;
227#[doc = "Interrupt Enable Register"]
228pub mod ien;
229#[doc = "HFBUSCLKEN0 (rw) register accessor: an alias for `Reg<HFBUSCLKEN0_SPEC>`"]
230pub type HFBUSCLKEN0 = crate::Reg<hfbusclken0::HFBUSCLKEN0_SPEC>;
231#[doc = "High Frequency Bus Clock Enable Register 0"]
232pub mod hfbusclken0;
233#[doc = "HFPERCLKEN0 (rw) register accessor: an alias for `Reg<HFPERCLKEN0_SPEC>`"]
234pub type HFPERCLKEN0 = crate::Reg<hfperclken0::HFPERCLKEN0_SPEC>;
235#[doc = "High Frequency Peripheral Clock Enable Register 0"]
236pub mod hfperclken0;
237#[doc = "LFACLKEN0 (rw) register accessor: an alias for `Reg<LFACLKEN0_SPEC>`"]
238pub type LFACLKEN0 = crate::Reg<lfaclken0::LFACLKEN0_SPEC>;
239#[doc = "Low Frequency a Clock Enable Register 0 (Async Reg)"]
240pub mod lfaclken0;
241#[doc = "LFBCLKEN0 (rw) register accessor: an alias for `Reg<LFBCLKEN0_SPEC>`"]
242pub type LFBCLKEN0 = crate::Reg<lfbclken0::LFBCLKEN0_SPEC>;
243#[doc = "Low Frequency B Clock Enable Register 0 (Async Reg)"]
244pub mod lfbclken0;
245#[doc = "LFECLKEN0 (rw) register accessor: an alias for `Reg<LFECLKEN0_SPEC>`"]
246pub type LFECLKEN0 = crate::Reg<lfeclken0::LFECLKEN0_SPEC>;
247#[doc = "Low Frequency E Clock Enable Register 0 (Async Reg)"]
248pub mod lfeclken0;
249#[doc = "HFPRESC (rw) register accessor: an alias for `Reg<HFPRESC_SPEC>`"]
250pub type HFPRESC = crate::Reg<hfpresc::HFPRESC_SPEC>;
251#[doc = "High Frequency Clock Prescaler Register"]
252pub mod hfpresc;
253#[doc = "HFCOREPRESC (rw) register accessor: an alias for `Reg<HFCOREPRESC_SPEC>`"]
254pub type HFCOREPRESC = crate::Reg<hfcorepresc::HFCOREPRESC_SPEC>;
255#[doc = "High Frequency Core Clock Prescaler Register"]
256pub mod hfcorepresc;
257#[doc = "HFPERPRESC (rw) register accessor: an alias for `Reg<HFPERPRESC_SPEC>`"]
258pub type HFPERPRESC = crate::Reg<hfperpresc::HFPERPRESC_SPEC>;
259#[doc = "High Frequency Peripheral Clock Prescaler Register"]
260pub mod hfperpresc;
261#[doc = "HFEXPPRESC (rw) register accessor: an alias for `Reg<HFEXPPRESC_SPEC>`"]
262pub type HFEXPPRESC = crate::Reg<hfexppresc::HFEXPPRESC_SPEC>;
263#[doc = "High Frequency Export Clock Prescaler Register"]
264pub mod hfexppresc;
265#[doc = "LFAPRESC0 (rw) register accessor: an alias for `Reg<LFAPRESC0_SPEC>`"]
266pub type LFAPRESC0 = crate::Reg<lfapresc0::LFAPRESC0_SPEC>;
267#[doc = "Low Frequency a Prescaler Register 0 (Async Reg)"]
268pub mod lfapresc0;
269#[doc = "LFBPRESC0 (rw) register accessor: an alias for `Reg<LFBPRESC0_SPEC>`"]
270pub type LFBPRESC0 = crate::Reg<lfbpresc0::LFBPRESC0_SPEC>;
271#[doc = "Low Frequency B Prescaler Register 0 (Async Reg)"]
272pub mod lfbpresc0;
273#[doc = "LFEPRESC0 (rw) register accessor: an alias for `Reg<LFEPRESC0_SPEC>`"]
274pub type LFEPRESC0 = crate::Reg<lfepresc0::LFEPRESC0_SPEC>;
275#[doc = "Low Frequency E Prescaler Register 0 (Async Reg)"]
276pub mod lfepresc0;
277#[doc = "SYNCBUSY (r) register accessor: an alias for `Reg<SYNCBUSY_SPEC>`"]
278pub type SYNCBUSY = crate::Reg<syncbusy::SYNCBUSY_SPEC>;
279#[doc = "Synchronization Busy Register"]
280pub mod syncbusy;
281#[doc = "FREEZE (rw) register accessor: an alias for `Reg<FREEZE_SPEC>`"]
282pub type FREEZE = crate::Reg<freeze::FREEZE_SPEC>;
283#[doc = "Freeze Register"]
284pub mod freeze;
285#[doc = "PCNTCTRL (rw) register accessor: an alias for `Reg<PCNTCTRL_SPEC>`"]
286pub type PCNTCTRL = crate::Reg<pcntctrl::PCNTCTRL_SPEC>;
287#[doc = "PCNT Control Register"]
288pub mod pcntctrl;
289#[doc = "ADCCTRL (rw) register accessor: an alias for `Reg<ADCCTRL_SPEC>`"]
290pub type ADCCTRL = crate::Reg<adcctrl::ADCCTRL_SPEC>;
291#[doc = "ADC Control Register"]
292pub mod adcctrl;
293#[doc = "ROUTEPEN (rw) register accessor: an alias for `Reg<ROUTEPEN_SPEC>`"]
294pub type ROUTEPEN = crate::Reg<routepen::ROUTEPEN_SPEC>;
295#[doc = "I/O Routing Pin Enable Register"]
296pub mod routepen;
297#[doc = "ROUTELOC0 (rw) register accessor: an alias for `Reg<ROUTELOC0_SPEC>`"]
298pub type ROUTELOC0 = crate::Reg<routeloc0::ROUTELOC0_SPEC>;
299#[doc = "I/O Routing Location Register"]
300pub mod routeloc0;
301#[doc = "LOCK (rw) register accessor: an alias for `Reg<LOCK_SPEC>`"]
302pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
303#[doc = "Configuration Lock Register"]
304pub mod lock;