1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub tr: TR,
    #[doc = "0x04 - The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub dr: DR,
    #[doc = "0x08 - RTC control register"]
    pub cr: CR,
    #[doc = "0x0c - This register is write protected (except for RTC_ISR\\[13:8\\] bits). The write access procedure is described in RTC register write protection on page9."]
    pub isr: ISR,
    #[doc = "0x10 - This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub prer: PRER,
    #[doc = "0x14 - This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub wutr: WUTR,
    _reserved6: [u8; 4usize],
    #[doc = "0x1c - This register can be written only when ALRAWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub alrmar: ALRMAR,
    #[doc = "0x20 - This register can be written only when ALRBWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub alrmbr: ALRMBR,
    #[doc = "0x24 - RTC write protection register"]
    pub wpr: WPR,
    #[doc = "0x28 - RTC sub second register"]
    pub ssr: SSR,
    #[doc = "0x2c - This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub shiftr: SHIFTR,
    #[doc = "0x30 - The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
    pub tstr: TSTR,
    #[doc = "0x34 - The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
    pub tsdr: TSDR,
    #[doc = "0x38 - The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset."]
    pub tsssr: TSSSR,
    #[doc = "0x3c - This register is write protected. The write access procedure is described in RTC register write protection on page9."]
    pub calr: CALR,
    #[doc = "0x40 - RTC tamper and alternate function configuration register"]
    pub tampcr: TAMPCR,
    #[doc = "0x44 - This register can be written only when ALRAE is reset in RTC_CR register, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9"]
    pub alrmassr: ALRMASSR,
    #[doc = "0x48 - This register can be written only when ALRBE is reset in RTC_CR register, or in initialization mode.This register is write protected.The write access procedure is described in Section: RTC register write protection."]
    pub alrmbssr: ALRMBSSR,
    #[doc = "0x4c - RTC option register"]
    pub or: OR,
    #[doc = "0x50 - RTC backup registers"]
    pub bkp0r: BKP0R,
    #[doc = "0x54 - RTC backup registers"]
    pub bkp1r: BKP1R,
    #[doc = "0x58 - RTC backup registers"]
    pub bkp2r: BKP2R,
    #[doc = "0x5c - RTC backup registers"]
    pub bkp3r: BKP3R,
    #[doc = "0x60 - RTC backup registers"]
    pub bkp4r: BKP4R,
    #[doc = "0x64 - RTC backup registers"]
    pub bkp5r: BKP5R,
    #[doc = "0x68 - RTC backup registers"]
    pub bkp6r: BKP6R,
    #[doc = "0x6c - RTC backup registers"]
    pub bkp7r: BKP7R,
    #[doc = "0x70 - RTC backup registers"]
    pub bkp8r: BKP8R,
    #[doc = "0x74 - RTC backup registers"]
    pub bkp9r: BKP9R,
    #[doc = "0x78 - RTC backup registers"]
    pub bkp10r: BKP10R,
    #[doc = "0x7c - RTC backup registers"]
    pub bkp11r: BKP11R,
    #[doc = "0x80 - RTC backup registers"]
    pub bkp12r: BKP12R,
    #[doc = "0x84 - RTC backup registers"]
    pub bkp13r: BKP13R,
    #[doc = "0x88 - RTC backup registers"]
    pub bkp14r: BKP14R,
    #[doc = "0x8c - RTC backup registers"]
    pub bkp15r: BKP15R,
    #[doc = "0x90 - RTC backup registers"]
    pub bkp16r: BKP16R,
    #[doc = "0x94 - RTC backup registers"]
    pub bkp17r: BKP17R,
    #[doc = "0x98 - RTC backup registers"]
    pub bkp18r: BKP18R,
    #[doc = "0x9c - RTC backup registers"]
    pub bkp19r: BKP19R,
    #[doc = "0xa0 - RTC backup registers"]
    pub bkp20r: BKP20R,
    #[doc = "0xa4 - RTC backup registers"]
    pub bkp21r: BKP21R,
    #[doc = "0xa8 - RTC backup registers"]
    pub bkp22r: BKP22R,
    #[doc = "0xac - RTC backup registers"]
    pub bkp23r: BKP23R,
    #[doc = "0xb0 - RTC backup registers"]
    pub bkp24r: BKP24R,
    #[doc = "0xb4 - RTC backup registers"]
    pub bkp25r: BKP25R,
    #[doc = "0xb8 - RTC backup registers"]
    pub bkp26r: BKP26R,
    #[doc = "0xbc - RTC backup registers"]
    pub bkp27r: BKP27R,
    #[doc = "0xc0 - RTC backup registers"]
    pub bkp28r: BKP28R,
    #[doc = "0xc4 - RTC backup registers"]
    pub bkp29r: BKP29R,
    #[doc = "0xc8 - RTC backup registers"]
    pub bkp30r: BKP30R,
    #[doc = "0xcc - RTC backup registers"]
    pub bkp31r: BKP31R,
}
#[doc = "The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct TR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod tr;
#[doc = "The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct DR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod dr;
#[doc = "RTC control register"]
pub struct CR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC control register"]
pub mod cr;
#[doc = "This register is write protected (except for RTC_ISR\\[13:8\\] bits). The write access procedure is described in RTC register write protection on page9."]
pub struct ISR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register is write protected (except for RTC_ISR\\[13:8\\] bits). The write access procedure is described in RTC register write protection on page9."]
pub mod isr;
#[doc = "This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct PRER {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod prer;
#[doc = "This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct WUTR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod wutr;
#[doc = "This register can be written only when ALRAWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct ALRMAR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRAWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod alrmar;
#[doc = "This register can be written only when ALRBWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct ALRMBR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRBWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod alrmbr;
#[doc = "RTC write protection register"]
pub struct WPR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC write protection register"]
pub mod wpr;
#[doc = "RTC sub second register"]
pub struct SSR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC sub second register"]
pub mod ssr;
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct SHIFTR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod shiftr;
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub struct TSTR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub mod tstr;
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub struct TSDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub mod tsdr;
#[doc = "The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset."]
pub struct TSSSR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset."]
pub mod tsssr;
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct CALR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod calr;
#[doc = "RTC tamper and alternate function configuration register"]
pub struct TAMPCR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC tamper and alternate function configuration register"]
pub mod tampcr;
#[doc = "This register can be written only when ALRAE is reset in RTC_CR register, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9"]
pub struct ALRMASSR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRAE is reset in RTC_CR register, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9"]
pub mod alrmassr;
#[doc = "This register can be written only when ALRBE is reset in RTC_CR register, or in initialization mode.This register is write protected.The write access procedure is described in Section: RTC register write protection."]
pub struct ALRMBSSR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRBE is reset in RTC_CR register, or in initialization mode.This register is write protected.The write access procedure is described in Section: RTC register write protection."]
pub mod alrmbssr;
#[doc = "RTC backup registers"]
pub struct BKP0R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp0r;
#[doc = "RTC backup registers"]
pub struct BKP1R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp1r;
#[doc = "RTC backup registers"]
pub struct BKP2R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp2r;
#[doc = "RTC backup registers"]
pub struct BKP3R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp3r;
#[doc = "RTC backup registers"]
pub struct BKP4R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp4r;
#[doc = "RTC backup registers"]
pub struct BKP5R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp5r;
#[doc = "RTC backup registers"]
pub struct BKP6R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp6r;
#[doc = "RTC backup registers"]
pub struct BKP7R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp7r;
#[doc = "RTC backup registers"]
pub struct BKP8R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp8r;
#[doc = "RTC backup registers"]
pub struct BKP9R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp9r;
#[doc = "RTC backup registers"]
pub struct BKP10R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp10r;
#[doc = "RTC backup registers"]
pub struct BKP11R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp11r;
#[doc = "RTC backup registers"]
pub struct BKP12R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp12r;
#[doc = "RTC backup registers"]
pub struct BKP13R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp13r;
#[doc = "RTC backup registers"]
pub struct BKP14R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp14r;
#[doc = "RTC backup registers"]
pub struct BKP15R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp15r;
#[doc = "RTC option register"]
pub struct OR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC option register"]
pub mod or;
#[doc = "RTC backup registers"]
pub struct BKP16R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp16r;
#[doc = "RTC backup registers"]
pub struct BKP17R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp17r;
#[doc = "RTC backup registers"]
pub struct BKP18R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp18r;
#[doc = "RTC backup registers"]
pub struct BKP19R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp19r;
#[doc = "RTC backup registers"]
pub struct BKP20R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp20r;
#[doc = "RTC backup registers"]
pub struct BKP21R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp21r;
#[doc = "RTC backup registers"]
pub struct BKP22R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp22r;
#[doc = "RTC backup registers"]
pub struct BKP23R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp23r;
#[doc = "RTC backup registers"]
pub struct BKP24R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp24r;
#[doc = "RTC backup registers"]
pub struct BKP25R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp25r;
#[doc = "RTC backup registers"]
pub struct BKP26R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp26r;
#[doc = "RTC backup registers"]
pub struct BKP27R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp27r;
#[doc = "RTC backup registers"]
pub struct BKP28R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp28r;
#[doc = "RTC backup registers"]
pub struct BKP29R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp29r;
#[doc = "RTC backup registers"]
pub struct BKP30R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp30r;
#[doc = "RTC backup registers"]
pub struct BKP31R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp31r;