efm32g230_pac/
cmu.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - CMU Control Register"]
5    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6    #[doc = "0x04 - High Frequency Core Clock Division Register"]
7    pub hfcoreclkdiv: crate::Reg<hfcoreclkdiv::HFCORECLKDIV_SPEC>,
8    #[doc = "0x08 - High Frequency Peripheral Clock Division Register"]
9    pub hfperclkdiv: crate::Reg<hfperclkdiv::HFPERCLKDIV_SPEC>,
10    #[doc = "0x0c - HFRCO Control Register"]
11    pub hfrcoctrl: crate::Reg<hfrcoctrl::HFRCOCTRL_SPEC>,
12    #[doc = "0x10 - LFRCO Control Register"]
13    pub lfrcoctrl: crate::Reg<lfrcoctrl::LFRCOCTRL_SPEC>,
14    #[doc = "0x14 - AUXHFRCO Control Register"]
15    pub auxhfrcoctrl: crate::Reg<auxhfrcoctrl::AUXHFRCOCTRL_SPEC>,
16    #[doc = "0x18 - Calibration Control Register"]
17    pub calctrl: crate::Reg<calctrl::CALCTRL_SPEC>,
18    #[doc = "0x1c - Calibration Counter Register"]
19    pub calcnt: crate::Reg<calcnt::CALCNT_SPEC>,
20    #[doc = "0x20 - Oscillator Enable/Disable Command Register"]
21    pub oscencmd: crate::Reg<oscencmd::OSCENCMD_SPEC>,
22    #[doc = "0x24 - Command Register"]
23    pub cmd: crate::Reg<cmd::CMD_SPEC>,
24    #[doc = "0x28 - Low Frequency Clock Select Register"]
25    pub lfclksel: crate::Reg<lfclksel::LFCLKSEL_SPEC>,
26    #[doc = "0x2c - Status Register"]
27    pub status: crate::Reg<status::STATUS_SPEC>,
28    #[doc = "0x30 - Interrupt Flag Register"]
29    pub if_: crate::Reg<if_::IF_SPEC>,
30    #[doc = "0x34 - Interrupt Flag Set Register"]
31    pub ifs: crate::Reg<ifs::IFS_SPEC>,
32    #[doc = "0x38 - Interrupt Flag Clear Register"]
33    pub ifc: crate::Reg<ifc::IFC_SPEC>,
34    #[doc = "0x3c - Interrupt Enable Register"]
35    pub ien: crate::Reg<ien::IEN_SPEC>,
36    #[doc = "0x40 - High Frequency Core Clock Enable Register 0"]
37    pub hfcoreclken0: crate::Reg<hfcoreclken0::HFCORECLKEN0_SPEC>,
38    #[doc = "0x44 - High Frequency Peripheral Clock Enable Register 0"]
39    pub hfperclken0: crate::Reg<hfperclken0::HFPERCLKEN0_SPEC>,
40    _reserved18: [u8; 0x08],
41    #[doc = "0x50 - Synchronization Busy Register"]
42    pub syncbusy: crate::Reg<syncbusy::SYNCBUSY_SPEC>,
43    #[doc = "0x54 - Freeze Register"]
44    pub freeze: crate::Reg<freeze::FREEZE_SPEC>,
45    #[doc = "0x58 - Low Frequency A Clock Enable Register 0 (Async Reg)"]
46    pub lfaclken0: crate::Reg<lfaclken0::LFACLKEN0_SPEC>,
47    _reserved21: [u8; 0x04],
48    #[doc = "0x60 - Low Frequency B Clock Enable Register 0 (Async Reg)"]
49    pub lfbclken0: crate::Reg<lfbclken0::LFBCLKEN0_SPEC>,
50    _reserved22: [u8; 0x04],
51    #[doc = "0x68 - Low Frequency A Prescaler Register 0 (Async Reg)"]
52    pub lfapresc0: crate::Reg<lfapresc0::LFAPRESC0_SPEC>,
53    _reserved23: [u8; 0x04],
54    #[doc = "0x70 - Low Frequency B Prescaler Register 0 (Async Reg)"]
55    pub lfbpresc0: crate::Reg<lfbpresc0::LFBPRESC0_SPEC>,
56    _reserved24: [u8; 0x04],
57    #[doc = "0x78 - PCNT Control Register"]
58    pub pcntctrl: crate::Reg<pcntctrl::PCNTCTRL_SPEC>,
59    _reserved25: [u8; 0x04],
60    #[doc = "0x80 - I/O Routing Register"]
61    pub route: crate::Reg<route::ROUTE_SPEC>,
62    #[doc = "0x84 - Configuration Lock Register"]
63    pub lock: crate::Reg<lock::LOCK_SPEC>,
64}
65#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
66pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
67#[doc = "CMU Control Register"]
68pub mod ctrl;
69#[doc = "HFCORECLKDIV register accessor: an alias for `Reg<HFCORECLKDIV_SPEC>`"]
70pub type HFCORECLKDIV = crate::Reg<hfcoreclkdiv::HFCORECLKDIV_SPEC>;
71#[doc = "High Frequency Core Clock Division Register"]
72pub mod hfcoreclkdiv;
73#[doc = "HFPERCLKDIV register accessor: an alias for `Reg<HFPERCLKDIV_SPEC>`"]
74pub type HFPERCLKDIV = crate::Reg<hfperclkdiv::HFPERCLKDIV_SPEC>;
75#[doc = "High Frequency Peripheral Clock Division Register"]
76pub mod hfperclkdiv;
77#[doc = "HFRCOCTRL register accessor: an alias for `Reg<HFRCOCTRL_SPEC>`"]
78pub type HFRCOCTRL = crate::Reg<hfrcoctrl::HFRCOCTRL_SPEC>;
79#[doc = "HFRCO Control Register"]
80pub mod hfrcoctrl;
81#[doc = "LFRCOCTRL register accessor: an alias for `Reg<LFRCOCTRL_SPEC>`"]
82pub type LFRCOCTRL = crate::Reg<lfrcoctrl::LFRCOCTRL_SPEC>;
83#[doc = "LFRCO Control Register"]
84pub mod lfrcoctrl;
85#[doc = "AUXHFRCOCTRL register accessor: an alias for `Reg<AUXHFRCOCTRL_SPEC>`"]
86pub type AUXHFRCOCTRL = crate::Reg<auxhfrcoctrl::AUXHFRCOCTRL_SPEC>;
87#[doc = "AUXHFRCO Control Register"]
88pub mod auxhfrcoctrl;
89#[doc = "CALCTRL register accessor: an alias for `Reg<CALCTRL_SPEC>`"]
90pub type CALCTRL = crate::Reg<calctrl::CALCTRL_SPEC>;
91#[doc = "Calibration Control Register"]
92pub mod calctrl;
93#[doc = "CALCNT register accessor: an alias for `Reg<CALCNT_SPEC>`"]
94pub type CALCNT = crate::Reg<calcnt::CALCNT_SPEC>;
95#[doc = "Calibration Counter Register"]
96pub mod calcnt;
97#[doc = "OSCENCMD register accessor: an alias for `Reg<OSCENCMD_SPEC>`"]
98pub type OSCENCMD = crate::Reg<oscencmd::OSCENCMD_SPEC>;
99#[doc = "Oscillator Enable/Disable Command Register"]
100pub mod oscencmd;
101#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
102pub type CMD = crate::Reg<cmd::CMD_SPEC>;
103#[doc = "Command Register"]
104pub mod cmd;
105#[doc = "LFCLKSEL register accessor: an alias for `Reg<LFCLKSEL_SPEC>`"]
106pub type LFCLKSEL = crate::Reg<lfclksel::LFCLKSEL_SPEC>;
107#[doc = "Low Frequency Clock Select Register"]
108pub mod lfclksel;
109#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
110pub type STATUS = crate::Reg<status::STATUS_SPEC>;
111#[doc = "Status Register"]
112pub mod status;
113#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
114pub type IF = crate::Reg<if_::IF_SPEC>;
115#[doc = "Interrupt Flag Register"]
116pub mod if_;
117#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
118pub type IFS = crate::Reg<ifs::IFS_SPEC>;
119#[doc = "Interrupt Flag Set Register"]
120pub mod ifs;
121#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
122pub type IFC = crate::Reg<ifc::IFC_SPEC>;
123#[doc = "Interrupt Flag Clear Register"]
124pub mod ifc;
125#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
126pub type IEN = crate::Reg<ien::IEN_SPEC>;
127#[doc = "Interrupt Enable Register"]
128pub mod ien;
129#[doc = "HFCORECLKEN0 register accessor: an alias for `Reg<HFCORECLKEN0_SPEC>`"]
130pub type HFCORECLKEN0 = crate::Reg<hfcoreclken0::HFCORECLKEN0_SPEC>;
131#[doc = "High Frequency Core Clock Enable Register 0"]
132pub mod hfcoreclken0;
133#[doc = "HFPERCLKEN0 register accessor: an alias for `Reg<HFPERCLKEN0_SPEC>`"]
134pub type HFPERCLKEN0 = crate::Reg<hfperclken0::HFPERCLKEN0_SPEC>;
135#[doc = "High Frequency Peripheral Clock Enable Register 0"]
136pub mod hfperclken0;
137#[doc = "SYNCBUSY register accessor: an alias for `Reg<SYNCBUSY_SPEC>`"]
138pub type SYNCBUSY = crate::Reg<syncbusy::SYNCBUSY_SPEC>;
139#[doc = "Synchronization Busy Register"]
140pub mod syncbusy;
141#[doc = "FREEZE register accessor: an alias for `Reg<FREEZE_SPEC>`"]
142pub type FREEZE = crate::Reg<freeze::FREEZE_SPEC>;
143#[doc = "Freeze Register"]
144pub mod freeze;
145#[doc = "LFACLKEN0 register accessor: an alias for `Reg<LFACLKEN0_SPEC>`"]
146pub type LFACLKEN0 = crate::Reg<lfaclken0::LFACLKEN0_SPEC>;
147#[doc = "Low Frequency A Clock Enable Register 0 (Async Reg)"]
148pub mod lfaclken0;
149#[doc = "LFBCLKEN0 register accessor: an alias for `Reg<LFBCLKEN0_SPEC>`"]
150pub type LFBCLKEN0 = crate::Reg<lfbclken0::LFBCLKEN0_SPEC>;
151#[doc = "Low Frequency B Clock Enable Register 0 (Async Reg)"]
152pub mod lfbclken0;
153#[doc = "LFAPRESC0 register accessor: an alias for `Reg<LFAPRESC0_SPEC>`"]
154pub type LFAPRESC0 = crate::Reg<lfapresc0::LFAPRESC0_SPEC>;
155#[doc = "Low Frequency A Prescaler Register 0 (Async Reg)"]
156pub mod lfapresc0;
157#[doc = "LFBPRESC0 register accessor: an alias for `Reg<LFBPRESC0_SPEC>`"]
158pub type LFBPRESC0 = crate::Reg<lfbpresc0::LFBPRESC0_SPEC>;
159#[doc = "Low Frequency B Prescaler Register 0 (Async Reg)"]
160pub mod lfbpresc0;
161#[doc = "PCNTCTRL register accessor: an alias for `Reg<PCNTCTRL_SPEC>`"]
162pub type PCNTCTRL = crate::Reg<pcntctrl::PCNTCTRL_SPEC>;
163#[doc = "PCNT Control Register"]
164pub mod pcntctrl;
165#[doc = "ROUTE register accessor: an alias for `Reg<ROUTE_SPEC>`"]
166pub type ROUTE = crate::Reg<route::ROUTE_SPEC>;
167#[doc = "I/O Routing Register"]
168pub mod route;
169#[doc = "LOCK register accessor: an alias for `Reg<LOCK_SPEC>`"]
170pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
171#[doc = "Configuration Lock Register"]
172pub mod lock;