da14682_pac/
ble.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"BLE registers"]
28unsafe impl ::core::marker::Send for super::Ble {}
29unsafe impl ::core::marker::Sync for super::Ble {}
30impl super::Ble {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Active scan register"]
38    #[inline(always)]
39    pub const fn ble_actscanstat_reg(
40        &self,
41    ) -> &'static crate::common::Reg<self::BleActscanstatReg_SPEC, crate::common::RW> {
42        unsafe {
43            crate::common::Reg::<self::BleActscanstatReg_SPEC, crate::common::RW>::from_ptr(
44                self._svd2pac_as_ptr().add(164usize),
45            )
46        }
47    }
48
49    #[doc = "Advertising Channel Map"]
50    #[inline(always)]
51    pub const fn ble_advchmap_reg(
52        &self,
53    ) -> &'static crate::common::Reg<self::BleAdvchmapReg_SPEC, crate::common::RW> {
54        unsafe {
55            crate::common::Reg::<self::BleAdvchmapReg_SPEC, crate::common::RW>::from_ptr(
56                self._svd2pac_as_ptr().add(144usize),
57            )
58        }
59    }
60
61    #[doc = "Advertising Packet Interval"]
62    #[inline(always)]
63    pub const fn ble_advtim_reg(
64        &self,
65    ) -> &'static crate::common::Reg<self::BleAdvtimReg_SPEC, crate::common::RW> {
66        unsafe {
67            crate::common::Reg::<self::BleAdvtimReg_SPEC, crate::common::RW>::from_ptr(
68                self._svd2pac_as_ptr().add(160usize),
69            )
70        }
71    }
72
73    #[doc = "Start AES register"]
74    #[inline(always)]
75    pub const fn ble_aescntl_reg(
76        &self,
77    ) -> &'static crate::common::Reg<self::BleAescntlReg_SPEC, crate::common::RW> {
78        unsafe {
79            crate::common::Reg::<self::BleAescntlReg_SPEC, crate::common::RW>::from_ptr(
80                self._svd2pac_as_ptr().add(192usize),
81            )
82        }
83    }
84
85    #[doc = "AES encryption key"]
86    #[inline(always)]
87    pub const fn ble_aeskey127_96_reg(
88        &self,
89    ) -> &'static crate::common::Reg<self::BleAeskey12796Reg_SPEC, crate::common::RW> {
90        unsafe {
91            crate::common::Reg::<self::BleAeskey12796Reg_SPEC, crate::common::RW>::from_ptr(
92                self._svd2pac_as_ptr().add(208usize),
93            )
94        }
95    }
96
97    #[doc = "AES encryption key"]
98    #[inline(always)]
99    pub const fn ble_aeskey31_0_reg(
100        &self,
101    ) -> &'static crate::common::Reg<self::BleAeskey310Reg_SPEC, crate::common::RW> {
102        unsafe {
103            crate::common::Reg::<self::BleAeskey310Reg_SPEC, crate::common::RW>::from_ptr(
104                self._svd2pac_as_ptr().add(196usize),
105            )
106        }
107    }
108
109    #[doc = "AES encryption key"]
110    #[inline(always)]
111    pub const fn ble_aeskey63_32_reg(
112        &self,
113    ) -> &'static crate::common::Reg<self::BleAeskey6332Reg_SPEC, crate::common::RW> {
114        unsafe {
115            crate::common::Reg::<self::BleAeskey6332Reg_SPEC, crate::common::RW>::from_ptr(
116                self._svd2pac_as_ptr().add(200usize),
117            )
118        }
119    }
120
121    #[doc = "AES encryption key"]
122    #[inline(always)]
123    pub const fn ble_aeskey95_64_reg(
124        &self,
125    ) -> &'static crate::common::Reg<self::BleAeskey9564Reg_SPEC, crate::common::RW> {
126        unsafe {
127            crate::common::Reg::<self::BleAeskey9564Reg_SPEC, crate::common::RW>::from_ptr(
128                self._svd2pac_as_ptr().add(204usize),
129            )
130        }
131    }
132
133    #[doc = "Pointer to the block to encrypt/decrypt"]
134    #[inline(always)]
135    pub const fn ble_aesptr_reg(
136        &self,
137    ) -> &'static crate::common::Reg<self::BleAesptrReg_SPEC, crate::common::RW> {
138        unsafe {
139            crate::common::Reg::<self::BleAesptrReg_SPEC, crate::common::RW>::from_ptr(
140                self._svd2pac_as_ptr().add(212usize),
141            )
142        }
143    }
144
145    #[doc = "Base Time Counter"]
146    #[inline(always)]
147    pub const fn ble_basetimecntcorr_reg(
148        &self,
149    ) -> &'static crate::common::Reg<self::BleBasetimecntcorrReg_SPEC, crate::common::RW> {
150        unsafe {
151            crate::common::Reg::<self::BleBasetimecntcorrReg_SPEC, crate::common::RW>::from_ptr(
152                self._svd2pac_as_ptr().add(68usize),
153            )
154        }
155    }
156
157    #[doc = "Base time reference counter"]
158    #[inline(always)]
159    pub const fn ble_basetimecnt_reg(
160        &self,
161    ) -> &'static crate::common::Reg<self::BleBasetimecntReg_SPEC, crate::common::RW> {
162        unsafe {
163            crate::common::Reg::<self::BleBasetimecntReg_SPEC, crate::common::RW>::from_ptr(
164                self._svd2pac_as_ptr().add(28usize),
165            )
166        }
167    }
168
169    #[doc = "BLE device address LSB register"]
170    #[inline(always)]
171    pub const fn ble_bdaddrl_reg(
172        &self,
173    ) -> &'static crate::common::Reg<self::BleBdaddrlReg_SPEC, crate::common::RW> {
174        unsafe {
175            crate::common::Reg::<self::BleBdaddrlReg_SPEC, crate::common::RW>::from_ptr(
176                self._svd2pac_as_ptr().add(36usize),
177            )
178        }
179    }
180
181    #[doc = "BLE device address MSB register"]
182    #[inline(always)]
183    pub const fn ble_bdaddru_reg(
184        &self,
185    ) -> &'static crate::common::Reg<self::BleBdaddruReg_SPEC, crate::common::RW> {
186        unsafe {
187            crate::common::Reg::<self::BleBdaddruReg_SPEC, crate::common::RW>::from_ptr(
188                self._svd2pac_as_ptr().add(40usize),
189            )
190        }
191    }
192
193    #[doc = "Coexistence interface Priority 0 Register"]
194    #[inline(always)]
195    pub const fn ble_blemprio0_reg(
196        &self,
197    ) -> &'static crate::common::Reg<self::BleBlemprio0Reg_SPEC, crate::common::RW> {
198        unsafe {
199            crate::common::Reg::<self::BleBlemprio0Reg_SPEC, crate::common::RW>::from_ptr(
200                self._svd2pac_as_ptr().add(264usize),
201            )
202        }
203    }
204
205    #[doc = "Coexistence interface Priority 1 Register"]
206    #[inline(always)]
207    pub const fn ble_blemprio1_reg(
208        &self,
209    ) -> &'static crate::common::Reg<self::BleBlemprio1Reg_SPEC, crate::common::RW> {
210        unsafe {
211            crate::common::Reg::<self::BleBlemprio1Reg_SPEC, crate::common::RW>::from_ptr(
212                self._svd2pac_as_ptr().add(268usize),
213            )
214        }
215    }
216
217    #[doc = "BLE Control Register 2"]
218    #[inline(always)]
219    pub const fn ble_cntl2_reg(
220        &self,
221    ) -> &'static crate::common::Reg<self::BleCntl2Reg_SPEC, crate::common::RW> {
222        unsafe {
223            crate::common::Reg::<self::BleCntl2Reg_SPEC, crate::common::RW>::from_ptr(
224                self._svd2pac_as_ptr().add(512usize),
225            )
226        }
227    }
228
229    #[doc = "Coexistence interface Control 0 Register"]
230    #[inline(always)]
231    pub const fn ble_coexifcntl0_reg(
232        &self,
233    ) -> &'static crate::common::Reg<self::BleCoexifcntl0Reg_SPEC, crate::common::RW> {
234        unsafe {
235            crate::common::Reg::<self::BleCoexifcntl0Reg_SPEC, crate::common::RW>::from_ptr(
236                self._svd2pac_as_ptr().add(256usize),
237            )
238        }
239    }
240
241    #[doc = "Coexistence interface Control 1 Register"]
242    #[inline(always)]
243    pub const fn ble_coexifcntl1_reg(
244        &self,
245    ) -> &'static crate::common::Reg<self::BleCoexifcntl1Reg_SPEC, crate::common::RW> {
246        unsafe {
247            crate::common::Reg::<self::BleCoexifcntl1Reg_SPEC, crate::common::RW>::from_ptr(
248                self._svd2pac_as_ptr().add(260usize),
249            )
250        }
251    }
252
253    #[doc = "Rx Descriptor Pointer for the Receive Buffer Chained List"]
254    #[inline(always)]
255    pub const fn ble_currentrxdescptr_reg(
256        &self,
257    ) -> &'static crate::common::Reg<self::BleCurrentrxdescptrReg_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::BleCurrentrxdescptrReg_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(44usize),
261            )
262        }
263    }
264
265    #[doc = "Upper limit for the memory zone"]
266    #[inline(always)]
267    pub const fn ble_debugaddmax_reg(
268        &self,
269    ) -> &'static crate::common::Reg<self::BleDebugaddmaxReg_SPEC, crate::common::RW> {
270        unsafe {
271            crate::common::Reg::<self::BleDebugaddmaxReg_SPEC, crate::common::RW>::from_ptr(
272                self._svd2pac_as_ptr().add(88usize),
273            )
274        }
275    }
276
277    #[doc = "Lower limit for the memory zone"]
278    #[inline(always)]
279    pub const fn ble_debugaddmin_reg(
280        &self,
281    ) -> &'static crate::common::Reg<self::BleDebugaddminReg_SPEC, crate::common::RW> {
282        unsafe {
283            crate::common::Reg::<self::BleDebugaddminReg_SPEC, crate::common::RW>::from_ptr(
284                self._svd2pac_as_ptr().add(92usize),
285            )
286        }
287    }
288
289    #[doc = "Deep-Sleep control register"]
290    #[inline(always)]
291    pub const fn ble_deepslcntl_reg(
292        &self,
293    ) -> &'static crate::common::Reg<self::BleDeepslcntlReg_SPEC, crate::common::RW> {
294        unsafe {
295            crate::common::Reg::<self::BleDeepslcntlReg_SPEC, crate::common::RW>::from_ptr(
296                self._svd2pac_as_ptr().add(48usize),
297            )
298        }
299    }
300
301    #[doc = "Duration of the last deep sleep phase register"]
302    #[inline(always)]
303    pub const fn ble_deepslstat_reg(
304        &self,
305    ) -> &'static crate::common::Reg<self::BleDeepslstatReg_SPEC, crate::common::RW> {
306        unsafe {
307            crate::common::Reg::<self::BleDeepslstatReg_SPEC, crate::common::RW>::from_ptr(
308                self._svd2pac_as_ptr().add(56usize),
309            )
310        }
311    }
312
313    #[doc = "Time (measured in Low Power clock cycles) in Deep Sleep Mode before waking-up the device"]
314    #[inline(always)]
315    pub const fn ble_deepslwkup_reg(
316        &self,
317    ) -> &'static crate::common::Reg<self::BleDeepslwkupReg_SPEC, crate::common::RW> {
318        unsafe {
319            crate::common::Reg::<self::BleDeepslwkupReg_SPEC, crate::common::RW>::from_ptr(
320                self._svd2pac_as_ptr().add(52usize),
321            )
322        }
323    }
324
325    #[doc = "Debug use only"]
326    #[inline(always)]
327    pub const fn ble_diagcntl2_reg(
328        &self,
329    ) -> &'static crate::common::Reg<self::BleDiagcntl2Reg_SPEC, crate::common::RW> {
330        unsafe {
331            crate::common::Reg::<self::BleDiagcntl2Reg_SPEC, crate::common::RW>::from_ptr(
332                self._svd2pac_as_ptr().add(524usize),
333            )
334        }
335    }
336
337    #[doc = "Debug use only"]
338    #[inline(always)]
339    pub const fn ble_diagcntl3_reg(
340        &self,
341    ) -> &'static crate::common::Reg<self::BleDiagcntl3Reg_SPEC, crate::common::RW> {
342        unsafe {
343            crate::common::Reg::<self::BleDiagcntl3Reg_SPEC, crate::common::RW>::from_ptr(
344                self._svd2pac_as_ptr().add(528usize),
345            )
346        }
347    }
348
349    #[doc = "Diagnostics Register"]
350    #[inline(always)]
351    pub const fn ble_diagcntl_reg(
352        &self,
353    ) -> &'static crate::common::Reg<self::BleDiagcntlReg_SPEC, crate::common::RW> {
354        unsafe {
355            crate::common::Reg::<self::BleDiagcntlReg_SPEC, crate::common::RW>::from_ptr(
356                self._svd2pac_as_ptr().add(80usize),
357            )
358        }
359    }
360
361    #[doc = "Debug use only"]
362    #[inline(always)]
363    pub const fn ble_diagstat_reg(
364        &self,
365    ) -> &'static crate::common::Reg<self::BleDiagstatReg_SPEC, crate::common::RW> {
366        unsafe {
367            crate::common::Reg::<self::BleDiagstatReg_SPEC, crate::common::RW>::from_ptr(
368                self._svd2pac_as_ptr().add(84usize),
369            )
370        }
371    }
372
373    #[doc = "Exchange Memory Base Register"]
374    #[inline(always)]
375    pub const fn ble_em_base_reg(
376        &self,
377    ) -> &'static crate::common::Reg<self::BleEmBaseReg_SPEC, crate::common::RW> {
378        unsafe {
379            crate::common::Reg::<self::BleEmBaseReg_SPEC, crate::common::RW>::from_ptr(
380                self._svd2pac_as_ptr().add(520usize),
381            )
382        }
383    }
384
385    #[doc = "Time in low power oscillator cycles register"]
386    #[inline(always)]
387    pub const fn ble_enbpreset_reg(
388        &self,
389    ) -> &'static crate::common::Reg<self::BleEnbpresetReg_SPEC, crate::common::RW> {
390        unsafe {
391            crate::common::Reg::<self::BleEnbpresetReg_SPEC, crate::common::RW>::from_ptr(
392                self._svd2pac_as_ptr().add(60usize),
393            )
394        }
395    }
396
397    #[doc = "Error Type Status registers"]
398    #[inline(always)]
399    pub const fn ble_errortypestat_reg(
400        &self,
401    ) -> &'static crate::common::Reg<self::BleErrortypestatReg_SPEC, crate::common::RW> {
402        unsafe {
403            crate::common::Reg::<self::BleErrortypestatReg_SPEC, crate::common::RW>::from_ptr(
404                self._svd2pac_as_ptr().add(96usize),
405            )
406        }
407    }
408
409    #[doc = "Phase correction value register"]
410    #[inline(always)]
411    pub const fn ble_finecntcorr_reg(
412        &self,
413    ) -> &'static crate::common::Reg<self::BleFinecntcorrReg_SPEC, crate::common::RW> {
414        unsafe {
415            crate::common::Reg::<self::BleFinecntcorrReg_SPEC, crate::common::RW>::from_ptr(
416                self._svd2pac_as_ptr().add(64usize),
417            )
418        }
419    }
420
421    #[doc = "Fine time reference counter"]
422    #[inline(always)]
423    pub const fn ble_finetimecnt_reg(
424        &self,
425    ) -> &'static crate::common::Reg<self::BleFinetimecntReg_SPEC, crate::common::RW> {
426        unsafe {
427            crate::common::Reg::<self::BleFinetimecntReg_SPEC, crate::common::RW>::from_ptr(
428                self._svd2pac_as_ptr().add(32usize),
429            )
430        }
431    }
432
433    #[doc = "Fine Timer Target value"]
434    #[inline(always)]
435    pub const fn ble_finetimtgt_reg(
436        &self,
437    ) -> &'static crate::common::Reg<self::BleFinetimtgtReg_SPEC, crate::common::RW> {
438        unsafe {
439            crate::common::Reg::<self::BleFinetimtgtReg_SPEC, crate::common::RW>::from_ptr(
440                self._svd2pac_as_ptr().add(248usize),
441            )
442        }
443    }
444
445    #[doc = "Gross Timer Target value"]
446    #[inline(always)]
447    pub const fn ble_grosstimtgt_reg(
448        &self,
449    ) -> &'static crate::common::Reg<self::BleGrosstimtgtReg_SPEC, crate::common::RW> {
450        unsafe {
451            crate::common::Reg::<self::BleGrosstimtgtReg_SPEC, crate::common::RW>::from_ptr(
452                self._svd2pac_as_ptr().add(244usize),
453            )
454        }
455    }
456
457    #[doc = "Interrupt acknowledge register"]
458    #[inline(always)]
459    pub const fn ble_intack_reg(
460        &self,
461    ) -> &'static crate::common::Reg<self::BleIntackReg_SPEC, crate::common::RW> {
462        unsafe {
463            crate::common::Reg::<self::BleIntackReg_SPEC, crate::common::RW>::from_ptr(
464                self._svd2pac_as_ptr().add(24usize),
465            )
466        }
467    }
468
469    #[doc = "Interrupt controller register"]
470    #[inline(always)]
471    pub const fn ble_intcntl_reg(
472        &self,
473    ) -> &'static crate::common::Reg<self::BleIntcntlReg_SPEC, crate::common::RW> {
474        unsafe {
475            crate::common::Reg::<self::BleIntcntlReg_SPEC, crate::common::RW>::from_ptr(
476                self._svd2pac_as_ptr().add(12usize),
477            )
478        }
479    }
480
481    #[doc = "Interrupt raw status register"]
482    #[inline(always)]
483    pub const fn ble_intrawstat_reg(
484        &self,
485    ) -> &'static crate::common::Reg<self::BleIntrawstatReg_SPEC, crate::common::RW> {
486        unsafe {
487            crate::common::Reg::<self::BleIntrawstatReg_SPEC, crate::common::RW>::from_ptr(
488                self._svd2pac_as_ptr().add(20usize),
489            )
490        }
491    }
492
493    #[doc = "Interrupt status register"]
494    #[inline(always)]
495    pub const fn ble_intstat_reg(
496        &self,
497    ) -> &'static crate::common::Reg<self::BleIntstatReg_SPEC, crate::common::RW> {
498        unsafe {
499            crate::common::Reg::<self::BleIntstatReg_SPEC, crate::common::RW>::from_ptr(
500                self._svd2pac_as_ptr().add(16usize),
501            )
502        }
503    }
504
505    #[doc = "Radio interface control register"]
506    #[inline(always)]
507    pub const fn ble_radiocntl0_reg(
508        &self,
509    ) -> &'static crate::common::Reg<self::BleRadiocntl0Reg_SPEC, crate::common::RW> {
510        unsafe {
511            crate::common::Reg::<self::BleRadiocntl0Reg_SPEC, crate::common::RW>::from_ptr(
512                self._svd2pac_as_ptr().add(112usize),
513            )
514        }
515    }
516
517    #[doc = "Radio interface control register"]
518    #[inline(always)]
519    pub const fn ble_radiocntl1_reg(
520        &self,
521    ) -> &'static crate::common::Reg<self::BleRadiocntl1Reg_SPEC, crate::common::RW> {
522        unsafe {
523            crate::common::Reg::<self::BleRadiocntl1Reg_SPEC, crate::common::RW>::from_ptr(
524                self._svd2pac_as_ptr().add(116usize),
525            )
526        }
527    }
528
529    #[doc = "Radio interface control register"]
530    #[inline(always)]
531    pub const fn ble_radiocntl2_reg(
532        &self,
533    ) -> &'static crate::common::Reg<self::BleRadiocntl2Reg_SPEC, crate::common::RW> {
534        unsafe {
535            crate::common::Reg::<self::BleRadiocntl2Reg_SPEC, crate::common::RW>::from_ptr(
536                self._svd2pac_as_ptr().add(120usize),
537            )
538        }
539    }
540
541    #[doc = "Radio interface control register"]
542    #[inline(always)]
543    pub const fn ble_radiocntl3_reg(
544        &self,
545    ) -> &'static crate::common::Reg<self::BleRadiocntl3Reg_SPEC, crate::common::RW> {
546        unsafe {
547            crate::common::Reg::<self::BleRadiocntl3Reg_SPEC, crate::common::RW>::from_ptr(
548                self._svd2pac_as_ptr().add(124usize),
549            )
550        }
551    }
552
553    #[doc = "RX/TX power up/down phase register"]
554    #[inline(always)]
555    pub const fn ble_radiopwrupdn_reg(
556        &self,
557    ) -> &'static crate::common::Reg<self::BleRadiopwrupdnReg_SPEC, crate::common::RW> {
558        unsafe {
559            crate::common::Reg::<self::BleRadiopwrupdnReg_SPEC, crate::common::RW>::from_ptr(
560                self._svd2pac_as_ptr().add(128usize),
561            )
562        }
563    }
564
565    #[doc = "RF Testing Register"]
566    #[inline(always)]
567    pub const fn ble_rftestcntl_reg(
568        &self,
569    ) -> &'static crate::common::Reg<self::BleRftestcntlReg_SPEC, crate::common::RW> {
570        unsafe {
571            crate::common::Reg::<self::BleRftestcntlReg_SPEC, crate::common::RW>::from_ptr(
572                self._svd2pac_as_ptr().add(224usize),
573            )
574        }
575    }
576
577    #[doc = "RF Testing Register"]
578    #[inline(always)]
579    pub const fn ble_rftestrxstat_reg(
580        &self,
581    ) -> &'static crate::common::Reg<self::BleRftestrxstatReg_SPEC, crate::common::RW> {
582        unsafe {
583            crate::common::Reg::<self::BleRftestrxstatReg_SPEC, crate::common::RW>::from_ptr(
584                self._svd2pac_as_ptr().add(232usize),
585            )
586        }
587    }
588
589    #[doc = "RF Testing Register"]
590    #[inline(always)]
591    pub const fn ble_rftesttxstat_reg(
592        &self,
593    ) -> &'static crate::common::Reg<self::BleRftesttxstatReg_SPEC, crate::common::RW> {
594        unsafe {
595            crate::common::Reg::<self::BleRftesttxstatReg_SPEC, crate::common::RW>::from_ptr(
596                self._svd2pac_as_ptr().add(228usize),
597            )
598        }
599    }
600
601    #[doc = "BLE Control register"]
602    #[inline(always)]
603    pub const fn ble_rwblecntl_reg(
604        &self,
605    ) -> &'static crate::common::Reg<self::BleRwblecntlReg_SPEC, crate::common::RW> {
606        unsafe {
607            crate::common::Reg::<self::BleRwblecntlReg_SPEC, crate::common::RW>::from_ptr(
608                self._svd2pac_as_ptr().add(0usize),
609            )
610        }
611    }
612
613    #[doc = "Configuration register"]
614    #[inline(always)]
615    pub const fn ble_rwbleconf_reg(
616        &self,
617    ) -> &'static crate::common::Reg<self::BleRwbleconfReg_SPEC, crate::common::RW> {
618        unsafe {
619            crate::common::Reg::<self::BleRwbleconfReg_SPEC, crate::common::RW>::from_ptr(
620                self._svd2pac_as_ptr().add(8usize),
621            )
622        }
623    }
624
625    #[doc = "AES / CCM plain MIC value"]
626    #[inline(always)]
627    pub const fn ble_rxmicval_reg(
628        &self,
629    ) -> &'static crate::common::Reg<self::BleRxmicvalReg_SPEC, crate::common::RW> {
630        unsafe {
631            crate::common::Reg::<self::BleRxmicvalReg_SPEC, crate::common::RW>::from_ptr(
632                self._svd2pac_as_ptr().add(220usize),
633            )
634        }
635    }
636
637    #[doc = "Samples the Base Time Counter"]
638    #[inline(always)]
639    pub const fn ble_sampleclk_reg(
640        &self,
641    ) -> &'static crate::common::Reg<self::BleSampleclkReg_SPEC, crate::common::RW> {
642        unsafe {
643            crate::common::Reg::<self::BleSampleclkReg_SPEC, crate::common::RW>::from_ptr(
644                self._svd2pac_as_ptr().add(252usize),
645            )
646        }
647    }
648
649    #[doc = "Software Profiling register"]
650    #[inline(always)]
651    pub const fn ble_swprofiling_reg(
652        &self,
653    ) -> &'static crate::common::Reg<self::BleSwprofilingReg_SPEC, crate::common::RW> {
654        unsafe {
655            crate::common::Reg::<self::BleSwprofilingReg_SPEC, crate::common::RW>::from_ptr(
656                self._svd2pac_as_ptr().add(100usize),
657            )
658        }
659    }
660
661    #[doc = "Timing Generator Register"]
662    #[inline(always)]
663    pub const fn ble_timgencntl_reg(
664        &self,
665    ) -> &'static crate::common::Reg<self::BleTimgencntlReg_SPEC, crate::common::RW> {
666        unsafe {
667            crate::common::Reg::<self::BleTimgencntlReg_SPEC, crate::common::RW>::from_ptr(
668                self._svd2pac_as_ptr().add(240usize),
669            )
670        }
671    }
672
673    #[doc = "AES / CCM plain MIC value"]
674    #[inline(always)]
675    pub const fn ble_txmicval_reg(
676        &self,
677    ) -> &'static crate::common::Reg<self::BleTxmicvalReg_SPEC, crate::common::RW> {
678        unsafe {
679            crate::common::Reg::<self::BleTxmicvalReg_SPEC, crate::common::RW>::from_ptr(
680                self._svd2pac_as_ptr().add(216usize),
681            )
682        }
683    }
684
685    #[doc = "Version register"]
686    #[inline(always)]
687    pub const fn ble_version_reg(
688        &self,
689    ) -> &'static crate::common::Reg<self::BleVersionReg_SPEC, crate::common::RW> {
690        unsafe {
691            crate::common::Reg::<self::BleVersionReg_SPEC, crate::common::RW>::from_ptr(
692                self._svd2pac_as_ptr().add(4usize),
693            )
694        }
695    }
696
697    #[doc = "Devices in white list"]
698    #[inline(always)]
699    pub const fn ble_wlnbdev_reg(
700        &self,
701    ) -> &'static crate::common::Reg<self::BleWlnbdevReg_SPEC, crate::common::RW> {
702        unsafe {
703            crate::common::Reg::<self::BleWlnbdevReg_SPEC, crate::common::RW>::from_ptr(
704                self._svd2pac_as_ptr().add(184usize),
705            )
706        }
707    }
708
709    #[doc = "Start address of private devices list"]
710    #[inline(always)]
711    pub const fn ble_wlprivaddptr_reg(
712        &self,
713    ) -> &'static crate::common::Reg<self::BleWlprivaddptrReg_SPEC, crate::common::RW> {
714        unsafe {
715            crate::common::Reg::<self::BleWlprivaddptrReg_SPEC, crate::common::RW>::from_ptr(
716                self._svd2pac_as_ptr().add(180usize),
717            )
718        }
719    }
720
721    #[doc = "Start address of public devices list"]
722    #[inline(always)]
723    pub const fn ble_wlpubaddptr_reg(
724        &self,
725    ) -> &'static crate::common::Reg<self::BleWlpubaddptrReg_SPEC, crate::common::RW> {
726        unsafe {
727            crate::common::Reg::<self::BleWlpubaddptrReg_SPEC, crate::common::RW>::from_ptr(
728                self._svd2pac_as_ptr().add(176usize),
729            )
730        }
731    }
732}
733#[doc(hidden)]
734#[derive(Copy, Clone, Eq, PartialEq)]
735pub struct BleActscanstatReg_SPEC;
736impl crate::sealed::RegSpec for BleActscanstatReg_SPEC {
737    type DataType = u32;
738}
739
740#[doc = "Active scan register"]
741pub type BleActscanstatReg = crate::RegValueT<BleActscanstatReg_SPEC>;
742
743impl BleActscanstatReg {
744    #[doc = "Active scan mode back-off counter initialization value."]
745    #[inline(always)]
746    pub fn backoff(
747        self,
748    ) -> crate::common::RegisterField<
749        16,
750        0x1ff,
751        1,
752        0,
753        u16,
754        u16,
755        BleActscanstatReg_SPEC,
756        crate::common::R,
757    > {
758        crate::common::RegisterField::<
759            16,
760            0x1ff,
761            1,
762            0,
763            u16,
764            u16,
765            BleActscanstatReg_SPEC,
766            crate::common::R,
767        >::from_register(self, 0)
768    }
769
770    #[doc = "Active scan mode upper limit counter value."]
771    #[inline(always)]
772    pub fn upperlimit(
773        self,
774    ) -> crate::common::RegisterField<
775        0,
776        0x1ff,
777        1,
778        0,
779        u16,
780        u16,
781        BleActscanstatReg_SPEC,
782        crate::common::R,
783    > {
784        crate::common::RegisterField::<
785            0,
786            0x1ff,
787            1,
788            0,
789            u16,
790            u16,
791            BleActscanstatReg_SPEC,
792            crate::common::R,
793        >::from_register(self, 0)
794    }
795}
796impl ::core::default::Default for BleActscanstatReg {
797    #[inline(always)]
798    fn default() -> BleActscanstatReg {
799        <crate::RegValueT<BleActscanstatReg_SPEC> as RegisterValue<_>>::new(65537)
800    }
801}
802
803#[doc(hidden)]
804#[derive(Copy, Clone, Eq, PartialEq)]
805pub struct BleAdvchmapReg_SPEC;
806impl crate::sealed::RegSpec for BleAdvchmapReg_SPEC {
807    type DataType = u32;
808}
809
810#[doc = "Advertising Channel Map"]
811pub type BleAdvchmapReg = crate::RegValueT<BleAdvchmapReg_SPEC>;
812
813impl BleAdvchmapReg {
814    #[doc = "Advertising Channel Map, defined as per the advertising connection settings. Contains advertising channels index 37 to 39. If ADVCHMAP\\[i\\] equals:\n0: Do not use data channel i+37.\n1: Use data channel i+37."]
815    #[inline(always)]
816    pub fn advchmap(
817        self,
818    ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleAdvchmapReg_SPEC, crate::common::RW>
819    {
820        crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleAdvchmapReg_SPEC,crate::common::RW>::from_register(self,0)
821    }
822}
823impl ::core::default::Default for BleAdvchmapReg {
824    #[inline(always)]
825    fn default() -> BleAdvchmapReg {
826        <crate::RegValueT<BleAdvchmapReg_SPEC> as RegisterValue<_>>::new(7)
827    }
828}
829
830#[doc(hidden)]
831#[derive(Copy, Clone, Eq, PartialEq)]
832pub struct BleAdvtimReg_SPEC;
833impl crate::sealed::RegSpec for BleAdvtimReg_SPEC {
834    type DataType = u32;
835}
836
837#[doc = "Advertising Packet Interval"]
838pub type BleAdvtimReg = crate::RegValueT<BleAdvtimReg_SPEC>;
839
840impl BleAdvtimReg {
841    #[doc = "Advertising Packet Interval defines the time interval in between two ADV_xxx packet sent. Value is in us.\nValue to program depends on the used Advertising Packet type and the device filtering policy."]
842    #[inline(always)]
843    pub fn advint(
844        self,
845    ) -> crate::common::RegisterField<0, 0x3fff, 1, 0, u16, u16, BleAdvtimReg_SPEC, crate::common::RW>
846    {
847        crate::common::RegisterField::<
848            0,
849            0x3fff,
850            1,
851            0,
852            u16,
853            u16,
854            BleAdvtimReg_SPEC,
855            crate::common::RW,
856        >::from_register(self, 0)
857    }
858}
859impl ::core::default::Default for BleAdvtimReg {
860    #[inline(always)]
861    fn default() -> BleAdvtimReg {
862        <crate::RegValueT<BleAdvtimReg_SPEC> as RegisterValue<_>>::new(0)
863    }
864}
865
866#[doc(hidden)]
867#[derive(Copy, Clone, Eq, PartialEq)]
868pub struct BleAescntlReg_SPEC;
869impl crate::sealed::RegSpec for BleAescntlReg_SPEC {
870    type DataType = u32;
871}
872
873#[doc = "Start AES register"]
874pub type BleAescntlReg = crate::RegValueT<BleAescntlReg_SPEC>;
875
876impl BleAescntlReg {
877    #[doc = "0: Cipher mode\n1: Decipher mode"]
878    #[inline(always)]
879    pub fn aes_mode(
880        self,
881    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleAescntlReg_SPEC, crate::common::RW> {
882        crate::common::RegisterFieldBool::<1,1,0,BleAescntlReg_SPEC,crate::common::RW>::from_register(self,0)
883    }
884
885    #[doc = "Writing a 1 starts AES-128 ciphering/deciphering process.\nThis bit is reset once the process is finished (i.e. ble_crypt_irq interrupt occurs, even masked)"]
886    #[inline(always)]
887    pub fn aes_start(
888        self,
889    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleAescntlReg_SPEC, crate::common::W> {
890        crate::common::RegisterFieldBool::<0,1,0,BleAescntlReg_SPEC,crate::common::W>::from_register(self,0)
891    }
892}
893impl ::core::default::Default for BleAescntlReg {
894    #[inline(always)]
895    fn default() -> BleAescntlReg {
896        <crate::RegValueT<BleAescntlReg_SPEC> as RegisterValue<_>>::new(0)
897    }
898}
899
900#[doc(hidden)]
901#[derive(Copy, Clone, Eq, PartialEq)]
902pub struct BleAeskey12796Reg_SPEC;
903impl crate::sealed::RegSpec for BleAeskey12796Reg_SPEC {
904    type DataType = u32;
905}
906
907#[doc = "AES encryption key"]
908pub type BleAeskey12796Reg = crate::RegValueT<BleAeskey12796Reg_SPEC>;
909
910impl BleAeskey12796Reg {
911    #[doc = "AES encryption 128-bit key. Bit 127 down to 96"]
912    #[inline(always)]
913    pub fn aeskey127_96(
914        self,
915    ) -> crate::common::RegisterField<
916        0,
917        0xffffffff,
918        1,
919        0,
920        u32,
921        u32,
922        BleAeskey12796Reg_SPEC,
923        crate::common::RW,
924    > {
925        crate::common::RegisterField::<
926            0,
927            0xffffffff,
928            1,
929            0,
930            u32,
931            u32,
932            BleAeskey12796Reg_SPEC,
933            crate::common::RW,
934        >::from_register(self, 0)
935    }
936}
937impl ::core::default::Default for BleAeskey12796Reg {
938    #[inline(always)]
939    fn default() -> BleAeskey12796Reg {
940        <crate::RegValueT<BleAeskey12796Reg_SPEC> as RegisterValue<_>>::new(0)
941    }
942}
943
944#[doc(hidden)]
945#[derive(Copy, Clone, Eq, PartialEq)]
946pub struct BleAeskey310Reg_SPEC;
947impl crate::sealed::RegSpec for BleAeskey310Reg_SPEC {
948    type DataType = u32;
949}
950
951#[doc = "AES encryption key"]
952pub type BleAeskey310Reg = crate::RegValueT<BleAeskey310Reg_SPEC>;
953
954impl BleAeskey310Reg {
955    #[doc = "AES encryption 128-bit key. Bit 31 down to 0"]
956    #[inline(always)]
957    pub fn aeskey31_0(
958        self,
959    ) -> crate::common::RegisterField<
960        0,
961        0xffffffff,
962        1,
963        0,
964        u32,
965        u32,
966        BleAeskey310Reg_SPEC,
967        crate::common::RW,
968    > {
969        crate::common::RegisterField::<
970            0,
971            0xffffffff,
972            1,
973            0,
974            u32,
975            u32,
976            BleAeskey310Reg_SPEC,
977            crate::common::RW,
978        >::from_register(self, 0)
979    }
980}
981impl ::core::default::Default for BleAeskey310Reg {
982    #[inline(always)]
983    fn default() -> BleAeskey310Reg {
984        <crate::RegValueT<BleAeskey310Reg_SPEC> as RegisterValue<_>>::new(0)
985    }
986}
987
988#[doc(hidden)]
989#[derive(Copy, Clone, Eq, PartialEq)]
990pub struct BleAeskey6332Reg_SPEC;
991impl crate::sealed::RegSpec for BleAeskey6332Reg_SPEC {
992    type DataType = u32;
993}
994
995#[doc = "AES encryption key"]
996pub type BleAeskey6332Reg = crate::RegValueT<BleAeskey6332Reg_SPEC>;
997
998impl BleAeskey6332Reg {
999    #[doc = "AES encryption 128-bit key. Bit 63 down to 32"]
1000    #[inline(always)]
1001    pub fn aeskey63_32(
1002        self,
1003    ) -> crate::common::RegisterField<
1004        0,
1005        0xffffffff,
1006        1,
1007        0,
1008        u32,
1009        u32,
1010        BleAeskey6332Reg_SPEC,
1011        crate::common::RW,
1012    > {
1013        crate::common::RegisterField::<
1014            0,
1015            0xffffffff,
1016            1,
1017            0,
1018            u32,
1019            u32,
1020            BleAeskey6332Reg_SPEC,
1021            crate::common::RW,
1022        >::from_register(self, 0)
1023    }
1024}
1025impl ::core::default::Default for BleAeskey6332Reg {
1026    #[inline(always)]
1027    fn default() -> BleAeskey6332Reg {
1028        <crate::RegValueT<BleAeskey6332Reg_SPEC> as RegisterValue<_>>::new(0)
1029    }
1030}
1031
1032#[doc(hidden)]
1033#[derive(Copy, Clone, Eq, PartialEq)]
1034pub struct BleAeskey9564Reg_SPEC;
1035impl crate::sealed::RegSpec for BleAeskey9564Reg_SPEC {
1036    type DataType = u32;
1037}
1038
1039#[doc = "AES encryption key"]
1040pub type BleAeskey9564Reg = crate::RegValueT<BleAeskey9564Reg_SPEC>;
1041
1042impl BleAeskey9564Reg {
1043    #[doc = "AES encryption 128-bit key. Bit 95 down to 64"]
1044    #[inline(always)]
1045    pub fn aeskey95_64(
1046        self,
1047    ) -> crate::common::RegisterField<
1048        0,
1049        0xffffffff,
1050        1,
1051        0,
1052        u32,
1053        u32,
1054        BleAeskey9564Reg_SPEC,
1055        crate::common::RW,
1056    > {
1057        crate::common::RegisterField::<
1058            0,
1059            0xffffffff,
1060            1,
1061            0,
1062            u32,
1063            u32,
1064            BleAeskey9564Reg_SPEC,
1065            crate::common::RW,
1066        >::from_register(self, 0)
1067    }
1068}
1069impl ::core::default::Default for BleAeskey9564Reg {
1070    #[inline(always)]
1071    fn default() -> BleAeskey9564Reg {
1072        <crate::RegValueT<BleAeskey9564Reg_SPEC> as RegisterValue<_>>::new(0)
1073    }
1074}
1075
1076#[doc(hidden)]
1077#[derive(Copy, Clone, Eq, PartialEq)]
1078pub struct BleAesptrReg_SPEC;
1079impl crate::sealed::RegSpec for BleAesptrReg_SPEC {
1080    type DataType = u32;
1081}
1082
1083#[doc = "Pointer to the block to encrypt/decrypt"]
1084pub type BleAesptrReg = crate::RegValueT<BleAesptrReg_SPEC>;
1085
1086impl BleAesptrReg {
1087    #[doc = "Pointer to the memory zone where the block to cipher/decipher using AES-128 is stored."]
1088    #[inline(always)]
1089    pub fn aesptr(
1090        self,
1091    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, BleAesptrReg_SPEC, crate::common::RW>
1092    {
1093        crate::common::RegisterField::<
1094            0,
1095            0xffff,
1096            1,
1097            0,
1098            u16,
1099            u16,
1100            BleAesptrReg_SPEC,
1101            crate::common::RW,
1102        >::from_register(self, 0)
1103    }
1104}
1105impl ::core::default::Default for BleAesptrReg {
1106    #[inline(always)]
1107    fn default() -> BleAesptrReg {
1108        <crate::RegValueT<BleAesptrReg_SPEC> as RegisterValue<_>>::new(0)
1109    }
1110}
1111
1112#[doc(hidden)]
1113#[derive(Copy, Clone, Eq, PartialEq)]
1114pub struct BleBasetimecntcorrReg_SPEC;
1115impl crate::sealed::RegSpec for BleBasetimecntcorrReg_SPEC {
1116    type DataType = u32;
1117}
1118
1119#[doc = "Base Time Counter"]
1120pub type BleBasetimecntcorrReg = crate::RegValueT<BleBasetimecntcorrReg_SPEC>;
1121
1122impl BleBasetimecntcorrReg {
1123    #[doc = "Base Time Counter correction value."]
1124    #[inline(always)]
1125    pub fn basetimecntcorr(
1126        self,
1127    ) -> crate::common::RegisterField<
1128        0,
1129        0x7ffffff,
1130        1,
1131        0,
1132        u32,
1133        u32,
1134        BleBasetimecntcorrReg_SPEC,
1135        crate::common::RW,
1136    > {
1137        crate::common::RegisterField::<
1138            0,
1139            0x7ffffff,
1140            1,
1141            0,
1142            u32,
1143            u32,
1144            BleBasetimecntcorrReg_SPEC,
1145            crate::common::RW,
1146        >::from_register(self, 0)
1147    }
1148}
1149impl ::core::default::Default for BleBasetimecntcorrReg {
1150    #[inline(always)]
1151    fn default() -> BleBasetimecntcorrReg {
1152        <crate::RegValueT<BleBasetimecntcorrReg_SPEC> as RegisterValue<_>>::new(0)
1153    }
1154}
1155
1156#[doc(hidden)]
1157#[derive(Copy, Clone, Eq, PartialEq)]
1158pub struct BleBasetimecntReg_SPEC;
1159impl crate::sealed::RegSpec for BleBasetimecntReg_SPEC {
1160    type DataType = u32;
1161}
1162
1163#[doc = "Base time reference counter"]
1164pub type BleBasetimecntReg = crate::RegValueT<BleBasetimecntReg_SPEC>;
1165
1166impl BleBasetimecntReg {
1167    #[doc = "Value of the 625us base time reference counter. Updated each time SAMPCLK is written. Used by the SW in order to synchronize with the HW"]
1168    #[inline(always)]
1169    pub fn basetimecnt(
1170        self,
1171    ) -> crate::common::RegisterField<
1172        0,
1173        0x7ffffff,
1174        1,
1175        0,
1176        u32,
1177        u32,
1178        BleBasetimecntReg_SPEC,
1179        crate::common::R,
1180    > {
1181        crate::common::RegisterField::<
1182            0,
1183            0x7ffffff,
1184            1,
1185            0,
1186            u32,
1187            u32,
1188            BleBasetimecntReg_SPEC,
1189            crate::common::R,
1190        >::from_register(self, 0)
1191    }
1192}
1193impl ::core::default::Default for BleBasetimecntReg {
1194    #[inline(always)]
1195    fn default() -> BleBasetimecntReg {
1196        <crate::RegValueT<BleBasetimecntReg_SPEC> as RegisterValue<_>>::new(0)
1197    }
1198}
1199
1200#[doc(hidden)]
1201#[derive(Copy, Clone, Eq, PartialEq)]
1202pub struct BleBdaddrlReg_SPEC;
1203impl crate::sealed::RegSpec for BleBdaddrlReg_SPEC {
1204    type DataType = u32;
1205}
1206
1207#[doc = "BLE device address LSB register"]
1208pub type BleBdaddrlReg = crate::RegValueT<BleBdaddrlReg_SPEC>;
1209
1210impl BleBdaddrlReg {
1211    #[doc = "Bluetooth Low Energy Device Address. LSB part."]
1212    #[inline(always)]
1213    pub fn bdaddrl(
1214        self,
1215    ) -> crate::common::RegisterField<
1216        0,
1217        0xffffffff,
1218        1,
1219        0,
1220        u32,
1221        u32,
1222        BleBdaddrlReg_SPEC,
1223        crate::common::RW,
1224    > {
1225        crate::common::RegisterField::<
1226            0,
1227            0xffffffff,
1228            1,
1229            0,
1230            u32,
1231            u32,
1232            BleBdaddrlReg_SPEC,
1233            crate::common::RW,
1234        >::from_register(self, 0)
1235    }
1236}
1237impl ::core::default::Default for BleBdaddrlReg {
1238    #[inline(always)]
1239    fn default() -> BleBdaddrlReg {
1240        <crate::RegValueT<BleBdaddrlReg_SPEC> as RegisterValue<_>>::new(0)
1241    }
1242}
1243
1244#[doc(hidden)]
1245#[derive(Copy, Clone, Eq, PartialEq)]
1246pub struct BleBdaddruReg_SPEC;
1247impl crate::sealed::RegSpec for BleBdaddruReg_SPEC {
1248    type DataType = u32;
1249}
1250
1251#[doc = "BLE device address MSB register"]
1252pub type BleBdaddruReg = crate::RegValueT<BleBdaddruReg_SPEC>;
1253
1254impl BleBdaddruReg {
1255    #[doc = "Bluetooth Low Energy Device Address privacy indicator\n0: Public Bluetooth Device Address\n1: Private Bluetooth Device Address"]
1256    #[inline(always)]
1257    pub fn priv_npub(
1258        self,
1259    ) -> crate::common::RegisterFieldBool<16, 1, 0, BleBdaddruReg_SPEC, crate::common::RW> {
1260        crate::common::RegisterFieldBool::<16,1,0,BleBdaddruReg_SPEC,crate::common::RW>::from_register(self,0)
1261    }
1262
1263    #[doc = "Bluetooth Low Energy Device Address. MSB part."]
1264    #[inline(always)]
1265    pub fn bdaddru(
1266        self,
1267    ) -> crate::common::RegisterField<
1268        0,
1269        0xffff,
1270        1,
1271        0,
1272        u16,
1273        u16,
1274        BleBdaddruReg_SPEC,
1275        crate::common::RW,
1276    > {
1277        crate::common::RegisterField::<
1278            0,
1279            0xffff,
1280            1,
1281            0,
1282            u16,
1283            u16,
1284            BleBdaddruReg_SPEC,
1285            crate::common::RW,
1286        >::from_register(self, 0)
1287    }
1288}
1289impl ::core::default::Default for BleBdaddruReg {
1290    #[inline(always)]
1291    fn default() -> BleBdaddruReg {
1292        <crate::RegValueT<BleBdaddruReg_SPEC> as RegisterValue<_>>::new(0)
1293    }
1294}
1295
1296#[doc(hidden)]
1297#[derive(Copy, Clone, Eq, PartialEq)]
1298pub struct BleBlemprio0Reg_SPEC;
1299impl crate::sealed::RegSpec for BleBlemprio0Reg_SPEC {
1300    type DataType = u32;
1301}
1302
1303#[doc = "Coexistence interface Priority 0 Register"]
1304pub type BleBlemprio0Reg = crate::RegValueT<BleBlemprio0Reg_SPEC>;
1305
1306impl BleBlemprio0Reg {
1307    #[doc = "Set Priority value for Passive Scanning"]
1308    #[inline(always)]
1309    pub fn blem7(
1310        self,
1311    ) -> crate::common::RegisterField<28, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1312    {
1313        crate::common::RegisterField::<28,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1314    }
1315
1316    #[doc = "Set Priority value for Non-Connectable Advertising"]
1317    #[inline(always)]
1318    pub fn blem6(
1319        self,
1320    ) -> crate::common::RegisterField<24, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1321    {
1322        crate::common::RegisterField::<24,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1323    }
1324
1325    #[doc = "Set Priority value for Connectable Advertising BLE message"]
1326    #[inline(always)]
1327    pub fn blem5(
1328        self,
1329    ) -> crate::common::RegisterField<20, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1330    {
1331        crate::common::RegisterField::<20,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1332    }
1333
1334    #[doc = "Set Priority value for Active Scanning BLE message"]
1335    #[inline(always)]
1336    pub fn blem4(
1337        self,
1338    ) -> crate::common::RegisterField<16, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1339    {
1340        crate::common::RegisterField::<16,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1341    }
1342
1343    #[doc = "Set Priority value for Initiating (Scanning) BLE message"]
1344    #[inline(always)]
1345    pub fn blem3(
1346        self,
1347    ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1348    {
1349        crate::common::RegisterField::<12,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1350    }
1351
1352    #[doc = "Set Priority value for Data Channel transmission BLE message"]
1353    #[inline(always)]
1354    pub fn blem2(
1355        self,
1356    ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1357    {
1358        crate::common::RegisterField::<8,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1359    }
1360
1361    #[doc = "Set Priority value for LLCP BLE message"]
1362    #[inline(always)]
1363    pub fn blem1(
1364        self,
1365    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1366    {
1367        crate::common::RegisterField::<4,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1368    }
1369
1370    #[doc = "Set Priority value for Initiating (Connection Request Response) BLE message"]
1371    #[inline(always)]
1372    pub fn blem0(
1373        self,
1374    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1375    {
1376        crate::common::RegisterField::<0,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1377    }
1378}
1379impl ::core::default::Default for BleBlemprio0Reg {
1380    #[inline(always)]
1381    fn default() -> BleBlemprio0Reg {
1382        <crate::RegValueT<BleBlemprio0Reg_SPEC> as RegisterValue<_>>::new(881438191)
1383    }
1384}
1385
1386#[doc(hidden)]
1387#[derive(Copy, Clone, Eq, PartialEq)]
1388pub struct BleBlemprio1Reg_SPEC;
1389impl crate::sealed::RegSpec for BleBlemprio1Reg_SPEC {
1390    type DataType = u32;
1391}
1392
1393#[doc = "Coexistence interface Priority 1 Register"]
1394pub type BleBlemprio1Reg = crate::RegValueT<BleBlemprio1Reg_SPEC>;
1395
1396impl BleBlemprio1Reg {
1397    #[doc = "Set default priority value for other BLE message than those defined above"]
1398    #[inline(always)]
1399    pub fn blemdefault(
1400        self,
1401    ) -> crate::common::RegisterField<28, 0xf, 1, 0, u8, u8, BleBlemprio1Reg_SPEC, crate::common::RW>
1402    {
1403        crate::common::RegisterField::<28,0xf,1,0,u8,u8,BleBlemprio1Reg_SPEC,crate::common::RW>::from_register(self,0)
1404    }
1405}
1406impl ::core::default::Default for BleBlemprio1Reg {
1407    #[inline(always)]
1408    fn default() -> BleBlemprio1Reg {
1409        <crate::RegValueT<BleBlemprio1Reg_SPEC> as RegisterValue<_>>::new(805306368)
1410    }
1411}
1412
1413#[doc(hidden)]
1414#[derive(Copy, Clone, Eq, PartialEq)]
1415pub struct BleCntl2Reg_SPEC;
1416impl crate::sealed::RegSpec for BleCntl2Reg_SPEC {
1417    type DataType = u32;
1418}
1419
1420#[doc = "BLE Control Register 2"]
1421pub type BleCntl2Reg = crate::RegValueT<BleCntl2Reg_SPEC>;
1422
1423impl BleCntl2Reg {
1424    #[doc = "The value will be compared with the FINECNT in order to assert the BLE_TRANSACTION signal towards the COEX block. The deassertion of BLE_TRANSACTION is triggered by the deassertion of BLE_EVENT_IN_PROCESS. Refer also to BLE_TRANSACTION_MODE, BLE_TRANSACTION_SRC and BLE_PTI_SOURCE_SEL bitfields.\nIf the desired distance from TX_EN/RX_EN is RADIO_PWRDN and TXRXPWRUP=max(TXPWRUP, RXPWRUP), then this bitfield must be set to (RADIO_PWRDN + TXRXPWRUP-1) if CS.FCNTOFFSET is \"0\", otherwise it must be set to (RADIO_PWRDN + TXRXPWRUP-1 - CS.FCNTOFFSET-1). \nRemark: BLE_EVENT_IN_PROCESS is controlled by the BLE_TIMGENCNTL_REG.PREFETCH_TIME, so the BLE_TRANSACTION_START should be less than the PREFETCH_TIME."]
1425    #[inline(always)]
1426    pub fn ble_transaction_start(
1427        self,
1428    ) -> crate::common::RegisterField<22, 0x3ff, 1, 0, u16, u16, BleCntl2Reg_SPEC, crate::common::RW>
1429    {
1430        crate::common::RegisterField::<22,0x3ff,1,0,u16,u16,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1431    }
1432
1433    #[doc = "0: Select Peak-hold RSSI value (default).\n1: Select current Average RSSI value."]
1434    #[inline(always)]
1435    pub fn ble_rssi_sel(
1436        self,
1437    ) -> crate::common::RegisterFieldBool<21, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1438        crate::common::RegisterFieldBool::<21,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1439    }
1440
1441    #[doc = "The status of the BLE_WAKEUP_LP_IRQ. The Interrupt Service Routine of BLE_WAKEUP_LP_IRQ should return only when the WAKEUPLPSTAT is cleared.\nNote that BLE_WAKEUP_LP_IRQ is automatically acknowledged after the power up of the Radio Subsystem, plus one Low Power Clock period."]
1442    #[inline(always)]
1443    pub fn wakeuplpstat(
1444        self,
1445    ) -> crate::common::RegisterFieldBool<20, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1446        crate::common::RegisterFieldBool::<20,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1447    }
1448
1449    #[doc = "Keep to 0."]
1450    #[inline(always)]
1451    pub fn sw_rpl_spi(
1452        self,
1453    ) -> crate::common::RegisterFieldBool<19, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1454        crate::common::RegisterFieldBool::<19,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1455    }
1456
1457    #[doc = "Keep to 0."]
1458    #[inline(always)]
1459    pub fn bb_only(
1460        self,
1461    ) -> crate::common::RegisterFieldBool<18, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1462        crate::common::RegisterFieldBool::<18,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1463    }
1464
1465    #[doc = "0: Provide to COEX block the PTI value indicated by the Control Structure. Recommended value is \"0\".\n1: Provide to COEX block the PTI value generated dynamically by the BLE core, which is based on the PTI of the Control Structure."]
1466    #[inline(always)]
1467    pub fn ble_pti_source_sel(
1468        self,
1469    ) -> crate::common::RegisterFieldBool<17, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1470        crate::common::RegisterFieldBool::<17,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1471    }
1472
1473    #[doc = "0: Keep the BLE_TRANSACTION constant during the process of the current event, regadless of the state of PTI value. Recommended value is \"0\".\n1: Create a one clock cycle of low period at the BLE_TRANSACTION whenever a change in the PTI value is detected.\n(refer also to BLE_PTI_SOURCE_SEL)"]
1474    #[inline(always)]
1475    pub fn ble_transaction_mode(
1476        self,
1477    ) -> crate::common::RegisterFieldBool<16, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1478        crate::common::RegisterFieldBool::<16,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1479    }
1480
1481    #[doc = "0: Assert the BLE_TRANSACTION at the moment indicated by the BLE_TRANSACTION_START only if the PTI value is available at that moment, otherwise assert BLE_TRANSACTION at the next positive edge of TX_EN ot RX_EN. Recommended value is \"0\".\n1: Assert the BLE_TRANSACTION at the moment indicated by the BLE_TRANSACTION_START, if during this moment the BLE_EVENT_IN_PROCESS is asserted, otherwise assert BLE_TRANSACTION at the next positive edge of TX_EN ot RX_EN. Useful when COEX_CTRL_REG\\[SEL_BLE_PTI\\]=0."]
1482    #[inline(always)]
1483    pub fn ble_transaction_src(
1484        self,
1485    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1486        crate::common::RegisterFieldBool::<15,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1487    }
1488
1489    #[doc = "BLE Clock Select.\nSpecifies the BLE master clock absolute frequency in MHz.\nTypical values are 16 and 8.\nValue depends on the selected XTAL frequency and the value of CLK_RADIO_REG\\[BLE_DIV\\] bitfield. For example, if XTAL oscillates at 16MHz and CLK_RADIO_REG\\[BLE_DIV\\] = 1 (divide by 2), then BLE master clock frequency is 8MHz and BLE_CLK_SEL should be set to value 8.\nThe selected BLE master clock frequency (affected by BLE_DIV and BLE_CLK_SEL) must be modified and set only during the initialization time, i.e. before setting BLE_RWBTLECNTL_REG\\[RWBLE_EN\\] to 1.\nRefer also to BLE_RWBTLECONF_REG\\[CLK_SEL\\]."]
1490    #[inline(always)]
1491    pub fn ble_clk_sel(
1492        self,
1493    ) -> crate::common::RegisterField<9, 0x3f, 1, 0, u8, u8, BleCntl2Reg_SPEC, crate::common::RW>
1494    {
1495        crate::common::RegisterField::<9,0x3f,1,0,u8,u8,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1496    }
1497
1498    #[doc = "This active high signal indicates when it is allowed for the BLE core (embedded in the Radio sub-System power domain) to be powered down.\nAfter the assertion of the BLE_DEEPSLCNTL_REG\\[DEEP_SLEEP_ON\\] a hardware sequence based on the Low Power clock will cause the assertion of RADIO_PWRDN_ALLOW. The RADIO_PWRDN_ALLOW will be cleared to \"0\" when the BLE core exits from the sleep state, i.e. when the BLE_SLP_IRQ will be asserted."]
1499    #[inline(always)]
1500    pub fn radio_pwrdn_allow(
1501        self,
1502    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1503        crate::common::RegisterFieldBool::<8,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1504    }
1505
1506    #[doc = "The SW can only write a \"0\" to this bit.\nWhenever a positive edge of the low power clock used by the BLE Timers is detected, then the HW will automatically set this bit to \"1\". This functionality will not work if BLE Timer is in reset state (refer to CLK_RADIO_REG\\[BLE_LP_RESET\\]).\nThis bit can be used for SW synchronization, to debug the low power clock, etc."]
1507    #[inline(always)]
1508    pub fn mon_lp_clk(
1509        self,
1510    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1511        crate::common::RegisterFieldBool::<7,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1512    }
1513
1514    #[doc = "0: BLE uses low power clock\n1: BLE uses master clock"]
1515    #[inline(always)]
1516    pub fn ble_clk_stat(
1517        self,
1518    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1519        crate::common::RegisterFieldBool::<6,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1520    }
1521
1522    #[doc = "Effective only when BLE_CNTL2_REG\\[ BLE_DIAG_OVR \\] is set to \'1\', providing the values of P1\\[0\\] and P1\\[2\\] diagnostic signals:\nP1\\[0\\] will provide the logical OR of all Cortex M0 IRQ lines, regadless of the BLE_DIAG_OVR_SEL value.\nP1\\[2\\] will provide the value according to the BLE_DIAG_OVR_SEL value:\n00: \"low_power_clk\" free running clock.\n01: \"running_at_32k\" status.\n10: \"cortex_deepsleep\" status.\n11: \"deep_sleep_stat_32k\" BLE core in sleep mode."]
1523    #[inline(always)]
1524    pub fn ble_diag_ovr_sel(
1525        self,
1526    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, BleCntl2Reg_SPEC, crate::common::RW>
1527    {
1528        crate::common::RegisterField::<4,0x3,1,0,u8,u8,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1529    }
1530
1531    #[doc = "1: Overrule the P1\\[0\\] and P1\\[2\\] control signals PAD_LATCH_EN to always \"1\" and the direction to always \"output\". It can be used in combination with the BLE_CNTL2_REG\\[ BLE_DIAG_OVR_SEL \\] to provide diagnostic signals on P1\\[0\\] and P1\\[2\\] even while the system is in power down state.\n0: The PAD_LATCH_EN and direction of P1\\[0\\] and P1\\[2\\] pins are not overruled."]
1532    #[inline(always)]
1533    pub fn ble_diag_ovr(
1534        self,
1535    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1536        crate::common::RegisterFieldBool::<3,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1537    }
1538
1539    #[doc = "Exchange Memory Access Error Mask:\nWhen cleared to \"0\" the EM_ACC_ERR will not cause an BLE_ERROR_IRQ interrupt.\nWhen set to \"1\" an BLE_ERROR_IRQ will be generated as long as EM_ACC_ERR is \"1\"."]
1540    #[inline(always)]
1541    pub fn emaccerrmsk(
1542        self,
1543    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1544        crate::common::RegisterFieldBool::<2,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1545    }
1546
1547    #[doc = "Exchange Memory Access Error Acknowledge.\nWhen the SW writes a \"1\" to this bit then the EMACCERRSTAT bit will be cleared.\nWhen the SW writes \"0\" it will have no affect.\nThe read value is always \"0\"."]
1548    #[inline(always)]
1549    pub fn emaccerrack(
1550        self,
1551    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleCntl2Reg_SPEC, crate::common::W> {
1552        crate::common::RegisterFieldBool::<1,1,0,BleCntl2Reg_SPEC,crate::common::W>::from_register(self,0)
1553    }
1554
1555    #[doc = "Exchange Memory Access Error Status:\nThe bit is read-only and can be cleared only by writing a \"1\" at EMACCERRACK bitfield.\nThis bit will be set to \"1\" by the hardware when the controller will access an EM page that is not mapped according to the EM_MAPPING value.\nWhen this bit is \"1\" then the BLE_ERROR_IRQ will be asserted as long as EMACCERRMSK is \"1\"."]
1556    #[inline(always)]
1557    pub fn emaccerrstat(
1558        self,
1559    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1560        crate::common::RegisterFieldBool::<0,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1561    }
1562}
1563impl ::core::default::Default for BleCntl2Reg {
1564    #[inline(always)]
1565    fn default() -> BleCntl2Reg {
1566        <crate::RegValueT<BleCntl2Reg_SPEC> as RegisterValue<_>>::new(4)
1567    }
1568}
1569
1570#[doc(hidden)]
1571#[derive(Copy, Clone, Eq, PartialEq)]
1572pub struct BleCoexifcntl0Reg_SPEC;
1573impl crate::sealed::RegSpec for BleCoexifcntl0Reg_SPEC {
1574    type DataType = u32;
1575}
1576
1577#[doc = "Coexistence interface Control 0 Register"]
1578pub type BleCoexifcntl0Reg = crate::RegValueT<BleCoexifcntl0Reg_SPEC>;
1579
1580impl BleCoexifcntl0Reg {
1581    #[doc = "Defines Bluetooth Low Energy packet ble_rx mode behavior.\n00: Rx indication excluding Rx Power up delay (starts when correlator is enabled)\n01: Rx indication including Rx Power up delay\n10: Rx High priority indicator\n11: n/a"]
1582    #[inline(always)]
1583    pub fn wlcrxpriomode(
1584        self,
1585    ) -> crate::common::RegisterField<
1586        20,
1587        0x3,
1588        1,
1589        0,
1590        u8,
1591        u8,
1592        BleCoexifcntl0Reg_SPEC,
1593        crate::common::RW,
1594    > {
1595        crate::common::RegisterField::<
1596            20,
1597            0x3,
1598            1,
1599            0,
1600            u8,
1601            u8,
1602            BleCoexifcntl0Reg_SPEC,
1603            crate::common::RW,
1604        >::from_register(self, 0)
1605    }
1606
1607    #[doc = "Defines Bluetooth Low Energy packet ble_tx mode behavior\n00: Tx indication excluding Tx Power up delay\n01: Tx indication including Tx Power up delay\n10: Tx High priority indicator\n11: n/a"]
1608    #[inline(always)]
1609    pub fn wlctxpriomode(
1610        self,
1611    ) -> crate::common::RegisterField<
1612        16,
1613        0x3,
1614        1,
1615        0,
1616        u8,
1617        u8,
1618        BleCoexifcntl0Reg_SPEC,
1619        crate::common::RW,
1620    > {
1621        crate::common::RegisterField::<
1622            16,
1623            0x3,
1624            1,
1625            0,
1626            u8,
1627            u8,
1628            BleCoexifcntl0Reg_SPEC,
1629            crate::common::RW,
1630        >::from_register(self, 0)
1631    }
1632
1633    #[doc = "Determines how wlan_tx impact BLE Tx and Rx\n00: wlan_tx has no impact (default mode)\n01: wlan_tx can stop BLE Tx, no impact on BLE Rx\n10: wlan_tx can stop BLE Rx, no impact on BLE Tx\n11: wlan_tx can stop both BLE Tx and BLE Rx"]
1634    #[inline(always)]
1635    pub fn wlantxmsk(
1636        self,
1637    ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, BleCoexifcntl0Reg_SPEC, crate::common::RW>
1638    {
1639        crate::common::RegisterField::<
1640            6,
1641            0x3,
1642            1,
1643            0,
1644            u8,
1645            u8,
1646            BleCoexifcntl0Reg_SPEC,
1647            crate::common::RW,
1648        >::from_register(self, 0)
1649    }
1650
1651    #[doc = "Determines how wlan_rx impact BLE Tx and Rx\n00: wlan_rx has no impact\n01: wlan_rx can stop BLE Tx, no impact on BLE Rx (default mode)\n10: wlan_rx can stop BLE Rx, no impact on BLE Tx\n11: wlan_rx can stop both BLE Tx and BLE Rx"]
1652    #[inline(always)]
1653    pub fn wlanrxmsk(
1654        self,
1655    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, BleCoexifcntl0Reg_SPEC, crate::common::RW>
1656    {
1657        crate::common::RegisterField::<
1658            4,
1659            0x3,
1660            1,
1661            0,
1662            u8,
1663            u8,
1664            BleCoexifcntl0Reg_SPEC,
1665            crate::common::RW,
1666        >::from_register(self, 0)
1667    }
1668
1669    #[doc = "Determines whether ble_sync is generated or not.\n0: ble_sync pulse not generated\n1: ble_sync pulse generated"]
1670    #[inline(always)]
1671    pub fn syncgen_en(
1672        self,
1673    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleCoexifcntl0Reg_SPEC, crate::common::RW> {
1674        crate::common::RegisterFieldBool::<1,1,0,BleCoexifcntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
1675    }
1676
1677    #[doc = "Enable / Disable control of the MWS/WLAN Coexistence control\n0: Coexistence interface disabled\n1: Coexistence interface enabled"]
1678    #[inline(always)]
1679    pub fn coex_en(
1680        self,
1681    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleCoexifcntl0Reg_SPEC, crate::common::RW> {
1682        crate::common::RegisterFieldBool::<0,1,0,BleCoexifcntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
1683    }
1684}
1685impl ::core::default::Default for BleCoexifcntl0Reg {
1686    #[inline(always)]
1687    fn default() -> BleCoexifcntl0Reg {
1688        <crate::RegValueT<BleCoexifcntl0Reg_SPEC> as RegisterValue<_>>::new(16)
1689    }
1690}
1691
1692#[doc(hidden)]
1693#[derive(Copy, Clone, Eq, PartialEq)]
1694pub struct BleCoexifcntl1Reg_SPEC;
1695impl crate::sealed::RegSpec for BleCoexifcntl1Reg_SPEC {
1696    type DataType = u32;
1697}
1698
1699#[doc = "Coexistence interface Control 1 Register"]
1700pub type BleCoexifcntl1Reg = crate::RegValueT<BleCoexifcntl1Reg_SPEC>;
1701
1702impl BleCoexifcntl1Reg {
1703    #[doc = "Applies on ble_rx if WLCRXPRIOMODE equals 10\nDetermines the threshold for Rx priority setting.\nIf ble_pti\\[3:0\\] output value is greater than WLCPRXTHR, then Rx Bluetooth Low Energy priority is considered as high, and must be provided to the WLAN coexistence interface"]
1704    #[inline(always)]
1705    pub fn wlcprxthr(
1706        self,
1707    ) -> crate::common::RegisterField<
1708        24,
1709        0x1f,
1710        1,
1711        0,
1712        u8,
1713        u8,
1714        BleCoexifcntl1Reg_SPEC,
1715        crate::common::RW,
1716    > {
1717        crate::common::RegisterField::<
1718            24,
1719            0x1f,
1720            1,
1721            0,
1722            u8,
1723            u8,
1724            BleCoexifcntl1Reg_SPEC,
1725            crate::common::RW,
1726        >::from_register(self, 0)
1727    }
1728
1729    #[doc = "Applies on ble_tx if WLCTXPRIOMODE equals 10\nDetermines the threshold for priority setting.\nIf ble_pti\\[3:0\\] output value is greater than WLCPTXTHR, then Tx Bluetooth Low Energy priority is considered as high, and must be provided to the WLAN coexistence interface"]
1730    #[inline(always)]
1731    pub fn wlcptxthr(
1732        self,
1733    ) -> crate::common::RegisterField<
1734        16,
1735        0x1f,
1736        1,
1737        0,
1738        u8,
1739        u8,
1740        BleCoexifcntl1Reg_SPEC,
1741        crate::common::RW,
1742    > {
1743        crate::common::RegisterField::<
1744            16,
1745            0x1f,
1746            1,
1747            0,
1748            u8,
1749            u8,
1750            BleCoexifcntl1Reg_SPEC,
1751            crate::common::RW,
1752        >::from_register(self, 0)
1753    }
1754
1755    #[doc = "Applies on ble_tx if WLCTXPRIOMODE equals 10\nApplies on ble_rx if WLCRXPRIOMODE equals 10\nDetermines how many s the priority information must be maintained\nNote that if WLCPDURATION = 0x00, then Tx/Rx priority levels are maintained till Tx/Rx EN are de-asserted."]
1756    #[inline(always)]
1757    pub fn wlcpduration(
1758        self,
1759    ) -> crate::common::RegisterField<
1760        8,
1761        0x7f,
1762        1,
1763        0,
1764        u8,
1765        u8,
1766        BleCoexifcntl1Reg_SPEC,
1767        crate::common::RW,
1768    > {
1769        crate::common::RegisterField::<
1770            8,
1771            0x7f,
1772            1,
1773            0,
1774            u8,
1775            u8,
1776            BleCoexifcntl1Reg_SPEC,
1777            crate::common::RW,
1778        >::from_register(self, 0)
1779    }
1780
1781    #[doc = "Applies on ble_tx if WLCTXPRIOMODE equals 10.\nApplies on ble_rx if WLCRXPRIOMODE equals 10.\nDetermines the delay (in us) in Tx/Rx enables rises the time Bluetooth Low energy Tx/Rx priority has to be provided ."]
1782    #[inline(always)]
1783    pub fn wlcpdelay(
1784        self,
1785    ) -> crate::common::RegisterField<
1786        0,
1787        0x7f,
1788        1,
1789        0,
1790        u8,
1791        u8,
1792        BleCoexifcntl1Reg_SPEC,
1793        crate::common::RW,
1794    > {
1795        crate::common::RegisterField::<
1796            0,
1797            0x7f,
1798            1,
1799            0,
1800            u8,
1801            u8,
1802            BleCoexifcntl1Reg_SPEC,
1803            crate::common::RW,
1804        >::from_register(self, 0)
1805    }
1806}
1807impl ::core::default::Default for BleCoexifcntl1Reg {
1808    #[inline(always)]
1809    fn default() -> BleCoexifcntl1Reg {
1810        <crate::RegValueT<BleCoexifcntl1Reg_SPEC> as RegisterValue<_>>::new(0)
1811    }
1812}
1813
1814#[doc(hidden)]
1815#[derive(Copy, Clone, Eq, PartialEq)]
1816pub struct BleCurrentrxdescptrReg_SPEC;
1817impl crate::sealed::RegSpec for BleCurrentrxdescptrReg_SPEC {
1818    type DataType = u32;
1819}
1820
1821#[doc = "Rx Descriptor Pointer for the Receive Buffer Chained List"]
1822pub type BleCurrentrxdescptrReg = crate::RegValueT<BleCurrentrxdescptrReg_SPEC>;
1823
1824impl BleCurrentrxdescptrReg {
1825    #[doc = "Exchange Table Pointer that determines the starting point of the Exchange Table"]
1826    #[inline(always)]
1827    pub fn etptr(
1828        self,
1829    ) -> crate::common::RegisterField<
1830        16,
1831        0xffff,
1832        1,
1833        0,
1834        u16,
1835        u16,
1836        BleCurrentrxdescptrReg_SPEC,
1837        crate::common::RW,
1838    > {
1839        crate::common::RegisterField::<
1840            16,
1841            0xffff,
1842            1,
1843            0,
1844            u16,
1845            u16,
1846            BleCurrentrxdescptrReg_SPEC,
1847            crate::common::RW,
1848        >::from_register(self, 0)
1849    }
1850
1851    #[doc = "Rx Descriptor Pointer that determines the starting point of the Receive Buffer Chained List"]
1852    #[inline(always)]
1853    pub fn currentrxdescptr(
1854        self,
1855    ) -> crate::common::RegisterField<
1856        0,
1857        0x7fff,
1858        1,
1859        0,
1860        u16,
1861        u16,
1862        BleCurrentrxdescptrReg_SPEC,
1863        crate::common::RW,
1864    > {
1865        crate::common::RegisterField::<
1866            0,
1867            0x7fff,
1868            1,
1869            0,
1870            u16,
1871            u16,
1872            BleCurrentrxdescptrReg_SPEC,
1873            crate::common::RW,
1874        >::from_register(self, 0)
1875    }
1876}
1877impl ::core::default::Default for BleCurrentrxdescptrReg {
1878    #[inline(always)]
1879    fn default() -> BleCurrentrxdescptrReg {
1880        <crate::RegValueT<BleCurrentrxdescptrReg_SPEC> as RegisterValue<_>>::new(0)
1881    }
1882}
1883
1884#[doc(hidden)]
1885#[derive(Copy, Clone, Eq, PartialEq)]
1886pub struct BleDebugaddmaxReg_SPEC;
1887impl crate::sealed::RegSpec for BleDebugaddmaxReg_SPEC {
1888    type DataType = u32;
1889}
1890
1891#[doc = "Upper limit for the memory zone"]
1892pub type BleDebugaddmaxReg = crate::RegValueT<BleDebugaddmaxReg_SPEC>;
1893
1894impl BleDebugaddmaxReg {
1895    #[doc = "Upper limit for the Register zone indicated by the reg_inzone flag"]
1896    #[inline(always)]
1897    pub fn reg_addmax(
1898        self,
1899    ) -> crate::common::RegisterField<
1900        16,
1901        0xffff,
1902        1,
1903        0,
1904        u16,
1905        u16,
1906        BleDebugaddmaxReg_SPEC,
1907        crate::common::RW,
1908    > {
1909        crate::common::RegisterField::<
1910            16,
1911            0xffff,
1912            1,
1913            0,
1914            u16,
1915            u16,
1916            BleDebugaddmaxReg_SPEC,
1917            crate::common::RW,
1918        >::from_register(self, 0)
1919    }
1920
1921    #[doc = "Upper limit for the Exchange Memory zone indicated by the em_inzone flag"]
1922    #[inline(always)]
1923    pub fn em_addmax(
1924        self,
1925    ) -> crate::common::RegisterField<
1926        0,
1927        0xffff,
1928        1,
1929        0,
1930        u16,
1931        u16,
1932        BleDebugaddmaxReg_SPEC,
1933        crate::common::RW,
1934    > {
1935        crate::common::RegisterField::<
1936            0,
1937            0xffff,
1938            1,
1939            0,
1940            u16,
1941            u16,
1942            BleDebugaddmaxReg_SPEC,
1943            crate::common::RW,
1944        >::from_register(self, 0)
1945    }
1946}
1947impl ::core::default::Default for BleDebugaddmaxReg {
1948    #[inline(always)]
1949    fn default() -> BleDebugaddmaxReg {
1950        <crate::RegValueT<BleDebugaddmaxReg_SPEC> as RegisterValue<_>>::new(0)
1951    }
1952}
1953
1954#[doc(hidden)]
1955#[derive(Copy, Clone, Eq, PartialEq)]
1956pub struct BleDebugaddminReg_SPEC;
1957impl crate::sealed::RegSpec for BleDebugaddminReg_SPEC {
1958    type DataType = u32;
1959}
1960
1961#[doc = "Lower limit for the memory zone"]
1962pub type BleDebugaddminReg = crate::RegValueT<BleDebugaddminReg_SPEC>;
1963
1964impl BleDebugaddminReg {
1965    #[doc = "Lower limit for the Register zone indicated by the reg_inzone flag"]
1966    #[inline(always)]
1967    pub fn reg_addmin(
1968        self,
1969    ) -> crate::common::RegisterField<
1970        16,
1971        0xffff,
1972        1,
1973        0,
1974        u16,
1975        u16,
1976        BleDebugaddminReg_SPEC,
1977        crate::common::RW,
1978    > {
1979        crate::common::RegisterField::<
1980            16,
1981            0xffff,
1982            1,
1983            0,
1984            u16,
1985            u16,
1986            BleDebugaddminReg_SPEC,
1987            crate::common::RW,
1988        >::from_register(self, 0)
1989    }
1990
1991    #[doc = "Lower limit for the Exchange Memory zone indicated by the em_inzone flag"]
1992    #[inline(always)]
1993    pub fn em_addmin(
1994        self,
1995    ) -> crate::common::RegisterField<
1996        0,
1997        0xffff,
1998        1,
1999        0,
2000        u16,
2001        u16,
2002        BleDebugaddminReg_SPEC,
2003        crate::common::RW,
2004    > {
2005        crate::common::RegisterField::<
2006            0,
2007            0xffff,
2008            1,
2009            0,
2010            u16,
2011            u16,
2012            BleDebugaddminReg_SPEC,
2013            crate::common::RW,
2014        >::from_register(self, 0)
2015    }
2016}
2017impl ::core::default::Default for BleDebugaddminReg {
2018    #[inline(always)]
2019    fn default() -> BleDebugaddminReg {
2020        <crate::RegValueT<BleDebugaddminReg_SPEC> as RegisterValue<_>>::new(0)
2021    }
2022}
2023
2024#[doc(hidden)]
2025#[derive(Copy, Clone, Eq, PartialEq)]
2026pub struct BleDeepslcntlReg_SPEC;
2027impl crate::sealed::RegSpec for BleDeepslcntlReg_SPEC {
2028    type DataType = u32;
2029}
2030
2031#[doc = "Deep-Sleep control register"]
2032pub type BleDeepslcntlReg = crate::RegValueT<BleDeepslcntlReg_SPEC>;
2033
2034impl BleDeepslcntlReg {
2035    #[doc = "External Wake-Up disable\n0: RW-BLE Core can be woken by external wake-up\n1: RW-BLE Core cannot be woken up by external wake-up"]
2036    #[inline(always)]
2037    pub fn extwkupdsb(
2038        self,
2039    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2040        crate::common::RegisterFieldBool::<31,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2041    }
2042
2043    #[doc = "Indicator of current Deep Sleep clock mux status:\n0: RW-BLE Core is not yet in Deep Sleep Mode\n1: RW-BLE Core is in Deep Sleep Mode (only low_power_clk is running)"]
2044    #[inline(always)]
2045    pub fn deep_sleep_stat(
2046        self,
2047    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDeepslcntlReg_SPEC, crate::common::R> {
2048        crate::common::RegisterFieldBool::<15,1,0,BleDeepslcntlReg_SPEC,crate::common::R>::from_register(self,0)
2049    }
2050
2051    #[doc = "Wake Up Request from RW-BLE Software. Applies when system is in Deep Sleep Mode. It wakes up the RW-BLE Core when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
2052    #[inline(always)]
2053    pub fn soft_wakeup_req(
2054        self,
2055    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2056        crate::common::RegisterFieldBool::<4,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2057    }
2058
2059    #[doc = "625us base time reference integer and fractional part correction. Applies when system has been woken-up from Deep Sleep Mode. It enables Fine Counter and Base Time counter when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
2060    #[inline(always)]
2061    pub fn deep_sleep_corr_en(
2062        self,
2063    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2064        crate::common::RegisterFieldBool::<3,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2065    }
2066
2067    #[doc = "0: RW-BLE Core in normal active mode\n1: Request RW-BLE Core to switch in deep sleep mode.\nThis bit is reset on DEEP_SLEEP_STAT falling edge."]
2068    #[inline(always)]
2069    pub fn deep_sleep_on(
2070        self,
2071    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2072        crate::common::RegisterFieldBool::<2,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2073    }
2074
2075    #[doc = "Always set to \"3\" when DEEP_SLEEP_ON is set to \"1\".\nIt controls the generation of BLE_WAKEUP_LP_IRQ."]
2076    #[inline(always)]
2077    pub fn deep_sleep_irq_en(
2078        self,
2079    ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, BleDeepslcntlReg_SPEC, crate::common::RW>
2080    {
2081        crate::common::RegisterField::<0,0x3,1,0,u8,u8,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2082    }
2083}
2084impl ::core::default::Default for BleDeepslcntlReg {
2085    #[inline(always)]
2086    fn default() -> BleDeepslcntlReg {
2087        <crate::RegValueT<BleDeepslcntlReg_SPEC> as RegisterValue<_>>::new(0)
2088    }
2089}
2090
2091#[doc(hidden)]
2092#[derive(Copy, Clone, Eq, PartialEq)]
2093pub struct BleDeepslstatReg_SPEC;
2094impl crate::sealed::RegSpec for BleDeepslstatReg_SPEC {
2095    type DataType = u32;
2096}
2097
2098#[doc = "Duration of the last deep sleep phase register"]
2099pub type BleDeepslstatReg = crate::RegValueT<BleDeepslstatReg_SPEC>;
2100
2101impl BleDeepslstatReg {
2102    #[doc = "Actual duration of the last deep sleep phase measured in low_power_clk clock cycle. DEEPSLDUR is set to zero at the beginning of the deep sleep phase, and is incremented at each low_power_clk clock cycle until the end of the deep sleep phase."]
2103    #[inline(always)]
2104    pub fn deepsldur(
2105        self,
2106    ) -> crate::common::RegisterField<
2107        0,
2108        0xffffffff,
2109        1,
2110        0,
2111        u32,
2112        u32,
2113        BleDeepslstatReg_SPEC,
2114        crate::common::R,
2115    > {
2116        crate::common::RegisterField::<
2117            0,
2118            0xffffffff,
2119            1,
2120            0,
2121            u32,
2122            u32,
2123            BleDeepslstatReg_SPEC,
2124            crate::common::R,
2125        >::from_register(self, 0)
2126    }
2127}
2128impl ::core::default::Default for BleDeepslstatReg {
2129    #[inline(always)]
2130    fn default() -> BleDeepslstatReg {
2131        <crate::RegValueT<BleDeepslstatReg_SPEC> as RegisterValue<_>>::new(0)
2132    }
2133}
2134
2135#[doc(hidden)]
2136#[derive(Copy, Clone, Eq, PartialEq)]
2137pub struct BleDeepslwkupReg_SPEC;
2138impl crate::sealed::RegSpec for BleDeepslwkupReg_SPEC {
2139    type DataType = u32;
2140}
2141
2142#[doc = "Time (measured in Low Power clock cycles) in Deep Sleep Mode before waking-up the device"]
2143pub type BleDeepslwkupReg = crate::RegValueT<BleDeepslwkupReg_SPEC>;
2144
2145impl BleDeepslwkupReg {
2146    #[doc = "Determines the time in low_power_clk clock cycles to spend in Deep Sleep Mode before waking-up the device. This ensures a maximum of 37 hours and 16mn sleep mode capabilities at 32kHz. This ensures a maximum of 36 hours and 16mn sleep mode capabilities at 32.768kHz"]
2147    #[inline(always)]
2148    pub fn deepsltime(
2149        self,
2150    ) -> crate::common::RegisterField<
2151        0,
2152        0xffffffff,
2153        1,
2154        0,
2155        u32,
2156        u32,
2157        BleDeepslwkupReg_SPEC,
2158        crate::common::RW,
2159    > {
2160        crate::common::RegisterField::<
2161            0,
2162            0xffffffff,
2163            1,
2164            0,
2165            u32,
2166            u32,
2167            BleDeepslwkupReg_SPEC,
2168            crate::common::RW,
2169        >::from_register(self, 0)
2170    }
2171}
2172impl ::core::default::Default for BleDeepslwkupReg {
2173    #[inline(always)]
2174    fn default() -> BleDeepslwkupReg {
2175        <crate::RegValueT<BleDeepslwkupReg_SPEC> as RegisterValue<_>>::new(0)
2176    }
2177}
2178
2179#[doc(hidden)]
2180#[derive(Copy, Clone, Eq, PartialEq)]
2181pub struct BleDiagcntl2Reg_SPEC;
2182impl crate::sealed::RegSpec for BleDiagcntl2Reg_SPEC {
2183    type DataType = u32;
2184}
2185
2186#[doc = "Debug use only"]
2187pub type BleDiagcntl2Reg = crate::RegValueT<BleDiagcntl2Reg_SPEC>;
2188
2189impl BleDiagcntl2Reg {
2190    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2191    #[inline(always)]
2192    pub fn diag7_en(
2193        self,
2194    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2195        crate::common::RegisterFieldBool::<31,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2196    }
2197
2198    #[doc = "Only relevant when DIAG7_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG7."]
2199    #[inline(always)]
2200    pub fn diag7(
2201        self,
2202    ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2203    {
2204        crate::common::RegisterField::<
2205            24,
2206            0x3f,
2207            1,
2208            0,
2209            u8,
2210            u8,
2211            BleDiagcntl2Reg_SPEC,
2212            crate::common::RW,
2213        >::from_register(self, 0)
2214    }
2215
2216    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2217    #[inline(always)]
2218    pub fn diag6_en(
2219        self,
2220    ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2221        crate::common::RegisterFieldBool::<23,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2222    }
2223
2224    #[doc = "Only relevant when DIAG6_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG6."]
2225    #[inline(always)]
2226    pub fn diag6(
2227        self,
2228    ) -> crate::common::RegisterField<16, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2229    {
2230        crate::common::RegisterField::<
2231            16,
2232            0x3f,
2233            1,
2234            0,
2235            u8,
2236            u8,
2237            BleDiagcntl2Reg_SPEC,
2238            crate::common::RW,
2239        >::from_register(self, 0)
2240    }
2241
2242    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2243    #[inline(always)]
2244    pub fn diag5_en(
2245        self,
2246    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2247        crate::common::RegisterFieldBool::<15,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2248    }
2249
2250    #[doc = "Only relevant when DIAG5_EN= 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG5."]
2251    #[inline(always)]
2252    pub fn diag5(
2253        self,
2254    ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2255    {
2256        crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2257    }
2258
2259    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2260    #[inline(always)]
2261    pub fn diag4_en(
2262        self,
2263    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2264        crate::common::RegisterFieldBool::<7,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2265    }
2266
2267    #[doc = "Only relevant when DIAG4_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG4."]
2268    #[inline(always)]
2269    pub fn diag4(
2270        self,
2271    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2272    {
2273        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2274    }
2275}
2276impl ::core::default::Default for BleDiagcntl2Reg {
2277    #[inline(always)]
2278    fn default() -> BleDiagcntl2Reg {
2279        <crate::RegValueT<BleDiagcntl2Reg_SPEC> as RegisterValue<_>>::new(0)
2280    }
2281}
2282
2283#[doc(hidden)]
2284#[derive(Copy, Clone, Eq, PartialEq)]
2285pub struct BleDiagcntl3Reg_SPEC;
2286impl crate::sealed::RegSpec for BleDiagcntl3Reg_SPEC {
2287    type DataType = u32;
2288}
2289
2290#[doc = "Debug use only"]
2291pub type BleDiagcntl3Reg = crate::RegValueT<BleDiagcntl3Reg_SPEC>;
2292
2293impl BleDiagcntl3Reg {
2294    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2295    #[inline(always)]
2296    pub fn diag7_inv(
2297        self,
2298    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2299        crate::common::RegisterFieldBool::<31,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2300    }
2301
2302    #[doc = "Selects which bit from the DIAG7 word will be forwarded to bit 7 of the BLE DIagnostic Port."]
2303    #[inline(always)]
2304    pub fn diag7_bit(
2305        self,
2306    ) -> crate::common::RegisterField<28, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2307    {
2308        crate::common::RegisterField::<28,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2309    }
2310
2311    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2312    #[inline(always)]
2313    pub fn diag6_inv(
2314        self,
2315    ) -> crate::common::RegisterFieldBool<27, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2316        crate::common::RegisterFieldBool::<27,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2317    }
2318
2319    #[doc = "Selects which bit from the DIAG6 word will be forwarded to bit 6 of the BLE DIagnostic Port."]
2320    #[inline(always)]
2321    pub fn diag6_bit(
2322        self,
2323    ) -> crate::common::RegisterField<24, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2324    {
2325        crate::common::RegisterField::<24,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2326    }
2327
2328    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2329    #[inline(always)]
2330    pub fn diag5_inv(
2331        self,
2332    ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2333        crate::common::RegisterFieldBool::<23,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2334    }
2335
2336    #[doc = "Selects which bit from the DIAG5 word will be forwarded to bit 5 of the BLE DIagnostic Port."]
2337    #[inline(always)]
2338    pub fn diag5_bit(
2339        self,
2340    ) -> crate::common::RegisterField<20, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2341    {
2342        crate::common::RegisterField::<20,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2343    }
2344
2345    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2346    #[inline(always)]
2347    pub fn diag4_inv(
2348        self,
2349    ) -> crate::common::RegisterFieldBool<19, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2350        crate::common::RegisterFieldBool::<19,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2351    }
2352
2353    #[doc = "Selects which bit from the DIAG4 word will be forwarded to bit 4 of the BLE DIagnostic Port."]
2354    #[inline(always)]
2355    pub fn diag4_bit(
2356        self,
2357    ) -> crate::common::RegisterField<16, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2358    {
2359        crate::common::RegisterField::<16,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2360    }
2361
2362    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2363    #[inline(always)]
2364    pub fn diag3_inv(
2365        self,
2366    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2367        crate::common::RegisterFieldBool::<15,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2368    }
2369
2370    #[doc = "Selects which bit from the DIAG3 word will be forwarded to bit 3 of the BLE DIagnostic Port."]
2371    #[inline(always)]
2372    pub fn diag3_bit(
2373        self,
2374    ) -> crate::common::RegisterField<12, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2375    {
2376        crate::common::RegisterField::<12,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2377    }
2378
2379    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2380    #[inline(always)]
2381    pub fn diag2_inv(
2382        self,
2383    ) -> crate::common::RegisterFieldBool<11, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2384        crate::common::RegisterFieldBool::<11,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2385    }
2386
2387    #[doc = "Selects which bit from the DIAG2 word will be forwarded to bit 2 of the BLE DIagnostic Port."]
2388    #[inline(always)]
2389    pub fn diag2_bit(
2390        self,
2391    ) -> crate::common::RegisterField<8, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2392    {
2393        crate::common::RegisterField::<8,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2394    }
2395
2396    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2397    #[inline(always)]
2398    pub fn diag1_inv(
2399        self,
2400    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2401        crate::common::RegisterFieldBool::<7,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2402    }
2403
2404    #[doc = "Selects which bit from the DIAG1 word will be forwarded to bit 1 of the BLE DIagnostic Port."]
2405    #[inline(always)]
2406    pub fn diag1_bit(
2407        self,
2408    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2409    {
2410        crate::common::RegisterField::<4,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2411    }
2412
2413    #[doc = "If set, then the specific diagnostic bit will be inverted."]
2414    #[inline(always)]
2415    pub fn diag0_inv(
2416        self,
2417    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2418        crate::common::RegisterFieldBool::<3,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2419    }
2420
2421    #[doc = "Selects which bit from the DIAG0 word will be forwarded to bit 0 of the BLE DIagnostic Port."]
2422    #[inline(always)]
2423    pub fn diag0_bit(
2424        self,
2425    ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2426    {
2427        crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2428    }
2429}
2430impl ::core::default::Default for BleDiagcntl3Reg {
2431    #[inline(always)]
2432    fn default() -> BleDiagcntl3Reg {
2433        <crate::RegValueT<BleDiagcntl3Reg_SPEC> as RegisterValue<_>>::new(0)
2434    }
2435}
2436
2437#[doc(hidden)]
2438#[derive(Copy, Clone, Eq, PartialEq)]
2439pub struct BleDiagcntlReg_SPEC;
2440impl crate::sealed::RegSpec for BleDiagcntlReg_SPEC {
2441    type DataType = u32;
2442}
2443
2444#[doc = "Diagnostics Register"]
2445pub type BleDiagcntlReg = crate::RegValueT<BleDiagcntlReg_SPEC>;
2446
2447impl BleDiagcntlReg {
2448    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2449    #[inline(always)]
2450    pub fn diag3_en(
2451        self,
2452    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2453        crate::common::RegisterFieldBool::<31,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2454    }
2455
2456    #[doc = "Only relevant when DIAG3_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG3."]
2457    #[inline(always)]
2458    pub fn diag3(
2459        self,
2460    ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2461    {
2462        crate::common::RegisterField::<24,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2463    }
2464
2465    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2466    #[inline(always)]
2467    pub fn diag2_en(
2468        self,
2469    ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2470        crate::common::RegisterFieldBool::<23,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2471    }
2472
2473    #[doc = "Only relevant when DIAG2_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG2."]
2474    #[inline(always)]
2475    pub fn diag2(
2476        self,
2477    ) -> crate::common::RegisterField<16, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2478    {
2479        crate::common::RegisterField::<16,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2480    }
2481
2482    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2483    #[inline(always)]
2484    pub fn diag1_en(
2485        self,
2486    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2487        crate::common::RegisterFieldBool::<15,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2488    }
2489
2490    #[doc = "Only relevant when DIAG1_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG1."]
2491    #[inline(always)]
2492    pub fn diag1(
2493        self,
2494    ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2495    {
2496        crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2497    }
2498
2499    #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2500    #[inline(always)]
2501    pub fn diag0_en(
2502        self,
2503    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2504        crate::common::RegisterFieldBool::<7,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2505    }
2506
2507    #[doc = "Only relevant when DIAG0_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG0."]
2508    #[inline(always)]
2509    pub fn diag0(
2510        self,
2511    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2512    {
2513        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2514    }
2515}
2516impl ::core::default::Default for BleDiagcntlReg {
2517    #[inline(always)]
2518    fn default() -> BleDiagcntlReg {
2519        <crate::RegValueT<BleDiagcntlReg_SPEC> as RegisterValue<_>>::new(0)
2520    }
2521}
2522
2523#[doc(hidden)]
2524#[derive(Copy, Clone, Eq, PartialEq)]
2525pub struct BleDiagstatReg_SPEC;
2526impl crate::sealed::RegSpec for BleDiagstatReg_SPEC {
2527    type DataType = u32;
2528}
2529
2530#[doc = "Debug use only"]
2531pub type BleDiagstatReg = crate::RegValueT<BleDiagstatReg_SPEC>;
2532
2533impl BleDiagstatReg {
2534    #[doc = "Directly connected to ble_dbg3\\[7:0\\] output. Debug use only."]
2535    #[inline(always)]
2536    pub fn diag3stat(
2537        self,
2538    ) -> crate::common::RegisterField<24, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2539    {
2540        crate::common::RegisterField::<24,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2541    }
2542
2543    #[doc = "Directly connected to ble_dbg2\\[7:0\\] output. Debug use only."]
2544    #[inline(always)]
2545    pub fn diag2stat(
2546        self,
2547    ) -> crate::common::RegisterField<16, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2548    {
2549        crate::common::RegisterField::<16,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2550    }
2551
2552    #[doc = "Directly connected to ble_dbg1\\[7:0\\] output. Debug use only."]
2553    #[inline(always)]
2554    pub fn diag1stat(
2555        self,
2556    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2557    {
2558        crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2559    }
2560
2561    #[doc = "Directly connected to ble_dbg0\\[7:0\\] output. Debug use only."]
2562    #[inline(always)]
2563    pub fn diag0stat(
2564        self,
2565    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2566    {
2567        crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2568    }
2569}
2570impl ::core::default::Default for BleDiagstatReg {
2571    #[inline(always)]
2572    fn default() -> BleDiagstatReg {
2573        <crate::RegValueT<BleDiagstatReg_SPEC> as RegisterValue<_>>::new(0)
2574    }
2575}
2576
2577#[doc(hidden)]
2578#[derive(Copy, Clone, Eq, PartialEq)]
2579pub struct BleEmBaseReg_SPEC;
2580impl crate::sealed::RegSpec for BleEmBaseReg_SPEC {
2581    type DataType = u32;
2582}
2583
2584#[doc = "Exchange Memory Base Register"]
2585pub type BleEmBaseReg = crate::RegValueT<BleEmBaseReg_SPEC>;
2586
2587impl BleEmBaseReg {
2588    #[doc = "The physical address on the system memory map of the base of the Exchange Memory."]
2589    #[inline(always)]
2590    pub fn ble_em_base_16_10(
2591        self,
2592    ) -> crate::common::RegisterField<10, 0x7f, 1, 0, u8, u8, BleEmBaseReg_SPEC, crate::common::RW>
2593    {
2594        crate::common::RegisterField::<10,0x7f,1,0,u8,u8,BleEmBaseReg_SPEC,crate::common::RW>::from_register(self,0)
2595    }
2596}
2597impl ::core::default::Default for BleEmBaseReg {
2598    #[inline(always)]
2599    fn default() -> BleEmBaseReg {
2600        <crate::RegValueT<BleEmBaseReg_SPEC> as RegisterValue<_>>::new(0)
2601    }
2602}
2603
2604#[doc(hidden)]
2605#[derive(Copy, Clone, Eq, PartialEq)]
2606pub struct BleEnbpresetReg_SPEC;
2607impl crate::sealed::RegSpec for BleEnbpresetReg_SPEC {
2608    type DataType = u32;
2609}
2610
2611#[doc = "Time in low power oscillator cycles register"]
2612pub type BleEnbpresetReg = crate::RegValueT<BleEnbpresetReg_SPEC>;
2613
2614impl BleEnbpresetReg {
2615    #[doc = "Minimum and recommended value is \"TWIRQ_RESET + 1\".\nIn the case of wake-up due to an external wake-up request, TWEXT specifies the time delay in low power oscillator cycles to deassert BLE_WAKEUP_LP_IRQ.\nRefer also to GP_CONTROL_REG\\[BLE_WAKEUP_REQ\\].\nRange is \\[0...64 ms\\] for 32kHz; \\[0...62.5 ms\\] for 32.768kHz"]
2616    #[inline(always)]
2617    pub fn twext(
2618        self,
2619    ) -> crate::common::RegisterField<
2620        21,
2621        0x7ff,
2622        1,
2623        0,
2624        u16,
2625        u16,
2626        BleEnbpresetReg_SPEC,
2627        crate::common::RW,
2628    > {
2629        crate::common::RegisterField::<
2630            21,
2631            0x7ff,
2632            1,
2633            0,
2634            u16,
2635            u16,
2636            BleEnbpresetReg_SPEC,
2637            crate::common::RW,
2638        >::from_register(self, 0)
2639    }
2640
2641    #[doc = "Minimum value is \"TWIRQ_RESET + 1\".\nTime in low power oscillator cycles to set BLE_WAKEUP_LP_IRQ before the BLE sleep timer expiration.\nRefer also to BLE_DEEPSLWKUP_REG\\[DEEPSLTIME\\].\nRange is \\[0...64 ms\\] for 32kHz; \\[0...62.5 ms\\] for 32.768kHz"]
2642    #[inline(always)]
2643    pub fn twirq_set(
2644        self,
2645    ) -> crate::common::RegisterField<
2646        10,
2647        0x7ff,
2648        1,
2649        0,
2650        u16,
2651        u16,
2652        BleEnbpresetReg_SPEC,
2653        crate::common::RW,
2654    > {
2655        crate::common::RegisterField::<
2656            10,
2657            0x7ff,
2658            1,
2659            0,
2660            u16,
2661            u16,
2662            BleEnbpresetReg_SPEC,
2663            crate::common::RW,
2664        >::from_register(self, 0)
2665    }
2666
2667    #[doc = "Recommended value is 1.\nTime in low power oscillator cycles to reset BLE_WAKEUP_LP_IRQ before the BLE sleep timer expiration.\nRefer also to BLE_DEEPSLWKUP_REG\\[DEEPSLTIME\\].\nRange is \\[0...32 ms\\] for 32kHz; \\[0...31.25 ms\\] for 32.768kHz."]
2668    #[inline(always)]
2669    pub fn twirq_reset(
2670        self,
2671    ) -> crate::common::RegisterField<
2672        0,
2673        0x3ff,
2674        1,
2675        0,
2676        u16,
2677        u16,
2678        BleEnbpresetReg_SPEC,
2679        crate::common::RW,
2680    > {
2681        crate::common::RegisterField::<
2682            0,
2683            0x3ff,
2684            1,
2685            0,
2686            u16,
2687            u16,
2688            BleEnbpresetReg_SPEC,
2689            crate::common::RW,
2690        >::from_register(self, 0)
2691    }
2692}
2693impl ::core::default::Default for BleEnbpresetReg {
2694    #[inline(always)]
2695    fn default() -> BleEnbpresetReg {
2696        <crate::RegValueT<BleEnbpresetReg_SPEC> as RegisterValue<_>>::new(0)
2697    }
2698}
2699
2700#[doc(hidden)]
2701#[derive(Copy, Clone, Eq, PartialEq)]
2702pub struct BleErrortypestatReg_SPEC;
2703impl crate::sealed::RegSpec for BleErrortypestatReg_SPEC {
2704    type DataType = u32;
2705}
2706
2707#[doc = "Error Type Status registers"]
2708pub type BleErrortypestatReg = crate::RegValueT<BleErrortypestatReg_SPEC>;
2709
2710impl BleErrortypestatReg {
2711    #[doc = "Indicates whether two consecutive and concurrent ble_event_irq have been generated, and not acknowledged in time by the RW-BLE Software.\n0: No error\n1: Error occurred"]
2712    #[inline(always)]
2713    pub fn concevtirq_error(
2714        self,
2715    ) -> crate::common::RegisterFieldBool<17, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2716    {
2717        crate::common::RegisterFieldBool::<17,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2718    }
2719
2720    #[doc = "Indicates whether Rx data buffer pointer value programmed is null: this is a major programming failure.\n0: No error\n1: Error occurred"]
2721    #[inline(always)]
2722    pub fn rxdata_ptr_error(
2723        self,
2724    ) -> crate::common::RegisterFieldBool<16, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2725    {
2726        crate::common::RegisterFieldBool::<16,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2727    }
2728
2729    #[doc = "Indicates whether Tx data buffer pointer value programmed is null during Advertising / Scanning / Initiating events, or during Master / Slave connections with non-null packet length: this is a major programming failure.\n0: No error\n1: Error occurred"]
2730    #[inline(always)]
2731    pub fn txdata_ptr_error(
2732        self,
2733    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2734    {
2735        crate::common::RegisterFieldBool::<15,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2736    }
2737
2738    #[doc = "Indicates whether Rx Descriptor pointer value programmed in register is null: this is a major programming failure.\n0: No error\n1: Error occurred"]
2739    #[inline(always)]
2740    pub fn rxdesc_empty_error(
2741        self,
2742    ) -> crate::common::RegisterFieldBool<14, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2743    {
2744        crate::common::RegisterFieldBool::<14,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2745    }
2746
2747    #[doc = "Indicates whether Tx Descriptor pointer value programmed in Control Structure is null during Advertising / Scanning / Initiating events: this is a major programming failure.\n0: No error\n1: Error occurred"]
2748    #[inline(always)]
2749    pub fn txdesc_empty_error(
2750        self,
2751    ) -> crate::common::RegisterFieldBool<13, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2752    {
2753        crate::common::RegisterFieldBool::<13,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2754    }
2755
2756    #[doc = "Indicates whether CS-FORMAT has been programmed with an invalid value: this is a major software programming failure.\n0: No error\n1: Error occurred"]
2757    #[inline(always)]
2758    pub fn csformat_error(
2759        self,
2760    ) -> crate::common::RegisterFieldBool<12, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2761    {
2762        crate::common::RegisterFieldBool::<12,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2763    }
2764
2765    #[doc = "Indicates Link Layer Channel Map error, happens when actual number of CS-LLCHMAP bit set to one is different from CS-NBCHGOOD at the beginning of Frequency Hopping process\n0: No error\n1: Error occurred"]
2766    #[inline(always)]
2767    pub fn llchmap_error(
2768        self,
2769    ) -> crate::common::RegisterFieldBool<11, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2770    {
2771        crate::common::RegisterFieldBool::<11,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2772    }
2773
2774    #[doc = "Indicates Advertising Interval Under run, occurs if time between two consecutive Advertising packet (in Advertising mode) is lower than the expected value.\n0: No error\n1: Error occurred"]
2775    #[inline(always)]
2776    pub fn adv_underrun(
2777        self,
2778    ) -> crate::common::RegisterFieldBool<10, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2779    {
2780        crate::common::RegisterFieldBool::<10,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2781    }
2782
2783    #[doc = "Indicates Inter Frame Space Under run, occurs if IFS time is not enough to update and read Control Structure/Descriptors, and/or White List parsing is not finished and/or Decryption time is too long to be finished on time\n0: No error\n1: Error occurred"]
2784    #[inline(always)]
2785    pub fn ifs_underrun(
2786        self,
2787    ) -> crate::common::RegisterFieldBool<9, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2788        crate::common::RegisterFieldBool::<9,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2789    }
2790
2791    #[doc = "Indicates White List Timeout error, occurs if White List parsing is not finished on time\n0: No error\n1: Error occurred"]
2792    #[inline(always)]
2793    pub fn whitelist_error(
2794        self,
2795    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2796        crate::common::RegisterFieldBool::<8,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2797    }
2798
2799    #[doc = "Indicates Anticipated Pre-Fetch Mechanism error: happens when 2 consecutive events are programmed, and when the first event is not completely finished while second pre-fetch instant is reached.\n0: No error\n1: Error occured"]
2800    #[inline(always)]
2801    pub fn evt_cntl_apfm_error(
2802        self,
2803    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2804        crate::common::RegisterFieldBool::<7,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2805    }
2806
2807    #[doc = "Indicates Anticipated Pre-Fetch Mechanism error: happens when 2 consecutive events are programmed, and when the first event is not completely finished while second pre-fetch instant is reached.\n0: No error\n1: Error occured"]
2808    #[inline(always)]
2809    pub fn evt_schdl_apfm_error(
2810        self,
2811    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2812        crate::common::RegisterFieldBool::<6,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2813    }
2814
2815    #[doc = "Indicates Event Scheduler faced Invalid timing programing on two consecutive ET entries (e.g first one with 624s offset and second one with no offset)\n0: No error\n1: Error occurred"]
2816    #[inline(always)]
2817    pub fn evt_schdl_entry_error(
2818        self,
2819    ) -> crate::common::RegisterFieldBool<5, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2820        crate::common::RegisterFieldBool::<5,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2821    }
2822
2823    #[doc = "Indicates Event Scheduler Exchange Memory access error, happens when Exchange Memory accesses are not served in time, and blocks the Exchange Table entry read\n0: No error\n1: Error occurred"]
2824    #[inline(always)]
2825    pub fn evt_schdl_emacc_error(
2826        self,
2827    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2828        crate::common::RegisterFieldBool::<4,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2829    }
2830
2831    #[doc = "Indicates Radio Controller Exchange Memory access error, happens when Exchange Memory accesses are not served in time and data are corrupted.\n0: No error\n1: Error occurred"]
2832    #[inline(always)]
2833    pub fn radio_emacc_error(
2834        self,
2835    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2836        crate::common::RegisterFieldBool::<3,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2837    }
2838
2839    #[doc = "Indicates Packet Controller Exchange Memory access error, happens when Exchange Memory accesses are not served in time and Tx/Rx data are corrupted\n0: No error\n1: Error occurred"]
2840    #[inline(always)]
2841    pub fn pktcntl_emacc_error(
2842        self,
2843    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2844        crate::common::RegisterFieldBool::<2,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2845    }
2846
2847    #[doc = "Indicates real time decryption error, happens when AES-CCM decryption is too slow compared to Packet Controller requests. A 16-bytes block has to be decrypted prior the next block is received by the Packet Controller\n0: No error\n1: Error occurred"]
2848    #[inline(always)]
2849    pub fn rxcrypt_error(
2850        self,
2851    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2852        crate::common::RegisterFieldBool::<1,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2853    }
2854
2855    #[doc = "Indicates Real Time encryption error, happens when AES-CCM encryption is too slow compared to Packet Controller requests. A 16-bytes block has to be encrypted and prepared on Packet Controller request, and needs to be ready before the Packet Controller has to send ti\n0: No error\n1: Error occurred"]
2856    #[inline(always)]
2857    pub fn txcrypt_error(
2858        self,
2859    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2860        crate::common::RegisterFieldBool::<0,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2861    }
2862}
2863impl ::core::default::Default for BleErrortypestatReg {
2864    #[inline(always)]
2865    fn default() -> BleErrortypestatReg {
2866        <crate::RegValueT<BleErrortypestatReg_SPEC> as RegisterValue<_>>::new(0)
2867    }
2868}
2869
2870#[doc(hidden)]
2871#[derive(Copy, Clone, Eq, PartialEq)]
2872pub struct BleFinecntcorrReg_SPEC;
2873impl crate::sealed::RegSpec for BleFinecntcorrReg_SPEC {
2874    type DataType = u32;
2875}
2876
2877#[doc = "Phase correction value register"]
2878pub type BleFinecntcorrReg = crate::RegValueT<BleFinecntcorrReg_SPEC>;
2879
2880impl BleFinecntcorrReg {
2881    #[doc = "Phase correction value for the 625us reference counter (i.e. Fine Counter) in us."]
2882    #[inline(always)]
2883    pub fn finecntcorr(
2884        self,
2885    ) -> crate::common::RegisterField<
2886        0,
2887        0x3ff,
2888        1,
2889        0,
2890        u16,
2891        u16,
2892        BleFinecntcorrReg_SPEC,
2893        crate::common::RW,
2894    > {
2895        crate::common::RegisterField::<
2896            0,
2897            0x3ff,
2898            1,
2899            0,
2900            u16,
2901            u16,
2902            BleFinecntcorrReg_SPEC,
2903            crate::common::RW,
2904        >::from_register(self, 0)
2905    }
2906}
2907impl ::core::default::Default for BleFinecntcorrReg {
2908    #[inline(always)]
2909    fn default() -> BleFinecntcorrReg {
2910        <crate::RegValueT<BleFinecntcorrReg_SPEC> as RegisterValue<_>>::new(0)
2911    }
2912}
2913
2914#[doc(hidden)]
2915#[derive(Copy, Clone, Eq, PartialEq)]
2916pub struct BleFinetimecntReg_SPEC;
2917impl crate::sealed::RegSpec for BleFinetimecntReg_SPEC {
2918    type DataType = u32;
2919}
2920
2921#[doc = "Fine time reference counter"]
2922pub type BleFinetimecntReg = crate::RegValueT<BleFinetimecntReg_SPEC>;
2923
2924impl BleFinetimecntReg {
2925    #[doc = "Value of the current s fine time reference counter. Updated each time SAMPCLK is written. Used by the SW in order to synchronize with the HW, and obtain a more precise sleep duration"]
2926    #[inline(always)]
2927    pub fn finecnt(
2928        self,
2929    ) -> crate::common::RegisterField<
2930        0,
2931        0x3ff,
2932        1,
2933        0,
2934        u16,
2935        u16,
2936        BleFinetimecntReg_SPEC,
2937        crate::common::R,
2938    > {
2939        crate::common::RegisterField::<
2940            0,
2941            0x3ff,
2942            1,
2943            0,
2944            u16,
2945            u16,
2946            BleFinetimecntReg_SPEC,
2947            crate::common::R,
2948        >::from_register(self, 0)
2949    }
2950}
2951impl ::core::default::Default for BleFinetimecntReg {
2952    #[inline(always)]
2953    fn default() -> BleFinetimecntReg {
2954        <crate::RegValueT<BleFinetimecntReg_SPEC> as RegisterValue<_>>::new(0)
2955    }
2956}
2957
2958#[doc(hidden)]
2959#[derive(Copy, Clone, Eq, PartialEq)]
2960pub struct BleFinetimtgtReg_SPEC;
2961impl crate::sealed::RegSpec for BleFinetimtgtReg_SPEC {
2962    type DataType = u32;
2963}
2964
2965#[doc = "Fine Timer Target value"]
2966pub type BleFinetimtgtReg = crate::RegValueT<BleFinetimtgtReg_SPEC>;
2967
2968impl BleFinetimtgtReg {
2969    #[doc = "Fine Timer Target value on which a ble_finetgtim_irq must be generated. This timer has a precision of 625us: interrupt is generated only when FINETARGET = BASETIMECNT"]
2970    #[inline(always)]
2971    pub fn finetarget(
2972        self,
2973    ) -> crate::common::RegisterField<
2974        0,
2975        0x7ffffff,
2976        1,
2977        0,
2978        u32,
2979        u32,
2980        BleFinetimtgtReg_SPEC,
2981        crate::common::RW,
2982    > {
2983        crate::common::RegisterField::<
2984            0,
2985            0x7ffffff,
2986            1,
2987            0,
2988            u32,
2989            u32,
2990            BleFinetimtgtReg_SPEC,
2991            crate::common::RW,
2992        >::from_register(self, 0)
2993    }
2994}
2995impl ::core::default::Default for BleFinetimtgtReg {
2996    #[inline(always)]
2997    fn default() -> BleFinetimtgtReg {
2998        <crate::RegValueT<BleFinetimtgtReg_SPEC> as RegisterValue<_>>::new(0)
2999    }
3000}
3001
3002#[doc(hidden)]
3003#[derive(Copy, Clone, Eq, PartialEq)]
3004pub struct BleGrosstimtgtReg_SPEC;
3005impl crate::sealed::RegSpec for BleGrosstimtgtReg_SPEC {
3006    type DataType = u32;
3007}
3008
3009#[doc = "Gross Timer Target value"]
3010pub type BleGrosstimtgtReg = crate::RegValueT<BleGrosstimtgtReg_SPEC>;
3011
3012impl BleGrosstimtgtReg {
3013    #[doc = "Gross Timer Target value on which a ble_grosstgtim_irq must be generated. This timer has a precision of 10ms: interrupt is generated only when GROSSTARGET\\[22:0\\] = BASETIMECNT\\[26:4\\] and BASETIMECNT\\[3:0\\] = 0."]
3014    #[inline(always)]
3015    pub fn grosstarget(
3016        self,
3017    ) -> crate::common::RegisterField<
3018        0,
3019        0x7fffff,
3020        1,
3021        0,
3022        u32,
3023        u32,
3024        BleGrosstimtgtReg_SPEC,
3025        crate::common::RW,
3026    > {
3027        crate::common::RegisterField::<
3028            0,
3029            0x7fffff,
3030            1,
3031            0,
3032            u32,
3033            u32,
3034            BleGrosstimtgtReg_SPEC,
3035            crate::common::RW,
3036        >::from_register(self, 0)
3037    }
3038}
3039impl ::core::default::Default for BleGrosstimtgtReg {
3040    #[inline(always)]
3041    fn default() -> BleGrosstimtgtReg {
3042        <crate::RegValueT<BleGrosstimtgtReg_SPEC> as RegisterValue<_>>::new(0)
3043    }
3044}
3045
3046#[doc(hidden)]
3047#[derive(Copy, Clone, Eq, PartialEq)]
3048pub struct BleIntackReg_SPEC;
3049impl crate::sealed::RegSpec for BleIntackReg_SPEC {
3050    type DataType = u32;
3051}
3052
3053#[doc = "Interrupt acknowledge register"]
3054pub type BleIntackReg = crate::RegValueT<BleIntackReg_SPEC>;
3055
3056impl BleIntackReg {
3057    #[doc = "SW triggered interrupt acknowledgement bit\nSoftware writing 1 acknowledges the SW triggered interrupt. This bit resets SWINTSTAT and SWINTRAWSTAT flags.\nResets at 0 when action is performed"]
3058    #[inline(always)]
3059    pub fn swintack(
3060        self,
3061    ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3062        crate::common::RegisterFieldBool::<9,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3063    }
3064
3065    #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt acknowledgement bit\nSoftware writing 1 acknowledges the End of event / Anticipated Pre-Fetch Abort interrupt. This bit resets EVENTAPFAINTSTAT and EVENTAPFAINTRAWSTAT flags.\nResets at 0 when action is performed"]
3066    #[inline(always)]
3067    pub fn eventapfaintack(
3068        self,
3069    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3070        crate::common::RegisterFieldBool::<8,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3071    }
3072
3073    #[doc = "Fine Target Timer interrupt acknowledgement bit\nSoftware writing 1 acknowledges the Fine Timer interrupt. This bit resets FINETGTIMINTSTAT and FINETGTIMINTRAWSTAT flags.\nResets at 0 when action is performed"]
3074    #[inline(always)]
3075    pub fn finetgtimintack(
3076        self,
3077    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3078        crate::common::RegisterFieldBool::<7,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3079    }
3080
3081    #[doc = "Gross Target Timer interrupt acknowledgement bit\nSoftware writing 1 acknowledges the Gross Timer interrupt. This bit resets GROSSTGTIMINTSTAT and GROSSTGTIMINTRAWSTAT flags.\nResets at 0 when action is performed"]
3082    #[inline(always)]
3083    pub fn grosstgtimintack(
3084        self,
3085    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3086        crate::common::RegisterFieldBool::<6,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3087    }
3088
3089    #[doc = "Error interrupt acknowledgement bit\nSoftware writing 1 acknowledges the Error interrupt. This bit resets ERRORINTSTAT and ERRORINTRAWSTAT flags.\nResets at 0 when action is performed"]
3090    #[inline(always)]
3091    pub fn errorintack(
3092        self,
3093    ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3094        crate::common::RegisterFieldBool::<5,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3095    }
3096
3097    #[doc = "Encryption engine interrupt acknowledgement bit Software writing 1 acknowledges the Encryption engine interrupt. This bit resets CRYPTINTSTAT and CRYPTINTRAWSTAT flags.\nResets at 0 when action is performed"]
3098    #[inline(always)]
3099    pub fn cryptintack(
3100        self,
3101    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3102        crate::common::RegisterFieldBool::<4,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3103    }
3104
3105    #[doc = "End of Event interrupt acknowledgment bit\nSoftware writing 1 acknowledges the End of Advertising / Scanning / Connection interrupt. This bit resets SLPINTSTAT and SLPINTRAWSTAT flags.\nResets at 0 when action is performed"]
3106    #[inline(always)]
3107    pub fn eventintack(
3108        self,
3109    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3110        crate::common::RegisterFieldBool::<3,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3111    }
3112
3113    #[doc = "End of Deep Sleep interrupt acknowledgment bit\nSoftware writing 1 acknowledges the End of Sleep Mode interrupt. This bit resets SLPINTSTAT and SLPINTRAWSTAT flags.\nResets at 0 when action is performed"]
3114    #[inline(always)]
3115    pub fn slpintack(
3116        self,
3117    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3118        crate::common::RegisterFieldBool::<2,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3119    }
3120
3121    #[doc = "Packet Reception interrupt acknowledgment bit\nSoftware writing 1 acknowledges the Rx interrupt. This bit resets RXINTSTAT and RXINTRAWSTAT flags.\nResets at 0 when action is performed"]
3122    #[inline(always)]
3123    pub fn rxintack(
3124        self,
3125    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3126        crate::common::RegisterFieldBool::<1,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3127    }
3128
3129    #[doc = "625us base time reference interrupt acknowledgment bit\nSoftware writing 1 acknowledges the CLKN interrupt. This bit resets CLKINTSTAT and CLKINTRAWSTAT flags.\nResets at 0 when action is performed"]
3130    #[inline(always)]
3131    pub fn cscntintack(
3132        self,
3133    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3134        crate::common::RegisterFieldBool::<0,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3135    }
3136}
3137impl ::core::default::Default for BleIntackReg {
3138    #[inline(always)]
3139    fn default() -> BleIntackReg {
3140        <crate::RegValueT<BleIntackReg_SPEC> as RegisterValue<_>>::new(0)
3141    }
3142}
3143
3144#[doc(hidden)]
3145#[derive(Copy, Clone, Eq, PartialEq)]
3146pub struct BleIntcntlReg_SPEC;
3147impl crate::sealed::RegSpec for BleIntcntlReg_SPEC {
3148    type DataType = u32;
3149}
3150
3151#[doc = "Interrupt controller register"]
3152pub type BleIntcntlReg = crate::RegValueT<BleIntcntlReg_SPEC>;
3153
3154impl BleIntcntlReg {
3155    #[doc = "CSCNT interrupt mask during event. This bit allows to enable CSCNT interrupt generation during events (i.e. advertising, scanning, initiating, and connection)\n0: CSCNT Interrupt not generated during events.\n1: CSCNT Interrupt generated during events."]
3156    #[inline(always)]
3157    pub fn cscntdevmsk(
3158        self,
3159    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3160        crate::common::RegisterFieldBool::<15,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3161    }
3162
3163    #[doc = "SW triggered interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3164    #[inline(always)]
3165    pub fn swintmsk(
3166        self,
3167    ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3168        crate::common::RegisterFieldBool::<9,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3169    }
3170
3171    #[doc = "End of event / anticipated pre-fetch abort interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3172    #[inline(always)]
3173    pub fn eventapfaintmsk(
3174        self,
3175    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3176        crate::common::RegisterFieldBool::<8,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3177    }
3178
3179    #[doc = "Fine Target Timer Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3180    #[inline(always)]
3181    pub fn finetgtimintmsk(
3182        self,
3183    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3184        crate::common::RegisterFieldBool::<7,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3185    }
3186
3187    #[doc = "Gross Target Timer Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3188    #[inline(always)]
3189    pub fn grosstgtimintmsk(
3190        self,
3191    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3192        crate::common::RegisterFieldBool::<6,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3193    }
3194
3195    #[doc = "Error Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3196    #[inline(always)]
3197    pub fn errorintmsk(
3198        self,
3199    ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3200        crate::common::RegisterFieldBool::<5,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3201    }
3202
3203    #[doc = "Encryption engine Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3204    #[inline(always)]
3205    pub fn cryptintmsk(
3206        self,
3207    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3208        crate::common::RegisterFieldBool::<4,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3209    }
3210
3211    #[doc = "End of event Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3212    #[inline(always)]
3213    pub fn eventintmsk(
3214        self,
3215    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3216        crate::common::RegisterFieldBool::<3,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3217    }
3218
3219    #[doc = "Sleep Mode Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3220    #[inline(always)]
3221    pub fn slpintmsk(
3222        self,
3223    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3224        crate::common::RegisterFieldBool::<2,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3225    }
3226
3227    #[doc = "Rx Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3228    #[inline(always)]
3229    pub fn rxintmsk(
3230        self,
3231    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3232        crate::common::RegisterFieldBool::<1,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3233    }
3234
3235    #[doc = "625us Base Time Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3236    #[inline(always)]
3237    pub fn cscntintmsk(
3238        self,
3239    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3240        crate::common::RegisterFieldBool::<0,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3241    }
3242}
3243impl ::core::default::Default for BleIntcntlReg {
3244    #[inline(always)]
3245    fn default() -> BleIntcntlReg {
3246        <crate::RegValueT<BleIntcntlReg_SPEC> as RegisterValue<_>>::new(33055)
3247    }
3248}
3249
3250#[doc(hidden)]
3251#[derive(Copy, Clone, Eq, PartialEq)]
3252pub struct BleIntrawstatReg_SPEC;
3253impl crate::sealed::RegSpec for BleIntrawstatReg_SPEC {
3254    type DataType = u32;
3255}
3256
3257#[doc = "Interrupt raw status register"]
3258pub type BleIntrawstatReg = crate::RegValueT<BleIntrawstatReg_SPEC>;
3259
3260impl BleIntrawstatReg {
3261    #[doc = "SW triggered interrupt raw status\n0: No SW triggered interrupt.\n1: A SW triggered interrupt is pending."]
3262    #[inline(always)]
3263    pub fn swintrawstat(
3264        self,
3265    ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3266        crate::common::RegisterFieldBool::<9,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3267    }
3268
3269    #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt raw status\n0: No End of Event interrupt.\n1: An End of Event interrupt is pending."]
3270    #[inline(always)]
3271    pub fn eventapfaintrawstat(
3272        self,
3273    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3274        crate::common::RegisterFieldBool::<8,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3275    }
3276
3277    #[doc = "Fine Target Timer Error interrupt raw status\n0: No Fine Target Timer interrupt.\n1: A Fine Target Timer interrupt is pending."]
3278    #[inline(always)]
3279    pub fn finetgtimintrawstat(
3280        self,
3281    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3282        crate::common::RegisterFieldBool::<7,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3283    }
3284
3285    #[doc = "Gross Target Timer interrupt raw status\n0: No Gross Target Timer interrupt.\n1: A Gross Target Timer interrupt is pending."]
3286    #[inline(always)]
3287    pub fn grosstgtimintrawstat(
3288        self,
3289    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3290        crate::common::RegisterFieldBool::<6,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3291    }
3292
3293    #[doc = "Error interrupt raw status\n0: No Error interrupt.\n1: An Error interrupt is pending."]
3294    #[inline(always)]
3295    pub fn errorintrawstat(
3296        self,
3297    ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3298        crate::common::RegisterFieldBool::<5,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3299    }
3300
3301    #[doc = "Encryption engine interrupt raw status\n0: No Encryption / Decryption interrupt.\n1: An Encryption / Decryption interrupt is pending."]
3302    #[inline(always)]
3303    pub fn cryptintrawstat(
3304        self,
3305    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3306        crate::common::RegisterFieldBool::<4,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3307    }
3308
3309    #[doc = "End of Event interrupt raw status\n0: No End of Advertising / Scanning / Connection interrupt.\n1: An End of Advertising / Scanning / Connection interrupt is pending."]
3310    #[inline(always)]
3311    pub fn eventintrawstat(
3312        self,
3313    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3314        crate::common::RegisterFieldBool::<3,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3315    }
3316
3317    #[doc = "Sleep interrupt raw status\n0: No End of Sleep Mode interrupt.\n1: An End of Sleep Mode interrupt is pending."]
3318    #[inline(always)]
3319    pub fn slpintrawstat(
3320        self,
3321    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3322        crate::common::RegisterFieldBool::<2,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3323    }
3324
3325    #[doc = "Packet Reception interrupt raw status\n0: No Rx interrupt.\n1: An Rx interrupt is pending."]
3326    #[inline(always)]
3327    pub fn rxintrawstat(
3328        self,
3329    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3330        crate::common::RegisterFieldBool::<1,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3331    }
3332
3333    #[doc = "625us base time reference interrupt raw status\n0: No 625us Base Time interrupt.\n1: A 625us Base Time interrupt is pending."]
3334    #[inline(always)]
3335    pub fn cscntintrawstat(
3336        self,
3337    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3338        crate::common::RegisterFieldBool::<0,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3339    }
3340}
3341impl ::core::default::Default for BleIntrawstatReg {
3342    #[inline(always)]
3343    fn default() -> BleIntrawstatReg {
3344        <crate::RegValueT<BleIntrawstatReg_SPEC> as RegisterValue<_>>::new(0)
3345    }
3346}
3347
3348#[doc(hidden)]
3349#[derive(Copy, Clone, Eq, PartialEq)]
3350pub struct BleIntstatReg_SPEC;
3351impl crate::sealed::RegSpec for BleIntstatReg_SPEC {
3352    type DataType = u32;
3353}
3354
3355#[doc = "Interrupt status register"]
3356pub type BleIntstatReg = crate::RegValueT<BleIntstatReg_SPEC>;
3357
3358impl BleIntstatReg {
3359    #[doc = "SW triggered interrupt status\n0: No SW triggered interrupt.\n1: A SW triggered interrupt is pending"]
3360    #[inline(always)]
3361    pub fn swintstat(
3362        self,
3363    ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3364        crate::common::RegisterFieldBool::<9,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3365    }
3366
3367    #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt status\n0: No End of Event interrupt.\n1: An End of Event interrupt is pending."]
3368    #[inline(always)]
3369    pub fn eventapfaintstat(
3370        self,
3371    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3372        crate::common::RegisterFieldBool::<8,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3373    }
3374
3375    #[doc = "Masked Fine Target Timer Error interrupt status\n0: No Fine Target Timer interrupt.\n1: A Fine Target Timer interrupt is pending."]
3376    #[inline(always)]
3377    pub fn finetgtimintstat(
3378        self,
3379    ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3380        crate::common::RegisterFieldBool::<7,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3381    }
3382
3383    #[doc = "Masked Gross Target Timer interrupt status\n0: No Gross Target Timer interrupt.\n1: A Gross Target Timer interrupt is pending."]
3384    #[inline(always)]
3385    pub fn grosstgtimintstat(
3386        self,
3387    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3388        crate::common::RegisterFieldBool::<6,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3389    }
3390
3391    #[doc = "Masked Error interrupt status\n0: No Error interrupt.\n1: An Error interrupt is pending."]
3392    #[inline(always)]
3393    pub fn errorintstat(
3394        self,
3395    ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3396        crate::common::RegisterFieldBool::<5,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3397    }
3398
3399    #[doc = "Masked Encryption engine interrupt status\n0: No Encryption / Decryption interrupt.\n1: An Encryption / Decryption interrupt is pending."]
3400    #[inline(always)]
3401    pub fn cryptintstat(
3402        self,
3403    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3404        crate::common::RegisterFieldBool::<4,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3405    }
3406
3407    #[doc = "Masked End of Event interrupt status\n0: No End of Advertising / Scanning / Connection interrupt.\n1: An End of Advertising / Scanning / Connection interrupt is pending."]
3408    #[inline(always)]
3409    pub fn eventintstat(
3410        self,
3411    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3412        crate::common::RegisterFieldBool::<3,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3413    }
3414
3415    #[doc = "Masked Sleep interrupt status\n0: No End of Sleep Mode interrupt.\n1: An End of Sleep Mode interrupt is pending."]
3416    #[inline(always)]
3417    pub fn slpintstat(
3418        self,
3419    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3420        crate::common::RegisterFieldBool::<2,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3421    }
3422
3423    #[doc = "Masked Packet Reception interrupt status\n0: No Rx interrupt.\n1: An Rx interrupt is pending."]
3424    #[inline(always)]
3425    pub fn rxintstat(
3426        self,
3427    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3428        crate::common::RegisterFieldBool::<1,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3429    }
3430
3431    #[doc = "Masked 625us base time reference interrupt status\n0: No 625us Base Time interrupt.\n1: A 625us Base Time interrupt is pending."]
3432    #[inline(always)]
3433    pub fn cscntintstat(
3434        self,
3435    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3436        crate::common::RegisterFieldBool::<0,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3437    }
3438}
3439impl ::core::default::Default for BleIntstatReg {
3440    #[inline(always)]
3441    fn default() -> BleIntstatReg {
3442        <crate::RegValueT<BleIntstatReg_SPEC> as RegisterValue<_>>::new(0)
3443    }
3444}
3445
3446#[doc(hidden)]
3447#[derive(Copy, Clone, Eq, PartialEq)]
3448pub struct BleRadiocntl0Reg_SPEC;
3449impl crate::sealed::RegSpec for BleRadiocntl0Reg_SPEC {
3450    type DataType = u32;
3451}
3452
3453#[doc = "Radio interface control register"]
3454pub type BleRadiocntl0Reg = crate::RegValueT<BleRadiocntl0Reg_SPEC>;
3455
3456impl BleRadiocntl0Reg {
3457    #[inline(always)]
3458    pub fn field246rsv(
3459        self,
3460    ) -> crate::common::RegisterField<2, 0x7, 1, 0, u8, u8, BleRadiocntl0Reg_SPEC, crate::common::RW>
3461    {
3462        crate::common::RegisterField::<2,0x7,1,0,u8,u8,BleRadiocntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
3463    }
3464}
3465impl ::core::default::Default for BleRadiocntl0Reg {
3466    #[inline(always)]
3467    fn default() -> BleRadiocntl0Reg {
3468        <crate::RegValueT<BleRadiocntl0Reg_SPEC> as RegisterValue<_>>::new(2)
3469    }
3470}
3471
3472#[doc(hidden)]
3473#[derive(Copy, Clone, Eq, PartialEq)]
3474pub struct BleRadiocntl1Reg_SPEC;
3475impl crate::sealed::RegSpec for BleRadiocntl1Reg_SPEC {
3476    type DataType = u32;
3477}
3478
3479#[doc = "Radio interface control register"]
3480pub type BleRadiocntl1Reg = crate::RegValueT<BleRadiocntl1Reg_SPEC>;
3481
3482impl BleRadiocntl1Reg {
3483    #[doc = "Extended radio selection field, Must be set to \"2\"."]
3484    #[inline(always)]
3485    pub fn xrfsel(
3486        self,
3487    ) -> crate::common::RegisterField<
3488        16,
3489        0x1f,
3490        1,
3491        0,
3492        u8,
3493        u8,
3494        BleRadiocntl1Reg_SPEC,
3495        crate::common::RW,
3496    > {
3497        crate::common::RegisterField::<
3498            16,
3499            0x1f,
3500            1,
3501            0,
3502            u8,
3503            u8,
3504            BleRadiocntl1Reg_SPEC,
3505            crate::common::RW,
3506        >::from_register(self, 0)
3507    }
3508}
3509impl ::core::default::Default for BleRadiocntl1Reg {
3510    #[inline(always)]
3511    fn default() -> BleRadiocntl1Reg {
3512        <crate::RegValueT<BleRadiocntl1Reg_SPEC> as RegisterValue<_>>::new(0)
3513    }
3514}
3515
3516#[doc(hidden)]
3517#[derive(Copy, Clone, Eq, PartialEq)]
3518pub struct BleRadiocntl2Reg_SPEC;
3519impl crate::sealed::RegSpec for BleRadiocntl2Reg_SPEC {
3520    type DataType = u32;
3521}
3522
3523#[doc = "Radio interface control register"]
3524pub type BleRadiocntl2Reg = crate::RegValueT<BleRadiocntl2Reg_SPEC>;
3525
3526impl NoBitfieldReg<BleRadiocntl2Reg_SPEC> for BleRadiocntl2Reg {}
3527impl ::core::default::Default for BleRadiocntl2Reg {
3528    #[inline(always)]
3529    fn default() -> BleRadiocntl2Reg {
3530        <crate::RegValueT<BleRadiocntl2Reg_SPEC> as RegisterValue<_>>::new(0)
3531    }
3532}
3533
3534#[doc(hidden)]
3535#[derive(Copy, Clone, Eq, PartialEq)]
3536pub struct BleRadiocntl3Reg_SPEC;
3537impl crate::sealed::RegSpec for BleRadiocntl3Reg_SPEC {
3538    type DataType = u32;
3539}
3540
3541#[doc = "Radio interface control register"]
3542pub type BleRadiocntl3Reg = crate::RegValueT<BleRadiocntl3Reg_SPEC>;
3543
3544impl NoBitfieldReg<BleRadiocntl3Reg_SPEC> for BleRadiocntl3Reg {}
3545impl ::core::default::Default for BleRadiocntl3Reg {
3546    #[inline(always)]
3547    fn default() -> BleRadiocntl3Reg {
3548        <crate::RegValueT<BleRadiocntl3Reg_SPEC> as RegisterValue<_>>::new(64)
3549    }
3550}
3551
3552#[doc(hidden)]
3553#[derive(Copy, Clone, Eq, PartialEq)]
3554pub struct BleRadiopwrupdnReg_SPEC;
3555impl crate::sealed::RegSpec for BleRadiopwrupdnReg_SPEC {
3556    type DataType = u32;
3557}
3558
3559#[doc = "RX/TX power up/down phase register"]
3560pub type BleRadiopwrupdnReg = crate::RegValueT<BleRadiopwrupdnReg_SPEC>;
3561
3562impl BleRadiopwrupdnReg {
3563    #[doc = "Defines round trip delay value. This value correspond to the addition of data latency in Tx and data latency in Rx. Value is in us"]
3564    #[inline(always)]
3565    pub fn rtrip_delay(
3566        self,
3567    ) -> crate::common::RegisterField<
3568        24,
3569        0x7f,
3570        1,
3571        0,
3572        u8,
3573        u8,
3574        BleRadiopwrupdnReg_SPEC,
3575        crate::common::RW,
3576    > {
3577        crate::common::RegisterField::<
3578            24,
3579            0x7f,
3580            1,
3581            0,
3582            u8,
3583            u8,
3584            BleRadiopwrupdnReg_SPEC,
3585            crate::common::RW,
3586        >::from_register(self, 0)
3587    }
3588
3589    #[doc = "This register holds the length in s of the RX power up phase for the current radio device. Default value is 210us (reset value). Operating range depends on the selected radio."]
3590    #[inline(always)]
3591    pub fn rxpwrup(
3592        self,
3593    ) -> crate::common::RegisterField<
3594        16,
3595        0xff,
3596        1,
3597        0,
3598        u8,
3599        u8,
3600        BleRadiopwrupdnReg_SPEC,
3601        crate::common::RW,
3602    > {
3603        crate::common::RegisterField::<
3604            16,
3605            0xff,
3606            1,
3607            0,
3608            u8,
3609            u8,
3610            BleRadiopwrupdnReg_SPEC,
3611            crate::common::RW,
3612        >::from_register(self, 0)
3613    }
3614
3615    #[doc = "This register extends the length in s of the TX power down phase for the current radio device. Default value is 3us (reset value). Operating range depends on the selected radio."]
3616    #[inline(always)]
3617    pub fn txpwrdn(
3618        self,
3619    ) -> crate::common::RegisterField<
3620        8,
3621        0xf,
3622        1,
3623        0,
3624        u8,
3625        u8,
3626        BleRadiopwrupdnReg_SPEC,
3627        crate::common::RW,
3628    > {
3629        crate::common::RegisterField::<
3630            8,
3631            0xf,
3632            1,
3633            0,
3634            u8,
3635            u8,
3636            BleRadiopwrupdnReg_SPEC,
3637            crate::common::RW,
3638        >::from_register(self, 0)
3639    }
3640
3641    #[doc = "This register holds the length in s of the TX power up phase for the current radio device. Default value is 210us (reset value). Operating range depends on the selected radio."]
3642    #[inline(always)]
3643    pub fn txpwrup(
3644        self,
3645    ) -> crate::common::RegisterField<
3646        0,
3647        0xff,
3648        1,
3649        0,
3650        u8,
3651        u8,
3652        BleRadiopwrupdnReg_SPEC,
3653        crate::common::RW,
3654    > {
3655        crate::common::RegisterField::<
3656            0,
3657            0xff,
3658            1,
3659            0,
3660            u8,
3661            u8,
3662            BleRadiopwrupdnReg_SPEC,
3663            crate::common::RW,
3664        >::from_register(self, 0)
3665    }
3666}
3667impl ::core::default::Default for BleRadiopwrupdnReg {
3668    #[inline(always)]
3669    fn default() -> BleRadiopwrupdnReg {
3670        <crate::RegValueT<BleRadiopwrupdnReg_SPEC> as RegisterValue<_>>::new(13763538)
3671    }
3672}
3673
3674#[doc(hidden)]
3675#[derive(Copy, Clone, Eq, PartialEq)]
3676pub struct BleRftestcntlReg_SPEC;
3677impl crate::sealed::RegSpec for BleRftestcntlReg_SPEC {
3678    type DataType = u32;
3679}
3680
3681#[doc = "RF Testing Register"]
3682pub type BleRftestcntlReg = crate::RegValueT<BleRftestcntlReg_SPEC>;
3683
3684impl BleRftestcntlReg {
3685    #[doc = "Applicable in RF Test Mode only\n0: Normal mode of operation\n1: Infinite Rx window"]
3686    #[inline(always)]
3687    pub fn infiniterx(
3688        self,
3689    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3690        crate::common::RegisterFieldBool::<31,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3691    }
3692
3693    #[doc = "Applicable in RF Test Mode only\n0: Rx packet count disabled\n1: Rx packet count enabled, and reported in CS-RXCCMPKTCNT and RFTESTRXSTAT-RXPKTCNT on RF abort command"]
3694    #[inline(always)]
3695    pub fn rxpktcnten(
3696        self,
3697    ) -> crate::common::RegisterFieldBool<27, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3698        crate::common::RegisterFieldBool::<27,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3699    }
3700
3701    #[doc = "Applicable in RF Test Mode only\n0: Normal mode of operation.\n1: Infinite Tx packet / Normal start of a packet but endless payload"]
3702    #[inline(always)]
3703    pub fn infinitetx(
3704        self,
3705    ) -> crate::common::RegisterFieldBool<15, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3706        crate::common::RegisterFieldBool::<15,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3707    }
3708
3709    #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Normal mode of operation: TxDESC-TXADVLEN controls the Tx packet payload size\n1: Uses RFTESTCNTL-TXLENGTH packet length (can support up to 512 bytes transmit)"]
3710    #[inline(always)]
3711    pub fn txlengthsrc(
3712        self,
3713    ) -> crate::common::RegisterFieldBool<14, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3714        crate::common::RegisterFieldBool::<14,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3715    }
3716
3717    #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Tx Packet Payload are PRBS9 type\n1: Tx Packet Payload are PRBS15 type"]
3718    #[inline(always)]
3719    pub fn prbstype(
3720        self,
3721    ) -> crate::common::RegisterFieldBool<13, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3722        crate::common::RegisterFieldBool::<13,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3723    }
3724
3725    #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Tx Packet Payload source is the Control Structure\n1: Tx Packet Payload are PRBS generator"]
3726    #[inline(always)]
3727    pub fn txpldsrc(
3728        self,
3729    ) -> crate::common::RegisterFieldBool<12, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3730        crate::common::RegisterFieldBool::<12,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3731    }
3732
3733    #[doc = "Applicable in RF Test Mode only\n0: Tx packet count disabled\n1: Tx packet count enabled, and reported in CS-TXCCMPKTCNT and RFTESTTXSTAT-TXPKTCNT on RF abort command"]
3734    #[inline(always)]
3735    pub fn txpktcnten(
3736        self,
3737    ) -> crate::common::RegisterFieldBool<11, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3738        crate::common::RegisterFieldBool::<11,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3739    }
3740
3741    #[doc = "Applicable only for Tx/Rx RF Test mode, and valid when RFTESTCNTL-TXLENGTHSRC = 1\nTx packet length in number of byte"]
3742    #[inline(always)]
3743    pub fn txlength(
3744        self,
3745    ) -> crate::common::RegisterField<
3746        0,
3747        0x1ff,
3748        1,
3749        0,
3750        u16,
3751        u16,
3752        BleRftestcntlReg_SPEC,
3753        crate::common::RW,
3754    > {
3755        crate::common::RegisterField::<
3756            0,
3757            0x1ff,
3758            1,
3759            0,
3760            u16,
3761            u16,
3762            BleRftestcntlReg_SPEC,
3763            crate::common::RW,
3764        >::from_register(self, 0)
3765    }
3766}
3767impl ::core::default::Default for BleRftestcntlReg {
3768    #[inline(always)]
3769    fn default() -> BleRftestcntlReg {
3770        <crate::RegValueT<BleRftestcntlReg_SPEC> as RegisterValue<_>>::new(0)
3771    }
3772}
3773
3774#[doc(hidden)]
3775#[derive(Copy, Clone, Eq, PartialEq)]
3776pub struct BleRftestrxstatReg_SPEC;
3777impl crate::sealed::RegSpec for BleRftestrxstatReg_SPEC {
3778    type DataType = u32;
3779}
3780
3781#[doc = "RF Testing Register"]
3782pub type BleRftestrxstatReg = crate::RegValueT<BleRftestrxstatReg_SPEC>;
3783
3784impl BleRftestrxstatReg {
3785    #[doc = "Reports number of correctly received packet during Test Modes (no sync error, no CRC error).\nValue is valid if RFTESTCNTL-RXPKTCNTEN is set"]
3786    #[inline(always)]
3787    pub fn rxpktcnt(
3788        self,
3789    ) -> crate::common::RegisterField<
3790        0,
3791        0xffffffff,
3792        1,
3793        0,
3794        u32,
3795        u32,
3796        BleRftestrxstatReg_SPEC,
3797        crate::common::R,
3798    > {
3799        crate::common::RegisterField::<
3800            0,
3801            0xffffffff,
3802            1,
3803            0,
3804            u32,
3805            u32,
3806            BleRftestrxstatReg_SPEC,
3807            crate::common::R,
3808        >::from_register(self, 0)
3809    }
3810}
3811impl ::core::default::Default for BleRftestrxstatReg {
3812    #[inline(always)]
3813    fn default() -> BleRftestrxstatReg {
3814        <crate::RegValueT<BleRftestrxstatReg_SPEC> as RegisterValue<_>>::new(0)
3815    }
3816}
3817
3818#[doc(hidden)]
3819#[derive(Copy, Clone, Eq, PartialEq)]
3820pub struct BleRftesttxstatReg_SPEC;
3821impl crate::sealed::RegSpec for BleRftesttxstatReg_SPEC {
3822    type DataType = u32;
3823}
3824
3825#[doc = "RF Testing Register"]
3826pub type BleRftesttxstatReg = crate::RegValueT<BleRftesttxstatReg_SPEC>;
3827
3828impl BleRftesttxstatReg {
3829    #[doc = "Reports number of transmitted packet during Test Modes.\nValue is valid if RFTESTCNTL-TXPKTCNTEN is set"]
3830    #[inline(always)]
3831    pub fn txpktcnt(
3832        self,
3833    ) -> crate::common::RegisterField<
3834        0,
3835        0xffffffff,
3836        1,
3837        0,
3838        u32,
3839        u32,
3840        BleRftesttxstatReg_SPEC,
3841        crate::common::R,
3842    > {
3843        crate::common::RegisterField::<
3844            0,
3845            0xffffffff,
3846            1,
3847            0,
3848            u32,
3849            u32,
3850            BleRftesttxstatReg_SPEC,
3851            crate::common::R,
3852        >::from_register(self, 0)
3853    }
3854}
3855impl ::core::default::Default for BleRftesttxstatReg {
3856    #[inline(always)]
3857    fn default() -> BleRftesttxstatReg {
3858        <crate::RegValueT<BleRftesttxstatReg_SPEC> as RegisterValue<_>>::new(0)
3859    }
3860}
3861
3862#[doc(hidden)]
3863#[derive(Copy, Clone, Eq, PartialEq)]
3864pub struct BleRwblecntlReg_SPEC;
3865impl crate::sealed::RegSpec for BleRwblecntlReg_SPEC {
3866    type DataType = u32;
3867}
3868
3869#[doc = "BLE Control register"]
3870pub type BleRwblecntlReg = crate::RegValueT<BleRwblecntlReg_SPEC>;
3871
3872impl BleRwblecntlReg {
3873    #[doc = "Reset the complete BLE Core except registers and timing generator, when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3874    #[inline(always)]
3875    pub fn master_soft_rst(
3876        self,
3877    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3878        crate::common::RegisterFieldBool::<31,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3879    }
3880
3881    #[doc = "Reset the timing generator, when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3882    #[inline(always)]
3883    pub fn master_tgsoft_rst(
3884        self,
3885    ) -> crate::common::RegisterFieldBool<30, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3886        crate::common::RegisterFieldBool::<30,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3887    }
3888
3889    #[doc = "Reset the complete register block, when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0.\nNote that INT STAT will not be cleared, so the user should also write to BLE_INTACK_REG after the SW Reset"]
3890    #[inline(always)]
3891    pub fn reg_soft_rst(
3892        self,
3893    ) -> crate::common::RegisterFieldBool<29, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3894        crate::common::RegisterFieldBool::<29,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3895    }
3896
3897    #[doc = "Forces the generation of ble_sw_irq when written with a 1, and proper masking is set. Resets at 0 when action is performed. No action happens if it is written with 0."]
3898    #[inline(always)]
3899    pub fn swint_req(
3900        self,
3901    ) -> crate::common::RegisterFieldBool<28, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3902        crate::common::RegisterFieldBool::<28,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3903    }
3904
3905    #[doc = "Abort the current RF Testing defined as per CS-FORMAT when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0.\nNote that when RFTEST_ABORT is requested:\n1) In case of infinite Tx, the Packet Controller FSM stops at the end of the current byte in process, and processes accordingly the packet CRC.\n2) In case of Infinite Rx, the Packet Controller FSM either stops as the end of the current Packet reception (if Access address has been detected), or simply stop the processing switching off the RF."]
3906    #[inline(always)]
3907    pub fn rftest_abort(
3908        self,
3909    ) -> crate::common::RegisterFieldBool<26, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3910        crate::common::RegisterFieldBool::<26,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3911    }
3912
3913    #[doc = "Abort the current Advertising event when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3914    #[inline(always)]
3915    pub fn advert_abort(
3916        self,
3917    ) -> crate::common::RegisterFieldBool<25, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3918        crate::common::RegisterFieldBool::<25,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3919    }
3920
3921    #[doc = "Abort the current scan window when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3922    #[inline(always)]
3923    pub fn scan_abort(
3924        self,
3925    ) -> crate::common::RegisterFieldBool<24, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3926        crate::common::RegisterFieldBool::<24,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3927    }
3928
3929    #[doc = "0: Normal operation of MD bits management\n1: Allow a single Tx/Rx exchange whatever the MD bits are.\nvalue forced by SW from Tx Descriptorvalue just saved in Rx Descriptor during reception"]
3930    #[inline(always)]
3931    pub fn md_dsb(
3932        self,
3933    ) -> crate::common::RegisterFieldBool<22, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3934        crate::common::RegisterFieldBool::<22,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3935    }
3936
3937    #[doc = "0: Normal operation of Sequence number\n1: Sequence Number Management disabled:\nvalue forced by SW from Tx Descriptorvalue ignored in Rx, where no SN error reported."]
3938    #[inline(always)]
3939    pub fn sn_dsb(
3940        self,
3941    ) -> crate::common::RegisterFieldBool<21, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3942        crate::common::RegisterFieldBool::<21,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3943    }
3944
3945    #[doc = "0: Normal operation of Acknowledge\n1: Acknowledge scheme disabled:\nvalue forced by SW from Tx Descriptorvalue ignored in Rx, where no NESN error reported."]
3946    #[inline(always)]
3947    pub fn nesn_dsb(
3948        self,
3949    ) -> crate::common::RegisterFieldBool<20, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3950        crate::common::RegisterFieldBool::<20,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3951    }
3952
3953    #[doc = "0: Normal operation. Encryption / Decryption enabled.\n1: Encryption / Decryption disabled.\nNote that if CS-CRYPT_EN is set, then MIC is generated, and only data encryption is disabled, meaning data sent are plain data."]
3954    #[inline(always)]
3955    pub fn crypt_dsb(
3956        self,
3957    ) -> crate::common::RegisterFieldBool<19, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3958        crate::common::RegisterFieldBool::<19,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3959    }
3960
3961    #[doc = "0: Normal operation. Whitening enabled.\n1: Whitening disabled."]
3962    #[inline(always)]
3963    pub fn whit_dsb(
3964        self,
3965    ) -> crate::common::RegisterFieldBool<18, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3966        crate::common::RegisterFieldBool::<18,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3967    }
3968
3969    #[doc = "0: Normal operation. CRC removed from data stream.\n1: CRC stripping disabled on Rx packets, CRC replaced by 0x000 in Tx."]
3970    #[inline(always)]
3971    pub fn crc_dsb(
3972        self,
3973    ) -> crate::common::RegisterFieldBool<17, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3974        crate::common::RegisterFieldBool::<17,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3975    }
3976
3977    #[doc = "0: Normal operation. Frequency Hopping Remapping algorithm enabled.\n1: Frequency Hopping Remapping algorithm disabled"]
3978    #[inline(always)]
3979    pub fn hop_remap_dsb(
3980        self,
3981    ) -> crate::common::RegisterFieldBool<16, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3982        crate::common::RegisterFieldBool::<16,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3983    }
3984
3985    #[doc = "Defines correlation mode\n00: Correlates onto Access Address\n01: Correlates onto half preamble and Access Address\n10: Correlates onto full preamble and Access Address\n11: n/a"]
3986    #[inline(always)]
3987    pub fn corr_mode(
3988        self,
3989    ) -> crate::common::RegisterField<12, 0x3, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
3990    {
3991        crate::common::RegisterField::<12,0x3,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3992    }
3993
3994    #[doc = "Advertising Channels Error Filtering Enable control\n0: RW-BLE Core reports all errors to RW-BLE Software\n1: RW-BLE Core reports only correctly received packet, without error to RW-BLE Software"]
3995    #[inline(always)]
3996    pub fn advertfilt_en(
3997        self,
3998    ) -> crate::common::RegisterFieldBool<9, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3999        crate::common::RegisterFieldBool::<9,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4000    }
4001
4002    #[doc = "0: Disable RW-BLE Core Exchange Table pre-fetch mechanism.\n1: Enable RW-BLE Core Exchange table pre-fetch mechanism."]
4003    #[inline(always)]
4004    pub fn rwble_en(
4005        self,
4006    ) -> crate::common::RegisterFieldBool<8, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
4007        crate::common::RegisterFieldBool::<8,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4008    }
4009
4010    #[doc = "Default Rx Window size in us. Used when device:\n\nis master connectedperforms its second receipt.0 is not a valid value. Recommended value is 10 (in decimal)."]
4011    #[inline(always)]
4012    pub fn rxwinszdef(
4013        self,
4014    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
4015    {
4016        crate::common::RegisterField::<4,0xf,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4017    }
4018
4019    #[doc = "Indicates the maximum number of errors allowed to recognize the synchronization word."]
4020    #[inline(always)]
4021    pub fn syncerr(
4022        self,
4023    ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
4024    {
4025        crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4026    }
4027}
4028impl ::core::default::Default for BleRwblecntlReg {
4029    #[inline(always)]
4030    fn default() -> BleRwblecntlReg {
4031        <crate::RegValueT<BleRwblecntlReg_SPEC> as RegisterValue<_>>::new(0)
4032    }
4033}
4034
4035#[doc(hidden)]
4036#[derive(Copy, Clone, Eq, PartialEq)]
4037pub struct BleRwbleconfReg_SPEC;
4038impl crate::sealed::RegSpec for BleRwbleconfReg_SPEC {
4039    type DataType = u32;
4040}
4041
4042#[doc = "Configuration register"]
4043pub type BleRwbleconfReg = crate::RegValueT<BleRwbleconfReg_SPEC>;
4044
4045impl BleRwbleconfReg {
4046    #[doc = "Value of the RW_BLE_ADDRESS_WIDTH parameter concerted into binary."]
4047    #[inline(always)]
4048    pub fn add_width(
4049        self,
4050    ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4051    {
4052        crate::common::RegisterField::<24,0x3f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4053    }
4054
4055    #[doc = "Radio Interface ID"]
4056    #[inline(always)]
4057    pub fn rfif(
4058        self,
4059    ) -> crate::common::RegisterField<16, 0x7f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4060    {
4061        crate::common::RegisterField::<16,0x7f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4062    }
4063
4064    #[doc = "Operating Frequency (in MHz)"]
4065    #[inline(always)]
4066    pub fn clk_sel(
4067        self,
4068    ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4069    {
4070        crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4071    }
4072
4073    #[doc = "0: AES deciphering not present"]
4074    #[inline(always)]
4075    pub fn decipher(
4076        self,
4077    ) -> crate::common::RegisterFieldBool<6, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4078        crate::common::RegisterFieldBool::<6,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4079    }
4080
4081    #[doc = "0: RW-BLE Core is used as a standalone BLE device"]
4082    #[inline(always)]
4083    pub fn dmmode(
4084        self,
4085    ) -> crate::common::RegisterFieldBool<5, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4086        crate::common::RegisterFieldBool::<5,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4087    }
4088
4089    #[doc = "1: Interrupts are trigger level generated, i.e. stays active at 1 till acknowledgement"]
4090    #[inline(always)]
4091    pub fn intmode(
4092        self,
4093    ) -> crate::common::RegisterFieldBool<4, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4094        crate::common::RegisterFieldBool::<4,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4095    }
4096
4097    #[doc = "1: WLAN Coexistence mechanism present"]
4098    #[inline(always)]
4099    pub fn coex(
4100        self,
4101    ) -> crate::common::RegisterFieldBool<3, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4102        crate::common::RegisterFieldBool::<3,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4103    }
4104
4105    #[doc = "1: Diagnostic port instantiated"]
4106    #[inline(always)]
4107    pub fn usedbg(
4108        self,
4109    ) -> crate::common::RegisterFieldBool<2, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4110        crate::common::RegisterFieldBool::<2,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4111    }
4112
4113    #[doc = "1: AES-CCM Encryption block present"]
4114    #[inline(always)]
4115    pub fn usecrypt(
4116        self,
4117    ) -> crate::common::RegisterFieldBool<1, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4118        crate::common::RegisterFieldBool::<1,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4119    }
4120
4121    #[doc = "Processor bus width:\n1: 32 bits"]
4122    #[inline(always)]
4123    pub fn buswidth(
4124        self,
4125    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4126        crate::common::RegisterFieldBool::<0,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4127    }
4128}
4129impl ::core::default::Default for BleRwbleconfReg {
4130    #[inline(always)]
4131    fn default() -> BleRwbleconfReg {
4132        <crate::RegValueT<BleRwbleconfReg_SPEC> as RegisterValue<_>>::new(268566559)
4133    }
4134}
4135
4136#[doc(hidden)]
4137#[derive(Copy, Clone, Eq, PartialEq)]
4138pub struct BleRxmicvalReg_SPEC;
4139impl crate::sealed::RegSpec for BleRxmicvalReg_SPEC {
4140    type DataType = u32;
4141}
4142
4143#[doc = "AES / CCM plain MIC value"]
4144pub type BleRxmicvalReg = crate::RegValueT<BleRxmicvalReg_SPEC>;
4145
4146impl BleRxmicvalReg {
4147    #[doc = "AES-CCM plain MIC value. Valid on once MIC has been extracted from Rx packet."]
4148    #[inline(always)]
4149    pub fn rxmicval(
4150        self,
4151    ) -> crate::common::RegisterField<
4152        0,
4153        0xffffffff,
4154        1,
4155        0,
4156        u32,
4157        u32,
4158        BleRxmicvalReg_SPEC,
4159        crate::common::R,
4160    > {
4161        crate::common::RegisterField::<
4162            0,
4163            0xffffffff,
4164            1,
4165            0,
4166            u32,
4167            u32,
4168            BleRxmicvalReg_SPEC,
4169            crate::common::R,
4170        >::from_register(self, 0)
4171    }
4172}
4173impl ::core::default::Default for BleRxmicvalReg {
4174    #[inline(always)]
4175    fn default() -> BleRxmicvalReg {
4176        <crate::RegValueT<BleRxmicvalReg_SPEC> as RegisterValue<_>>::new(0)
4177    }
4178}
4179
4180#[doc(hidden)]
4181#[derive(Copy, Clone, Eq, PartialEq)]
4182pub struct BleSampleclkReg_SPEC;
4183impl crate::sealed::RegSpec for BleSampleclkReg_SPEC {
4184    type DataType = u32;
4185}
4186
4187#[doc = "Samples the Base Time Counter"]
4188pub type BleSampleclkReg = crate::RegValueT<BleSampleclkReg_SPEC>;
4189
4190impl BleSampleclkReg {
4191    #[doc = "Writing a 1 samples the Base Time Counter value in BASETIMECNT register. Resets at 0 when action is performed."]
4192    #[inline(always)]
4193    pub fn samp(
4194        self,
4195    ) -> crate::common::RegisterFieldBool<0, 1, 0, BleSampleclkReg_SPEC, crate::common::W> {
4196        crate::common::RegisterFieldBool::<0,1,0,BleSampleclkReg_SPEC,crate::common::W>::from_register(self,0)
4197    }
4198}
4199impl ::core::default::Default for BleSampleclkReg {
4200    #[inline(always)]
4201    fn default() -> BleSampleclkReg {
4202        <crate::RegValueT<BleSampleclkReg_SPEC> as RegisterValue<_>>::new(0)
4203    }
4204}
4205
4206#[doc(hidden)]
4207#[derive(Copy, Clone, Eq, PartialEq)]
4208pub struct BleSwprofilingReg_SPEC;
4209impl crate::sealed::RegSpec for BleSwprofilingReg_SPEC {
4210    type DataType = u32;
4211}
4212
4213#[doc = "Software Profiling register"]
4214pub type BleSwprofilingReg = crate::RegValueT<BleSwprofilingReg_SPEC>;
4215
4216impl BleSwprofilingReg {
4217    #[doc = "Software Profiling register: used by RW-BLE Software for profiling purpose: this value is copied on Diagnostic port"]
4218    #[inline(always)]
4219    pub fn swprofval(
4220        self,
4221    ) -> crate::common::RegisterField<
4222        0,
4223        0xffffffff,
4224        1,
4225        0,
4226        u32,
4227        u32,
4228        BleSwprofilingReg_SPEC,
4229        crate::common::RW,
4230    > {
4231        crate::common::RegisterField::<
4232            0,
4233            0xffffffff,
4234            1,
4235            0,
4236            u32,
4237            u32,
4238            BleSwprofilingReg_SPEC,
4239            crate::common::RW,
4240        >::from_register(self, 0)
4241    }
4242}
4243impl ::core::default::Default for BleSwprofilingReg {
4244    #[inline(always)]
4245    fn default() -> BleSwprofilingReg {
4246        <crate::RegValueT<BleSwprofilingReg_SPEC> as RegisterValue<_>>::new(0)
4247    }
4248}
4249
4250#[doc(hidden)]
4251#[derive(Copy, Clone, Eq, PartialEq)]
4252pub struct BleTimgencntlReg_SPEC;
4253impl crate::sealed::RegSpec for BleTimgencntlReg_SPEC {
4254    type DataType = u32;
4255}
4256
4257#[doc = "Timing Generator Register"]
4258pub type BleTimgencntlReg = crate::RegValueT<BleTimgencntlReg_SPEC>;
4259
4260impl BleTimgencntlReg {
4261    #[doc = "Controls the Anticipated pre-Fetch Abort mechanism\n0: Disabled\n1: Enabled"]
4262    #[inline(always)]
4263    pub fn apfm_en(
4264        self,
4265    ) -> crate::common::RegisterFieldBool<31, 1, 0, BleTimgencntlReg_SPEC, crate::common::RW> {
4266        crate::common::RegisterFieldBool::<31,1,0,BleTimgencntlReg_SPEC,crate::common::RW>::from_register(self,0)
4267    }
4268
4269    #[doc = "Defines the instant in s at which immediate abort is required after anticipated pre-fetch abort"]
4270    #[inline(always)]
4271    pub fn prefetchabort_time(
4272        self,
4273    ) -> crate::common::RegisterField<
4274        16,
4275        0x3ff,
4276        1,
4277        0,
4278        u16,
4279        u16,
4280        BleTimgencntlReg_SPEC,
4281        crate::common::RW,
4282    > {
4283        crate::common::RegisterField::<
4284            16,
4285            0x3ff,
4286            1,
4287            0,
4288            u16,
4289            u16,
4290            BleTimgencntlReg_SPEC,
4291            crate::common::RW,
4292        >::from_register(self, 0)
4293    }
4294
4295    #[doc = "Defines Exchange Table pre-fetch instant in us"]
4296    #[inline(always)]
4297    pub fn prefetch_time(
4298        self,
4299    ) -> crate::common::RegisterField<
4300        0,
4301        0x1ff,
4302        1,
4303        0,
4304        u16,
4305        u16,
4306        BleTimgencntlReg_SPEC,
4307        crate::common::RW,
4308    > {
4309        crate::common::RegisterField::<
4310            0,
4311            0x1ff,
4312            1,
4313            0,
4314            u16,
4315            u16,
4316            BleTimgencntlReg_SPEC,
4317            crate::common::RW,
4318        >::from_register(self, 0)
4319    }
4320}
4321impl ::core::default::Default for BleTimgencntlReg {
4322    #[inline(always)]
4323    fn default() -> BleTimgencntlReg {
4324        <crate::RegValueT<BleTimgencntlReg_SPEC> as RegisterValue<_>>::new(2147483647)
4325    }
4326}
4327
4328#[doc(hidden)]
4329#[derive(Copy, Clone, Eq, PartialEq)]
4330pub struct BleTxmicvalReg_SPEC;
4331impl crate::sealed::RegSpec for BleTxmicvalReg_SPEC {
4332    type DataType = u32;
4333}
4334
4335#[doc = "AES / CCM plain MIC value"]
4336pub type BleTxmicvalReg = crate::RegValueT<BleTxmicvalReg_SPEC>;
4337
4338impl BleTxmicvalReg {
4339    #[doc = "AES-CCM plain MIC value. Valid on when MIC has been calculated (in Tx)"]
4340    #[inline(always)]
4341    pub fn txmicval(
4342        self,
4343    ) -> crate::common::RegisterField<
4344        0,
4345        0xffffffff,
4346        1,
4347        0,
4348        u32,
4349        u32,
4350        BleTxmicvalReg_SPEC,
4351        crate::common::R,
4352    > {
4353        crate::common::RegisterField::<
4354            0,
4355            0xffffffff,
4356            1,
4357            0,
4358            u32,
4359            u32,
4360            BleTxmicvalReg_SPEC,
4361            crate::common::R,
4362        >::from_register(self, 0)
4363    }
4364}
4365impl ::core::default::Default for BleTxmicvalReg {
4366    #[inline(always)]
4367    fn default() -> BleTxmicvalReg {
4368        <crate::RegValueT<BleTxmicvalReg_SPEC> as RegisterValue<_>>::new(0)
4369    }
4370}
4371
4372#[doc(hidden)]
4373#[derive(Copy, Clone, Eq, PartialEq)]
4374pub struct BleVersionReg_SPEC;
4375impl crate::sealed::RegSpec for BleVersionReg_SPEC {
4376    type DataType = u32;
4377}
4378
4379#[doc = "Version register"]
4380pub type BleVersionReg = crate::RegValueT<BleVersionReg_SPEC>;
4381
4382impl BleVersionReg {
4383    #[doc = "BLE Core Type"]
4384    #[inline(always)]
4385    pub fn typ(
4386        self,
4387    ) -> crate::common::RegisterField<24, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4388    {
4389        crate::common::RegisterField::<24,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4390    }
4391
4392    #[doc = "BLE Core version Major release number."]
4393    #[inline(always)]
4394    pub fn rel(
4395        self,
4396    ) -> crate::common::RegisterField<16, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4397    {
4398        crate::common::RegisterField::<16,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4399    }
4400
4401    #[doc = "BLE Core upgrade Upgrade number."]
4402    #[inline(always)]
4403    pub fn upg(
4404        self,
4405    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4406    {
4407        crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4408    }
4409
4410    #[doc = "BLE Core Build Build number."]
4411    #[inline(always)]
4412    pub fn build(
4413        self,
4414    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4415    {
4416        crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4417    }
4418}
4419impl ::core::default::Default for BleVersionReg {
4420    #[inline(always)]
4421    fn default() -> BleVersionReg {
4422        <crate::RegValueT<BleVersionReg_SPEC> as RegisterValue<_>>::new(117506048)
4423    }
4424}
4425
4426#[doc(hidden)]
4427#[derive(Copy, Clone, Eq, PartialEq)]
4428pub struct BleWlnbdevReg_SPEC;
4429impl crate::sealed::RegSpec for BleWlnbdevReg_SPEC {
4430    type DataType = u32;
4431}
4432
4433#[doc = "Devices in white list"]
4434pub type BleWlnbdevReg = crate::RegValueT<BleWlnbdevReg_SPEC>;
4435
4436impl BleWlnbdevReg {
4437    #[doc = "Number of private devices in the white list."]
4438    #[inline(always)]
4439    pub fn nbprivdev(
4440        self,
4441    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleWlnbdevReg_SPEC, crate::common::RW>
4442    {
4443        crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleWlnbdevReg_SPEC,crate::common::RW>::from_register(self,0)
4444    }
4445
4446    #[doc = "Number of public devices in the white list."]
4447    #[inline(always)]
4448    pub fn nbpubdev(
4449        self,
4450    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleWlnbdevReg_SPEC, crate::common::RW>
4451    {
4452        crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleWlnbdevReg_SPEC,crate::common::RW>::from_register(self,0)
4453    }
4454}
4455impl ::core::default::Default for BleWlnbdevReg {
4456    #[inline(always)]
4457    fn default() -> BleWlnbdevReg {
4458        <crate::RegValueT<BleWlnbdevReg_SPEC> as RegisterValue<_>>::new(0)
4459    }
4460}
4461
4462#[doc(hidden)]
4463#[derive(Copy, Clone, Eq, PartialEq)]
4464pub struct BleWlprivaddptrReg_SPEC;
4465impl crate::sealed::RegSpec for BleWlprivaddptrReg_SPEC {
4466    type DataType = u32;
4467}
4468
4469#[doc = "Start address of private devices list"]
4470pub type BleWlprivaddptrReg = crate::RegValueT<BleWlprivaddptrReg_SPEC>;
4471
4472impl BleWlprivaddptrReg {
4473    #[doc = "Start address pointer of the private devices white list."]
4474    #[inline(always)]
4475    pub fn wlprivaddptr(
4476        self,
4477    ) -> crate::common::RegisterField<
4478        0,
4479        0xffff,
4480        1,
4481        0,
4482        u16,
4483        u16,
4484        BleWlprivaddptrReg_SPEC,
4485        crate::common::RW,
4486    > {
4487        crate::common::RegisterField::<
4488            0,
4489            0xffff,
4490            1,
4491            0,
4492            u16,
4493            u16,
4494            BleWlprivaddptrReg_SPEC,
4495            crate::common::RW,
4496        >::from_register(self, 0)
4497    }
4498}
4499impl ::core::default::Default for BleWlprivaddptrReg {
4500    #[inline(always)]
4501    fn default() -> BleWlprivaddptrReg {
4502        <crate::RegValueT<BleWlprivaddptrReg_SPEC> as RegisterValue<_>>::new(0)
4503    }
4504}
4505
4506#[doc(hidden)]
4507#[derive(Copy, Clone, Eq, PartialEq)]
4508pub struct BleWlpubaddptrReg_SPEC;
4509impl crate::sealed::RegSpec for BleWlpubaddptrReg_SPEC {
4510    type DataType = u32;
4511}
4512
4513#[doc = "Start address of public devices list"]
4514pub type BleWlpubaddptrReg = crate::RegValueT<BleWlpubaddptrReg_SPEC>;
4515
4516impl BleWlpubaddptrReg {
4517    #[doc = "Start address pointer of the public devices white list."]
4518    #[inline(always)]
4519    pub fn wlpubaddptr(
4520        self,
4521    ) -> crate::common::RegisterField<
4522        0,
4523        0xffff,
4524        1,
4525        0,
4526        u16,
4527        u16,
4528        BleWlpubaddptrReg_SPEC,
4529        crate::common::RW,
4530    > {
4531        crate::common::RegisterField::<
4532            0,
4533            0xffff,
4534            1,
4535            0,
4536            u16,
4537            u16,
4538            BleWlpubaddptrReg_SPEC,
4539            crate::common::RW,
4540        >::from_register(self, 0)
4541    }
4542}
4543impl ::core::default::Default for BleWlpubaddptrReg {
4544    #[inline(always)]
4545    fn default() -> BleWlpubaddptrReg {
4546        <crate::RegValueT<BleWlpubaddptrReg_SPEC> as RegisterValue<_>>::new(0)
4547    }
4548}