1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 verid: Verid,
6 _reserved1: [u8; 0x0c],
7 sc: Sc,
8 _reserved2: [u8; 0x08],
9 lpreq_cfg: LpreqCfg,
10 _reserved3: [u8; 0x10],
11 pd_status0: PdStatus0,
12 _reserved4: [u8; 0x0c],
13 sramctl: Sramctl,
14 _reserved5: [u8; 0x10],
15 sramretldo_reftrim: SramretldoReftrim,
16 sramretldo_cntrl: SramretldoCntrl,
17 _reserved7: [u8; 0xa4],
18 active_cfg: ActiveCfg,
19 active_cfg1: ActiveCfg1,
20 lp_cfg: LpCfg,
21 lp_cfg1: LpCfg1,
22 _reserved11: [u8; 0x10],
23 lpwkup_delay: LpwkupDelay,
24 active_vdelay: ActiveVdelay,
25 _reserved13: [u8; 0x08],
26 vd_stat: VdStat,
27 vd_core_cfg: VdCoreCfg,
28 vd_sys_cfg: VdSysCfg,
29 _reserved16: [u8; 0x04],
30 evd_cfg: EvdCfg,
31 _reserved17: [u8; 0x01bc],
32 coreldo_cfg: CoreldoCfg,
33}
34impl RegisterBlock {
35 #[doc = "0x00 - Version ID"]
36 #[inline(always)]
37 pub const fn verid(&self) -> &Verid {
38 &self.verid
39 }
40 #[doc = "0x10 - Status Control"]
41 #[inline(always)]
42 pub const fn sc(&self) -> &Sc {
43 &self.sc
44 }
45 #[doc = "0x1c - Low-Power Request Configuration"]
46 #[inline(always)]
47 pub const fn lpreq_cfg(&self) -> &LpreqCfg {
48 &self.lpreq_cfg
49 }
50 #[doc = "0x30 - SPC Power Domain Mode Status"]
51 #[inline(always)]
52 pub const fn pd_status0(&self) -> &PdStatus0 {
53 &self.pd_status0
54 }
55 #[doc = "0x40 - SRAM Control"]
56 #[inline(always)]
57 pub const fn sramctl(&self) -> &Sramctl {
58 &self.sramctl
59 }
60 #[doc = "0x54 - SRAM Retention Reference Trim"]
61 #[inline(always)]
62 pub const fn sramretldo_reftrim(&self) -> &SramretldoReftrim {
63 &self.sramretldo_reftrim
64 }
65 #[doc = "0x58 - SRAM Retention LDO Control"]
66 #[inline(always)]
67 pub const fn sramretldo_cntrl(&self) -> &SramretldoCntrl {
68 &self.sramretldo_cntrl
69 }
70 #[doc = "0x100 - Active Power Mode Configuration"]
71 #[inline(always)]
72 pub const fn active_cfg(&self) -> &ActiveCfg {
73 &self.active_cfg
74 }
75 #[doc = "0x104 - Active Power Mode Configuration 1"]
76 #[inline(always)]
77 pub const fn active_cfg1(&self) -> &ActiveCfg1 {
78 &self.active_cfg1
79 }
80 #[doc = "0x108 - Low-Power Mode Configuration"]
81 #[inline(always)]
82 pub const fn lp_cfg(&self) -> &LpCfg {
83 &self.lp_cfg
84 }
85 #[doc = "0x10c - Low Power Mode Configuration 1"]
86 #[inline(always)]
87 pub const fn lp_cfg1(&self) -> &LpCfg1 {
88 &self.lp_cfg1
89 }
90 #[doc = "0x120 - Low Power Wake-Up Delay"]
91 #[inline(always)]
92 pub const fn lpwkup_delay(&self) -> &LpwkupDelay {
93 &self.lpwkup_delay
94 }
95 #[doc = "0x124 - Active Voltage Trim Delay"]
96 #[inline(always)]
97 pub const fn active_vdelay(&self) -> &ActiveVdelay {
98 &self.active_vdelay
99 }
100 #[doc = "0x130 - Voltage Detect Status"]
101 #[inline(always)]
102 pub const fn vd_stat(&self) -> &VdStat {
103 &self.vd_stat
104 }
105 #[doc = "0x134 - Core Voltage Detect Configuration"]
106 #[inline(always)]
107 pub const fn vd_core_cfg(&self) -> &VdCoreCfg {
108 &self.vd_core_cfg
109 }
110 #[doc = "0x138 - System Voltage Detect Configuration"]
111 #[inline(always)]
112 pub const fn vd_sys_cfg(&self) -> &VdSysCfg {
113 &self.vd_sys_cfg
114 }
115 #[doc = "0x140 - External Voltage Domain Configuration"]
116 #[inline(always)]
117 pub const fn evd_cfg(&self) -> &EvdCfg {
118 &self.evd_cfg
119 }
120 #[doc = "0x300 - LDO_CORE Configuration"]
121 #[inline(always)]
122 pub const fn coreldo_cfg(&self) -> &CoreldoCfg {
123 &self.coreldo_cfg
124 }
125}
126#[doc = "VERID (r) register accessor: Version ID\n\nYou can [`read`](crate::Reg::read) this register and get [`verid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@verid`] module"]
127#[doc(alias = "VERID")]
128pub type Verid = crate::Reg<verid::VeridSpec>;
129#[doc = "Version ID"]
130pub mod verid;
131#[doc = "SC (rw) register accessor: Status Control\n\nYou can [`read`](crate::Reg::read) this register and get [`sc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sc`] module"]
132#[doc(alias = "SC")]
133pub type Sc = crate::Reg<sc::ScSpec>;
134#[doc = "Status Control"]
135pub mod sc;
136#[doc = "LPREQ_CFG (rw) register accessor: Low-Power Request Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`lpreq_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lpreq_cfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lpreq_cfg`] module"]
137#[doc(alias = "LPREQ_CFG")]
138pub type LpreqCfg = crate::Reg<lpreq_cfg::LpreqCfgSpec>;
139#[doc = "Low-Power Request Configuration"]
140pub mod lpreq_cfg;
141#[doc = "PD_STATUS0 (rw) register accessor: SPC Power Domain Mode Status\n\nYou can [`read`](crate::Reg::read) this register and get [`pd_status0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pd_status0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pd_status0`] module"]
142#[doc(alias = "PD_STATUS0")]
143pub type PdStatus0 = crate::Reg<pd_status0::PdStatus0Spec>;
144#[doc = "SPC Power Domain Mode Status"]
145pub mod pd_status0;
146#[doc = "SRAMCTL (rw) register accessor: SRAM Control\n\nYou can [`read`](crate::Reg::read) this register and get [`sramctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sramctl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sramctl`] module"]
147#[doc(alias = "SRAMCTL")]
148pub type Sramctl = crate::Reg<sramctl::SramctlSpec>;
149#[doc = "SRAM Control"]
150pub mod sramctl;
151#[doc = "SRAMRETLDO_REFTRIM (rw) register accessor: SRAM Retention Reference Trim\n\nYou can [`read`](crate::Reg::read) this register and get [`sramretldo_reftrim::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sramretldo_reftrim::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sramretldo_reftrim`] module"]
152#[doc(alias = "SRAMRETLDO_REFTRIM")]
153pub type SramretldoReftrim = crate::Reg<sramretldo_reftrim::SramretldoReftrimSpec>;
154#[doc = "SRAM Retention Reference Trim"]
155pub mod sramretldo_reftrim;
156#[doc = "SRAMRETLDO_CNTRL (rw) register accessor: SRAM Retention LDO Control\n\nYou can [`read`](crate::Reg::read) this register and get [`sramretldo_cntrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sramretldo_cntrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sramretldo_cntrl`] module"]
157#[doc(alias = "SRAMRETLDO_CNTRL")]
158pub type SramretldoCntrl = crate::Reg<sramretldo_cntrl::SramretldoCntrlSpec>;
159#[doc = "SRAM Retention LDO Control"]
160pub mod sramretldo_cntrl;
161#[doc = "ACTIVE_CFG (rw) register accessor: Active Power Mode Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`active_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`active_cfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@active_cfg`] module"]
162#[doc(alias = "ACTIVE_CFG")]
163pub type ActiveCfg = crate::Reg<active_cfg::ActiveCfgSpec>;
164#[doc = "Active Power Mode Configuration"]
165pub mod active_cfg;
166#[doc = "ACTIVE_CFG1 (rw) register accessor: Active Power Mode Configuration 1\n\nYou can [`read`](crate::Reg::read) this register and get [`active_cfg1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`active_cfg1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@active_cfg1`] module"]
167#[doc(alias = "ACTIVE_CFG1")]
168pub type ActiveCfg1 = crate::Reg<active_cfg1::ActiveCfg1Spec>;
169#[doc = "Active Power Mode Configuration 1"]
170pub mod active_cfg1;
171#[doc = "LP_CFG (rw) register accessor: Low-Power Mode Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`lp_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lp_cfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lp_cfg`] module"]
172#[doc(alias = "LP_CFG")]
173pub type LpCfg = crate::Reg<lp_cfg::LpCfgSpec>;
174#[doc = "Low-Power Mode Configuration"]
175pub mod lp_cfg;
176#[doc = "LP_CFG1 (rw) register accessor: Low Power Mode Configuration 1\n\nYou can [`read`](crate::Reg::read) this register and get [`lp_cfg1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lp_cfg1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lp_cfg1`] module"]
177#[doc(alias = "LP_CFG1")]
178pub type LpCfg1 = crate::Reg<lp_cfg1::LpCfg1Spec>;
179#[doc = "Low Power Mode Configuration 1"]
180pub mod lp_cfg1;
181#[doc = "LPWKUP_DELAY (rw) register accessor: Low Power Wake-Up Delay\n\nYou can [`read`](crate::Reg::read) this register and get [`lpwkup_delay::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lpwkup_delay::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lpwkup_delay`] module"]
182#[doc(alias = "LPWKUP_DELAY")]
183pub type LpwkupDelay = crate::Reg<lpwkup_delay::LpwkupDelaySpec>;
184#[doc = "Low Power Wake-Up Delay"]
185pub mod lpwkup_delay;
186#[doc = "ACTIVE_VDELAY (rw) register accessor: Active Voltage Trim Delay\n\nYou can [`read`](crate::Reg::read) this register and get [`active_vdelay::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`active_vdelay::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@active_vdelay`] module"]
187#[doc(alias = "ACTIVE_VDELAY")]
188pub type ActiveVdelay = crate::Reg<active_vdelay::ActiveVdelaySpec>;
189#[doc = "Active Voltage Trim Delay"]
190pub mod active_vdelay;
191#[doc = "VD_STAT (rw) register accessor: Voltage Detect Status\n\nYou can [`read`](crate::Reg::read) this register and get [`vd_stat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`vd_stat::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@vd_stat`] module"]
192#[doc(alias = "VD_STAT")]
193pub type VdStat = crate::Reg<vd_stat::VdStatSpec>;
194#[doc = "Voltage Detect Status"]
195pub mod vd_stat;
196#[doc = "VD_CORE_CFG (rw) register accessor: Core Voltage Detect Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`vd_core_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`vd_core_cfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@vd_core_cfg`] module"]
197#[doc(alias = "VD_CORE_CFG")]
198pub type VdCoreCfg = crate::Reg<vd_core_cfg::VdCoreCfgSpec>;
199#[doc = "Core Voltage Detect Configuration"]
200pub mod vd_core_cfg;
201#[doc = "VD_SYS_CFG (rw) register accessor: System Voltage Detect Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`vd_sys_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`vd_sys_cfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@vd_sys_cfg`] module"]
202#[doc(alias = "VD_SYS_CFG")]
203pub type VdSysCfg = crate::Reg<vd_sys_cfg::VdSysCfgSpec>;
204#[doc = "System Voltage Detect Configuration"]
205pub mod vd_sys_cfg;
206#[doc = "EVD_CFG (rw) register accessor: External Voltage Domain Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`evd_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`evd_cfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@evd_cfg`] module"]
207#[doc(alias = "EVD_CFG")]
208pub type EvdCfg = crate::Reg<evd_cfg::EvdCfgSpec>;
209#[doc = "External Voltage Domain Configuration"]
210pub mod evd_cfg;
211#[doc = "CORELDO_CFG (r) register accessor: LDO_CORE Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`coreldo_cfg::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@coreldo_cfg`] module"]
212#[doc(alias = "CORELDO_CFG")]
213pub type CoreldoCfg = crate::Reg<coreldo_cfg::CoreldoCfgSpec>;
214#[doc = "LDO_CORE Configuration"]
215pub mod coreldo_cfg;