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 #[doc = "0x64 - Low Frequency C Clock Enable Register 0 (Async Reg)"]
51 pub lfcclken0: crate::Reg<lfcclken0::LFCCLKEN0_SPEC>,
52 #[doc = "0x68 - Low Frequency A Prescaler Register 0 (Async Reg)"]
53 pub lfapresc0: crate::Reg<lfapresc0::LFAPRESC0_SPEC>,
54 _reserved24: [u8; 0x04],
55 #[doc = "0x70 - Low Frequency B Prescaler Register 0 (Async Reg)"]
56 pub lfbpresc0: crate::Reg<lfbpresc0::LFBPRESC0_SPEC>,
57 _reserved25: [u8; 0x04],
58 #[doc = "0x78 - PCNT Control Register"]
59 pub pcntctrl: crate::Reg<pcntctrl::PCNTCTRL_SPEC>,
60 _reserved26: [u8; 0x04],
61 #[doc = "0x80 - I/O Routing Register"]
62 pub route: crate::Reg<route::ROUTE_SPEC>,
63 #[doc = "0x84 - Configuration Lock Register"]
64 pub lock: crate::Reg<lock::LOCK_SPEC>,
65 _reserved28: [u8; 0x48],
66 #[doc = "0xd0 - USB Clock Recovery Control"]
67 pub usbcrctrl: crate::Reg<usbcrctrl::USBCRCTRL_SPEC>,
68 #[doc = "0xd4 - USHFRCO Control"]
69 pub ushfrcoctrl: crate::Reg<ushfrcoctrl::USHFRCOCTRL_SPEC>,
70 #[doc = "0xd8 - USHFRCO Frequency Tune"]
71 pub ushfrcotune: crate::Reg<ushfrcotune::USHFRCOTUNE_SPEC>,
72 #[doc = "0xdc - USHFRCO Configuration"]
73 pub ushfrcoconf: crate::Reg<ushfrcoconf::USHFRCOCONF_SPEC>,
74}
75#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
76pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
77#[doc = "CMU Control Register"]
78pub mod ctrl;
79#[doc = "HFCORECLKDIV register accessor: an alias for `Reg<HFCORECLKDIV_SPEC>`"]
80pub type HFCORECLKDIV = crate::Reg<hfcoreclkdiv::HFCORECLKDIV_SPEC>;
81#[doc = "High Frequency Core Clock Division Register"]
82pub mod hfcoreclkdiv;
83#[doc = "HFPERCLKDIV register accessor: an alias for `Reg<HFPERCLKDIV_SPEC>`"]
84pub type HFPERCLKDIV = crate::Reg<hfperclkdiv::HFPERCLKDIV_SPEC>;
85#[doc = "High Frequency Peripheral Clock Division Register"]
86pub mod hfperclkdiv;
87#[doc = "HFRCOCTRL register accessor: an alias for `Reg<HFRCOCTRL_SPEC>`"]
88pub type HFRCOCTRL = crate::Reg<hfrcoctrl::HFRCOCTRL_SPEC>;
89#[doc = "HFRCO Control Register"]
90pub mod hfrcoctrl;
91#[doc = "LFRCOCTRL register accessor: an alias for `Reg<LFRCOCTRL_SPEC>`"]
92pub type LFRCOCTRL = crate::Reg<lfrcoctrl::LFRCOCTRL_SPEC>;
93#[doc = "LFRCO Control Register"]
94pub mod lfrcoctrl;
95#[doc = "AUXHFRCOCTRL register accessor: an alias for `Reg<AUXHFRCOCTRL_SPEC>`"]
96pub type AUXHFRCOCTRL = crate::Reg<auxhfrcoctrl::AUXHFRCOCTRL_SPEC>;
97#[doc = "AUXHFRCO Control Register"]
98pub mod auxhfrcoctrl;
99#[doc = "CALCTRL register accessor: an alias for `Reg<CALCTRL_SPEC>`"]
100pub type CALCTRL = crate::Reg<calctrl::CALCTRL_SPEC>;
101#[doc = "Calibration Control Register"]
102pub mod calctrl;
103#[doc = "CALCNT register accessor: an alias for `Reg<CALCNT_SPEC>`"]
104pub type CALCNT = crate::Reg<calcnt::CALCNT_SPEC>;
105#[doc = "Calibration Counter Register"]
106pub mod calcnt;
107#[doc = "OSCENCMD register accessor: an alias for `Reg<OSCENCMD_SPEC>`"]
108pub type OSCENCMD = crate::Reg<oscencmd::OSCENCMD_SPEC>;
109#[doc = "Oscillator Enable/Disable Command Register"]
110pub mod oscencmd;
111#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
112pub type CMD = crate::Reg<cmd::CMD_SPEC>;
113#[doc = "Command Register"]
114pub mod cmd;
115#[doc = "LFCLKSEL register accessor: an alias for `Reg<LFCLKSEL_SPEC>`"]
116pub type LFCLKSEL = crate::Reg<lfclksel::LFCLKSEL_SPEC>;
117#[doc = "Low Frequency Clock Select Register"]
118pub mod lfclksel;
119#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
120pub type STATUS = crate::Reg<status::STATUS_SPEC>;
121#[doc = "Status Register"]
122pub mod status;
123#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
124pub type IF = crate::Reg<if_::IF_SPEC>;
125#[doc = "Interrupt Flag Register"]
126pub mod if_;
127#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
128pub type IFS = crate::Reg<ifs::IFS_SPEC>;
129#[doc = "Interrupt Flag Set Register"]
130pub mod ifs;
131#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
132pub type IFC = crate::Reg<ifc::IFC_SPEC>;
133#[doc = "Interrupt Flag Clear Register"]
134pub mod ifc;
135#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
136pub type IEN = crate::Reg<ien::IEN_SPEC>;
137#[doc = "Interrupt Enable Register"]
138pub mod ien;
139#[doc = "HFCORECLKEN0 register accessor: an alias for `Reg<HFCORECLKEN0_SPEC>`"]
140pub type HFCORECLKEN0 = crate::Reg<hfcoreclken0::HFCORECLKEN0_SPEC>;
141#[doc = "High Frequency Core Clock Enable Register 0"]
142pub mod hfcoreclken0;
143#[doc = "HFPERCLKEN0 register accessor: an alias for `Reg<HFPERCLKEN0_SPEC>`"]
144pub type HFPERCLKEN0 = crate::Reg<hfperclken0::HFPERCLKEN0_SPEC>;
145#[doc = "High Frequency Peripheral Clock Enable Register 0"]
146pub mod hfperclken0;
147#[doc = "SYNCBUSY register accessor: an alias for `Reg<SYNCBUSY_SPEC>`"]
148pub type SYNCBUSY = crate::Reg<syncbusy::SYNCBUSY_SPEC>;
149#[doc = "Synchronization Busy Register"]
150pub mod syncbusy;
151#[doc = "FREEZE register accessor: an alias for `Reg<FREEZE_SPEC>`"]
152pub type FREEZE = crate::Reg<freeze::FREEZE_SPEC>;
153#[doc = "Freeze Register"]
154pub mod freeze;
155#[doc = "LFACLKEN0 register accessor: an alias for `Reg<LFACLKEN0_SPEC>`"]
156pub type LFACLKEN0 = crate::Reg<lfaclken0::LFACLKEN0_SPEC>;
157#[doc = "Low Frequency A Clock Enable Register 0 (Async Reg)"]
158pub mod lfaclken0;
159#[doc = "LFBCLKEN0 register accessor: an alias for `Reg<LFBCLKEN0_SPEC>`"]
160pub type LFBCLKEN0 = crate::Reg<lfbclken0::LFBCLKEN0_SPEC>;
161#[doc = "Low Frequency B Clock Enable Register 0 (Async Reg)"]
162pub mod lfbclken0;
163#[doc = "LFCCLKEN0 register accessor: an alias for `Reg<LFCCLKEN0_SPEC>`"]
164pub type LFCCLKEN0 = crate::Reg<lfcclken0::LFCCLKEN0_SPEC>;
165#[doc = "Low Frequency C Clock Enable Register 0 (Async Reg)"]
166pub mod lfcclken0;
167#[doc = "LFAPRESC0 register accessor: an alias for `Reg<LFAPRESC0_SPEC>`"]
168pub type LFAPRESC0 = crate::Reg<lfapresc0::LFAPRESC0_SPEC>;
169#[doc = "Low Frequency A Prescaler Register 0 (Async Reg)"]
170pub mod lfapresc0;
171#[doc = "LFBPRESC0 register accessor: an alias for `Reg<LFBPRESC0_SPEC>`"]
172pub type LFBPRESC0 = crate::Reg<lfbpresc0::LFBPRESC0_SPEC>;
173#[doc = "Low Frequency B Prescaler Register 0 (Async Reg)"]
174pub mod lfbpresc0;
175#[doc = "PCNTCTRL register accessor: an alias for `Reg<PCNTCTRL_SPEC>`"]
176pub type PCNTCTRL = crate::Reg<pcntctrl::PCNTCTRL_SPEC>;
177#[doc = "PCNT Control Register"]
178pub mod pcntctrl;
179#[doc = "ROUTE register accessor: an alias for `Reg<ROUTE_SPEC>`"]
180pub type ROUTE = crate::Reg<route::ROUTE_SPEC>;
181#[doc = "I/O Routing Register"]
182pub mod route;
183#[doc = "LOCK register accessor: an alias for `Reg<LOCK_SPEC>`"]
184pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
185#[doc = "Configuration Lock Register"]
186pub mod lock;
187#[doc = "USBCRCTRL register accessor: an alias for `Reg<USBCRCTRL_SPEC>`"]
188pub type USBCRCTRL = crate::Reg<usbcrctrl::USBCRCTRL_SPEC>;
189#[doc = "USB Clock Recovery Control"]
190pub mod usbcrctrl;
191#[doc = "USHFRCOCTRL register accessor: an alias for `Reg<USHFRCOCTRL_SPEC>`"]
192pub type USHFRCOCTRL = crate::Reg<ushfrcoctrl::USHFRCOCTRL_SPEC>;
193#[doc = "USHFRCO Control"]
194pub mod ushfrcoctrl;
195#[doc = "USHFRCOTUNE register accessor: an alias for `Reg<USHFRCOTUNE_SPEC>`"]
196pub type USHFRCOTUNE = crate::Reg<ushfrcotune::USHFRCOTUNE_SPEC>;
197#[doc = "USHFRCO Frequency Tune"]
198pub mod ushfrcotune;
199#[doc = "USHFRCOCONF register accessor: an alias for `Reg<USHFRCOCONF_SPEC>`"]
200pub type USHFRCOCONF = crate::Reg<ushfrcoconf::USHFRCOCONF_SPEC>;
201#[doc = "USHFRCO Configuration"]
202pub mod ushfrcoconf;