cw32f030_hal/svd/
sysctrl.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Reg0"]
5    pub cr0: CR0,
6    #[doc = "0x04 - Control Reg1"]
7    pub cr1: CR1,
8    #[doc = "0x08 - Control Reg2"]
9    pub cr2: CR2,
10    #[doc = "0x0c - Interupt Enable Reg"]
11    pub ier: IER,
12    #[doc = "0x10 - Interupt Status Reg"]
13    pub isr: ISR,
14    #[doc = "0x14 - Interupt Clear Reg"]
15    pub icr: ICR,
16    #[doc = "0x18 - HSI Control Reg"]
17    pub hsi: HSI,
18    #[doc = "0x1c - HSE Control Reg"]
19    pub hse: HSE,
20    #[doc = "0x20 - LSI Control Reg"]
21    pub lsi: LSI,
22    #[doc = "0x24 - LSE Control Reg"]
23    pub lse: LSE,
24    #[doc = "0x28 - PLL Control Reg"]
25    pub pll: PLL,
26    #[doc = "0x2c - Debug Control Reg"]
27    pub debug: DEBUG,
28    #[doc = "0x30 - AHB Clock Control Reg"]
29    pub ahben: AHBEN,
30    #[doc = "0x34 - APB Clock Control Reg2"]
31    pub apben2: APBEN2,
32    #[doc = "0x38 - APB Clock Control Reg1"]
33    pub apben1: APBEN1,
34    _reserved15: [u8; 0x04],
35    #[doc = "0x40 - AHB Reset Control Reg"]
36    pub ahbrst: AHBRST,
37    #[doc = "0x44 - APB Reset Control Reg2"]
38    pub apbrst2: APBRST2,
39    #[doc = "0x48 - APB Reset Control Reg1"]
40    pub apbrst1: APBRST1,
41    #[doc = "0x4c - Reset Status Reg"]
42    pub resetflag: RESETFLAG,
43    #[doc = "0x50 - GTIM1 CAP Control Reg"]
44    pub gtim1cap: GTIM1CAP,
45    #[doc = "0x54 - GTIM2 CAP Control Reg"]
46    pub gtim2cap: GTIM2CAP,
47    #[doc = "0x58 - GTIM3 CAP Control Reg"]
48    pub gtim3cap: GTIM3CAP,
49    #[doc = "0x5c - GTIM4 CAP Control Reg"]
50    pub gtim4cap: GTIM4CAP,
51    #[doc = "0x60 - ATIM ETR Control Reg"]
52    pub atimetr: ATIMETR,
53    #[doc = "0x64 - GTIM1-4 ETR Control Reg"]
54    pub gtimetr: GTIMETR,
55    _reserved25: [u8; 0x04],
56    #[doc = "0x6c - BTIMx GTIMx ATIM ITR Control Reg"]
57    pub timitr: TIMITR,
58    #[doc = "0x70 - Master Clock Output Control Reg"]
59    pub mco: MCO,
60    #[doc = "0x74 - IR MOD Control Reg"]
61    pub irmod: IRMOD,
62}
63#[doc = "CR0 (rw) register accessor: Control Reg0\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`cr0::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`cr0::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cr0`]
64module"]
65pub type CR0 = crate::svd::Reg<cr0::CR0_SPEC>;
66#[doc = "Control Reg0"]
67pub mod cr0;
68#[doc = "CR1 (rw) register accessor: Control Reg1\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`cr1::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`cr1::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cr1`]
69module"]
70pub type CR1 = crate::svd::Reg<cr1::CR1_SPEC>;
71#[doc = "Control Reg1"]
72pub mod cr1;
73#[doc = "CR2 (rw) register accessor: Control Reg2\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`cr2::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`cr2::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cr2`]
74module"]
75pub type CR2 = crate::svd::Reg<cr2::CR2_SPEC>;
76#[doc = "Control Reg2"]
77pub mod cr2;
78#[doc = "IER (rw) register accessor: Interupt Enable Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`ier::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`ier::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ier`]
79module"]
80pub type IER = crate::svd::Reg<ier::IER_SPEC>;
81#[doc = "Interupt Enable Reg"]
82pub mod ier;
83#[doc = "ISR (r) register accessor: Interupt Status Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`isr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@isr`]
84module"]
85pub type ISR = crate::svd::Reg<isr::ISR_SPEC>;
86#[doc = "Interupt Status Reg"]
87pub mod isr;
88#[doc = "ICR (rw) register accessor: Interupt Clear Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`icr::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`icr::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@icr`]
89module"]
90pub type ICR = crate::svd::Reg<icr::ICR_SPEC>;
91#[doc = "Interupt Clear Reg"]
92pub mod icr;
93#[doc = "HSI (rw) register accessor: HSI Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`hsi::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`hsi::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hsi`]
94module"]
95pub type HSI = crate::svd::Reg<hsi::HSI_SPEC>;
96#[doc = "HSI Control Reg"]
97pub mod hsi;
98#[doc = "HSE (rw) register accessor: HSE Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`hse::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`hse::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hse`]
99module"]
100pub type HSE = crate::svd::Reg<hse::HSE_SPEC>;
101#[doc = "HSE Control Reg"]
102pub mod hse;
103#[doc = "LSI (rw) register accessor: LSI Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`lsi::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`lsi::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lsi`]
104module"]
105pub type LSI = crate::svd::Reg<lsi::LSI_SPEC>;
106#[doc = "LSI Control Reg"]
107pub mod lsi;
108#[doc = "LSE (rw) register accessor: LSE Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`lse::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`lse::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lse`]
109module"]
110pub type LSE = crate::svd::Reg<lse::LSE_SPEC>;
111#[doc = "LSE Control Reg"]
112pub mod lse;
113#[doc = "PLL (rw) register accessor: PLL Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`pll::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`pll::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pll`]
114module"]
115pub type PLL = crate::svd::Reg<pll::PLL_SPEC>;
116#[doc = "PLL Control Reg"]
117pub mod pll;
118#[doc = "DEBUG (rw) register accessor: Debug Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`debug::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`debug::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@debug`]
119module"]
120pub type DEBUG = crate::svd::Reg<debug::DEBUG_SPEC>;
121#[doc = "Debug Control Reg"]
122pub mod debug;
123#[doc = "AHBEN (rw) register accessor: AHB Clock Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`ahben::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`ahben::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ahben`]
124module"]
125pub type AHBEN = crate::svd::Reg<ahben::AHBEN_SPEC>;
126#[doc = "AHB Clock Control Reg"]
127pub mod ahben;
128#[doc = "APBEN2 (rw) register accessor: APB Clock Control Reg2\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`apben2::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`apben2::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@apben2`]
129module"]
130pub type APBEN2 = crate::svd::Reg<apben2::APBEN2_SPEC>;
131#[doc = "APB Clock Control Reg2"]
132pub mod apben2;
133#[doc = "APBEN1 (rw) register accessor: APB Clock Control Reg1\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`apben1::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`apben1::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@apben1`]
134module"]
135pub type APBEN1 = crate::svd::Reg<apben1::APBEN1_SPEC>;
136#[doc = "APB Clock Control Reg1"]
137pub mod apben1;
138#[doc = "AHBRST (rw) register accessor: AHB Reset Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`ahbrst::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`ahbrst::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ahbrst`]
139module"]
140pub type AHBRST = crate::svd::Reg<ahbrst::AHBRST_SPEC>;
141#[doc = "AHB Reset Control Reg"]
142pub mod ahbrst;
143#[doc = "APBRST2 (rw) register accessor: APB Reset Control Reg2\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`apbrst2::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`apbrst2::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@apbrst2`]
144module"]
145pub type APBRST2 = crate::svd::Reg<apbrst2::APBRST2_SPEC>;
146#[doc = "APB Reset Control Reg2"]
147pub mod apbrst2;
148#[doc = "APBRST1 (rw) register accessor: APB Reset Control Reg1\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`apbrst1::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`apbrst1::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@apbrst1`]
149module"]
150pub type APBRST1 = crate::svd::Reg<apbrst1::APBRST1_SPEC>;
151#[doc = "APB Reset Control Reg1"]
152pub mod apbrst1;
153#[doc = "RESETFLAG (rw) register accessor: Reset Status Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`resetflag::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`resetflag::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@resetflag`]
154module"]
155pub type RESETFLAG = crate::svd::Reg<resetflag::RESETFLAG_SPEC>;
156#[doc = "Reset Status Reg"]
157pub mod resetflag;
158#[doc = "GTIM1CAP (rw) register accessor: GTIM1 CAP Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`gtim1cap::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`gtim1cap::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gtim1cap`]
159module"]
160pub type GTIM1CAP = crate::svd::Reg<gtim1cap::GTIM1CAP_SPEC>;
161#[doc = "GTIM1 CAP Control Reg"]
162pub mod gtim1cap;
163#[doc = "GTIM2CAP (rw) register accessor: GTIM2 CAP Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`gtim2cap::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`gtim2cap::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gtim2cap`]
164module"]
165pub type GTIM2CAP = crate::svd::Reg<gtim2cap::GTIM2CAP_SPEC>;
166#[doc = "GTIM2 CAP Control Reg"]
167pub mod gtim2cap;
168#[doc = "GTIM3CAP (rw) register accessor: GTIM3 CAP Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`gtim3cap::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`gtim3cap::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gtim3cap`]
169module"]
170pub type GTIM3CAP = crate::svd::Reg<gtim3cap::GTIM3CAP_SPEC>;
171#[doc = "GTIM3 CAP Control Reg"]
172pub mod gtim3cap;
173#[doc = "GTIM4CAP (rw) register accessor: GTIM4 CAP Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`gtim4cap::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`gtim4cap::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gtim4cap`]
174module"]
175pub type GTIM4CAP = crate::svd::Reg<gtim4cap::GTIM4CAP_SPEC>;
176#[doc = "GTIM4 CAP Control Reg"]
177pub mod gtim4cap;
178#[doc = "ATIMETR (rw) register accessor: ATIM ETR Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`atimetr::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`atimetr::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@atimetr`]
179module"]
180pub type ATIMETR = crate::svd::Reg<atimetr::ATIMETR_SPEC>;
181#[doc = "ATIM ETR Control Reg"]
182pub mod atimetr;
183#[doc = "GTIMETR (rw) register accessor: GTIM1-4 ETR Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`gtimetr::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`gtimetr::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gtimetr`]
184module"]
185pub type GTIMETR = crate::svd::Reg<gtimetr::GTIMETR_SPEC>;
186#[doc = "GTIM1-4 ETR Control Reg"]
187pub mod gtimetr;
188#[doc = "TIMITR (rw) register accessor: BTIMx GTIMx ATIM ITR Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`timitr::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`timitr::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@timitr`]
189module"]
190pub type TIMITR = crate::svd::Reg<timitr::TIMITR_SPEC>;
191#[doc = "BTIMx GTIMx ATIM ITR Control Reg"]
192pub mod timitr;
193#[doc = "MCO (rw) register accessor: Master Clock Output Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`mco::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`mco::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mco`]
194module"]
195pub type MCO = crate::svd::Reg<mco::MCO_SPEC>;
196#[doc = "Master Clock Output Control Reg"]
197pub mod mco;
198#[doc = "IRMOD (rw) register accessor: IR MOD Control Reg\n\nYou can [`read`](crate::svd::generic::Reg::read) this register and get [`irmod::R`].  You can [`reset`](crate::svd::generic::Reg::reset), [`write`](crate::svd::generic::Reg::write), [`write_with_zero`](crate::svd::generic::Reg::write_with_zero) this register using [`irmod::W`]. You can also [`modify`](crate::svd::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irmod`]
199module"]
200pub type IRMOD = crate::svd::Reg<irmod::IRMOD_SPEC>;
201#[doc = "IR MOD Control Reg"]
202pub mod irmod;