1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"CACHE registers"]
28unsafe impl ::core::marker::Send for super::Cache {}
29unsafe impl ::core::marker::Sync for super::Cache {}
30impl super::Cache {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Cache associativity configuration register"]
38 #[inline(always)]
39 pub const fn cache_assoccfg_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::CacheAssoccfgReg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::CacheAssoccfgReg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(8usize),
45 )
46 }
47 }
48
49 #[doc = "Cache control register 1"]
50 #[inline(always)]
51 pub const fn cache_ctrl1_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::CacheCtrl1Reg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::CacheCtrl1Reg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(0usize),
57 )
58 }
59 }
60
61 #[doc = "Cache control register 2"]
62 #[inline(always)]
63 pub const fn cache_ctrl2_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::CacheCtrl2Reg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::CacheCtrl2Reg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(32usize),
69 )
70 }
71 }
72
73 #[doc = "Cache line size configuration register"]
74 #[inline(always)]
75 pub const fn cache_lnsizecfg_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::CacheLnsizecfgReg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::CacheLnsizecfgReg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(4usize),
81 )
82 }
83 }
84
85 #[doc = "Cache MRM (Miss Rate Monitor) CONTROL register"]
86 #[inline(always)]
87 pub const fn cache_mrm_ctrl_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::CacheMrmCtrlReg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::CacheMrmCtrlReg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(48usize),
93 )
94 }
95 }
96
97 #[doc = "Cache MRM (Miss Rate Monitor) HITS register"]
98 #[inline(always)]
99 pub const fn cache_mrm_hits_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::CacheMrmHitsReg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::CacheMrmHitsReg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(40usize),
105 )
106 }
107 }
108
109 #[doc = "Cache MRM (Miss Rate Monitor) MISSES register"]
110 #[inline(always)]
111 pub const fn cache_mrm_misses_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::CacheMrmMissesReg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::CacheMrmMissesReg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(44usize),
117 )
118 }
119 }
120
121 #[doc = "Cache MRM (Miss Rate Monitor) THRESHOLD register"]
122 #[inline(always)]
123 pub const fn cache_mrm_thres_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::CacheMrmThresReg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::CacheMrmThresReg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(56usize),
129 )
130 }
131 }
132
133 #[doc = "Cache MRM (Miss Rate Monitor) TIME INTERVAL register"]
134 #[inline(always)]
135 pub const fn cache_mrm_tint_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::CacheMrmTintReg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::CacheMrmTintReg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(52usize),
141 )
142 }
143 }
144
145 #[doc = "SWD HW reset control register"]
146 #[inline(always)]
147 pub const fn swd_reset_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::SwdResetReg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::SwdResetReg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(80usize),
153 )
154 }
155 }
156}
157#[doc(hidden)]
158#[derive(Copy, Clone, Eq, PartialEq)]
159pub struct CacheAssoccfgReg_SPEC;
160impl crate::sealed::RegSpec for CacheAssoccfgReg_SPEC {
161 type DataType = u32;
162}
163
164#[doc = "Cache associativity configuration register"]
165pub type CacheAssoccfgReg = crate::RegValueT<CacheAssoccfgReg_SPEC>;
166
167impl CacheAssoccfgReg {
168 #[doc = "Cache associativity:\n0: 1-way (direct mapped)\n1: 2-way\n2: 4-way\n3: reserved.\nNote: Flush the cache controller before dynamically decreasing the associativity."]
169 #[inline(always)]
170 pub fn cache_assoc(
171 self,
172 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, CacheAssoccfgReg_SPEC, crate::common::RW>
173 {
174 crate::common::RegisterField::<0,0x3,1,0,u8,u8,CacheAssoccfgReg_SPEC,crate::common::RW>::from_register(self,0)
175 }
176}
177impl ::core::default::Default for CacheAssoccfgReg {
178 #[inline(always)]
179 fn default() -> CacheAssoccfgReg {
180 <crate::RegValueT<CacheAssoccfgReg_SPEC> as RegisterValue<_>>::new(2)
181 }
182}
183
184#[doc(hidden)]
185#[derive(Copy, Clone, Eq, PartialEq)]
186pub struct CacheCtrl1Reg_SPEC;
187impl crate::sealed::RegSpec for CacheCtrl1Reg_SPEC {
188 type DataType = u32;
189}
190
191#[doc = "Cache control register 1"]
192pub type CacheCtrl1Reg = crate::RegValueT<CacheCtrl1Reg_SPEC>;
193
194impl CacheCtrl1Reg {
195 #[doc = "Reserved. Always keep 0."]
196 #[inline(always)]
197 pub fn cache_res1(
198 self,
199 ) -> crate::common::RegisterFieldBool<1, 1, 0, CacheCtrl1Reg_SPEC, crate::common::RW> {
200 crate::common::RegisterFieldBool::<1,1,0,CacheCtrl1Reg_SPEC,crate::common::RW>::from_register(self,0)
201 }
202
203 #[doc = "Writing a \'1\' into this bit, flushes the contents of the tag memories which invalidates the content of the cache memory.\nThe read of this bit is always \'0\'.\nNote: The flushing of the cache TAG memory takes 0x100 or 0x200 HCLK cycles for a Cache Data RAM size of 8 KB resp. 16 KB."]
204 #[inline(always)]
205 pub fn cache_flush(
206 self,
207 ) -> crate::common::RegisterFieldBool<0, 1, 0, CacheCtrl1Reg_SPEC, crate::common::W> {
208 crate::common::RegisterFieldBool::<0,1,0,CacheCtrl1Reg_SPEC,crate::common::W>::from_register(self,0)
209 }
210}
211impl ::core::default::Default for CacheCtrl1Reg {
212 #[inline(always)]
213 fn default() -> CacheCtrl1Reg {
214 <crate::RegValueT<CacheCtrl1Reg_SPEC> as RegisterValue<_>>::new(0)
215 }
216}
217
218#[doc(hidden)]
219#[derive(Copy, Clone, Eq, PartialEq)]
220pub struct CacheCtrl2Reg_SPEC;
221impl crate::sealed::RegSpec for CacheCtrl2Reg_SPEC {
222 type DataType = u32;
223}
224
225#[doc = "Cache control register 2"]
226pub type CacheCtrl2Reg = crate::RegValueT<CacheCtrl2Reg_SPEC>;
227
228impl CacheCtrl2Reg {
229 #[doc = "Enable also the QSPI FLASH cacheability when remapped to OTP (cached).\nSee also the notes at \"CACHE_LEN\"."]
230 #[inline(always)]
231 pub fn enable_also_qspiflash_cached(
232 self,
233 ) -> crate::common::RegisterFieldBool<12, 1, 0, CacheCtrl2Reg_SPEC, crate::common::RW> {
234 crate::common::RegisterFieldBool::<12,1,0,CacheCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
235 }
236
237 #[doc = "Enable also the OTP cacheability when remapped to QSPI FLASH (cached).\nSee also the notes at \"CACHE_LEN\"."]
238 #[inline(always)]
239 pub fn enable_also_otp_cached(
240 self,
241 ) -> crate::common::RegisterFieldBool<11, 1, 0, CacheCtrl2Reg_SPEC, crate::common::RW> {
242 crate::common::RegisterFieldBool::<11,1,0,CacheCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
243 }
244
245 #[doc = "0: Cache controller clock gating is not enabled.\n1: Cache controller clock gating is enabled (enabling power saving).\nNote: This bit must be set to \'0\' (default) when setting the CACHE_FLUSH bit while executing from other than QSPI FLASH cached or OTP cached, e.g. from Booter or SYSRAM."]
246 #[inline(always)]
247 pub fn cache_cgen(
248 self,
249 ) -> crate::common::RegisterFieldBool<10, 1, 0, CacheCtrl2Reg_SPEC, crate::common::RW> {
250 crate::common::RegisterFieldBool::<10,1,0,CacheCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
251 }
252
253 #[doc = "0: Cache Data and TAG memory read only.\n1: Cache Data and TAG memory read/write.\nThe TAG and Data memory are only updated by the cache controller.\nThere is no HW protection to prevent unauthorized access by the ARM.\nNote: When accessing the memory mapped Cache Data and TAG memory (for debugging purposes) only 32 bits access is allowed to the Cache Data memory and only 16 bits access is allowed to the Cache TAG memory."]
254 #[inline(always)]
255 pub fn cache_wen(
256 self,
257 ) -> crate::common::RegisterFieldBool<9, 1, 0, CacheCtrl2Reg_SPEC, crate::common::RW> {
258 crate::common::RegisterFieldBool::<9,1,0,CacheCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
259 }
260
261 #[doc = "Length of QSPI FLASH cacheable memory.\n(N+1)*64kbyte. N=1 to 512 (Max of 32 Mbyte).\nSetting CACHE_LEN=0 disables the cache.\nNote 1: The OTP memory is completely cacheable (when enabled).\nNote 2: The max. size/length of QSPI FLASH cacheable memory is 16 Mbyte when also OTP is cached."]
262 #[inline(always)]
263 pub fn cache_len(
264 self,
265 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, CacheCtrl2Reg_SPEC, crate::common::RW>
266 {
267 crate::common::RegisterField::<
268 0,
269 0x1ff,
270 1,
271 0,
272 u16,
273 u16,
274 CacheCtrl2Reg_SPEC,
275 crate::common::RW,
276 >::from_register(self, 0)
277 }
278}
279impl ::core::default::Default for CacheCtrl2Reg {
280 #[inline(always)]
281 fn default() -> CacheCtrl2Reg {
282 <crate::RegValueT<CacheCtrl2Reg_SPEC> as RegisterValue<_>>::new(0)
283 }
284}
285
286#[doc(hidden)]
287#[derive(Copy, Clone, Eq, PartialEq)]
288pub struct CacheLnsizecfgReg_SPEC;
289impl crate::sealed::RegSpec for CacheLnsizecfgReg_SPEC {
290 type DataType = u32;
291}
292
293#[doc = "Cache line size configuration register"]
294pub type CacheLnsizecfgReg = crate::RegValueT<CacheLnsizecfgReg_SPEC>;
295
296impl CacheLnsizecfgReg {
297 #[doc = "Cache line size:\n0: 8 bytes,\n1: 16 bytes,\n2: 32 bytes,\n3: reserved.\nNote: Flush the cache just after the dynamic (run-time) reconfiguration of the cache with an 8 bytes cache line size: write the value \"01\" into the cache control register CACHE_CTRL1_REG just after the write of the value \"00\" into the cache line size configuration register CACHE_LNSIZECFG_REG."]
298 #[inline(always)]
299 pub fn cache_line(
300 self,
301 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, CacheLnsizecfgReg_SPEC, crate::common::RW>
302 {
303 crate::common::RegisterField::<
304 0,
305 0x3,
306 1,
307 0,
308 u8,
309 u8,
310 CacheLnsizecfgReg_SPEC,
311 crate::common::RW,
312 >::from_register(self, 0)
313 }
314}
315impl ::core::default::Default for CacheLnsizecfgReg {
316 #[inline(always)]
317 fn default() -> CacheLnsizecfgReg {
318 <crate::RegValueT<CacheLnsizecfgReg_SPEC> as RegisterValue<_>>::new(0)
319 }
320}
321
322#[doc(hidden)]
323#[derive(Copy, Clone, Eq, PartialEq)]
324pub struct CacheMrmCtrlReg_SPEC;
325impl crate::sealed::RegSpec for CacheMrmCtrlReg_SPEC {
326 type DataType = u32;
327}
328
329#[doc = "Cache MRM (Miss Rate Monitor) CONTROL register"]
330pub type CacheMrmCtrlReg = crate::RegValueT<CacheMrmCtrlReg_SPEC>;
331
332impl CacheMrmCtrlReg {
333 #[doc = "0: No interrupt is generated.\n1: Interrupt (pulse-sensitive) is generated because the number of cache misses reached the programmed threshold (threshold != 0)."]
334 #[inline(always)]
335 pub fn mrm_irq_thres_status(
336 self,
337 ) -> crate::common::RegisterFieldBool<3, 1, 0, CacheMrmCtrlReg_SPEC, crate::common::RW> {
338 crate::common::RegisterFieldBool::<3,1,0,CacheMrmCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
339 }
340
341 #[doc = "0: No interrupt is generated.\n1: Interrupt (pulse-sensitive) is generated because the time interval counter reached the end (time interval != 0)."]
342 #[inline(always)]
343 pub fn mrm_irq_tint_status(
344 self,
345 ) -> crate::common::RegisterFieldBool<2, 1, 0, CacheMrmCtrlReg_SPEC, crate::common::RW> {
346 crate::common::RegisterFieldBool::<2,1,0,CacheMrmCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
347 }
348
349 #[doc = "0: Disables interrupt generation.\n1: Enables interrupt generation.\nNote: The Cache MRM generates a pulse-sensitive interrupt towards the ARM processor,"]
350 #[inline(always)]
351 pub fn mrm_irq_mask(
352 self,
353 ) -> crate::common::RegisterFieldBool<1, 1, 0, CacheMrmCtrlReg_SPEC, crate::common::RW> {
354 crate::common::RegisterFieldBool::<1,1,0,CacheMrmCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
355 }
356
357 #[doc = "0: Freeze the \"misses/hits\" counters and reset the time interval counter to the programmed value in CACHE_MRM_TINT_REG.\n1: Enables the counters.\nNote: In case CACHE_MRM_CTRL_REG\\[MRM_START\\] is set to \'1\' and CACHE_MRM_TINT_REG (!=0) is used for the MRM interrupt generation, the time interval counter counts down (on a fixed reference clock of 16 MHz) until it\'s \'0\'. At that time CACHE_MRM_CTRL_REG\\[MRM_START\\] will be reset automatically to \'0\' by the MRM hardware and the MRM interrupt will be generated."]
358 #[inline(always)]
359 pub fn mrm_start(
360 self,
361 ) -> crate::common::RegisterFieldBool<0, 1, 0, CacheMrmCtrlReg_SPEC, crate::common::RW> {
362 crate::common::RegisterFieldBool::<0,1,0,CacheMrmCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
363 }
364}
365impl ::core::default::Default for CacheMrmCtrlReg {
366 #[inline(always)]
367 fn default() -> CacheMrmCtrlReg {
368 <crate::RegValueT<CacheMrmCtrlReg_SPEC> as RegisterValue<_>>::new(0)
369 }
370}
371
372#[doc(hidden)]
373#[derive(Copy, Clone, Eq, PartialEq)]
374pub struct CacheMrmHitsReg_SPEC;
375impl crate::sealed::RegSpec for CacheMrmHitsReg_SPEC {
376 type DataType = u32;
377}
378
379#[doc = "Cache MRM (Miss Rate Monitor) HITS register"]
380pub type CacheMrmHitsReg = crate::RegValueT<CacheMrmHitsReg_SPEC>;
381
382impl CacheMrmHitsReg {
383 #[doc = "Contains the amount of cache hits."]
384 #[inline(always)]
385 pub fn mrm_hits(
386 self,
387 ) -> crate::common::RegisterField<
388 0,
389 0x7ffff,
390 1,
391 0,
392 u32,
393 u32,
394 CacheMrmHitsReg_SPEC,
395 crate::common::RW,
396 > {
397 crate::common::RegisterField::<
398 0,
399 0x7ffff,
400 1,
401 0,
402 u32,
403 u32,
404 CacheMrmHitsReg_SPEC,
405 crate::common::RW,
406 >::from_register(self, 0)
407 }
408}
409impl ::core::default::Default for CacheMrmHitsReg {
410 #[inline(always)]
411 fn default() -> CacheMrmHitsReg {
412 <crate::RegValueT<CacheMrmHitsReg_SPEC> as RegisterValue<_>>::new(0)
413 }
414}
415
416#[doc(hidden)]
417#[derive(Copy, Clone, Eq, PartialEq)]
418pub struct CacheMrmMissesReg_SPEC;
419impl crate::sealed::RegSpec for CacheMrmMissesReg_SPEC {
420 type DataType = u32;
421}
422
423#[doc = "Cache MRM (Miss Rate Monitor) MISSES register"]
424pub type CacheMrmMissesReg = crate::RegValueT<CacheMrmMissesReg_SPEC>;
425
426impl CacheMrmMissesReg {
427 #[doc = "Contains the amount of cache misses."]
428 #[inline(always)]
429 pub fn mrm_misses(
430 self,
431 ) -> crate::common::RegisterField<
432 0,
433 0x3ffff,
434 1,
435 0,
436 u32,
437 u32,
438 CacheMrmMissesReg_SPEC,
439 crate::common::RW,
440 > {
441 crate::common::RegisterField::<
442 0,
443 0x3ffff,
444 1,
445 0,
446 u32,
447 u32,
448 CacheMrmMissesReg_SPEC,
449 crate::common::RW,
450 >::from_register(self, 0)
451 }
452}
453impl ::core::default::Default for CacheMrmMissesReg {
454 #[inline(always)]
455 fn default() -> CacheMrmMissesReg {
456 <crate::RegValueT<CacheMrmMissesReg_SPEC> as RegisterValue<_>>::new(0)
457 }
458}
459
460#[doc(hidden)]
461#[derive(Copy, Clone, Eq, PartialEq)]
462pub struct CacheMrmThresReg_SPEC;
463impl crate::sealed::RegSpec for CacheMrmThresReg_SPEC {
464 type DataType = u32;
465}
466
467#[doc = "Cache MRM (Miss Rate Monitor) THRESHOLD register"]
468pub type CacheMrmThresReg = crate::RegValueT<CacheMrmThresReg_SPEC>;
469
470impl CacheMrmThresReg {
471 #[doc = "Defines the threshold to trigger the interrupt generation. See also the description of CACHE_MRM_CTRL_REG\\[MRM_IRQ_THRES_STATUS\\].\nNote: When MRM_THRES=0 (unrealistic value), no interrupt will be generated."]
472 #[inline(always)]
473 pub fn mrm_thres(
474 self,
475 ) -> crate::common::RegisterField<
476 0,
477 0x3ffff,
478 1,
479 0,
480 u32,
481 u32,
482 CacheMrmThresReg_SPEC,
483 crate::common::RW,
484 > {
485 crate::common::RegisterField::<
486 0,
487 0x3ffff,
488 1,
489 0,
490 u32,
491 u32,
492 CacheMrmThresReg_SPEC,
493 crate::common::RW,
494 >::from_register(self, 0)
495 }
496}
497impl ::core::default::Default for CacheMrmThresReg {
498 #[inline(always)]
499 fn default() -> CacheMrmThresReg {
500 <crate::RegValueT<CacheMrmThresReg_SPEC> as RegisterValue<_>>::new(0)
501 }
502}
503
504#[doc(hidden)]
505#[derive(Copy, Clone, Eq, PartialEq)]
506pub struct CacheMrmTintReg_SPEC;
507impl crate::sealed::RegSpec for CacheMrmTintReg_SPEC {
508 type DataType = u32;
509}
510
511#[doc = "Cache MRM (Miss Rate Monitor) TIME INTERVAL register"]
512pub type CacheMrmTintReg = crate::RegValueT<CacheMrmTintReg_SPEC>;
513
514impl CacheMrmTintReg {
515 #[doc = "Defines the time interval for the monitoring in 16 MHz clock cycles. See also the description of CACHE_MRM_CTRL_REG\\[MRM_IRQ_TINT_STATUS\\].\nNote: When MRM_TINT=0 (unrealistic value), no interrupt will be generated."]
516 #[inline(always)]
517 pub fn mrm_tint(
518 self,
519 ) -> crate::common::RegisterField<
520 0,
521 0x3ffff,
522 1,
523 0,
524 u32,
525 u32,
526 CacheMrmTintReg_SPEC,
527 crate::common::RW,
528 > {
529 crate::common::RegisterField::<
530 0,
531 0x3ffff,
532 1,
533 0,
534 u32,
535 u32,
536 CacheMrmTintReg_SPEC,
537 crate::common::RW,
538 >::from_register(self, 0)
539 }
540}
541impl ::core::default::Default for CacheMrmTintReg {
542 #[inline(always)]
543 fn default() -> CacheMrmTintReg {
544 <crate::RegValueT<CacheMrmTintReg_SPEC> as RegisterValue<_>>::new(0)
545 }
546}
547
548#[doc(hidden)]
549#[derive(Copy, Clone, Eq, PartialEq)]
550pub struct SwdResetReg_SPEC;
551impl crate::sealed::RegSpec for SwdResetReg_SPEC {
552 type DataType = u32;
553}
554
555#[doc = "SWD HW reset control register"]
556pub type SwdResetReg = crate::RegValueT<SwdResetReg_SPEC>;
557
558impl SwdResetReg {
559 #[doc = "0: default.\n1: HW reset request without resetting the SWD and DAP controller. The register is automatically reset with a HW_RESET.\nThis bit can only be accessed by the debugger software and not by the application."]
560 #[inline(always)]
561 pub fn swd_hw_reset_req(
562 self,
563 ) -> crate::common::RegisterFieldBool<0, 1, 0, SwdResetReg_SPEC, crate::common::W> {
564 crate::common::RegisterFieldBool::<0,1,0,SwdResetReg_SPEC,crate::common::W>::from_register(self,0)
565 }
566}
567impl ::core::default::Default for SwdResetReg {
568 #[inline(always)]
569 fn default() -> SwdResetReg {
570 <crate::RegValueT<SwdResetReg_SPEC> as RegisterValue<_>>::new(0)
571 }
572}