da14682_pac/
ftdf.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.2, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:45:10 +0000
19
20#![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"FTDF registers"]
28unsafe impl ::core::marker::Send for super::Ftdf {}
29unsafe impl ::core::marker::Sync for super::Ftdf {}
30impl super::Ftdf {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Build time"]
38    #[inline(always)]
39    pub const fn ftdf_buildtime_0_reg(
40        &self,
41    ) -> &'static crate::common::Reg<self::FtdfBuildtime0Reg_SPEC, crate::common::RW> {
42        unsafe {
43            crate::common::Reg::<self::FtdfBuildtime0Reg_SPEC, crate::common::RW>::from_ptr(
44                self._svd2pac_as_ptr().add(65552usize),
45            )
46        }
47    }
48
49    #[doc = "Build time"]
50    #[inline(always)]
51    pub const fn ftdf_buildtime_1_reg(
52        &self,
53    ) -> &'static crate::common::Reg<self::FtdfBuildtime1Reg_SPEC, crate::common::RW> {
54        unsafe {
55            crate::common::Reg::<self::FtdfBuildtime1Reg_SPEC, crate::common::RW>::from_ptr(
56                self._svd2pac_as_ptr().add(65556usize),
57            )
58        }
59    }
60
61    #[doc = "Build time"]
62    #[inline(always)]
63    pub const fn ftdf_buildtime_2_reg(
64        &self,
65    ) -> &'static crate::common::Reg<self::FtdfBuildtime2Reg_SPEC, crate::common::RW> {
66        unsafe {
67            crate::common::Reg::<self::FtdfBuildtime2Reg_SPEC, crate::common::RW>::from_ptr(
68                self._svd2pac_as_ptr().add(65560usize),
69            )
70        }
71    }
72
73    #[doc = "Build time"]
74    #[inline(always)]
75    pub const fn ftdf_buildtime_3_reg(
76        &self,
77    ) -> &'static crate::common::Reg<self::FtdfBuildtime3Reg_SPEC, crate::common::RW> {
78        unsafe {
79            crate::common::Reg::<self::FtdfBuildtime3Reg_SPEC, crate::common::RW>::from_ptr(
80                self._svd2pac_as_ptr().add(65564usize),
81            )
82        }
83    }
84
85    #[doc = "Debug control register"]
86    #[inline(always)]
87    pub const fn ftdf_debugcontrol_reg(
88        &self,
89    ) -> &'static crate::common::Reg<self::FtdfDebugcontrolReg_SPEC, crate::common::RW> {
90        unsafe {
91            crate::common::Reg::<self::FtdfDebugcontrolReg_SPEC, crate::common::RW>::from_ptr(
92                self._svd2pac_as_ptr().add(66448usize),
93            )
94        }
95    }
96
97    #[doc = "Value of event generator"]
98    #[inline(always)]
99    pub const fn ftdf_eventcurrval_reg(
100        &self,
101    ) -> &'static crate::common::Reg<self::FtdfEventcurrvalReg_SPEC, crate::common::RW> {
102        unsafe {
103            crate::common::Reg::<self::FtdfEventcurrvalReg_SPEC, crate::common::RW>::from_ptr(
104                self._svd2pac_as_ptr().add(65624usize),
105            )
106        }
107    }
108
109    #[doc = "Selection register events"]
110    #[inline(always)]
111    pub const fn ftdf_ftdf_ce_reg(
112        &self,
113    ) -> &'static crate::common::Reg<self::FtdfFtdfCeReg_SPEC, crate::common::RW> {
114        unsafe {
115            crate::common::Reg::<self::FtdfFtdfCeReg_SPEC, crate::common::RW>::from_ptr(
116                self._svd2pac_as_ptr().add(66128usize),
117            )
118        }
119    }
120
121    #[doc = "Mask selection register events"]
122    #[inline(always)]
123    pub const fn ftdf_ftdf_cm_reg(
124        &self,
125    ) -> &'static crate::common::Reg<self::FtdfFtdfCmReg_SPEC, crate::common::RW> {
126        unsafe {
127            crate::common::Reg::<self::FtdfFtdfCmReg_SPEC, crate::common::RW>::from_ptr(
128                self._svd2pac_as_ptr().add(66132usize),
129            )
130        }
131    }
132
133    #[doc = "Global control register"]
134    #[inline(always)]
135    pub const fn ftdf_glob_control_0_reg(
136        &self,
137    ) -> &'static crate::common::Reg<self::FtdfGlobControl0Reg_SPEC, crate::common::RW> {
138        unsafe {
139            crate::common::Reg::<self::FtdfGlobControl0Reg_SPEC, crate::common::RW>::from_ptr(
140                self._svd2pac_as_ptr().add(65568usize),
141            )
142        }
143    }
144
145    #[doc = "Global control register"]
146    #[inline(always)]
147    pub const fn ftdf_glob_control_1_reg(
148        &self,
149    ) -> &'static crate::common::Reg<self::FtdfGlobControl1Reg_SPEC, crate::common::RW> {
150        unsafe {
151            crate::common::Reg::<self::FtdfGlobControl1Reg_SPEC, crate::common::RW>::from_ptr(
152                self._svd2pac_as_ptr().add(65572usize),
153            )
154        }
155    }
156
157    #[doc = "Global control register"]
158    #[inline(always)]
159    pub const fn ftdf_glob_control_2_reg(
160        &self,
161    ) -> &'static crate::common::Reg<self::FtdfGlobControl2Reg_SPEC, crate::common::RW> {
162        unsafe {
163            crate::common::Reg::<self::FtdfGlobControl2Reg_SPEC, crate::common::RW>::from_ptr(
164                self._svd2pac_as_ptr().add(65576usize),
165            )
166        }
167    }
168
169    #[doc = "Global control register"]
170    #[inline(always)]
171    pub const fn ftdf_glob_control_3_reg(
172        &self,
173    ) -> &'static crate::common::Reg<self::FtdfGlobControl3Reg_SPEC, crate::common::RW> {
174        unsafe {
175            crate::common::Reg::<self::FtdfGlobControl3Reg_SPEC, crate::common::RW>::from_ptr(
176                self._svd2pac_as_ptr().add(65580usize),
177            )
178        }
179    }
180
181    #[doc = "Lmax reset register"]
182    #[inline(always)]
183    pub const fn ftdf_lmacreset_reg(
184        &self,
185    ) -> &'static crate::common::Reg<self::FtdfLmacresetReg_SPEC, crate::common::RW> {
186        unsafe {
187            crate::common::Reg::<self::FtdfLmacresetReg_SPEC, crate::common::RW>::from_ptr(
188                self._svd2pac_as_ptr().add(66400usize),
189            )
190        }
191    }
192
193    #[doc = "Lmac control register"]
194    #[inline(always)]
195    pub const fn ftdf_lmac_control_0_reg(
196        &self,
197    ) -> &'static crate::common::Reg<self::FtdfLmacControl0Reg_SPEC, crate::common::RW> {
198        unsafe {
199            crate::common::Reg::<self::FtdfLmacControl0Reg_SPEC, crate::common::RW>::from_ptr(
200                self._svd2pac_as_ptr().add(65584usize),
201            )
202        }
203    }
204
205    #[doc = "Lmac control register"]
206    #[inline(always)]
207    pub const fn ftdf_lmac_control_10_reg(
208        &self,
209    ) -> &'static crate::common::Reg<self::FtdfLmacControl10Reg_SPEC, crate::common::RW> {
210        unsafe {
211            crate::common::Reg::<self::FtdfLmacControl10Reg_SPEC, crate::common::RW>::from_ptr(
212                self._svd2pac_as_ptr().add(65804usize),
213            )
214        }
215    }
216
217    #[doc = "Lmac control register"]
218    #[inline(always)]
219    pub const fn ftdf_lmac_control_11_reg(
220        &self,
221    ) -> &'static crate::common::Reg<self::FtdfLmacControl11Reg_SPEC, crate::common::RW> {
222        unsafe {
223            crate::common::Reg::<self::FtdfLmacControl11Reg_SPEC, crate::common::RW>::from_ptr(
224                self._svd2pac_as_ptr().add(65644usize),
225            )
226        }
227    }
228
229    #[doc = "Lmac control register"]
230    #[inline(always)]
231    pub const fn ftdf_lmac_control_1_reg(
232        &self,
233    ) -> &'static crate::common::Reg<self::FtdfLmacControl1Reg_SPEC, crate::common::RW> {
234        unsafe {
235            crate::common::Reg::<self::FtdfLmacControl1Reg_SPEC, crate::common::RW>::from_ptr(
236                self._svd2pac_as_ptr().add(65600usize),
237            )
238        }
239    }
240
241    #[doc = "Lmac control register"]
242    #[inline(always)]
243    pub const fn ftdf_lmac_control_2_reg(
244        &self,
245    ) -> &'static crate::common::Reg<self::FtdfLmacControl2Reg_SPEC, crate::common::RW> {
246        unsafe {
247            crate::common::Reg::<self::FtdfLmacControl2Reg_SPEC, crate::common::RW>::from_ptr(
248                self._svd2pac_as_ptr().add(65604usize),
249            )
250        }
251    }
252
253    #[doc = "Lmac control register"]
254    #[inline(always)]
255    pub const fn ftdf_lmac_control_3_reg(
256        &self,
257    ) -> &'static crate::common::Reg<self::FtdfLmacControl3Reg_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::FtdfLmacControl3Reg_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(65608usize),
261            )
262        }
263    }
264
265    #[doc = "Lmac control register"]
266    #[inline(always)]
267    pub const fn ftdf_lmac_control_4_reg(
268        &self,
269    ) -> &'static crate::common::Reg<self::FtdfLmacControl4Reg_SPEC, crate::common::RW> {
270        unsafe {
271            crate::common::Reg::<self::FtdfLmacControl4Reg_SPEC, crate::common::RW>::from_ptr(
272                self._svd2pac_as_ptr().add(65632usize),
273            )
274        }
275    }
276
277    #[doc = "Lmac control register"]
278    #[inline(always)]
279    pub const fn ftdf_lmac_control_5_reg(
280        &self,
281    ) -> &'static crate::common::Reg<self::FtdfLmacControl5Reg_SPEC, crate::common::RW> {
282        unsafe {
283            crate::common::Reg::<self::FtdfLmacControl5Reg_SPEC, crate::common::RW>::from_ptr(
284                self._svd2pac_as_ptr().add(65636usize),
285            )
286        }
287    }
288
289    #[doc = "Lmac control register"]
290    #[inline(always)]
291    pub const fn ftdf_lmac_control_6_reg(
292        &self,
293    ) -> &'static crate::common::Reg<self::FtdfLmacControl6Reg_SPEC, crate::common::RW> {
294        unsafe {
295            crate::common::Reg::<self::FtdfLmacControl6Reg_SPEC, crate::common::RW>::from_ptr(
296                self._svd2pac_as_ptr().add(65640usize),
297            )
298        }
299    }
300
301    #[doc = "Lmac control register"]
302    #[inline(always)]
303    pub const fn ftdf_lmac_control_7_reg(
304        &self,
305    ) -> &'static crate::common::Reg<self::FtdfLmacControl7Reg_SPEC, crate::common::RW> {
306        unsafe {
307            crate::common::Reg::<self::FtdfLmacControl7Reg_SPEC, crate::common::RW>::from_ptr(
308                self._svd2pac_as_ptr().add(65792usize),
309            )
310        }
311    }
312
313    #[doc = "Lmac control register"]
314    #[inline(always)]
315    pub const fn ftdf_lmac_control_8_reg(
316        &self,
317    ) -> &'static crate::common::Reg<self::FtdfLmacControl8Reg_SPEC, crate::common::RW> {
318        unsafe {
319            crate::common::Reg::<self::FtdfLmacControl8Reg_SPEC, crate::common::RW>::from_ptr(
320                self._svd2pac_as_ptr().add(65796usize),
321            )
322        }
323    }
324
325    #[doc = "Lmac control register"]
326    #[inline(always)]
327    pub const fn ftdf_lmac_control_9_reg(
328        &self,
329    ) -> &'static crate::common::Reg<self::FtdfLmacControl9Reg_SPEC, crate::common::RW> {
330        unsafe {
331            crate::common::Reg::<self::FtdfLmacControl9Reg_SPEC, crate::common::RW>::from_ptr(
332                self._svd2pac_as_ptr().add(65800usize),
333            )
334        }
335    }
336
337    #[doc = "Lmac delta control register"]
338    #[inline(always)]
339    pub const fn ftdf_lmac_control_delta_reg(
340        &self,
341    ) -> &'static crate::common::Reg<self::FtdfLmacControlDeltaReg_SPEC, crate::common::RW> {
342        unsafe {
343            crate::common::Reg::<self::FtdfLmacControlDeltaReg_SPEC, crate::common::RW>::from_ptr(
344                self._svd2pac_as_ptr().add(65648usize),
345            )
346        }
347    }
348
349    #[doc = "Lmac mask control register"]
350    #[inline(always)]
351    pub const fn ftdf_lmac_control_mask_reg(
352        &self,
353    ) -> &'static crate::common::Reg<self::FtdfLmacControlMaskReg_SPEC, crate::common::RW> {
354        unsafe {
355            crate::common::Reg::<self::FtdfLmacControlMaskReg_SPEC, crate::common::RW>::from_ptr(
356                self._svd2pac_as_ptr().add(65664usize),
357            )
358        }
359    }
360
361    #[doc = "Lmac control register"]
362    #[inline(always)]
363    pub const fn ftdf_lmac_control_os_reg(
364        &self,
365    ) -> &'static crate::common::Reg<self::FtdfLmacControlOsReg_SPEC, crate::common::RW> {
366        unsafe {
367            crate::common::Reg::<self::FtdfLmacControlOsReg_SPEC, crate::common::RW>::from_ptr(
368                self._svd2pac_as_ptr().add(65616usize),
369            )
370        }
371    }
372
373    #[doc = "Lmac status register"]
374    #[inline(always)]
375    pub const fn ftdf_lmac_control_status_reg(
376        &self,
377    ) -> &'static crate::common::Reg<self::FtdfLmacControlStatusReg_SPEC, crate::common::RW> {
378        unsafe {
379            crate::common::Reg::<self::FtdfLmacControlStatusReg_SPEC, crate::common::RW>::from_ptr(
380                self._svd2pac_as_ptr().add(65620usize),
381            )
382        }
383    }
384
385    #[doc = "Lmac event regsiter"]
386    #[inline(always)]
387    pub const fn ftdf_lmac_event_reg(
388        &self,
389    ) -> &'static crate::common::Reg<self::FtdfLmacEventReg_SPEC, crate::common::RW> {
390        unsafe {
391            crate::common::Reg::<self::FtdfLmacEventReg_SPEC, crate::common::RW>::from_ptr(
392                self._svd2pac_as_ptr().add(65680usize),
393            )
394        }
395    }
396
397    #[doc = "Lmax manual PHY register"]
398    #[inline(always)]
399    pub const fn ftdf_lmac_manual_1_reg(
400        &self,
401    ) -> &'static crate::common::Reg<self::FtdfLmacManual1Reg_SPEC, crate::common::RW> {
402        unsafe {
403            crate::common::Reg::<self::FtdfLmacManual1Reg_SPEC, crate::common::RW>::from_ptr(
404                self._svd2pac_as_ptr().add(65696usize),
405            )
406        }
407    }
408
409    #[doc = "One shot register triggers transmission in manual mode"]
410    #[inline(always)]
411    pub const fn ftdf_lmac_manual_os_reg(
412        &self,
413    ) -> &'static crate::common::Reg<self::FtdfLmacManualOsReg_SPEC, crate::common::RW> {
414        unsafe {
415            crate::common::Reg::<self::FtdfLmacManualOsReg_SPEC, crate::common::RW>::from_ptr(
416                self._svd2pac_as_ptr().add(65700usize),
417            )
418        }
419    }
420
421    #[doc = "Lmac status register in manual mode"]
422    #[inline(always)]
423    pub const fn ftdf_lmac_manual_status_reg(
424        &self,
425    ) -> &'static crate::common::Reg<self::FtdfLmacManualStatusReg_SPEC, crate::common::RW> {
426        unsafe {
427            crate::common::Reg::<self::FtdfLmacManualStatusReg_SPEC, crate::common::RW>::from_ptr(
428                self._svd2pac_as_ptr().add(65704usize),
429            )
430        }
431    }
432
433    #[doc = "Lmac mask register"]
434    #[inline(always)]
435    pub const fn ftdf_lmac_mask_reg(
436        &self,
437    ) -> &'static crate::common::Reg<self::FtdfLmacMaskReg_SPEC, crate::common::RW> {
438        unsafe {
439            crate::common::Reg::<self::FtdfLmacMaskReg_SPEC, crate::common::RW>::from_ptr(
440                self._svd2pac_as_ptr().add(65684usize),
441            )
442        }
443    }
444
445    #[inline(always)]
446    pub const fn ftdf_long_addr_0_0_reg(
447        &self,
448    ) -> &'static crate::common::Reg<self::FtdfLongAddr00Reg_SPEC, crate::common::RW> {
449        unsafe {
450            crate::common::Reg::<self::FtdfLongAddr00Reg_SPEC, crate::common::RW>::from_ptr(
451                self._svd2pac_as_ptr().add(73728usize),
452            )
453        }
454    }
455
456    #[inline(always)]
457    pub const fn ftdf_long_addr_1_0_reg(
458        &self,
459    ) -> &'static crate::common::Reg<self::FtdfLongAddr10Reg_SPEC, crate::common::RW> {
460        unsafe {
461            crate::common::Reg::<self::FtdfLongAddr10Reg_SPEC, crate::common::RW>::from_ptr(
462                self._svd2pac_as_ptr().add(73732usize),
463            )
464        }
465    }
466
467    #[doc = "Maximum time to wait for a ACK"]
468    #[inline(always)]
469    pub const fn ftdf_macackwaitduration_reg(
470        &self,
471    ) -> &'static crate::common::Reg<self::FtdfMacackwaitdurationReg_SPEC, crate::common::RW> {
472        unsafe {
473            crate::common::Reg::<self::FtdfMacackwaitdurationReg_SPEC, crate::common::RW>::from_ptr(
474                self._svd2pac_as_ptr().add(65592usize),
475            )
476        }
477    }
478
479    #[doc = "Maximum time to wait for an enhanced ACK frame"]
480    #[inline(always)]
481    pub const fn ftdf_macenhackwaitduration_reg(
482        &self,
483    ) -> &'static crate::common::Reg<self::FtdfMacenhackwaitdurationReg_SPEC, crate::common::RW>
484    {
485        unsafe {
486            crate::common::Reg::<self::FtdfMacenhackwaitdurationReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(65596usize))
487        }
488    }
489
490    #[doc = "Lmac FCS error register"]
491    #[inline(always)]
492    pub const fn ftdf_macfcserrorcount_reg(
493        &self,
494    ) -> &'static crate::common::Reg<self::FtdfMacfcserrorcountReg_SPEC, crate::common::RW> {
495        unsafe {
496            crate::common::Reg::<self::FtdfMacfcserrorcountReg_SPEC, crate::common::RW>::from_ptr(
497                self._svd2pac_as_ptr().add(66368usize),
498            )
499        }
500    }
501
502    #[doc = "Discarded frames register"]
503    #[inline(always)]
504    pub const fn ftdf_macrxaddrfailfrmcnt_reg(
505        &self,
506    ) -> &'static crate::common::Reg<self::FtdfMacrxaddrfailfrmcntReg_SPEC, crate::common::RW> {
507        unsafe {
508            crate::common::Reg::<self::FtdfMacrxaddrfailfrmcntReg_SPEC, crate::common::RW>::from_ptr(
509                self._svd2pac_as_ptr().add(66328usize),
510            )
511        }
512    }
513
514    #[doc = "Received acknowledgment frames"]
515    #[inline(always)]
516    pub const fn ftdf_macrxstdackfrmokcnt_reg(
517        &self,
518    ) -> &'static crate::common::Reg<self::FtdfMacrxstdackfrmokcntReg_SPEC, crate::common::RW> {
519        unsafe {
520            crate::common::Reg::<self::FtdfMacrxstdackfrmokcntReg_SPEC, crate::common::RW>::from_ptr(
521                self._svd2pac_as_ptr().add(66324usize),
522            )
523        }
524    }
525
526    #[doc = "Unsupported frames register"]
527    #[inline(always)]
528    pub const fn ftdf_macrxunsupfrmcnt_reg(
529        &self,
530    ) -> &'static crate::common::Reg<self::FtdfMacrxunsupfrmcntReg_SPEC, crate::common::RW> {
531        unsafe {
532            crate::common::Reg::<self::FtdfMacrxunsupfrmcntReg_SPEC, crate::common::RW>::from_ptr(
533                self._svd2pac_as_ptr().add(66332usize),
534            )
535        }
536    }
537
538    #[doc = "Time left until next ACK is sent (us)"]
539    #[inline(always)]
540    pub const fn ftdf_mactstxackdelayval_reg(
541        &self,
542    ) -> &'static crate::common::Reg<self::FtdfMactstxackdelayvalReg_SPEC, crate::common::RW> {
543        unsafe {
544            crate::common::Reg::<self::FtdfMactstxackdelayvalReg_SPEC, crate::common::RW>::from_ptr(
545                self._svd2pac_as_ptr().add(65656usize),
546            )
547        }
548    }
549
550    #[doc = "Transmitted acknowledgment frames"]
551    #[inline(always)]
552    pub const fn ftdf_mactxstdackfrmcnt_reg(
553        &self,
554    ) -> &'static crate::common::Reg<self::FtdfMactxstdackfrmcntReg_SPEC, crate::common::RW> {
555        unsafe {
556            crate::common::Reg::<self::FtdfMactxstdackfrmcntReg_SPEC, crate::common::RW>::from_ptr(
557                self._svd2pac_as_ptr().add(66320usize),
558            )
559        }
560    }
561
562    #[doc = "Lmac PHY parameter register"]
563    #[inline(always)]
564    pub const fn ftdf_phy_parameters_0_reg(
565        &self,
566    ) -> &'static crate::common::Reg<self::FtdfPhyParameters0Reg_SPEC, crate::common::RW> {
567        unsafe {
568            crate::common::Reg::<self::FtdfPhyParameters0Reg_SPEC, crate::common::RW>::from_ptr(
569                self._svd2pac_as_ptr().add(65920usize),
570            )
571        }
572    }
573
574    #[doc = "Lmac PHY parameter register"]
575    #[inline(always)]
576    pub const fn ftdf_phy_parameters_1_reg(
577        &self,
578    ) -> &'static crate::common::Reg<self::FtdfPhyParameters1Reg_SPEC, crate::common::RW> {
579        unsafe {
580            crate::common::Reg::<self::FtdfPhyParameters1Reg_SPEC, crate::common::RW>::from_ptr(
581                self._svd2pac_as_ptr().add(65924usize),
582            )
583        }
584    }
585
586    #[doc = "Lmac PHY parameter register"]
587    #[inline(always)]
588    pub const fn ftdf_phy_parameters_2_reg(
589        &self,
590    ) -> &'static crate::common::Reg<self::FtdfPhyParameters2Reg_SPEC, crate::common::RW> {
591        unsafe {
592            crate::common::Reg::<self::FtdfPhyParameters2Reg_SPEC, crate::common::RW>::from_ptr(
593                self._svd2pac_as_ptr().add(65928usize),
594            )
595        }
596    }
597
598    #[doc = "Lmac PHY parameter register"]
599    #[inline(always)]
600    pub const fn ftdf_phy_parameters_3_reg(
601        &self,
602    ) -> &'static crate::common::Reg<self::FtdfPhyParameters3Reg_SPEC, crate::common::RW> {
603        unsafe {
604            crate::common::Reg::<self::FtdfPhyParameters3Reg_SPEC, crate::common::RW>::from_ptr(
605                self._svd2pac_as_ptr().add(65932usize),
606            )
607        }
608    }
609
610    #[doc = "Name of the release"]
611    #[inline(always)]
612    pub const fn ftdf_rel_name_0_reg(
613        &self,
614    ) -> &'static crate::common::Reg<self::FtdfRelName0Reg_SPEC, crate::common::RW> {
615        unsafe {
616            crate::common::Reg::<self::FtdfRelName0Reg_SPEC, crate::common::RW>::from_ptr(
617                self._svd2pac_as_ptr().add(65536usize),
618            )
619        }
620    }
621
622    #[doc = "Name of the release"]
623    #[inline(always)]
624    pub const fn ftdf_rel_name_1_reg(
625        &self,
626    ) -> &'static crate::common::Reg<self::FtdfRelName1Reg_SPEC, crate::common::RW> {
627        unsafe {
628            crate::common::Reg::<self::FtdfRelName1Reg_SPEC, crate::common::RW>::from_ptr(
629                self._svd2pac_as_ptr().add(65540usize),
630            )
631        }
632    }
633
634    #[doc = "Name of the release"]
635    #[inline(always)]
636    pub const fn ftdf_rel_name_2_reg(
637        &self,
638    ) -> &'static crate::common::Reg<self::FtdfRelName2Reg_SPEC, crate::common::RW> {
639        unsafe {
640            crate::common::Reg::<self::FtdfRelName2Reg_SPEC, crate::common::RW>::from_ptr(
641                self._svd2pac_as_ptr().add(65544usize),
642            )
643        }
644    }
645
646    #[doc = "Name of the release"]
647    #[inline(always)]
648    pub const fn ftdf_rel_name_3_reg(
649        &self,
650    ) -> &'static crate::common::Reg<self::FtdfRelName3Reg_SPEC, crate::common::RW> {
651        unsafe {
652            crate::common::Reg::<self::FtdfRelName3Reg_SPEC, crate::common::RW>::from_ptr(
653                self._svd2pac_as_ptr().add(65548usize),
654            )
655        }
656    }
657
658    #[doc = "Receive control register"]
659    #[inline(always)]
660    pub const fn ftdf_rx_control_0_reg(
661        &self,
662    ) -> &'static crate::common::Reg<self::FtdfRxControl0Reg_SPEC, crate::common::RW> {
663        unsafe {
664            crate::common::Reg::<self::FtdfRxControl0Reg_SPEC, crate::common::RW>::from_ptr(
665                self._svd2pac_as_ptr().add(66048usize),
666            )
667        }
668    }
669
670    #[doc = "Receive event register"]
671    #[inline(always)]
672    pub const fn ftdf_rx_event_reg(
673        &self,
674    ) -> &'static crate::common::Reg<self::FtdfRxEventReg_SPEC, crate::common::RW> {
675        unsafe {
676            crate::common::Reg::<self::FtdfRxEventReg_SPEC, crate::common::RW>::from_ptr(
677                self._svd2pac_as_ptr().add(66052usize),
678            )
679        }
680    }
681
682    #[doc = "Address receive fifo 0"]
683    #[inline(always)]
684    pub const fn ftdf_rx_fifo_0_0_reg(
685        &self,
686    ) -> &'static crate::common::Reg<self::FtdfRxFifo00Reg_SPEC, crate::common::RW> {
687        unsafe {
688            crate::common::Reg::<self::FtdfRxFifo00Reg_SPEC, crate::common::RW>::from_ptr(
689                self._svd2pac_as_ptr().add(32768usize),
690            )
691        }
692    }
693
694    #[doc = "Address transmit fifo 1"]
695    #[inline(always)]
696    pub const fn ftdf_rx_fifo_1_0_reg(
697        &self,
698    ) -> &'static crate::common::Reg<self::FtdfRxFifo10Reg_SPEC, crate::common::RW> {
699        unsafe {
700            crate::common::Reg::<self::FtdfRxFifo10Reg_SPEC, crate::common::RW>::from_ptr(
701                self._svd2pac_as_ptr().add(32896usize),
702            )
703        }
704    }
705
706    #[doc = "Address transmit fifo 2"]
707    #[inline(always)]
708    pub const fn ftdf_rx_fifo_2_0_reg(
709        &self,
710    ) -> &'static crate::common::Reg<self::FtdfRxFifo20Reg_SPEC, crate::common::RW> {
711        unsafe {
712            crate::common::Reg::<self::FtdfRxFifo20Reg_SPEC, crate::common::RW>::from_ptr(
713                self._svd2pac_as_ptr().add(33024usize),
714            )
715        }
716    }
717
718    #[doc = "Address transmit fifo 3"]
719    #[inline(always)]
720    pub const fn ftdf_rx_fifo_3_0_reg(
721        &self,
722    ) -> &'static crate::common::Reg<self::FtdfRxFifo30Reg_SPEC, crate::common::RW> {
723        unsafe {
724            crate::common::Reg::<self::FtdfRxFifo30Reg_SPEC, crate::common::RW>::from_ptr(
725                self._svd2pac_as_ptr().add(33152usize),
726            )
727        }
728    }
729
730    #[doc = "Address transmit fifo 4"]
731    #[inline(always)]
732    pub const fn ftdf_rx_fifo_4_0_reg(
733        &self,
734    ) -> &'static crate::common::Reg<self::FtdfRxFifo40Reg_SPEC, crate::common::RW> {
735        unsafe {
736            crate::common::Reg::<self::FtdfRxFifo40Reg_SPEC, crate::common::RW>::from_ptr(
737                self._svd2pac_as_ptr().add(33280usize),
738            )
739        }
740    }
741
742    #[doc = "Address transmit fifo 5"]
743    #[inline(always)]
744    pub const fn ftdf_rx_fifo_5_0_reg(
745        &self,
746    ) -> &'static crate::common::Reg<self::FtdfRxFifo50Reg_SPEC, crate::common::RW> {
747        unsafe {
748            crate::common::Reg::<self::FtdfRxFifo50Reg_SPEC, crate::common::RW>::from_ptr(
749                self._svd2pac_as_ptr().add(33408usize),
750            )
751        }
752    }
753
754    #[doc = "Address transmit fifo 6"]
755    #[inline(always)]
756    pub const fn ftdf_rx_fifo_6_0_reg(
757        &self,
758    ) -> &'static crate::common::Reg<self::FtdfRxFifo60Reg_SPEC, crate::common::RW> {
759        unsafe {
760            crate::common::Reg::<self::FtdfRxFifo60Reg_SPEC, crate::common::RW>::from_ptr(
761                self._svd2pac_as_ptr().add(33536usize),
762            )
763        }
764    }
765
766    #[doc = "Address transmit fifo 7"]
767    #[inline(always)]
768    pub const fn ftdf_rx_fifo_7_0_reg(
769        &self,
770    ) -> &'static crate::common::Reg<self::FtdfRxFifo70Reg_SPEC, crate::common::RW> {
771        unsafe {
772            crate::common::Reg::<self::FtdfRxFifo70Reg_SPEC, crate::common::RW>::from_ptr(
773                self._svd2pac_as_ptr().add(33664usize),
774            )
775        }
776    }
777
778    #[doc = "Receive event mask register"]
779    #[inline(always)]
780    pub const fn ftdf_rx_mask_reg(
781        &self,
782    ) -> &'static crate::common::Reg<self::FtdfRxMaskReg_SPEC, crate::common::RW> {
783        unsafe {
784            crate::common::Reg::<self::FtdfRxMaskReg_SPEC, crate::common::RW>::from_ptr(
785                self._svd2pac_as_ptr().add(66056usize),
786            )
787        }
788    }
789
790    #[doc = "Receive metadata register 0"]
791    #[inline(always)]
792    pub const fn ftdf_rx_meta_0_0_reg(
793        &self,
794    ) -> &'static crate::common::Reg<self::FtdfRxMeta00Reg_SPEC, crate::common::RW> {
795        unsafe {
796            crate::common::Reg::<self::FtdfRxMeta00Reg_SPEC, crate::common::RW>::from_ptr(
797                self._svd2pac_as_ptr().add(640usize),
798            )
799        }
800    }
801
802    #[doc = "Receive metadata register 1"]
803    #[inline(always)]
804    pub const fn ftdf_rx_meta_0_1_reg(
805        &self,
806    ) -> &'static crate::common::Reg<self::FtdfRxMeta01Reg_SPEC, crate::common::RW> {
807        unsafe {
808            crate::common::Reg::<self::FtdfRxMeta01Reg_SPEC, crate::common::RW>::from_ptr(
809                self._svd2pac_as_ptr().add(656usize),
810            )
811        }
812    }
813
814    #[doc = "Receive metadata register 2"]
815    #[inline(always)]
816    pub const fn ftdf_rx_meta_0_2_reg(
817        &self,
818    ) -> &'static crate::common::Reg<self::FtdfRxMeta02Reg_SPEC, crate::common::RW> {
819        unsafe {
820            crate::common::Reg::<self::FtdfRxMeta02Reg_SPEC, crate::common::RW>::from_ptr(
821                self._svd2pac_as_ptr().add(672usize),
822            )
823        }
824    }
825
826    #[doc = "Receive metadata register 3"]
827    #[inline(always)]
828    pub const fn ftdf_rx_meta_0_3_reg(
829        &self,
830    ) -> &'static crate::common::Reg<self::FtdfRxMeta03Reg_SPEC, crate::common::RW> {
831        unsafe {
832            crate::common::Reg::<self::FtdfRxMeta03Reg_SPEC, crate::common::RW>::from_ptr(
833                self._svd2pac_as_ptr().add(688usize),
834            )
835        }
836    }
837
838    #[doc = "Receive metadata register 4"]
839    #[inline(always)]
840    pub const fn ftdf_rx_meta_0_4_reg(
841        &self,
842    ) -> &'static crate::common::Reg<self::FtdfRxMeta04Reg_SPEC, crate::common::RW> {
843        unsafe {
844            crate::common::Reg::<self::FtdfRxMeta04Reg_SPEC, crate::common::RW>::from_ptr(
845                self._svd2pac_as_ptr().add(704usize),
846            )
847        }
848    }
849
850    #[doc = "Receive metadata register 5"]
851    #[inline(always)]
852    pub const fn ftdf_rx_meta_0_5_reg(
853        &self,
854    ) -> &'static crate::common::Reg<self::FtdfRxMeta05Reg_SPEC, crate::common::RW> {
855        unsafe {
856            crate::common::Reg::<self::FtdfRxMeta05Reg_SPEC, crate::common::RW>::from_ptr(
857                self._svd2pac_as_ptr().add(720usize),
858            )
859        }
860    }
861
862    #[doc = "Receive metadata register 6"]
863    #[inline(always)]
864    pub const fn ftdf_rx_meta_0_6_reg(
865        &self,
866    ) -> &'static crate::common::Reg<self::FtdfRxMeta06Reg_SPEC, crate::common::RW> {
867        unsafe {
868            crate::common::Reg::<self::FtdfRxMeta06Reg_SPEC, crate::common::RW>::from_ptr(
869                self._svd2pac_as_ptr().add(736usize),
870            )
871        }
872    }
873
874    #[doc = "Receive metadata register 7"]
875    #[inline(always)]
876    pub const fn ftdf_rx_meta_0_7_reg(
877        &self,
878    ) -> &'static crate::common::Reg<self::FtdfRxMeta07Reg_SPEC, crate::common::RW> {
879        unsafe {
880            crate::common::Reg::<self::FtdfRxMeta07Reg_SPEC, crate::common::RW>::from_ptr(
881                self._svd2pac_as_ptr().add(752usize),
882            )
883        }
884    }
885
886    #[doc = "Receive metadata register 0"]
887    #[inline(always)]
888    pub const fn ftdf_rx_meta_1_0_reg(
889        &self,
890    ) -> &'static crate::common::Reg<self::FtdfRxMeta10Reg_SPEC, crate::common::RW> {
891        unsafe {
892            crate::common::Reg::<self::FtdfRxMeta10Reg_SPEC, crate::common::RW>::from_ptr(
893                self._svd2pac_as_ptr().add(644usize),
894            )
895        }
896    }
897
898    #[doc = "Receive metadata register 1"]
899    #[inline(always)]
900    pub const fn ftdf_rx_meta_1_1_reg(
901        &self,
902    ) -> &'static crate::common::Reg<self::FtdfRxMeta11Reg_SPEC, crate::common::RW> {
903        unsafe {
904            crate::common::Reg::<self::FtdfRxMeta11Reg_SPEC, crate::common::RW>::from_ptr(
905                self._svd2pac_as_ptr().add(660usize),
906            )
907        }
908    }
909
910    #[doc = "Receive metadata register 2"]
911    #[inline(always)]
912    pub const fn ftdf_rx_meta_1_2_reg(
913        &self,
914    ) -> &'static crate::common::Reg<self::FtdfRxMeta12Reg_SPEC, crate::common::RW> {
915        unsafe {
916            crate::common::Reg::<self::FtdfRxMeta12Reg_SPEC, crate::common::RW>::from_ptr(
917                self._svd2pac_as_ptr().add(676usize),
918            )
919        }
920    }
921
922    #[doc = "Receive metadata register 3"]
923    #[inline(always)]
924    pub const fn ftdf_rx_meta_1_3_reg(
925        &self,
926    ) -> &'static crate::common::Reg<self::FtdfRxMeta13Reg_SPEC, crate::common::RW> {
927        unsafe {
928            crate::common::Reg::<self::FtdfRxMeta13Reg_SPEC, crate::common::RW>::from_ptr(
929                self._svd2pac_as_ptr().add(692usize),
930            )
931        }
932    }
933
934    #[doc = "Receive metadata register 4"]
935    #[inline(always)]
936    pub const fn ftdf_rx_meta_1_4_reg(
937        &self,
938    ) -> &'static crate::common::Reg<self::FtdfRxMeta14Reg_SPEC, crate::common::RW> {
939        unsafe {
940            crate::common::Reg::<self::FtdfRxMeta14Reg_SPEC, crate::common::RW>::from_ptr(
941                self._svd2pac_as_ptr().add(708usize),
942            )
943        }
944    }
945
946    #[doc = "Receive metadata register 5"]
947    #[inline(always)]
948    pub const fn ftdf_rx_meta_1_5_reg(
949        &self,
950    ) -> &'static crate::common::Reg<self::FtdfRxMeta15Reg_SPEC, crate::common::RW> {
951        unsafe {
952            crate::common::Reg::<self::FtdfRxMeta15Reg_SPEC, crate::common::RW>::from_ptr(
953                self._svd2pac_as_ptr().add(724usize),
954            )
955        }
956    }
957
958    #[doc = "Receive metadata register 6"]
959    #[inline(always)]
960    pub const fn ftdf_rx_meta_1_6_reg(
961        &self,
962    ) -> &'static crate::common::Reg<self::FtdfRxMeta16Reg_SPEC, crate::common::RW> {
963        unsafe {
964            crate::common::Reg::<self::FtdfRxMeta16Reg_SPEC, crate::common::RW>::from_ptr(
965                self._svd2pac_as_ptr().add(740usize),
966            )
967        }
968    }
969
970    #[doc = "Receive metadata register 7"]
971    #[inline(always)]
972    pub const fn ftdf_rx_meta_1_7_reg(
973        &self,
974    ) -> &'static crate::common::Reg<self::FtdfRxMeta17Reg_SPEC, crate::common::RW> {
975        unsafe {
976            crate::common::Reg::<self::FtdfRxMeta17Reg_SPEC, crate::common::RW>::from_ptr(
977                self._svd2pac_as_ptr().add(756usize),
978            )
979        }
980    }
981
982    #[doc = "Receive status delta register"]
983    #[inline(always)]
984    pub const fn ftdf_rx_status_delta_reg(
985        &self,
986    ) -> &'static crate::common::Reg<self::FtdfRxStatusDeltaReg_SPEC, crate::common::RW> {
987        unsafe {
988            crate::common::Reg::<self::FtdfRxStatusDeltaReg_SPEC, crate::common::RW>::from_ptr(
989                self._svd2pac_as_ptr().add(66080usize),
990            )
991        }
992    }
993
994    #[doc = "Receive status delta mask register"]
995    #[inline(always)]
996    pub const fn ftdf_rx_status_mask_reg(
997        &self,
998    ) -> &'static crate::common::Reg<self::FtdfRxStatusMaskReg_SPEC, crate::common::RW> {
999        unsafe {
1000            crate::common::Reg::<self::FtdfRxStatusMaskReg_SPEC, crate::common::RW>::from_ptr(
1001                self._svd2pac_as_ptr().add(66084usize),
1002            )
1003        }
1004    }
1005
1006    #[doc = "Receive status register"]
1007    #[inline(always)]
1008    pub const fn ftdf_rx_status_reg(
1009        &self,
1010    ) -> &'static crate::common::Reg<self::FtdfRxStatusReg_SPEC, crate::common::RW> {
1011        unsafe {
1012            crate::common::Reg::<self::FtdfRxStatusReg_SPEC, crate::common::RW>::from_ptr(
1013                self._svd2pac_as_ptr().add(66060usize),
1014            )
1015        }
1016    }
1017
1018    #[doc = "Seckey register"]
1019    #[inline(always)]
1020    pub const fn ftdf_seckey_0_reg(
1021        &self,
1022    ) -> &'static crate::common::Reg<self::FtdfSeckey0Reg_SPEC, crate::common::RW> {
1023        unsafe {
1024            crate::common::Reg::<self::FtdfSeckey0Reg_SPEC, crate::common::RW>::from_ptr(
1025                self._svd2pac_as_ptr().add(65816usize),
1026            )
1027        }
1028    }
1029
1030    #[doc = "Seckey register"]
1031    #[inline(always)]
1032    pub const fn ftdf_seckey_1_reg(
1033        &self,
1034    ) -> &'static crate::common::Reg<self::FtdfSeckey1Reg_SPEC, crate::common::RW> {
1035        unsafe {
1036            crate::common::Reg::<self::FtdfSeckey1Reg_SPEC, crate::common::RW>::from_ptr(
1037                self._svd2pac_as_ptr().add(65820usize),
1038            )
1039        }
1040    }
1041
1042    #[doc = "SecKey register"]
1043    #[inline(always)]
1044    pub const fn ftdf_seckey_2_reg(
1045        &self,
1046    ) -> &'static crate::common::Reg<self::FtdfSeckey2Reg_SPEC, crate::common::RW> {
1047        unsafe {
1048            crate::common::Reg::<self::FtdfSeckey2Reg_SPEC, crate::common::RW>::from_ptr(
1049                self._svd2pac_as_ptr().add(65824usize),
1050            )
1051        }
1052    }
1053
1054    #[doc = "Seckey register"]
1055    #[inline(always)]
1056    pub const fn ftdf_seckey_3_reg(
1057        &self,
1058    ) -> &'static crate::common::Reg<self::FtdfSeckey3Reg_SPEC, crate::common::RW> {
1059        unsafe {
1060            crate::common::Reg::<self::FtdfSeckey3Reg_SPEC, crate::common::RW>::from_ptr(
1061                self._svd2pac_as_ptr().add(65828usize),
1062            )
1063        }
1064    }
1065
1066    #[doc = "Nonce register used for encryption/decryption"]
1067    #[inline(always)]
1068    pub const fn ftdf_secnonce_0_reg(
1069        &self,
1070    ) -> &'static crate::common::Reg<self::FtdfSecnonce0Reg_SPEC, crate::common::RW> {
1071        unsafe {
1072            crate::common::Reg::<self::FtdfSecnonce0Reg_SPEC, crate::common::RW>::from_ptr(
1073                self._svd2pac_as_ptr().add(65832usize),
1074            )
1075        }
1076    }
1077
1078    #[doc = "Nonce register used for encryption/decryption"]
1079    #[inline(always)]
1080    pub const fn ftdf_secnonce_1_reg(
1081        &self,
1082    ) -> &'static crate::common::Reg<self::FtdfSecnonce1Reg_SPEC, crate::common::RW> {
1083        unsafe {
1084            crate::common::Reg::<self::FtdfSecnonce1Reg_SPEC, crate::common::RW>::from_ptr(
1085                self._svd2pac_as_ptr().add(65836usize),
1086            )
1087        }
1088    }
1089
1090    #[doc = "Nonce register used for encryption/decryption"]
1091    #[inline(always)]
1092    pub const fn ftdf_secnonce_2_reg(
1093        &self,
1094    ) -> &'static crate::common::Reg<self::FtdfSecnonce2Reg_SPEC, crate::common::RW> {
1095        unsafe {
1096            crate::common::Reg::<self::FtdfSecnonce2Reg_SPEC, crate::common::RW>::from_ptr(
1097                self._svd2pac_as_ptr().add(65840usize),
1098            )
1099        }
1100    }
1101
1102    #[doc = "Nonce register used for encryption/decryption"]
1103    #[inline(always)]
1104    pub const fn ftdf_secnonce_3_reg(
1105        &self,
1106    ) -> &'static crate::common::Reg<self::FtdfSecnonce3Reg_SPEC, crate::common::RW> {
1107        unsafe {
1108            crate::common::Reg::<self::FtdfSecnonce3Reg_SPEC, crate::common::RW>::from_ptr(
1109                self._svd2pac_as_ptr().add(65844usize),
1110            )
1111        }
1112    }
1113
1114    #[doc = "Security register"]
1115    #[inline(always)]
1116    pub const fn ftdf_security_0_reg(
1117        &self,
1118    ) -> &'static crate::common::Reg<self::FtdfSecurity0Reg_SPEC, crate::common::RW> {
1119        unsafe {
1120            crate::common::Reg::<self::FtdfSecurity0Reg_SPEC, crate::common::RW>::from_ptr(
1121                self._svd2pac_as_ptr().add(65808usize),
1122            )
1123        }
1124    }
1125
1126    #[doc = "Security register"]
1127    #[inline(always)]
1128    pub const fn ftdf_security_1_reg(
1129        &self,
1130    ) -> &'static crate::common::Reg<self::FtdfSecurity1Reg_SPEC, crate::common::RW> {
1131        unsafe {
1132            crate::common::Reg::<self::FtdfSecurity1Reg_SPEC, crate::common::RW>::from_ptr(
1133                self._svd2pac_as_ptr().add(65812usize),
1134            )
1135        }
1136    }
1137
1138    #[doc = "security event mask register"]
1139    #[inline(always)]
1140    pub const fn ftdf_security_eventmask_reg(
1141        &self,
1142    ) -> &'static crate::common::Reg<self::FtdfSecurityEventmaskReg_SPEC, crate::common::RW> {
1143        unsafe {
1144            crate::common::Reg::<self::FtdfSecurityEventmaskReg_SPEC, crate::common::RW>::from_ptr(
1145                self._svd2pac_as_ptr().add(65876usize),
1146            )
1147        }
1148    }
1149
1150    #[doc = "security event register"]
1151    #[inline(always)]
1152    pub const fn ftdf_security_event_reg(
1153        &self,
1154    ) -> &'static crate::common::Reg<self::FtdfSecurityEventReg_SPEC, crate::common::RW> {
1155        unsafe {
1156            crate::common::Reg::<self::FtdfSecurityEventReg_SPEC, crate::common::RW>::from_ptr(
1157                self._svd2pac_as_ptr().add(65872usize),
1158            )
1159        }
1160    }
1161
1162    #[doc = "One shot register to start encryption/decryption"]
1163    #[inline(always)]
1164    pub const fn ftdf_security_os_reg(
1165        &self,
1166    ) -> &'static crate::common::Reg<self::FtdfSecurityOsReg_SPEC, crate::common::RW> {
1167        unsafe {
1168            crate::common::Reg::<self::FtdfSecurityOsReg_SPEC, crate::common::RW>::from_ptr(
1169                self._svd2pac_as_ptr().add(65848usize),
1170            )
1171        }
1172    }
1173
1174    #[doc = "Security status register"]
1175    #[inline(always)]
1176    pub const fn ftdf_security_status_reg(
1177        &self,
1178    ) -> &'static crate::common::Reg<self::FtdfSecurityStatusReg_SPEC, crate::common::RW> {
1179        unsafe {
1180            crate::common::Reg::<self::FtdfSecurityStatusReg_SPEC, crate::common::RW>::from_ptr(
1181                self._svd2pac_as_ptr().add(65856usize),
1182            )
1183        }
1184    }
1185
1186    #[inline(always)]
1187    pub const fn ftdf_size_and_val_0_reg(
1188        &self,
1189    ) -> &'static crate::common::Reg<self::FtdfSizeAndVal0Reg_SPEC, crate::common::RW> {
1190        unsafe {
1191            crate::common::Reg::<self::FtdfSizeAndVal0Reg_SPEC, crate::common::RW>::from_ptr(
1192                self._svd2pac_as_ptr().add(73736usize),
1193            )
1194        }
1195    }
1196
1197    #[doc = "Symboltime threshold register 2"]
1198    #[inline(always)]
1199    pub const fn ftdf_symboltime2thr_reg(
1200        &self,
1201    ) -> &'static crate::common::Reg<self::FtdfSymboltime2ThrReg_SPEC, crate::common::RW> {
1202        unsafe {
1203            crate::common::Reg::<self::FtdfSymboltime2ThrReg_SPEC, crate::common::RW>::from_ptr(
1204                self._svd2pac_as_ptr().add(66436usize),
1205            )
1206        }
1207    }
1208
1209    #[doc = "Value timestamp generator"]
1210    #[inline(always)]
1211    pub const fn ftdf_symboltimesnapshotval_reg(
1212        &self,
1213    ) -> &'static crate::common::Reg<self::FtdfSymboltimesnapshotvalReg_SPEC, crate::common::RW>
1214    {
1215        unsafe {
1216            crate::common::Reg::<self::FtdfSymboltimesnapshotvalReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(66064usize))
1217        }
1218    }
1219
1220    #[doc = "Symboltime threshold register 1"]
1221    #[inline(always)]
1222    pub const fn ftdf_symboltimethr_reg(
1223        &self,
1224    ) -> &'static crate::common::Reg<self::FtdfSymboltimethrReg_SPEC, crate::common::RW> {
1225        unsafe {
1226            crate::common::Reg::<self::FtdfSymboltimethrReg_SPEC, crate::common::RW>::from_ptr(
1227                self._svd2pac_as_ptr().add(66432usize),
1228            )
1229        }
1230    }
1231
1232    #[doc = "Timestamp phase value regsiter"]
1233    #[inline(always)]
1234    pub const fn ftdf_synctimestampphaseval_reg(
1235        &self,
1236    ) -> &'static crate::common::Reg<self::FtdfSynctimestampphasevalReg_SPEC, crate::common::RW>
1237    {
1238        unsafe {
1239            crate::common::Reg::<self::FtdfSynctimestampphasevalReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(66336usize))
1240        }
1241    }
1242
1243    #[doc = "Threshold timestamp generator"]
1244    #[inline(always)]
1245    pub const fn ftdf_synctimestampthr_reg(
1246        &self,
1247    ) -> &'static crate::common::Reg<self::FtdfSynctimestampthrReg_SPEC, crate::common::RW> {
1248        unsafe {
1249            crate::common::Reg::<self::FtdfSynctimestampthrReg_SPEC, crate::common::RW>::from_ptr(
1250                self._svd2pac_as_ptr().add(66308usize),
1251            )
1252        }
1253    }
1254
1255    #[doc = "Value timestamp generator"]
1256    #[inline(always)]
1257    pub const fn ftdf_synctimestampval_reg(
1258        &self,
1259    ) -> &'static crate::common::Reg<self::FtdfSynctimestampvalReg_SPEC, crate::common::RW> {
1260        unsafe {
1261            crate::common::Reg::<self::FtdfSynctimestampvalReg_SPEC, crate::common::RW>::from_ptr(
1262                self._svd2pac_as_ptr().add(66312usize),
1263            )
1264        }
1265    }
1266
1267    #[doc = "Timer control register"]
1268    #[inline(always)]
1269    pub const fn ftdf_timer_control_1_reg(
1270        &self,
1271    ) -> &'static crate::common::Reg<self::FtdfTimerControl1Reg_SPEC, crate::common::RW> {
1272        unsafe {
1273            crate::common::Reg::<self::FtdfTimerControl1Reg_SPEC, crate::common::RW>::from_ptr(
1274                self._svd2pac_as_ptr().add(66316usize),
1275            )
1276        }
1277    }
1278
1279    #[doc = "Value of timestamp generator phase within a symbol"]
1280    #[inline(always)]
1281    pub const fn ftdf_timestampcurrphaseval_reg(
1282        &self,
1283    ) -> &'static crate::common::Reg<self::FtdfTimestampcurrphasevalReg_SPEC, crate::common::RW>
1284    {
1285        unsafe {
1286            crate::common::Reg::<self::FtdfTimestampcurrphasevalReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(65652usize))
1287        }
1288    }
1289
1290    #[doc = "Value of timestamp generator"]
1291    #[inline(always)]
1292    pub const fn ftdf_timestampcurrval_reg(
1293        &self,
1294    ) -> &'static crate::common::Reg<self::FtdfTimestampcurrvalReg_SPEC, crate::common::RW> {
1295        unsafe {
1296            crate::common::Reg::<self::FtdfTimestampcurrvalReg_SPEC, crate::common::RW>::from_ptr(
1297                self._svd2pac_as_ptr().add(65628usize),
1298            )
1299        }
1300    }
1301
1302    #[doc = "Lmac tsch control register"]
1303    #[inline(always)]
1304    pub const fn ftdf_tsch_control_0_reg(
1305        &self,
1306    ) -> &'static crate::common::Reg<self::FtdfTschControl0Reg_SPEC, crate::common::RW> {
1307        unsafe {
1308            crate::common::Reg::<self::FtdfTschControl0Reg_SPEC, crate::common::RW>::from_ptr(
1309                self._svd2pac_as_ptr().add(65888usize),
1310            )
1311        }
1312    }
1313
1314    #[doc = "Lmac tsch control register"]
1315    #[inline(always)]
1316    pub const fn ftdf_tsch_control_1_reg(
1317        &self,
1318    ) -> &'static crate::common::Reg<self::FtdfTschControl1Reg_SPEC, crate::common::RW> {
1319        unsafe {
1320            crate::common::Reg::<self::FtdfTschControl1Reg_SPEC, crate::common::RW>::from_ptr(
1321                self._svd2pac_as_ptr().add(65892usize),
1322            )
1323        }
1324    }
1325
1326    #[doc = "Lmac tsch control register"]
1327    #[inline(always)]
1328    pub const fn ftdf_tsch_control_2_reg(
1329        &self,
1330    ) -> &'static crate::common::Reg<self::FtdfTschControl2Reg_SPEC, crate::common::RW> {
1331        unsafe {
1332            crate::common::Reg::<self::FtdfTschControl2Reg_SPEC, crate::common::RW>::from_ptr(
1333                self._svd2pac_as_ptr().add(65896usize),
1334            )
1335        }
1336    }
1337
1338    #[doc = "Transmit first byte register"]
1339    #[inline(always)]
1340    pub const fn ftdf_txbyte_e_reg(
1341        &self,
1342    ) -> &'static crate::common::Reg<self::FtdfTxbyteEReg_SPEC, crate::common::RW> {
1343        unsafe {
1344            crate::common::Reg::<self::FtdfTxbyteEReg_SPEC, crate::common::RW>::from_ptr(
1345                self._svd2pac_as_ptr().add(66452usize),
1346            )
1347        }
1348    }
1349
1350    #[doc = "Transmit first byte mask register"]
1351    #[inline(always)]
1352    pub const fn ftdf_txbyte_m_reg(
1353        &self,
1354    ) -> &'static crate::common::Reg<self::FtdfTxbyteMReg_SPEC, crate::common::RW> {
1355        unsafe {
1356            crate::common::Reg::<self::FtdfTxbyteMReg_SPEC, crate::common::RW>::from_ptr(
1357                self._svd2pac_as_ptr().add(66456usize),
1358            )
1359        }
1360    }
1361
1362    #[doc = "Prop delay transmit register"]
1363    #[inline(always)]
1364    pub const fn ftdf_txpipepropdelay_reg(
1365        &self,
1366    ) -> &'static crate::common::Reg<self::FtdfTxpipepropdelayReg_SPEC, crate::common::RW> {
1367        unsafe {
1368            crate::common::Reg::<self::FtdfTxpipepropdelayReg_SPEC, crate::common::RW>::from_ptr(
1369                self._svd2pac_as_ptr().add(65588usize),
1370            )
1371        }
1372    }
1373
1374    #[doc = "One shot register to clear flag"]
1375    #[inline(always)]
1376    pub const fn ftdf_tx_clear_os_reg(
1377        &self,
1378    ) -> &'static crate::common::Reg<self::FtdfTxClearOsReg_SPEC, crate::common::RW> {
1379        unsafe {
1380            crate::common::Reg::<self::FtdfTxClearOsReg_SPEC, crate::common::RW>::from_ptr(
1381                self._svd2pac_as_ptr().add(66692usize),
1382            )
1383        }
1384    }
1385
1386    #[doc = "Transmit control register"]
1387    #[inline(always)]
1388    pub const fn ftdf_tx_control_0_reg(
1389        &self,
1390    ) -> &'static crate::common::Reg<self::FtdfTxControl0Reg_SPEC, crate::common::RW> {
1391        unsafe {
1392            crate::common::Reg::<self::FtdfTxControl0Reg_SPEC, crate::common::RW>::from_ptr(
1393                self._svd2pac_as_ptr().add(66112usize),
1394            )
1395        }
1396    }
1397
1398    #[doc = "Address transmit fifo 0"]
1399    #[inline(always)]
1400    pub const fn ftdf_tx_fifo_0_0_reg(
1401        &self,
1402    ) -> &'static crate::common::Reg<self::FtdfTxFifo00Reg_SPEC, crate::common::RW> {
1403        unsafe {
1404            crate::common::Reg::<self::FtdfTxFifo00Reg_SPEC, crate::common::RW>::from_ptr(
1405                self._svd2pac_as_ptr().add(0usize),
1406            )
1407        }
1408    }
1409
1410    #[doc = "Address transmit fifo 1"]
1411    #[inline(always)]
1412    pub const fn ftdf_tx_fifo_1_0_reg(
1413        &self,
1414    ) -> &'static crate::common::Reg<self::FtdfTxFifo10Reg_SPEC, crate::common::RW> {
1415        unsafe {
1416            crate::common::Reg::<self::FtdfTxFifo10Reg_SPEC, crate::common::RW>::from_ptr(
1417                self._svd2pac_as_ptr().add(128usize),
1418            )
1419        }
1420    }
1421
1422    #[doc = "Address transmit fifo 2"]
1423    #[inline(always)]
1424    pub const fn ftdf_tx_fifo_2_0_reg(
1425        &self,
1426    ) -> &'static crate::common::Reg<self::FtdfTxFifo20Reg_SPEC, crate::common::RW> {
1427        unsafe {
1428            crate::common::Reg::<self::FtdfTxFifo20Reg_SPEC, crate::common::RW>::from_ptr(
1429                self._svd2pac_as_ptr().add(256usize),
1430            )
1431        }
1432    }
1433
1434    #[doc = "Address transmit fifo 3"]
1435    #[inline(always)]
1436    pub const fn ftdf_tx_fifo_3_0_reg(
1437        &self,
1438    ) -> &'static crate::common::Reg<self::FtdfTxFifo30Reg_SPEC, crate::common::RW> {
1439        unsafe {
1440            crate::common::Reg::<self::FtdfTxFifo30Reg_SPEC, crate::common::RW>::from_ptr(
1441                self._svd2pac_as_ptr().add(384usize),
1442            )
1443        }
1444    }
1445
1446    #[doc = "Clear flag register 0"]
1447    #[inline(always)]
1448    pub const fn ftdf_tx_flag_clear_e_0_reg(
1449        &self,
1450    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE0Reg_SPEC, crate::common::RW> {
1451        unsafe {
1452            crate::common::Reg::<self::FtdfTxFlagClearE0Reg_SPEC, crate::common::RW>::from_ptr(
1453                self._svd2pac_as_ptr().add(66564usize),
1454            )
1455        }
1456    }
1457
1458    #[doc = "Clear flag register 1"]
1459    #[inline(always)]
1460    pub const fn ftdf_tx_flag_clear_e_1_reg(
1461        &self,
1462    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE1Reg_SPEC, crate::common::RW> {
1463        unsafe {
1464            crate::common::Reg::<self::FtdfTxFlagClearE1Reg_SPEC, crate::common::RW>::from_ptr(
1465                self._svd2pac_as_ptr().add(66596usize),
1466            )
1467        }
1468    }
1469
1470    #[doc = "Clear flag register 2"]
1471    #[inline(always)]
1472    pub const fn ftdf_tx_flag_clear_e_2_reg(
1473        &self,
1474    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE2Reg_SPEC, crate::common::RW> {
1475        unsafe {
1476            crate::common::Reg::<self::FtdfTxFlagClearE2Reg_SPEC, crate::common::RW>::from_ptr(
1477                self._svd2pac_as_ptr().add(66628usize),
1478            )
1479        }
1480    }
1481
1482    #[doc = "Clear flag register 3"]
1483    #[inline(always)]
1484    pub const fn ftdf_tx_flag_clear_e_3_reg(
1485        &self,
1486    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE3Reg_SPEC, crate::common::RW> {
1487        unsafe {
1488            crate::common::Reg::<self::FtdfTxFlagClearE3Reg_SPEC, crate::common::RW>::from_ptr(
1489                self._svd2pac_as_ptr().add(66660usize),
1490            )
1491        }
1492    }
1493
1494    #[doc = "Mask flag register 0"]
1495    #[inline(always)]
1496    pub const fn ftdf_tx_flag_clear_m_0_reg(
1497        &self,
1498    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM0Reg_SPEC, crate::common::RW> {
1499        unsafe {
1500            crate::common::Reg::<self::FtdfTxFlagClearM0Reg_SPEC, crate::common::RW>::from_ptr(
1501                self._svd2pac_as_ptr().add(66568usize),
1502            )
1503        }
1504    }
1505
1506    #[doc = "Mask flag register 1"]
1507    #[inline(always)]
1508    pub const fn ftdf_tx_flag_clear_m_1_reg(
1509        &self,
1510    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM1Reg_SPEC, crate::common::RW> {
1511        unsafe {
1512            crate::common::Reg::<self::FtdfTxFlagClearM1Reg_SPEC, crate::common::RW>::from_ptr(
1513                self._svd2pac_as_ptr().add(66600usize),
1514            )
1515        }
1516    }
1517
1518    #[doc = "Clear flag register 2"]
1519    #[inline(always)]
1520    pub const fn ftdf_tx_flag_clear_m_2_reg(
1521        &self,
1522    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM2Reg_SPEC, crate::common::RW> {
1523        unsafe {
1524            crate::common::Reg::<self::FtdfTxFlagClearM2Reg_SPEC, crate::common::RW>::from_ptr(
1525                self._svd2pac_as_ptr().add(66632usize),
1526            )
1527        }
1528    }
1529
1530    #[doc = "Clear flag register 3"]
1531    #[inline(always)]
1532    pub const fn ftdf_tx_flag_clear_m_3_reg(
1533        &self,
1534    ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM3Reg_SPEC, crate::common::RW> {
1535        unsafe {
1536            crate::common::Reg::<self::FtdfTxFlagClearM3Reg_SPEC, crate::common::RW>::from_ptr(
1537                self._svd2pac_as_ptr().add(66664usize),
1538            )
1539        }
1540    }
1541
1542    #[doc = "Transmit packet ready for transmission register 0"]
1543    #[inline(always)]
1544    pub const fn ftdf_tx_flag_s_0_reg(
1545        &self,
1546    ) -> &'static crate::common::Reg<self::FtdfTxFlagS0Reg_SPEC, crate::common::RW> {
1547        unsafe {
1548            crate::common::Reg::<self::FtdfTxFlagS0Reg_SPEC, crate::common::RW>::from_ptr(
1549                self._svd2pac_as_ptr().add(66560usize),
1550            )
1551        }
1552    }
1553
1554    #[doc = "Transmit packet ready for transmission register 1"]
1555    #[inline(always)]
1556    pub const fn ftdf_tx_flag_s_1_reg(
1557        &self,
1558    ) -> &'static crate::common::Reg<self::FtdfTxFlagS1Reg_SPEC, crate::common::RW> {
1559        unsafe {
1560            crate::common::Reg::<self::FtdfTxFlagS1Reg_SPEC, crate::common::RW>::from_ptr(
1561                self._svd2pac_as_ptr().add(66592usize),
1562            )
1563        }
1564    }
1565
1566    #[doc = "Transmit packet ready for transmission register 2"]
1567    #[inline(always)]
1568    pub const fn ftdf_tx_flag_s_2_reg(
1569        &self,
1570    ) -> &'static crate::common::Reg<self::FtdfTxFlagS2Reg_SPEC, crate::common::RW> {
1571        unsafe {
1572            crate::common::Reg::<self::FtdfTxFlagS2Reg_SPEC, crate::common::RW>::from_ptr(
1573                self._svd2pac_as_ptr().add(66624usize),
1574            )
1575        }
1576    }
1577
1578    #[doc = "Transmit packet ready for transmission register 3"]
1579    #[inline(always)]
1580    pub const fn ftdf_tx_flag_s_3_reg(
1581        &self,
1582    ) -> &'static crate::common::Reg<self::FtdfTxFlagS3Reg_SPEC, crate::common::RW> {
1583        unsafe {
1584            crate::common::Reg::<self::FtdfTxFlagS3Reg_SPEC, crate::common::RW>::from_ptr(
1585                self._svd2pac_as_ptr().add(66656usize),
1586            )
1587        }
1588    }
1589
1590    #[doc = "Transmit metadata register 0"]
1591    #[inline(always)]
1592    pub const fn ftdf_tx_meta_data_0_0_reg(
1593        &self,
1594    ) -> &'static crate::common::Reg<self::FtdfTxMetaData00Reg_SPEC, crate::common::RW> {
1595        unsafe {
1596            crate::common::Reg::<self::FtdfTxMetaData00Reg_SPEC, crate::common::RW>::from_ptr(
1597                self._svd2pac_as_ptr().add(512usize),
1598            )
1599        }
1600    }
1601
1602    #[doc = "Transmit metadata register 1"]
1603    #[inline(always)]
1604    pub const fn ftdf_tx_meta_data_0_1_reg(
1605        &self,
1606    ) -> &'static crate::common::Reg<self::FtdfTxMetaData01Reg_SPEC, crate::common::RW> {
1607        unsafe {
1608            crate::common::Reg::<self::FtdfTxMetaData01Reg_SPEC, crate::common::RW>::from_ptr(
1609                self._svd2pac_as_ptr().add(528usize),
1610            )
1611        }
1612    }
1613
1614    #[doc = "Transmit metadata register 2"]
1615    #[inline(always)]
1616    pub const fn ftdf_tx_meta_data_0_2_reg(
1617        &self,
1618    ) -> &'static crate::common::Reg<self::FtdfTxMetaData02Reg_SPEC, crate::common::RW> {
1619        unsafe {
1620            crate::common::Reg::<self::FtdfTxMetaData02Reg_SPEC, crate::common::RW>::from_ptr(
1621                self._svd2pac_as_ptr().add(544usize),
1622            )
1623        }
1624    }
1625
1626    #[doc = "Transmit metadata register 3"]
1627    #[inline(always)]
1628    pub const fn ftdf_tx_meta_data_0_3_reg(
1629        &self,
1630    ) -> &'static crate::common::Reg<self::FtdfTxMetaData03Reg_SPEC, crate::common::RW> {
1631        unsafe {
1632            crate::common::Reg::<self::FtdfTxMetaData03Reg_SPEC, crate::common::RW>::from_ptr(
1633                self._svd2pac_as_ptr().add(560usize),
1634            )
1635        }
1636    }
1637
1638    #[doc = "Transmit metadata register 0"]
1639    #[inline(always)]
1640    pub const fn ftdf_tx_meta_data_1_0_reg(
1641        &self,
1642    ) -> &'static crate::common::Reg<self::FtdfTxMetaData10Reg_SPEC, crate::common::RW> {
1643        unsafe {
1644            crate::common::Reg::<self::FtdfTxMetaData10Reg_SPEC, crate::common::RW>::from_ptr(
1645                self._svd2pac_as_ptr().add(516usize),
1646            )
1647        }
1648    }
1649
1650    #[doc = "Transmit metadata register 1"]
1651    #[inline(always)]
1652    pub const fn ftdf_tx_meta_data_1_1_reg(
1653        &self,
1654    ) -> &'static crate::common::Reg<self::FtdfTxMetaData11Reg_SPEC, crate::common::RW> {
1655        unsafe {
1656            crate::common::Reg::<self::FtdfTxMetaData11Reg_SPEC, crate::common::RW>::from_ptr(
1657                self._svd2pac_as_ptr().add(532usize),
1658            )
1659        }
1660    }
1661
1662    #[doc = "Transmit metadata register 2"]
1663    #[inline(always)]
1664    pub const fn ftdf_tx_meta_data_1_2_reg(
1665        &self,
1666    ) -> &'static crate::common::Reg<self::FtdfTxMetaData12Reg_SPEC, crate::common::RW> {
1667        unsafe {
1668            crate::common::Reg::<self::FtdfTxMetaData12Reg_SPEC, crate::common::RW>::from_ptr(
1669                self._svd2pac_as_ptr().add(548usize),
1670            )
1671        }
1672    }
1673
1674    #[doc = "Transmit metadata register 3"]
1675    #[inline(always)]
1676    pub const fn ftdf_tx_meta_data_1_3_reg(
1677        &self,
1678    ) -> &'static crate::common::Reg<self::FtdfTxMetaData13Reg_SPEC, crate::common::RW> {
1679        unsafe {
1680            crate::common::Reg::<self::FtdfTxMetaData13Reg_SPEC, crate::common::RW>::from_ptr(
1681                self._svd2pac_as_ptr().add(564usize),
1682            )
1683        }
1684    }
1685
1686    #[doc = "Transmit priority register 0"]
1687    #[inline(always)]
1688    pub const fn ftdf_tx_priority_0_reg(
1689        &self,
1690    ) -> &'static crate::common::Reg<self::FtdfTxPriority0Reg_SPEC, crate::common::RW> {
1691        unsafe {
1692            crate::common::Reg::<self::FtdfTxPriority0Reg_SPEC, crate::common::RW>::from_ptr(
1693                self._svd2pac_as_ptr().add(66576usize),
1694            )
1695        }
1696    }
1697
1698    #[doc = "Transmit priority register 1"]
1699    #[inline(always)]
1700    pub const fn ftdf_tx_priority_1_reg(
1701        &self,
1702    ) -> &'static crate::common::Reg<self::FtdfTxPriority1Reg_SPEC, crate::common::RW> {
1703        unsafe {
1704            crate::common::Reg::<self::FtdfTxPriority1Reg_SPEC, crate::common::RW>::from_ptr(
1705                self._svd2pac_as_ptr().add(66608usize),
1706            )
1707        }
1708    }
1709
1710    #[doc = "Transmit priority register 2"]
1711    #[inline(always)]
1712    pub const fn ftdf_tx_priority_2_reg(
1713        &self,
1714    ) -> &'static crate::common::Reg<self::FtdfTxPriority2Reg_SPEC, crate::common::RW> {
1715        unsafe {
1716            crate::common::Reg::<self::FtdfTxPriority2Reg_SPEC, crate::common::RW>::from_ptr(
1717                self._svd2pac_as_ptr().add(66640usize),
1718            )
1719        }
1720    }
1721
1722    #[doc = "Transmit priority register 3"]
1723    #[inline(always)]
1724    pub const fn ftdf_tx_priority_3_reg(
1725        &self,
1726    ) -> &'static crate::common::Reg<self::FtdfTxPriority3Reg_SPEC, crate::common::RW> {
1727        unsafe {
1728            crate::common::Reg::<self::FtdfTxPriority3Reg_SPEC, crate::common::RW>::from_ptr(
1729                self._svd2pac_as_ptr().add(66672usize),
1730            )
1731        }
1732    }
1733
1734    #[doc = "Transmit status register 0"]
1735    #[inline(always)]
1736    pub const fn ftdf_tx_return_status_0_0_reg(
1737        &self,
1738    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus00Reg_SPEC, crate::common::RW> {
1739        unsafe {
1740            crate::common::Reg::<self::FtdfTxReturnStatus00Reg_SPEC, crate::common::RW>::from_ptr(
1741                self._svd2pac_as_ptr().add(576usize),
1742            )
1743        }
1744    }
1745
1746    #[doc = "Transmit status register 1"]
1747    #[inline(always)]
1748    pub const fn ftdf_tx_return_status_0_1_reg(
1749        &self,
1750    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus01Reg_SPEC, crate::common::RW> {
1751        unsafe {
1752            crate::common::Reg::<self::FtdfTxReturnStatus01Reg_SPEC, crate::common::RW>::from_ptr(
1753                self._svd2pac_as_ptr().add(592usize),
1754            )
1755        }
1756    }
1757
1758    #[doc = "Transmit status register 2"]
1759    #[inline(always)]
1760    pub const fn ftdf_tx_return_status_0_2_reg(
1761        &self,
1762    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus02Reg_SPEC, crate::common::RW> {
1763        unsafe {
1764            crate::common::Reg::<self::FtdfTxReturnStatus02Reg_SPEC, crate::common::RW>::from_ptr(
1765                self._svd2pac_as_ptr().add(608usize),
1766            )
1767        }
1768    }
1769
1770    #[doc = "Transmit status register 3"]
1771    #[inline(always)]
1772    pub const fn ftdf_tx_return_status_0_3_reg(
1773        &self,
1774    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus03Reg_SPEC, crate::common::RW> {
1775        unsafe {
1776            crate::common::Reg::<self::FtdfTxReturnStatus03Reg_SPEC, crate::common::RW>::from_ptr(
1777                self._svd2pac_as_ptr().add(624usize),
1778            )
1779        }
1780    }
1781
1782    #[doc = "Transmit status register 0"]
1783    #[inline(always)]
1784    pub const fn ftdf_tx_return_status_1_0_reg(
1785        &self,
1786    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus10Reg_SPEC, crate::common::RW> {
1787        unsafe {
1788            crate::common::Reg::<self::FtdfTxReturnStatus10Reg_SPEC, crate::common::RW>::from_ptr(
1789                self._svd2pac_as_ptr().add(580usize),
1790            )
1791        }
1792    }
1793
1794    #[doc = "Transmit status register 1"]
1795    #[inline(always)]
1796    pub const fn ftdf_tx_return_status_1_1_reg(
1797        &self,
1798    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus11Reg_SPEC, crate::common::RW> {
1799        unsafe {
1800            crate::common::Reg::<self::FtdfTxReturnStatus11Reg_SPEC, crate::common::RW>::from_ptr(
1801                self._svd2pac_as_ptr().add(596usize),
1802            )
1803        }
1804    }
1805
1806    #[doc = "Transmit status register 2"]
1807    #[inline(always)]
1808    pub const fn ftdf_tx_return_status_1_2_reg(
1809        &self,
1810    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus12Reg_SPEC, crate::common::RW> {
1811        unsafe {
1812            crate::common::Reg::<self::FtdfTxReturnStatus12Reg_SPEC, crate::common::RW>::from_ptr(
1813                self._svd2pac_as_ptr().add(612usize),
1814            )
1815        }
1816    }
1817
1818    #[doc = "Transmit status register 3"]
1819    #[inline(always)]
1820    pub const fn ftdf_tx_return_status_1_3_reg(
1821        &self,
1822    ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus13Reg_SPEC, crate::common::RW> {
1823        unsafe {
1824            crate::common::Reg::<self::FtdfTxReturnStatus13Reg_SPEC, crate::common::RW>::from_ptr(
1825                self._svd2pac_as_ptr().add(628usize),
1826            )
1827        }
1828    }
1829
1830    #[doc = "One shot register to set flag"]
1831    #[inline(always)]
1832    pub const fn ftdf_tx_set_os_reg(
1833        &self,
1834    ) -> &'static crate::common::Reg<self::FtdfTxSetOsReg_SPEC, crate::common::RW> {
1835        unsafe {
1836            crate::common::Reg::<self::FtdfTxSetOsReg_SPEC, crate::common::RW>::from_ptr(
1837                self._svd2pac_as_ptr().add(66688usize),
1838            )
1839        }
1840    }
1841
1842    #[inline(always)]
1843    pub const fn ftdf_wakeup_control_os_reg(
1844        &self,
1845    ) -> &'static crate::common::Reg<self::FtdfWakeupControlOsReg_SPEC, crate::common::RW> {
1846        unsafe {
1847            crate::common::Reg::<self::FtdfWakeupControlOsReg_SPEC, crate::common::RW>::from_ptr(
1848                self._svd2pac_as_ptr().add(66404usize),
1849            )
1850        }
1851    }
1852
1853    #[doc = "Wakeup timer vcontrol register"]
1854    #[inline(always)]
1855    pub const fn ftdf_wakeup_control_reg(
1856        &self,
1857    ) -> &'static crate::common::Reg<self::FtdfWakeupControlReg_SPEC, crate::common::RW> {
1858        unsafe {
1859            crate::common::Reg::<self::FtdfWakeupControlReg_SPEC, crate::common::RW>::from_ptr(
1860                self._svd2pac_as_ptr().add(69632usize),
1861            )
1862        }
1863    }
1864}
1865#[doc(hidden)]
1866#[derive(Copy, Clone, Eq, PartialEq)]
1867pub struct FtdfBuildtime0Reg_SPEC;
1868impl crate::sealed::RegSpec for FtdfBuildtime0Reg_SPEC {
1869    type DataType = u32;
1870}
1871
1872#[doc = "Build time"]
1873pub type FtdfBuildtime0Reg = crate::RegValueT<FtdfBuildtime0Reg_SPEC>;
1874
1875impl FtdfBuildtime0Reg {
1876    #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
1877    #[inline(always)]
1878    pub fn buildtime(
1879        self,
1880    ) -> crate::common::RegisterField<
1881        0,
1882        0xffffffff,
1883        1,
1884        0,
1885        u32,
1886        u32,
1887        FtdfBuildtime0Reg_SPEC,
1888        crate::common::R,
1889    > {
1890        crate::common::RegisterField::<
1891            0,
1892            0xffffffff,
1893            1,
1894            0,
1895            u32,
1896            u32,
1897            FtdfBuildtime0Reg_SPEC,
1898            crate::common::R,
1899        >::from_register(self, 0)
1900    }
1901}
1902impl ::core::default::Default for FtdfBuildtime0Reg {
1903    #[inline(always)]
1904    fn default() -> FtdfBuildtime0Reg {
1905        <crate::RegValueT<FtdfBuildtime0Reg_SPEC> as RegisterValue<_>>::new(0)
1906    }
1907}
1908
1909#[doc(hidden)]
1910#[derive(Copy, Clone, Eq, PartialEq)]
1911pub struct FtdfBuildtime1Reg_SPEC;
1912impl crate::sealed::RegSpec for FtdfBuildtime1Reg_SPEC {
1913    type DataType = u32;
1914}
1915
1916#[doc = "Build time"]
1917pub type FtdfBuildtime1Reg = crate::RegValueT<FtdfBuildtime1Reg_SPEC>;
1918
1919impl FtdfBuildtime1Reg {
1920    #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
1921    #[inline(always)]
1922    pub fn buildtime(
1923        self,
1924    ) -> crate::common::RegisterField<
1925        0,
1926        0xffffffff,
1927        1,
1928        0,
1929        u32,
1930        u32,
1931        FtdfBuildtime1Reg_SPEC,
1932        crate::common::R,
1933    > {
1934        crate::common::RegisterField::<
1935            0,
1936            0xffffffff,
1937            1,
1938            0,
1939            u32,
1940            u32,
1941            FtdfBuildtime1Reg_SPEC,
1942            crate::common::R,
1943        >::from_register(self, 0)
1944    }
1945}
1946impl ::core::default::Default for FtdfBuildtime1Reg {
1947    #[inline(always)]
1948    fn default() -> FtdfBuildtime1Reg {
1949        <crate::RegValueT<FtdfBuildtime1Reg_SPEC> as RegisterValue<_>>::new(0)
1950    }
1951}
1952
1953#[doc(hidden)]
1954#[derive(Copy, Clone, Eq, PartialEq)]
1955pub struct FtdfBuildtime2Reg_SPEC;
1956impl crate::sealed::RegSpec for FtdfBuildtime2Reg_SPEC {
1957    type DataType = u32;
1958}
1959
1960#[doc = "Build time"]
1961pub type FtdfBuildtime2Reg = crate::RegValueT<FtdfBuildtime2Reg_SPEC>;
1962
1963impl FtdfBuildtime2Reg {
1964    #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
1965    #[inline(always)]
1966    pub fn buildtime(
1967        self,
1968    ) -> crate::common::RegisterField<
1969        0,
1970        0xffffffff,
1971        1,
1972        0,
1973        u32,
1974        u32,
1975        FtdfBuildtime2Reg_SPEC,
1976        crate::common::R,
1977    > {
1978        crate::common::RegisterField::<
1979            0,
1980            0xffffffff,
1981            1,
1982            0,
1983            u32,
1984            u32,
1985            FtdfBuildtime2Reg_SPEC,
1986            crate::common::R,
1987        >::from_register(self, 0)
1988    }
1989}
1990impl ::core::default::Default for FtdfBuildtime2Reg {
1991    #[inline(always)]
1992    fn default() -> FtdfBuildtime2Reg {
1993        <crate::RegValueT<FtdfBuildtime2Reg_SPEC> as RegisterValue<_>>::new(0)
1994    }
1995}
1996
1997#[doc(hidden)]
1998#[derive(Copy, Clone, Eq, PartialEq)]
1999pub struct FtdfBuildtime3Reg_SPEC;
2000impl crate::sealed::RegSpec for FtdfBuildtime3Reg_SPEC {
2001    type DataType = u32;
2002}
2003
2004#[doc = "Build time"]
2005pub type FtdfBuildtime3Reg = crate::RegValueT<FtdfBuildtime3Reg_SPEC>;
2006
2007impl FtdfBuildtime3Reg {
2008    #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
2009    #[inline(always)]
2010    pub fn buildtime(
2011        self,
2012    ) -> crate::common::RegisterField<
2013        0,
2014        0xffffffff,
2015        1,
2016        0,
2017        u32,
2018        u32,
2019        FtdfBuildtime3Reg_SPEC,
2020        crate::common::R,
2021    > {
2022        crate::common::RegisterField::<
2023            0,
2024            0xffffffff,
2025            1,
2026            0,
2027            u32,
2028            u32,
2029            FtdfBuildtime3Reg_SPEC,
2030            crate::common::R,
2031        >::from_register(self, 0)
2032    }
2033}
2034impl ::core::default::Default for FtdfBuildtime3Reg {
2035    #[inline(always)]
2036    fn default() -> FtdfBuildtime3Reg {
2037        <crate::RegValueT<FtdfBuildtime3Reg_SPEC> as RegisterValue<_>>::new(0)
2038    }
2039}
2040
2041#[doc(hidden)]
2042#[derive(Copy, Clone, Eq, PartialEq)]
2043pub struct FtdfDebugcontrolReg_SPEC;
2044impl crate::sealed::RegSpec for FtdfDebugcontrolReg_SPEC {
2045    type DataType = u32;
2046}
2047
2048#[doc = "Debug control register"]
2049pub type FtdfDebugcontrolReg = crate::RegValueT<FtdfDebugcontrolReg_SPEC>;
2050
2051impl FtdfDebugcontrolReg {
2052    #[doc = "If set to \'1\', the Rx debug interface will be selected as input for the Rx pipeline rather than the DPHY interface signals.\nNote that in this mode, DBG_RX_DATA\\[3:0\\] and DBG_RX_SOF are sourced by another source (outside the scope of the LMAC) while the other Rx inputs (CCA_STAT, LQI\\[7:0\\] and ED_STAT\\[7:0\\]) are forced to 0x00."]
2053    #[inline(always)]
2054    pub fn dbg_rx_input(
2055        self,
2056    ) -> crate::common::RegisterFieldBool<8, 1, 0, FtdfDebugcontrolReg_SPEC, crate::common::RW>
2057    {
2058        crate::common::RegisterFieldBool::<8,1,0,FtdfDebugcontrolReg_SPEC,crate::common::RW>::from_register(self,0)
2059    }
2060}
2061impl ::core::default::Default for FtdfDebugcontrolReg {
2062    #[inline(always)]
2063    fn default() -> FtdfDebugcontrolReg {
2064        <crate::RegValueT<FtdfDebugcontrolReg_SPEC> as RegisterValue<_>>::new(0)
2065    }
2066}
2067
2068#[doc(hidden)]
2069#[derive(Copy, Clone, Eq, PartialEq)]
2070pub struct FtdfEventcurrvalReg_SPEC;
2071impl crate::sealed::RegSpec for FtdfEventcurrvalReg_SPEC {
2072    type DataType = u32;
2073}
2074
2075#[doc = "Value of event generator"]
2076pub type FtdfEventcurrvalReg = crate::RegValueT<FtdfEventcurrvalReg_SPEC>;
2077
2078impl FtdfEventcurrvalReg {
2079    #[doc = "The value of the captured Event generator (Wake-up counter) (initiated by getGeneratorVal, valid when getGeneratorVal_e is set)."]
2080    #[inline(always)]
2081    pub fn eventcurrval(
2082        self,
2083    ) -> crate::common::RegisterField<
2084        0,
2085        0x1ffffff,
2086        1,
2087        0,
2088        u32,
2089        u32,
2090        FtdfEventcurrvalReg_SPEC,
2091        crate::common::R,
2092    > {
2093        crate::common::RegisterField::<
2094            0,
2095            0x1ffffff,
2096            1,
2097            0,
2098            u32,
2099            u32,
2100            FtdfEventcurrvalReg_SPEC,
2101            crate::common::R,
2102        >::from_register(self, 0)
2103    }
2104}
2105impl ::core::default::Default for FtdfEventcurrvalReg {
2106    #[inline(always)]
2107    fn default() -> FtdfEventcurrvalReg {
2108        <crate::RegValueT<FtdfEventcurrvalReg_SPEC> as RegisterValue<_>>::new(0)
2109    }
2110}
2111
2112#[doc(hidden)]
2113#[derive(Copy, Clone, Eq, PartialEq)]
2114pub struct FtdfFtdfCeReg_SPEC;
2115impl crate::sealed::RegSpec for FtdfFtdfCeReg_SPEC {
2116    type DataType = u32;
2117}
2118
2119#[doc = "Selection register events"]
2120pub type FtdfFtdfCeReg = crate::RegValueT<FtdfFtdfCeReg_SPEC>;
2121
2122impl FtdfFtdfCeReg {
2123    #[doc = "Composite service request from ftdf macro (see FR0400 in v40.100.2.41.pdf), set to \'1\' if the branch currently contributes to the interrupt.\nBit 0 = unused\nBit 1 = rx interrupts\nBit 2 = unused\nBit 3 = miscelaneous interrupts\nBit 4 = tx interrupts\nBit 5 = Reserved\nUpon an interrupt, using the ftdf_ce bits it can be checked which interrupt branch creates this interrupt."]
2124    #[inline(always)]
2125    pub fn ftdf_ce(
2126        self,
2127    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, FtdfFtdfCeReg_SPEC, crate::common::R>
2128    {
2129        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,FtdfFtdfCeReg_SPEC,crate::common::R>::from_register(self,0)
2130    }
2131}
2132impl ::core::default::Default for FtdfFtdfCeReg {
2133    #[inline(always)]
2134    fn default() -> FtdfFtdfCeReg {
2135        <crate::RegValueT<FtdfFtdfCeReg_SPEC> as RegisterValue<_>>::new(0)
2136    }
2137}
2138
2139#[doc(hidden)]
2140#[derive(Copy, Clone, Eq, PartialEq)]
2141pub struct FtdfFtdfCmReg_SPEC;
2142impl crate::sealed::RegSpec for FtdfFtdfCmReg_SPEC {
2143    type DataType = u32;
2144}
2145
2146#[doc = "Mask selection register events"]
2147pub type FtdfFtdfCmReg = crate::RegValueT<FtdfFtdfCmReg_SPEC>;
2148
2149impl FtdfFtdfCmReg {
2150    #[doc = "mask bits for ftf_ce.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
2151    #[inline(always)]
2152    pub fn ftdf_cm(
2153        self,
2154    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, FtdfFtdfCmReg_SPEC, crate::common::RW>
2155    {
2156        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,FtdfFtdfCmReg_SPEC,crate::common::RW>::from_register(self,0)
2157    }
2158}
2159impl ::core::default::Default for FtdfFtdfCmReg {
2160    #[inline(always)]
2161    fn default() -> FtdfFtdfCmReg {
2162        <crate::RegValueT<FtdfFtdfCmReg_SPEC> as RegisterValue<_>>::new(0)
2163    }
2164}
2165
2166#[doc(hidden)]
2167#[derive(Copy, Clone, Eq, PartialEq)]
2168pub struct FtdfGlobControl0Reg_SPEC;
2169impl crate::sealed::RegSpec for FtdfGlobControl0Reg_SPEC {
2170    type DataType = u32;
2171}
2172
2173#[doc = "Global control register"]
2174pub type FtdfGlobControl0Reg = crate::RegValueT<FtdfGlobControl0Reg_SPEC>;
2175
2176impl FtdfGlobControl0Reg {
2177    #[doc = "If set to \'1\', the TSCH mode is enabled"]
2178    #[inline(always)]
2179    pub fn mactschenabled(
2180        self,
2181    ) -> crate::common::RegisterFieldBool<18, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2182    {
2183        crate::common::RegisterFieldBool::<18,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2184    }
2185
2186    #[doc = "If set to \'1\', the Low Energy mode (also called CSL) is enabled"]
2187    #[inline(always)]
2188    pub fn macleenabled(
2189        self,
2190    ) -> crate::common::RegisterFieldBool<17, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2191    {
2192        crate::common::RegisterFieldBool::<17,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2193    }
2194
2195    #[doc = "Simple address of the PAN coordinator"]
2196    #[inline(always)]
2197    pub fn macsimpleaddress(
2198        self,
2199    ) -> crate::common::RegisterField<
2200        8,
2201        0xff,
2202        1,
2203        0,
2204        u8,
2205        u8,
2206        FtdfGlobControl0Reg_SPEC,
2207        crate::common::RW,
2208    > {
2209        crate::common::RegisterField::<
2210            8,
2211            0xff,
2212            1,
2213            0,
2214            u8,
2215            u8,
2216            FtdfGlobControl0Reg_SPEC,
2217            crate::common::RW,
2218        >::from_register(self, 0)
2219    }
2220
2221    #[doc = "Source of the TX_DMA_REQ output pin of this block."]
2222    #[inline(always)]
2223    pub fn tx_dma_req(
2224        self,
2225    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2226    {
2227        crate::common::RegisterFieldBool::<3,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2228    }
2229
2230    #[doc = "Source of the RX_DMA_REQ output pin of this block."]
2231    #[inline(always)]
2232    pub fn rx_dma_req(
2233        self,
2234    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2235    {
2236        crate::common::RegisterFieldBool::<2,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2237    }
2238
2239    #[doc = "Enable/disable receiver check on address fields (0=enabled, 1=disabled)"]
2240    #[inline(always)]
2241    pub fn ispancoordinator(
2242        self,
2243    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2244    {
2245        crate::common::RegisterFieldBool::<1,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2246    }
2247}
2248impl ::core::default::Default for FtdfGlobControl0Reg {
2249    #[inline(always)]
2250    fn default() -> FtdfGlobControl0Reg {
2251        <crate::RegValueT<FtdfGlobControl0Reg_SPEC> as RegisterValue<_>>::new(65280)
2252    }
2253}
2254
2255#[doc(hidden)]
2256#[derive(Copy, Clone, Eq, PartialEq)]
2257pub struct FtdfGlobControl1Reg_SPEC;
2258impl crate::sealed::RegSpec for FtdfGlobControl1Reg_SPEC {
2259    type DataType = u32;
2260}
2261
2262#[doc = "Global control register"]
2263pub type FtdfGlobControl1Reg = crate::RegValueT<FtdfGlobControl1Reg_SPEC>;
2264
2265impl FtdfGlobControl1Reg {
2266    #[doc = "The short address of the device. The values 0xFFFF and 0xFFFE indicate that no IEEE Short Address is available."]
2267    #[inline(always)]
2268    pub fn macshortaddress(
2269        self,
2270    ) -> crate::common::RegisterField<
2271        16,
2272        0xffff,
2273        1,
2274        0,
2275        u16,
2276        u16,
2277        FtdfGlobControl1Reg_SPEC,
2278        crate::common::RW,
2279    > {
2280        crate::common::RegisterField::<
2281            16,
2282            0xffff,
2283            1,
2284            0,
2285            u16,
2286            u16,
2287            FtdfGlobControl1Reg_SPEC,
2288            crate::common::RW,
2289        >::from_register(self, 0)
2290    }
2291
2292    #[doc = "The PAN ID of this device.\nThe value 0xFFFF indicates that the device is not associated to a PAN."]
2293    #[inline(always)]
2294    pub fn macpanid(
2295        self,
2296    ) -> crate::common::RegisterField<
2297        0,
2298        0xffff,
2299        1,
2300        0,
2301        u16,
2302        u16,
2303        FtdfGlobControl1Reg_SPEC,
2304        crate::common::RW,
2305    > {
2306        crate::common::RegisterField::<
2307            0,
2308            0xffff,
2309            1,
2310            0,
2311            u16,
2312            u16,
2313            FtdfGlobControl1Reg_SPEC,
2314            crate::common::RW,
2315        >::from_register(self, 0)
2316    }
2317}
2318impl ::core::default::Default for FtdfGlobControl1Reg {
2319    #[inline(always)]
2320    fn default() -> FtdfGlobControl1Reg {
2321        <crate::RegValueT<FtdfGlobControl1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2322    }
2323}
2324
2325#[doc(hidden)]
2326#[derive(Copy, Clone, Eq, PartialEq)]
2327pub struct FtdfGlobControl2Reg_SPEC;
2328impl crate::sealed::RegSpec for FtdfGlobControl2Reg_SPEC {
2329    type DataType = u32;
2330}
2331
2332#[doc = "Global control register"]
2333pub type FtdfGlobControl2Reg = crate::RegValueT<FtdfGlobControl2Reg_SPEC>;
2334
2335impl FtdfGlobControl2Reg {
2336    #[doc = "Unique device address, 48 bits wide, lowest 32 bit"]
2337    #[inline(always)]
2338    pub fn aextendedaddress_l(
2339        self,
2340    ) -> crate::common::RegisterField<
2341        0,
2342        0xffffffff,
2343        1,
2344        0,
2345        u32,
2346        u32,
2347        FtdfGlobControl2Reg_SPEC,
2348        crate::common::RW,
2349    > {
2350        crate::common::RegisterField::<
2351            0,
2352            0xffffffff,
2353            1,
2354            0,
2355            u32,
2356            u32,
2357            FtdfGlobControl2Reg_SPEC,
2358            crate::common::RW,
2359        >::from_register(self, 0)
2360    }
2361}
2362impl ::core::default::Default for FtdfGlobControl2Reg {
2363    #[inline(always)]
2364    fn default() -> FtdfGlobControl2Reg {
2365        <crate::RegValueT<FtdfGlobControl2Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2366    }
2367}
2368
2369#[doc(hidden)]
2370#[derive(Copy, Clone, Eq, PartialEq)]
2371pub struct FtdfGlobControl3Reg_SPEC;
2372impl crate::sealed::RegSpec for FtdfGlobControl3Reg_SPEC {
2373    type DataType = u32;
2374}
2375
2376#[doc = "Global control register"]
2377pub type FtdfGlobControl3Reg = crate::RegValueT<FtdfGlobControl3Reg_SPEC>;
2378
2379impl FtdfGlobControl3Reg {
2380    #[doc = "Unique device address, 48 bits wide, highest 16 bit"]
2381    #[inline(always)]
2382    pub fn aextendedaddress_h(
2383        self,
2384    ) -> crate::common::RegisterField<
2385        0,
2386        0xffffffff,
2387        1,
2388        0,
2389        u32,
2390        u32,
2391        FtdfGlobControl3Reg_SPEC,
2392        crate::common::RW,
2393    > {
2394        crate::common::RegisterField::<
2395            0,
2396            0xffffffff,
2397            1,
2398            0,
2399            u32,
2400            u32,
2401            FtdfGlobControl3Reg_SPEC,
2402            crate::common::RW,
2403        >::from_register(self, 0)
2404    }
2405}
2406impl ::core::default::Default for FtdfGlobControl3Reg {
2407    #[inline(always)]
2408    fn default() -> FtdfGlobControl3Reg {
2409        <crate::RegValueT<FtdfGlobControl3Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2410    }
2411}
2412
2413#[doc(hidden)]
2414#[derive(Copy, Clone, Eq, PartialEq)]
2415pub struct FtdfLmacresetReg_SPEC;
2416impl crate::sealed::RegSpec for FtdfLmacresetReg_SPEC {
2417    type DataType = u32;
2418}
2419
2420#[doc = "Lmax reset register"]
2421pub type FtdfLmacresetReg = crate::RegValueT<FtdfLmacresetReg_SPEC>;
2422
2423impl FtdfLmacresetReg {
2424    #[doc = "If set, the LMAC performance and traffic counters will be reset.\nUse this register for functionally reset these counters."]
2425    #[inline(always)]
2426    pub fn lmacglobreset_count(
2427        self,
2428    ) -> crate::common::RegisterFieldBool<16, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2429        crate::common::RegisterFieldBool::<16,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2430    }
2431
2432    #[doc = "LmacReset_count: A \'1\' resets LMAC timing control block (for debug and MLME-reset)"]
2433    #[inline(always)]
2434    pub fn lmacreset_timctrl(
2435        self,
2436    ) -> crate::common::RegisterFieldBool<10, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2437        crate::common::RegisterFieldBool::<10,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2438    }
2439
2440    #[doc = "LmacReset_count: A \'1\' resets LMAC mac counters (for debug and MLME-reset)"]
2441    #[inline(always)]
2442    pub fn lmacreset_count(
2443        self,
2444    ) -> crate::common::RegisterFieldBool<9, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2445        crate::common::RegisterFieldBool::<9,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2446    }
2447
2448    #[doc = "LmacReset_sec: A \'1\' resets LMAC security (for debug and MLME-reset)\n\n#$LmacReset_wutim@on_off_regmap\n#LmacReset_wutim: A \'1\' Resets LMAC wake-up timer (for debug and MLME-reset)"]
2449    #[inline(always)]
2450    pub fn lmacreset_sec(
2451        self,
2452    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2453        crate::common::RegisterFieldBool::<7,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2454    }
2455
2456    #[doc = "LmacReset_tstim: A \'1\' resets LMAC timestamp timer (for debug and MLME-reset)"]
2457    #[inline(always)]
2458    pub fn lmacreset_tstim(
2459        self,
2460    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2461        crate::common::RegisterFieldBool::<6,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2462    }
2463
2464    #[doc = "LmacReset_oreg: A \'1\' resets LMAC on_off regmap (for debug and MLME-reset)\n\n#$LmacReset_areg@on_off_regmap\n#LmacReset_areg: A \'1\' Resets LMAC always_on regmap (for debug and MLME-reset)"]
2465    #[inline(always)]
2466    pub fn lmacreset_oreg(
2467        self,
2468    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2469        crate::common::RegisterFieldBool::<4,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2470    }
2471
2472    #[doc = "LmacReset_ahb: A \'1\' resets LMAC ahb interface (for debug and MLME-reset)"]
2473    #[inline(always)]
2474    pub fn lmacreset_ahb(
2475        self,
2476    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2477        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2478    }
2479
2480    #[doc = "LmacReset_tx: A \'1\' resets LMAC tx pipeline (for debug and MLME-reset)"]
2481    #[inline(always)]
2482    pub fn lmacreset_tx(
2483        self,
2484    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2485        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2486    }
2487
2488    #[doc = "LmacReset_rx: A \'1\' resets LMAC rx pipeline (for debug and MLME-reset)"]
2489    #[inline(always)]
2490    pub fn lmacreset_rx(
2491        self,
2492    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2493        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2494    }
2495
2496    #[doc = "LmacReset_control: A \'1\' resets LMAC Controller (for debug and MLME-reset)"]
2497    #[inline(always)]
2498    pub fn lmacreset_control(
2499        self,
2500    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2501        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2502    }
2503}
2504impl ::core::default::Default for FtdfLmacresetReg {
2505    #[inline(always)]
2506    fn default() -> FtdfLmacresetReg {
2507        <crate::RegValueT<FtdfLmacresetReg_SPEC> as RegisterValue<_>>::new(0)
2508    }
2509}
2510
2511#[doc(hidden)]
2512#[derive(Copy, Clone, Eq, PartialEq)]
2513pub struct FtdfLmacControl0Reg_SPEC;
2514impl crate::sealed::RegSpec for FtdfLmacControl0Reg_SPEC {
2515    type DataType = u32;
2516}
2517
2518#[doc = "Lmac control register"]
2519pub type FtdfLmacControl0Reg = crate::RegValueT<FtdfLmacControl0Reg_SPEC>;
2520
2521impl FtdfLmacControl0Reg {
2522    #[doc = "When the transmit or receive action is ready (LmacReady4Sleep is set), the PHY_EN signal is cleared unless the control register keep_phy_en is set to \'1\'.\nWhen the control register keep_phy_en is set to \'1\', the signal PHY_EN shall remain being set until the keep_phy_en is cleared.\nThis will help control the behavior of the arbiter between the LMAC and the DPHY."]
2523    #[inline(always)]
2524    pub fn keep_phy_en(
2525        self,
2526    ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacControl0Reg_SPEC, crate::common::RW>
2527    {
2528        crate::common::RegisterFieldBool::<31,1,0,FtdfLmacControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2529    }
2530
2531    #[doc = "This value will be used during receiving frames, during the auto ACK (when the AR bit is set in the received frame, see \\[FR0655\\] and further), a single CCA and ED scan.\nIn TSCH mode this register will be used during the time slot in which frames can be received and consequently an Enhanced ACK can be transmitted."]
2532    #[inline(always)]
2533    pub fn pti_rx(
2534        self,
2535    ) -> crate::common::RegisterField<
2536        27,
2537        0xf,
2538        1,
2539        0,
2540        u8,
2541        u8,
2542        FtdfLmacControl0Reg_SPEC,
2543        crate::common::RW,
2544    > {
2545        crate::common::RegisterField::<
2546            27,
2547            0xf,
2548            1,
2549            0,
2550            u8,
2551            u8,
2552            FtdfLmacControl0Reg_SPEC,
2553            crate::common::RW,
2554        >::from_register(self, 0)
2555    }
2556
2557    #[doc = "If set to \'1\', the receiver shall be always on if RxEnable is set to \'1\'."]
2558    #[inline(always)]
2559    pub fn rxalwayson(
2560        self,
2561    ) -> crate::common::RegisterFieldBool<25, 1, 0, FtdfLmacControl0Reg_SPEC, crate::common::RW>
2562    {
2563        crate::common::RegisterFieldBool::<25,1,0,FtdfLmacControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2564    }
2565
2566    #[doc = "The time (in symbol periods) the Rx must be on after setting RxEnable to \'1\'."]
2567    #[inline(always)]
2568    pub fn rxonduration(
2569        self,
2570    ) -> crate::common::RegisterField<
2571        1,
2572        0xffffff,
2573        1,
2574        0,
2575        u32,
2576        u32,
2577        FtdfLmacControl0Reg_SPEC,
2578        crate::common::RW,
2579    > {
2580        crate::common::RegisterField::<
2581            1,
2582            0xffffff,
2583            1,
2584            0,
2585            u32,
2586            u32,
2587            FtdfLmacControl0Reg_SPEC,
2588            crate::common::RW,
2589        >::from_register(self, 0)
2590    }
2591}
2592impl ::core::default::Default for FtdfLmacControl0Reg {
2593    #[inline(always)]
2594    fn default() -> FtdfLmacControl0Reg {
2595        <crate::RegValueT<FtdfLmacControl0Reg_SPEC> as RegisterValue<_>>::new(0)
2596    }
2597}
2598
2599#[doc(hidden)]
2600#[derive(Copy, Clone, Eq, PartialEq)]
2601pub struct FtdfLmacControl10Reg_SPEC;
2602impl crate::sealed::RegSpec for FtdfLmacControl10Reg_SPEC {
2603    type DataType = u32;
2604}
2605
2606#[doc = "Lmac control register"]
2607pub type FtdfLmacControl10Reg = crate::RegValueT<FtdfLmacControl10Reg_SPEC>;
2608
2609impl FtdfLmacControl10Reg {
2610    #[doc = "In CSL mode, if the current RZtime is less or Equal to macRZzeroVal an RZtime with value zero is inserted in the wakeup frame. So this is by default the last Wake-up frame of a Wake-up sequence."]
2611    #[inline(always)]
2612    pub fn macrzzeroval(
2613        self,
2614    ) -> crate::common::RegisterField<
2615        28,
2616        0xf,
2617        1,
2618        0,
2619        u8,
2620        u8,
2621        FtdfLmacControl10Reg_SPEC,
2622        crate::common::RW,
2623    > {
2624        crate::common::RegisterField::<
2625            28,
2626            0xf,
2627            1,
2628            0,
2629            u8,
2630            u8,
2631            FtdfLmacControl10Reg_SPEC,
2632            crate::common::RW,
2633        >::from_register(self, 0)
2634    }
2635
2636    #[doc = "In CSL mode, the software can set the margin for the expected frame by control register macCSLmarginRZ (in 10 symbol periods).\nThe LMAC will make sure that the receiver is ready to receive data this amount of time earlier than to be expected by the received RZ time."]
2637    #[inline(always)]
2638    pub fn maccslmarginrz(
2639        self,
2640    ) -> crate::common::RegisterField<
2641        16,
2642        0xf,
2643        1,
2644        0,
2645        u8,
2646        u8,
2647        FtdfLmacControl10Reg_SPEC,
2648        crate::common::RW,
2649    > {
2650        crate::common::RegisterField::<
2651            16,
2652            0xf,
2653            1,
2654            0,
2655            u8,
2656            u8,
2657            FtdfLmacControl10Reg_SPEC,
2658            crate::common::RW,
2659        >::from_register(self, 0)
2660    }
2661
2662    #[doc = "In CSL mode, this register shall be used if the Wake-up frame to be transmitted is larger than 15 octets.\nIt shall indicate the amount of extra data in a Wake-up frame after the RZ position in the frame (in 10 symbol periods).\nThis correction is needed to make sure that the correct RZ time is filled in by the LMAC."]
2663    #[inline(always)]
2664    pub fn macwurzcorrection(
2665        self,
2666    ) -> crate::common::RegisterField<
2667        0,
2668        0xff,
2669        1,
2670        0,
2671        u8,
2672        u8,
2673        FtdfLmacControl10Reg_SPEC,
2674        crate::common::RW,
2675    > {
2676        crate::common::RegisterField::<
2677            0,
2678            0xff,
2679            1,
2680            0,
2681            u8,
2682            u8,
2683            FtdfLmacControl10Reg_SPEC,
2684            crate::common::RW,
2685        >::from_register(self, 0)
2686    }
2687}
2688impl ::core::default::Default for FtdfLmacControl10Reg {
2689    #[inline(always)]
2690    fn default() -> FtdfLmacControl10Reg {
2691        <crate::RegValueT<FtdfLmacControl10Reg_SPEC> as RegisterValue<_>>::new(536870912)
2692    }
2693}
2694
2695#[doc(hidden)]
2696#[derive(Copy, Clone, Eq, PartialEq)]
2697pub struct FtdfLmacControl11Reg_SPEC;
2698impl crate::sealed::RegSpec for FtdfLmacControl11Reg_SPEC {
2699    type DataType = u32;
2700}
2701
2702#[doc = "Lmac control register"]
2703pub type FtdfLmacControl11Reg = crate::RegValueT<FtdfLmacControl11Reg_SPEC>;
2704
2705impl FtdfLmacControl11Reg {
2706    #[doc = "If the backoff time calculated in the CSMA-CA procedure as described in \\[FR3280\\] is equal to or higher than the control register Csma_Ca_BO_threshold\\[8\\] (resolution 320us, see \\[FR3290\\]) the event register Csma_Ca_BO_thr_e will be set and an interrupt.\nIn case Csma_Ca_BO_threshold equals 0xFF no check will be performed and consequently Csma_Ca_BO_thr_e will not be set and no interrupt will be generated."]
2707    #[inline(always)]
2708    pub fn csma_ca_bo_threshold(
2709        self,
2710    ) -> crate::common::RegisterField<
2711        24,
2712        0xff,
2713        1,
2714        0,
2715        u8,
2716        u8,
2717        FtdfLmacControl11Reg_SPEC,
2718        crate::common::RW,
2719    > {
2720        crate::common::RegisterField::<
2721            24,
2722            0xff,
2723            1,
2724            0,
2725            u8,
2726            u8,
2727            FtdfLmacControl11Reg_SPEC,
2728            crate::common::RW,
2729        >::from_register(self, 0)
2730    }
2731
2732    #[doc = "Number of backoffs value in case of a CSMA-CA resume action."]
2733    #[inline(always)]
2734    pub fn csma_ca_nb_val(
2735        self,
2736    ) -> crate::common::RegisterField<
2737        17,
2738        0x7,
2739        1,
2740        0,
2741        u8,
2742        u8,
2743        FtdfLmacControl11Reg_SPEC,
2744        crate::common::RW,
2745    > {
2746        crate::common::RegisterField::<
2747            17,
2748            0x7,
2749            1,
2750            0,
2751            u8,
2752            u8,
2753            FtdfLmacControl11Reg_SPEC,
2754            crate::common::RW,
2755        >::from_register(self, 0)
2756    }
2757
2758    #[doc = "The switching off and on of the PHY Rx (see macRxTotalCycleTime) can be disabled whith the control register macDisCaRxOfftoRZ.\n0 : Disabled\n1 : Enabled"]
2759    #[inline(always)]
2760    pub fn macdiscarxofftorz(
2761        self,
2762    ) -> crate::common::RegisterFieldBool<16, 1, 0, FtdfLmacControl11Reg_SPEC, crate::common::RW>
2763    {
2764        crate::common::RegisterFieldBool::<16,1,0,FtdfLmacControl11Reg_SPEC,crate::common::RW>::from_register(self,0)
2765    }
2766
2767    #[doc = "In CSL mode it can be decided to disable the PHY Rx (Rx-off) after reception of a Wake-up frame and enable the PHY Rx (Rx-on) when the data frame is to be expected, based on the received RZ time.\nIn order to make it easier to calculate if it is efficient to switch to Rx-off and Rx-on again, a control register indicates the time needed to disable and enable the PHY Rx: macRxTotalCycleTime (resolution is 10 symbol periods)"]
2768    #[inline(always)]
2769    pub fn macrxtotalcycletime(
2770        self,
2771    ) -> crate::common::RegisterField<
2772        0,
2773        0xffff,
2774        1,
2775        0,
2776        u16,
2777        u16,
2778        FtdfLmacControl11Reg_SPEC,
2779        crate::common::RW,
2780    > {
2781        crate::common::RegisterField::<
2782            0,
2783            0xffff,
2784            1,
2785            0,
2786            u16,
2787            u16,
2788            FtdfLmacControl11Reg_SPEC,
2789            crate::common::RW,
2790        >::from_register(self, 0)
2791    }
2792}
2793impl ::core::default::Default for FtdfLmacControl11Reg {
2794    #[inline(always)]
2795    fn default() -> FtdfLmacControl11Reg {
2796        <crate::RegValueT<FtdfLmacControl11Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2797    }
2798}
2799
2800#[doc(hidden)]
2801#[derive(Copy, Clone, Eq, PartialEq)]
2802pub struct FtdfLmacControl1Reg_SPEC;
2803impl crate::sealed::RegSpec for FtdfLmacControl1Reg_SPEC {
2804    type DataType = u32;
2805}
2806
2807#[doc = "Lmac control register"]
2808pub type FtdfLmacControl1Reg = crate::RegValueT<FtdfLmacControl1Reg_SPEC>;
2809
2810impl FtdfLmacControl1Reg {
2811    #[doc = "HighSide injection."]
2812    #[inline(always)]
2813    pub fn phyrxattr_hsi(
2814        self,
2815    ) -> crate::common::RegisterFieldBool<15, 1, 0, FtdfLmacControl1Reg_SPEC, crate::common::RW>
2816    {
2817        crate::common::RegisterFieldBool::<15,1,0,FtdfLmacControl1Reg_SPEC,crate::common::RW>::from_register(self,0)
2818    }
2819
2820    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
2821    #[inline(always)]
2822    pub fn phyrxattr_rf_gpio_pins(
2823        self,
2824    ) -> crate::common::RegisterField<
2825        12,
2826        0x7,
2827        1,
2828        0,
2829        u8,
2830        u8,
2831        FtdfLmacControl1Reg_SPEC,
2832        crate::common::RW,
2833    > {
2834        crate::common::RegisterField::<
2835            12,
2836            0x7,
2837            1,
2838            0,
2839            u8,
2840            u8,
2841            FtdfLmacControl1Reg_SPEC,
2842            crate::common::RW,
2843        >::from_register(self, 0)
2844    }
2845
2846    #[doc = "CalCap value."]
2847    #[inline(always)]
2848    pub fn phyrxattr_calcap(
2849        self,
2850    ) -> crate::common::RegisterField<
2851        8,
2852        0xf,
2853        1,
2854        0,
2855        u8,
2856        u8,
2857        FtdfLmacControl1Reg_SPEC,
2858        crate::common::RW,
2859    > {
2860        crate::common::RegisterField::<
2861            8,
2862            0xf,
2863            1,
2864            0,
2865            u8,
2866            u8,
2867            FtdfLmacControl1Reg_SPEC,
2868            crate::common::RW,
2869        >::from_register(self, 0)
2870    }
2871
2872    #[doc = "Channel Number."]
2873    #[inline(always)]
2874    pub fn phyrxattr_cn(
2875        self,
2876    ) -> crate::common::RegisterField<
2877        4,
2878        0xf,
2879        1,
2880        0,
2881        u8,
2882        u8,
2883        FtdfLmacControl1Reg_SPEC,
2884        crate::common::RW,
2885    > {
2886        crate::common::RegisterField::<
2887            4,
2888            0xf,
2889            1,
2890            0,
2891            u8,
2892            u8,
2893            FtdfLmacControl1Reg_SPEC,
2894            crate::common::RW,
2895        >::from_register(self, 0)
2896    }
2897
2898    #[doc = "Select the LQI calculation"]
2899    #[inline(always)]
2900    pub fn phyrxattr_dem_lqi(
2901        self,
2902    ) -> crate::common::RegisterField<
2903        2,
2904        0x3,
2905        1,
2906        0,
2907        u8,
2908        u8,
2909        FtdfLmacControl1Reg_SPEC,
2910        crate::common::RW,
2911    > {
2912        crate::common::RegisterField::<
2913            2,
2914            0x3,
2915            1,
2916            0,
2917            u8,
2918            u8,
2919            FtdfLmacControl1Reg_SPEC,
2920            crate::common::RW,
2921        >::from_register(self, 0)
2922    }
2923
2924    #[inline(always)]
2925    pub fn phyrxattr_dem_cca(
2926        self,
2927    ) -> crate::common::RegisterField<
2928        0,
2929        0x3,
2930        1,
2931        0,
2932        u8,
2933        u8,
2934        FtdfLmacControl1Reg_SPEC,
2935        crate::common::RW,
2936    > {
2937        crate::common::RegisterField::<
2938            0,
2939            0x3,
2940            1,
2941            0,
2942            u8,
2943            u8,
2944            FtdfLmacControl1Reg_SPEC,
2945            crate::common::RW,
2946        >::from_register(self, 0)
2947    }
2948}
2949impl ::core::default::Default for FtdfLmacControl1Reg {
2950    #[inline(always)]
2951    fn default() -> FtdfLmacControl1Reg {
2952        <crate::RegValueT<FtdfLmacControl1Reg_SPEC> as RegisterValue<_>>::new(0)
2953    }
2954}
2955
2956#[doc(hidden)]
2957#[derive(Copy, Clone, Eq, PartialEq)]
2958pub struct FtdfLmacControl2Reg_SPEC;
2959impl crate::sealed::RegSpec for FtdfLmacControl2Reg_SPEC {
2960    type DataType = u32;
2961}
2962
2963#[doc = "Lmac control register"]
2964pub type FtdfLmacControl2Reg = crate::RegValueT<FtdfLmacControl2Reg_SPEC>;
2965
2966impl FtdfLmacControl2Reg {
2967    #[doc = "The length of ED scan in symbol periods."]
2968    #[inline(always)]
2969    pub fn edscanduration(
2970        self,
2971    ) -> crate::common::RegisterField<
2972        8,
2973        0xffffff,
2974        1,
2975        0,
2976        u32,
2977        u32,
2978        FtdfLmacControl2Reg_SPEC,
2979        crate::common::RW,
2980    > {
2981        crate::common::RegisterField::<
2982            8,
2983            0xffffff,
2984            1,
2985            0,
2986            u32,
2987            u32,
2988            FtdfLmacControl2Reg_SPEC,
2989            crate::common::RW,
2990        >::from_register(self, 0)
2991    }
2992
2993    #[doc = "If set to \'1\', the Energy Detect scan will be performed when RxEnable is set to \'1\' rather than starting a receive action.\nThe length of this scan is defined by EdScanDuration."]
2994    #[inline(always)]
2995    pub fn edscanenable(
2996        self,
2997    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacControl2Reg_SPEC, crate::common::RW>
2998    {
2999        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacControl2Reg_SPEC,crate::common::RW>::from_register(self,0)
3000    }
3001}
3002impl ::core::default::Default for FtdfLmacControl2Reg {
3003    #[inline(always)]
3004    fn default() -> FtdfLmacControl2Reg {
3005        <crate::RegValueT<FtdfLmacControl2Reg_SPEC> as RegisterValue<_>>::new(0)
3006    }
3007}
3008
3009#[doc(hidden)]
3010#[derive(Copy, Clone, Eq, PartialEq)]
3011pub struct FtdfLmacControl3Reg_SPEC;
3012impl crate::sealed::RegSpec for FtdfLmacControl3Reg_SPEC {
3013    type DataType = u32;
3014}
3015
3016#[doc = "Lmac control register"]
3017pub type FtdfLmacControl3Reg = crate::RegValueT<FtdfLmacControl3Reg_SPEC>;
3018
3019impl FtdfLmacControl3Reg {
3020    #[doc = "If set, not only is FP_override and SA matching done on data_request frames but to all command and data frame types (in normal mode)"]
3021    #[inline(always)]
3022    pub fn ftdf_lpdp_enable(
3023        self,
3024    ) -> crate::common::RegisterFieldBool<27, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3025    {
3026        crate::common::RegisterFieldBool::<27,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3027    }
3028
3029    #[doc = "In case the control register FP_override is set, the value of the control register FP_force_value will always be the value of the FP bit in the automatic ACK response frame."]
3030    #[inline(always)]
3031    pub fn fp_force_value(
3032        self,
3033    ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3034    {
3035        crate::common::RegisterFieldBool::<26,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3036    }
3037
3038    #[doc = "In case the control register FP_override is set, the value of the control register FP_force_value will always be the value of the FP bit in the automatic ACK response frame."]
3039    #[inline(always)]
3040    pub fn fp_override(
3041        self,
3042    ) -> crate::common::RegisterFieldBool<25, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3043    {
3044        crate::common::RegisterFieldBool::<25,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3045    }
3046
3047    #[doc = "In case the received source address matches with one of the Exp_SA registers, the value of the control register Addr_tap_match_FP_value will be inserted on the position of the FP bit.\nIn case there is no match found, the inverse value of Addr_tap_match_FP_value will be inserted."]
3048    #[inline(always)]
3049    pub fn addr_tab_match_fp_value(
3050        self,
3051    ) -> crate::common::RegisterFieldBool<24, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3052    {
3053        crate::common::RegisterFieldBool::<24,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3054    }
3055
3056    #[doc = "Time to wait (in us) after CCA returned medium idle before starting TX-ON.\nNotes:\n1) extra wait times are involved before a packet is really transmitted, see the relevant timing figures.\n2) not applicable in TSCH mode since there macTSRxTx shall be used."]
3057    #[inline(always)]
3058    pub fn ccaidlewait(
3059        self,
3060    ) -> crate::common::RegisterField<
3061        16,
3062        0xff,
3063        1,
3064        0,
3065        u8,
3066        u8,
3067        FtdfLmacControl3Reg_SPEC,
3068        crate::common::RW,
3069    > {
3070        crate::common::RegisterField::<
3071            16,
3072            0xff,
3073            1,
3074            0,
3075            u8,
3076            u8,
3077            FtdfLmacControl3Reg_SPEC,
3078            crate::common::RW,
3079        >::from_register(self, 0)
3080    }
3081
3082    #[doc = "Max time to wait (in symbol periods) for a requested Data Frame or an announced broadcast frame, triggered by the FP bit in the received frame was set to \'1\'."]
3083    #[inline(always)]
3084    pub fn macmaxframetotalwaittime(
3085        self,
3086    ) -> crate::common::RegisterField<
3087        0,
3088        0xffff,
3089        1,
3090        0,
3091        u16,
3092        u16,
3093        FtdfLmacControl3Reg_SPEC,
3094        crate::common::RW,
3095    > {
3096        crate::common::RegisterField::<
3097            0,
3098            0xffff,
3099            1,
3100            0,
3101            u16,
3102            u16,
3103            FtdfLmacControl3Reg_SPEC,
3104            crate::common::RW,
3105        >::from_register(self, 0)
3106    }
3107}
3108impl ::core::default::Default for FtdfLmacControl3Reg {
3109    #[inline(always)]
3110    fn default() -> FtdfLmacControl3Reg {
3111        <crate::RegValueT<FtdfLmacControl3Reg_SPEC> as RegisterValue<_>>::new(117441732)
3112    }
3113}
3114
3115#[doc(hidden)]
3116#[derive(Copy, Clone, Eq, PartialEq)]
3117pub struct FtdfLmacControl4Reg_SPEC;
3118impl crate::sealed::RegSpec for FtdfLmacControl4Reg_SPEC {
3119    type DataType = u32;
3120}
3121
3122#[doc = "Lmac control register"]
3123pub type FtdfLmacControl4Reg = crate::RegValueT<FtdfLmacControl4Reg_SPEC>;
3124
3125impl FtdfLmacControl4Reg {
3126    #[doc = "HighSide injection."]
3127    #[inline(always)]
3128    pub fn phyackattr_hsi(
3129        self,
3130    ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacControl4Reg_SPEC, crate::common::RW>
3131    {
3132        crate::common::RegisterFieldBool::<31,1,0,FtdfLmacControl4Reg_SPEC,crate::common::RW>::from_register(self,0)
3133    }
3134
3135    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
3136    #[inline(always)]
3137    pub fn phyackattr_rf_gpio_pins(
3138        self,
3139    ) -> crate::common::RegisterField<
3140        28,
3141        0x7,
3142        1,
3143        0,
3144        u8,
3145        u8,
3146        FtdfLmacControl4Reg_SPEC,
3147        crate::common::RW,
3148    > {
3149        crate::common::RegisterField::<
3150            28,
3151            0x7,
3152            1,
3153            0,
3154            u8,
3155            u8,
3156            FtdfLmacControl4Reg_SPEC,
3157            crate::common::RW,
3158        >::from_register(self, 0)
3159    }
3160
3161    #[doc = "CalCap value."]
3162    #[inline(always)]
3163    pub fn phyackattr_calcap(
3164        self,
3165    ) -> crate::common::RegisterField<
3166        24,
3167        0xf,
3168        1,
3169        0,
3170        u8,
3171        u8,
3172        FtdfLmacControl4Reg_SPEC,
3173        crate::common::RW,
3174    > {
3175        crate::common::RegisterField::<
3176            24,
3177            0xf,
3178            1,
3179            0,
3180            u8,
3181            u8,
3182            FtdfLmacControl4Reg_SPEC,
3183            crate::common::RW,
3184        >::from_register(self, 0)
3185    }
3186
3187    #[doc = "Channel Number."]
3188    #[inline(always)]
3189    pub fn phyackattr_cn(
3190        self,
3191    ) -> crate::common::RegisterField<
3192        20,
3193        0xf,
3194        1,
3195        0,
3196        u8,
3197        u8,
3198        FtdfLmacControl4Reg_SPEC,
3199        crate::common::RW,
3200    > {
3201        crate::common::RegisterField::<
3202            20,
3203            0xf,
3204            1,
3205            0,
3206            u8,
3207            u8,
3208            FtdfLmacControl4Reg_SPEC,
3209            crate::common::RW,
3210        >::from_register(self, 0)
3211    }
3212
3213    #[doc = "DEM packet information."]
3214    #[inline(always)]
3215    pub fn phyackattr_dem_pti(
3216        self,
3217    ) -> crate::common::RegisterField<
3218        16,
3219        0xf,
3220        1,
3221        0,
3222        u8,
3223        u8,
3224        FtdfLmacControl4Reg_SPEC,
3225        crate::common::RW,
3226    > {
3227        crate::common::RegisterField::<
3228            16,
3229            0xf,
3230            1,
3231            0,
3232            u8,
3233            u8,
3234            FtdfLmacControl4Reg_SPEC,
3235            crate::common::RW,
3236        >::from_register(self, 0)
3237    }
3238
3239    #[doc = "The control register RxPipePropDelay indicates the propagation delay in ~s of the Rx pipeline between the last symbol being captured at the DPHY interface and the data valid indication to the LMAC controller."]
3240    #[inline(always)]
3241    pub fn rxpipepropdelay(
3242        self,
3243    ) -> crate::common::RegisterField<
3244        8,
3245        0xff,
3246        1,
3247        0,
3248        u8,
3249        u8,
3250        FtdfLmacControl4Reg_SPEC,
3251        crate::common::RW,
3252    > {
3253        crate::common::RegisterField::<
3254            8,
3255            0xff,
3256            1,
3257            0,
3258            u8,
3259            u8,
3260            FtdfLmacControl4Reg_SPEC,
3261            crate::common::RW,
3262        >::from_register(self, 0)
3263    }
3264
3265    #[doc = "The minume time (in us) required between the clear to \'0\' and set to \'1\' of PHY_EN.\nWhen the signal PHY_EN is deasserted, it will not be asserted within the time phySleepWait."]
3266    #[inline(always)]
3267    pub fn physleepwait(
3268        self,
3269    ) -> crate::common::RegisterField<
3270        0,
3271        0xff,
3272        1,
3273        0,
3274        u8,
3275        u8,
3276        FtdfLmacControl4Reg_SPEC,
3277        crate::common::RW,
3278    > {
3279        crate::common::RegisterField::<
3280            0,
3281            0xff,
3282            1,
3283            0,
3284            u8,
3285            u8,
3286            FtdfLmacControl4Reg_SPEC,
3287            crate::common::RW,
3288        >::from_register(self, 0)
3289    }
3290}
3291impl ::core::default::Default for FtdfLmacControl4Reg {
3292    #[inline(always)]
3293    fn default() -> FtdfLmacControl4Reg {
3294        <crate::RegValueT<FtdfLmacControl4Reg_SPEC> as RegisterValue<_>>::new(0)
3295    }
3296}
3297
3298#[doc(hidden)]
3299#[derive(Copy, Clone, Eq, PartialEq)]
3300pub struct FtdfLmacControl5Reg_SPEC;
3301impl crate::sealed::RegSpec for FtdfLmacControl5Reg_SPEC {
3302    type DataType = u32;
3303}
3304
3305#[doc = "Lmac control register"]
3306pub type FtdfLmacControl5Reg = crate::RegValueT<FtdfLmacControl5Reg_SPEC>;
3307
3308impl FtdfLmacControl5Reg {
3309    #[doc = "HighSide injection."]
3310    #[inline(always)]
3311    pub fn phycsmacaattr_hsi(
3312        self,
3313    ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacControl5Reg_SPEC, crate::common::RW>
3314    {
3315        crate::common::RegisterFieldBool::<31,1,0,FtdfLmacControl5Reg_SPEC,crate::common::RW>::from_register(self,0)
3316    }
3317
3318    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
3319    #[inline(always)]
3320    pub fn phycsmacaattr_rf_gpio_pins(
3321        self,
3322    ) -> crate::common::RegisterField<
3323        28,
3324        0x7,
3325        1,
3326        0,
3327        u8,
3328        u8,
3329        FtdfLmacControl5Reg_SPEC,
3330        crate::common::RW,
3331    > {
3332        crate::common::RegisterField::<
3333            28,
3334            0x7,
3335            1,
3336            0,
3337            u8,
3338            u8,
3339            FtdfLmacControl5Reg_SPEC,
3340            crate::common::RW,
3341        >::from_register(self, 0)
3342    }
3343
3344    #[doc = "CalCap value."]
3345    #[inline(always)]
3346    pub fn phycsmacaattr_calcap(
3347        self,
3348    ) -> crate::common::RegisterField<
3349        24,
3350        0xf,
3351        1,
3352        0,
3353        u8,
3354        u8,
3355        FtdfLmacControl5Reg_SPEC,
3356        crate::common::RW,
3357    > {
3358        crate::common::RegisterField::<
3359            24,
3360            0xf,
3361            1,
3362            0,
3363            u8,
3364            u8,
3365            FtdfLmacControl5Reg_SPEC,
3366            crate::common::RW,
3367        >::from_register(self, 0)
3368    }
3369
3370    #[doc = "Channel Number."]
3371    #[inline(always)]
3372    pub fn phycsmacaattr_cn(
3373        self,
3374    ) -> crate::common::RegisterField<
3375        20,
3376        0xf,
3377        1,
3378        0,
3379        u8,
3380        u8,
3381        FtdfLmacControl5Reg_SPEC,
3382        crate::common::RW,
3383    > {
3384        crate::common::RegisterField::<
3385            20,
3386            0xf,
3387            1,
3388            0,
3389            u8,
3390            u8,
3391            FtdfLmacControl5Reg_SPEC,
3392            crate::common::RW,
3393        >::from_register(self, 0)
3394    }
3395
3396    #[doc = "DEM packet information."]
3397    #[inline(always)]
3398    pub fn phycsmacaattr_dem_pti(
3399        self,
3400    ) -> crate::common::RegisterField<
3401        16,
3402        0xf,
3403        1,
3404        0,
3405        u8,
3406        u8,
3407        FtdfLmacControl5Reg_SPEC,
3408        crate::common::RW,
3409    > {
3410        crate::common::RegisterField::<
3411            16,
3412            0xf,
3413            1,
3414            0,
3415            u8,
3416            u8,
3417            FtdfLmacControl5Reg_SPEC,
3418            crate::common::RW,
3419        >::from_register(self, 0)
3420    }
3421
3422    #[doc = "The output CCASTAT is valid after 8 symbols + phyRxStartup.\nThe 8 symbols are programmable by control registerCcaStatWait (in symbol periods).\nDefault value is 8d."]
3423    #[inline(always)]
3424    pub fn ccastatwait(
3425        self,
3426    ) -> crate::common::RegisterField<
3427        8,
3428        0xf,
3429        1,
3430        0,
3431        u8,
3432        u8,
3433        FtdfLmacControl5Reg_SPEC,
3434        crate::common::RW,
3435    > {
3436        crate::common::RegisterField::<
3437            8,
3438            0xf,
3439            1,
3440            0,
3441            u8,
3442            u8,
3443            FtdfLmacControl5Reg_SPEC,
3444            crate::common::RW,
3445        >::from_register(self, 0)
3446    }
3447
3448    #[doc = "In order to have some flexibility the control register Ack_Response_Delay indicates the Acknowledge response time in ~s.\nThe default value shall is 192 ~s (12 symbols)."]
3449    #[inline(always)]
3450    pub fn ack_response_delay(
3451        self,
3452    ) -> crate::common::RegisterField<
3453        0,
3454        0xff,
3455        1,
3456        0,
3457        u8,
3458        u8,
3459        FtdfLmacControl5Reg_SPEC,
3460        crate::common::RW,
3461    > {
3462        crate::common::RegisterField::<
3463            0,
3464            0xff,
3465            1,
3466            0,
3467            u8,
3468            u8,
3469            FtdfLmacControl5Reg_SPEC,
3470            crate::common::RW,
3471        >::from_register(self, 0)
3472    }
3473}
3474impl ::core::default::Default for FtdfLmacControl5Reg {
3475    #[inline(always)]
3476    fn default() -> FtdfLmacControl5Reg {
3477        <crate::RegValueT<FtdfLmacControl5Reg_SPEC> as RegisterValue<_>>::new(2240)
3478    }
3479}
3480
3481#[doc(hidden)]
3482#[derive(Copy, Clone, Eq, PartialEq)]
3483pub struct FtdfLmacControl6Reg_SPEC;
3484impl crate::sealed::RegSpec for FtdfLmacControl6Reg_SPEC {
3485    type DataType = u32;
3486}
3487
3488#[doc = "Lmac control register"]
3489pub type FtdfLmacControl6Reg = crate::RegValueT<FtdfLmacControl6Reg_SPEC>;
3490
3491impl FtdfLmacControl6Reg {
3492    #[doc = "The WakeUp IFS period is programmable by WUifsPeriod (in symbols).\nThe default is 12 symbols (192 us)."]
3493    #[inline(always)]
3494    pub fn wuifsperiod(
3495        self,
3496    ) -> crate::common::RegisterField<
3497        16,
3498        0xff,
3499        1,
3500        0,
3501        u8,
3502        u8,
3503        FtdfLmacControl6Reg_SPEC,
3504        crate::common::RW,
3505    > {
3506        crate::common::RegisterField::<
3507            16,
3508            0xff,
3509            1,
3510            0,
3511            u8,
3512            u8,
3513            FtdfLmacControl6Reg_SPEC,
3514            crate::common::RW,
3515        >::from_register(self, 0)
3516    }
3517
3518    #[doc = "The Short IFS period is programmable by SifsPeriod (in symbols).\nThe default is 12 symbols (192 is)."]
3519    #[inline(always)]
3520    pub fn sifsperiod(
3521        self,
3522    ) -> crate::common::RegisterField<
3523        8,
3524        0xff,
3525        1,
3526        0,
3527        u8,
3528        u8,
3529        FtdfLmacControl6Reg_SPEC,
3530        crate::common::RW,
3531    > {
3532        crate::common::RegisterField::<
3533            8,
3534            0xff,
3535            1,
3536            0,
3537            u8,
3538            u8,
3539            FtdfLmacControl6Reg_SPEC,
3540            crate::common::RW,
3541        >::from_register(self, 0)
3542    }
3543
3544    #[doc = "The Long IFS period is programmable by LifsPeriod (in symbols).\nThe default is 40 symbols (640 us),"]
3545    #[inline(always)]
3546    pub fn lifsperiod(
3547        self,
3548    ) -> crate::common::RegisterField<
3549        0,
3550        0xff,
3551        1,
3552        0,
3553        u8,
3554        u8,
3555        FtdfLmacControl6Reg_SPEC,
3556        crate::common::RW,
3557    > {
3558        crate::common::RegisterField::<
3559            0,
3560            0xff,
3561            1,
3562            0,
3563            u8,
3564            u8,
3565            FtdfLmacControl6Reg_SPEC,
3566            crate::common::RW,
3567        >::from_register(self, 0)
3568    }
3569}
3570impl ::core::default::Default for FtdfLmacControl6Reg {
3571    #[inline(always)]
3572    fn default() -> FtdfLmacControl6Reg {
3573        <crate::RegValueT<FtdfLmacControl6Reg_SPEC> as RegisterValue<_>>::new(789544)
3574    }
3575}
3576
3577#[doc(hidden)]
3578#[derive(Copy, Clone, Eq, PartialEq)]
3579pub struct FtdfLmacControl7Reg_SPEC;
3580impl crate::sealed::RegSpec for FtdfLmacControl7Reg_SPEC {
3581    type DataType = u32;
3582}
3583
3584#[doc = "Lmac control register"]
3585pub type FtdfLmacControl7Reg = crate::RegValueT<FtdfLmacControl7Reg_SPEC>;
3586
3587impl FtdfLmacControl7Reg {
3588    #[doc = "In CSL mode, when performing a idle listening, the receiver is enabled for at least macCSLsamplePeriod (in symbol oeriods)."]
3589    #[inline(always)]
3590    pub fn maccslsampleperiod(
3591        self,
3592    ) -> crate::common::RegisterField<
3593        16,
3594        0xffff,
3595        1,
3596        0,
3597        u16,
3598        u16,
3599        FtdfLmacControl7Reg_SPEC,
3600        crate::common::RW,
3601    > {
3602        crate::common::RegisterField::<
3603            16,
3604            0xffff,
3605            1,
3606            0,
3607            u16,
3608            u16,
3609            FtdfLmacControl7Reg_SPEC,
3610            crate::common::RW,
3611        >::from_register(self, 0)
3612    }
3613
3614    #[doc = "In CSL mode, the Wake-up duration in symbol periods. During this period, Wake-up frames will be transmitted."]
3615    #[inline(always)]
3616    pub fn macwuperiod(
3617        self,
3618    ) -> crate::common::RegisterField<
3619        0,
3620        0xffff,
3621        1,
3622        0,
3623        u16,
3624        u16,
3625        FtdfLmacControl7Reg_SPEC,
3626        crate::common::RW,
3627    > {
3628        crate::common::RegisterField::<
3629            0,
3630            0xffff,
3631            1,
3632            0,
3633            u16,
3634            u16,
3635            FtdfLmacControl7Reg_SPEC,
3636            crate::common::RW,
3637        >::from_register(self, 0)
3638    }
3639}
3640impl ::core::default::Default for FtdfLmacControl7Reg {
3641    #[inline(always)]
3642    fn default() -> FtdfLmacControl7Reg {
3643        <crate::RegValueT<FtdfLmacControl7Reg_SPEC> as RegisterValue<_>>::new(4325376)
3644    }
3645}
3646
3647#[doc(hidden)]
3648#[derive(Copy, Clone, Eq, PartialEq)]
3649pub struct FtdfLmacControl8Reg_SPEC;
3650impl crate::sealed::RegSpec for FtdfLmacControl8Reg_SPEC {
3651    type DataType = u32;
3652}
3653
3654#[doc = "Lmac control register"]
3655pub type FtdfLmacControl8Reg = crate::RegValueT<FtdfLmacControl8Reg_SPEC>;
3656
3657impl FtdfLmacControl8Reg {
3658    #[doc = "In CSL mode, the control register macCSLstartSampleTime indicates the TimeStamp generator time (in symbol periods) when to start listening (called idle listening) or transmitting (when tx_flag_status is set)."]
3659    #[inline(always)]
3660    pub fn maccslstartsampletime(
3661        self,
3662    ) -> crate::common::RegisterField<
3663        0,
3664        0xffffffff,
3665        1,
3666        0,
3667        u32,
3668        u32,
3669        FtdfLmacControl8Reg_SPEC,
3670        crate::common::RW,
3671    > {
3672        crate::common::RegisterField::<
3673            0,
3674            0xffffffff,
3675            1,
3676            0,
3677            u32,
3678            u32,
3679            FtdfLmacControl8Reg_SPEC,
3680            crate::common::RW,
3681        >::from_register(self, 0)
3682    }
3683}
3684impl ::core::default::Default for FtdfLmacControl8Reg {
3685    #[inline(always)]
3686    fn default() -> FtdfLmacControl8Reg {
3687        <crate::RegValueT<FtdfLmacControl8Reg_SPEC> as RegisterValue<_>>::new(0)
3688    }
3689}
3690
3691#[doc(hidden)]
3692#[derive(Copy, Clone, Eq, PartialEq)]
3693pub struct FtdfLmacControl9Reg_SPEC;
3694impl crate::sealed::RegSpec for FtdfLmacControl9Reg_SPEC {
3695    type DataType = u32;
3696}
3697
3698#[doc = "Lmac control register"]
3699pub type FtdfLmacControl9Reg = crate::RegValueT<FtdfLmacControl9Reg_SPEC>;
3700
3701impl FtdfLmacControl9Reg {
3702    #[doc = "In CSL mode, if a non Wake-up frame with Frame Pending bit = \'1\' is received, the receiver is enabled for at least an extra period of macCSLFramePendingWaitT (in symbol periods) after the end of the received frame.\nThe time the Enhanced ACK transmission lasts (if applicable) is included in this time."]
3703    #[inline(always)]
3704    pub fn maccslframependingwaitt(
3705        self,
3706    ) -> crate::common::RegisterField<
3707        16,
3708        0xffff,
3709        1,
3710        0,
3711        u16,
3712        u16,
3713        FtdfLmacControl9Reg_SPEC,
3714        crate::common::RW,
3715    > {
3716        crate::common::RegisterField::<
3717            16,
3718            0xffff,
3719            1,
3720            0,
3721            u16,
3722            u16,
3723            FtdfLmacControl9Reg_SPEC,
3724            crate::common::RW,
3725        >::from_register(self, 0)
3726    }
3727
3728    #[doc = "In CSL mode, after the wake-up sequence a data frame is expected. The receiver will be enabled for at least a period of macCSLdataPeriod (in symbol periods)."]
3729    #[inline(always)]
3730    pub fn maccsldataperiod(
3731        self,
3732    ) -> crate::common::RegisterField<
3733        0,
3734        0xffff,
3735        1,
3736        0,
3737        u16,
3738        u16,
3739        FtdfLmacControl9Reg_SPEC,
3740        crate::common::RW,
3741    > {
3742        crate::common::RegisterField::<
3743            0,
3744            0xffff,
3745            1,
3746            0,
3747            u16,
3748            u16,
3749            FtdfLmacControl9Reg_SPEC,
3750            crate::common::RW,
3751        >::from_register(self, 0)
3752    }
3753}
3754impl ::core::default::Default for FtdfLmacControl9Reg {
3755    #[inline(always)]
3756    fn default() -> FtdfLmacControl9Reg {
3757        <crate::RegValueT<FtdfLmacControl9Reg_SPEC> as RegisterValue<_>>::new(66)
3758    }
3759}
3760
3761#[doc(hidden)]
3762#[derive(Copy, Clone, Eq, PartialEq)]
3763pub struct FtdfLmacControlDeltaReg_SPEC;
3764impl crate::sealed::RegSpec for FtdfLmacControlDeltaReg_SPEC {
3765    type DataType = u32;
3766}
3767
3768#[doc = "Lmac delta control register"]
3769pub type FtdfLmacControlDeltaReg = crate::RegValueT<FtdfLmacControlDeltaReg_SPEC>;
3770
3771impl FtdfLmacControlDeltaReg {
3772    #[doc = "Delta which indicates that WakeupTimerEnableStatus has changed\nThis delta bit is set to \'1\' on each change of this status, contributes to ftdf_ce\\[3\\]."]
3773    #[inline(always)]
3774    pub fn wakeuptimerenablestatus_d(
3775        self,
3776    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3777    {
3778        crate::common::RegisterFieldBool::<6,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3779    }
3780
3781    #[doc = "Event, set to \'1\' to indicate that the the getGeneratorVal request is completed.\nThis event bit contributes to ftdf_ce\\[3\\]."]
3782    #[inline(always)]
3783    pub fn getgeneratorval_e(
3784        self,
3785    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3786    {
3787        crate::common::RegisterFieldBool::<5,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3788    }
3789
3790    #[doc = "Event, set to \'1\' when the symboltime counter matched SymbolTime2Thr\nThis event bit contributes to ftdf_ce\\[3\\]."]
3791    #[inline(always)]
3792    pub fn symboltime2thr_e(
3793        self,
3794    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3795    {
3796        crate::common::RegisterFieldBool::<4,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3797    }
3798
3799    #[doc = "Event, set to \'1\' when the symboltime counter matched SymbolTimeThr\nThis event bit contributes to ftdf_ce\\[3\\]."]
3800    #[inline(always)]
3801    pub fn symboltimethr_e(
3802        self,
3803    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3804    {
3805        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3806    }
3807
3808    #[doc = "The SyncTimeStamp_e event is set to \'1\' when the TimeStampgenerator is loaded with SyncTimeStampVal.\nThis occurs at the rising edge of lp_clk when SyncTimeStampEna is set and the value of the Event generator is equal to the value SyncTimestampThr.\nThis event bit contributes to ftdf_ce\\[3\\]."]
3809    #[inline(always)]
3810    pub fn synctimestamp_e(
3811        self,
3812    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3813    {
3814        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3815    }
3816
3817    #[doc = "Delta bit for register LmacReady4sleep.\nThis delta bit is set to \'1\' on each change of this status, contributes to ftdf_ce\\[3\\]."]
3818    #[inline(always)]
3819    pub fn lmacready4sleep_d(
3820        self,
3821    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3822    {
3823        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3824    }
3825}
3826impl ::core::default::Default for FtdfLmacControlDeltaReg {
3827    #[inline(always)]
3828    fn default() -> FtdfLmacControlDeltaReg {
3829        <crate::RegValueT<FtdfLmacControlDeltaReg_SPEC> as RegisterValue<_>>::new(0)
3830    }
3831}
3832
3833#[doc(hidden)]
3834#[derive(Copy, Clone, Eq, PartialEq)]
3835pub struct FtdfLmacControlMaskReg_SPEC;
3836impl crate::sealed::RegSpec for FtdfLmacControlMaskReg_SPEC {
3837    type DataType = u32;
3838}
3839
3840#[doc = "Lmac mask control register"]
3841pub type FtdfLmacControlMaskReg = crate::RegValueT<FtdfLmacControlMaskReg_SPEC>;
3842
3843impl FtdfLmacControlMaskReg {
3844    #[doc = "Mask for WakeupTimerEnableStatus_d\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3845    #[inline(always)]
3846    pub fn wakeuptimerenablestatus_m(
3847        self,
3848    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3849    {
3850        crate::common::RegisterFieldBool::<6,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3851    }
3852
3853    #[doc = "Mask for getGeneratorVal_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3854    #[inline(always)]
3855    pub fn getgeneratorval_m(
3856        self,
3857    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3858    {
3859        crate::common::RegisterFieldBool::<5,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3860    }
3861
3862    #[doc = "Mask for SymbolTime2Thr_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3863    #[inline(always)]
3864    pub fn symboltime2thr_m(
3865        self,
3866    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3867    {
3868        crate::common::RegisterFieldBool::<4,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3869    }
3870
3871    #[doc = "Mask for SymbolTimeThr_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3872    #[inline(always)]
3873    pub fn symboltimethr_m(
3874        self,
3875    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3876    {
3877        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3878    }
3879
3880    #[doc = "Mask bit for event register SyncTimeStamp_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3881    #[inline(always)]
3882    pub fn synctimestamp_m(
3883        self,
3884    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3885    {
3886        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3887    }
3888
3889    #[doc = "Mask bit for delta bit LmacReady4sleep_d.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3890    #[inline(always)]
3891    pub fn lmacready4sleep_m(
3892        self,
3893    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3894    {
3895        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3896    }
3897}
3898impl ::core::default::Default for FtdfLmacControlMaskReg {
3899    #[inline(always)]
3900    fn default() -> FtdfLmacControlMaskReg {
3901        <crate::RegValueT<FtdfLmacControlMaskReg_SPEC> as RegisterValue<_>>::new(0)
3902    }
3903}
3904
3905#[doc(hidden)]
3906#[derive(Copy, Clone, Eq, PartialEq)]
3907pub struct FtdfLmacControlOsReg_SPEC;
3908impl crate::sealed::RegSpec for FtdfLmacControlOsReg_SPEC {
3909    type DataType = u32;
3910}
3911
3912#[doc = "Lmac control register"]
3913pub type FtdfLmacControlOsReg = crate::RegValueT<FtdfLmacControlOsReg_SPEC>;
3914
3915impl FtdfLmacControlOsReg {
3916    #[doc = "If set, Csma_Ca_resume_stat is cleared"]
3917    #[inline(always)]
3918    pub fn csma_ca_resume_clear(
3919        self,
3920    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3921    {
3922        crate::common::RegisterFieldBool::<4,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3923    }
3924
3925    #[doc = "If set, Csma_Ca_resume_stat is set"]
3926    #[inline(always)]
3927    pub fn csma_ca_resume_set(
3928        self,
3929    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3930    {
3931        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3932    }
3933
3934    #[doc = "If set to \'1\', a single CCA will be performed.\nThis can be used when e.g. the TSCH timing is not performed by the LMAC but completely by software."]
3935    #[inline(always)]
3936    pub fn singlecca(
3937        self,
3938    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3939    {
3940        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3941    }
3942
3943    #[doc = "If set, receiving data may be done"]
3944    #[inline(always)]
3945    pub fn rxenable(
3946        self,
3947    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3948    {
3949        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3950    }
3951
3952    #[doc = "If set to \'1\', the current values of the Wake-up (event) counter/generator (EventCurrVal) and Timestamp (symbol) counter/generator (TimeStampCurrVal and TimeStampCurrPhaseVal) will be captured.\nNote that this capture actually has been done when getGeneratorVal_e is set (assuming it was cleared in advance)."]
3953    #[inline(always)]
3954    pub fn getgeneratorval(
3955        self,
3956    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3957    {
3958        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3959    }
3960}
3961impl ::core::default::Default for FtdfLmacControlOsReg {
3962    #[inline(always)]
3963    fn default() -> FtdfLmacControlOsReg {
3964        <crate::RegValueT<FtdfLmacControlOsReg_SPEC> as RegisterValue<_>>::new(0)
3965    }
3966}
3967
3968#[doc(hidden)]
3969#[derive(Copy, Clone, Eq, PartialEq)]
3970pub struct FtdfLmacControlStatusReg_SPEC;
3971impl crate::sealed::RegSpec for FtdfLmacControlStatusReg_SPEC {
3972    type DataType = u32;
3973}
3974
3975#[doc = "Lmac status register"]
3976pub type FtdfLmacControlStatusReg = crate::RegValueT<FtdfLmacControlStatusReg_SPEC>;
3977
3978impl FtdfLmacControlStatusReg {
3979    #[doc = "The value of the currently calculated BackOff value. To be used for the sleep time calculation in case of sleep during the BackOff time."]
3980    #[inline(always)]
3981    pub fn csma_ca_bo_stat(
3982        self,
3983    ) -> crate::common::RegisterField<
3984        24,
3985        0xff,
3986        1,
3987        0,
3988        u8,
3989        u8,
3990        FtdfLmacControlStatusReg_SPEC,
3991        crate::common::R,
3992    > {
3993        crate::common::RegisterField::<
3994            24,
3995            0xff,
3996            1,
3997            0,
3998            u8,
3999            u8,
4000            FtdfLmacControlStatusReg_SPEC,
4001            crate::common::R,
4002        >::from_register(self, 0)
4003    }
4004
4005    #[doc = "In case Csma_Ca_resume_stat is set the LMAC will\n- use the value of Csma_Ca_NB_val in the CSMA-CA process rather than the initial value 0d.\n- immediately perform CCA after the sleep, not waiting for the backoff time.\n- reset Csma_Ca_resume_stat when it resumes CSMA-CA after the sleep."]
4006    #[inline(always)]
4007    pub fn csma_ca_resume_stat(
4008        self,
4009    ) -> crate::common::RegisterFieldBool<19, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4010    {
4011        crate::common::RegisterFieldBool::<19,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4012    }
4013
4014    #[doc = "Current status of the Number of Backoffs."]
4015    #[inline(always)]
4016    pub fn csma_ca_nb_stat(
4017        self,
4018    ) -> crate::common::RegisterField<
4019        16,
4020        0x7,
4021        1,
4022        0,
4023        u8,
4024        u8,
4025        FtdfLmacControlStatusReg_SPEC,
4026        crate::common::R,
4027    > {
4028        crate::common::RegisterField::<
4029            16,
4030            0x7,
4031            1,
4032            0,
4033            u8,
4034            u8,
4035            FtdfLmacControlStatusReg_SPEC,
4036            crate::common::R,
4037        >::from_register(self, 0)
4038    }
4039
4040    #[doc = "The result of an ED scan."]
4041    #[inline(always)]
4042    pub fn edscanvalue(
4043        self,
4044    ) -> crate::common::RegisterField<
4045        8,
4046        0xff,
4047        1,
4048        0,
4049        u8,
4050        u8,
4051        FtdfLmacControlStatusReg_SPEC,
4052        crate::common::R,
4053    > {
4054        crate::common::RegisterField::<
4055            8,
4056            0xff,
4057            1,
4058            0,
4059            u8,
4060            u8,
4061            FtdfLmacControlStatusReg_SPEC,
4062            crate::common::R,
4063        >::from_register(self, 0)
4064    }
4065
4066    #[doc = "Status of WakeupTimerEnable after being clocked by LP_CLK (showing it\'s effective value).\nWakeupTimerEnableStatus can be set by setting the one-shot register WakeupTimerEnable_set and cleared by setting the one-shot register WakeupTimerEnable_clear.\nWhen WakeupTimerEnableStatus is set (after being cleared), the event counter will be reset to 0x0.\n\nThis status can be used by software since WakeupTimerEnable is used in the slow LP_CLK area.\nRather than waiting for a certain number of LP_CLK periods, simply scanning this status (or enable the interrupt created by WakeupTimerEnableStatus_e) will allow software to determine if this signal has been effected.\nNote that the rising edge of WakeupTimerEnable will reset the Wake-up (event) counter."]
4067    #[inline(always)]
4068    pub fn wakeuptimerenablestatus(
4069        self,
4070    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4071    {
4072        crate::common::RegisterFieldBool::<6,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4073    }
4074
4075    #[doc = "The value of a single CCA, valid when CCAstat_e is set to \'1\'."]
4076    #[inline(always)]
4077    pub fn ccastat(
4078        self,
4079    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4080    {
4081        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4082    }
4083
4084    #[doc = "If set to \'1\' this register indicates that the LMAC is ready to go to sleep."]
4085    #[inline(always)]
4086    pub fn lmacready4sleep(
4087        self,
4088    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4089    {
4090        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4091    }
4092}
4093impl ::core::default::Default for FtdfLmacControlStatusReg {
4094    #[inline(always)]
4095    fn default() -> FtdfLmacControlStatusReg {
4096        <crate::RegValueT<FtdfLmacControlStatusReg_SPEC> as RegisterValue<_>>::new(0)
4097    }
4098}
4099
4100#[doc(hidden)]
4101#[derive(Copy, Clone, Eq, PartialEq)]
4102pub struct FtdfLmacEventReg_SPEC;
4103impl crate::sealed::RegSpec for FtdfLmacEventReg_SPEC {
4104    type DataType = u32;
4105}
4106
4107#[doc = "Lmac event regsiter"]
4108pub type FtdfLmacEventReg = crate::RegValueT<FtdfLmacEventReg_SPEC>;
4109
4110impl FtdfLmacEventReg {
4111    #[doc = "If set, the calculated backoff time is more than Csma_Ca_BO_threshold.\nThis event bit contributes to ftdf_ce\\[1\\]."]
4112    #[inline(always)]
4113    pub fn csma_ca_bo_thr_e(
4114        self,
4115    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4116        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4117    }
4118
4119    #[doc = "Set to \'1\' if one of the timers enabling the Rx-on mode expires without having received any valid frame.\nThis event bit contributes to ftdf_ce\\[1\\]."]
4120    #[inline(always)]
4121    pub fn rxtimerexpired_e(
4122        self,
4123    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4124        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4125    }
4126
4127    #[doc = "If set to \'1\', the single CCA is ready\nThis event bit contributes to ftdf_ce\\[1\\]."]
4128    #[inline(always)]
4129    pub fn ccastat_e(
4130        self,
4131    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4132        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4133    }
4134
4135    #[doc = "The event EdScanReady_e is set to \'1\' to notify that the ED scan is ready.\nThis event bit contributes to ftdf_ce\\[1\\]."]
4136    #[inline(always)]
4137    pub fn edscanready_e(
4138        self,
4139    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4140        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4141    }
4142}
4143impl ::core::default::Default for FtdfLmacEventReg {
4144    #[inline(always)]
4145    fn default() -> FtdfLmacEventReg {
4146        <crate::RegValueT<FtdfLmacEventReg_SPEC> as RegisterValue<_>>::new(0)
4147    }
4148}
4149
4150#[doc(hidden)]
4151#[derive(Copy, Clone, Eq, PartialEq)]
4152pub struct FtdfLmacManual1Reg_SPEC;
4153impl crate::sealed::RegSpec for FtdfLmacManual1Reg_SPEC {
4154    type DataType = u32;
4155}
4156
4157#[doc = "Lmax manual PHY register"]
4158pub type FtdfLmacManual1Reg = crate::RegValueT<FtdfLmacManual1Reg_SPEC>;
4159
4160impl FtdfLmacManual1Reg {
4161    #[doc = "HighSide injection."]
4162    #[inline(always)]
4163    pub fn lmac_manual_phy_attr_hsi(
4164        self,
4165    ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW>
4166    {
4167        crate::common::RegisterFieldBool::<31,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4168    }
4169
4170    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
4171    #[inline(always)]
4172    pub fn lmac_manual_phy_attr_rf_gpio_pins(
4173        self,
4174    ) -> crate::common::RegisterField<
4175        28,
4176        0x7,
4177        1,
4178        0,
4179        u8,
4180        u8,
4181        FtdfLmacManual1Reg_SPEC,
4182        crate::common::RW,
4183    > {
4184        crate::common::RegisterField::<
4185            28,
4186            0x7,
4187            1,
4188            0,
4189            u8,
4190            u8,
4191            FtdfLmacManual1Reg_SPEC,
4192            crate::common::RW,
4193        >::from_register(self, 0)
4194    }
4195
4196    #[doc = "CalCap value."]
4197    #[inline(always)]
4198    pub fn lmac_manual_phy_attr_calcap(
4199        self,
4200    ) -> crate::common::RegisterField<
4201        24,
4202        0xf,
4203        1,
4204        0,
4205        u8,
4206        u8,
4207        FtdfLmacManual1Reg_SPEC,
4208        crate::common::RW,
4209    > {
4210        crate::common::RegisterField::<
4211            24,
4212            0xf,
4213            1,
4214            0,
4215            u8,
4216            u8,
4217            FtdfLmacManual1Reg_SPEC,
4218            crate::common::RW,
4219        >::from_register(self, 0)
4220    }
4221
4222    #[doc = "Channel Number."]
4223    #[inline(always)]
4224    pub fn lmac_manual_phy_attr_cn(
4225        self,
4226    ) -> crate::common::RegisterField<
4227        20,
4228        0xf,
4229        1,
4230        0,
4231        u8,
4232        u8,
4233        FtdfLmacManual1Reg_SPEC,
4234        crate::common::RW,
4235    > {
4236        crate::common::RegisterField::<
4237            20,
4238            0xf,
4239            1,
4240            0,
4241            u8,
4242            u8,
4243            FtdfLmacManual1Reg_SPEC,
4244            crate::common::RW,
4245        >::from_register(self, 0)
4246    }
4247
4248    #[doc = "DEM packet information."]
4249    #[inline(always)]
4250    pub fn lmac_manual_phy_attr_dem_pti(
4251        self,
4252    ) -> crate::common::RegisterField<
4253        16,
4254        0xf,
4255        1,
4256        0,
4257        u8,
4258        u8,
4259        FtdfLmacManual1Reg_SPEC,
4260        crate::common::RW,
4261    > {
4262        crate::common::RegisterField::<
4263            16,
4264            0xf,
4265            1,
4266            0,
4267            u8,
4268            u8,
4269            FtdfLmacManual1Reg_SPEC,
4270            crate::common::RW,
4271        >::from_register(self, 0)
4272    }
4273
4274    #[doc = "lmac_manual_pti controls the PTI interface signal when lmac_manual_mode is set to \'1\'."]
4275    #[inline(always)]
4276    pub fn lmac_manual_pti(
4277        self,
4278    ) -> crate::common::RegisterField<
4279        8,
4280        0xf,
4281        1,
4282        0,
4283        u8,
4284        u8,
4285        FtdfLmacManual1Reg_SPEC,
4286        crate::common::RW,
4287    > {
4288        crate::common::RegisterField::<
4289            8,
4290            0xf,
4291            1,
4292            0,
4293            u8,
4294            u8,
4295            FtdfLmacManual1Reg_SPEC,
4296            crate::common::RW,
4297        >::from_register(self, 0)
4298    }
4299
4300    #[doc = "lmac_manual_tx_frm_nr controls the entry in the tx buffer to be transmitted when lmac_manual_mode is set to \'1\'."]
4301    #[inline(always)]
4302    pub fn lmac_manual_tx_frm_nr(
4303        self,
4304    ) -> crate::common::RegisterField<
4305        6,
4306        0x3,
4307        1,
4308        0,
4309        u8,
4310        u8,
4311        FtdfLmacManual1Reg_SPEC,
4312        crate::common::RW,
4313    > {
4314        crate::common::RegisterField::<
4315            6,
4316            0x3,
4317            1,
4318            0,
4319            u8,
4320            u8,
4321            FtdfLmacManual1Reg_SPEC,
4322            crate::common::RW,
4323        >::from_register(self, 0)
4324    }
4325
4326    #[doc = "lmac_manual_ed_request controls the ED_REQUEST interface signal when lmac_manual_mode is set to \'1\'."]
4327    #[inline(always)]
4328    pub fn lmac_manual_ed_request(
4329        self,
4330    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4331        crate::common::RegisterFieldBool::<5,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4332    }
4333
4334    #[doc = "lmac_manual_rx_pipe_en controls the rx_enable signal towards the rx pipeline when lmac_manual_mode is set to \'1\'."]
4335    #[inline(always)]
4336    pub fn lmac_manual_rx_pipe_en(
4337        self,
4338    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4339        crate::common::RegisterFieldBool::<4,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4340    }
4341
4342    #[doc = "lmac_manual_rx_en controls the RX_EN interface signal when lmac_manual_mode is set to \'1\'."]
4343    #[inline(always)]
4344    pub fn lmac_manual_rx_en(
4345        self,
4346    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4347        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4348    }
4349
4350    #[doc = "lmac_manual_tx_en controls the TX_EN interface signal when lmac_manual_mode is set to \'1\'."]
4351    #[inline(always)]
4352    pub fn lmac_manual_tx_en(
4353        self,
4354    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4355        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4356    }
4357
4358    #[doc = "lmac_manual_phy_en controls the PHY_EN interface signal when lmac_manual_mode is set to \'1\'."]
4359    #[inline(always)]
4360    pub fn lmac_manual_phy_en(
4361        self,
4362    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4363        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4364    }
4365
4366    #[doc = "If the control register lmac_manual_mode is set to \'1\', the LMAC controller control signals should be controlled by the lmac_manual_control registers"]
4367    #[inline(always)]
4368    pub fn lmac_manual_mode(
4369        self,
4370    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4371        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4372    }
4373}
4374impl ::core::default::Default for FtdfLmacManual1Reg {
4375    #[inline(always)]
4376    fn default() -> FtdfLmacManual1Reg {
4377        <crate::RegValueT<FtdfLmacManual1Reg_SPEC> as RegisterValue<_>>::new(0)
4378    }
4379}
4380
4381#[doc(hidden)]
4382#[derive(Copy, Clone, Eq, PartialEq)]
4383pub struct FtdfLmacManualOsReg_SPEC;
4384impl crate::sealed::RegSpec for FtdfLmacManualOsReg_SPEC {
4385    type DataType = u32;
4386}
4387
4388#[doc = "One shot register triggers transmission in manual mode"]
4389pub type FtdfLmacManualOsReg = crate::RegValueT<FtdfLmacManualOsReg_SPEC>;
4390
4391impl FtdfLmacManualOsReg {
4392    #[doc = "One shot register which triggers the transmission of a frame from the tx buffer in lmac_manual_mode to \'1\'."]
4393    #[inline(always)]
4394    pub fn lmac_manual_tx_start(
4395        self,
4396    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacManualOsReg_SPEC, crate::common::W> {
4397        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacManualOsReg_SPEC,crate::common::W>::from_register(self,0)
4398    }
4399}
4400impl ::core::default::Default for FtdfLmacManualOsReg {
4401    #[inline(always)]
4402    fn default() -> FtdfLmacManualOsReg {
4403        <crate::RegValueT<FtdfLmacManualOsReg_SPEC> as RegisterValue<_>>::new(0)
4404    }
4405}
4406
4407#[doc(hidden)]
4408#[derive(Copy, Clone, Eq, PartialEq)]
4409pub struct FtdfLmacManualStatusReg_SPEC;
4410impl crate::sealed::RegSpec for FtdfLmacManualStatusReg_SPEC {
4411    type DataType = u32;
4412}
4413
4414#[doc = "Lmac status register in manual mode"]
4415pub type FtdfLmacManualStatusReg = crate::RegValueT<FtdfLmacManualStatusReg_SPEC>;
4416
4417impl FtdfLmacManualStatusReg {
4418    #[doc = "lmac_manual_ed_stat shows the status of the ED_STAT DPHY interface signal."]
4419    #[inline(always)]
4420    pub fn lmac_manual_ed_stat(
4421        self,
4422    ) -> crate::common::RegisterField<
4423        8,
4424        0xff,
4425        1,
4426        0,
4427        u8,
4428        u8,
4429        FtdfLmacManualStatusReg_SPEC,
4430        crate::common::R,
4431    > {
4432        crate::common::RegisterField::<
4433            8,
4434            0xff,
4435            1,
4436            0,
4437            u8,
4438            u8,
4439            FtdfLmacManualStatusReg_SPEC,
4440            crate::common::R,
4441        >::from_register(self, 0)
4442    }
4443
4444    #[doc = "lmac_manual_cca_stat shows the status of the CCA_STAT DPHY interface signal."]
4445    #[inline(always)]
4446    pub fn lmac_manual_cca_stat(
4447        self,
4448    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacManualStatusReg_SPEC, crate::common::R>
4449    {
4450        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacManualStatusReg_SPEC,crate::common::R>::from_register(self,0)
4451    }
4452}
4453impl ::core::default::Default for FtdfLmacManualStatusReg {
4454    #[inline(always)]
4455    fn default() -> FtdfLmacManualStatusReg {
4456        <crate::RegValueT<FtdfLmacManualStatusReg_SPEC> as RegisterValue<_>>::new(0)
4457    }
4458}
4459
4460#[doc(hidden)]
4461#[derive(Copy, Clone, Eq, PartialEq)]
4462pub struct FtdfLmacMaskReg_SPEC;
4463impl crate::sealed::RegSpec for FtdfLmacMaskReg_SPEC {
4464    type DataType = u32;
4465}
4466
4467#[doc = "Lmac mask register"]
4468pub type FtdfLmacMaskReg = crate::RegValueT<FtdfLmacMaskReg_SPEC>;
4469
4470impl FtdfLmacMaskReg {
4471    #[doc = "Mask bit for event Csma_Ca_BO_thr_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4472    #[inline(always)]
4473    pub fn csma_ca_bo_thr_m(
4474        self,
4475    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4476        crate::common::RegisterFieldBool::<3,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4477    }
4478
4479    #[doc = "Mask bit for event RxTimerExpired_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4480    #[inline(always)]
4481    pub fn rxtimerexpired_m(
4482        self,
4483    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4484        crate::common::RegisterFieldBool::<2,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4485    }
4486
4487    #[doc = "Mask bit for event CCAstat_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4488    #[inline(always)]
4489    pub fn ccastat_m(
4490        self,
4491    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4492        crate::common::RegisterFieldBool::<1,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4493    }
4494
4495    #[doc = "Mask bit for event EdScanReady_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4496    #[inline(always)]
4497    pub fn edscanready_m(
4498        self,
4499    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4500        crate::common::RegisterFieldBool::<0,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4501    }
4502}
4503impl ::core::default::Default for FtdfLmacMaskReg {
4504    #[inline(always)]
4505    fn default() -> FtdfLmacMaskReg {
4506        <crate::RegValueT<FtdfLmacMaskReg_SPEC> as RegisterValue<_>>::new(0)
4507    }
4508}
4509
4510#[doc(hidden)]
4511#[derive(Copy, Clone, Eq, PartialEq)]
4512pub struct FtdfLongAddr00Reg_SPEC;
4513impl crate::sealed::RegSpec for FtdfLongAddr00Reg_SPEC {
4514    type DataType = u32;
4515}
4516
4517pub type FtdfLongAddr00Reg = crate::RegValueT<FtdfLongAddr00Reg_SPEC>;
4518
4519impl FtdfLongAddr00Reg {
4520    #[doc = "Lowest part of the 64 bits long source address or SA entry 1 resp. SA entry 0 in case of short source address."]
4521    #[inline(always)]
4522    pub fn exp_sa_l(
4523        self,
4524    ) -> crate::common::RegisterField<
4525        0,
4526        0xffffffff,
4527        1,
4528        0,
4529        u32,
4530        u32,
4531        FtdfLongAddr00Reg_SPEC,
4532        crate::common::RW,
4533    > {
4534        crate::common::RegisterField::<
4535            0,
4536            0xffffffff,
4537            1,
4538            0,
4539            u32,
4540            u32,
4541            FtdfLongAddr00Reg_SPEC,
4542            crate::common::RW,
4543        >::from_register(self, 0)
4544    }
4545}
4546impl ::core::default::Default for FtdfLongAddr00Reg {
4547    #[inline(always)]
4548    fn default() -> FtdfLongAddr00Reg {
4549        <crate::RegValueT<FtdfLongAddr00Reg_SPEC> as RegisterValue<_>>::new(0)
4550    }
4551}
4552
4553#[doc(hidden)]
4554#[derive(Copy, Clone, Eq, PartialEq)]
4555pub struct FtdfLongAddr10Reg_SPEC;
4556impl crate::sealed::RegSpec for FtdfLongAddr10Reg_SPEC {
4557    type DataType = u32;
4558}
4559
4560pub type FtdfLongAddr10Reg = crate::RegValueT<FtdfLongAddr10Reg_SPEC>;
4561
4562impl FtdfLongAddr10Reg {
4563    #[doc = "Highest part of the 64 bits long source address or SA entry 3 resp. SA entry 2 in case of short source address."]
4564    #[inline(always)]
4565    pub fn exp_sa_h(
4566        self,
4567    ) -> crate::common::RegisterField<
4568        0,
4569        0xffffffff,
4570        1,
4571        0,
4572        u32,
4573        u32,
4574        FtdfLongAddr10Reg_SPEC,
4575        crate::common::RW,
4576    > {
4577        crate::common::RegisterField::<
4578            0,
4579            0xffffffff,
4580            1,
4581            0,
4582            u32,
4583            u32,
4584            FtdfLongAddr10Reg_SPEC,
4585            crate::common::RW,
4586        >::from_register(self, 0)
4587    }
4588}
4589impl ::core::default::Default for FtdfLongAddr10Reg {
4590    #[inline(always)]
4591    fn default() -> FtdfLongAddr10Reg {
4592        <crate::RegValueT<FtdfLongAddr10Reg_SPEC> as RegisterValue<_>>::new(0)
4593    }
4594}
4595
4596#[doc(hidden)]
4597#[derive(Copy, Clone, Eq, PartialEq)]
4598pub struct FtdfMacackwaitdurationReg_SPEC;
4599impl crate::sealed::RegSpec for FtdfMacackwaitdurationReg_SPEC {
4600    type DataType = u32;
4601}
4602
4603#[doc = "Maximum time to wait for a ACK"]
4604pub type FtdfMacackwaitdurationReg = crate::RegValueT<FtdfMacackwaitdurationReg_SPEC>;
4605
4606impl FtdfMacackwaitdurationReg {
4607    #[doc = "Maximum time (in symbol periods) to wait for an ACK response after transmitting a frame with the AR bit set to \'1\'.\nThis value is used in the normal mode for the wait of an ACK response, irrespective if the ACK is a normal ACK or an Enhanced ACK."]
4608    #[inline(always)]
4609    pub fn macackwaitduration(
4610        self,
4611    ) -> crate::common::RegisterField<
4612        0,
4613        0xff,
4614        1,
4615        0,
4616        u8,
4617        u8,
4618        FtdfMacackwaitdurationReg_SPEC,
4619        crate::common::RW,
4620    > {
4621        crate::common::RegisterField::<
4622            0,
4623            0xff,
4624            1,
4625            0,
4626            u8,
4627            u8,
4628            FtdfMacackwaitdurationReg_SPEC,
4629            crate::common::RW,
4630        >::from_register(self, 0)
4631    }
4632}
4633impl ::core::default::Default for FtdfMacackwaitdurationReg {
4634    #[inline(always)]
4635    fn default() -> FtdfMacackwaitdurationReg {
4636        <crate::RegValueT<FtdfMacackwaitdurationReg_SPEC> as RegisterValue<_>>::new(54)
4637    }
4638}
4639
4640#[doc(hidden)]
4641#[derive(Copy, Clone, Eq, PartialEq)]
4642pub struct FtdfMacenhackwaitdurationReg_SPEC;
4643impl crate::sealed::RegSpec for FtdfMacenhackwaitdurationReg_SPEC {
4644    type DataType = u32;
4645}
4646
4647#[doc = "Maximum time to wait for an enhanced ACK frame"]
4648pub type FtdfMacenhackwaitdurationReg = crate::RegValueT<FtdfMacenhackwaitdurationReg_SPEC>;
4649
4650impl FtdfMacenhackwaitdurationReg {
4651    #[doc = "Maximum time (in us) to wait for an Enhanced ACK response after transmitting a frame with the AR bit set to \'1\'.\nThis value is used in the LE/CSL mode for the wait of an ACK response (which is always an Enhanced ACK)."]
4652    #[inline(always)]
4653    pub fn macenhackwaitduration(
4654        self,
4655    ) -> crate::common::RegisterField<
4656        0,
4657        0xffff,
4658        1,
4659        0,
4660        u16,
4661        u16,
4662        FtdfMacenhackwaitdurationReg_SPEC,
4663        crate::common::RW,
4664    > {
4665        crate::common::RegisterField::<
4666            0,
4667            0xffff,
4668            1,
4669            0,
4670            u16,
4671            u16,
4672            FtdfMacenhackwaitdurationReg_SPEC,
4673            crate::common::RW,
4674        >::from_register(self, 0)
4675    }
4676}
4677impl ::core::default::Default for FtdfMacenhackwaitdurationReg {
4678    #[inline(always)]
4679    fn default() -> FtdfMacenhackwaitdurationReg {
4680        <crate::RegValueT<FtdfMacenhackwaitdurationReg_SPEC> as RegisterValue<_>>::new(864)
4681    }
4682}
4683
4684#[doc(hidden)]
4685#[derive(Copy, Clone, Eq, PartialEq)]
4686pub struct FtdfMacfcserrorcountReg_SPEC;
4687impl crate::sealed::RegSpec for FtdfMacfcserrorcountReg_SPEC {
4688    type DataType = u32;
4689}
4690
4691#[doc = "Lmac FCS error register"]
4692pub type FtdfMacfcserrorcountReg = crate::RegValueT<FtdfMacfcserrorcountReg_SPEC>;
4693
4694impl FtdfMacfcserrorcountReg {
4695    #[doc = "metrics counter: the number of received frames that were discarded due to an incorrect FCS after the last deep-sleep cycle."]
4696    #[inline(always)]
4697    pub fn macfcserrorcount(
4698        self,
4699    ) -> crate::common::RegisterField<
4700        0,
4701        0xffffffff,
4702        1,
4703        0,
4704        u32,
4705        u32,
4706        FtdfMacfcserrorcountReg_SPEC,
4707        crate::common::R,
4708    > {
4709        crate::common::RegisterField::<
4710            0,
4711            0xffffffff,
4712            1,
4713            0,
4714            u32,
4715            u32,
4716            FtdfMacfcserrorcountReg_SPEC,
4717            crate::common::R,
4718        >::from_register(self, 0)
4719    }
4720}
4721impl ::core::default::Default for FtdfMacfcserrorcountReg {
4722    #[inline(always)]
4723    fn default() -> FtdfMacfcserrorcountReg {
4724        <crate::RegValueT<FtdfMacfcserrorcountReg_SPEC> as RegisterValue<_>>::new(0)
4725    }
4726}
4727
4728#[doc(hidden)]
4729#[derive(Copy, Clone, Eq, PartialEq)]
4730pub struct FtdfMacrxaddrfailfrmcntReg_SPEC;
4731impl crate::sealed::RegSpec for FtdfMacrxaddrfailfrmcntReg_SPEC {
4732    type DataType = u32;
4733}
4734
4735#[doc = "Discarded frames register"]
4736pub type FtdfMacrxaddrfailfrmcntReg = crate::RegValueT<FtdfMacrxaddrfailfrmcntReg_SPEC>;
4737
4738impl FtdfMacrxaddrfailfrmcntReg {
4739    #[doc = "Traffic counter: the number of frames discarded due to incorrect address or PAN Id after the last deep-sleep cycle."]
4740    #[inline(always)]
4741    pub fn macrxaddrfailfrmcnt(
4742        self,
4743    ) -> crate::common::RegisterField<
4744        0,
4745        0xffffffff,
4746        1,
4747        0,
4748        u32,
4749        u32,
4750        FtdfMacrxaddrfailfrmcntReg_SPEC,
4751        crate::common::R,
4752    > {
4753        crate::common::RegisterField::<
4754            0,
4755            0xffffffff,
4756            1,
4757            0,
4758            u32,
4759            u32,
4760            FtdfMacrxaddrfailfrmcntReg_SPEC,
4761            crate::common::R,
4762        >::from_register(self, 0)
4763    }
4764}
4765impl ::core::default::Default for FtdfMacrxaddrfailfrmcntReg {
4766    #[inline(always)]
4767    fn default() -> FtdfMacrxaddrfailfrmcntReg {
4768        <crate::RegValueT<FtdfMacrxaddrfailfrmcntReg_SPEC> as RegisterValue<_>>::new(0)
4769    }
4770}
4771
4772#[doc(hidden)]
4773#[derive(Copy, Clone, Eq, PartialEq)]
4774pub struct FtdfMacrxstdackfrmokcntReg_SPEC;
4775impl crate::sealed::RegSpec for FtdfMacrxstdackfrmokcntReg_SPEC {
4776    type DataType = u32;
4777}
4778
4779#[doc = "Received acknowledgment frames"]
4780pub type FtdfMacrxstdackfrmokcntReg = crate::RegValueT<FtdfMacrxstdackfrmokcntReg_SPEC>;
4781
4782impl FtdfMacrxstdackfrmokcntReg {
4783    #[doc = "Traffic counter: the number of Standard Acknowledgment frames received after the last deep-sleep cycle."]
4784    #[inline(always)]
4785    pub fn macrxstdackfrmokcnt(
4786        self,
4787    ) -> crate::common::RegisterField<
4788        0,
4789        0xffffffff,
4790        1,
4791        0,
4792        u32,
4793        u32,
4794        FtdfMacrxstdackfrmokcntReg_SPEC,
4795        crate::common::R,
4796    > {
4797        crate::common::RegisterField::<
4798            0,
4799            0xffffffff,
4800            1,
4801            0,
4802            u32,
4803            u32,
4804            FtdfMacrxstdackfrmokcntReg_SPEC,
4805            crate::common::R,
4806        >::from_register(self, 0)
4807    }
4808}
4809impl ::core::default::Default for FtdfMacrxstdackfrmokcntReg {
4810    #[inline(always)]
4811    fn default() -> FtdfMacrxstdackfrmokcntReg {
4812        <crate::RegValueT<FtdfMacrxstdackfrmokcntReg_SPEC> as RegisterValue<_>>::new(0)
4813    }
4814}
4815
4816#[doc(hidden)]
4817#[derive(Copy, Clone, Eq, PartialEq)]
4818pub struct FtdfMacrxunsupfrmcntReg_SPEC;
4819impl crate::sealed::RegSpec for FtdfMacrxunsupfrmcntReg_SPEC {
4820    type DataType = u32;
4821}
4822
4823#[doc = "Unsupported frames register"]
4824pub type FtdfMacrxunsupfrmcntReg = crate::RegValueT<FtdfMacrxunsupfrmcntReg_SPEC>;
4825
4826impl FtdfMacrxunsupfrmcntReg {
4827    #[doc = "Traffic counter: the number of frames which do pass the checks but are not supported after the last deep-sleep cycle."]
4828    #[inline(always)]
4829    pub fn macrxunsupfrmcnt(
4830        self,
4831    ) -> crate::common::RegisterField<
4832        0,
4833        0xffffffff,
4834        1,
4835        0,
4836        u32,
4837        u32,
4838        FtdfMacrxunsupfrmcntReg_SPEC,
4839        crate::common::R,
4840    > {
4841        crate::common::RegisterField::<
4842            0,
4843            0xffffffff,
4844            1,
4845            0,
4846            u32,
4847            u32,
4848            FtdfMacrxunsupfrmcntReg_SPEC,
4849            crate::common::R,
4850        >::from_register(self, 0)
4851    }
4852}
4853impl ::core::default::Default for FtdfMacrxunsupfrmcntReg {
4854    #[inline(always)]
4855    fn default() -> FtdfMacrxunsupfrmcntReg {
4856        <crate::RegValueT<FtdfMacrxunsupfrmcntReg_SPEC> as RegisterValue<_>>::new(0)
4857    }
4858}
4859
4860#[doc(hidden)]
4861#[derive(Copy, Clone, Eq, PartialEq)]
4862pub struct FtdfMactstxackdelayvalReg_SPEC;
4863impl crate::sealed::RegSpec for FtdfMactstxackdelayvalReg_SPEC {
4864    type DataType = u32;
4865}
4866
4867#[doc = "Time left until next ACK is sent (us)"]
4868pub type FtdfMactstxackdelayvalReg = crate::RegValueT<FtdfMactstxackdelayvalReg_SPEC>;
4869
4870impl FtdfMactstxackdelayvalReg {
4871    #[doc = "The time (in us) left until the ack frame is sent by the lmac.\nThis can be used by software to determine if there is enough time left to send the, by software created, Enhanced ACK frame."]
4872    #[inline(always)]
4873    pub fn mactstxackdelayval(
4874        self,
4875    ) -> crate::common::RegisterField<
4876        0,
4877        0xffff,
4878        1,
4879        0,
4880        u16,
4881        u16,
4882        FtdfMactstxackdelayvalReg_SPEC,
4883        crate::common::R,
4884    > {
4885        crate::common::RegisterField::<
4886            0,
4887            0xffff,
4888            1,
4889            0,
4890            u16,
4891            u16,
4892            FtdfMactstxackdelayvalReg_SPEC,
4893            crate::common::R,
4894        >::from_register(self, 0)
4895    }
4896}
4897impl ::core::default::Default for FtdfMactstxackdelayvalReg {
4898    #[inline(always)]
4899    fn default() -> FtdfMactstxackdelayvalReg {
4900        <crate::RegValueT<FtdfMactstxackdelayvalReg_SPEC> as RegisterValue<_>>::new(0)
4901    }
4902}
4903
4904#[doc(hidden)]
4905#[derive(Copy, Clone, Eq, PartialEq)]
4906pub struct FtdfMactxstdackfrmcntReg_SPEC;
4907impl crate::sealed::RegSpec for FtdfMactxstdackfrmcntReg_SPEC {
4908    type DataType = u32;
4909}
4910
4911#[doc = "Transmitted acknowledgment frames"]
4912pub type FtdfMactxstdackfrmcntReg = crate::RegValueT<FtdfMactxstdackfrmcntReg_SPEC>;
4913
4914impl FtdfMactxstdackfrmcntReg {
4915    #[doc = "Traffic counter: the number of standard Acknowledgment frames transmitted after the last deep-sleep cycle."]
4916    #[inline(always)]
4917    pub fn mactxstdackfrmcnt(
4918        self,
4919    ) -> crate::common::RegisterField<
4920        0,
4921        0xffffffff,
4922        1,
4923        0,
4924        u32,
4925        u32,
4926        FtdfMactxstdackfrmcntReg_SPEC,
4927        crate::common::R,
4928    > {
4929        crate::common::RegisterField::<
4930            0,
4931            0xffffffff,
4932            1,
4933            0,
4934            u32,
4935            u32,
4936            FtdfMactxstdackfrmcntReg_SPEC,
4937            crate::common::R,
4938        >::from_register(self, 0)
4939    }
4940}
4941impl ::core::default::Default for FtdfMactxstdackfrmcntReg {
4942    #[inline(always)]
4943    fn default() -> FtdfMactxstdackfrmcntReg {
4944        <crate::RegValueT<FtdfMactxstdackfrmcntReg_SPEC> as RegisterValue<_>>::new(0)
4945    }
4946}
4947
4948#[doc(hidden)]
4949#[derive(Copy, Clone, Eq, PartialEq)]
4950pub struct FtdfPhyParameters0Reg_SPEC;
4951impl crate::sealed::RegSpec for FtdfPhyParameters0Reg_SPEC {
4952    type DataType = u32;
4953}
4954
4955#[doc = "Lmac PHY parameter register"]
4956pub type FtdfPhyParameters0Reg = crate::RegValueT<FtdfPhyParameters0Reg_SPEC>;
4957
4958impl FtdfPhyParameters0Reg {
4959    #[doc = "DPHY interface: see rxBitPos_0"]
4960    #[inline(always)]
4961    pub fn rxbitpos_7(
4962        self,
4963    ) -> crate::common::RegisterField<
4964        28,
4965        0x7,
4966        1,
4967        0,
4968        u8,
4969        u8,
4970        FtdfPhyParameters0Reg_SPEC,
4971        crate::common::RW,
4972    > {
4973        crate::common::RegisterField::<
4974            28,
4975            0x7,
4976            1,
4977            0,
4978            u8,
4979            u8,
4980            FtdfPhyParameters0Reg_SPEC,
4981            crate::common::RW,
4982        >::from_register(self, 0)
4983    }
4984
4985    #[doc = "DPHY interface: see rxBitPos_0"]
4986    #[inline(always)]
4987    pub fn rxbitpos_6(
4988        self,
4989    ) -> crate::common::RegisterField<
4990        24,
4991        0x7,
4992        1,
4993        0,
4994        u8,
4995        u8,
4996        FtdfPhyParameters0Reg_SPEC,
4997        crate::common::RW,
4998    > {
4999        crate::common::RegisterField::<
5000            24,
5001            0x7,
5002            1,
5003            0,
5004            u8,
5005            u8,
5006            FtdfPhyParameters0Reg_SPEC,
5007            crate::common::RW,
5008        >::from_register(self, 0)
5009    }
5010
5011    #[doc = "DPHY interface: see rxBitPos_0"]
5012    #[inline(always)]
5013    pub fn rxbitpos_5(
5014        self,
5015    ) -> crate::common::RegisterField<
5016        20,
5017        0x7,
5018        1,
5019        0,
5020        u8,
5021        u8,
5022        FtdfPhyParameters0Reg_SPEC,
5023        crate::common::RW,
5024    > {
5025        crate::common::RegisterField::<
5026            20,
5027            0x7,
5028            1,
5029            0,
5030            u8,
5031            u8,
5032            FtdfPhyParameters0Reg_SPEC,
5033            crate::common::RW,
5034        >::from_register(self, 0)
5035    }
5036
5037    #[doc = "DPHY interface: see rxBitPos_0"]
5038    #[inline(always)]
5039    pub fn rxbitpos_4(
5040        self,
5041    ) -> crate::common::RegisterField<
5042        16,
5043        0x7,
5044        1,
5045        0,
5046        u8,
5047        u8,
5048        FtdfPhyParameters0Reg_SPEC,
5049        crate::common::RW,
5050    > {
5051        crate::common::RegisterField::<
5052            16,
5053            0x7,
5054            1,
5055            0,
5056            u8,
5057            u8,
5058            FtdfPhyParameters0Reg_SPEC,
5059            crate::common::RW,
5060        >::from_register(self, 0)
5061    }
5062
5063    #[doc = "DPHY interface: see rxBitPos_0"]
5064    #[inline(always)]
5065    pub fn rxbitpos_3(
5066        self,
5067    ) -> crate::common::RegisterField<
5068        12,
5069        0x7,
5070        1,
5071        0,
5072        u8,
5073        u8,
5074        FtdfPhyParameters0Reg_SPEC,
5075        crate::common::RW,
5076    > {
5077        crate::common::RegisterField::<
5078            12,
5079            0x7,
5080            1,
5081            0,
5082            u8,
5083            u8,
5084            FtdfPhyParameters0Reg_SPEC,
5085            crate::common::RW,
5086        >::from_register(self, 0)
5087    }
5088
5089    #[doc = "DPHY interface: see rxBitPos_0"]
5090    #[inline(always)]
5091    pub fn rxbitpos_2(
5092        self,
5093    ) -> crate::common::RegisterField<
5094        8,
5095        0x7,
5096        1,
5097        0,
5098        u8,
5099        u8,
5100        FtdfPhyParameters0Reg_SPEC,
5101        crate::common::RW,
5102    > {
5103        crate::common::RegisterField::<
5104            8,
5105            0x7,
5106            1,
5107            0,
5108            u8,
5109            u8,
5110            FtdfPhyParameters0Reg_SPEC,
5111            crate::common::RW,
5112        >::from_register(self, 0)
5113    }
5114
5115    #[doc = "DPHY interface: see rxBitPos_0"]
5116    #[inline(always)]
5117    pub fn rxbitpos_1(
5118        self,
5119    ) -> crate::common::RegisterField<
5120        4,
5121        0x7,
5122        1,
5123        0,
5124        u8,
5125        u8,
5126        FtdfPhyParameters0Reg_SPEC,
5127        crate::common::RW,
5128    > {
5129        crate::common::RegisterField::<
5130            4,
5131            0x7,
5132            1,
5133            0,
5134            u8,
5135            u8,
5136            FtdfPhyParameters0Reg_SPEC,
5137            crate::common::RW,
5138        >::from_register(self, 0)
5139    }
5140
5141    #[doc = "DPHY interface: control rxBitPos(8)(3) controls the position that a bit should have at the DPHY interface.\nSo the default values are rxBitPos_0 = 0, rxBitPos_1 = 1, rxBitPos_2 = 2, etc.\n\nNote1 that this is a conversion from rx DPHY interface to the internal data byte\nSo\nfor(n=7;n>=0;n--)\nrx_data(n) = dphy_bit(tx_BitPos(n))\nendfor\n\nNote2 that rxBitPos and txBitPos must have inverse functions."]
5142    #[inline(always)]
5143    pub fn rxbitpos_0(
5144        self,
5145    ) -> crate::common::RegisterField<
5146        0,
5147        0x7,
5148        1,
5149        0,
5150        u8,
5151        u8,
5152        FtdfPhyParameters0Reg_SPEC,
5153        crate::common::RW,
5154    > {
5155        crate::common::RegisterField::<
5156            0,
5157            0x7,
5158            1,
5159            0,
5160            u8,
5161            u8,
5162            FtdfPhyParameters0Reg_SPEC,
5163            crate::common::RW,
5164        >::from_register(self, 0)
5165    }
5166}
5167impl ::core::default::Default for FtdfPhyParameters0Reg {
5168    #[inline(always)]
5169    fn default() -> FtdfPhyParameters0Reg {
5170        <crate::RegValueT<FtdfPhyParameters0Reg_SPEC> as RegisterValue<_>>::new(1985229328)
5171    }
5172}
5173
5174#[doc(hidden)]
5175#[derive(Copy, Clone, Eq, PartialEq)]
5176pub struct FtdfPhyParameters1Reg_SPEC;
5177impl crate::sealed::RegSpec for FtdfPhyParameters1Reg_SPEC {
5178    type DataType = u32;
5179}
5180
5181#[doc = "Lmac PHY parameter register"]
5182pub type FtdfPhyParameters1Reg = crate::RegValueT<FtdfPhyParameters1Reg_SPEC>;
5183
5184impl FtdfPhyParameters1Reg {
5185    #[doc = "DPHY interface: see txBitPos_0"]
5186    #[inline(always)]
5187    pub fn txbitpos_7(
5188        self,
5189    ) -> crate::common::RegisterField<
5190        28,
5191        0x7,
5192        1,
5193        0,
5194        u8,
5195        u8,
5196        FtdfPhyParameters1Reg_SPEC,
5197        crate::common::RW,
5198    > {
5199        crate::common::RegisterField::<
5200            28,
5201            0x7,
5202            1,
5203            0,
5204            u8,
5205            u8,
5206            FtdfPhyParameters1Reg_SPEC,
5207            crate::common::RW,
5208        >::from_register(self, 0)
5209    }
5210
5211    #[doc = "DPHY interface: see txBitPos_0"]
5212    #[inline(always)]
5213    pub fn txbitpos_6(
5214        self,
5215    ) -> crate::common::RegisterField<
5216        24,
5217        0x7,
5218        1,
5219        0,
5220        u8,
5221        u8,
5222        FtdfPhyParameters1Reg_SPEC,
5223        crate::common::RW,
5224    > {
5225        crate::common::RegisterField::<
5226            24,
5227            0x7,
5228            1,
5229            0,
5230            u8,
5231            u8,
5232            FtdfPhyParameters1Reg_SPEC,
5233            crate::common::RW,
5234        >::from_register(self, 0)
5235    }
5236
5237    #[doc = "DPHY interface: see txBitPos_0"]
5238    #[inline(always)]
5239    pub fn txbitpos_5(
5240        self,
5241    ) -> crate::common::RegisterField<
5242        20,
5243        0x7,
5244        1,
5245        0,
5246        u8,
5247        u8,
5248        FtdfPhyParameters1Reg_SPEC,
5249        crate::common::RW,
5250    > {
5251        crate::common::RegisterField::<
5252            20,
5253            0x7,
5254            1,
5255            0,
5256            u8,
5257            u8,
5258            FtdfPhyParameters1Reg_SPEC,
5259            crate::common::RW,
5260        >::from_register(self, 0)
5261    }
5262
5263    #[doc = "DPHY interface: see txBitPos_0"]
5264    #[inline(always)]
5265    pub fn txbitpos_4(
5266        self,
5267    ) -> crate::common::RegisterField<
5268        16,
5269        0x7,
5270        1,
5271        0,
5272        u8,
5273        u8,
5274        FtdfPhyParameters1Reg_SPEC,
5275        crate::common::RW,
5276    > {
5277        crate::common::RegisterField::<
5278            16,
5279            0x7,
5280            1,
5281            0,
5282            u8,
5283            u8,
5284            FtdfPhyParameters1Reg_SPEC,
5285            crate::common::RW,
5286        >::from_register(self, 0)
5287    }
5288
5289    #[doc = "DPHY interface: see txBitPos_0"]
5290    #[inline(always)]
5291    pub fn txbitpos_3(
5292        self,
5293    ) -> crate::common::RegisterField<
5294        12,
5295        0x7,
5296        1,
5297        0,
5298        u8,
5299        u8,
5300        FtdfPhyParameters1Reg_SPEC,
5301        crate::common::RW,
5302    > {
5303        crate::common::RegisterField::<
5304            12,
5305            0x7,
5306            1,
5307            0,
5308            u8,
5309            u8,
5310            FtdfPhyParameters1Reg_SPEC,
5311            crate::common::RW,
5312        >::from_register(self, 0)
5313    }
5314
5315    #[doc = "DPHY interface: see txBitPos_0"]
5316    #[inline(always)]
5317    pub fn txbitpos_2(
5318        self,
5319    ) -> crate::common::RegisterField<
5320        8,
5321        0x7,
5322        1,
5323        0,
5324        u8,
5325        u8,
5326        FtdfPhyParameters1Reg_SPEC,
5327        crate::common::RW,
5328    > {
5329        crate::common::RegisterField::<
5330            8,
5331            0x7,
5332            1,
5333            0,
5334            u8,
5335            u8,
5336            FtdfPhyParameters1Reg_SPEC,
5337            crate::common::RW,
5338        >::from_register(self, 0)
5339    }
5340
5341    #[doc = "DPHY interface: see txBitPos_0"]
5342    #[inline(always)]
5343    pub fn txbitpos_1(
5344        self,
5345    ) -> crate::common::RegisterField<
5346        4,
5347        0x7,
5348        1,
5349        0,
5350        u8,
5351        u8,
5352        FtdfPhyParameters1Reg_SPEC,
5353        crate::common::RW,
5354    > {
5355        crate::common::RegisterField::<
5356            4,
5357            0x7,
5358            1,
5359            0,
5360            u8,
5361            u8,
5362            FtdfPhyParameters1Reg_SPEC,
5363            crate::common::RW,
5364        >::from_register(self, 0)
5365    }
5366
5367    #[doc = "DPHY interface: control txBitPos(8)(3) controls the position that a bit should have at the DPHY interface.\nSo the default values are txBitPos_0 = 0, txBitPos_1 = 1, txBitPos_2 = 2, etc.\n\nNote1 that this is a conversion from internal data byte to the DPHY interface.\nSo\nfor(n=7;n>=0;n--)\ntx_dphy_bit(n) = tx_data(tx_BitPos(n))\nendfor\n\nNote2 that txBitPos and rxBitPos must have inverse functions."]
5368    #[inline(always)]
5369    pub fn txbitpos_0(
5370        self,
5371    ) -> crate::common::RegisterField<
5372        0,
5373        0x7,
5374        1,
5375        0,
5376        u8,
5377        u8,
5378        FtdfPhyParameters1Reg_SPEC,
5379        crate::common::RW,
5380    > {
5381        crate::common::RegisterField::<
5382            0,
5383            0x7,
5384            1,
5385            0,
5386            u8,
5387            u8,
5388            FtdfPhyParameters1Reg_SPEC,
5389            crate::common::RW,
5390        >::from_register(self, 0)
5391    }
5392}
5393impl ::core::default::Default for FtdfPhyParameters1Reg {
5394    #[inline(always)]
5395    fn default() -> FtdfPhyParameters1Reg {
5396        <crate::RegValueT<FtdfPhyParameters1Reg_SPEC> as RegisterValue<_>>::new(1985229328)
5397    }
5398}
5399
5400#[doc(hidden)]
5401#[derive(Copy, Clone, Eq, PartialEq)]
5402pub struct FtdfPhyParameters2Reg_SPEC;
5403impl crate::sealed::RegSpec for FtdfPhyParameters2Reg_SPEC {
5404    type DataType = u32;
5405}
5406
5407#[doc = "Lmac PHY parameter register"]
5408pub type FtdfPhyParameters2Reg = crate::RegValueT<FtdfPhyParameters2Reg_SPEC>;
5409
5410impl FtdfPhyParameters2Reg {
5411    #[doc = "DPHY interface: Phy wait time (in us) between deassertion of TX_EN and assertion of RX_EN or vice versa."]
5412    #[inline(always)]
5413    pub fn phytrxwait(
5414        self,
5415    ) -> crate::common::RegisterField<
5416        24,
5417        0xff,
5418        1,
5419        0,
5420        u8,
5421        u8,
5422        FtdfPhyParameters2Reg_SPEC,
5423        crate::common::RW,
5424    > {
5425        crate::common::RegisterField::<
5426            24,
5427            0xff,
5428            1,
5429            0,
5430            u8,
5431            u8,
5432            FtdfPhyParameters2Reg_SPEC,
5433            crate::common::RW,
5434        >::from_register(self, 0)
5435    }
5436
5437    #[doc = "DPHY interface: Phy wait time (in us) before deasserting TX_EN after deasserting TX_VALID."]
5438    #[inline(always)]
5439    pub fn phytxfinish(
5440        self,
5441    ) -> crate::common::RegisterField<
5442        16,
5443        0xff,
5444        1,
5445        0,
5446        u8,
5447        u8,
5448        FtdfPhyParameters2Reg_SPEC,
5449        crate::common::RW,
5450    > {
5451        crate::common::RegisterField::<
5452            16,
5453            0xff,
5454            1,
5455            0,
5456            u8,
5457            u8,
5458            FtdfPhyParameters2Reg_SPEC,
5459            crate::common::RW,
5460        >::from_register(self, 0)
5461    }
5462
5463    #[doc = "DPHY interface: phy delay (in us) between DPHY interface and air interface."]
5464    #[inline(always)]
5465    pub fn phytxlatency(
5466        self,
5467    ) -> crate::common::RegisterField<
5468        8,
5469        0xff,
5470        1,
5471        0,
5472        u8,
5473        u8,
5474        FtdfPhyParameters2Reg_SPEC,
5475        crate::common::RW,
5476    > {
5477        crate::common::RegisterField::<
5478            8,
5479            0xff,
5480            1,
5481            0,
5482            u8,
5483            u8,
5484            FtdfPhyParameters2Reg_SPEC,
5485            crate::common::RW,
5486        >::from_register(self, 0)
5487    }
5488
5489    #[doc = "DPHY interface: the phy wait time (in us) before transmission of a frame may start."]
5490    #[inline(always)]
5491    pub fn phytxstartup(
5492        self,
5493    ) -> crate::common::RegisterField<
5494        0,
5495        0xff,
5496        1,
5497        0,
5498        u8,
5499        u8,
5500        FtdfPhyParameters2Reg_SPEC,
5501        crate::common::RW,
5502    > {
5503        crate::common::RegisterField::<
5504            0,
5505            0xff,
5506            1,
5507            0,
5508            u8,
5509            u8,
5510            FtdfPhyParameters2Reg_SPEC,
5511            crate::common::RW,
5512        >::from_register(self, 0)
5513    }
5514}
5515impl ::core::default::Default for FtdfPhyParameters2Reg {
5516    #[inline(always)]
5517    fn default() -> FtdfPhyParameters2Reg {
5518        <crate::RegValueT<FtdfPhyParameters2Reg_SPEC> as RegisterValue<_>>::new(0)
5519    }
5520}
5521
5522#[doc(hidden)]
5523#[derive(Copy, Clone, Eq, PartialEq)]
5524pub struct FtdfPhyParameters3Reg_SPEC;
5525impl crate::sealed::RegSpec for FtdfPhyParameters3Reg_SPEC {
5526    type DataType = u32;
5527}
5528
5529#[doc = "Lmac PHY parameter register"]
5530pub type FtdfPhyParameters3Reg = crate::RegValueT<FtdfPhyParameters3Reg_SPEC>;
5531
5532impl FtdfPhyParameters3Reg {
5533    #[doc = "If the control register use_legacy_phy_en is set (default), the output signal PHY_TRANSACTION will be sourced by PHY_EN rather than PHY_TRANSACTION."]
5534    #[inline(always)]
5535    pub fn use_legacy_phy_en(
5536        self,
5537    ) -> crate::common::RegisterFieldBool<24, 1, 0, FtdfPhyParameters3Reg_SPEC, crate::common::RW>
5538    {
5539        crate::common::RegisterFieldBool::<24,1,0,FtdfPhyParameters3Reg_SPEC,crate::common::RW>::from_register(self,0)
5540    }
5541
5542    #[doc = "DPHY interface: Asserting the DPHY interface signals TX_EN or RX_EN does not take place within the time phyEnable after asserting the signal PHY_EN.\n(in us)."]
5543    #[inline(always)]
5544    pub fn phyenable(
5545        self,
5546    ) -> crate::common::RegisterField<
5547        16,
5548        0xff,
5549        1,
5550        0,
5551        u8,
5552        u8,
5553        FtdfPhyParameters3Reg_SPEC,
5554        crate::common::RW,
5555    > {
5556        crate::common::RegisterField::<
5557            16,
5558            0xff,
5559            1,
5560            0,
5561            u8,
5562            u8,
5563            FtdfPhyParameters3Reg_SPEC,
5564            crate::common::RW,
5565        >::from_register(self, 0)
5566    }
5567
5568    #[doc = "DPHY interface: Phy delay (in us) between air and DPHY interface."]
5569    #[inline(always)]
5570    pub fn phyrxlatency(
5571        self,
5572    ) -> crate::common::RegisterField<
5573        8,
5574        0xff,
5575        1,
5576        0,
5577        u8,
5578        u8,
5579        FtdfPhyParameters3Reg_SPEC,
5580        crate::common::RW,
5581    > {
5582        crate::common::RegisterField::<
5583            8,
5584            0xff,
5585            1,
5586            0,
5587            u8,
5588            u8,
5589            FtdfPhyParameters3Reg_SPEC,
5590            crate::common::RW,
5591        >::from_register(self, 0)
5592    }
5593
5594    #[doc = "DPHY interface: Phy wait time (in us) before receiving of a frame may start."]
5595    #[inline(always)]
5596    pub fn phyrxstartup(
5597        self,
5598    ) -> crate::common::RegisterField<
5599        0,
5600        0xff,
5601        1,
5602        0,
5603        u8,
5604        u8,
5605        FtdfPhyParameters3Reg_SPEC,
5606        crate::common::RW,
5607    > {
5608        crate::common::RegisterField::<
5609            0,
5610            0xff,
5611            1,
5612            0,
5613            u8,
5614            u8,
5615            FtdfPhyParameters3Reg_SPEC,
5616            crate::common::RW,
5617        >::from_register(self, 0)
5618    }
5619}
5620impl ::core::default::Default for FtdfPhyParameters3Reg {
5621    #[inline(always)]
5622    fn default() -> FtdfPhyParameters3Reg {
5623        <crate::RegValueT<FtdfPhyParameters3Reg_SPEC> as RegisterValue<_>>::new(16777216)
5624    }
5625}
5626
5627#[doc(hidden)]
5628#[derive(Copy, Clone, Eq, PartialEq)]
5629pub struct FtdfRelName0Reg_SPEC;
5630impl crate::sealed::RegSpec for FtdfRelName0Reg_SPEC {
5631    type DataType = u32;
5632}
5633
5634#[doc = "Name of the release"]
5635pub type FtdfRelName0Reg = crate::RegValueT<FtdfRelName0Reg_SPEC>;
5636
5637impl FtdfRelName0Reg {
5638    #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5639    #[inline(always)]
5640    pub fn rel_name(
5641        self,
5642    ) -> crate::common::RegisterField<
5643        0,
5644        0xffffffff,
5645        1,
5646        0,
5647        u32,
5648        u32,
5649        FtdfRelName0Reg_SPEC,
5650        crate::common::R,
5651    > {
5652        crate::common::RegisterField::<
5653            0,
5654            0xffffffff,
5655            1,
5656            0,
5657            u32,
5658            u32,
5659            FtdfRelName0Reg_SPEC,
5660            crate::common::R,
5661        >::from_register(self, 0)
5662    }
5663}
5664impl ::core::default::Default for FtdfRelName0Reg {
5665    #[inline(always)]
5666    fn default() -> FtdfRelName0Reg {
5667        <crate::RegValueT<FtdfRelName0Reg_SPEC> as RegisterValue<_>>::new(0)
5668    }
5669}
5670
5671#[doc(hidden)]
5672#[derive(Copy, Clone, Eq, PartialEq)]
5673pub struct FtdfRelName1Reg_SPEC;
5674impl crate::sealed::RegSpec for FtdfRelName1Reg_SPEC {
5675    type DataType = u32;
5676}
5677
5678#[doc = "Name of the release"]
5679pub type FtdfRelName1Reg = crate::RegValueT<FtdfRelName1Reg_SPEC>;
5680
5681impl FtdfRelName1Reg {
5682    #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5683    #[inline(always)]
5684    pub fn rel_name(
5685        self,
5686    ) -> crate::common::RegisterField<
5687        0,
5688        0xffffffff,
5689        1,
5690        0,
5691        u32,
5692        u32,
5693        FtdfRelName1Reg_SPEC,
5694        crate::common::R,
5695    > {
5696        crate::common::RegisterField::<
5697            0,
5698            0xffffffff,
5699            1,
5700            0,
5701            u32,
5702            u32,
5703            FtdfRelName1Reg_SPEC,
5704            crate::common::R,
5705        >::from_register(self, 0)
5706    }
5707}
5708impl ::core::default::Default for FtdfRelName1Reg {
5709    #[inline(always)]
5710    fn default() -> FtdfRelName1Reg {
5711        <crate::RegValueT<FtdfRelName1Reg_SPEC> as RegisterValue<_>>::new(0)
5712    }
5713}
5714
5715#[doc(hidden)]
5716#[derive(Copy, Clone, Eq, PartialEq)]
5717pub struct FtdfRelName2Reg_SPEC;
5718impl crate::sealed::RegSpec for FtdfRelName2Reg_SPEC {
5719    type DataType = u32;
5720}
5721
5722#[doc = "Name of the release"]
5723pub type FtdfRelName2Reg = crate::RegValueT<FtdfRelName2Reg_SPEC>;
5724
5725impl FtdfRelName2Reg {
5726    #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5727    #[inline(always)]
5728    pub fn rel_name(
5729        self,
5730    ) -> crate::common::RegisterField<
5731        0,
5732        0xffffffff,
5733        1,
5734        0,
5735        u32,
5736        u32,
5737        FtdfRelName2Reg_SPEC,
5738        crate::common::R,
5739    > {
5740        crate::common::RegisterField::<
5741            0,
5742            0xffffffff,
5743            1,
5744            0,
5745            u32,
5746            u32,
5747            FtdfRelName2Reg_SPEC,
5748            crate::common::R,
5749        >::from_register(self, 0)
5750    }
5751}
5752impl ::core::default::Default for FtdfRelName2Reg {
5753    #[inline(always)]
5754    fn default() -> FtdfRelName2Reg {
5755        <crate::RegValueT<FtdfRelName2Reg_SPEC> as RegisterValue<_>>::new(0)
5756    }
5757}
5758
5759#[doc(hidden)]
5760#[derive(Copy, Clone, Eq, PartialEq)]
5761pub struct FtdfRelName3Reg_SPEC;
5762impl crate::sealed::RegSpec for FtdfRelName3Reg_SPEC {
5763    type DataType = u32;
5764}
5765
5766#[doc = "Name of the release"]
5767pub type FtdfRelName3Reg = crate::RegValueT<FtdfRelName3Reg_SPEC>;
5768
5769impl FtdfRelName3Reg {
5770    #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5771    #[inline(always)]
5772    pub fn rel_name(
5773        self,
5774    ) -> crate::common::RegisterField<
5775        0,
5776        0xffffffff,
5777        1,
5778        0,
5779        u32,
5780        u32,
5781        FtdfRelName3Reg_SPEC,
5782        crate::common::R,
5783    > {
5784        crate::common::RegisterField::<
5785            0,
5786            0xffffffff,
5787            1,
5788            0,
5789            u32,
5790            u32,
5791            FtdfRelName3Reg_SPEC,
5792            crate::common::R,
5793        >::from_register(self, 0)
5794    }
5795}
5796impl ::core::default::Default for FtdfRelName3Reg {
5797    #[inline(always)]
5798    fn default() -> FtdfRelName3Reg {
5799        <crate::RegValueT<FtdfRelName3Reg_SPEC> as RegisterValue<_>>::new(0)
5800    }
5801}
5802
5803#[doc(hidden)]
5804#[derive(Copy, Clone, Eq, PartialEq)]
5805pub struct FtdfRxControl0Reg_SPEC;
5806impl crate::sealed::RegSpec for FtdfRxControl0Reg_SPEC {
5807    type DataType = u32;
5808}
5809
5810#[doc = "Receive control register"]
5811pub type FtdfRxControl0Reg = crate::RegValueT<FtdfRxControl0Reg_SPEC>;
5812
5813impl FtdfRxControl0Reg {
5814    #[doc = "If set to \'1\', the LMAC controller shall ignore all consequent actions upon a set AR bit in the transmitted frame (e.g. enabling Rx-on mode after the transmission and wait for an ACK)."]
5815    #[inline(always)]
5816    pub fn disrxackreceivedca(
5817        self,
5818    ) -> crate::common::RegisterFieldBool<27, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5819        crate::common::RegisterFieldBool::<27,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5820    }
5821
5822    #[doc = "If set to \'1\', Frame Version 2 frames without Daddr or DPANId shall be accepted."]
5823    #[inline(always)]
5824    pub fn macimplicitbroadcast(
5825        self,
5826    ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5827        crate::common::RegisterFieldBool::<26,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5828    }
5829
5830    #[doc = "In CSL mode, if set to \'1\', WakeUp frames will be put into the Rx buffer.\nThis can be useful for software to parse the WakeUp frame."]
5831    #[inline(always)]
5832    pub fn macpasswakeup(
5833        self,
5834    ) -> crate::common::RegisterFieldBool<25, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5835        crate::common::RegisterFieldBool::<25,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5836    }
5837
5838    #[doc = "In CSL mode, if the control register macAlwaysPassWakeUp is set to \'1\', received Wake- up frames for this device are put into the Rx packet buffer without notifying the LMAC Controller (part of transparent mode control)."]
5839    #[inline(always)]
5840    pub fn macalwayspasswakeup(
5841        self,
5842    ) -> crate::common::RegisterFieldBool<24, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5843        crate::common::RegisterFieldBool::<24,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5844    }
5845
5846    #[doc = "The control registers macAlwaysPassFrmType\\[7:0\\], shall control if this Frame Type shall be dropped.\nIf a bit is set to \'1\', the Frame Type corresponding with the bit position is not dropped, even in case of a CRC error.\nExample:\nif bit 3 is set to \'1\', Frame Type 3 shall not be dropped.\nIf there is a FCS error, the error shall be reported in the Rx meta data (crc16_error is set to \'1\')."]
5847    #[inline(always)]
5848    pub fn macalwayspassfrmtype(
5849        self,
5850    ) -> crate::common::RegisterField<
5851        16,
5852        0xff,
5853        1,
5854        0,
5855        u8,
5856        u8,
5857        FtdfRxControl0Reg_SPEC,
5858        crate::common::RW,
5859    > {
5860        crate::common::RegisterField::<
5861            16,
5862            0xff,
5863            1,
5864            0,
5865            u8,
5866            u8,
5867            FtdfRxControl0Reg_SPEC,
5868            crate::common::RW,
5869        >::from_register(self, 0)
5870    }
5871
5872    #[doc = "When the control register macAlwaysPassToPanCoordinator is set to \'1\', the frame is not dropped due to a span_coord_error.\nHowever, in case of an FCS error, the packet is dropped."]
5873    #[inline(always)]
5874    pub fn macalwayspasstopancoordinator(
5875        self,
5876    ) -> crate::common::RegisterFieldBool<15, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5877        crate::common::RegisterFieldBool::<15,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5878    }
5879
5880    #[doc = "If the control register macAlwaysPassBeaconWrongPANId is set, the frame is not dropped in case of a mismatch in PAN-ID, irrespective of the setting of RxBeaconOnly."]
5881    #[inline(always)]
5882    pub fn macalwayspassbeaconwrongpanid(
5883        self,
5884    ) -> crate::common::RegisterFieldBool<14, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5885        crate::common::RegisterFieldBool::<14,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5886    }
5887
5888    #[doc = "If set to \'1\', a packet with a wrong DAddr is not dropped"]
5889    #[inline(always)]
5890    pub fn macalwayspasswrongdaddr(
5891        self,
5892    ) -> crate::common::RegisterFieldBool<13, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5893        crate::common::RegisterFieldBool::<13,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5894    }
5895
5896    #[doc = "If register macAlwaysPassWrongDPANId is set to \'1\', packet with a wrong Destiantion PanID will not be dropped.\nHowever, in case of an FCS error, the packet is dropped."]
5897    #[inline(always)]
5898    pub fn macalwayspasswrongdpanid(
5899        self,
5900    ) -> crate::common::RegisterFieldBool<12, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5901        crate::common::RegisterFieldBool::<12,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5902    }
5903
5904    #[doc = "If set to \'1\', a packet with a reserved FrameVersion shall not be dropped"]
5905    #[inline(always)]
5906    pub fn macalwayspassresframeversion(
5907        self,
5908    ) -> crate::common::RegisterFieldBool<11, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5909        crate::common::RegisterFieldBool::<11,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5910    }
5911
5912    #[doc = "When the control register DisDataRequestCa is set, the notification of the received Data Request is disabled."]
5913    #[inline(always)]
5914    pub fn disdatarequestca(
5915        self,
5916    ) -> crate::common::RegisterFieldBool<10, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5917        crate::common::RegisterFieldBool::<10,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5918    }
5919
5920    #[doc = "If set to \'1\', a FCS error will not drop the frame. However, an FCS error will be reported in the Rx meta data (crc16_error is set to \'1\')."]
5921    #[inline(always)]
5922    pub fn macalwayspasscrcerror(
5923        self,
5924    ) -> crate::common::RegisterFieldBool<9, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5925        crate::common::RegisterFieldBool::<9,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5926    }
5927
5928    #[doc = "When the control register DisRxAckRequestca is set to \'1\' all consequent actions for a received Acknowledge Request bit are disabled."]
5929    #[inline(always)]
5930    pub fn disrxackrequestca(
5931        self,
5932    ) -> crate::common::RegisterFieldBool<8, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5933        crate::common::RegisterFieldBool::<8,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5934    }
5935
5936    #[doc = "Whan the control register DisRxFrmPendingCa is set to \'1\', the notification of the received FP bit to the LMAC Controller is disabled and thus no consequent actions will take place."]
5937    #[inline(always)]
5938    pub fn disrxfrmpendingca(
5939        self,
5940    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5941        crate::common::RegisterFieldBool::<7,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5942    }
5943
5944    #[doc = "Indication where new data will be read\nAll four bits shall be used when using these pointer values (0d - 15d).\nHowever, the Receive Packet buffer has a size of 8 entries.\nSo reading the Receive Packet buffer entries shall use the mod8 of the pointer values."]
5945    #[inline(always)]
5946    pub fn rx_read_buf_ptr(
5947        self,
5948    ) -> crate::common::RegisterField<3, 0xf, 1, 0, u8, u8, FtdfRxControl0Reg_SPEC, crate::common::RW>
5949    {
5950        crate::common::RegisterField::<
5951            3,
5952            0xf,
5953            1,
5954            0,
5955            u8,
5956            u8,
5957            FtdfRxControl0Reg_SPEC,
5958            crate::common::RW,
5959        >::from_register(self, 0)
5960    }
5961
5962    #[doc = "If set to \'1\', only Coordinator Realignment frames are accepted"]
5963    #[inline(always)]
5964    pub fn rxcoordrealignonly(
5965        self,
5966    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5967        crate::common::RegisterFieldBool::<2,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5968    }
5969
5970    #[doc = "If set to \'1\', only Beacons frames are accepted"]
5971    #[inline(always)]
5972    pub fn rxbeacononly(
5973        self,
5974    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5975        crate::common::RegisterFieldBool::<1,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5976    }
5977
5978    #[doc = "If set yo \'1\', Rx pipe is fully set in transparent mode (for debug purpose)."]
5979    #[inline(always)]
5980    pub fn dbgrxtransparentmode(
5981        self,
5982    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5983        crate::common::RegisterFieldBool::<0,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5984    }
5985}
5986impl ::core::default::Default for FtdfRxControl0Reg {
5987    #[inline(always)]
5988    fn default() -> FtdfRxControl0Reg {
5989        <crate::RegValueT<FtdfRxControl0Reg_SPEC> as RegisterValue<_>>::new(0)
5990    }
5991}
5992
5993#[doc(hidden)]
5994#[derive(Copy, Clone, Eq, PartialEq)]
5995pub struct FtdfRxEventReg_SPEC;
5996impl crate::sealed::RegSpec for FtdfRxEventReg_SPEC {
5997    type DataType = u32;
5998}
5999
6000#[doc = "Receive event register"]
6001pub type FtdfRxEventReg = crate::RegValueT<FtdfRxEventReg_SPEC>;
6002
6003impl FtdfRxEventReg {
6004    #[doc = "If set to \'1\' it indicates that the first byte of a new packet has been received\nThis event bit contributes to ftdf_ce\\[1\\]."]
6005    #[inline(always)]
6006    pub fn rxbyte_e(
6007        self,
6008    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6009        crate::common::RegisterFieldBool::<3,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6010    }
6011
6012    #[doc = "If set to \'1\' it indicates that a new valid packet has been completely received\nThis event bit contributes to ftdf_ce\\[1\\]."]
6013    #[inline(always)]
6014    pub fn rx_buf_avail_e(
6015        self,
6016    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6017        crate::common::RegisterFieldBool::<2,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6018    }
6019
6020    #[doc = "If set to \'1\' it indicates that the Rx packet buffer has an overflow.\nThis event bit contributes to ftdf_ce\\[1\\]."]
6021    #[inline(always)]
6022    pub fn rx_overflow_e(
6023        self,
6024    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6025        crate::common::RegisterFieldBool::<1,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6026    }
6027
6028    #[doc = "Set to \'1\' when RX_SOF has been detected.\nThis event bit contributes to ftdf_ce\\[1\\]."]
6029    #[inline(always)]
6030    pub fn rxsof_e(
6031        self,
6032    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6033        crate::common::RegisterFieldBool::<0,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6034    }
6035}
6036impl ::core::default::Default for FtdfRxEventReg {
6037    #[inline(always)]
6038    fn default() -> FtdfRxEventReg {
6039        <crate::RegValueT<FtdfRxEventReg_SPEC> as RegisterValue<_>>::new(0)
6040    }
6041}
6042
6043#[doc(hidden)]
6044#[derive(Copy, Clone, Eq, PartialEq)]
6045pub struct FtdfRxFifo00Reg_SPEC;
6046impl crate::sealed::RegSpec for FtdfRxFifo00Reg_SPEC {
6047    type DataType = u32;
6048}
6049
6050#[doc = "Address receive fifo 0"]
6051pub type FtdfRxFifo00Reg = crate::RegValueT<FtdfRxFifo00Reg_SPEC>;
6052
6053impl FtdfRxFifo00Reg {
6054    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6055    #[inline(always)]
6056    pub fn rx_fifo(
6057        self,
6058    ) -> crate::common::RegisterField<
6059        0,
6060        0xffffffff,
6061        1,
6062        0,
6063        u32,
6064        u32,
6065        FtdfRxFifo00Reg_SPEC,
6066        crate::common::RW,
6067    > {
6068        crate::common::RegisterField::<
6069            0,
6070            0xffffffff,
6071            1,
6072            0,
6073            u32,
6074            u32,
6075            FtdfRxFifo00Reg_SPEC,
6076            crate::common::RW,
6077        >::from_register(self, 0)
6078    }
6079}
6080impl ::core::default::Default for FtdfRxFifo00Reg {
6081    #[inline(always)]
6082    fn default() -> FtdfRxFifo00Reg {
6083        <crate::RegValueT<FtdfRxFifo00Reg_SPEC> as RegisterValue<_>>::new(0)
6084    }
6085}
6086
6087#[doc(hidden)]
6088#[derive(Copy, Clone, Eq, PartialEq)]
6089pub struct FtdfRxFifo10Reg_SPEC;
6090impl crate::sealed::RegSpec for FtdfRxFifo10Reg_SPEC {
6091    type DataType = u32;
6092}
6093
6094#[doc = "Address transmit fifo 1"]
6095pub type FtdfRxFifo10Reg = crate::RegValueT<FtdfRxFifo10Reg_SPEC>;
6096
6097impl FtdfRxFifo10Reg {
6098    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6099    #[inline(always)]
6100    pub fn rx_fifo(
6101        self,
6102    ) -> crate::common::RegisterField<
6103        0,
6104        0xffffffff,
6105        1,
6106        0,
6107        u32,
6108        u32,
6109        FtdfRxFifo10Reg_SPEC,
6110        crate::common::RW,
6111    > {
6112        crate::common::RegisterField::<
6113            0,
6114            0xffffffff,
6115            1,
6116            0,
6117            u32,
6118            u32,
6119            FtdfRxFifo10Reg_SPEC,
6120            crate::common::RW,
6121        >::from_register(self, 0)
6122    }
6123}
6124impl ::core::default::Default for FtdfRxFifo10Reg {
6125    #[inline(always)]
6126    fn default() -> FtdfRxFifo10Reg {
6127        <crate::RegValueT<FtdfRxFifo10Reg_SPEC> as RegisterValue<_>>::new(0)
6128    }
6129}
6130
6131#[doc(hidden)]
6132#[derive(Copy, Clone, Eq, PartialEq)]
6133pub struct FtdfRxFifo20Reg_SPEC;
6134impl crate::sealed::RegSpec for FtdfRxFifo20Reg_SPEC {
6135    type DataType = u32;
6136}
6137
6138#[doc = "Address transmit fifo 2"]
6139pub type FtdfRxFifo20Reg = crate::RegValueT<FtdfRxFifo20Reg_SPEC>;
6140
6141impl FtdfRxFifo20Reg {
6142    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6143    #[inline(always)]
6144    pub fn rx_fifo(
6145        self,
6146    ) -> crate::common::RegisterField<
6147        0,
6148        0xffffffff,
6149        1,
6150        0,
6151        u32,
6152        u32,
6153        FtdfRxFifo20Reg_SPEC,
6154        crate::common::RW,
6155    > {
6156        crate::common::RegisterField::<
6157            0,
6158            0xffffffff,
6159            1,
6160            0,
6161            u32,
6162            u32,
6163            FtdfRxFifo20Reg_SPEC,
6164            crate::common::RW,
6165        >::from_register(self, 0)
6166    }
6167}
6168impl ::core::default::Default for FtdfRxFifo20Reg {
6169    #[inline(always)]
6170    fn default() -> FtdfRxFifo20Reg {
6171        <crate::RegValueT<FtdfRxFifo20Reg_SPEC> as RegisterValue<_>>::new(0)
6172    }
6173}
6174
6175#[doc(hidden)]
6176#[derive(Copy, Clone, Eq, PartialEq)]
6177pub struct FtdfRxFifo30Reg_SPEC;
6178impl crate::sealed::RegSpec for FtdfRxFifo30Reg_SPEC {
6179    type DataType = u32;
6180}
6181
6182#[doc = "Address transmit fifo 3"]
6183pub type FtdfRxFifo30Reg = crate::RegValueT<FtdfRxFifo30Reg_SPEC>;
6184
6185impl FtdfRxFifo30Reg {
6186    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6187    #[inline(always)]
6188    pub fn rx_fifo(
6189        self,
6190    ) -> crate::common::RegisterField<
6191        0,
6192        0xffffffff,
6193        1,
6194        0,
6195        u32,
6196        u32,
6197        FtdfRxFifo30Reg_SPEC,
6198        crate::common::RW,
6199    > {
6200        crate::common::RegisterField::<
6201            0,
6202            0xffffffff,
6203            1,
6204            0,
6205            u32,
6206            u32,
6207            FtdfRxFifo30Reg_SPEC,
6208            crate::common::RW,
6209        >::from_register(self, 0)
6210    }
6211}
6212impl ::core::default::Default for FtdfRxFifo30Reg {
6213    #[inline(always)]
6214    fn default() -> FtdfRxFifo30Reg {
6215        <crate::RegValueT<FtdfRxFifo30Reg_SPEC> as RegisterValue<_>>::new(0)
6216    }
6217}
6218
6219#[doc(hidden)]
6220#[derive(Copy, Clone, Eq, PartialEq)]
6221pub struct FtdfRxFifo40Reg_SPEC;
6222impl crate::sealed::RegSpec for FtdfRxFifo40Reg_SPEC {
6223    type DataType = u32;
6224}
6225
6226#[doc = "Address transmit fifo 4"]
6227pub type FtdfRxFifo40Reg = crate::RegValueT<FtdfRxFifo40Reg_SPEC>;
6228
6229impl FtdfRxFifo40Reg {
6230    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6231    #[inline(always)]
6232    pub fn rx_fifo(
6233        self,
6234    ) -> crate::common::RegisterField<
6235        0,
6236        0xffffffff,
6237        1,
6238        0,
6239        u32,
6240        u32,
6241        FtdfRxFifo40Reg_SPEC,
6242        crate::common::RW,
6243    > {
6244        crate::common::RegisterField::<
6245            0,
6246            0xffffffff,
6247            1,
6248            0,
6249            u32,
6250            u32,
6251            FtdfRxFifo40Reg_SPEC,
6252            crate::common::RW,
6253        >::from_register(self, 0)
6254    }
6255}
6256impl ::core::default::Default for FtdfRxFifo40Reg {
6257    #[inline(always)]
6258    fn default() -> FtdfRxFifo40Reg {
6259        <crate::RegValueT<FtdfRxFifo40Reg_SPEC> as RegisterValue<_>>::new(0)
6260    }
6261}
6262
6263#[doc(hidden)]
6264#[derive(Copy, Clone, Eq, PartialEq)]
6265pub struct FtdfRxFifo50Reg_SPEC;
6266impl crate::sealed::RegSpec for FtdfRxFifo50Reg_SPEC {
6267    type DataType = u32;
6268}
6269
6270#[doc = "Address transmit fifo 5"]
6271pub type FtdfRxFifo50Reg = crate::RegValueT<FtdfRxFifo50Reg_SPEC>;
6272
6273impl FtdfRxFifo50Reg {
6274    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6275    #[inline(always)]
6276    pub fn rx_fifo(
6277        self,
6278    ) -> crate::common::RegisterField<
6279        0,
6280        0xffffffff,
6281        1,
6282        0,
6283        u32,
6284        u32,
6285        FtdfRxFifo50Reg_SPEC,
6286        crate::common::RW,
6287    > {
6288        crate::common::RegisterField::<
6289            0,
6290            0xffffffff,
6291            1,
6292            0,
6293            u32,
6294            u32,
6295            FtdfRxFifo50Reg_SPEC,
6296            crate::common::RW,
6297        >::from_register(self, 0)
6298    }
6299}
6300impl ::core::default::Default for FtdfRxFifo50Reg {
6301    #[inline(always)]
6302    fn default() -> FtdfRxFifo50Reg {
6303        <crate::RegValueT<FtdfRxFifo50Reg_SPEC> as RegisterValue<_>>::new(0)
6304    }
6305}
6306
6307#[doc(hidden)]
6308#[derive(Copy, Clone, Eq, PartialEq)]
6309pub struct FtdfRxFifo60Reg_SPEC;
6310impl crate::sealed::RegSpec for FtdfRxFifo60Reg_SPEC {
6311    type DataType = u32;
6312}
6313
6314#[doc = "Address transmit fifo 6"]
6315pub type FtdfRxFifo60Reg = crate::RegValueT<FtdfRxFifo60Reg_SPEC>;
6316
6317impl FtdfRxFifo60Reg {
6318    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6319    #[inline(always)]
6320    pub fn rx_fifo(
6321        self,
6322    ) -> crate::common::RegisterField<
6323        0,
6324        0xffffffff,
6325        1,
6326        0,
6327        u32,
6328        u32,
6329        FtdfRxFifo60Reg_SPEC,
6330        crate::common::RW,
6331    > {
6332        crate::common::RegisterField::<
6333            0,
6334            0xffffffff,
6335            1,
6336            0,
6337            u32,
6338            u32,
6339            FtdfRxFifo60Reg_SPEC,
6340            crate::common::RW,
6341        >::from_register(self, 0)
6342    }
6343}
6344impl ::core::default::Default for FtdfRxFifo60Reg {
6345    #[inline(always)]
6346    fn default() -> FtdfRxFifo60Reg {
6347        <crate::RegValueT<FtdfRxFifo60Reg_SPEC> as RegisterValue<_>>::new(0)
6348    }
6349}
6350
6351#[doc(hidden)]
6352#[derive(Copy, Clone, Eq, PartialEq)]
6353pub struct FtdfRxFifo70Reg_SPEC;
6354impl crate::sealed::RegSpec for FtdfRxFifo70Reg_SPEC {
6355    type DataType = u32;
6356}
6357
6358#[doc = "Address transmit fifo 7"]
6359pub type FtdfRxFifo70Reg = crate::RegValueT<FtdfRxFifo70Reg_SPEC>;
6360
6361impl FtdfRxFifo70Reg {
6362    #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6363    #[inline(always)]
6364    pub fn rx_fifo(
6365        self,
6366    ) -> crate::common::RegisterField<
6367        0,
6368        0xffffffff,
6369        1,
6370        0,
6371        u32,
6372        u32,
6373        FtdfRxFifo70Reg_SPEC,
6374        crate::common::RW,
6375    > {
6376        crate::common::RegisterField::<
6377            0,
6378            0xffffffff,
6379            1,
6380            0,
6381            u32,
6382            u32,
6383            FtdfRxFifo70Reg_SPEC,
6384            crate::common::RW,
6385        >::from_register(self, 0)
6386    }
6387}
6388impl ::core::default::Default for FtdfRxFifo70Reg {
6389    #[inline(always)]
6390    fn default() -> FtdfRxFifo70Reg {
6391        <crate::RegValueT<FtdfRxFifo70Reg_SPEC> as RegisterValue<_>>::new(0)
6392    }
6393}
6394
6395#[doc(hidden)]
6396#[derive(Copy, Clone, Eq, PartialEq)]
6397pub struct FtdfRxMaskReg_SPEC;
6398impl crate::sealed::RegSpec for FtdfRxMaskReg_SPEC {
6399    type DataType = u32;
6400}
6401
6402#[doc = "Receive event mask register"]
6403pub type FtdfRxMaskReg = crate::RegValueT<FtdfRxMaskReg_SPEC>;
6404
6405impl FtdfRxMaskReg {
6406    #[doc = "Mask bit for event rxbyte_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6407    #[inline(always)]
6408    pub fn rxbyte_m(
6409        self,
6410    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6411        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6412    }
6413
6414    #[doc = "Mask bit for event rx_buf_avail_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6415    #[inline(always)]
6416    pub fn rx_buf_avail_m(
6417        self,
6418    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6419        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6420    }
6421
6422    #[doc = "Mask bit for event rx_overflow_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6423    #[inline(always)]
6424    pub fn rx_overflow_m(
6425        self,
6426    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6427        crate::common::RegisterFieldBool::<1,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6428    }
6429
6430    #[doc = "Mask bit for event RxSof_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6431    #[inline(always)]
6432    pub fn rxsof_m(
6433        self,
6434    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6435        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6436    }
6437}
6438impl ::core::default::Default for FtdfRxMaskReg {
6439    #[inline(always)]
6440    fn default() -> FtdfRxMaskReg {
6441        <crate::RegValueT<FtdfRxMaskReg_SPEC> as RegisterValue<_>>::new(0)
6442    }
6443}
6444
6445#[doc(hidden)]
6446#[derive(Copy, Clone, Eq, PartialEq)]
6447pub struct FtdfRxMeta00Reg_SPEC;
6448impl crate::sealed::RegSpec for FtdfRxMeta00Reg_SPEC {
6449    type DataType = u32;
6450}
6451
6452#[doc = "Receive metadata register 0"]
6453pub type FtdfRxMeta00Reg = crate::RegValueT<FtdfRxMeta00Reg_SPEC>;
6454
6455impl FtdfRxMeta00Reg {
6456    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6457    #[inline(always)]
6458    pub fn rx_timestamp(
6459        self,
6460    ) -> crate::common::RegisterField<
6461        0,
6462        0xffffffff,
6463        1,
6464        0,
6465        u32,
6466        u32,
6467        FtdfRxMeta00Reg_SPEC,
6468        crate::common::R,
6469    > {
6470        crate::common::RegisterField::<
6471            0,
6472            0xffffffff,
6473            1,
6474            0,
6475            u32,
6476            u32,
6477            FtdfRxMeta00Reg_SPEC,
6478            crate::common::R,
6479        >::from_register(self, 0)
6480    }
6481}
6482impl ::core::default::Default for FtdfRxMeta00Reg {
6483    #[inline(always)]
6484    fn default() -> FtdfRxMeta00Reg {
6485        <crate::RegValueT<FtdfRxMeta00Reg_SPEC> as RegisterValue<_>>::new(0)
6486    }
6487}
6488
6489#[doc(hidden)]
6490#[derive(Copy, Clone, Eq, PartialEq)]
6491pub struct FtdfRxMeta01Reg_SPEC;
6492impl crate::sealed::RegSpec for FtdfRxMeta01Reg_SPEC {
6493    type DataType = u32;
6494}
6495
6496#[doc = "Receive metadata register 1"]
6497pub type FtdfRxMeta01Reg = crate::RegValueT<FtdfRxMeta01Reg_SPEC>;
6498
6499impl FtdfRxMeta01Reg {
6500    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6501    #[inline(always)]
6502    pub fn rx_timestamp(
6503        self,
6504    ) -> crate::common::RegisterField<
6505        0,
6506        0xffffffff,
6507        1,
6508        0,
6509        u32,
6510        u32,
6511        FtdfRxMeta01Reg_SPEC,
6512        crate::common::R,
6513    > {
6514        crate::common::RegisterField::<
6515            0,
6516            0xffffffff,
6517            1,
6518            0,
6519            u32,
6520            u32,
6521            FtdfRxMeta01Reg_SPEC,
6522            crate::common::R,
6523        >::from_register(self, 0)
6524    }
6525}
6526impl ::core::default::Default for FtdfRxMeta01Reg {
6527    #[inline(always)]
6528    fn default() -> FtdfRxMeta01Reg {
6529        <crate::RegValueT<FtdfRxMeta01Reg_SPEC> as RegisterValue<_>>::new(0)
6530    }
6531}
6532
6533#[doc(hidden)]
6534#[derive(Copy, Clone, Eq, PartialEq)]
6535pub struct FtdfRxMeta02Reg_SPEC;
6536impl crate::sealed::RegSpec for FtdfRxMeta02Reg_SPEC {
6537    type DataType = u32;
6538}
6539
6540#[doc = "Receive metadata register 2"]
6541pub type FtdfRxMeta02Reg = crate::RegValueT<FtdfRxMeta02Reg_SPEC>;
6542
6543impl FtdfRxMeta02Reg {
6544    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6545    #[inline(always)]
6546    pub fn rx_timestamp(
6547        self,
6548    ) -> crate::common::RegisterField<
6549        0,
6550        0xffffffff,
6551        1,
6552        0,
6553        u32,
6554        u32,
6555        FtdfRxMeta02Reg_SPEC,
6556        crate::common::R,
6557    > {
6558        crate::common::RegisterField::<
6559            0,
6560            0xffffffff,
6561            1,
6562            0,
6563            u32,
6564            u32,
6565            FtdfRxMeta02Reg_SPEC,
6566            crate::common::R,
6567        >::from_register(self, 0)
6568    }
6569}
6570impl ::core::default::Default for FtdfRxMeta02Reg {
6571    #[inline(always)]
6572    fn default() -> FtdfRxMeta02Reg {
6573        <crate::RegValueT<FtdfRxMeta02Reg_SPEC> as RegisterValue<_>>::new(0)
6574    }
6575}
6576
6577#[doc(hidden)]
6578#[derive(Copy, Clone, Eq, PartialEq)]
6579pub struct FtdfRxMeta03Reg_SPEC;
6580impl crate::sealed::RegSpec for FtdfRxMeta03Reg_SPEC {
6581    type DataType = u32;
6582}
6583
6584#[doc = "Receive metadata register 3"]
6585pub type FtdfRxMeta03Reg = crate::RegValueT<FtdfRxMeta03Reg_SPEC>;
6586
6587impl FtdfRxMeta03Reg {
6588    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6589    #[inline(always)]
6590    pub fn rx_timestamp(
6591        self,
6592    ) -> crate::common::RegisterField<
6593        0,
6594        0xffffffff,
6595        1,
6596        0,
6597        u32,
6598        u32,
6599        FtdfRxMeta03Reg_SPEC,
6600        crate::common::R,
6601    > {
6602        crate::common::RegisterField::<
6603            0,
6604            0xffffffff,
6605            1,
6606            0,
6607            u32,
6608            u32,
6609            FtdfRxMeta03Reg_SPEC,
6610            crate::common::R,
6611        >::from_register(self, 0)
6612    }
6613}
6614impl ::core::default::Default for FtdfRxMeta03Reg {
6615    #[inline(always)]
6616    fn default() -> FtdfRxMeta03Reg {
6617        <crate::RegValueT<FtdfRxMeta03Reg_SPEC> as RegisterValue<_>>::new(0)
6618    }
6619}
6620
6621#[doc(hidden)]
6622#[derive(Copy, Clone, Eq, PartialEq)]
6623pub struct FtdfRxMeta04Reg_SPEC;
6624impl crate::sealed::RegSpec for FtdfRxMeta04Reg_SPEC {
6625    type DataType = u32;
6626}
6627
6628#[doc = "Receive metadata register 4"]
6629pub type FtdfRxMeta04Reg = crate::RegValueT<FtdfRxMeta04Reg_SPEC>;
6630
6631impl FtdfRxMeta04Reg {
6632    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6633    #[inline(always)]
6634    pub fn rx_timestamp(
6635        self,
6636    ) -> crate::common::RegisterField<
6637        0,
6638        0xffffffff,
6639        1,
6640        0,
6641        u32,
6642        u32,
6643        FtdfRxMeta04Reg_SPEC,
6644        crate::common::R,
6645    > {
6646        crate::common::RegisterField::<
6647            0,
6648            0xffffffff,
6649            1,
6650            0,
6651            u32,
6652            u32,
6653            FtdfRxMeta04Reg_SPEC,
6654            crate::common::R,
6655        >::from_register(self, 0)
6656    }
6657}
6658impl ::core::default::Default for FtdfRxMeta04Reg {
6659    #[inline(always)]
6660    fn default() -> FtdfRxMeta04Reg {
6661        <crate::RegValueT<FtdfRxMeta04Reg_SPEC> as RegisterValue<_>>::new(0)
6662    }
6663}
6664
6665#[doc(hidden)]
6666#[derive(Copy, Clone, Eq, PartialEq)]
6667pub struct FtdfRxMeta05Reg_SPEC;
6668impl crate::sealed::RegSpec for FtdfRxMeta05Reg_SPEC {
6669    type DataType = u32;
6670}
6671
6672#[doc = "Receive metadata register 5"]
6673pub type FtdfRxMeta05Reg = crate::RegValueT<FtdfRxMeta05Reg_SPEC>;
6674
6675impl FtdfRxMeta05Reg {
6676    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6677    #[inline(always)]
6678    pub fn rx_timestamp(
6679        self,
6680    ) -> crate::common::RegisterField<
6681        0,
6682        0xffffffff,
6683        1,
6684        0,
6685        u32,
6686        u32,
6687        FtdfRxMeta05Reg_SPEC,
6688        crate::common::R,
6689    > {
6690        crate::common::RegisterField::<
6691            0,
6692            0xffffffff,
6693            1,
6694            0,
6695            u32,
6696            u32,
6697            FtdfRxMeta05Reg_SPEC,
6698            crate::common::R,
6699        >::from_register(self, 0)
6700    }
6701}
6702impl ::core::default::Default for FtdfRxMeta05Reg {
6703    #[inline(always)]
6704    fn default() -> FtdfRxMeta05Reg {
6705        <crate::RegValueT<FtdfRxMeta05Reg_SPEC> as RegisterValue<_>>::new(0)
6706    }
6707}
6708
6709#[doc(hidden)]
6710#[derive(Copy, Clone, Eq, PartialEq)]
6711pub struct FtdfRxMeta06Reg_SPEC;
6712impl crate::sealed::RegSpec for FtdfRxMeta06Reg_SPEC {
6713    type DataType = u32;
6714}
6715
6716#[doc = "Receive metadata register 6"]
6717pub type FtdfRxMeta06Reg = crate::RegValueT<FtdfRxMeta06Reg_SPEC>;
6718
6719impl FtdfRxMeta06Reg {
6720    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6721    #[inline(always)]
6722    pub fn rx_timestamp(
6723        self,
6724    ) -> crate::common::RegisterField<
6725        0,
6726        0xffffffff,
6727        1,
6728        0,
6729        u32,
6730        u32,
6731        FtdfRxMeta06Reg_SPEC,
6732        crate::common::R,
6733    > {
6734        crate::common::RegisterField::<
6735            0,
6736            0xffffffff,
6737            1,
6738            0,
6739            u32,
6740            u32,
6741            FtdfRxMeta06Reg_SPEC,
6742            crate::common::R,
6743        >::from_register(self, 0)
6744    }
6745}
6746impl ::core::default::Default for FtdfRxMeta06Reg {
6747    #[inline(always)]
6748    fn default() -> FtdfRxMeta06Reg {
6749        <crate::RegValueT<FtdfRxMeta06Reg_SPEC> as RegisterValue<_>>::new(0)
6750    }
6751}
6752
6753#[doc(hidden)]
6754#[derive(Copy, Clone, Eq, PartialEq)]
6755pub struct FtdfRxMeta07Reg_SPEC;
6756impl crate::sealed::RegSpec for FtdfRxMeta07Reg_SPEC {
6757    type DataType = u32;
6758}
6759
6760#[doc = "Receive metadata register 7"]
6761pub type FtdfRxMeta07Reg = crate::RegValueT<FtdfRxMeta07Reg_SPEC>;
6762
6763impl FtdfRxMeta07Reg {
6764    #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6765    #[inline(always)]
6766    pub fn rx_timestamp(
6767        self,
6768    ) -> crate::common::RegisterField<
6769        0,
6770        0xffffffff,
6771        1,
6772        0,
6773        u32,
6774        u32,
6775        FtdfRxMeta07Reg_SPEC,
6776        crate::common::R,
6777    > {
6778        crate::common::RegisterField::<
6779            0,
6780            0xffffffff,
6781            1,
6782            0,
6783            u32,
6784            u32,
6785            FtdfRxMeta07Reg_SPEC,
6786            crate::common::R,
6787        >::from_register(self, 0)
6788    }
6789}
6790impl ::core::default::Default for FtdfRxMeta07Reg {
6791    #[inline(always)]
6792    fn default() -> FtdfRxMeta07Reg {
6793        <crate::RegValueT<FtdfRxMeta07Reg_SPEC> as RegisterValue<_>>::new(0)
6794    }
6795}
6796
6797#[doc(hidden)]
6798#[derive(Copy, Clone, Eq, PartialEq)]
6799pub struct FtdfRxMeta10Reg_SPEC;
6800impl crate::sealed::RegSpec for FtdfRxMeta10Reg_SPEC {
6801    type DataType = u32;
6802}
6803
6804#[doc = "Receive metadata register 0"]
6805pub type FtdfRxMeta10Reg = crate::RegValueT<FtdfRxMeta10Reg_SPEC>;
6806
6807impl FtdfRxMeta10Reg {
6808    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
6809    #[inline(always)]
6810    pub fn quality_indicator(
6811        self,
6812    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta10Reg_SPEC, crate::common::R>
6813    {
6814        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6815    }
6816
6817    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
6818    #[inline(always)]
6819    pub fn ispanid_coord_error(
6820        self,
6821    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6822        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6823    }
6824
6825    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
6826    #[inline(always)]
6827    pub fn spanid_error(
6828        self,
6829    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6830        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6831    }
6832
6833    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
6834    #[inline(always)]
6835    pub fn daddr_error(
6836        self,
6837    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6838        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6839    }
6840
6841    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
6842    #[inline(always)]
6843    pub fn dpanid_error(
6844        self,
6845    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6846        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6847    }
6848
6849    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
6850    #[inline(always)]
6851    pub fn res_frm_version_error(
6852        self,
6853    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6854        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6855    }
6856
6857    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
6858    #[inline(always)]
6859    pub fn res_frm_type_error(
6860        self,
6861    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6862        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6863    }
6864
6865    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
6866    #[inline(always)]
6867    pub fn crc16_error(
6868        self,
6869    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6870        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6871    }
6872}
6873impl ::core::default::Default for FtdfRxMeta10Reg {
6874    #[inline(always)]
6875    fn default() -> FtdfRxMeta10Reg {
6876        <crate::RegValueT<FtdfRxMeta10Reg_SPEC> as RegisterValue<_>>::new(0)
6877    }
6878}
6879
6880#[doc(hidden)]
6881#[derive(Copy, Clone, Eq, PartialEq)]
6882pub struct FtdfRxMeta11Reg_SPEC;
6883impl crate::sealed::RegSpec for FtdfRxMeta11Reg_SPEC {
6884    type DataType = u32;
6885}
6886
6887#[doc = "Receive metadata register 1"]
6888pub type FtdfRxMeta11Reg = crate::RegValueT<FtdfRxMeta11Reg_SPEC>;
6889
6890impl FtdfRxMeta11Reg {
6891    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
6892    #[inline(always)]
6893    pub fn quality_indicator(
6894        self,
6895    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta11Reg_SPEC, crate::common::R>
6896    {
6897        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6898    }
6899
6900    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
6901    #[inline(always)]
6902    pub fn ispanid_coord_error(
6903        self,
6904    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6905        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6906    }
6907
6908    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
6909    #[inline(always)]
6910    pub fn spanid_error(
6911        self,
6912    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6913        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6914    }
6915
6916    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
6917    #[inline(always)]
6918    pub fn daddr_error(
6919        self,
6920    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6921        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6922    }
6923
6924    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
6925    #[inline(always)]
6926    pub fn dpanid_error(
6927        self,
6928    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6929        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6930    }
6931
6932    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
6933    #[inline(always)]
6934    pub fn res_frm_version_error(
6935        self,
6936    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6937        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6938    }
6939
6940    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
6941    #[inline(always)]
6942    pub fn res_frm_type_error(
6943        self,
6944    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6945        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6946    }
6947
6948    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
6949    #[inline(always)]
6950    pub fn crc16_error(
6951        self,
6952    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6953        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6954    }
6955}
6956impl ::core::default::Default for FtdfRxMeta11Reg {
6957    #[inline(always)]
6958    fn default() -> FtdfRxMeta11Reg {
6959        <crate::RegValueT<FtdfRxMeta11Reg_SPEC> as RegisterValue<_>>::new(0)
6960    }
6961}
6962
6963#[doc(hidden)]
6964#[derive(Copy, Clone, Eq, PartialEq)]
6965pub struct FtdfRxMeta12Reg_SPEC;
6966impl crate::sealed::RegSpec for FtdfRxMeta12Reg_SPEC {
6967    type DataType = u32;
6968}
6969
6970#[doc = "Receive metadata register 2"]
6971pub type FtdfRxMeta12Reg = crate::RegValueT<FtdfRxMeta12Reg_SPEC>;
6972
6973impl FtdfRxMeta12Reg {
6974    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
6975    #[inline(always)]
6976    pub fn quality_indicator(
6977        self,
6978    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta12Reg_SPEC, crate::common::R>
6979    {
6980        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
6981    }
6982
6983    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
6984    #[inline(always)]
6985    pub fn ispanid_coord_error(
6986        self,
6987    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
6988        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
6989    }
6990
6991    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
6992    #[inline(always)]
6993    pub fn spanid_error(
6994        self,
6995    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
6996        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
6997    }
6998
6999    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7000    #[inline(always)]
7001    pub fn daddr_error(
7002        self,
7003    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7004        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7005    }
7006
7007    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7008    #[inline(always)]
7009    pub fn dpanid_error(
7010        self,
7011    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7012        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7013    }
7014
7015    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7016    #[inline(always)]
7017    pub fn res_frm_version_error(
7018        self,
7019    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7020        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7021    }
7022
7023    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7024    #[inline(always)]
7025    pub fn res_frm_type_error(
7026        self,
7027    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7028        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7029    }
7030
7031    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7032    #[inline(always)]
7033    pub fn crc16_error(
7034        self,
7035    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7036        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7037    }
7038}
7039impl ::core::default::Default for FtdfRxMeta12Reg {
7040    #[inline(always)]
7041    fn default() -> FtdfRxMeta12Reg {
7042        <crate::RegValueT<FtdfRxMeta12Reg_SPEC> as RegisterValue<_>>::new(0)
7043    }
7044}
7045
7046#[doc(hidden)]
7047#[derive(Copy, Clone, Eq, PartialEq)]
7048pub struct FtdfRxMeta13Reg_SPEC;
7049impl crate::sealed::RegSpec for FtdfRxMeta13Reg_SPEC {
7050    type DataType = u32;
7051}
7052
7053#[doc = "Receive metadata register 3"]
7054pub type FtdfRxMeta13Reg = crate::RegValueT<FtdfRxMeta13Reg_SPEC>;
7055
7056impl FtdfRxMeta13Reg {
7057    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7058    #[inline(always)]
7059    pub fn quality_indicator(
7060        self,
7061    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta13Reg_SPEC, crate::common::R>
7062    {
7063        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7064    }
7065
7066    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7067    #[inline(always)]
7068    pub fn ispanid_coord_error(
7069        self,
7070    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7071        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7072    }
7073
7074    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7075    #[inline(always)]
7076    pub fn spanid_error(
7077        self,
7078    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7079        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7080    }
7081
7082    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7083    #[inline(always)]
7084    pub fn daddr_error(
7085        self,
7086    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7087        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7088    }
7089
7090    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7091    #[inline(always)]
7092    pub fn dpanid_error(
7093        self,
7094    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7095        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7096    }
7097
7098    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7099    #[inline(always)]
7100    pub fn res_frm_version_error(
7101        self,
7102    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7103        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7104    }
7105
7106    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7107    #[inline(always)]
7108    pub fn res_frm_type_error(
7109        self,
7110    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7111        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7112    }
7113
7114    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7115    #[inline(always)]
7116    pub fn crc16_error(
7117        self,
7118    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7119        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7120    }
7121}
7122impl ::core::default::Default for FtdfRxMeta13Reg {
7123    #[inline(always)]
7124    fn default() -> FtdfRxMeta13Reg {
7125        <crate::RegValueT<FtdfRxMeta13Reg_SPEC> as RegisterValue<_>>::new(0)
7126    }
7127}
7128
7129#[doc(hidden)]
7130#[derive(Copy, Clone, Eq, PartialEq)]
7131pub struct FtdfRxMeta14Reg_SPEC;
7132impl crate::sealed::RegSpec for FtdfRxMeta14Reg_SPEC {
7133    type DataType = u32;
7134}
7135
7136#[doc = "Receive metadata register 4"]
7137pub type FtdfRxMeta14Reg = crate::RegValueT<FtdfRxMeta14Reg_SPEC>;
7138
7139impl FtdfRxMeta14Reg {
7140    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7141    #[inline(always)]
7142    pub fn quality_indicator(
7143        self,
7144    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta14Reg_SPEC, crate::common::R>
7145    {
7146        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7147    }
7148
7149    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7150    #[inline(always)]
7151    pub fn ispanid_coord_error(
7152        self,
7153    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7154        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7155    }
7156
7157    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7158    #[inline(always)]
7159    pub fn spanid_error(
7160        self,
7161    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7162        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7163    }
7164
7165    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7166    #[inline(always)]
7167    pub fn daddr_error(
7168        self,
7169    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7170        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7171    }
7172
7173    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7174    #[inline(always)]
7175    pub fn dpanid_error(
7176        self,
7177    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7178        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7179    }
7180
7181    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7182    #[inline(always)]
7183    pub fn res_frm_version_error(
7184        self,
7185    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7186        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7187    }
7188
7189    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7190    #[inline(always)]
7191    pub fn res_frm_type_error(
7192        self,
7193    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7194        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7195    }
7196
7197    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7198    #[inline(always)]
7199    pub fn crc16_error(
7200        self,
7201    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7202        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7203    }
7204}
7205impl ::core::default::Default for FtdfRxMeta14Reg {
7206    #[inline(always)]
7207    fn default() -> FtdfRxMeta14Reg {
7208        <crate::RegValueT<FtdfRxMeta14Reg_SPEC> as RegisterValue<_>>::new(0)
7209    }
7210}
7211
7212#[doc(hidden)]
7213#[derive(Copy, Clone, Eq, PartialEq)]
7214pub struct FtdfRxMeta15Reg_SPEC;
7215impl crate::sealed::RegSpec for FtdfRxMeta15Reg_SPEC {
7216    type DataType = u32;
7217}
7218
7219#[doc = "Receive metadata register 5"]
7220pub type FtdfRxMeta15Reg = crate::RegValueT<FtdfRxMeta15Reg_SPEC>;
7221
7222impl FtdfRxMeta15Reg {
7223    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7224    #[inline(always)]
7225    pub fn quality_indicator(
7226        self,
7227    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta15Reg_SPEC, crate::common::R>
7228    {
7229        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7230    }
7231
7232    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7233    #[inline(always)]
7234    pub fn ispanid_coord_error(
7235        self,
7236    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7237        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7238    }
7239
7240    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7241    #[inline(always)]
7242    pub fn spanid_error(
7243        self,
7244    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7245        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7246    }
7247
7248    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7249    #[inline(always)]
7250    pub fn daddr_error(
7251        self,
7252    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7253        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7254    }
7255
7256    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7257    #[inline(always)]
7258    pub fn dpanid_error(
7259        self,
7260    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7261        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7262    }
7263
7264    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7265    #[inline(always)]
7266    pub fn res_frm_version_error(
7267        self,
7268    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7269        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7270    }
7271
7272    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7273    #[inline(always)]
7274    pub fn res_frm_type_error(
7275        self,
7276    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7277        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7278    }
7279
7280    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7281    #[inline(always)]
7282    pub fn crc16_error(
7283        self,
7284    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7285        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7286    }
7287}
7288impl ::core::default::Default for FtdfRxMeta15Reg {
7289    #[inline(always)]
7290    fn default() -> FtdfRxMeta15Reg {
7291        <crate::RegValueT<FtdfRxMeta15Reg_SPEC> as RegisterValue<_>>::new(0)
7292    }
7293}
7294
7295#[doc(hidden)]
7296#[derive(Copy, Clone, Eq, PartialEq)]
7297pub struct FtdfRxMeta16Reg_SPEC;
7298impl crate::sealed::RegSpec for FtdfRxMeta16Reg_SPEC {
7299    type DataType = u32;
7300}
7301
7302#[doc = "Receive metadata register 6"]
7303pub type FtdfRxMeta16Reg = crate::RegValueT<FtdfRxMeta16Reg_SPEC>;
7304
7305impl FtdfRxMeta16Reg {
7306    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7307    #[inline(always)]
7308    pub fn quality_indicator(
7309        self,
7310    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta16Reg_SPEC, crate::common::R>
7311    {
7312        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7313    }
7314
7315    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7316    #[inline(always)]
7317    pub fn ispanid_coord_error(
7318        self,
7319    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7320        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7321    }
7322
7323    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7324    #[inline(always)]
7325    pub fn spanid_error(
7326        self,
7327    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7328        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7329    }
7330
7331    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7332    #[inline(always)]
7333    pub fn daddr_error(
7334        self,
7335    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7336        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7337    }
7338
7339    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7340    #[inline(always)]
7341    pub fn dpanid_error(
7342        self,
7343    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7344        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7345    }
7346
7347    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7348    #[inline(always)]
7349    pub fn res_frm_version_error(
7350        self,
7351    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7352        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7353    }
7354
7355    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7356    #[inline(always)]
7357    pub fn res_frm_type_error(
7358        self,
7359    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7360        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7361    }
7362
7363    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7364    #[inline(always)]
7365    pub fn crc16_error(
7366        self,
7367    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7368        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7369    }
7370}
7371impl ::core::default::Default for FtdfRxMeta16Reg {
7372    #[inline(always)]
7373    fn default() -> FtdfRxMeta16Reg {
7374        <crate::RegValueT<FtdfRxMeta16Reg_SPEC> as RegisterValue<_>>::new(0)
7375    }
7376}
7377
7378#[doc(hidden)]
7379#[derive(Copy, Clone, Eq, PartialEq)]
7380pub struct FtdfRxMeta17Reg_SPEC;
7381impl crate::sealed::RegSpec for FtdfRxMeta17Reg_SPEC {
7382    type DataType = u32;
7383}
7384
7385#[doc = "Receive metadata register 7"]
7386pub type FtdfRxMeta17Reg = crate::RegValueT<FtdfRxMeta17Reg_SPEC>;
7387
7388impl FtdfRxMeta17Reg {
7389    #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7390    #[inline(always)]
7391    pub fn quality_indicator(
7392        self,
7393    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta17Reg_SPEC, crate::common::R>
7394    {
7395        crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7396    }
7397
7398    #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7399    #[inline(always)]
7400    pub fn ispanid_coord_error(
7401        self,
7402    ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7403        crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7404    }
7405
7406    #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7407    #[inline(always)]
7408    pub fn spanid_error(
7409        self,
7410    ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7411        crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7412    }
7413
7414    #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7415    #[inline(always)]
7416    pub fn daddr_error(
7417        self,
7418    ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7419        crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7420    }
7421
7422    #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7423    #[inline(always)]
7424    pub fn dpanid_error(
7425        self,
7426    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7427        crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7428    }
7429
7430    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7431    #[inline(always)]
7432    pub fn res_frm_version_error(
7433        self,
7434    ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7435        crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7436    }
7437
7438    #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7439    #[inline(always)]
7440    pub fn res_frm_type_error(
7441        self,
7442    ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7443        crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7444    }
7445
7446    #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7447    #[inline(always)]
7448    pub fn crc16_error(
7449        self,
7450    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7451        crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7452    }
7453}
7454impl ::core::default::Default for FtdfRxMeta17Reg {
7455    #[inline(always)]
7456    fn default() -> FtdfRxMeta17Reg {
7457        <crate::RegValueT<FtdfRxMeta17Reg_SPEC> as RegisterValue<_>>::new(0)
7458    }
7459}
7460
7461#[doc(hidden)]
7462#[derive(Copy, Clone, Eq, PartialEq)]
7463pub struct FtdfRxStatusDeltaReg_SPEC;
7464impl crate::sealed::RegSpec for FtdfRxStatusDeltaReg_SPEC {
7465    type DataType = u32;
7466}
7467
7468#[doc = "Receive status delta register"]
7469pub type FtdfRxStatusDeltaReg = crate::RegValueT<FtdfRxStatusDeltaReg_SPEC>;
7470
7471impl FtdfRxStatusDeltaReg {
7472    #[doc = "Delta bit of status rx_buff_is_full.\nThis delta bit is set to \'1\' on each change of this status, contributes to ftdf_ce\\[1\\]."]
7473    #[inline(always)]
7474    pub fn rx_buff_is_full_d(
7475        self,
7476    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxStatusDeltaReg_SPEC, crate::common::RW>
7477    {
7478        crate::common::RegisterFieldBool::<0,1,0,FtdfRxStatusDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
7479    }
7480}
7481impl ::core::default::Default for FtdfRxStatusDeltaReg {
7482    #[inline(always)]
7483    fn default() -> FtdfRxStatusDeltaReg {
7484        <crate::RegValueT<FtdfRxStatusDeltaReg_SPEC> as RegisterValue<_>>::new(0)
7485    }
7486}
7487
7488#[doc(hidden)]
7489#[derive(Copy, Clone, Eq, PartialEq)]
7490pub struct FtdfRxStatusMaskReg_SPEC;
7491impl crate::sealed::RegSpec for FtdfRxStatusMaskReg_SPEC {
7492    type DataType = u32;
7493}
7494
7495#[doc = "Receive status delta mask register"]
7496pub type FtdfRxStatusMaskReg = crate::RegValueT<FtdfRxStatusMaskReg_SPEC>;
7497
7498impl FtdfRxStatusMaskReg {
7499    #[doc = "Mask bit for delta bit rx_buff_is_full_d\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
7500    #[inline(always)]
7501    pub fn rx_buff_is_full_m(
7502        self,
7503    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxStatusMaskReg_SPEC, crate::common::RW>
7504    {
7505        crate::common::RegisterFieldBool::<0,1,0,FtdfRxStatusMaskReg_SPEC,crate::common::RW>::from_register(self,0)
7506    }
7507}
7508impl ::core::default::Default for FtdfRxStatusMaskReg {
7509    #[inline(always)]
7510    fn default() -> FtdfRxStatusMaskReg {
7511        <crate::RegValueT<FtdfRxStatusMaskReg_SPEC> as RegisterValue<_>>::new(0)
7512    }
7513}
7514
7515#[doc(hidden)]
7516#[derive(Copy, Clone, Eq, PartialEq)]
7517pub struct FtdfRxStatusReg_SPEC;
7518impl crate::sealed::RegSpec for FtdfRxStatusReg_SPEC {
7519    type DataType = u32;
7520}
7521
7522#[doc = "Receive status register"]
7523pub type FtdfRxStatusReg = crate::RegValueT<FtdfRxStatusReg_SPEC>;
7524
7525impl FtdfRxStatusReg {
7526    #[doc = "Indication where new data will be written.\nAll four bits shall be used when using these pointer values (0d - 15d).\nHowever, the Receive Packet buffer has a size of 8 entries.\nSo reading the Receive Packet buffer entries shall use the mod8 of the pointer values."]
7527    #[inline(always)]
7528    pub fn rx_write_buf_ptr(
7529        self,
7530    ) -> crate::common::RegisterField<1, 0xf, 1, 0, u8, u8, FtdfRxStatusReg_SPEC, crate::common::R>
7531    {
7532        crate::common::RegisterField::<1,0xf,1,0,u8,u8,FtdfRxStatusReg_SPEC,crate::common::R>::from_register(self,0)
7533    }
7534
7535    #[doc = "If set to \'1\', it indicates that the Rx packet buffer is full"]
7536    #[inline(always)]
7537    pub fn rx_buff_is_full(
7538        self,
7539    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxStatusReg_SPEC, crate::common::R> {
7540        crate::common::RegisterFieldBool::<0,1,0,FtdfRxStatusReg_SPEC,crate::common::R>::from_register(self,0)
7541    }
7542}
7543impl ::core::default::Default for FtdfRxStatusReg {
7544    #[inline(always)]
7545    fn default() -> FtdfRxStatusReg {
7546        <crate::RegValueT<FtdfRxStatusReg_SPEC> as RegisterValue<_>>::new(0)
7547    }
7548}
7549
7550#[doc(hidden)]
7551#[derive(Copy, Clone, Eq, PartialEq)]
7552pub struct FtdfSeckey0Reg_SPEC;
7553impl crate::sealed::RegSpec for FtdfSeckey0Reg_SPEC {
7554    type DataType = u32;
7555}
7556
7557#[doc = "Seckey register"]
7558pub type FtdfSeckey0Reg = crate::RegValueT<FtdfSeckey0Reg_SPEC>;
7559
7560impl FtdfSeckey0Reg {
7561    #[doc = "Encryption/decryption mode: Registers secKey\\[0..3\\] contain the key to be used."]
7562    #[inline(always)]
7563    pub fn seckey_0(
7564        self,
7565    ) -> crate::common::RegisterField<
7566        0,
7567        0xffffffff,
7568        1,
7569        0,
7570        u32,
7571        u32,
7572        FtdfSeckey0Reg_SPEC,
7573        crate::common::RW,
7574    > {
7575        crate::common::RegisterField::<
7576            0,
7577            0xffffffff,
7578            1,
7579            0,
7580            u32,
7581            u32,
7582            FtdfSeckey0Reg_SPEC,
7583            crate::common::RW,
7584        >::from_register(self, 0)
7585    }
7586}
7587impl ::core::default::Default for FtdfSeckey0Reg {
7588    #[inline(always)]
7589    fn default() -> FtdfSeckey0Reg {
7590        <crate::RegValueT<FtdfSeckey0Reg_SPEC> as RegisterValue<_>>::new(0)
7591    }
7592}
7593
7594#[doc(hidden)]
7595#[derive(Copy, Clone, Eq, PartialEq)]
7596pub struct FtdfSeckey1Reg_SPEC;
7597impl crate::sealed::RegSpec for FtdfSeckey1Reg_SPEC {
7598    type DataType = u32;
7599}
7600
7601#[doc = "Seckey register"]
7602pub type FtdfSeckey1Reg = crate::RegValueT<FtdfSeckey1Reg_SPEC>;
7603
7604impl FtdfSeckey1Reg {
7605    #[doc = "Encryption/decryption mode: see register secKey_0"]
7606    #[inline(always)]
7607    pub fn seckey_1(
7608        self,
7609    ) -> crate::common::RegisterField<
7610        0,
7611        0xffffffff,
7612        1,
7613        0,
7614        u32,
7615        u32,
7616        FtdfSeckey1Reg_SPEC,
7617        crate::common::RW,
7618    > {
7619        crate::common::RegisterField::<
7620            0,
7621            0xffffffff,
7622            1,
7623            0,
7624            u32,
7625            u32,
7626            FtdfSeckey1Reg_SPEC,
7627            crate::common::RW,
7628        >::from_register(self, 0)
7629    }
7630}
7631impl ::core::default::Default for FtdfSeckey1Reg {
7632    #[inline(always)]
7633    fn default() -> FtdfSeckey1Reg {
7634        <crate::RegValueT<FtdfSeckey1Reg_SPEC> as RegisterValue<_>>::new(0)
7635    }
7636}
7637
7638#[doc(hidden)]
7639#[derive(Copy, Clone, Eq, PartialEq)]
7640pub struct FtdfSeckey2Reg_SPEC;
7641impl crate::sealed::RegSpec for FtdfSeckey2Reg_SPEC {
7642    type DataType = u32;
7643}
7644
7645#[doc = "SecKey register"]
7646pub type FtdfSeckey2Reg = crate::RegValueT<FtdfSeckey2Reg_SPEC>;
7647
7648impl FtdfSeckey2Reg {
7649    #[doc = "Encryption/decryption mode: see register secKey_0"]
7650    #[inline(always)]
7651    pub fn seckey_2(
7652        self,
7653    ) -> crate::common::RegisterField<
7654        0,
7655        0xffffffff,
7656        1,
7657        0,
7658        u32,
7659        u32,
7660        FtdfSeckey2Reg_SPEC,
7661        crate::common::RW,
7662    > {
7663        crate::common::RegisterField::<
7664            0,
7665            0xffffffff,
7666            1,
7667            0,
7668            u32,
7669            u32,
7670            FtdfSeckey2Reg_SPEC,
7671            crate::common::RW,
7672        >::from_register(self, 0)
7673    }
7674}
7675impl ::core::default::Default for FtdfSeckey2Reg {
7676    #[inline(always)]
7677    fn default() -> FtdfSeckey2Reg {
7678        <crate::RegValueT<FtdfSeckey2Reg_SPEC> as RegisterValue<_>>::new(0)
7679    }
7680}
7681
7682#[doc(hidden)]
7683#[derive(Copy, Clone, Eq, PartialEq)]
7684pub struct FtdfSeckey3Reg_SPEC;
7685impl crate::sealed::RegSpec for FtdfSeckey3Reg_SPEC {
7686    type DataType = u32;
7687}
7688
7689#[doc = "Seckey register"]
7690pub type FtdfSeckey3Reg = crate::RegValueT<FtdfSeckey3Reg_SPEC>;
7691
7692impl FtdfSeckey3Reg {
7693    #[doc = "Encryption/decryption mode: see register secKey_0"]
7694    #[inline(always)]
7695    pub fn seckey_3(
7696        self,
7697    ) -> crate::common::RegisterField<
7698        0,
7699        0xffffffff,
7700        1,
7701        0,
7702        u32,
7703        u32,
7704        FtdfSeckey3Reg_SPEC,
7705        crate::common::RW,
7706    > {
7707        crate::common::RegisterField::<
7708            0,
7709            0xffffffff,
7710            1,
7711            0,
7712            u32,
7713            u32,
7714            FtdfSeckey3Reg_SPEC,
7715            crate::common::RW,
7716        >::from_register(self, 0)
7717    }
7718}
7719impl ::core::default::Default for FtdfSeckey3Reg {
7720    #[inline(always)]
7721    fn default() -> FtdfSeckey3Reg {
7722        <crate::RegValueT<FtdfSeckey3Reg_SPEC> as RegisterValue<_>>::new(0)
7723    }
7724}
7725
7726#[doc(hidden)]
7727#[derive(Copy, Clone, Eq, PartialEq)]
7728pub struct FtdfSecnonce0Reg_SPEC;
7729impl crate::sealed::RegSpec for FtdfSecnonce0Reg_SPEC {
7730    type DataType = u32;
7731}
7732
7733#[doc = "Nonce register used for encryption/decryption"]
7734pub type FtdfSecnonce0Reg = crate::RegValueT<FtdfSecnonce0Reg_SPEC>;
7735
7736impl FtdfSecnonce0Reg {
7737    #[doc = "Encryption/decryption mode: register secNonce\\[0..3\\] contains the Nonce to be used for encryption/decryption."]
7738    #[inline(always)]
7739    pub fn secnonce_0(
7740        self,
7741    ) -> crate::common::RegisterField<
7742        0,
7743        0xffffffff,
7744        1,
7745        0,
7746        u32,
7747        u32,
7748        FtdfSecnonce0Reg_SPEC,
7749        crate::common::RW,
7750    > {
7751        crate::common::RegisterField::<
7752            0,
7753            0xffffffff,
7754            1,
7755            0,
7756            u32,
7757            u32,
7758            FtdfSecnonce0Reg_SPEC,
7759            crate::common::RW,
7760        >::from_register(self, 0)
7761    }
7762}
7763impl ::core::default::Default for FtdfSecnonce0Reg {
7764    #[inline(always)]
7765    fn default() -> FtdfSecnonce0Reg {
7766        <crate::RegValueT<FtdfSecnonce0Reg_SPEC> as RegisterValue<_>>::new(0)
7767    }
7768}
7769
7770#[doc(hidden)]
7771#[derive(Copy, Clone, Eq, PartialEq)]
7772pub struct FtdfSecnonce1Reg_SPEC;
7773impl crate::sealed::RegSpec for FtdfSecnonce1Reg_SPEC {
7774    type DataType = u32;
7775}
7776
7777#[doc = "Nonce register used for encryption/decryption"]
7778pub type FtdfSecnonce1Reg = crate::RegValueT<FtdfSecnonce1Reg_SPEC>;
7779
7780impl FtdfSecnonce1Reg {
7781    #[doc = "Encryption/decryption mode: see register Nonce_0"]
7782    #[inline(always)]
7783    pub fn secnonce_1(
7784        self,
7785    ) -> crate::common::RegisterField<
7786        0,
7787        0xffffffff,
7788        1,
7789        0,
7790        u32,
7791        u32,
7792        FtdfSecnonce1Reg_SPEC,
7793        crate::common::RW,
7794    > {
7795        crate::common::RegisterField::<
7796            0,
7797            0xffffffff,
7798            1,
7799            0,
7800            u32,
7801            u32,
7802            FtdfSecnonce1Reg_SPEC,
7803            crate::common::RW,
7804        >::from_register(self, 0)
7805    }
7806}
7807impl ::core::default::Default for FtdfSecnonce1Reg {
7808    #[inline(always)]
7809    fn default() -> FtdfSecnonce1Reg {
7810        <crate::RegValueT<FtdfSecnonce1Reg_SPEC> as RegisterValue<_>>::new(0)
7811    }
7812}
7813
7814#[doc(hidden)]
7815#[derive(Copy, Clone, Eq, PartialEq)]
7816pub struct FtdfSecnonce2Reg_SPEC;
7817impl crate::sealed::RegSpec for FtdfSecnonce2Reg_SPEC {
7818    type DataType = u32;
7819}
7820
7821#[doc = "Nonce register used for encryption/decryption"]
7822pub type FtdfSecnonce2Reg = crate::RegValueT<FtdfSecnonce2Reg_SPEC>;
7823
7824impl FtdfSecnonce2Reg {
7825    #[doc = "Encryption/decryption mode: see register Nonce_0"]
7826    #[inline(always)]
7827    pub fn secnonce_2(
7828        self,
7829    ) -> crate::common::RegisterField<
7830        0,
7831        0xffffffff,
7832        1,
7833        0,
7834        u32,
7835        u32,
7836        FtdfSecnonce2Reg_SPEC,
7837        crate::common::RW,
7838    > {
7839        crate::common::RegisterField::<
7840            0,
7841            0xffffffff,
7842            1,
7843            0,
7844            u32,
7845            u32,
7846            FtdfSecnonce2Reg_SPEC,
7847            crate::common::RW,
7848        >::from_register(self, 0)
7849    }
7850}
7851impl ::core::default::Default for FtdfSecnonce2Reg {
7852    #[inline(always)]
7853    fn default() -> FtdfSecnonce2Reg {
7854        <crate::RegValueT<FtdfSecnonce2Reg_SPEC> as RegisterValue<_>>::new(0)
7855    }
7856}
7857
7858#[doc(hidden)]
7859#[derive(Copy, Clone, Eq, PartialEq)]
7860pub struct FtdfSecnonce3Reg_SPEC;
7861impl crate::sealed::RegSpec for FtdfSecnonce3Reg_SPEC {
7862    type DataType = u32;
7863}
7864
7865#[doc = "Nonce register used for encryption/decryption"]
7866pub type FtdfSecnonce3Reg = crate::RegValueT<FtdfSecnonce3Reg_SPEC>;
7867
7868impl FtdfSecnonce3Reg {
7869    #[doc = "Encryption/decryption mode: see register Nonce_0"]
7870    #[inline(always)]
7871    pub fn secnonce_3(
7872        self,
7873    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, FtdfSecnonce3Reg_SPEC, crate::common::RW>
7874    {
7875        crate::common::RegisterField::<
7876            0,
7877            0xff,
7878            1,
7879            0,
7880            u8,
7881            u8,
7882            FtdfSecnonce3Reg_SPEC,
7883            crate::common::RW,
7884        >::from_register(self, 0)
7885    }
7886}
7887impl ::core::default::Default for FtdfSecnonce3Reg {
7888    #[inline(always)]
7889    fn default() -> FtdfSecnonce3Reg {
7890        <crate::RegValueT<FtdfSecnonce3Reg_SPEC> as RegisterValue<_>>::new(0)
7891    }
7892}
7893
7894#[doc(hidden)]
7895#[derive(Copy, Clone, Eq, PartialEq)]
7896pub struct FtdfSecurity0Reg_SPEC;
7897impl crate::sealed::RegSpec for FtdfSecurity0Reg_SPEC {
7898    type DataType = u32;
7899}
7900
7901#[doc = "Security register"]
7902pub type FtdfSecurity0Reg = crate::RegValueT<FtdfSecurity0Reg_SPEC>;
7903
7904impl FtdfSecurity0Reg {
7905    #[doc = "Encryption/decryption mode: the control register secEncDecn indicates whether to encrypt (\'1\') or decrypt (\'0\') the data."]
7906    #[inline(always)]
7907    pub fn secencdecn(
7908        self,
7909    ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfSecurity0Reg_SPEC, crate::common::RW> {
7910        crate::common::RegisterFieldBool::<31,1,0,FtdfSecurity0Reg_SPEC,crate::common::RW>::from_register(self,0)
7911    }
7912
7913    #[doc = "Encryption/decryption mode: the length of the m_data is indicated by control register secMlength (in bytes)."]
7914    #[inline(always)]
7915    pub fn secmlength(
7916        self,
7917    ) -> crate::common::RegisterField<
7918        24,
7919        0x7f,
7920        1,
7921        0,
7922        u8,
7923        u8,
7924        FtdfSecurity0Reg_SPEC,
7925        crate::common::RW,
7926    > {
7927        crate::common::RegisterField::<
7928            24,
7929            0x7f,
7930            1,
7931            0,
7932            u8,
7933            u8,
7934            FtdfSecurity0Reg_SPEC,
7935            crate::common::RW,
7936        >::from_register(self, 0)
7937    }
7938
7939    #[doc = "Encryption/decryption mode: the length of the a_data is indicated by control register secAlength (in bytes).\nThe end of the a_data is the start point of the m_data. So secAlength must also be set if security level==4."]
7940    #[inline(always)]
7941    pub fn secalength(
7942        self,
7943    ) -> crate::common::RegisterField<
7944        16,
7945        0x7f,
7946        1,
7947        0,
7948        u8,
7949        u8,
7950        FtdfSecurity0Reg_SPEC,
7951        crate::common::RW,
7952    > {
7953        crate::common::RegisterField::<
7954            16,
7955            0x7f,
7956            1,
7957            0,
7958            u8,
7959            u8,
7960            FtdfSecurity0Reg_SPEC,
7961            crate::common::RW,
7962        >::from_register(self, 0)
7963    }
7964
7965    #[doc = "Encryption/decryption mode: the software indicates by the control registers secEntry and secTxRxn which entry to use and if it\'s from the Tx or Rx buffer (\'1\' resp. \'0\')."]
7966    #[inline(always)]
7967    pub fn secentry(
7968        self,
7969    ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, FtdfSecurity0Reg_SPEC, crate::common::RW>
7970    {
7971        crate::common::RegisterField::<8,0xf,1,0,u8,u8,FtdfSecurity0Reg_SPEC,crate::common::RW>::from_register(self,0)
7972    }
7973
7974    #[doc = "Encryption/decryption mode: see register secEntry."]
7975    #[inline(always)]
7976    pub fn sectxrxn(
7977        self,
7978    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfSecurity0Reg_SPEC, crate::common::RW> {
7979        crate::common::RegisterFieldBool::<1,1,0,FtdfSecurity0Reg_SPEC,crate::common::RW>::from_register(self,0)
7980    }
7981}
7982impl ::core::default::Default for FtdfSecurity0Reg {
7983    #[inline(always)]
7984    fn default() -> FtdfSecurity0Reg {
7985        <crate::RegValueT<FtdfSecurity0Reg_SPEC> as RegisterValue<_>>::new(0)
7986    }
7987}
7988
7989#[doc(hidden)]
7990#[derive(Copy, Clone, Eq, PartialEq)]
7991pub struct FtdfSecurity1Reg_SPEC;
7992impl crate::sealed::RegSpec for FtdfSecurity1Reg_SPEC {
7993    type DataType = u32;
7994}
7995
7996#[doc = "Security register"]
7997pub type FtdfSecurity1Reg = crate::RegValueT<FtdfSecurity1Reg_SPEC>;
7998
7999impl FtdfSecurity1Reg {
8000    #[doc = "Encryption/decryption mode: register secEncrFlags contains the encryption flags field.\nBits \\[2:0\\] are the 3-bit encoding flags of a_data, the other bits msut be set to \'0\'."]
8001    #[inline(always)]
8002    pub fn secencrflags(
8003        self,
8004    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfSecurity1Reg_SPEC, crate::common::RW>
8005    {
8006        crate::common::RegisterField::<
8007            8,
8008            0xff,
8009            1,
8010            0,
8011            u8,
8012            u8,
8013            FtdfSecurity1Reg_SPEC,
8014            crate::common::RW,
8015        >::from_register(self, 0)
8016    }
8017
8018    #[doc = "Encryption/decryption mode: register secAuthFlags contains the authentication flags fields.\nbit\\[7\\] is \'0\'\nbit\\[6\\] is A_data present\nbit\\[5:3\\]: 3-bit security level of m_data\nbit\\[2:0\\]: 3-bit security level of a_data."]
8019    #[inline(always)]
8020    pub fn secauthflags(
8021        self,
8022    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, FtdfSecurity1Reg_SPEC, crate::common::RW>
8023    {
8024        crate::common::RegisterField::<
8025            0,
8026            0xff,
8027            1,
8028            0,
8029            u8,
8030            u8,
8031            FtdfSecurity1Reg_SPEC,
8032            crate::common::RW,
8033        >::from_register(self, 0)
8034    }
8035}
8036impl ::core::default::Default for FtdfSecurity1Reg {
8037    #[inline(always)]
8038    fn default() -> FtdfSecurity1Reg {
8039        <crate::RegValueT<FtdfSecurity1Reg_SPEC> as RegisterValue<_>>::new(0)
8040    }
8041}
8042
8043#[doc(hidden)]
8044#[derive(Copy, Clone, Eq, PartialEq)]
8045pub struct FtdfSecurityEventmaskReg_SPEC;
8046impl crate::sealed::RegSpec for FtdfSecurityEventmaskReg_SPEC {
8047    type DataType = u32;
8048}
8049
8050#[doc = "security event mask register"]
8051pub type FtdfSecurityEventmaskReg = crate::RegValueT<FtdfSecurityEventmaskReg_SPEC>;
8052
8053impl FtdfSecurityEventmaskReg {
8054    #[doc = "Mask bit for event secReady_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
8055    #[inline(always)]
8056    pub fn secready_m(
8057        self,
8058    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityEventmaskReg_SPEC, crate::common::RW>
8059    {
8060        crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityEventmaskReg_SPEC,crate::common::RW>::from_register(self,0)
8061    }
8062}
8063impl ::core::default::Default for FtdfSecurityEventmaskReg {
8064    #[inline(always)]
8065    fn default() -> FtdfSecurityEventmaskReg {
8066        <crate::RegValueT<FtdfSecurityEventmaskReg_SPEC> as RegisterValue<_>>::new(0)
8067    }
8068}
8069
8070#[doc(hidden)]
8071#[derive(Copy, Clone, Eq, PartialEq)]
8072pub struct FtdfSecurityEventReg_SPEC;
8073impl crate::sealed::RegSpec for FtdfSecurityEventReg_SPEC {
8074    type DataType = u32;
8075}
8076
8077#[doc = "security event register"]
8078pub type FtdfSecurityEventReg = crate::RegValueT<FtdfSecurityEventReg_SPEC>;
8079
8080impl FtdfSecurityEventReg {
8081    #[doc = "Encryption/decryption mode: the Event bit secReady_e is set to \'1\' when the authentication process is ready (i.e. secBusy is cleared).\nThis event bit contributes to ftdf_ce\\[3\\]."]
8082    #[inline(always)]
8083    pub fn secready_e(
8084        self,
8085    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityEventReg_SPEC, crate::common::RW>
8086    {
8087        crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityEventReg_SPEC,crate::common::RW>::from_register(self,0)
8088    }
8089}
8090impl ::core::default::Default for FtdfSecurityEventReg {
8091    #[inline(always)]
8092    fn default() -> FtdfSecurityEventReg {
8093        <crate::RegValueT<FtdfSecurityEventReg_SPEC> as RegisterValue<_>>::new(0)
8094    }
8095}
8096
8097#[doc(hidden)]
8098#[derive(Copy, Clone, Eq, PartialEq)]
8099pub struct FtdfSecurityOsReg_SPEC;
8100impl crate::sealed::RegSpec for FtdfSecurityOsReg_SPEC {
8101    type DataType = u32;
8102}
8103
8104#[doc = "One shot register to start encryption/decryption"]
8105pub type FtdfSecurityOsReg = crate::RegValueT<FtdfSecurityOsReg_SPEC>;
8106
8107impl FtdfSecurityOsReg {
8108    #[doc = "Encryption/decryption mode: one_shot register to start the encryption, decryption and authentication support task."]
8109    #[inline(always)]
8110    pub fn secstart(
8111        self,
8112    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfSecurityOsReg_SPEC, crate::common::W> {
8113        crate::common::RegisterFieldBool::<1,1,0,FtdfSecurityOsReg_SPEC,crate::common::W>::from_register(self,0)
8114    }
8115
8116    #[doc = "Encryption/decryption mode: see register Nonce_0"]
8117    #[inline(always)]
8118    pub fn secabort(
8119        self,
8120    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityOsReg_SPEC, crate::common::W> {
8121        crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityOsReg_SPEC,crate::common::W>::from_register(self,0)
8122    }
8123}
8124impl ::core::default::Default for FtdfSecurityOsReg {
8125    #[inline(always)]
8126    fn default() -> FtdfSecurityOsReg {
8127        <crate::RegValueT<FtdfSecurityOsReg_SPEC> as RegisterValue<_>>::new(0)
8128    }
8129}
8130
8131#[doc(hidden)]
8132#[derive(Copy, Clone, Eq, PartialEq)]
8133pub struct FtdfSecurityStatusReg_SPEC;
8134impl crate::sealed::RegSpec for FtdfSecurityStatusReg_SPEC {
8135    type DataType = u32;
8136}
8137
8138#[doc = "Security status register"]
8139pub type FtdfSecurityStatusReg = crate::RegValueT<FtdfSecurityStatusReg_SPEC>;
8140
8141impl FtdfSecurityStatusReg {
8142    #[doc = "Encryption/decryption mode: in case of decryption, the status bit secAuthFail will be set when the authentication has failed."]
8143    #[inline(always)]
8144    pub fn secauthfail(
8145        self,
8146    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfSecurityStatusReg_SPEC, crate::common::R>
8147    {
8148        crate::common::RegisterFieldBool::<1,1,0,FtdfSecurityStatusReg_SPEC,crate::common::R>::from_register(self,0)
8149    }
8150
8151    #[doc = "Encryption/decryption mode: register secBusy indicates if the encryption/decryption process is still running."]
8152    #[inline(always)]
8153    pub fn secbusy(
8154        self,
8155    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityStatusReg_SPEC, crate::common::R>
8156    {
8157        crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityStatusReg_SPEC,crate::common::R>::from_register(self,0)
8158    }
8159}
8160impl ::core::default::Default for FtdfSecurityStatusReg {
8161    #[inline(always)]
8162    fn default() -> FtdfSecurityStatusReg {
8163        <crate::RegValueT<FtdfSecurityStatusReg_SPEC> as RegisterValue<_>>::new(0)
8164    }
8165}
8166
8167#[doc(hidden)]
8168#[derive(Copy, Clone, Eq, PartialEq)]
8169pub struct FtdfSizeAndVal0Reg_SPEC;
8170impl crate::sealed::RegSpec for FtdfSizeAndVal0Reg_SPEC {
8171    type DataType = u32;
8172}
8173
8174pub type FtdfSizeAndVal0Reg = crate::RegValueT<FtdfSizeAndVal0Reg_SPEC>;
8175
8176impl FtdfSizeAndVal0Reg {
8177    #[doc = "A \'1\' indicates that Exp_SA contains four short SA\'s, a \'0\' indicates one long SA."]
8178    #[inline(always)]
8179    pub fn short_longnot(
8180        self,
8181    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfSizeAndVal0Reg_SPEC, crate::common::RW> {
8182        crate::common::RegisterFieldBool::<4,1,0,FtdfSizeAndVal0Reg_SPEC,crate::common::RW>::from_register(self,0)
8183    }
8184
8185    #[doc = "Indication which SA entry is valid (if set). In case of 4 short SA Valid bit 3 belongs to SA entry 3 etc.\nIn case of a long SA Valid bit 0 is the valid indication."]
8186    #[inline(always)]
8187    pub fn valid_sa(
8188        self,
8189    ) -> crate::common::RegisterField<
8190        0,
8191        0xf,
8192        1,
8193        0,
8194        u8,
8195        u8,
8196        FtdfSizeAndVal0Reg_SPEC,
8197        crate::common::RW,
8198    > {
8199        crate::common::RegisterField::<
8200            0,
8201            0xf,
8202            1,
8203            0,
8204            u8,
8205            u8,
8206            FtdfSizeAndVal0Reg_SPEC,
8207            crate::common::RW,
8208        >::from_register(self, 0)
8209    }
8210}
8211impl ::core::default::Default for FtdfSizeAndVal0Reg {
8212    #[inline(always)]
8213    fn default() -> FtdfSizeAndVal0Reg {
8214        <crate::RegValueT<FtdfSizeAndVal0Reg_SPEC> as RegisterValue<_>>::new(0)
8215    }
8216}
8217
8218#[doc(hidden)]
8219#[derive(Copy, Clone, Eq, PartialEq)]
8220pub struct FtdfSymboltime2ThrReg_SPEC;
8221impl crate::sealed::RegSpec for FtdfSymboltime2ThrReg_SPEC {
8222    type DataType = u32;
8223}
8224
8225#[doc = "Symboltime threshold register 2"]
8226pub type FtdfSymboltime2ThrReg = crate::RegValueT<FtdfSymboltime2ThrReg_SPEC>;
8227
8228impl FtdfSymboltime2ThrReg {
8229    #[doc = "Symboltime 2 Threshold to generate a general interrupt when this value matches the symbol counter value."]
8230    #[inline(always)]
8231    pub fn symboltime2thr(
8232        self,
8233    ) -> crate::common::RegisterField<
8234        0,
8235        0xffffffff,
8236        1,
8237        0,
8238        u32,
8239        u32,
8240        FtdfSymboltime2ThrReg_SPEC,
8241        crate::common::RW,
8242    > {
8243        crate::common::RegisterField::<
8244            0,
8245            0xffffffff,
8246            1,
8247            0,
8248            u32,
8249            u32,
8250            FtdfSymboltime2ThrReg_SPEC,
8251            crate::common::RW,
8252        >::from_register(self, 0)
8253    }
8254}
8255impl ::core::default::Default for FtdfSymboltime2ThrReg {
8256    #[inline(always)]
8257    fn default() -> FtdfSymboltime2ThrReg {
8258        <crate::RegValueT<FtdfSymboltime2ThrReg_SPEC> as RegisterValue<_>>::new(0)
8259    }
8260}
8261
8262#[doc(hidden)]
8263#[derive(Copy, Clone, Eq, PartialEq)]
8264pub struct FtdfSymboltimesnapshotvalReg_SPEC;
8265impl crate::sealed::RegSpec for FtdfSymboltimesnapshotvalReg_SPEC {
8266    type DataType = u32;
8267}
8268
8269#[doc = "Value timestamp generator"]
8270pub type FtdfSymboltimesnapshotvalReg = crate::RegValueT<FtdfSymboltimesnapshotvalReg_SPEC>;
8271
8272impl FtdfSymboltimesnapshotvalReg {
8273    #[doc = "The Status register SymbolTimeSnapshotVal indicates the actual value of the TimeStamp generator.\nThis can be useful for software to use e.g. in CSL mode at creating an Enhanced ACK to calculate the CSL phase and period."]
8274    #[inline(always)]
8275    pub fn symboltimesnapshotval(
8276        self,
8277    ) -> crate::common::RegisterField<
8278        0,
8279        0xffffffff,
8280        1,
8281        0,
8282        u32,
8283        u32,
8284        FtdfSymboltimesnapshotvalReg_SPEC,
8285        crate::common::R,
8286    > {
8287        crate::common::RegisterField::<
8288            0,
8289            0xffffffff,
8290            1,
8291            0,
8292            u32,
8293            u32,
8294            FtdfSymboltimesnapshotvalReg_SPEC,
8295            crate::common::R,
8296        >::from_register(self, 0)
8297    }
8298}
8299impl ::core::default::Default for FtdfSymboltimesnapshotvalReg {
8300    #[inline(always)]
8301    fn default() -> FtdfSymboltimesnapshotvalReg {
8302        <crate::RegValueT<FtdfSymboltimesnapshotvalReg_SPEC> as RegisterValue<_>>::new(0)
8303    }
8304}
8305
8306#[doc(hidden)]
8307#[derive(Copy, Clone, Eq, PartialEq)]
8308pub struct FtdfSymboltimethrReg_SPEC;
8309impl crate::sealed::RegSpec for FtdfSymboltimethrReg_SPEC {
8310    type DataType = u32;
8311}
8312
8313#[doc = "Symboltime threshold register 1"]
8314pub type FtdfSymboltimethrReg = crate::RegValueT<FtdfSymboltimethrReg_SPEC>;
8315
8316impl FtdfSymboltimethrReg {
8317    #[doc = "Symboltime Threshold to generate a general interrupt when this value matches the symbol counter value."]
8318    #[inline(always)]
8319    pub fn symboltimethr(
8320        self,
8321    ) -> crate::common::RegisterField<
8322        0,
8323        0xffffffff,
8324        1,
8325        0,
8326        u32,
8327        u32,
8328        FtdfSymboltimethrReg_SPEC,
8329        crate::common::RW,
8330    > {
8331        crate::common::RegisterField::<
8332            0,
8333            0xffffffff,
8334            1,
8335            0,
8336            u32,
8337            u32,
8338            FtdfSymboltimethrReg_SPEC,
8339            crate::common::RW,
8340        >::from_register(self, 0)
8341    }
8342}
8343impl ::core::default::Default for FtdfSymboltimethrReg {
8344    #[inline(always)]
8345    fn default() -> FtdfSymboltimethrReg {
8346        <crate::RegValueT<FtdfSymboltimethrReg_SPEC> as RegisterValue<_>>::new(0)
8347    }
8348}
8349
8350#[doc(hidden)]
8351#[derive(Copy, Clone, Eq, PartialEq)]
8352pub struct FtdfSynctimestampphasevalReg_SPEC;
8353impl crate::sealed::RegSpec for FtdfSynctimestampphasevalReg_SPEC {
8354    type DataType = u32;
8355}
8356
8357#[doc = "Timestamp phase value regsiter"]
8358pub type FtdfSynctimestampphasevalReg = crate::RegValueT<FtdfSynctimestampphasevalReg_SPEC>;
8359
8360impl FtdfSynctimestampphasevalReg {
8361    #[doc = "Value to synchronize the timestamp counter phase with at the moment indicated by SyncTimeStampThr.\nPlease note the +1 correction needed for most accurate result (+0.5 is than the average error, resulting is a just too fast clock)."]
8362    #[inline(always)]
8363    pub fn synctimestampphaseval(
8364        self,
8365    ) -> crate::common::RegisterField<
8366        0,
8367        0xff,
8368        1,
8369        0,
8370        u8,
8371        u8,
8372        FtdfSynctimestampphasevalReg_SPEC,
8373        crate::common::RW,
8374    > {
8375        crate::common::RegisterField::<
8376            0,
8377            0xff,
8378            1,
8379            0,
8380            u8,
8381            u8,
8382            FtdfSynctimestampphasevalReg_SPEC,
8383            crate::common::RW,
8384        >::from_register(self, 0)
8385    }
8386}
8387impl ::core::default::Default for FtdfSynctimestampphasevalReg {
8388    #[inline(always)]
8389    fn default() -> FtdfSynctimestampphasevalReg {
8390        <crate::RegValueT<FtdfSynctimestampphasevalReg_SPEC> as RegisterValue<_>>::new(0)
8391    }
8392}
8393
8394#[doc(hidden)]
8395#[derive(Copy, Clone, Eq, PartialEq)]
8396pub struct FtdfSynctimestampthrReg_SPEC;
8397impl crate::sealed::RegSpec for FtdfSynctimestampthrReg_SPEC {
8398    type DataType = u32;
8399}
8400
8401#[doc = "Threshold timestamp generator"]
8402pub type FtdfSynctimestampthrReg = crate::RegValueT<FtdfSynctimestampthrReg_SPEC>;
8403
8404impl FtdfSynctimestampthrReg {
8405    #[doc = "Threshold for synchronize the timestamp counter: at this value of the event counter the synchronization of the timestamp (symbol) counter is done (if SyncTimeStampEna is set to \'1\').\nIf SyncTimeStamp_e is set to \'1\' the synchronization has taken place."]
8406    #[inline(always)]
8407    pub fn synctimestampthr(
8408        self,
8409    ) -> crate::common::RegisterField<
8410        0,
8411        0x1ffffff,
8412        1,
8413        0,
8414        u32,
8415        u32,
8416        FtdfSynctimestampthrReg_SPEC,
8417        crate::common::RW,
8418    > {
8419        crate::common::RegisterField::<
8420            0,
8421            0x1ffffff,
8422            1,
8423            0,
8424            u32,
8425            u32,
8426            FtdfSynctimestampthrReg_SPEC,
8427            crate::common::RW,
8428        >::from_register(self, 0)
8429    }
8430}
8431impl ::core::default::Default for FtdfSynctimestampthrReg {
8432    #[inline(always)]
8433    fn default() -> FtdfSynctimestampthrReg {
8434        <crate::RegValueT<FtdfSynctimestampthrReg_SPEC> as RegisterValue<_>>::new(0)
8435    }
8436}
8437
8438#[doc(hidden)]
8439#[derive(Copy, Clone, Eq, PartialEq)]
8440pub struct FtdfSynctimestampvalReg_SPEC;
8441impl crate::sealed::RegSpec for FtdfSynctimestampvalReg_SPEC {
8442    type DataType = u32;
8443}
8444
8445#[doc = "Value timestamp generator"]
8446pub type FtdfSynctimestampvalReg = crate::RegValueT<FtdfSynctimestampvalReg_SPEC>;
8447
8448impl FtdfSynctimestampvalReg {
8449    #[doc = "Value to synchronize the timestamp counter with at the moment indicated by SyncTimeStampThr."]
8450    #[inline(always)]
8451    pub fn synctimestampval(
8452        self,
8453    ) -> crate::common::RegisterField<
8454        0,
8455        0xffffffff,
8456        1,
8457        0,
8458        u32,
8459        u32,
8460        FtdfSynctimestampvalReg_SPEC,
8461        crate::common::RW,
8462    > {
8463        crate::common::RegisterField::<
8464            0,
8465            0xffffffff,
8466            1,
8467            0,
8468            u32,
8469            u32,
8470            FtdfSynctimestampvalReg_SPEC,
8471            crate::common::RW,
8472        >::from_register(self, 0)
8473    }
8474}
8475impl ::core::default::Default for FtdfSynctimestampvalReg {
8476    #[inline(always)]
8477    fn default() -> FtdfSynctimestampvalReg {
8478        <crate::RegValueT<FtdfSynctimestampvalReg_SPEC> as RegisterValue<_>>::new(0)
8479    }
8480}
8481
8482#[doc(hidden)]
8483#[derive(Copy, Clone, Eq, PartialEq)]
8484pub struct FtdfTimerControl1Reg_SPEC;
8485impl crate::sealed::RegSpec for FtdfTimerControl1Reg_SPEC {
8486    type DataType = u32;
8487}
8488
8489#[doc = "Timer control register"]
8490pub type FtdfTimerControl1Reg = crate::RegValueT<FtdfTimerControl1Reg_SPEC>;
8491
8492impl FtdfTimerControl1Reg {
8493    #[doc = "If set to \'1\', the synchronization of the timestamp counter after a deep-sleep cycle will be performed when SyncTimeStampThr matches the value of the event (wake-up) counter."]
8494    #[inline(always)]
8495    pub fn synctimestampena(
8496        self,
8497    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTimerControl1Reg_SPEC, crate::common::RW>
8498    {
8499        crate::common::RegisterFieldBool::<1,1,0,FtdfTimerControl1Reg_SPEC,crate::common::RW>::from_register(self,0)
8500    }
8501}
8502impl ::core::default::Default for FtdfTimerControl1Reg {
8503    #[inline(always)]
8504    fn default() -> FtdfTimerControl1Reg {
8505        <crate::RegValueT<FtdfTimerControl1Reg_SPEC> as RegisterValue<_>>::new(0)
8506    }
8507}
8508
8509#[doc(hidden)]
8510#[derive(Copy, Clone, Eq, PartialEq)]
8511pub struct FtdfTimestampcurrphasevalReg_SPEC;
8512impl crate::sealed::RegSpec for FtdfTimestampcurrphasevalReg_SPEC {
8513    type DataType = u32;
8514}
8515
8516#[doc = "Value of timestamp generator phase within a symbol"]
8517pub type FtdfTimestampcurrphasevalReg = crate::RegValueT<FtdfTimestampcurrphasevalReg_SPEC>;
8518
8519impl FtdfTimestampcurrphasevalReg {
8520    #[doc = "Value of captured timestamp generator phase within a symbol (initiated by getGeneratorVal, valid when getGeneratorVal_e is set)"]
8521    #[inline(always)]
8522    pub fn timestampcurrphaseval(
8523        self,
8524    ) -> crate::common::RegisterField<
8525        0,
8526        0xff,
8527        1,
8528        0,
8529        u8,
8530        u8,
8531        FtdfTimestampcurrphasevalReg_SPEC,
8532        crate::common::R,
8533    > {
8534        crate::common::RegisterField::<
8535            0,
8536            0xff,
8537            1,
8538            0,
8539            u8,
8540            u8,
8541            FtdfTimestampcurrphasevalReg_SPEC,
8542            crate::common::R,
8543        >::from_register(self, 0)
8544    }
8545}
8546impl ::core::default::Default for FtdfTimestampcurrphasevalReg {
8547    #[inline(always)]
8548    fn default() -> FtdfTimestampcurrphasevalReg {
8549        <crate::RegValueT<FtdfTimestampcurrphasevalReg_SPEC> as RegisterValue<_>>::new(0)
8550    }
8551}
8552
8553#[doc(hidden)]
8554#[derive(Copy, Clone, Eq, PartialEq)]
8555pub struct FtdfTimestampcurrvalReg_SPEC;
8556impl crate::sealed::RegSpec for FtdfTimestampcurrvalReg_SPEC {
8557    type DataType = u32;
8558}
8559
8560#[doc = "Value of timestamp generator"]
8561pub type FtdfTimestampcurrvalReg = crate::RegValueT<FtdfTimestampcurrvalReg_SPEC>;
8562
8563impl FtdfTimestampcurrvalReg {
8564    #[doc = "The value of captured timestamp generator (symbol counter) (initiated by getGeneratorVal, valid when getGeneratorVal_e is set)"]
8565    #[inline(always)]
8566    pub fn timestampcurrval(
8567        self,
8568    ) -> crate::common::RegisterField<
8569        0,
8570        0xffffffff,
8571        1,
8572        0,
8573        u32,
8574        u32,
8575        FtdfTimestampcurrvalReg_SPEC,
8576        crate::common::R,
8577    > {
8578        crate::common::RegisterField::<
8579            0,
8580            0xffffffff,
8581            1,
8582            0,
8583            u32,
8584            u32,
8585            FtdfTimestampcurrvalReg_SPEC,
8586            crate::common::R,
8587        >::from_register(self, 0)
8588    }
8589}
8590impl ::core::default::Default for FtdfTimestampcurrvalReg {
8591    #[inline(always)]
8592    fn default() -> FtdfTimestampcurrvalReg {
8593        <crate::RegValueT<FtdfTimestampcurrvalReg_SPEC> as RegisterValue<_>>::new(0)
8594    }
8595}
8596
8597#[doc(hidden)]
8598#[derive(Copy, Clone, Eq, PartialEq)]
8599pub struct FtdfTschControl0Reg_SPEC;
8600impl crate::sealed::RegSpec for FtdfTschControl0Reg_SPEC {
8601    type DataType = u32;
8602}
8603
8604#[doc = "Lmac tsch control register"]
8605pub type FtdfTschControl0Reg = crate::RegValueT<FtdfTschControl0Reg_SPEC>;
8606
8607impl FtdfTschControl0Reg {
8608    #[doc = "TSCH mode: The times to wait for start of frame"]
8609    #[inline(always)]
8610    pub fn mactsrxwait(
8611        self,
8612    ) -> crate::common::RegisterField<
8613        16,
8614        0xffff,
8615        1,
8616        0,
8617        u16,
8618        u16,
8619        FtdfTschControl0Reg_SPEC,
8620        crate::common::RW,
8621    > {
8622        crate::common::RegisterField::<
8623            16,
8624            0xffff,
8625            1,
8626            0,
8627            u16,
8628            u16,
8629            FtdfTschControl0Reg_SPEC,
8630            crate::common::RW,
8631        >::from_register(self, 0)
8632    }
8633
8634    #[doc = "TSCH mode: the time between the end of a Rx frame and the start of an Enhanced Acknowlegde frame."]
8635    #[inline(always)]
8636    pub fn mactstxackdelay(
8637        self,
8638    ) -> crate::common::RegisterField<
8639        0,
8640        0xffff,
8641        1,
8642        0,
8643        u16,
8644        u16,
8645        FtdfTschControl0Reg_SPEC,
8646        crate::common::RW,
8647    > {
8648        crate::common::RegisterField::<
8649            0,
8650            0xffff,
8651            1,
8652            0,
8653            u16,
8654            u16,
8655            FtdfTschControl0Reg_SPEC,
8656            crate::common::RW,
8657        >::from_register(self, 0)
8658    }
8659}
8660impl ::core::default::Default for FtdfTschControl0Reg {
8661    #[inline(always)]
8662    fn default() -> FtdfTschControl0Reg {
8663        <crate::RegValueT<FtdfTschControl0Reg_SPEC> as RegisterValue<_>>::new(144180200)
8664    }
8665}
8666
8667#[doc(hidden)]
8668#[derive(Copy, Clone, Eq, PartialEq)]
8669pub struct FtdfTschControl1Reg_SPEC;
8670impl crate::sealed::RegSpec for FtdfTschControl1Reg_SPEC {
8671    type DataType = u32;
8672}
8673
8674#[doc = "Lmac tsch control register"]
8675pub type FtdfTschControl1Reg = crate::RegValueT<FtdfTschControl1Reg_SPEC>;
8676
8677impl FtdfTschControl1Reg {
8678    #[doc = "TSCH mode: The time between the CCA and the TX of a frame"]
8679    #[inline(always)]
8680    pub fn mactsrxtx(
8681        self,
8682    ) -> crate::common::RegisterField<
8683        0,
8684        0xffff,
8685        1,
8686        0,
8687        u16,
8688        u16,
8689        FtdfTschControl1Reg_SPEC,
8690        crate::common::RW,
8691    > {
8692        crate::common::RegisterField::<
8693            0,
8694            0xffff,
8695            1,
8696            0,
8697            u16,
8698            u16,
8699            FtdfTschControl1Reg_SPEC,
8700            crate::common::RW,
8701        >::from_register(self, 0)
8702    }
8703}
8704impl ::core::default::Default for FtdfTschControl1Reg {
8705    #[inline(always)]
8706    fn default() -> FtdfTschControl1Reg {
8707        <crate::RegValueT<FtdfTschControl1Reg_SPEC> as RegisterValue<_>>::new(192)
8708    }
8709}
8710
8711#[doc(hidden)]
8712#[derive(Copy, Clone, Eq, PartialEq)]
8713pub struct FtdfTschControl2Reg_SPEC;
8714impl crate::sealed::RegSpec for FtdfTschControl2Reg_SPEC {
8715    type DataType = u32;
8716}
8717
8718#[doc = "Lmac tsch control register"]
8719pub type FtdfTschControl2Reg = crate::RegValueT<FtdfTschControl2Reg_SPEC>;
8720
8721impl FtdfTschControl2Reg {
8722    #[doc = "TSCH mode: The minimum time to wait for start of an Acknowledgement"]
8723    #[inline(always)]
8724    pub fn mactsackwait(
8725        self,
8726    ) -> crate::common::RegisterField<
8727        16,
8728        0xffff,
8729        1,
8730        0,
8731        u16,
8732        u16,
8733        FtdfTschControl2Reg_SPEC,
8734        crate::common::RW,
8735    > {
8736        crate::common::RegisterField::<
8737            16,
8738            0xffff,
8739            1,
8740            0,
8741            u16,
8742            u16,
8743            FtdfTschControl2Reg_SPEC,
8744            crate::common::RW,
8745        >::from_register(self, 0)
8746    }
8747
8748    #[doc = "TSCH mode: End of frame to when the transmitter shall listen for Acknowledgement"]
8749    #[inline(always)]
8750    pub fn mactsrxackdelay(
8751        self,
8752    ) -> crate::common::RegisterField<
8753        0,
8754        0xffff,
8755        1,
8756        0,
8757        u16,
8758        u16,
8759        FtdfTschControl2Reg_SPEC,
8760        crate::common::RW,
8761    > {
8762        crate::common::RegisterField::<
8763            0,
8764            0xffff,
8765            1,
8766            0,
8767            u16,
8768            u16,
8769            FtdfTschControl2Reg_SPEC,
8770            crate::common::RW,
8771        >::from_register(self, 0)
8772    }
8773}
8774impl ::core::default::Default for FtdfTschControl2Reg {
8775    #[inline(always)]
8776    fn default() -> FtdfTschControl2Reg {
8777        <crate::RegValueT<FtdfTschControl2Reg_SPEC> as RegisterValue<_>>::new(26215200)
8778    }
8779}
8780
8781#[doc(hidden)]
8782#[derive(Copy, Clone, Eq, PartialEq)]
8783pub struct FtdfTxbyteEReg_SPEC;
8784impl crate::sealed::RegSpec for FtdfTxbyteEReg_SPEC {
8785    type DataType = u32;
8786}
8787
8788#[doc = "Transmit first byte register"]
8789pub type FtdfTxbyteEReg = crate::RegValueT<FtdfTxbyteEReg_SPEC>;
8790
8791impl FtdfTxbyteEReg {
8792    #[doc = "If set to \'1\', it indicates the last symbol of a frame is transmitted\nThis event bit contributes to ftdf_ce\\[4\\]."]
8793    #[inline(always)]
8794    pub fn tx_last_symbol_e(
8795        self,
8796    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxbyteEReg_SPEC, crate::common::RW> {
8797        crate::common::RegisterFieldBool::<1,1,0,FtdfTxbyteEReg_SPEC,crate::common::RW>::from_register(self,0)
8798    }
8799
8800    #[doc = "If set to \'1\', it indicates the first byte of a frame is transmitted\nThis event bit contributes to ftdf_ce\\[4\\]."]
8801    #[inline(always)]
8802    pub fn txbyte_e(
8803        self,
8804    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxbyteEReg_SPEC, crate::common::RW> {
8805        crate::common::RegisterFieldBool::<0,1,0,FtdfTxbyteEReg_SPEC,crate::common::RW>::from_register(self,0)
8806    }
8807}
8808impl ::core::default::Default for FtdfTxbyteEReg {
8809    #[inline(always)]
8810    fn default() -> FtdfTxbyteEReg {
8811        <crate::RegValueT<FtdfTxbyteEReg_SPEC> as RegisterValue<_>>::new(0)
8812    }
8813}
8814
8815#[doc(hidden)]
8816#[derive(Copy, Clone, Eq, PartialEq)]
8817pub struct FtdfTxbyteMReg_SPEC;
8818impl crate::sealed::RegSpec for FtdfTxbyteMReg_SPEC {
8819    type DataType = u32;
8820}
8821
8822#[doc = "Transmit first byte mask register"]
8823pub type FtdfTxbyteMReg = crate::RegValueT<FtdfTxbyteMReg_SPEC>;
8824
8825impl FtdfTxbyteMReg {
8826    #[doc = "Mask bit for event tx_last_symbol_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
8827    #[inline(always)]
8828    pub fn tx_last_symbol_m(
8829        self,
8830    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxbyteMReg_SPEC, crate::common::RW> {
8831        crate::common::RegisterFieldBool::<1,1,0,FtdfTxbyteMReg_SPEC,crate::common::RW>::from_register(self,0)
8832    }
8833
8834    #[doc = "Mask bit for event txbyte_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
8835    #[inline(always)]
8836    pub fn txbyte_m(
8837        self,
8838    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxbyteMReg_SPEC, crate::common::RW> {
8839        crate::common::RegisterFieldBool::<0,1,0,FtdfTxbyteMReg_SPEC,crate::common::RW>::from_register(self,0)
8840    }
8841}
8842impl ::core::default::Default for FtdfTxbyteMReg {
8843    #[inline(always)]
8844    fn default() -> FtdfTxbyteMReg {
8845        <crate::RegValueT<FtdfTxbyteMReg_SPEC> as RegisterValue<_>>::new(0)
8846    }
8847}
8848
8849#[doc(hidden)]
8850#[derive(Copy, Clone, Eq, PartialEq)]
8851pub struct FtdfTxpipepropdelayReg_SPEC;
8852impl crate::sealed::RegSpec for FtdfTxpipepropdelayReg_SPEC {
8853    type DataType = u32;
8854}
8855
8856#[doc = "Prop delay transmit register"]
8857pub type FtdfTxpipepropdelayReg = crate::RegValueT<FtdfTxpipepropdelayReg_SPEC>;
8858
8859impl FtdfTxpipepropdelayReg {
8860    #[doc = "Propagation delay (in us) of the tx pipe, between start of transmission (indicated by setting tx_flag_status) to the DPHY.\nThe reset value is 0 us, which is also the closest value to the real implementation figure."]
8861    #[inline(always)]
8862    pub fn txpipepropdelay(
8863        self,
8864    ) -> crate::common::RegisterField<
8865        0,
8866        0xff,
8867        1,
8868        0,
8869        u8,
8870        u8,
8871        FtdfTxpipepropdelayReg_SPEC,
8872        crate::common::RW,
8873    > {
8874        crate::common::RegisterField::<
8875            0,
8876            0xff,
8877            1,
8878            0,
8879            u8,
8880            u8,
8881            FtdfTxpipepropdelayReg_SPEC,
8882            crate::common::RW,
8883        >::from_register(self, 0)
8884    }
8885}
8886impl ::core::default::Default for FtdfTxpipepropdelayReg {
8887    #[inline(always)]
8888    fn default() -> FtdfTxpipepropdelayReg {
8889        <crate::RegValueT<FtdfTxpipepropdelayReg_SPEC> as RegisterValue<_>>::new(0)
8890    }
8891}
8892
8893#[doc(hidden)]
8894#[derive(Copy, Clone, Eq, PartialEq)]
8895pub struct FtdfTxClearOsReg_SPEC;
8896impl crate::sealed::RegSpec for FtdfTxClearOsReg_SPEC {
8897    type DataType = u32;
8898}
8899
8900#[doc = "One shot register to clear flag"]
8901pub type FtdfTxClearOsReg = crate::RegValueT<FtdfTxClearOsReg_SPEC>;
8902
8903impl FtdfTxClearOsReg {
8904    #[doc = "Tx meta data per entry: if set to \'1\', the tx_flag_stat will be cleared to \'0\'."]
8905    #[inline(always)]
8906    pub fn tx_flag_clear(
8907        self,
8908    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, FtdfTxClearOsReg_SPEC, crate::common::W>
8909    {
8910        crate::common::RegisterField::<0,0xf,1,0,u8,u8,FtdfTxClearOsReg_SPEC,crate::common::W>::from_register(self,0)
8911    }
8912}
8913impl ::core::default::Default for FtdfTxClearOsReg {
8914    #[inline(always)]
8915    fn default() -> FtdfTxClearOsReg {
8916        <crate::RegValueT<FtdfTxClearOsReg_SPEC> as RegisterValue<_>>::new(0)
8917    }
8918}
8919
8920#[doc(hidden)]
8921#[derive(Copy, Clone, Eq, PartialEq)]
8922pub struct FtdfTxControl0Reg_SPEC;
8923impl crate::sealed::RegSpec for FtdfTxControl0Reg_SPEC {
8924    type DataType = u32;
8925}
8926
8927#[doc = "Transmit control register"]
8928pub type FtdfTxControl0Reg = crate::RegValueT<FtdfTxControl0Reg_SPEC>;
8929
8930impl FtdfTxControl0Reg {
8931    #[doc = "CSMA-CA: Maximum number of CSMA-CA backoffs (range 0-5)"]
8932    #[inline(always)]
8933    pub fn macmaxcsmabackoffs(
8934        self,
8935    ) -> crate::common::RegisterField<
8936        12,
8937        0x7,
8938        1,
8939        0,
8940        u8,
8941        u8,
8942        FtdfTxControl0Reg_SPEC,
8943        crate::common::RW,
8944    > {
8945        crate::common::RegisterField::<
8946            12,
8947            0x7,
8948            1,
8949            0,
8950            u8,
8951            u8,
8952            FtdfTxControl0Reg_SPEC,
8953            crate::common::RW,
8954        >::from_register(self, 0)
8955    }
8956
8957    #[doc = "CSMA-CA: Minimum Backoff Exponent (range 0-macMaxBE)"]
8958    #[inline(always)]
8959    pub fn macminbe(
8960        self,
8961    ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, FtdfTxControl0Reg_SPEC, crate::common::RW>
8962    {
8963        crate::common::RegisterField::<
8964            8,
8965            0xf,
8966            1,
8967            0,
8968            u8,
8969            u8,
8970            FtdfTxControl0Reg_SPEC,
8971            crate::common::RW,
8972        >::from_register(self, 0)
8973    }
8974
8975    #[doc = "CSMA-CA: Maximum Backoff Exponent (range 3-8)"]
8976    #[inline(always)]
8977    pub fn macmaxbe(
8978        self,
8979    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, FtdfTxControl0Reg_SPEC, crate::common::RW>
8980    {
8981        crate::common::RegisterField::<
8982            4,
8983            0xf,
8984            1,
8985            0,
8986            u8,
8987            u8,
8988            FtdfTxControl0Reg_SPEC,
8989            crate::common::RW,
8990        >::from_register(self, 0)
8991    }
8992
8993    #[doc = "If set to \'1\', the MPDU octets pass transparently through the MAC in the transmit direction (for debug purpose)."]
8994    #[inline(always)]
8995    pub fn dbgtxtransparentmode(
8996        self,
8997    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxControl0Reg_SPEC, crate::common::RW> {
8998        crate::common::RegisterFieldBool::<0,1,0,FtdfTxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
8999    }
9000}
9001impl ::core::default::Default for FtdfTxControl0Reg {
9002    #[inline(always)]
9003    fn default() -> FtdfTxControl0Reg {
9004        <crate::RegValueT<FtdfTxControl0Reg_SPEC> as RegisterValue<_>>::new(17232)
9005    }
9006}
9007
9008#[doc(hidden)]
9009#[derive(Copy, Clone, Eq, PartialEq)]
9010pub struct FtdfTxFifo00Reg_SPEC;
9011impl crate::sealed::RegSpec for FtdfTxFifo00Reg_SPEC {
9012    type DataType = u32;
9013}
9014
9015#[doc = "Address transmit fifo 0"]
9016pub type FtdfTxFifo00Reg = crate::RegValueT<FtdfTxFifo00Reg_SPEC>;
9017
9018impl FtdfTxFifo00Reg {
9019    #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9020    #[inline(always)]
9021    pub fn tx_fifo(
9022        self,
9023    ) -> crate::common::RegisterField<
9024        0,
9025        0xffffffff,
9026        1,
9027        0,
9028        u32,
9029        u32,
9030        FtdfTxFifo00Reg_SPEC,
9031        crate::common::RW,
9032    > {
9033        crate::common::RegisterField::<
9034            0,
9035            0xffffffff,
9036            1,
9037            0,
9038            u32,
9039            u32,
9040            FtdfTxFifo00Reg_SPEC,
9041            crate::common::RW,
9042        >::from_register(self, 0)
9043    }
9044}
9045impl ::core::default::Default for FtdfTxFifo00Reg {
9046    #[inline(always)]
9047    fn default() -> FtdfTxFifo00Reg {
9048        <crate::RegValueT<FtdfTxFifo00Reg_SPEC> as RegisterValue<_>>::new(0)
9049    }
9050}
9051
9052#[doc(hidden)]
9053#[derive(Copy, Clone, Eq, PartialEq)]
9054pub struct FtdfTxFifo10Reg_SPEC;
9055impl crate::sealed::RegSpec for FtdfTxFifo10Reg_SPEC {
9056    type DataType = u32;
9057}
9058
9059#[doc = "Address transmit fifo 1"]
9060pub type FtdfTxFifo10Reg = crate::RegValueT<FtdfTxFifo10Reg_SPEC>;
9061
9062impl FtdfTxFifo10Reg {
9063    #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9064    #[inline(always)]
9065    pub fn tx_fifo(
9066        self,
9067    ) -> crate::common::RegisterField<
9068        0,
9069        0xffffffff,
9070        1,
9071        0,
9072        u32,
9073        u32,
9074        FtdfTxFifo10Reg_SPEC,
9075        crate::common::RW,
9076    > {
9077        crate::common::RegisterField::<
9078            0,
9079            0xffffffff,
9080            1,
9081            0,
9082            u32,
9083            u32,
9084            FtdfTxFifo10Reg_SPEC,
9085            crate::common::RW,
9086        >::from_register(self, 0)
9087    }
9088}
9089impl ::core::default::Default for FtdfTxFifo10Reg {
9090    #[inline(always)]
9091    fn default() -> FtdfTxFifo10Reg {
9092        <crate::RegValueT<FtdfTxFifo10Reg_SPEC> as RegisterValue<_>>::new(0)
9093    }
9094}
9095
9096#[doc(hidden)]
9097#[derive(Copy, Clone, Eq, PartialEq)]
9098pub struct FtdfTxFifo20Reg_SPEC;
9099impl crate::sealed::RegSpec for FtdfTxFifo20Reg_SPEC {
9100    type DataType = u32;
9101}
9102
9103#[doc = "Address transmit fifo 2"]
9104pub type FtdfTxFifo20Reg = crate::RegValueT<FtdfTxFifo20Reg_SPEC>;
9105
9106impl FtdfTxFifo20Reg {
9107    #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9108    #[inline(always)]
9109    pub fn tx_fifo(
9110        self,
9111    ) -> crate::common::RegisterField<
9112        0,
9113        0xffffffff,
9114        1,
9115        0,
9116        u32,
9117        u32,
9118        FtdfTxFifo20Reg_SPEC,
9119        crate::common::RW,
9120    > {
9121        crate::common::RegisterField::<
9122            0,
9123            0xffffffff,
9124            1,
9125            0,
9126            u32,
9127            u32,
9128            FtdfTxFifo20Reg_SPEC,
9129            crate::common::RW,
9130        >::from_register(self, 0)
9131    }
9132}
9133impl ::core::default::Default for FtdfTxFifo20Reg {
9134    #[inline(always)]
9135    fn default() -> FtdfTxFifo20Reg {
9136        <crate::RegValueT<FtdfTxFifo20Reg_SPEC> as RegisterValue<_>>::new(0)
9137    }
9138}
9139
9140#[doc(hidden)]
9141#[derive(Copy, Clone, Eq, PartialEq)]
9142pub struct FtdfTxFifo30Reg_SPEC;
9143impl crate::sealed::RegSpec for FtdfTxFifo30Reg_SPEC {
9144    type DataType = u32;
9145}
9146
9147#[doc = "Address transmit fifo 3"]
9148pub type FtdfTxFifo30Reg = crate::RegValueT<FtdfTxFifo30Reg_SPEC>;
9149
9150impl FtdfTxFifo30Reg {
9151    #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9152    #[inline(always)]
9153    pub fn tx_fifo(
9154        self,
9155    ) -> crate::common::RegisterField<
9156        0,
9157        0xffffffff,
9158        1,
9159        0,
9160        u32,
9161        u32,
9162        FtdfTxFifo30Reg_SPEC,
9163        crate::common::RW,
9164    > {
9165        crate::common::RegisterField::<
9166            0,
9167            0xffffffff,
9168            1,
9169            0,
9170            u32,
9171            u32,
9172            FtdfTxFifo30Reg_SPEC,
9173            crate::common::RW,
9174        >::from_register(self, 0)
9175    }
9176}
9177impl ::core::default::Default for FtdfTxFifo30Reg {
9178    #[inline(always)]
9179    fn default() -> FtdfTxFifo30Reg {
9180        <crate::RegValueT<FtdfTxFifo30Reg_SPEC> as RegisterValue<_>>::new(0)
9181    }
9182}
9183
9184#[doc(hidden)]
9185#[derive(Copy, Clone, Eq, PartialEq)]
9186pub struct FtdfTxFlagClearE0Reg_SPEC;
9187impl crate::sealed::RegSpec for FtdfTxFlagClearE0Reg_SPEC {
9188    type DataType = u32;
9189}
9190
9191#[doc = "Clear flag register 0"]
9192pub type FtdfTxFlagClearE0Reg = crate::RegValueT<FtdfTxFlagClearE0Reg_SPEC>;
9193
9194impl FtdfTxFlagClearE0Reg {
9195    #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9196    #[inline(always)]
9197    pub fn tx_flag_clear_e(
9198        self,
9199    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE0Reg_SPEC, crate::common::RW>
9200    {
9201        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE0Reg_SPEC,crate::common::RW>::from_register(self,0)
9202    }
9203}
9204impl ::core::default::Default for FtdfTxFlagClearE0Reg {
9205    #[inline(always)]
9206    fn default() -> FtdfTxFlagClearE0Reg {
9207        <crate::RegValueT<FtdfTxFlagClearE0Reg_SPEC> as RegisterValue<_>>::new(0)
9208    }
9209}
9210
9211#[doc(hidden)]
9212#[derive(Copy, Clone, Eq, PartialEq)]
9213pub struct FtdfTxFlagClearE1Reg_SPEC;
9214impl crate::sealed::RegSpec for FtdfTxFlagClearE1Reg_SPEC {
9215    type DataType = u32;
9216}
9217
9218#[doc = "Clear flag register 1"]
9219pub type FtdfTxFlagClearE1Reg = crate::RegValueT<FtdfTxFlagClearE1Reg_SPEC>;
9220
9221impl FtdfTxFlagClearE1Reg {
9222    #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9223    #[inline(always)]
9224    pub fn tx_flag_clear_e(
9225        self,
9226    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE1Reg_SPEC, crate::common::RW>
9227    {
9228        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE1Reg_SPEC,crate::common::RW>::from_register(self,0)
9229    }
9230}
9231impl ::core::default::Default for FtdfTxFlagClearE1Reg {
9232    #[inline(always)]
9233    fn default() -> FtdfTxFlagClearE1Reg {
9234        <crate::RegValueT<FtdfTxFlagClearE1Reg_SPEC> as RegisterValue<_>>::new(0)
9235    }
9236}
9237
9238#[doc(hidden)]
9239#[derive(Copy, Clone, Eq, PartialEq)]
9240pub struct FtdfTxFlagClearE2Reg_SPEC;
9241impl crate::sealed::RegSpec for FtdfTxFlagClearE2Reg_SPEC {
9242    type DataType = u32;
9243}
9244
9245#[doc = "Clear flag register 2"]
9246pub type FtdfTxFlagClearE2Reg = crate::RegValueT<FtdfTxFlagClearE2Reg_SPEC>;
9247
9248impl FtdfTxFlagClearE2Reg {
9249    #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9250    #[inline(always)]
9251    pub fn tx_flag_clear_e(
9252        self,
9253    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE2Reg_SPEC, crate::common::RW>
9254    {
9255        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE2Reg_SPEC,crate::common::RW>::from_register(self,0)
9256    }
9257}
9258impl ::core::default::Default for FtdfTxFlagClearE2Reg {
9259    #[inline(always)]
9260    fn default() -> FtdfTxFlagClearE2Reg {
9261        <crate::RegValueT<FtdfTxFlagClearE2Reg_SPEC> as RegisterValue<_>>::new(0)
9262    }
9263}
9264
9265#[doc(hidden)]
9266#[derive(Copy, Clone, Eq, PartialEq)]
9267pub struct FtdfTxFlagClearE3Reg_SPEC;
9268impl crate::sealed::RegSpec for FtdfTxFlagClearE3Reg_SPEC {
9269    type DataType = u32;
9270}
9271
9272#[doc = "Clear flag register 3"]
9273pub type FtdfTxFlagClearE3Reg = crate::RegValueT<FtdfTxFlagClearE3Reg_SPEC>;
9274
9275impl FtdfTxFlagClearE3Reg {
9276    #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9277    #[inline(always)]
9278    pub fn tx_flag_clear_e(
9279        self,
9280    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE3Reg_SPEC, crate::common::RW>
9281    {
9282        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE3Reg_SPEC,crate::common::RW>::from_register(self,0)
9283    }
9284}
9285impl ::core::default::Default for FtdfTxFlagClearE3Reg {
9286    #[inline(always)]
9287    fn default() -> FtdfTxFlagClearE3Reg {
9288        <crate::RegValueT<FtdfTxFlagClearE3Reg_SPEC> as RegisterValue<_>>::new(0)
9289    }
9290}
9291
9292#[doc(hidden)]
9293#[derive(Copy, Clone, Eq, PartialEq)]
9294pub struct FtdfTxFlagClearM0Reg_SPEC;
9295impl crate::sealed::RegSpec for FtdfTxFlagClearM0Reg_SPEC {
9296    type DataType = u32;
9297}
9298
9299#[doc = "Mask flag register 0"]
9300pub type FtdfTxFlagClearM0Reg = crate::RegValueT<FtdfTxFlagClearM0Reg_SPEC>;
9301
9302impl FtdfTxFlagClearM0Reg {
9303    #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9304    #[inline(always)]
9305    pub fn tx_flag_clear_m(
9306        self,
9307    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM0Reg_SPEC, crate::common::RW>
9308    {
9309        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM0Reg_SPEC,crate::common::RW>::from_register(self,0)
9310    }
9311}
9312impl ::core::default::Default for FtdfTxFlagClearM0Reg {
9313    #[inline(always)]
9314    fn default() -> FtdfTxFlagClearM0Reg {
9315        <crate::RegValueT<FtdfTxFlagClearM0Reg_SPEC> as RegisterValue<_>>::new(0)
9316    }
9317}
9318
9319#[doc(hidden)]
9320#[derive(Copy, Clone, Eq, PartialEq)]
9321pub struct FtdfTxFlagClearM1Reg_SPEC;
9322impl crate::sealed::RegSpec for FtdfTxFlagClearM1Reg_SPEC {
9323    type DataType = u32;
9324}
9325
9326#[doc = "Mask flag register 1"]
9327pub type FtdfTxFlagClearM1Reg = crate::RegValueT<FtdfTxFlagClearM1Reg_SPEC>;
9328
9329impl FtdfTxFlagClearM1Reg {
9330    #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9331    #[inline(always)]
9332    pub fn tx_flag_clear_m(
9333        self,
9334    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM1Reg_SPEC, crate::common::RW>
9335    {
9336        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM1Reg_SPEC,crate::common::RW>::from_register(self,0)
9337    }
9338}
9339impl ::core::default::Default for FtdfTxFlagClearM1Reg {
9340    #[inline(always)]
9341    fn default() -> FtdfTxFlagClearM1Reg {
9342        <crate::RegValueT<FtdfTxFlagClearM1Reg_SPEC> as RegisterValue<_>>::new(0)
9343    }
9344}
9345
9346#[doc(hidden)]
9347#[derive(Copy, Clone, Eq, PartialEq)]
9348pub struct FtdfTxFlagClearM2Reg_SPEC;
9349impl crate::sealed::RegSpec for FtdfTxFlagClearM2Reg_SPEC {
9350    type DataType = u32;
9351}
9352
9353#[doc = "Clear flag register 2"]
9354pub type FtdfTxFlagClearM2Reg = crate::RegValueT<FtdfTxFlagClearM2Reg_SPEC>;
9355
9356impl FtdfTxFlagClearM2Reg {
9357    #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9358    #[inline(always)]
9359    pub fn tx_flag_clear_m(
9360        self,
9361    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM2Reg_SPEC, crate::common::RW>
9362    {
9363        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM2Reg_SPEC,crate::common::RW>::from_register(self,0)
9364    }
9365}
9366impl ::core::default::Default for FtdfTxFlagClearM2Reg {
9367    #[inline(always)]
9368    fn default() -> FtdfTxFlagClearM2Reg {
9369        <crate::RegValueT<FtdfTxFlagClearM2Reg_SPEC> as RegisterValue<_>>::new(0)
9370    }
9371}
9372
9373#[doc(hidden)]
9374#[derive(Copy, Clone, Eq, PartialEq)]
9375pub struct FtdfTxFlagClearM3Reg_SPEC;
9376impl crate::sealed::RegSpec for FtdfTxFlagClearM3Reg_SPEC {
9377    type DataType = u32;
9378}
9379
9380#[doc = "Clear flag register 3"]
9381pub type FtdfTxFlagClearM3Reg = crate::RegValueT<FtdfTxFlagClearM3Reg_SPEC>;
9382
9383impl FtdfTxFlagClearM3Reg {
9384    #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9385    #[inline(always)]
9386    pub fn tx_flag_clear_m(
9387        self,
9388    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM3Reg_SPEC, crate::common::RW>
9389    {
9390        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM3Reg_SPEC,crate::common::RW>::from_register(self,0)
9391    }
9392}
9393impl ::core::default::Default for FtdfTxFlagClearM3Reg {
9394    #[inline(always)]
9395    fn default() -> FtdfTxFlagClearM3Reg {
9396        <crate::RegValueT<FtdfTxFlagClearM3Reg_SPEC> as RegisterValue<_>>::new(0)
9397    }
9398}
9399
9400#[doc(hidden)]
9401#[derive(Copy, Clone, Eq, PartialEq)]
9402pub struct FtdfTxFlagS0Reg_SPEC;
9403impl crate::sealed::RegSpec for FtdfTxFlagS0Reg_SPEC {
9404    type DataType = u32;
9405}
9406
9407#[doc = "Transmit packet ready for transmission register 0"]
9408pub type FtdfTxFlagS0Reg = crate::RegValueT<FtdfTxFlagS0Reg_SPEC>;
9409
9410impl FtdfTxFlagS0Reg {
9411    #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9412    #[inline(always)]
9413    pub fn tx_flag_stat(
9414        self,
9415    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS0Reg_SPEC, crate::common::R> {
9416        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS0Reg_SPEC,crate::common::R>::from_register(self,0)
9417    }
9418}
9419impl ::core::default::Default for FtdfTxFlagS0Reg {
9420    #[inline(always)]
9421    fn default() -> FtdfTxFlagS0Reg {
9422        <crate::RegValueT<FtdfTxFlagS0Reg_SPEC> as RegisterValue<_>>::new(0)
9423    }
9424}
9425
9426#[doc(hidden)]
9427#[derive(Copy, Clone, Eq, PartialEq)]
9428pub struct FtdfTxFlagS1Reg_SPEC;
9429impl crate::sealed::RegSpec for FtdfTxFlagS1Reg_SPEC {
9430    type DataType = u32;
9431}
9432
9433#[doc = "Transmit packet ready for transmission register 1"]
9434pub type FtdfTxFlagS1Reg = crate::RegValueT<FtdfTxFlagS1Reg_SPEC>;
9435
9436impl FtdfTxFlagS1Reg {
9437    #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9438    #[inline(always)]
9439    pub fn tx_flag_stat(
9440        self,
9441    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS1Reg_SPEC, crate::common::R> {
9442        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS1Reg_SPEC,crate::common::R>::from_register(self,0)
9443    }
9444}
9445impl ::core::default::Default for FtdfTxFlagS1Reg {
9446    #[inline(always)]
9447    fn default() -> FtdfTxFlagS1Reg {
9448        <crate::RegValueT<FtdfTxFlagS1Reg_SPEC> as RegisterValue<_>>::new(0)
9449    }
9450}
9451
9452#[doc(hidden)]
9453#[derive(Copy, Clone, Eq, PartialEq)]
9454pub struct FtdfTxFlagS2Reg_SPEC;
9455impl crate::sealed::RegSpec for FtdfTxFlagS2Reg_SPEC {
9456    type DataType = u32;
9457}
9458
9459#[doc = "Transmit packet ready for transmission register 2"]
9460pub type FtdfTxFlagS2Reg = crate::RegValueT<FtdfTxFlagS2Reg_SPEC>;
9461
9462impl FtdfTxFlagS2Reg {
9463    #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9464    #[inline(always)]
9465    pub fn tx_flag_stat(
9466        self,
9467    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS2Reg_SPEC, crate::common::R> {
9468        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS2Reg_SPEC,crate::common::R>::from_register(self,0)
9469    }
9470}
9471impl ::core::default::Default for FtdfTxFlagS2Reg {
9472    #[inline(always)]
9473    fn default() -> FtdfTxFlagS2Reg {
9474        <crate::RegValueT<FtdfTxFlagS2Reg_SPEC> as RegisterValue<_>>::new(0)
9475    }
9476}
9477
9478#[doc(hidden)]
9479#[derive(Copy, Clone, Eq, PartialEq)]
9480pub struct FtdfTxFlagS3Reg_SPEC;
9481impl crate::sealed::RegSpec for FtdfTxFlagS3Reg_SPEC {
9482    type DataType = u32;
9483}
9484
9485#[doc = "Transmit packet ready for transmission register 3"]
9486pub type FtdfTxFlagS3Reg = crate::RegValueT<FtdfTxFlagS3Reg_SPEC>;
9487
9488impl FtdfTxFlagS3Reg {
9489    #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9490    #[inline(always)]
9491    pub fn tx_flag_stat(
9492        self,
9493    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS3Reg_SPEC, crate::common::R> {
9494        crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS3Reg_SPEC,crate::common::R>::from_register(self,0)
9495    }
9496}
9497impl ::core::default::Default for FtdfTxFlagS3Reg {
9498    #[inline(always)]
9499    fn default() -> FtdfTxFlagS3Reg {
9500        <crate::RegValueT<FtdfTxFlagS3Reg_SPEC> as RegisterValue<_>>::new(0)
9501    }
9502}
9503
9504#[doc(hidden)]
9505#[derive(Copy, Clone, Eq, PartialEq)]
9506pub struct FtdfTxMetaData00Reg_SPEC;
9507impl crate::sealed::RegSpec for FtdfTxMetaData00Reg_SPEC {
9508    type DataType = u32;
9509}
9510
9511#[doc = "Transmit metadata register 0"]
9512pub type FtdfTxMetaData00Reg = crate::RegValueT<FtdfTxMetaData00Reg_SPEC>;
9513
9514impl FtdfTxMetaData00Reg {
9515    #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
9516    #[inline(always)]
9517    pub fn crc16_ena(
9518        self,
9519    ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9520    {
9521        crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9522    }
9523
9524    #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
9525    #[inline(always)]
9526    pub fn ackrequest(
9527        self,
9528    ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9529    {
9530        crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9531    }
9532
9533    #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
9534    #[inline(always)]
9535    pub fn csmaca_ena(
9536        self,
9537    ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9538    {
9539        crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9540    }
9541
9542    #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
9543    #[inline(always)]
9544    pub fn frametype(
9545        self,
9546    ) -> crate::common::RegisterField<
9547        23,
9548        0x7,
9549        1,
9550        0,
9551        u8,
9552        u8,
9553        FtdfTxMetaData00Reg_SPEC,
9554        crate::common::RW,
9555    > {
9556        crate::common::RegisterField::<
9557            23,
9558            0x7,
9559            1,
9560            0,
9561            u8,
9562            u8,
9563            FtdfTxMetaData00Reg_SPEC,
9564            crate::common::RW,
9565        >::from_register(self, 0)
9566    }
9567
9568    #[doc = "HighSide injection."]
9569    #[inline(always)]
9570    pub fn phyattr_hsi(
9571        self,
9572    ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9573    {
9574        crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9575    }
9576
9577    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
9578    #[inline(always)]
9579    pub fn phyattr_rf_gpio_pins(
9580        self,
9581    ) -> crate::common::RegisterField<
9582        19,
9583        0x7,
9584        1,
9585        0,
9586        u8,
9587        u8,
9588        FtdfTxMetaData00Reg_SPEC,
9589        crate::common::RW,
9590    > {
9591        crate::common::RegisterField::<
9592            19,
9593            0x7,
9594            1,
9595            0,
9596            u8,
9597            u8,
9598            FtdfTxMetaData00Reg_SPEC,
9599            crate::common::RW,
9600        >::from_register(self, 0)
9601    }
9602
9603    #[doc = "CalCap value."]
9604    #[inline(always)]
9605    pub fn phyattr_calcap(
9606        self,
9607    ) -> crate::common::RegisterField<
9608        15,
9609        0xf,
9610        1,
9611        0,
9612        u8,
9613        u8,
9614        FtdfTxMetaData00Reg_SPEC,
9615        crate::common::RW,
9616    > {
9617        crate::common::RegisterField::<
9618            15,
9619            0xf,
9620            1,
9621            0,
9622            u8,
9623            u8,
9624            FtdfTxMetaData00Reg_SPEC,
9625            crate::common::RW,
9626        >::from_register(self, 0)
9627    }
9628
9629    #[doc = "Channel Number."]
9630    #[inline(always)]
9631    pub fn phyattr_cn(
9632        self,
9633    ) -> crate::common::RegisterField<
9634        11,
9635        0xf,
9636        1,
9637        0,
9638        u8,
9639        u8,
9640        FtdfTxMetaData00Reg_SPEC,
9641        crate::common::RW,
9642    > {
9643        crate::common::RegisterField::<
9644            11,
9645            0xf,
9646            1,
9647            0,
9648            u8,
9649            u8,
9650            FtdfTxMetaData00Reg_SPEC,
9651            crate::common::RW,
9652        >::from_register(self, 0)
9653    }
9654
9655    #[doc = "DEM packet information."]
9656    #[inline(always)]
9657    pub fn phyattr_dem_pti(
9658        self,
9659    ) -> crate::common::RegisterField<
9660        7,
9661        0xf,
9662        1,
9663        0,
9664        u8,
9665        u8,
9666        FtdfTxMetaData00Reg_SPEC,
9667        crate::common::RW,
9668    > {
9669        crate::common::RegisterField::<
9670            7,
9671            0xf,
9672            1,
9673            0,
9674            u8,
9675            u8,
9676            FtdfTxMetaData00Reg_SPEC,
9677            crate::common::RW,
9678        >::from_register(self, 0)
9679    }
9680
9681    #[doc = "Tx meta data per entry: Frame length (in bytes)"]
9682    #[inline(always)]
9683    pub fn frame_length(
9684        self,
9685    ) -> crate::common::RegisterField<
9686        0,
9687        0x7f,
9688        1,
9689        0,
9690        u8,
9691        u8,
9692        FtdfTxMetaData00Reg_SPEC,
9693        crate::common::RW,
9694    > {
9695        crate::common::RegisterField::<
9696            0,
9697            0x7f,
9698            1,
9699            0,
9700            u8,
9701            u8,
9702            FtdfTxMetaData00Reg_SPEC,
9703            crate::common::RW,
9704        >::from_register(self, 0)
9705    }
9706}
9707impl ::core::default::Default for FtdfTxMetaData00Reg {
9708    #[inline(always)]
9709    fn default() -> FtdfTxMetaData00Reg {
9710        <crate::RegValueT<FtdfTxMetaData00Reg_SPEC> as RegisterValue<_>>::new(0)
9711    }
9712}
9713
9714#[doc(hidden)]
9715#[derive(Copy, Clone, Eq, PartialEq)]
9716pub struct FtdfTxMetaData01Reg_SPEC;
9717impl crate::sealed::RegSpec for FtdfTxMetaData01Reg_SPEC {
9718    type DataType = u32;
9719}
9720
9721#[doc = "Transmit metadata register 1"]
9722pub type FtdfTxMetaData01Reg = crate::RegValueT<FtdfTxMetaData01Reg_SPEC>;
9723
9724impl FtdfTxMetaData01Reg {
9725    #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
9726    #[inline(always)]
9727    pub fn crc16_ena(
9728        self,
9729    ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9730    {
9731        crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9732    }
9733
9734    #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
9735    #[inline(always)]
9736    pub fn ackrequest(
9737        self,
9738    ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9739    {
9740        crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9741    }
9742
9743    #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
9744    #[inline(always)]
9745    pub fn csmaca_ena(
9746        self,
9747    ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9748    {
9749        crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9750    }
9751
9752    #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
9753    #[inline(always)]
9754    pub fn frametype(
9755        self,
9756    ) -> crate::common::RegisterField<
9757        23,
9758        0x7,
9759        1,
9760        0,
9761        u8,
9762        u8,
9763        FtdfTxMetaData01Reg_SPEC,
9764        crate::common::RW,
9765    > {
9766        crate::common::RegisterField::<
9767            23,
9768            0x7,
9769            1,
9770            0,
9771            u8,
9772            u8,
9773            FtdfTxMetaData01Reg_SPEC,
9774            crate::common::RW,
9775        >::from_register(self, 0)
9776    }
9777
9778    #[doc = "HighSide injection."]
9779    #[inline(always)]
9780    pub fn phyattr_hsi(
9781        self,
9782    ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9783    {
9784        crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9785    }
9786
9787    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
9788    #[inline(always)]
9789    pub fn phyattr_rf_gpio_pins(
9790        self,
9791    ) -> crate::common::RegisterField<
9792        19,
9793        0x7,
9794        1,
9795        0,
9796        u8,
9797        u8,
9798        FtdfTxMetaData01Reg_SPEC,
9799        crate::common::RW,
9800    > {
9801        crate::common::RegisterField::<
9802            19,
9803            0x7,
9804            1,
9805            0,
9806            u8,
9807            u8,
9808            FtdfTxMetaData01Reg_SPEC,
9809            crate::common::RW,
9810        >::from_register(self, 0)
9811    }
9812
9813    #[doc = "CalCap value."]
9814    #[inline(always)]
9815    pub fn phyattr_calcap(
9816        self,
9817    ) -> crate::common::RegisterField<
9818        15,
9819        0xf,
9820        1,
9821        0,
9822        u8,
9823        u8,
9824        FtdfTxMetaData01Reg_SPEC,
9825        crate::common::RW,
9826    > {
9827        crate::common::RegisterField::<
9828            15,
9829            0xf,
9830            1,
9831            0,
9832            u8,
9833            u8,
9834            FtdfTxMetaData01Reg_SPEC,
9835            crate::common::RW,
9836        >::from_register(self, 0)
9837    }
9838
9839    #[doc = "Channel Number."]
9840    #[inline(always)]
9841    pub fn phyattr_cn(
9842        self,
9843    ) -> crate::common::RegisterField<
9844        11,
9845        0xf,
9846        1,
9847        0,
9848        u8,
9849        u8,
9850        FtdfTxMetaData01Reg_SPEC,
9851        crate::common::RW,
9852    > {
9853        crate::common::RegisterField::<
9854            11,
9855            0xf,
9856            1,
9857            0,
9858            u8,
9859            u8,
9860            FtdfTxMetaData01Reg_SPEC,
9861            crate::common::RW,
9862        >::from_register(self, 0)
9863    }
9864
9865    #[doc = "DEM packet information."]
9866    #[inline(always)]
9867    pub fn phyattr_dem_pti(
9868        self,
9869    ) -> crate::common::RegisterField<
9870        7,
9871        0xf,
9872        1,
9873        0,
9874        u8,
9875        u8,
9876        FtdfTxMetaData01Reg_SPEC,
9877        crate::common::RW,
9878    > {
9879        crate::common::RegisterField::<
9880            7,
9881            0xf,
9882            1,
9883            0,
9884            u8,
9885            u8,
9886            FtdfTxMetaData01Reg_SPEC,
9887            crate::common::RW,
9888        >::from_register(self, 0)
9889    }
9890
9891    #[doc = "Tx meta data per entry: Frame length (in bytes)"]
9892    #[inline(always)]
9893    pub fn frame_length(
9894        self,
9895    ) -> crate::common::RegisterField<
9896        0,
9897        0x7f,
9898        1,
9899        0,
9900        u8,
9901        u8,
9902        FtdfTxMetaData01Reg_SPEC,
9903        crate::common::RW,
9904    > {
9905        crate::common::RegisterField::<
9906            0,
9907            0x7f,
9908            1,
9909            0,
9910            u8,
9911            u8,
9912            FtdfTxMetaData01Reg_SPEC,
9913            crate::common::RW,
9914        >::from_register(self, 0)
9915    }
9916}
9917impl ::core::default::Default for FtdfTxMetaData01Reg {
9918    #[inline(always)]
9919    fn default() -> FtdfTxMetaData01Reg {
9920        <crate::RegValueT<FtdfTxMetaData01Reg_SPEC> as RegisterValue<_>>::new(0)
9921    }
9922}
9923
9924#[doc(hidden)]
9925#[derive(Copy, Clone, Eq, PartialEq)]
9926pub struct FtdfTxMetaData02Reg_SPEC;
9927impl crate::sealed::RegSpec for FtdfTxMetaData02Reg_SPEC {
9928    type DataType = u32;
9929}
9930
9931#[doc = "Transmit metadata register 2"]
9932pub type FtdfTxMetaData02Reg = crate::RegValueT<FtdfTxMetaData02Reg_SPEC>;
9933
9934impl FtdfTxMetaData02Reg {
9935    #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
9936    #[inline(always)]
9937    pub fn crc16_ena(
9938        self,
9939    ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9940    {
9941        crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9942    }
9943
9944    #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
9945    #[inline(always)]
9946    pub fn ackrequest(
9947        self,
9948    ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9949    {
9950        crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9951    }
9952
9953    #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
9954    #[inline(always)]
9955    pub fn csmaca_ena(
9956        self,
9957    ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9958    {
9959        crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9960    }
9961
9962    #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
9963    #[inline(always)]
9964    pub fn frametype(
9965        self,
9966    ) -> crate::common::RegisterField<
9967        23,
9968        0x7,
9969        1,
9970        0,
9971        u8,
9972        u8,
9973        FtdfTxMetaData02Reg_SPEC,
9974        crate::common::RW,
9975    > {
9976        crate::common::RegisterField::<
9977            23,
9978            0x7,
9979            1,
9980            0,
9981            u8,
9982            u8,
9983            FtdfTxMetaData02Reg_SPEC,
9984            crate::common::RW,
9985        >::from_register(self, 0)
9986    }
9987
9988    #[doc = "HighSide injection."]
9989    #[inline(always)]
9990    pub fn phyattr_hsi(
9991        self,
9992    ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9993    {
9994        crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9995    }
9996
9997    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
9998    #[inline(always)]
9999    pub fn phyattr_rf_gpio_pins(
10000        self,
10001    ) -> crate::common::RegisterField<
10002        19,
10003        0x7,
10004        1,
10005        0,
10006        u8,
10007        u8,
10008        FtdfTxMetaData02Reg_SPEC,
10009        crate::common::RW,
10010    > {
10011        crate::common::RegisterField::<
10012            19,
10013            0x7,
10014            1,
10015            0,
10016            u8,
10017            u8,
10018            FtdfTxMetaData02Reg_SPEC,
10019            crate::common::RW,
10020        >::from_register(self, 0)
10021    }
10022
10023    #[doc = "CalCap value."]
10024    #[inline(always)]
10025    pub fn phyattr_calcap(
10026        self,
10027    ) -> crate::common::RegisterField<
10028        15,
10029        0xf,
10030        1,
10031        0,
10032        u8,
10033        u8,
10034        FtdfTxMetaData02Reg_SPEC,
10035        crate::common::RW,
10036    > {
10037        crate::common::RegisterField::<
10038            15,
10039            0xf,
10040            1,
10041            0,
10042            u8,
10043            u8,
10044            FtdfTxMetaData02Reg_SPEC,
10045            crate::common::RW,
10046        >::from_register(self, 0)
10047    }
10048
10049    #[doc = "Channel Number."]
10050    #[inline(always)]
10051    pub fn phyattr_cn(
10052        self,
10053    ) -> crate::common::RegisterField<
10054        11,
10055        0xf,
10056        1,
10057        0,
10058        u8,
10059        u8,
10060        FtdfTxMetaData02Reg_SPEC,
10061        crate::common::RW,
10062    > {
10063        crate::common::RegisterField::<
10064            11,
10065            0xf,
10066            1,
10067            0,
10068            u8,
10069            u8,
10070            FtdfTxMetaData02Reg_SPEC,
10071            crate::common::RW,
10072        >::from_register(self, 0)
10073    }
10074
10075    #[doc = "DEM packet information."]
10076    #[inline(always)]
10077    pub fn phyattr_dem_pti(
10078        self,
10079    ) -> crate::common::RegisterField<
10080        7,
10081        0xf,
10082        1,
10083        0,
10084        u8,
10085        u8,
10086        FtdfTxMetaData02Reg_SPEC,
10087        crate::common::RW,
10088    > {
10089        crate::common::RegisterField::<
10090            7,
10091            0xf,
10092            1,
10093            0,
10094            u8,
10095            u8,
10096            FtdfTxMetaData02Reg_SPEC,
10097            crate::common::RW,
10098        >::from_register(self, 0)
10099    }
10100
10101    #[doc = "Tx meta data per entry: Frame length (in bytes)"]
10102    #[inline(always)]
10103    pub fn frame_length(
10104        self,
10105    ) -> crate::common::RegisterField<
10106        0,
10107        0x7f,
10108        1,
10109        0,
10110        u8,
10111        u8,
10112        FtdfTxMetaData02Reg_SPEC,
10113        crate::common::RW,
10114    > {
10115        crate::common::RegisterField::<
10116            0,
10117            0x7f,
10118            1,
10119            0,
10120            u8,
10121            u8,
10122            FtdfTxMetaData02Reg_SPEC,
10123            crate::common::RW,
10124        >::from_register(self, 0)
10125    }
10126}
10127impl ::core::default::Default for FtdfTxMetaData02Reg {
10128    #[inline(always)]
10129    fn default() -> FtdfTxMetaData02Reg {
10130        <crate::RegValueT<FtdfTxMetaData02Reg_SPEC> as RegisterValue<_>>::new(0)
10131    }
10132}
10133
10134#[doc(hidden)]
10135#[derive(Copy, Clone, Eq, PartialEq)]
10136pub struct FtdfTxMetaData03Reg_SPEC;
10137impl crate::sealed::RegSpec for FtdfTxMetaData03Reg_SPEC {
10138    type DataType = u32;
10139}
10140
10141#[doc = "Transmit metadata register 3"]
10142pub type FtdfTxMetaData03Reg = crate::RegValueT<FtdfTxMetaData03Reg_SPEC>;
10143
10144impl FtdfTxMetaData03Reg {
10145    #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
10146    #[inline(always)]
10147    pub fn crc16_ena(
10148        self,
10149    ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10150    {
10151        crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10152    }
10153
10154    #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
10155    #[inline(always)]
10156    pub fn ackrequest(
10157        self,
10158    ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10159    {
10160        crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10161    }
10162
10163    #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
10164    #[inline(always)]
10165    pub fn csmaca_ena(
10166        self,
10167    ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10168    {
10169        crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10170    }
10171
10172    #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
10173    #[inline(always)]
10174    pub fn frametype(
10175        self,
10176    ) -> crate::common::RegisterField<
10177        23,
10178        0x7,
10179        1,
10180        0,
10181        u8,
10182        u8,
10183        FtdfTxMetaData03Reg_SPEC,
10184        crate::common::RW,
10185    > {
10186        crate::common::RegisterField::<
10187            23,
10188            0x7,
10189            1,
10190            0,
10191            u8,
10192            u8,
10193            FtdfTxMetaData03Reg_SPEC,
10194            crate::common::RW,
10195        >::from_register(self, 0)
10196    }
10197
10198    #[doc = "HighSide injection."]
10199    #[inline(always)]
10200    pub fn phyattr_hsi(
10201        self,
10202    ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10203    {
10204        crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10205    }
10206
10207    #[doc = "Slot-basis signals mapped on GPIO via PPA."]
10208    #[inline(always)]
10209    pub fn phyattr_rf_gpio_pins(
10210        self,
10211    ) -> crate::common::RegisterField<
10212        19,
10213        0x7,
10214        1,
10215        0,
10216        u8,
10217        u8,
10218        FtdfTxMetaData03Reg_SPEC,
10219        crate::common::RW,
10220    > {
10221        crate::common::RegisterField::<
10222            19,
10223            0x7,
10224            1,
10225            0,
10226            u8,
10227            u8,
10228            FtdfTxMetaData03Reg_SPEC,
10229            crate::common::RW,
10230        >::from_register(self, 0)
10231    }
10232
10233    #[doc = "CalCap value."]
10234    #[inline(always)]
10235    pub fn phyattr_calcap(
10236        self,
10237    ) -> crate::common::RegisterField<
10238        15,
10239        0xf,
10240        1,
10241        0,
10242        u8,
10243        u8,
10244        FtdfTxMetaData03Reg_SPEC,
10245        crate::common::RW,
10246    > {
10247        crate::common::RegisterField::<
10248            15,
10249            0xf,
10250            1,
10251            0,
10252            u8,
10253            u8,
10254            FtdfTxMetaData03Reg_SPEC,
10255            crate::common::RW,
10256        >::from_register(self, 0)
10257    }
10258
10259    #[doc = "Channel Number."]
10260    #[inline(always)]
10261    pub fn phyattr_cn(
10262        self,
10263    ) -> crate::common::RegisterField<
10264        11,
10265        0xf,
10266        1,
10267        0,
10268        u8,
10269        u8,
10270        FtdfTxMetaData03Reg_SPEC,
10271        crate::common::RW,
10272    > {
10273        crate::common::RegisterField::<
10274            11,
10275            0xf,
10276            1,
10277            0,
10278            u8,
10279            u8,
10280            FtdfTxMetaData03Reg_SPEC,
10281            crate::common::RW,
10282        >::from_register(self, 0)
10283    }
10284
10285    #[doc = "DEM packet information."]
10286    #[inline(always)]
10287    pub fn phyattr_dem_pti(
10288        self,
10289    ) -> crate::common::RegisterField<
10290        7,
10291        0xf,
10292        1,
10293        0,
10294        u8,
10295        u8,
10296        FtdfTxMetaData03Reg_SPEC,
10297        crate::common::RW,
10298    > {
10299        crate::common::RegisterField::<
10300            7,
10301            0xf,
10302            1,
10303            0,
10304            u8,
10305            u8,
10306            FtdfTxMetaData03Reg_SPEC,
10307            crate::common::RW,
10308        >::from_register(self, 0)
10309    }
10310
10311    #[doc = "Tx meta data per entry: Frame length (in bytes)"]
10312    #[inline(always)]
10313    pub fn frame_length(
10314        self,
10315    ) -> crate::common::RegisterField<
10316        0,
10317        0x7f,
10318        1,
10319        0,
10320        u8,
10321        u8,
10322        FtdfTxMetaData03Reg_SPEC,
10323        crate::common::RW,
10324    > {
10325        crate::common::RegisterField::<
10326            0,
10327            0x7f,
10328            1,
10329            0,
10330            u8,
10331            u8,
10332            FtdfTxMetaData03Reg_SPEC,
10333            crate::common::RW,
10334        >::from_register(self, 0)
10335    }
10336}
10337impl ::core::default::Default for FtdfTxMetaData03Reg {
10338    #[inline(always)]
10339    fn default() -> FtdfTxMetaData03Reg {
10340        <crate::RegValueT<FtdfTxMetaData03Reg_SPEC> as RegisterValue<_>>::new(0)
10341    }
10342}
10343
10344#[doc(hidden)]
10345#[derive(Copy, Clone, Eq, PartialEq)]
10346pub struct FtdfTxMetaData10Reg_SPEC;
10347impl crate::sealed::RegSpec for FtdfTxMetaData10Reg_SPEC {
10348    type DataType = u32;
10349}
10350
10351#[doc = "Transmit metadata register 0"]
10352pub type FtdfTxMetaData10Reg = crate::RegValueT<FtdfTxMetaData10Reg_SPEC>;
10353
10354impl FtdfTxMetaData10Reg {
10355    #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10356    #[inline(always)]
10357    pub fn macsn(
10358        self,
10359    ) -> crate::common::RegisterField<
10360        0,
10361        0xff,
10362        1,
10363        0,
10364        u8,
10365        u8,
10366        FtdfTxMetaData10Reg_SPEC,
10367        crate::common::RW,
10368    > {
10369        crate::common::RegisterField::<
10370            0,
10371            0xff,
10372            1,
10373            0,
10374            u8,
10375            u8,
10376            FtdfTxMetaData10Reg_SPEC,
10377            crate::common::RW,
10378        >::from_register(self, 0)
10379    }
10380}
10381impl ::core::default::Default for FtdfTxMetaData10Reg {
10382    #[inline(always)]
10383    fn default() -> FtdfTxMetaData10Reg {
10384        <crate::RegValueT<FtdfTxMetaData10Reg_SPEC> as RegisterValue<_>>::new(0)
10385    }
10386}
10387
10388#[doc(hidden)]
10389#[derive(Copy, Clone, Eq, PartialEq)]
10390pub struct FtdfTxMetaData11Reg_SPEC;
10391impl crate::sealed::RegSpec for FtdfTxMetaData11Reg_SPEC {
10392    type DataType = u32;
10393}
10394
10395#[doc = "Transmit metadata register 1"]
10396pub type FtdfTxMetaData11Reg = crate::RegValueT<FtdfTxMetaData11Reg_SPEC>;
10397
10398impl FtdfTxMetaData11Reg {
10399    #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10400    #[inline(always)]
10401    pub fn macsn(
10402        self,
10403    ) -> crate::common::RegisterField<
10404        0,
10405        0xff,
10406        1,
10407        0,
10408        u8,
10409        u8,
10410        FtdfTxMetaData11Reg_SPEC,
10411        crate::common::RW,
10412    > {
10413        crate::common::RegisterField::<
10414            0,
10415            0xff,
10416            1,
10417            0,
10418            u8,
10419            u8,
10420            FtdfTxMetaData11Reg_SPEC,
10421            crate::common::RW,
10422        >::from_register(self, 0)
10423    }
10424}
10425impl ::core::default::Default for FtdfTxMetaData11Reg {
10426    #[inline(always)]
10427    fn default() -> FtdfTxMetaData11Reg {
10428        <crate::RegValueT<FtdfTxMetaData11Reg_SPEC> as RegisterValue<_>>::new(0)
10429    }
10430}
10431
10432#[doc(hidden)]
10433#[derive(Copy, Clone, Eq, PartialEq)]
10434pub struct FtdfTxMetaData12Reg_SPEC;
10435impl crate::sealed::RegSpec for FtdfTxMetaData12Reg_SPEC {
10436    type DataType = u32;
10437}
10438
10439#[doc = "Transmit metadata register 2"]
10440pub type FtdfTxMetaData12Reg = crate::RegValueT<FtdfTxMetaData12Reg_SPEC>;
10441
10442impl FtdfTxMetaData12Reg {
10443    #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10444    #[inline(always)]
10445    pub fn macsn(
10446        self,
10447    ) -> crate::common::RegisterField<
10448        0,
10449        0xff,
10450        1,
10451        0,
10452        u8,
10453        u8,
10454        FtdfTxMetaData12Reg_SPEC,
10455        crate::common::RW,
10456    > {
10457        crate::common::RegisterField::<
10458            0,
10459            0xff,
10460            1,
10461            0,
10462            u8,
10463            u8,
10464            FtdfTxMetaData12Reg_SPEC,
10465            crate::common::RW,
10466        >::from_register(self, 0)
10467    }
10468}
10469impl ::core::default::Default for FtdfTxMetaData12Reg {
10470    #[inline(always)]
10471    fn default() -> FtdfTxMetaData12Reg {
10472        <crate::RegValueT<FtdfTxMetaData12Reg_SPEC> as RegisterValue<_>>::new(0)
10473    }
10474}
10475
10476#[doc(hidden)]
10477#[derive(Copy, Clone, Eq, PartialEq)]
10478pub struct FtdfTxMetaData13Reg_SPEC;
10479impl crate::sealed::RegSpec for FtdfTxMetaData13Reg_SPEC {
10480    type DataType = u32;
10481}
10482
10483#[doc = "Transmit metadata register 3"]
10484pub type FtdfTxMetaData13Reg = crate::RegValueT<FtdfTxMetaData13Reg_SPEC>;
10485
10486impl FtdfTxMetaData13Reg {
10487    #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10488    #[inline(always)]
10489    pub fn macsn(
10490        self,
10491    ) -> crate::common::RegisterField<
10492        0,
10493        0xff,
10494        1,
10495        0,
10496        u8,
10497        u8,
10498        FtdfTxMetaData13Reg_SPEC,
10499        crate::common::RW,
10500    > {
10501        crate::common::RegisterField::<
10502            0,
10503            0xff,
10504            1,
10505            0,
10506            u8,
10507            u8,
10508            FtdfTxMetaData13Reg_SPEC,
10509            crate::common::RW,
10510        >::from_register(self, 0)
10511    }
10512}
10513impl ::core::default::Default for FtdfTxMetaData13Reg {
10514    #[inline(always)]
10515    fn default() -> FtdfTxMetaData13Reg {
10516        <crate::RegValueT<FtdfTxMetaData13Reg_SPEC> as RegisterValue<_>>::new(0)
10517    }
10518}
10519
10520#[doc(hidden)]
10521#[derive(Copy, Clone, Eq, PartialEq)]
10522pub struct FtdfTxPriority0Reg_SPEC;
10523impl crate::sealed::RegSpec for FtdfTxPriority0Reg_SPEC {
10524    type DataType = u32;
10525}
10526
10527#[doc = "Transmit priority register 0"]
10528pub type FtdfTxPriority0Reg = crate::RegValueT<FtdfTxPriority0Reg_SPEC>;
10529
10530impl FtdfTxPriority0Reg {
10531    #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10532    #[inline(always)]
10533    pub fn pti_tx(
10534        self,
10535    ) -> crate::common::RegisterField<
10536        8,
10537        0xf,
10538        1,
10539        0,
10540        u8,
10541        u8,
10542        FtdfTxPriority0Reg_SPEC,
10543        crate::common::RW,
10544    > {
10545        crate::common::RegisterField::<
10546            8,
10547            0xf,
10548            1,
10549            0,
10550            u8,
10551            u8,
10552            FtdfTxPriority0Reg_SPEC,
10553            crate::common::RW,
10554        >::from_register(self, 0)
10555    }
10556
10557    #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10558    #[inline(always)]
10559    pub fn iswakeup(
10560        self,
10561    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority0Reg_SPEC, crate::common::RW> {
10562        crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority0Reg_SPEC,crate::common::RW>::from_register(self,0)
10563    }
10564
10565    #[doc = "Tx meta data per entry: Priority of packet"]
10566    #[inline(always)]
10567    pub fn tx_priority(
10568        self,
10569    ) -> crate::common::RegisterField<
10570        0,
10571        0xf,
10572        1,
10573        0,
10574        u8,
10575        u8,
10576        FtdfTxPriority0Reg_SPEC,
10577        crate::common::RW,
10578    > {
10579        crate::common::RegisterField::<
10580            0,
10581            0xf,
10582            1,
10583            0,
10584            u8,
10585            u8,
10586            FtdfTxPriority0Reg_SPEC,
10587            crate::common::RW,
10588        >::from_register(self, 0)
10589    }
10590}
10591impl ::core::default::Default for FtdfTxPriority0Reg {
10592    #[inline(always)]
10593    fn default() -> FtdfTxPriority0Reg {
10594        <crate::RegValueT<FtdfTxPriority0Reg_SPEC> as RegisterValue<_>>::new(0)
10595    }
10596}
10597
10598#[doc(hidden)]
10599#[derive(Copy, Clone, Eq, PartialEq)]
10600pub struct FtdfTxPriority1Reg_SPEC;
10601impl crate::sealed::RegSpec for FtdfTxPriority1Reg_SPEC {
10602    type DataType = u32;
10603}
10604
10605#[doc = "Transmit priority register 1"]
10606pub type FtdfTxPriority1Reg = crate::RegValueT<FtdfTxPriority1Reg_SPEC>;
10607
10608impl FtdfTxPriority1Reg {
10609    #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10610    #[inline(always)]
10611    pub fn pti_tx(
10612        self,
10613    ) -> crate::common::RegisterField<
10614        8,
10615        0xf,
10616        1,
10617        0,
10618        u8,
10619        u8,
10620        FtdfTxPriority1Reg_SPEC,
10621        crate::common::RW,
10622    > {
10623        crate::common::RegisterField::<
10624            8,
10625            0xf,
10626            1,
10627            0,
10628            u8,
10629            u8,
10630            FtdfTxPriority1Reg_SPEC,
10631            crate::common::RW,
10632        >::from_register(self, 0)
10633    }
10634
10635    #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10636    #[inline(always)]
10637    pub fn iswakeup(
10638        self,
10639    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority1Reg_SPEC, crate::common::RW> {
10640        crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority1Reg_SPEC,crate::common::RW>::from_register(self,0)
10641    }
10642
10643    #[doc = "Tx meta data per entry: Priority of packet"]
10644    #[inline(always)]
10645    pub fn tx_priority(
10646        self,
10647    ) -> crate::common::RegisterField<
10648        0,
10649        0xf,
10650        1,
10651        0,
10652        u8,
10653        u8,
10654        FtdfTxPriority1Reg_SPEC,
10655        crate::common::RW,
10656    > {
10657        crate::common::RegisterField::<
10658            0,
10659            0xf,
10660            1,
10661            0,
10662            u8,
10663            u8,
10664            FtdfTxPriority1Reg_SPEC,
10665            crate::common::RW,
10666        >::from_register(self, 0)
10667    }
10668}
10669impl ::core::default::Default for FtdfTxPriority1Reg {
10670    #[inline(always)]
10671    fn default() -> FtdfTxPriority1Reg {
10672        <crate::RegValueT<FtdfTxPriority1Reg_SPEC> as RegisterValue<_>>::new(0)
10673    }
10674}
10675
10676#[doc(hidden)]
10677#[derive(Copy, Clone, Eq, PartialEq)]
10678pub struct FtdfTxPriority2Reg_SPEC;
10679impl crate::sealed::RegSpec for FtdfTxPriority2Reg_SPEC {
10680    type DataType = u32;
10681}
10682
10683#[doc = "Transmit priority register 2"]
10684pub type FtdfTxPriority2Reg = crate::RegValueT<FtdfTxPriority2Reg_SPEC>;
10685
10686impl FtdfTxPriority2Reg {
10687    #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10688    #[inline(always)]
10689    pub fn pti_tx(
10690        self,
10691    ) -> crate::common::RegisterField<
10692        8,
10693        0xf,
10694        1,
10695        0,
10696        u8,
10697        u8,
10698        FtdfTxPriority2Reg_SPEC,
10699        crate::common::RW,
10700    > {
10701        crate::common::RegisterField::<
10702            8,
10703            0xf,
10704            1,
10705            0,
10706            u8,
10707            u8,
10708            FtdfTxPriority2Reg_SPEC,
10709            crate::common::RW,
10710        >::from_register(self, 0)
10711    }
10712
10713    #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10714    #[inline(always)]
10715    pub fn iswakeup(
10716        self,
10717    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority2Reg_SPEC, crate::common::RW> {
10718        crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority2Reg_SPEC,crate::common::RW>::from_register(self,0)
10719    }
10720
10721    #[doc = "Tx meta data per entry: Priority of packet"]
10722    #[inline(always)]
10723    pub fn tx_priority(
10724        self,
10725    ) -> crate::common::RegisterField<
10726        0,
10727        0xf,
10728        1,
10729        0,
10730        u8,
10731        u8,
10732        FtdfTxPriority2Reg_SPEC,
10733        crate::common::RW,
10734    > {
10735        crate::common::RegisterField::<
10736            0,
10737            0xf,
10738            1,
10739            0,
10740            u8,
10741            u8,
10742            FtdfTxPriority2Reg_SPEC,
10743            crate::common::RW,
10744        >::from_register(self, 0)
10745    }
10746}
10747impl ::core::default::Default for FtdfTxPriority2Reg {
10748    #[inline(always)]
10749    fn default() -> FtdfTxPriority2Reg {
10750        <crate::RegValueT<FtdfTxPriority2Reg_SPEC> as RegisterValue<_>>::new(0)
10751    }
10752}
10753
10754#[doc(hidden)]
10755#[derive(Copy, Clone, Eq, PartialEq)]
10756pub struct FtdfTxPriority3Reg_SPEC;
10757impl crate::sealed::RegSpec for FtdfTxPriority3Reg_SPEC {
10758    type DataType = u32;
10759}
10760
10761#[doc = "Transmit priority register 3"]
10762pub type FtdfTxPriority3Reg = crate::RegValueT<FtdfTxPriority3Reg_SPEC>;
10763
10764impl FtdfTxPriority3Reg {
10765    #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10766    #[inline(always)]
10767    pub fn pti_tx(
10768        self,
10769    ) -> crate::common::RegisterField<
10770        8,
10771        0xf,
10772        1,
10773        0,
10774        u8,
10775        u8,
10776        FtdfTxPriority3Reg_SPEC,
10777        crate::common::RW,
10778    > {
10779        crate::common::RegisterField::<
10780            8,
10781            0xf,
10782            1,
10783            0,
10784            u8,
10785            u8,
10786            FtdfTxPriority3Reg_SPEC,
10787            crate::common::RW,
10788        >::from_register(self, 0)
10789    }
10790
10791    #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10792    #[inline(always)]
10793    pub fn iswakeup(
10794        self,
10795    ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority3Reg_SPEC, crate::common::RW> {
10796        crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority3Reg_SPEC,crate::common::RW>::from_register(self,0)
10797    }
10798
10799    #[doc = "Tx meta data per entry: Priority of packet"]
10800    #[inline(always)]
10801    pub fn tx_priority(
10802        self,
10803    ) -> crate::common::RegisterField<
10804        0,
10805        0xf,
10806        1,
10807        0,
10808        u8,
10809        u8,
10810        FtdfTxPriority3Reg_SPEC,
10811        crate::common::RW,
10812    > {
10813        crate::common::RegisterField::<
10814            0,
10815            0xf,
10816            1,
10817            0,
10818            u8,
10819            u8,
10820            FtdfTxPriority3Reg_SPEC,
10821            crate::common::RW,
10822        >::from_register(self, 0)
10823    }
10824}
10825impl ::core::default::Default for FtdfTxPriority3Reg {
10826    #[inline(always)]
10827    fn default() -> FtdfTxPriority3Reg {
10828        <crate::RegValueT<FtdfTxPriority3Reg_SPEC> as RegisterValue<_>>::new(0)
10829    }
10830}
10831
10832#[doc(hidden)]
10833#[derive(Copy, Clone, Eq, PartialEq)]
10834pub struct FtdfTxReturnStatus00Reg_SPEC;
10835impl crate::sealed::RegSpec for FtdfTxReturnStatus00Reg_SPEC {
10836    type DataType = u32;
10837}
10838
10839#[doc = "Transmit status register 0"]
10840pub type FtdfTxReturnStatus00Reg = crate::RegValueT<FtdfTxReturnStatus00Reg_SPEC>;
10841
10842impl FtdfTxReturnStatus00Reg {
10843    #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10844    #[inline(always)]
10845    pub fn txtimestamp(
10846        self,
10847    ) -> crate::common::RegisterField<
10848        0,
10849        0xffffffff,
10850        1,
10851        0,
10852        u32,
10853        u32,
10854        FtdfTxReturnStatus00Reg_SPEC,
10855        crate::common::R,
10856    > {
10857        crate::common::RegisterField::<
10858            0,
10859            0xffffffff,
10860            1,
10861            0,
10862            u32,
10863            u32,
10864            FtdfTxReturnStatus00Reg_SPEC,
10865            crate::common::R,
10866        >::from_register(self, 0)
10867    }
10868}
10869impl ::core::default::Default for FtdfTxReturnStatus00Reg {
10870    #[inline(always)]
10871    fn default() -> FtdfTxReturnStatus00Reg {
10872        <crate::RegValueT<FtdfTxReturnStatus00Reg_SPEC> as RegisterValue<_>>::new(0)
10873    }
10874}
10875
10876#[doc(hidden)]
10877#[derive(Copy, Clone, Eq, PartialEq)]
10878pub struct FtdfTxReturnStatus01Reg_SPEC;
10879impl crate::sealed::RegSpec for FtdfTxReturnStatus01Reg_SPEC {
10880    type DataType = u32;
10881}
10882
10883#[doc = "Transmit status register 1"]
10884pub type FtdfTxReturnStatus01Reg = crate::RegValueT<FtdfTxReturnStatus01Reg_SPEC>;
10885
10886impl FtdfTxReturnStatus01Reg {
10887    #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10888    #[inline(always)]
10889    pub fn txtimestamp(
10890        self,
10891    ) -> crate::common::RegisterField<
10892        0,
10893        0xffffffff,
10894        1,
10895        0,
10896        u32,
10897        u32,
10898        FtdfTxReturnStatus01Reg_SPEC,
10899        crate::common::R,
10900    > {
10901        crate::common::RegisterField::<
10902            0,
10903            0xffffffff,
10904            1,
10905            0,
10906            u32,
10907            u32,
10908            FtdfTxReturnStatus01Reg_SPEC,
10909            crate::common::R,
10910        >::from_register(self, 0)
10911    }
10912}
10913impl ::core::default::Default for FtdfTxReturnStatus01Reg {
10914    #[inline(always)]
10915    fn default() -> FtdfTxReturnStatus01Reg {
10916        <crate::RegValueT<FtdfTxReturnStatus01Reg_SPEC> as RegisterValue<_>>::new(0)
10917    }
10918}
10919
10920#[doc(hidden)]
10921#[derive(Copy, Clone, Eq, PartialEq)]
10922pub struct FtdfTxReturnStatus02Reg_SPEC;
10923impl crate::sealed::RegSpec for FtdfTxReturnStatus02Reg_SPEC {
10924    type DataType = u32;
10925}
10926
10927#[doc = "Transmit status register 2"]
10928pub type FtdfTxReturnStatus02Reg = crate::RegValueT<FtdfTxReturnStatus02Reg_SPEC>;
10929
10930impl FtdfTxReturnStatus02Reg {
10931    #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10932    #[inline(always)]
10933    pub fn txtimestamp(
10934        self,
10935    ) -> crate::common::RegisterField<
10936        0,
10937        0xffffffff,
10938        1,
10939        0,
10940        u32,
10941        u32,
10942        FtdfTxReturnStatus02Reg_SPEC,
10943        crate::common::R,
10944    > {
10945        crate::common::RegisterField::<
10946            0,
10947            0xffffffff,
10948            1,
10949            0,
10950            u32,
10951            u32,
10952            FtdfTxReturnStatus02Reg_SPEC,
10953            crate::common::R,
10954        >::from_register(self, 0)
10955    }
10956}
10957impl ::core::default::Default for FtdfTxReturnStatus02Reg {
10958    #[inline(always)]
10959    fn default() -> FtdfTxReturnStatus02Reg {
10960        <crate::RegValueT<FtdfTxReturnStatus02Reg_SPEC> as RegisterValue<_>>::new(0)
10961    }
10962}
10963
10964#[doc(hidden)]
10965#[derive(Copy, Clone, Eq, PartialEq)]
10966pub struct FtdfTxReturnStatus03Reg_SPEC;
10967impl crate::sealed::RegSpec for FtdfTxReturnStatus03Reg_SPEC {
10968    type DataType = u32;
10969}
10970
10971#[doc = "Transmit status register 3"]
10972pub type FtdfTxReturnStatus03Reg = crate::RegValueT<FtdfTxReturnStatus03Reg_SPEC>;
10973
10974impl FtdfTxReturnStatus03Reg {
10975    #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10976    #[inline(always)]
10977    pub fn txtimestamp(
10978        self,
10979    ) -> crate::common::RegisterField<
10980        0,
10981        0xffffffff,
10982        1,
10983        0,
10984        u32,
10985        u32,
10986        FtdfTxReturnStatus03Reg_SPEC,
10987        crate::common::R,
10988    > {
10989        crate::common::RegisterField::<
10990            0,
10991            0xffffffff,
10992            1,
10993            0,
10994            u32,
10995            u32,
10996            FtdfTxReturnStatus03Reg_SPEC,
10997            crate::common::R,
10998        >::from_register(self, 0)
10999    }
11000}
11001impl ::core::default::Default for FtdfTxReturnStatus03Reg {
11002    #[inline(always)]
11003    fn default() -> FtdfTxReturnStatus03Reg {
11004        <crate::RegValueT<FtdfTxReturnStatus03Reg_SPEC> as RegisterValue<_>>::new(0)
11005    }
11006}
11007
11008#[doc(hidden)]
11009#[derive(Copy, Clone, Eq, PartialEq)]
11010pub struct FtdfTxReturnStatus10Reg_SPEC;
11011impl crate::sealed::RegSpec for FtdfTxReturnStatus10Reg_SPEC {
11012    type DataType = u32;
11013}
11014
11015#[doc = "Transmit status register 0"]
11016pub type FtdfTxReturnStatus10Reg = crate::RegValueT<FtdfTxReturnStatus10Reg_SPEC>;
11017
11018impl FtdfTxReturnStatus10Reg {
11019    #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11020    #[inline(always)]
11021    pub fn csmacanrretries(
11022        self,
11023    ) -> crate::common::RegisterField<
11024        2,
11025        0x7,
11026        1,
11027        0,
11028        u8,
11029        u8,
11030        FtdfTxReturnStatus10Reg_SPEC,
11031        crate::common::R,
11032    > {
11033        crate::common::RegisterField::<
11034            2,
11035            0x7,
11036            1,
11037            0,
11038            u8,
11039            u8,
11040            FtdfTxReturnStatus10Reg_SPEC,
11041            crate::common::R,
11042        >::from_register(self, 0)
11043    }
11044
11045    #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11046    #[inline(always)]
11047    pub fn csmacafail(
11048        self,
11049    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus10Reg_SPEC, crate::common::R>
11050    {
11051        crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus10Reg_SPEC,crate::common::R>::from_register(self,0)
11052    }
11053
11054    #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11055    #[inline(always)]
11056    pub fn ackfail(
11057        self,
11058    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus10Reg_SPEC, crate::common::R>
11059    {
11060        crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus10Reg_SPEC,crate::common::R>::from_register(self,0)
11061    }
11062}
11063impl ::core::default::Default for FtdfTxReturnStatus10Reg {
11064    #[inline(always)]
11065    fn default() -> FtdfTxReturnStatus10Reg {
11066        <crate::RegValueT<FtdfTxReturnStatus10Reg_SPEC> as RegisterValue<_>>::new(0)
11067    }
11068}
11069
11070#[doc(hidden)]
11071#[derive(Copy, Clone, Eq, PartialEq)]
11072pub struct FtdfTxReturnStatus11Reg_SPEC;
11073impl crate::sealed::RegSpec for FtdfTxReturnStatus11Reg_SPEC {
11074    type DataType = u32;
11075}
11076
11077#[doc = "Transmit status register 1"]
11078pub type FtdfTxReturnStatus11Reg = crate::RegValueT<FtdfTxReturnStatus11Reg_SPEC>;
11079
11080impl FtdfTxReturnStatus11Reg {
11081    #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11082    #[inline(always)]
11083    pub fn csmacanrretries(
11084        self,
11085    ) -> crate::common::RegisterField<
11086        2,
11087        0x7,
11088        1,
11089        0,
11090        u8,
11091        u8,
11092        FtdfTxReturnStatus11Reg_SPEC,
11093        crate::common::R,
11094    > {
11095        crate::common::RegisterField::<
11096            2,
11097            0x7,
11098            1,
11099            0,
11100            u8,
11101            u8,
11102            FtdfTxReturnStatus11Reg_SPEC,
11103            crate::common::R,
11104        >::from_register(self, 0)
11105    }
11106
11107    #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11108    #[inline(always)]
11109    pub fn csmacafail(
11110        self,
11111    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus11Reg_SPEC, crate::common::R>
11112    {
11113        crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus11Reg_SPEC,crate::common::R>::from_register(self,0)
11114    }
11115
11116    #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11117    #[inline(always)]
11118    pub fn ackfail(
11119        self,
11120    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus11Reg_SPEC, crate::common::R>
11121    {
11122        crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus11Reg_SPEC,crate::common::R>::from_register(self,0)
11123    }
11124}
11125impl ::core::default::Default for FtdfTxReturnStatus11Reg {
11126    #[inline(always)]
11127    fn default() -> FtdfTxReturnStatus11Reg {
11128        <crate::RegValueT<FtdfTxReturnStatus11Reg_SPEC> as RegisterValue<_>>::new(0)
11129    }
11130}
11131
11132#[doc(hidden)]
11133#[derive(Copy, Clone, Eq, PartialEq)]
11134pub struct FtdfTxReturnStatus12Reg_SPEC;
11135impl crate::sealed::RegSpec for FtdfTxReturnStatus12Reg_SPEC {
11136    type DataType = u32;
11137}
11138
11139#[doc = "Transmit status register 2"]
11140pub type FtdfTxReturnStatus12Reg = crate::RegValueT<FtdfTxReturnStatus12Reg_SPEC>;
11141
11142impl FtdfTxReturnStatus12Reg {
11143    #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11144    #[inline(always)]
11145    pub fn csmacanrretries(
11146        self,
11147    ) -> crate::common::RegisterField<
11148        2,
11149        0x7,
11150        1,
11151        0,
11152        u8,
11153        u8,
11154        FtdfTxReturnStatus12Reg_SPEC,
11155        crate::common::R,
11156    > {
11157        crate::common::RegisterField::<
11158            2,
11159            0x7,
11160            1,
11161            0,
11162            u8,
11163            u8,
11164            FtdfTxReturnStatus12Reg_SPEC,
11165            crate::common::R,
11166        >::from_register(self, 0)
11167    }
11168
11169    #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11170    #[inline(always)]
11171    pub fn csmacafail(
11172        self,
11173    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus12Reg_SPEC, crate::common::R>
11174    {
11175        crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus12Reg_SPEC,crate::common::R>::from_register(self,0)
11176    }
11177
11178    #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11179    #[inline(always)]
11180    pub fn ackfail(
11181        self,
11182    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus12Reg_SPEC, crate::common::R>
11183    {
11184        crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus12Reg_SPEC,crate::common::R>::from_register(self,0)
11185    }
11186}
11187impl ::core::default::Default for FtdfTxReturnStatus12Reg {
11188    #[inline(always)]
11189    fn default() -> FtdfTxReturnStatus12Reg {
11190        <crate::RegValueT<FtdfTxReturnStatus12Reg_SPEC> as RegisterValue<_>>::new(0)
11191    }
11192}
11193
11194#[doc(hidden)]
11195#[derive(Copy, Clone, Eq, PartialEq)]
11196pub struct FtdfTxReturnStatus13Reg_SPEC;
11197impl crate::sealed::RegSpec for FtdfTxReturnStatus13Reg_SPEC {
11198    type DataType = u32;
11199}
11200
11201#[doc = "Transmit status register 3"]
11202pub type FtdfTxReturnStatus13Reg = crate::RegValueT<FtdfTxReturnStatus13Reg_SPEC>;
11203
11204impl FtdfTxReturnStatus13Reg {
11205    #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11206    #[inline(always)]
11207    pub fn csmacanrretries(
11208        self,
11209    ) -> crate::common::RegisterField<
11210        2,
11211        0x7,
11212        1,
11213        0,
11214        u8,
11215        u8,
11216        FtdfTxReturnStatus13Reg_SPEC,
11217        crate::common::R,
11218    > {
11219        crate::common::RegisterField::<
11220            2,
11221            0x7,
11222            1,
11223            0,
11224            u8,
11225            u8,
11226            FtdfTxReturnStatus13Reg_SPEC,
11227            crate::common::R,
11228        >::from_register(self, 0)
11229    }
11230
11231    #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11232    #[inline(always)]
11233    pub fn csmacafail(
11234        self,
11235    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus13Reg_SPEC, crate::common::R>
11236    {
11237        crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus13Reg_SPEC,crate::common::R>::from_register(self,0)
11238    }
11239
11240    #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11241    #[inline(always)]
11242    pub fn ackfail(
11243        self,
11244    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus13Reg_SPEC, crate::common::R>
11245    {
11246        crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus13Reg_SPEC,crate::common::R>::from_register(self,0)
11247    }
11248}
11249impl ::core::default::Default for FtdfTxReturnStatus13Reg {
11250    #[inline(always)]
11251    fn default() -> FtdfTxReturnStatus13Reg {
11252        <crate::RegValueT<FtdfTxReturnStatus13Reg_SPEC> as RegisterValue<_>>::new(0)
11253    }
11254}
11255
11256#[doc(hidden)]
11257#[derive(Copy, Clone, Eq, PartialEq)]
11258pub struct FtdfTxSetOsReg_SPEC;
11259impl crate::sealed::RegSpec for FtdfTxSetOsReg_SPEC {
11260    type DataType = u32;
11261}
11262
11263#[doc = "One shot register to set flag"]
11264pub type FtdfTxSetOsReg = crate::RegValueT<FtdfTxSetOsReg_SPEC>;
11265
11266impl FtdfTxSetOsReg {
11267    #[doc = "Tx meta data per entry: if set to \'1\', the tx_flag_stat will be set to \'1\'."]
11268    #[inline(always)]
11269    pub fn tx_flag_set(
11270        self,
11271    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, FtdfTxSetOsReg_SPEC, crate::common::W>
11272    {
11273        crate::common::RegisterField::<0,0xf,1,0,u8,u8,FtdfTxSetOsReg_SPEC,crate::common::W>::from_register(self,0)
11274    }
11275}
11276impl ::core::default::Default for FtdfTxSetOsReg {
11277    #[inline(always)]
11278    fn default() -> FtdfTxSetOsReg {
11279        <crate::RegValueT<FtdfTxSetOsReg_SPEC> as RegisterValue<_>>::new(0)
11280    }
11281}
11282
11283#[doc(hidden)]
11284#[derive(Copy, Clone, Eq, PartialEq)]
11285pub struct FtdfWakeupControlOsReg_SPEC;
11286impl crate::sealed::RegSpec for FtdfWakeupControlOsReg_SPEC {
11287    type DataType = u32;
11288}
11289
11290pub type FtdfWakeupControlOsReg = crate::RegValueT<FtdfWakeupControlOsReg_SPEC>;
11291
11292impl FtdfWakeupControlOsReg {
11293    #[doc = "If set, WakeupTimerEnableStatus will be cleared."]
11294    #[inline(always)]
11295    pub fn wakeuptimerenable_clear(
11296        self,
11297    ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfWakeupControlOsReg_SPEC, crate::common::W>
11298    {
11299        crate::common::RegisterFieldBool::<1,1,0,FtdfWakeupControlOsReg_SPEC,crate::common::W>::from_register(self,0)
11300    }
11301
11302    #[doc = "If set, WakeupTimerEnableStatus will be set."]
11303    #[inline(always)]
11304    pub fn wakeuptimerenable_set(
11305        self,
11306    ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfWakeupControlOsReg_SPEC, crate::common::W>
11307    {
11308        crate::common::RegisterFieldBool::<0,1,0,FtdfWakeupControlOsReg_SPEC,crate::common::W>::from_register(self,0)
11309    }
11310}
11311impl ::core::default::Default for FtdfWakeupControlOsReg {
11312    #[inline(always)]
11313    fn default() -> FtdfWakeupControlOsReg {
11314        <crate::RegValueT<FtdfWakeupControlOsReg_SPEC> as RegisterValue<_>>::new(0)
11315    }
11316}
11317
11318#[doc(hidden)]
11319#[derive(Copy, Clone, Eq, PartialEq)]
11320pub struct FtdfWakeupControlReg_SPEC;
11321impl crate::sealed::RegSpec for FtdfWakeupControlReg_SPEC {
11322    type DataType = u32;
11323}
11324
11325#[doc = "Wakeup timer vcontrol register"]
11326pub type FtdfWakeupControlReg = crate::RegValueT<FtdfWakeupControlReg_SPEC>;
11327
11328impl FtdfWakeupControlReg {
11329    #[doc = "The Control register WakeUp_mode controls the behavior of the Event counter:\n0d = off, 1d = free running (default), 2d = one shot with auto clear, 3d = configurable period (timer\nmode)."]
11330    #[inline(always)]
11331    pub fn wakeup_mode(
11332        self,
11333    ) -> crate::common::RegisterField<
11334        30,
11335        0x3,
11336        1,
11337        0,
11338        u8,
11339        u8,
11340        FtdfWakeupControlReg_SPEC,
11341        crate::common::RW,
11342    > {
11343        crate::common::RegisterField::<
11344            30,
11345            0x3,
11346            1,
11347            0,
11348            u8,
11349            u8,
11350            FtdfWakeupControlReg_SPEC,
11351            crate::common::RW,
11352        >::from_register(self, 0)
11353    }
11354
11355    #[doc = "If set to \'1\', the WakeUpIntThr is enabled to generate an WAKEUP_IRQ interrupt."]
11356    #[inline(always)]
11357    pub fn wakeupenable(
11358        self,
11359    ) -> crate::common::RegisterFieldBool<29, 1, 0, FtdfWakeupControlReg_SPEC, crate::common::RW>
11360    {
11361        crate::common::RegisterFieldBool::<29,1,0,FtdfWakeupControlReg_SPEC,crate::common::RW>::from_register(self,0)
11362    }
11363
11364    #[doc = "Threshold for wake-up interrupt. When WakeUpEnable is set to \'1\' and the Wake-up (event) counter matches this value, the interrupt WAKEUP_IRQ is set to \'1\' for the duration of one LP_CLK period."]
11365    #[inline(always)]
11366    pub fn wakeupintthr(
11367        self,
11368    ) -> crate::common::RegisterField<
11369        0,
11370        0x1ffffff,
11371        1,
11372        0,
11373        u32,
11374        u32,
11375        FtdfWakeupControlReg_SPEC,
11376        crate::common::RW,
11377    > {
11378        crate::common::RegisterField::<
11379            0,
11380            0x1ffffff,
11381            1,
11382            0,
11383            u32,
11384            u32,
11385            FtdfWakeupControlReg_SPEC,
11386            crate::common::RW,
11387        >::from_register(self, 0)
11388    }
11389}
11390impl ::core::default::Default for FtdfWakeupControlReg {
11391    #[inline(always)]
11392    fn default() -> FtdfWakeupControlReg {
11393        <crate::RegValueT<FtdfWakeupControlReg_SPEC> as RegisterValue<_>>::new(1073741824)
11394    }
11395}