1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - 64-Hz Counter"]
5 pub r64cnt: R64CNT,
6 _reserved1: [u8; 0x01],
7 _reserved_1_bcnt0: [u8; 0x01],
8 _reserved2: [u8; 0x01],
9 _reserved_2_bcnt1: [u8; 0x01],
10 _reserved3: [u8; 0x01],
11 _reserved_3_bcnt2: [u8; 0x01],
12 _reserved4: [u8; 0x01],
13 _reserved_4_bcnt3: [u8; 0x01],
14 _reserved5: [u8; 0x01],
15 #[doc = "0x0a - Day Counter"]
16 pub rdaycnt: RDAYCNT,
17 _reserved6: [u8; 0x01],
18 #[doc = "0x0c - Month Counter"]
19 pub rmoncnt: RMONCNT,
20 _reserved7: [u8; 0x01],
21 #[doc = "0x0e - Year Counter"]
22 pub ryrcnt: RYRCNT,
23 _reserved_8_rsecar: [u8; 0x01],
24 _reserved9: [u8; 0x01],
25 _reserved_9_rminar: [u8; 0x01],
26 _reserved10: [u8; 0x01],
27 _reserved_10_rhrar: [u8; 0x01],
28 _reserved11: [u8; 0x01],
29 _reserved_11_rwkar: [u8; 0x01],
30 _reserved12: [u8; 0x01],
31 _reserved_12_rdayar: [u8; 0x01],
32 _reserved13: [u8; 0x01],
33 _reserved_13_rmonar: [u8; 0x01],
34 _reserved14: [u8; 0x01],
35 _reserved_14_ryrar: [u8; 0x02],
36 _reserved_15_ryraren: [u8; 0x01],
37 _reserved16: [u8; 0x03],
38 #[doc = "0x22 - RTC Control Register 1"]
39 pub rcr1: RCR1,
40 _reserved17: [u8; 0x01],
41 _reserved_17_rcr: [u8; 0x01],
42 _reserved18: [u8; 0x03],
43 #[doc = "0x28 - RTC Control Register 4"]
44 pub rcr4: RCR4,
45 _reserved19: [u8; 0x01],
46 #[doc = "0x2a - Frequency Register H"]
47 pub rfrh: RFRH,
48 #[doc = "0x2c - Frequency Register L"]
49 pub rfrl: RFRL,
50 #[doc = "0x2e - Time Error Adjustment Register"]
51 pub radj: RADJ,
52 _reserved22: [u8; 0x11],
53 #[doc = "0x40 - Time Capture Control Register 0"]
54 pub rtccr0: RTCCR0,
55 _reserved23: [u8; 0x11],
56 _reserved_23_rseccp0: [u8; 0x01],
57 _reserved24: [u8; 0x01],
58 _reserved_24_rmincp0: [u8; 0x01],
59 _reserved25: [u8; 0x01],
60 _reserved_25_rhrcp0: [u8; 0x01],
61 _reserved26: [u8; 0x03],
62 _reserved_26_rdaycp0: [u8; 0x01],
63 _reserved27: [u8; 0x01],
64 #[doc = "0x5c - Month Capture Register 0"]
65 pub rmoncp0: RMONCP0,
66}
67impl RegisterBlock {
68 #[doc = "0x02 - Second Counter (in Calendar Count Mode)"]
69 #[inline(always)]
70 pub const fn rseccnt(&self) -> &RSECCNT {
71 unsafe { &*(self as *const Self).cast::<u8>().add(2usize).cast() }
72 }
73 #[doc = "0x02 - Binary Counter %s"]
74 #[inline(always)]
75 pub const fn bcnt0(&self) -> &BCNT {
76 unsafe { &*(self as *const Self).cast::<u8>().add(2usize).cast() }
77 }
78 #[doc = "0x04 - Minute Counter (in Calendar Count Mode)"]
79 #[inline(always)]
80 pub const fn rmincnt(&self) -> &RMINCNT {
81 unsafe { &*(self as *const Self).cast::<u8>().add(4usize).cast() }
82 }
83 #[doc = "0x04 - Binary Counter %s"]
84 #[inline(always)]
85 pub const fn bcnt1(&self) -> &BCNT {
86 unsafe { &*(self as *const Self).cast::<u8>().add(4usize).cast() }
87 }
88 #[doc = "0x06 - Hour Counter (in Calendar Count Mode)"]
89 #[inline(always)]
90 pub const fn rhrcnt(&self) -> &RHRCNT {
91 unsafe { &*(self as *const Self).cast::<u8>().add(6usize).cast() }
92 }
93 #[doc = "0x06 - Binary Counter %s"]
94 #[inline(always)]
95 pub const fn bcnt2(&self) -> &BCNT {
96 unsafe { &*(self as *const Self).cast::<u8>().add(6usize).cast() }
97 }
98 #[doc = "0x08 - Day-of-Week Counter (in Calendar Count Mode)"]
99 #[inline(always)]
100 pub const fn rwkcnt(&self) -> &RWKCNT {
101 unsafe { &*(self as *const Self).cast::<u8>().add(8usize).cast() }
102 }
103 #[doc = "0x08 - Binary Counter %s"]
104 #[inline(always)]
105 pub const fn bcnt3(&self) -> &BCNT {
106 unsafe { &*(self as *const Self).cast::<u8>().add(8usize).cast() }
107 }
108 #[doc = "0x10 - Second Alarm Register (in Calendar Count Mode)"]
109 #[inline(always)]
110 pub const fn rsecar(&self) -> &RSECAR {
111 unsafe { &*(self as *const Self).cast::<u8>().add(16usize).cast() }
112 }
113 #[doc = "0x10 - Binary Counter %s Alarm Register"]
114 #[inline(always)]
115 pub const fn bcnt0ar(&self) -> &BCNTAR {
116 unsafe { &*(self as *const Self).cast::<u8>().add(16usize).cast() }
117 }
118 #[doc = "0x12 - Minute Alarm Register (in Calendar Count Mode)"]
119 #[inline(always)]
120 pub const fn rminar(&self) -> &RMINAR {
121 unsafe { &*(self as *const Self).cast::<u8>().add(18usize).cast() }
122 }
123 #[doc = "0x12 - Binary Counter %s Alarm Register"]
124 #[inline(always)]
125 pub const fn bcnt1ar(&self) -> &BCNTAR {
126 unsafe { &*(self as *const Self).cast::<u8>().add(18usize).cast() }
127 }
128 #[doc = "0x14 - Hour Alarm Register (in Calendar Count Mode)"]
129 #[inline(always)]
130 pub const fn rhrar(&self) -> &RHRAR {
131 unsafe { &*(self as *const Self).cast::<u8>().add(20usize).cast() }
132 }
133 #[doc = "0x14 - Binary Counter %s Alarm Register"]
134 #[inline(always)]
135 pub const fn bcnt2ar(&self) -> &BCNTAR {
136 unsafe { &*(self as *const Self).cast::<u8>().add(20usize).cast() }
137 }
138 #[doc = "0x16 - Day-of-Week Alarm Register (in Calendar Count Mode)"]
139 #[inline(always)]
140 pub const fn rwkar(&self) -> &RWKAR {
141 unsafe { &*(self as *const Self).cast::<u8>().add(22usize).cast() }
142 }
143 #[doc = "0x16 - Binary Counter %s Alarm Register"]
144 #[inline(always)]
145 pub const fn bcnt3ar(&self) -> &BCNTAR {
146 unsafe { &*(self as *const Self).cast::<u8>().add(22usize).cast() }
147 }
148 #[doc = "0x18 - Date Alarm Register (in Calendar Count Mode)"]
149 #[inline(always)]
150 pub const fn rdayar(&self) -> &RDAYAR {
151 unsafe { &*(self as *const Self).cast::<u8>().add(24usize).cast() }
152 }
153 #[doc = "0x18 - Binary Counter %s Alarm Enable Register"]
154 #[inline(always)]
155 pub const fn bcnt0aer(&self) -> &BCNTAER {
156 unsafe { &*(self as *const Self).cast::<u8>().add(24usize).cast() }
157 }
158 #[doc = "0x1a - Month Alarm Register (in Calendar Count Mode)"]
159 #[inline(always)]
160 pub const fn rmonar(&self) -> &RMONAR {
161 unsafe { &*(self as *const Self).cast::<u8>().add(26usize).cast() }
162 }
163 #[doc = "0x1a - Binary Counter %s Alarm Enable Register"]
164 #[inline(always)]
165 pub const fn bcnt1aer(&self) -> &BCNTAER {
166 unsafe { &*(self as *const Self).cast::<u8>().add(26usize).cast() }
167 }
168 #[doc = "0x1c - Year Alarm Register (in Calendar Count Mode)"]
169 #[inline(always)]
170 pub const fn ryrar(&self) -> &RYRAR {
171 unsafe { &*(self as *const Self).cast::<u8>().add(28usize).cast() }
172 }
173 #[doc = "0x1c - Binary Counter 2 Alarm Enable Register"]
174 #[inline(always)]
175 pub const fn bcnt2aer(&self) -> &BCNT2AER {
176 unsafe { &*(self as *const Self).cast::<u8>().add(28usize).cast() }
177 }
178 #[doc = "0x1e - Year Alarm Enable Register (in Calendar Count Mode)"]
179 #[inline(always)]
180 pub const fn ryraren(&self) -> &RYRAREN {
181 unsafe { &*(self as *const Self).cast::<u8>().add(30usize).cast() }
182 }
183 #[doc = "0x1e - Binary Counter 3 Alarm Enable Register"]
184 #[inline(always)]
185 pub const fn bcnt3aer(&self) -> &BCNT3AER {
186 unsafe { &*(self as *const Self).cast::<u8>().add(30usize).cast() }
187 }
188 #[doc = "0x24 - RTC Control Register 2 (in Binary Count Mode)"]
189 #[inline(always)]
190 pub const fn rcr2_bcnt(&self) -> &RCR2_BCNT {
191 unsafe { &*(self as *const Self).cast::<u8>().add(36usize).cast() }
192 }
193 #[doc = "0x24 - RTC Control Register 2 (in Calendar Count Mode)"]
194 #[inline(always)]
195 pub const fn rcr2(&self) -> &RCR2 {
196 unsafe { &*(self as *const Self).cast::<u8>().add(36usize).cast() }
197 }
198 #[doc = "0x52 - Second Capture Register 0"]
199 #[inline(always)]
200 pub const fn rseccp0(&self) -> &RSECCP0 {
201 unsafe { &*(self as *const Self).cast::<u8>().add(82usize).cast() }
202 }
203 #[doc = "0x52 - BCNT0 Capture Register 0"]
204 #[inline(always)]
205 pub const fn bcnt0cp0(&self) -> &BCNT0CP0 {
206 unsafe { &*(self as *const Self).cast::<u8>().add(82usize).cast() }
207 }
208 #[doc = "0x54 - Minute Capture Register 0"]
209 #[inline(always)]
210 pub const fn rmincp0(&self) -> &RMINCP0 {
211 unsafe { &*(self as *const Self).cast::<u8>().add(84usize).cast() }
212 }
213 #[doc = "0x54 - BCNT1 Capture Register 0"]
214 #[inline(always)]
215 pub const fn bcnt1cp0(&self) -> &BCNT1CP0 {
216 unsafe { &*(self as *const Self).cast::<u8>().add(84usize).cast() }
217 }
218 #[doc = "0x56 - Hour Capture Register 0"]
219 #[inline(always)]
220 pub const fn rhrcp0(&self) -> &RHRCP0 {
221 unsafe { &*(self as *const Self).cast::<u8>().add(86usize).cast() }
222 }
223 #[doc = "0x56 - BCNT2 Capture Register 0"]
224 #[inline(always)]
225 pub const fn bcnt2cp0(&self) -> &BCNT2CP0 {
226 unsafe { &*(self as *const Self).cast::<u8>().add(86usize).cast() }
227 }
228 #[doc = "0x5a - Date Capture Register 0"]
229 #[inline(always)]
230 pub const fn rdaycp0(&self) -> &RDAYCP0 {
231 unsafe { &*(self as *const Self).cast::<u8>().add(90usize).cast() }
232 }
233 #[doc = "0x5a - BCNT3 Capture Register 0"]
234 #[inline(always)]
235 pub const fn bcnt3cp0(&self) -> &BCNT3CP0 {
236 unsafe { &*(self as *const Self).cast::<u8>().add(90usize).cast() }
237 }
238}
239#[doc = "R64CNT (r) register accessor: an alias for `Reg<R64CNT_SPEC>`"]
240pub type R64CNT = crate::Reg<r64cnt::R64CNT_SPEC>;
241#[doc = "64-Hz Counter"]
242pub mod r64cnt;
243#[doc = "BCNT (rw) register accessor: an alias for `Reg<BCNT_SPEC>`"]
244pub type BCNT = crate::Reg<bcnt::BCNT_SPEC>;
245#[doc = "Binary Counter %s"]
246pub mod bcnt;
247#[doc = "RSECCNT (rw) register accessor: an alias for `Reg<RSECCNT_SPEC>`"]
248pub type RSECCNT = crate::Reg<rseccnt::RSECCNT_SPEC>;
249#[doc = "Second Counter (in Calendar Count Mode)"]
250pub mod rseccnt;
251#[doc = "RMINCNT (rw) register accessor: an alias for `Reg<RMINCNT_SPEC>`"]
252pub type RMINCNT = crate::Reg<rmincnt::RMINCNT_SPEC>;
253#[doc = "Minute Counter (in Calendar Count Mode)"]
254pub mod rmincnt;
255#[doc = "RHRCNT (rw) register accessor: an alias for `Reg<RHRCNT_SPEC>`"]
256pub type RHRCNT = crate::Reg<rhrcnt::RHRCNT_SPEC>;
257#[doc = "Hour Counter (in Calendar Count Mode)"]
258pub mod rhrcnt;
259#[doc = "RWKCNT (rw) register accessor: an alias for `Reg<RWKCNT_SPEC>`"]
260pub type RWKCNT = crate::Reg<rwkcnt::RWKCNT_SPEC>;
261#[doc = "Day-of-Week Counter (in Calendar Count Mode)"]
262pub mod rwkcnt;
263#[doc = "RDAYCNT (rw) register accessor: an alias for `Reg<RDAYCNT_SPEC>`"]
264pub type RDAYCNT = crate::Reg<rdaycnt::RDAYCNT_SPEC>;
265#[doc = "Day Counter"]
266pub mod rdaycnt;
267#[doc = "RMONCNT (rw) register accessor: an alias for `Reg<RMONCNT_SPEC>`"]
268pub type RMONCNT = crate::Reg<rmoncnt::RMONCNT_SPEC>;
269#[doc = "Month Counter"]
270pub mod rmoncnt;
271#[doc = "RYRCNT (rw) register accessor: an alias for `Reg<RYRCNT_SPEC>`"]
272pub type RYRCNT = crate::Reg<ryrcnt::RYRCNT_SPEC>;
273#[doc = "Year Counter"]
274pub mod ryrcnt;
275#[doc = "BCNTAR (rw) register accessor: an alias for `Reg<BCNTAR_SPEC>`"]
276pub type BCNTAR = crate::Reg<bcntar::BCNTAR_SPEC>;
277#[doc = "Binary Counter %s Alarm Register"]
278pub mod bcntar;
279#[doc = "RSECAR (rw) register accessor: an alias for `Reg<RSECAR_SPEC>`"]
280pub type RSECAR = crate::Reg<rsecar::RSECAR_SPEC>;
281#[doc = "Second Alarm Register (in Calendar Count Mode)"]
282pub mod rsecar;
283#[doc = "RMINAR (rw) register accessor: an alias for `Reg<RMINAR_SPEC>`"]
284pub type RMINAR = crate::Reg<rminar::RMINAR_SPEC>;
285#[doc = "Minute Alarm Register (in Calendar Count Mode)"]
286pub mod rminar;
287#[doc = "RHRAR (rw) register accessor: an alias for `Reg<RHRAR_SPEC>`"]
288pub type RHRAR = crate::Reg<rhrar::RHRAR_SPEC>;
289#[doc = "Hour Alarm Register (in Calendar Count Mode)"]
290pub mod rhrar;
291#[doc = "RWKAR (rw) register accessor: an alias for `Reg<RWKAR_SPEC>`"]
292pub type RWKAR = crate::Reg<rwkar::RWKAR_SPEC>;
293#[doc = "Day-of-Week Alarm Register (in Calendar Count Mode)"]
294pub mod rwkar;
295#[doc = "BCNTAER (rw) register accessor: an alias for `Reg<BCNTAER_SPEC>`"]
296pub type BCNTAER = crate::Reg<bcntaer::BCNTAER_SPEC>;
297#[doc = "Binary Counter %s Alarm Enable Register"]
298pub mod bcntaer;
299#[doc = "RDAYAR (rw) register accessor: an alias for `Reg<RDAYAR_SPEC>`"]
300pub type RDAYAR = crate::Reg<rdayar::RDAYAR_SPEC>;
301#[doc = "Date Alarm Register (in Calendar Count Mode)"]
302pub mod rdayar;
303#[doc = "RMONAR (rw) register accessor: an alias for `Reg<RMONAR_SPEC>`"]
304pub type RMONAR = crate::Reg<rmonar::RMONAR_SPEC>;
305#[doc = "Month Alarm Register (in Calendar Count Mode)"]
306pub mod rmonar;
307#[doc = "BCNT2AER (rw) register accessor: an alias for `Reg<BCNT2AER_SPEC>`"]
308pub type BCNT2AER = crate::Reg<bcnt2aer::BCNT2AER_SPEC>;
309#[doc = "Binary Counter 2 Alarm Enable Register"]
310pub mod bcnt2aer;
311#[doc = "RYRAR (rw) register accessor: an alias for `Reg<RYRAR_SPEC>`"]
312pub type RYRAR = crate::Reg<ryrar::RYRAR_SPEC>;
313#[doc = "Year Alarm Register (in Calendar Count Mode)"]
314pub mod ryrar;
315pub use bcntaer as bcnt3aer;
316pub use BCNTAER as BCNT3AER;
317#[doc = "RYRAREN (rw) register accessor: an alias for `Reg<RYRAREN_SPEC>`"]
318pub type RYRAREN = crate::Reg<ryraren::RYRAREN_SPEC>;
319#[doc = "Year Alarm Enable Register (in Calendar Count Mode)"]
320pub mod ryraren;
321#[doc = "RCR1 (rw) register accessor: an alias for `Reg<RCR1_SPEC>`"]
322pub type RCR1 = crate::Reg<rcr1::RCR1_SPEC>;
323#[doc = "RTC Control Register 1"]
324pub mod rcr1;
325#[doc = "RCR2 (rw) register accessor: an alias for `Reg<RCR2_SPEC>`"]
326pub type RCR2 = crate::Reg<rcr2::RCR2_SPEC>;
327#[doc = "RTC Control Register 2 (in Calendar Count Mode)"]
328pub mod rcr2;
329#[doc = "RCR2_BCNT (rw) register accessor: an alias for `Reg<RCR2_BCNT_SPEC>`"]
330pub type RCR2_BCNT = crate::Reg<rcr2_bcnt::RCR2_BCNT_SPEC>;
331#[doc = "RTC Control Register 2 (in Binary Count Mode)"]
332pub mod rcr2_bcnt;
333#[doc = "RCR4 (rw) register accessor: an alias for `Reg<RCR4_SPEC>`"]
334pub type RCR4 = crate::Reg<rcr4::RCR4_SPEC>;
335#[doc = "RTC Control Register 4"]
336pub mod rcr4;
337#[doc = "RFRH (rw) register accessor: an alias for `Reg<RFRH_SPEC>`"]
338pub type RFRH = crate::Reg<rfrh::RFRH_SPEC>;
339#[doc = "Frequency Register H"]
340pub mod rfrh;
341#[doc = "RFRL (rw) register accessor: an alias for `Reg<RFRL_SPEC>`"]
342pub type RFRL = crate::Reg<rfrl::RFRL_SPEC>;
343#[doc = "Frequency Register L"]
344pub mod rfrl;
345#[doc = "RADJ (rw) register accessor: an alias for `Reg<RADJ_SPEC>`"]
346pub type RADJ = crate::Reg<radj::RADJ_SPEC>;
347#[doc = "Time Error Adjustment Register"]
348pub mod radj;
349#[doc = "RTCCR0 (rw) register accessor: an alias for `Reg<RTCCR0_SPEC>`"]
350pub type RTCCR0 = crate::Reg<rtccr0::RTCCR0_SPEC>;
351#[doc = "Time Capture Control Register 0"]
352pub mod rtccr0;
353#[doc = "BCNT0CP0 (r) register accessor: an alias for `Reg<BCNT0CP0_SPEC>`"]
354pub type BCNT0CP0 = crate::Reg<bcnt0cp0::BCNT0CP0_SPEC>;
355#[doc = "BCNT0 Capture Register 0"]
356pub mod bcnt0cp0;
357#[doc = "RSECCP0 (r) register accessor: an alias for `Reg<RSECCP0_SPEC>`"]
358pub type RSECCP0 = crate::Reg<rseccp0::RSECCP0_SPEC>;
359#[doc = "Second Capture Register 0"]
360pub mod rseccp0;
361#[doc = "BCNT1CP0 (r) register accessor: an alias for `Reg<BCNT1CP0_SPEC>`"]
362pub type BCNT1CP0 = crate::Reg<bcnt1cp0::BCNT1CP0_SPEC>;
363#[doc = "BCNT1 Capture Register 0"]
364pub mod bcnt1cp0;
365#[doc = "RMINCP0 (r) register accessor: an alias for `Reg<RMINCP0_SPEC>`"]
366pub type RMINCP0 = crate::Reg<rmincp0::RMINCP0_SPEC>;
367#[doc = "Minute Capture Register 0"]
368pub mod rmincp0;
369#[doc = "BCNT2CP0 (r) register accessor: an alias for `Reg<BCNT2CP0_SPEC>`"]
370pub type BCNT2CP0 = crate::Reg<bcnt2cp0::BCNT2CP0_SPEC>;
371#[doc = "BCNT2 Capture Register 0"]
372pub mod bcnt2cp0;
373#[doc = "RHRCP0 (r) register accessor: an alias for `Reg<RHRCP0_SPEC>`"]
374pub type RHRCP0 = crate::Reg<rhrcp0::RHRCP0_SPEC>;
375#[doc = "Hour Capture Register 0"]
376pub mod rhrcp0;
377#[doc = "BCNT3CP0 (r) register accessor: an alias for `Reg<BCNT3CP0_SPEC>`"]
378pub type BCNT3CP0 = crate::Reg<bcnt3cp0::BCNT3CP0_SPEC>;
379#[doc = "BCNT3 Capture Register 0"]
380pub mod bcnt3cp0;
381#[doc = "RDAYCP0 (r) register accessor: an alias for `Reg<RDAYCP0_SPEC>`"]
382pub type RDAYCP0 = crate::Reg<rdaycp0::RDAYCP0_SPEC>;
383#[doc = "Date Capture Register 0"]
384pub mod rdaycp0;
385#[doc = "RMONCP0 (r) register accessor: an alias for `Reg<RMONCP0_SPEC>`"]
386pub type RMONCP0 = crate::Reg<rmoncp0::RMONCP0_SPEC>;
387#[doc = "Month Capture Register 0"]
388pub mod rmoncp0;