1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 timehw: TIMEHW,
5 timelw: TIMELW,
6 timehr: TIMEHR,
7 timelr: TIMELR,
8 alarm0: ALARM0,
9 alarm1: ALARM1,
10 alarm2: ALARM2,
11 alarm3: ALARM3,
12 armed: ARMED,
13 timerawh: TIMERAWH,
14 timerawl: TIMERAWL,
15 dbgpause: DBGPAUSE,
16 pause: PAUSE,
17 intr: INTR,
18 inte: INTE,
19 intf: INTF,
20 ints: INTS,
21}
22impl RegisterBlock {
23#[doc = "0x00 - Write to bits 63:32 of time
24 always write timelw before timehw"]
25 #[inline(always)]
26pub const fn timehw(&self) -> &TIMEHW {
27&self.timehw
28 }
29#[doc = "0x04 - Write to bits 31:0 of time
30 writes do not get copied to time until timehw is written"]
31 #[inline(always)]
32pub const fn timelw(&self) -> &TIMELW {
33&self.timelw
34 }
35#[doc = "0x08 - Read from bits 63:32 of time
36 always read timelr before timehr"]
37 #[inline(always)]
38pub const fn timehr(&self) -> &TIMEHR {
39&self.timehr
40 }
41#[doc = "0x0c - Read from bits 31:0 of time"]
42 #[inline(always)]
43pub const fn timelr(&self) -> &TIMELR {
44&self.timelr
45 }
46#[doc = "0x10 - Arm alarm 0, and configure the time it will fire.
47 Once armed, the alarm fires when TIMER_ALARM0 == TIMELR.
48 The alarm will disarm itself once it fires, and can
49 be disarmed early using the ARMED status register."]
50 #[inline(always)]
51pub const fn alarm0(&self) -> &ALARM0 {
52&self.alarm0
53 }
54#[doc = "0x14 - Arm alarm 1, and configure the time it will fire.
55 Once armed, the alarm fires when TIMER_ALARM1 == TIMELR.
56 The alarm will disarm itself once it fires, and can
57 be disarmed early using the ARMED status register."]
58 #[inline(always)]
59pub const fn alarm1(&self) -> &ALARM1 {
60&self.alarm1
61 }
62#[doc = "0x18 - Arm alarm 2, and configure the time it will fire.
63 Once armed, the alarm fires when TIMER_ALARM2 == TIMELR.
64 The alarm will disarm itself once it fires, and can
65 be disarmed early using the ARMED status register."]
66 #[inline(always)]
67pub const fn alarm2(&self) -> &ALARM2 {
68&self.alarm2
69 }
70#[doc = "0x1c - Arm alarm 3, and configure the time it will fire.
71 Once armed, the alarm fires when TIMER_ALARM3 == TIMELR.
72 The alarm will disarm itself once it fires, and can
73 be disarmed early using the ARMED status register."]
74 #[inline(always)]
75pub const fn alarm3(&self) -> &ALARM3 {
76&self.alarm3
77 }
78#[doc = "0x20 - Indicates the armed/disarmed status of each alarm.
79 A write to the corresponding ALARMx register arms the alarm.
80 Alarms automatically disarm upon firing, but writing ones here
81 will disarm immediately without waiting to fire."]
82 #[inline(always)]
83pub const fn armed(&self) -> &ARMED {
84&self.armed
85 }
86#[doc = "0x24 - Raw read from bits 63:32 of time (no side effects)"]
87 #[inline(always)]
88pub const fn timerawh(&self) -> &TIMERAWH {
89&self.timerawh
90 }
91#[doc = "0x28 - Raw read from bits 31:0 of time (no side effects)"]
92 #[inline(always)]
93pub const fn timerawl(&self) -> &TIMERAWL {
94&self.timerawl
95 }
96#[doc = "0x2c - Set bits high to enable pause when the corresponding debug ports are active"]
97 #[inline(always)]
98pub const fn dbgpause(&self) -> &DBGPAUSE {
99&self.dbgpause
100 }
101#[doc = "0x30 - Set high to pause the timer"]
102 #[inline(always)]
103pub const fn pause(&self) -> &PAUSE {
104&self.pause
105 }
106#[doc = "0x34 - Raw Interrupts"]
107 #[inline(always)]
108pub const fn intr(&self) -> &INTR {
109&self.intr
110 }
111#[doc = "0x38 - Interrupt Enable"]
112 #[inline(always)]
113pub const fn inte(&self) -> &INTE {
114&self.inte
115 }
116#[doc = "0x3c - Interrupt Force"]
117 #[inline(always)]
118pub const fn intf(&self) -> &INTF {
119&self.intf
120 }
121#[doc = "0x40 - Interrupt status after masking & forcing"]
122 #[inline(always)]
123pub const fn ints(&self) -> &INTS {
124&self.ints
125 }
126}
127#[doc = "TIMEHW (w) register accessor: Write to bits 63:32 of time
128 always write timelw before timehw
129130You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`timehw::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
131132For information about available fields see [`mod@timehw`]
133module"]
134pub type TIMEHW = crate::Reg<timehw::TIMEHW_SPEC>;
135#[doc = "Write to bits 63:32 of time
136 always write timelw before timehw"]
137pub mod timehw;
138#[doc = "TIMELW (w) register accessor: Write to bits 31:0 of time
139 writes do not get copied to time until timehw is written
140141You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`timelw::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142143For information about available fields see [`mod@timelw`]
144module"]
145pub type TIMELW = crate::Reg<timelw::TIMELW_SPEC>;
146#[doc = "Write to bits 31:0 of time
147 writes do not get copied to time until timehw is written"]
148pub mod timelw;
149#[doc = "TIMEHR (r) register accessor: Read from bits 63:32 of time
150 always read timelr before timehr
151152You can [`read`](crate::generic::Reg::read) this register and get [`timehr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
153154For information about available fields see [`mod@timehr`]
155module"]
156pub type TIMEHR = crate::Reg<timehr::TIMEHR_SPEC>;
157#[doc = "Read from bits 63:32 of time
158 always read timelr before timehr"]
159pub mod timehr;
160#[doc = "TIMELR (r) register accessor: Read from bits 31:0 of time
161162You can [`read`](crate::generic::Reg::read) this register and get [`timelr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
163164For information about available fields see [`mod@timelr`]
165module"]
166pub type TIMELR = crate::Reg<timelr::TIMELR_SPEC>;
167#[doc = "Read from bits 31:0 of time"]
168pub mod timelr;
169#[doc = "ALARM0 (rw) register accessor: Arm alarm 0, and configure the time it will fire.
170 Once armed, the alarm fires when TIMER_ALARM0 == TIMELR.
171 The alarm will disarm itself once it fires, and can
172 be disarmed early using the ARMED status register.
173174You can [`read`](crate::generic::Reg::read) this register and get [`alarm0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
175176For information about available fields see [`mod@alarm0`]
177module"]
178pub type ALARM0 = crate::Reg<alarm0::ALARM0_SPEC>;
179#[doc = "Arm alarm 0, and configure the time it will fire.
180 Once armed, the alarm fires when TIMER_ALARM0 == TIMELR.
181 The alarm will disarm itself once it fires, and can
182 be disarmed early using the ARMED status register."]
183pub mod alarm0;
184#[doc = "ALARM1 (rw) register accessor: Arm alarm 1, and configure the time it will fire.
185 Once armed, the alarm fires when TIMER_ALARM1 == TIMELR.
186 The alarm will disarm itself once it fires, and can
187 be disarmed early using the ARMED status register.
188189You can [`read`](crate::generic::Reg::read) this register and get [`alarm1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
190191For information about available fields see [`mod@alarm1`]
192module"]
193pub type ALARM1 = crate::Reg<alarm1::ALARM1_SPEC>;
194#[doc = "Arm alarm 1, and configure the time it will fire.
195 Once armed, the alarm fires when TIMER_ALARM1 == TIMELR.
196 The alarm will disarm itself once it fires, and can
197 be disarmed early using the ARMED status register."]
198pub mod alarm1;
199#[doc = "ALARM2 (rw) register accessor: Arm alarm 2, and configure the time it will fire.
200 Once armed, the alarm fires when TIMER_ALARM2 == TIMELR.
201 The alarm will disarm itself once it fires, and can
202 be disarmed early using the ARMED status register.
203204You can [`read`](crate::generic::Reg::read) this register and get [`alarm2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
205206For information about available fields see [`mod@alarm2`]
207module"]
208pub type ALARM2 = crate::Reg<alarm2::ALARM2_SPEC>;
209#[doc = "Arm alarm 2, and configure the time it will fire.
210 Once armed, the alarm fires when TIMER_ALARM2 == TIMELR.
211 The alarm will disarm itself once it fires, and can
212 be disarmed early using the ARMED status register."]
213pub mod alarm2;
214#[doc = "ALARM3 (rw) register accessor: Arm alarm 3, and configure the time it will fire.
215 Once armed, the alarm fires when TIMER_ALARM3 == TIMELR.
216 The alarm will disarm itself once it fires, and can
217 be disarmed early using the ARMED status register.
218219You can [`read`](crate::generic::Reg::read) this register and get [`alarm3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
220221For information about available fields see [`mod@alarm3`]
222module"]
223pub type ALARM3 = crate::Reg<alarm3::ALARM3_SPEC>;
224#[doc = "Arm alarm 3, and configure the time it will fire.
225 Once armed, the alarm fires when TIMER_ALARM3 == TIMELR.
226 The alarm will disarm itself once it fires, and can
227 be disarmed early using the ARMED status register."]
228pub mod alarm3;
229#[doc = "ARMED (rw) register accessor: Indicates the armed/disarmed status of each alarm.
230 A write to the corresponding ALARMx register arms the alarm.
231 Alarms automatically disarm upon firing, but writing ones here
232 will disarm immediately without waiting to fire.
233234You can [`read`](crate::generic::Reg::read) this register and get [`armed::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`armed::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
235236For information about available fields see [`mod@armed`]
237module"]
238pub type ARMED = crate::Reg<armed::ARMED_SPEC>;
239#[doc = "Indicates the armed/disarmed status of each alarm.
240 A write to the corresponding ALARMx register arms the alarm.
241 Alarms automatically disarm upon firing, but writing ones here
242 will disarm immediately without waiting to fire."]
243pub mod armed;
244#[doc = "TIMERAWH (r) register accessor: Raw read from bits 63:32 of time (no side effects)
245246You can [`read`](crate::generic::Reg::read) this register and get [`timerawh::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
247248For information about available fields see [`mod@timerawh`]
249module"]
250pub type TIMERAWH = crate::Reg<timerawh::TIMERAWH_SPEC>;
251#[doc = "Raw read from bits 63:32 of time (no side effects)"]
252pub mod timerawh;
253#[doc = "TIMERAWL (r) register accessor: Raw read from bits 31:0 of time (no side effects)
254255You can [`read`](crate::generic::Reg::read) this register and get [`timerawl::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
256257For information about available fields see [`mod@timerawl`]
258module"]
259pub type TIMERAWL = crate::Reg<timerawl::TIMERAWL_SPEC>;
260#[doc = "Raw read from bits 31:0 of time (no side effects)"]
261pub mod timerawl;
262#[doc = "DBGPAUSE (rw) register accessor: Set bits high to enable pause when the corresponding debug ports are active
263264You can [`read`](crate::generic::Reg::read) this register and get [`dbgpause::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dbgpause::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
265266For information about available fields see [`mod@dbgpause`]
267module"]
268pub type DBGPAUSE = crate::Reg<dbgpause::DBGPAUSE_SPEC>;
269#[doc = "Set bits high to enable pause when the corresponding debug ports are active"]
270pub mod dbgpause;
271#[doc = "PAUSE (rw) register accessor: Set high to pause the timer
272273You can [`read`](crate::generic::Reg::read) this register and get [`pause::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`pause::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
274275For information about available fields see [`mod@pause`]
276module"]
277pub type PAUSE = crate::Reg<pause::PAUSE_SPEC>;
278#[doc = "Set high to pause the timer"]
279pub mod pause;
280#[doc = "INTR (rw) register accessor: Raw Interrupts
281282You can [`read`](crate::generic::Reg::read) this register and get [`intr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`intr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
283284For information about available fields see [`mod@intr`]
285module"]
286pub type INTR = crate::Reg<intr::INTR_SPEC>;
287#[doc = "Raw Interrupts"]
288pub mod intr;
289#[doc = "INTE (rw) register accessor: Interrupt Enable
290291You can [`read`](crate::generic::Reg::read) this register and get [`inte::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`inte::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
292293For information about available fields see [`mod@inte`]
294module"]
295pub type INTE = crate::Reg<inte::INTE_SPEC>;
296#[doc = "Interrupt Enable"]
297pub mod inte;
298#[doc = "INTF (rw) register accessor: Interrupt Force
299300You can [`read`](crate::generic::Reg::read) this register and get [`intf::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`intf::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
301302For information about available fields see [`mod@intf`]
303module"]
304pub type INTF = crate::Reg<intf::INTF_SPEC>;
305#[doc = "Interrupt Force"]
306pub mod intf;
307#[doc = "INTS (r) register accessor: Interrupt status after masking & forcing
308309You can [`read`](crate::generic::Reg::read) this register and get [`ints::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
310311For information about available fields see [`mod@ints`]
312module"]
313pub type INTS = crate::Reg<ints::INTS_SPEC>;
314#[doc = "Interrupt status after masking & forcing"]
315pub mod ints;