1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 ctrl: Ctrl,
5 sleep: Sleep,
6 extctrl: Extctrl,
7 _reserved3: [u8; 0x05],
8 cpusel: Cpusel,
9 apbasel: Apbasel,
10 apbbsel: Apbbsel,
11 apbcsel: Apbcsel,
12 _reserved7: [u8; 0x08],
13 ahbmask: Ahbmask,
14 apbamask: Apbamask,
15 apbbmask: Apbbmask,
16 apbcmask: Apbcmask,
17 _reserved11: [u8; 0x10],
18 intenclr: Intenclr,
19 intenset: Intenset,
20 intflag: Intflag,
21 _reserved14: [u8; 0x01],
22 rcause: Rcause,
23}
24impl RegisterBlock {
25 #[doc = "0x00 - Control"]
26 #[inline(always)]
27 pub const fn ctrl(&self) -> &Ctrl {
28 &self.ctrl
29 }
30 #[doc = "0x01 - Sleep Mode"]
31 #[inline(always)]
32 pub const fn sleep(&self) -> &Sleep {
33 &self.sleep
34 }
35 #[doc = "0x02 - External Reset Controller"]
36 #[inline(always)]
37 pub const fn extctrl(&self) -> &Extctrl {
38 &self.extctrl
39 }
40 #[doc = "0x08 - CPU Clock Select"]
41 #[inline(always)]
42 pub const fn cpusel(&self) -> &Cpusel {
43 &self.cpusel
44 }
45 #[doc = "0x09 - APBA Clock Select"]
46 #[inline(always)]
47 pub const fn apbasel(&self) -> &Apbasel {
48 &self.apbasel
49 }
50 #[doc = "0x0a - APBB Clock Select"]
51 #[inline(always)]
52 pub const fn apbbsel(&self) -> &Apbbsel {
53 &self.apbbsel
54 }
55 #[doc = "0x0b - APBC Clock Select"]
56 #[inline(always)]
57 pub const fn apbcsel(&self) -> &Apbcsel {
58 &self.apbcsel
59 }
60 #[doc = "0x14 - AHB Mask"]
61 #[inline(always)]
62 pub const fn ahbmask(&self) -> &Ahbmask {
63 &self.ahbmask
64 }
65 #[doc = "0x18 - APBA Mask"]
66 #[inline(always)]
67 pub const fn apbamask(&self) -> &Apbamask {
68 &self.apbamask
69 }
70 #[doc = "0x1c - APBB Mask"]
71 #[inline(always)]
72 pub const fn apbbmask(&self) -> &Apbbmask {
73 &self.apbbmask
74 }
75 #[doc = "0x20 - APBC Mask"]
76 #[inline(always)]
77 pub const fn apbcmask(&self) -> &Apbcmask {
78 &self.apbcmask
79 }
80 #[doc = "0x34 - Interrupt Enable Clear"]
81 #[inline(always)]
82 pub const fn intenclr(&self) -> &Intenclr {
83 &self.intenclr
84 }
85 #[doc = "0x35 - Interrupt Enable Set"]
86 #[inline(always)]
87 pub const fn intenset(&self) -> &Intenset {
88 &self.intenset
89 }
90 #[doc = "0x36 - Interrupt Flag Status and Clear"]
91 #[inline(always)]
92 pub const fn intflag(&self) -> &Intflag {
93 &self.intflag
94 }
95 #[doc = "0x38 - Reset Cause"]
96 #[inline(always)]
97 pub const fn rcause(&self) -> &Rcause {
98 &self.rcause
99 }
100}
101#[doc = "CTRL (rw) register accessor: Control\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::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@ctrl`]
102module"]
103#[doc(alias = "CTRL")]
104pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
105#[doc = "Control"]
106pub mod ctrl;
107#[doc = "SLEEP (rw) register accessor: Sleep Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`sleep::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sleep::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@sleep`]
108module"]
109#[doc(alias = "SLEEP")]
110pub type Sleep = crate::Reg<sleep::SleepSpec>;
111#[doc = "Sleep Mode"]
112pub mod sleep;
113#[doc = "EXTCTRL (rw) register accessor: External Reset Controller\n\nYou can [`read`](crate::Reg::read) this register and get [`extctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`extctrl::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@extctrl`]
114module"]
115#[doc(alias = "EXTCTRL")]
116pub type Extctrl = crate::Reg<extctrl::ExtctrlSpec>;
117#[doc = "External Reset Controller"]
118pub mod extctrl;
119#[doc = "CPUSEL (rw) register accessor: CPU Clock Select\n\nYou can [`read`](crate::Reg::read) this register and get [`cpusel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpusel::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@cpusel`]
120module"]
121#[doc(alias = "CPUSEL")]
122pub type Cpusel = crate::Reg<cpusel::CpuselSpec>;
123#[doc = "CPU Clock Select"]
124pub mod cpusel;
125#[doc = "APBASEL (rw) register accessor: APBA Clock Select\n\nYou can [`read`](crate::Reg::read) this register and get [`apbasel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`apbasel::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@apbasel`]
126module"]
127#[doc(alias = "APBASEL")]
128pub type Apbasel = crate::Reg<apbasel::ApbaselSpec>;
129#[doc = "APBA Clock Select"]
130pub mod apbasel;
131#[doc = "APBBSEL (rw) register accessor: APBB Clock Select\n\nYou can [`read`](crate::Reg::read) this register and get [`apbbsel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`apbbsel::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@apbbsel`]
132module"]
133#[doc(alias = "APBBSEL")]
134pub type Apbbsel = crate::Reg<apbbsel::ApbbselSpec>;
135#[doc = "APBB Clock Select"]
136pub mod apbbsel;
137#[doc = "APBCSEL (rw) register accessor: APBC Clock Select\n\nYou can [`read`](crate::Reg::read) this register and get [`apbcsel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`apbcsel::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@apbcsel`]
138module"]
139#[doc(alias = "APBCSEL")]
140pub type Apbcsel = crate::Reg<apbcsel::ApbcselSpec>;
141#[doc = "APBC Clock Select"]
142pub mod apbcsel;
143#[doc = "AHBMASK (rw) register accessor: AHB Mask\n\nYou can [`read`](crate::Reg::read) this register and get [`ahbmask::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ahbmask::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@ahbmask`]
144module"]
145#[doc(alias = "AHBMASK")]
146pub type Ahbmask = crate::Reg<ahbmask::AhbmaskSpec>;
147#[doc = "AHB Mask"]
148pub mod ahbmask;
149#[doc = "APBAMASK (rw) register accessor: APBA Mask\n\nYou can [`read`](crate::Reg::read) this register and get [`apbamask::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`apbamask::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@apbamask`]
150module"]
151#[doc(alias = "APBAMASK")]
152pub type Apbamask = crate::Reg<apbamask::ApbamaskSpec>;
153#[doc = "APBA Mask"]
154pub mod apbamask;
155#[doc = "APBBMASK (rw) register accessor: APBB Mask\n\nYou can [`read`](crate::Reg::read) this register and get [`apbbmask::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`apbbmask::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@apbbmask`]
156module"]
157#[doc(alias = "APBBMASK")]
158pub type Apbbmask = crate::Reg<apbbmask::ApbbmaskSpec>;
159#[doc = "APBB Mask"]
160pub mod apbbmask;
161#[doc = "APBCMASK (rw) register accessor: APBC Mask\n\nYou can [`read`](crate::Reg::read) this register and get [`apbcmask::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`apbcmask::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@apbcmask`]
162module"]
163#[doc(alias = "APBCMASK")]
164pub type Apbcmask = crate::Reg<apbcmask::ApbcmaskSpec>;
165#[doc = "APBC Mask"]
166pub mod apbcmask;
167#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::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@intenclr`]
168module"]
169#[doc(alias = "INTENCLR")]
170pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
171#[doc = "Interrupt Enable Clear"]
172pub mod intenclr;
173#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::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@intenset`]
174module"]
175#[doc(alias = "INTENSET")]
176pub type Intenset = crate::Reg<intenset::IntensetSpec>;
177#[doc = "Interrupt Enable Set"]
178pub mod intenset;
179#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::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@intflag`]
180module"]
181#[doc(alias = "INTFLAG")]
182pub type Intflag = crate::Reg<intflag::IntflagSpec>;
183#[doc = "Interrupt Flag Status and Clear"]
184pub mod intflag;
185#[doc = "RCAUSE (r) register accessor: Reset Cause\n\nYou can [`read`](crate::Reg::read) this register and get [`rcause::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rcause`]
186module"]
187#[doc(alias = "RCAUSE")]
188pub type Rcause = crate::Reg<rcause::RcauseSpec>;
189#[doc = "Reset Cause"]
190pub mod rcause;