mcxa_pac/
cmc.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    ckctrl: Ckctrl,
8    ckstat: Ckstat,
9    pmprot: Pmprot,
10    gpmctrl: Gpmctrl,
11    pmctrlmain: Pmctrlmain,
12    _reserved6: [u8; 0x5c],
13    srs: Srs,
14    rpc: Rpc,
15    ssrs: Ssrs,
16    srie: Srie,
17    srif: Srif,
18    _reserved11: [u8; 0x0c],
19    mr0: Mr0,
20    _reserved12: [u8; 0x0c],
21    fm0: Fm0,
22    _reserved13: [u8; 0x2c],
23    flashcr: Flashcr,
24    _reserved14: [u8; 0x2c],
25    corectl: Corectl,
26    _reserved15: [u8; 0x0c],
27    dbgctl: Dbgctl,
28}
29impl RegisterBlock {
30    #[doc = "0x00 - Version ID"]
31    #[inline(always)]
32    pub const fn verid(&self) -> &Verid {
33        &self.verid
34    }
35    #[doc = "0x10 - Clock Control"]
36    #[inline(always)]
37    pub const fn ckctrl(&self) -> &Ckctrl {
38        &self.ckctrl
39    }
40    #[doc = "0x14 - Clock Status"]
41    #[inline(always)]
42    pub const fn ckstat(&self) -> &Ckstat {
43        &self.ckstat
44    }
45    #[doc = "0x18 - Power Mode Protection"]
46    #[inline(always)]
47    pub const fn pmprot(&self) -> &Pmprot {
48        &self.pmprot
49    }
50    #[doc = "0x1c - Global Power Mode Control"]
51    #[inline(always)]
52    pub const fn gpmctrl(&self) -> &Gpmctrl {
53        &self.gpmctrl
54    }
55    #[doc = "0x20 - Power Mode Control"]
56    #[inline(always)]
57    pub const fn pmctrlmain(&self) -> &Pmctrlmain {
58        &self.pmctrlmain
59    }
60    #[doc = "0x80 - System Reset Status"]
61    #[inline(always)]
62    pub const fn srs(&self) -> &Srs {
63        &self.srs
64    }
65    #[doc = "0x84 - Reset Pin Control"]
66    #[inline(always)]
67    pub const fn rpc(&self) -> &Rpc {
68        &self.rpc
69    }
70    #[doc = "0x88 - Sticky System Reset Status"]
71    #[inline(always)]
72    pub const fn ssrs(&self) -> &Ssrs {
73        &self.ssrs
74    }
75    #[doc = "0x8c - System Reset Interrupt Enable"]
76    #[inline(always)]
77    pub const fn srie(&self) -> &Srie {
78        &self.srie
79    }
80    #[doc = "0x90 - System Reset Interrupt Flag"]
81    #[inline(always)]
82    pub const fn srif(&self) -> &Srif {
83        &self.srif
84    }
85    #[doc = "0xa0 - Mode"]
86    #[inline(always)]
87    pub const fn mr0(&self) -> &Mr0 {
88        &self.mr0
89    }
90    #[doc = "0xb0 - Force Mode"]
91    #[inline(always)]
92    pub const fn fm0(&self) -> &Fm0 {
93        &self.fm0
94    }
95    #[doc = "0xe0 - Flash Control"]
96    #[inline(always)]
97    pub const fn flashcr(&self) -> &Flashcr {
98        &self.flashcr
99    }
100    #[doc = "0x110 - Core Control"]
101    #[inline(always)]
102    pub const fn corectl(&self) -> &Corectl {
103        &self.corectl
104    }
105    #[doc = "0x120 - Debug Control"]
106    #[inline(always)]
107    pub const fn dbgctl(&self) -> &Dbgctl {
108        &self.dbgctl
109    }
110}
111#[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"]
112#[doc(alias = "VERID")]
113pub type Verid = crate::Reg<verid::VeridSpec>;
114#[doc = "Version ID"]
115pub mod verid;
116#[doc = "CKCTRL (rw) register accessor: Clock Control\n\nYou can [`read`](crate::Reg::read) this register and get [`ckctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ckctrl::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@ckctrl`] module"]
117#[doc(alias = "CKCTRL")]
118pub type Ckctrl = crate::Reg<ckctrl::CkctrlSpec>;
119#[doc = "Clock Control"]
120pub mod ckctrl;
121#[doc = "CKSTAT (rw) register accessor: Clock Status\n\nYou can [`read`](crate::Reg::read) this register and get [`ckstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ckstat::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@ckstat`] module"]
122#[doc(alias = "CKSTAT")]
123pub type Ckstat = crate::Reg<ckstat::CkstatSpec>;
124#[doc = "Clock Status"]
125pub mod ckstat;
126#[doc = "PMPROT (rw) register accessor: Power Mode Protection\n\nYou can [`read`](crate::Reg::read) this register and get [`pmprot::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pmprot::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@pmprot`] module"]
127#[doc(alias = "PMPROT")]
128pub type Pmprot = crate::Reg<pmprot::PmprotSpec>;
129#[doc = "Power Mode Protection"]
130pub mod pmprot;
131#[doc = "GPMCTRL (rw) register accessor: Global Power Mode Control\n\nYou can [`read`](crate::Reg::read) this register and get [`gpmctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpmctrl::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@gpmctrl`] module"]
132#[doc(alias = "GPMCTRL")]
133pub type Gpmctrl = crate::Reg<gpmctrl::GpmctrlSpec>;
134#[doc = "Global Power Mode Control"]
135pub mod gpmctrl;
136#[doc = "PMCTRLMAIN (rw) register accessor: Power Mode Control\n\nYou can [`read`](crate::Reg::read) this register and get [`pmctrlmain::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pmctrlmain::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@pmctrlmain`] module"]
137#[doc(alias = "PMCTRLMAIN")]
138pub type Pmctrlmain = crate::Reg<pmctrlmain::PmctrlmainSpec>;
139#[doc = "Power Mode Control"]
140pub mod pmctrlmain;
141#[doc = "SRS (r) register accessor: System Reset Status\n\nYou can [`read`](crate::Reg::read) this register and get [`srs::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@srs`] module"]
142#[doc(alias = "SRS")]
143pub type Srs = crate::Reg<srs::SrsSpec>;
144#[doc = "System Reset Status"]
145pub mod srs;
146#[doc = "RPC (rw) register accessor: Reset Pin Control\n\nYou can [`read`](crate::Reg::read) this register and get [`rpc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rpc::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@rpc`] module"]
147#[doc(alias = "RPC")]
148pub type Rpc = crate::Reg<rpc::RpcSpec>;
149#[doc = "Reset Pin Control"]
150pub mod rpc;
151#[doc = "SSRS (rw) register accessor: Sticky System Reset Status\n\nYou can [`read`](crate::Reg::read) this register and get [`ssrs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ssrs::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@ssrs`] module"]
152#[doc(alias = "SSRS")]
153pub type Ssrs = crate::Reg<ssrs::SsrsSpec>;
154#[doc = "Sticky System Reset Status"]
155pub mod ssrs;
156#[doc = "SRIE (rw) register accessor: System Reset Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`srie::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`srie::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@srie`] module"]
157#[doc(alias = "SRIE")]
158pub type Srie = crate::Reg<srie::SrieSpec>;
159#[doc = "System Reset Interrupt Enable"]
160pub mod srie;
161#[doc = "SRIF (rw) register accessor: System Reset Interrupt Flag\n\nYou can [`read`](crate::Reg::read) this register and get [`srif::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`srif::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@srif`] module"]
162#[doc(alias = "SRIF")]
163pub type Srif = crate::Reg<srif::SrifSpec>;
164#[doc = "System Reset Interrupt Flag"]
165pub mod srif;
166#[doc = "MR0 (rw) register accessor: Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`mr0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mr0::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@mr0`] module"]
167#[doc(alias = "MR0")]
168pub type Mr0 = crate::Reg<mr0::Mr0Spec>;
169#[doc = "Mode"]
170pub mod mr0;
171#[doc = "FM0 (rw) register accessor: Force Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`fm0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fm0::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@fm0`] module"]
172#[doc(alias = "FM0")]
173pub type Fm0 = crate::Reg<fm0::Fm0Spec>;
174#[doc = "Force Mode"]
175pub mod fm0;
176#[doc = "FLASHCR (rw) register accessor: Flash Control\n\nYou can [`read`](crate::Reg::read) this register and get [`flashcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`flashcr::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@flashcr`] module"]
177#[doc(alias = "FLASHCR")]
178pub type Flashcr = crate::Reg<flashcr::FlashcrSpec>;
179#[doc = "Flash Control"]
180pub mod flashcr;
181#[doc = "CORECTL (rw) register accessor: Core Control\n\nYou can [`read`](crate::Reg::read) this register and get [`corectl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`corectl::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@corectl`] module"]
182#[doc(alias = "CORECTL")]
183pub type Corectl = crate::Reg<corectl::CorectlSpec>;
184#[doc = "Core Control"]
185pub mod corectl;
186#[doc = "DBGCTL (rw) register accessor: Debug Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dbgctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dbgctl::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@dbgctl`] module"]
187#[doc(alias = "DBGCTL")]
188pub type Dbgctl = crate::Reg<dbgctl::DbgctlSpec>;
189#[doc = "Debug Control"]
190pub mod dbgctl;