stm32u5/stm32u585/tamp.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 cr1: CR1,
6 cr2: CR2,
7 cr3: CR3,
8 fltcr: FLTCR,
9 atcr1: ATCR1,
10 atseedr: ATSEEDR,
11 ator: ATOR,
12 atcr2: ATCR2,
13 seccfgr: SECCFGR,
14 privcr: PRIVCR,
15 _reserved10: [u8; 0x04],
16 ier: IER,
17 sr: SR,
18 misr: MISR,
19 smisr: SMISR,
20 scr: SCR,
21 count1r: COUNT1R,
22 _reserved16: [u8; 0x10],
23 ercfgr: ERCFGR,
24 _reserved17: [u8; 0xa8],
25 bkpr: [BKPR; 32],
26}
27impl RegisterBlock {
28 ///0x00 - TAMP control register 1
29 #[inline(always)]
30 pub const fn cr1(&self) -> &CR1 {
31 &self.cr1
32 }
33 ///0x04 - TAMP control register 2
34 #[inline(always)]
35 pub const fn cr2(&self) -> &CR2 {
36 &self.cr2
37 }
38 ///0x08 - TAMP control register 3
39 #[inline(always)]
40 pub const fn cr3(&self) -> &CR3 {
41 &self.cr3
42 }
43 ///0x0c - TAMP filter control register
44 #[inline(always)]
45 pub const fn fltcr(&self) -> &FLTCR {
46 &self.fltcr
47 }
48 ///0x10 - TAMP active tamper control register 1
49 #[inline(always)]
50 pub const fn atcr1(&self) -> &ATCR1 {
51 &self.atcr1
52 }
53 ///0x14 - TAMP active tamper seed register
54 #[inline(always)]
55 pub const fn atseedr(&self) -> &ATSEEDR {
56 &self.atseedr
57 }
58 ///0x18 - TAMP active tamper output register
59 #[inline(always)]
60 pub const fn ator(&self) -> &ATOR {
61 &self.ator
62 }
63 ///0x1c - TAMP active tamper control register 2
64 #[inline(always)]
65 pub const fn atcr2(&self) -> &ATCR2 {
66 &self.atcr2
67 }
68 ///0x20 - TAMP secure mode register
69 #[inline(always)]
70 pub const fn seccfgr(&self) -> &SECCFGR {
71 &self.seccfgr
72 }
73 ///0x24 - TAMP privilege mode control register
74 #[inline(always)]
75 pub const fn privcr(&self) -> &PRIVCR {
76 &self.privcr
77 }
78 ///0x2c - TAMP interrupt enable register
79 #[inline(always)]
80 pub const fn ier(&self) -> &IER {
81 &self.ier
82 }
83 ///0x30 - TAMP status register
84 #[inline(always)]
85 pub const fn sr(&self) -> &SR {
86 &self.sr
87 }
88 ///0x34 - TAMP non-secure masked interrupt status register
89 #[inline(always)]
90 pub const fn misr(&self) -> &MISR {
91 &self.misr
92 }
93 ///0x38 - TAMP secure masked interrupt status register
94 #[inline(always)]
95 pub const fn smisr(&self) -> &SMISR {
96 &self.smisr
97 }
98 ///0x3c - TAMP status clear register
99 #[inline(always)]
100 pub const fn scr(&self) -> &SCR {
101 &self.scr
102 }
103 ///0x40 - TAMP monotonic counter 1 register
104 #[inline(always)]
105 pub const fn count1r(&self) -> &COUNT1R {
106 &self.count1r
107 }
108 ///0x54 - TAMP erase configuration register
109 #[inline(always)]
110 pub const fn ercfgr(&self) -> &ERCFGR {
111 &self.ercfgr
112 }
113 ///0x100..0x180 - TAMP backup %s register
114 #[inline(always)]
115 pub const fn bkpr(&self, n: usize) -> &BKPR {
116 &self.bkpr[n]
117 }
118 ///Iterator for array of:
119 ///0x100..0x180 - TAMP backup %s register
120 #[inline(always)]
121 pub fn bkpr_iter(&self) -> impl Iterator<Item = &BKPR> {
122 self.bkpr.iter()
123 }
124 ///0x100 - TAMP backup 0 register
125 #[inline(always)]
126 pub const fn bkp0r(&self) -> &BKPR {
127 self.bkpr(0)
128 }
129 ///0x104 - TAMP backup 1 register
130 #[inline(always)]
131 pub const fn bkp1r(&self) -> &BKPR {
132 self.bkpr(1)
133 }
134 ///0x108 - TAMP backup 2 register
135 #[inline(always)]
136 pub const fn bkp2r(&self) -> &BKPR {
137 self.bkpr(2)
138 }
139 ///0x10c - TAMP backup 3 register
140 #[inline(always)]
141 pub const fn bkp3r(&self) -> &BKPR {
142 self.bkpr(3)
143 }
144 ///0x110 - TAMP backup 4 register
145 #[inline(always)]
146 pub const fn bkp4r(&self) -> &BKPR {
147 self.bkpr(4)
148 }
149 ///0x114 - TAMP backup 5 register
150 #[inline(always)]
151 pub const fn bkp5r(&self) -> &BKPR {
152 self.bkpr(5)
153 }
154 ///0x118 - TAMP backup 6 register
155 #[inline(always)]
156 pub const fn bkp6r(&self) -> &BKPR {
157 self.bkpr(6)
158 }
159 ///0x11c - TAMP backup 7 register
160 #[inline(always)]
161 pub const fn bkp7r(&self) -> &BKPR {
162 self.bkpr(7)
163 }
164 ///0x120 - TAMP backup 8 register
165 #[inline(always)]
166 pub const fn bkp8r(&self) -> &BKPR {
167 self.bkpr(8)
168 }
169 ///0x124 - TAMP backup 9 register
170 #[inline(always)]
171 pub const fn bkp9r(&self) -> &BKPR {
172 self.bkpr(9)
173 }
174 ///0x128 - TAMP backup 10 register
175 #[inline(always)]
176 pub const fn bkp10r(&self) -> &BKPR {
177 self.bkpr(10)
178 }
179 ///0x12c - TAMP backup 11 register
180 #[inline(always)]
181 pub const fn bkp11r(&self) -> &BKPR {
182 self.bkpr(11)
183 }
184 ///0x130 - TAMP backup 12 register
185 #[inline(always)]
186 pub const fn bkp12r(&self) -> &BKPR {
187 self.bkpr(12)
188 }
189 ///0x134 - TAMP backup 13 register
190 #[inline(always)]
191 pub const fn bkp13r(&self) -> &BKPR {
192 self.bkpr(13)
193 }
194 ///0x138 - TAMP backup 14 register
195 #[inline(always)]
196 pub const fn bkp14r(&self) -> &BKPR {
197 self.bkpr(14)
198 }
199 ///0x13c - TAMP backup 15 register
200 #[inline(always)]
201 pub const fn bkp15r(&self) -> &BKPR {
202 self.bkpr(15)
203 }
204 ///0x140 - TAMP backup 16 register
205 #[inline(always)]
206 pub const fn bkp16r(&self) -> &BKPR {
207 self.bkpr(16)
208 }
209 ///0x144 - TAMP backup 17 register
210 #[inline(always)]
211 pub const fn bkp17r(&self) -> &BKPR {
212 self.bkpr(17)
213 }
214 ///0x148 - TAMP backup 18 register
215 #[inline(always)]
216 pub const fn bkp18r(&self) -> &BKPR {
217 self.bkpr(18)
218 }
219 ///0x14c - TAMP backup 19 register
220 #[inline(always)]
221 pub const fn bkp19r(&self) -> &BKPR {
222 self.bkpr(19)
223 }
224 ///0x150 - TAMP backup 20 register
225 #[inline(always)]
226 pub const fn bkp20r(&self) -> &BKPR {
227 self.bkpr(20)
228 }
229 ///0x154 - TAMP backup 21 register
230 #[inline(always)]
231 pub const fn bkp21r(&self) -> &BKPR {
232 self.bkpr(21)
233 }
234 ///0x158 - TAMP backup 22 register
235 #[inline(always)]
236 pub const fn bkp22r(&self) -> &BKPR {
237 self.bkpr(22)
238 }
239 ///0x15c - TAMP backup 23 register
240 #[inline(always)]
241 pub const fn bkp23r(&self) -> &BKPR {
242 self.bkpr(23)
243 }
244 ///0x160 - TAMP backup 24 register
245 #[inline(always)]
246 pub const fn bkp24r(&self) -> &BKPR {
247 self.bkpr(24)
248 }
249 ///0x164 - TAMP backup 25 register
250 #[inline(always)]
251 pub const fn bkp25r(&self) -> &BKPR {
252 self.bkpr(25)
253 }
254 ///0x168 - TAMP backup 26 register
255 #[inline(always)]
256 pub const fn bkp26r(&self) -> &BKPR {
257 self.bkpr(26)
258 }
259 ///0x16c - TAMP backup 27 register
260 #[inline(always)]
261 pub const fn bkp27r(&self) -> &BKPR {
262 self.bkpr(27)
263 }
264 ///0x170 - TAMP backup 28 register
265 #[inline(always)]
266 pub const fn bkp28r(&self) -> &BKPR {
267 self.bkpr(28)
268 }
269 ///0x174 - TAMP backup 29 register
270 #[inline(always)]
271 pub const fn bkp29r(&self) -> &BKPR {
272 self.bkpr(29)
273 }
274 ///0x178 - TAMP backup 30 register
275 #[inline(always)]
276 pub const fn bkp30r(&self) -> &BKPR {
277 self.bkpr(30)
278 }
279 ///0x17c - TAMP backup 31 register
280 #[inline(always)]
281 pub const fn bkp31r(&self) -> &BKPR {
282 self.bkpr(31)
283 }
284}
285/**CR1 (rw) register accessor: TAMP control register 1
286
287You can [`read`](crate::Reg::read) this register and get [`cr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
288
289See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:CR1)
290
291For information about available fields see [`mod@cr1`] module*/
292pub type CR1 = crate::Reg<cr1::CR1rs>;
293///TAMP control register 1
294pub mod cr1;
295/**CR2 (rw) register accessor: TAMP control register 2
296
297You can [`read`](crate::Reg::read) this register and get [`cr2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
298
299See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:CR2)
300
301For information about available fields see [`mod@cr2`] module*/
302pub type CR2 = crate::Reg<cr2::CR2rs>;
303///TAMP control register 2
304pub mod cr2;
305/**CR3 (rw) register accessor: TAMP control register 3
306
307You can [`read`](crate::Reg::read) this register and get [`cr3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
308
309See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:CR3)
310
311For information about available fields see [`mod@cr3`] module*/
312pub type CR3 = crate::Reg<cr3::CR3rs>;
313///TAMP control register 3
314pub mod cr3;
315/**FLTCR (rw) register accessor: TAMP filter control register
316
317You can [`read`](crate::Reg::read) this register and get [`fltcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fltcr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
318
319See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:FLTCR)
320
321For information about available fields see [`mod@fltcr`] module*/
322pub type FLTCR = crate::Reg<fltcr::FLTCRrs>;
323///TAMP filter control register
324pub mod fltcr;
325/**ATCR1 (rw) register accessor: TAMP active tamper control register 1
326
327You can [`read`](crate::Reg::read) this register and get [`atcr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`atcr1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
328
329See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:ATCR1)
330
331For information about available fields see [`mod@atcr1`] module*/
332pub type ATCR1 = crate::Reg<atcr1::ATCR1rs>;
333///TAMP active tamper control register 1
334pub mod atcr1;
335/**ATSEEDR (w) register accessor: TAMP active tamper seed register
336
337You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`atseedr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
338
339See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:ATSEEDR)
340
341For information about available fields see [`mod@atseedr`] module*/
342pub type ATSEEDR = crate::Reg<atseedr::ATSEEDRrs>;
343///TAMP active tamper seed register
344pub mod atseedr;
345/**ATOR (r) register accessor: TAMP active tamper output register
346
347You can [`read`](crate::Reg::read) this register and get [`ator::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
348
349See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:ATOR)
350
351For information about available fields see [`mod@ator`] module*/
352pub type ATOR = crate::Reg<ator::ATORrs>;
353///TAMP active tamper output register
354pub mod ator;
355/**ATCR2 (rw) register accessor: TAMP active tamper control register 2
356
357You can [`read`](crate::Reg::read) this register and get [`atcr2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`atcr2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
358
359See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:ATCR2)
360
361For information about available fields see [`mod@atcr2`] module*/
362pub type ATCR2 = crate::Reg<atcr2::ATCR2rs>;
363///TAMP active tamper control register 2
364pub mod atcr2;
365/**SECCFGR (rw) register accessor: TAMP secure mode register
366
367You can [`read`](crate::Reg::read) this register and get [`seccfgr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`seccfgr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
368
369See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:SECCFGR)
370
371For information about available fields see [`mod@seccfgr`] module*/
372pub type SECCFGR = crate::Reg<seccfgr::SECCFGRrs>;
373///TAMP secure mode register
374pub mod seccfgr;
375/**PRIVCR (rw) register accessor: TAMP privilege mode control register
376
377You can [`read`](crate::Reg::read) this register and get [`privcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`privcr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
378
379See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:PRIVCR)
380
381For information about available fields see [`mod@privcr`] module*/
382pub type PRIVCR = crate::Reg<privcr::PRIVCRrs>;
383///TAMP privilege mode control register
384pub mod privcr;
385/**IER (rw) register accessor: TAMP interrupt enable register
386
387You can [`read`](crate::Reg::read) this register and get [`ier::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ier::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
388
389See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:IER)
390
391For information about available fields see [`mod@ier`] module*/
392pub type IER = crate::Reg<ier::IERrs>;
393///TAMP interrupt enable register
394pub mod ier;
395/**SR (r) register accessor: TAMP status register
396
397You can [`read`](crate::Reg::read) this register and get [`sr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
398
399See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:SR)
400
401For information about available fields see [`mod@sr`] module*/
402pub type SR = crate::Reg<sr::SRrs>;
403///TAMP status register
404pub mod sr;
405/**MISR (r) register accessor: TAMP non-secure masked interrupt status register
406
407You can [`read`](crate::Reg::read) this register and get [`misr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
408
409See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:MISR)
410
411For information about available fields see [`mod@misr`] module*/
412pub type MISR = crate::Reg<misr::MISRrs>;
413///TAMP non-secure masked interrupt status register
414pub mod misr;
415/**SMISR (r) register accessor: TAMP secure masked interrupt status register
416
417You can [`read`](crate::Reg::read) this register and get [`smisr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
418
419See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:SMISR)
420
421For information about available fields see [`mod@smisr`] module*/
422pub type SMISR = crate::Reg<smisr::SMISRrs>;
423///TAMP secure masked interrupt status register
424pub mod smisr;
425/**SCR (w) register accessor: TAMP status clear register
426
427You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
428
429See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:SCR)
430
431For information about available fields see [`mod@scr`] module*/
432pub type SCR = crate::Reg<scr::SCRrs>;
433///TAMP status clear register
434pub mod scr;
435/**COUNT1R (r) register accessor: TAMP monotonic counter 1 register
436
437You can [`read`](crate::Reg::read) this register and get [`count1r::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
438
439See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:COUNT1R)
440
441For information about available fields see [`mod@count1r`] module*/
442pub type COUNT1R = crate::Reg<count1r::COUNT1Rrs>;
443///TAMP monotonic counter 1 register
444pub mod count1r;
445/**ERCFGR (rw) register accessor: TAMP erase configuration register
446
447You can [`read`](crate::Reg::read) this register and get [`ercfgr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ercfgr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
448
449See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:ERCFGR)
450
451For information about available fields see [`mod@ercfgr`] module*/
452pub type ERCFGR = crate::Reg<ercfgr::ERCFGRrs>;
453///TAMP erase configuration register
454pub mod ercfgr;
455/**BKPR (rw) register accessor: TAMP backup %s register
456
457You can [`read`](crate::Reg::read) this register and get [`bkpr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bkpr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
458
459See register [structure](https://stm32-rs.github.io/stm32-rs/STM32U585.html#TAMP:BKP[0]R)
460
461For information about available fields see [`mod@bkpr`] module*/
462pub type BKPR = crate::Reg<bkpr::BKPRrs>;
463///TAMP backup %s register
464pub mod bkpr;