mcxa_pac/
spc0.rs

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;