cc2538-pac 0.1.0

Peripheral access API for CC2538 System-on-Chip
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - The frame filtering function rejects unintended frames as specified by IEEE 802.15.4, section 7.5.6.2, third filtering level. In addition, it provides filtering on: - The eight different frame types (see the FRMFILT1 register) - The reserved bits in the frame control field (FCF) The function is controlled by: - The FRMFILT0 and FRMFILT1 registers - The PAN_ID, SHORT_ADDR, and EXT_ADDR values in RAM"]
    pub frmfilt0: crate::Reg<frmfilt0::FRMFILT0_SPEC>,
    #[doc = "0x04 - The frame filtering function rejects unintended frames as specified by IEEE 802.15.4, section 7.5.6.2, third filtering level. In addition, it provides filtering on: - The eight different frame types (see the FRMFILT1 register) - The reserved bits in the frame control field (FCF) The function is controlled by: - The FRMFILT0 and FRMFILT1 registers - The PAN_ID, SHORT_ADDR, and EXT_ADDR values in RAM"]
    pub frmfilt1: crate::Reg<frmfilt1::FRMFILT1_SPEC>,
    #[doc = "0x08 - Source address matching and pending bits"]
    pub srcmatch: crate::Reg<srcmatch::SRCMATCH_SPEC>,
    #[doc = "0x0c - Short address matching"]
    pub srcshorten0: crate::Reg<srcshorten0::SRCSHORTEN0_SPEC>,
    #[doc = "0x10 - Short address matching"]
    pub srcshorten1: crate::Reg<srcshorten1::SRCSHORTEN1_SPEC>,
    #[doc = "0x14 - Short address matching"]
    pub srcshorten2: crate::Reg<srcshorten2::SRCSHORTEN2_SPEC>,
    #[doc = "0x18 - Extended address matching"]
    pub srcexten0: crate::Reg<srcexten0::SRCEXTEN0_SPEC>,
    #[doc = "0x1c - Extended address matching"]
    pub srcexten1: crate::Reg<srcexten1::SRCEXTEN1_SPEC>,
    #[doc = "0x20 - Extended address matching"]
    pub srcexten2: crate::Reg<srcexten2::SRCEXTEN2_SPEC>,
    #[doc = "0x24 - Frame handling"]
    pub frmctrl0: crate::Reg<frmctrl0::FRMCTRL0_SPEC>,
    #[doc = "0x28 - Frame handling"]
    pub frmctrl1: crate::Reg<frmctrl1::FRMCTRL1_SPEC>,
    #[doc = "0x2c - RX enabling"]
    pub rxenable: crate::Reg<rxenable::RXENABLE_SPEC>,
    #[doc = "0x30 - RX enabling"]
    pub rxmaskset: crate::Reg<rxmaskset::RXMASKSET_SPEC>,
    #[doc = "0x34 - RX disabling"]
    pub rxmaskclr: crate::Reg<rxmaskclr::RXMASKCLR_SPEC>,
    #[doc = "0x38 - Crystal oscillator frequency tuning"]
    pub freqtune: crate::Reg<freqtune::FREQTUNE_SPEC>,
    #[doc = "0x3c - Controls the RF frequency"]
    pub freqctrl: crate::Reg<freqctrl::FREQCTRL_SPEC>,
    #[doc = "0x40 - Controls the output power"]
    pub txpower: crate::Reg<txpower::TXPOWER_SPEC>,
    #[doc = "0x44 - Controls the TX settings"]
    pub txctrl: crate::Reg<txctrl::TXCTRL_SPEC>,
    #[doc = "0x48 - Radio status register"]
    pub fsmstat0: crate::Reg<fsmstat0::FSMSTAT0_SPEC>,
    #[doc = "0x4c - Radio status register"]
    pub fsmstat1: crate::Reg<fsmstat1::FSMSTAT1_SPEC>,
    #[doc = "0x50 - FIFOP threshold"]
    pub fifopctrl: crate::Reg<fifopctrl::FIFOPCTRL_SPEC>,
    #[doc = "0x54 - FSM options"]
    pub fsmctrl: crate::Reg<fsmctrl::FSMCTRL_SPEC>,
    #[doc = "0x58 - CCA threshold"]
    pub ccactrl0: crate::Reg<ccactrl0::CCACTRL0_SPEC>,
    #[doc = "0x5c - Other CCA Options"]
    pub ccactrl1: crate::Reg<ccactrl1::CCACTRL1_SPEC>,
    #[doc = "0x60 - RSSI status register"]
    pub rssi: crate::Reg<rssi::RSSI_SPEC>,
    #[doc = "0x64 - RSSI valid status register"]
    pub rssistat: crate::Reg<rssistat::RSSISTAT_SPEC>,
    #[doc = "0x68 - First byte in RX FIFO"]
    pub rxfirst: crate::Reg<rxfirst::RXFIRST_SPEC>,
    #[doc = "0x6c - Number of bytes in RX FIFO"]
    pub rxfifocnt: crate::Reg<rxfifocnt::RXFIFOCNT_SPEC>,
    #[doc = "0x70 - Number of bytes in TX FIFO"]
    pub txfifocnt: crate::Reg<txfifocnt::TXFIFOCNT_SPEC>,
    #[doc = "0x74 - RX FIFO pointer"]
    pub rxfirst_ptr: crate::Reg<rxfirst_ptr::RXFIRST_PTR_SPEC>,
    #[doc = "0x78 - RX FIFO pointer"]
    pub rxlast_ptr: crate::Reg<rxlast_ptr::RXLAST_PTR_SPEC>,
    #[doc = "0x7c - RX FIFO pointer"]
    pub rxp1_ptr: crate::Reg<rxp1_ptr::RXP1_PTR_SPEC>,
    _reserved32: [u8; 0x04],
    #[doc = "0x84 - TX FIFO pointer"]
    pub txfirst_ptr: crate::Reg<txfirst_ptr::TXFIRST_PTR_SPEC>,
    #[doc = "0x88 - TX FIFO pointer"]
    pub txlast_ptr: crate::Reg<txlast_ptr::TXLAST_PTR_SPEC>,
    #[doc = "0x8c - RF interrupt masks"]
    pub rfirqm0: crate::Reg<rfirqm0::RFIRQM0_SPEC>,
    #[doc = "0x90 - RF interrupt masks"]
    pub rfirqm1: crate::Reg<rfirqm1::RFIRQM1_SPEC>,
    #[doc = "0x94 - RF error interrupt mask"]
    pub rferrm: crate::Reg<rferrm::RFERRM_SPEC>,
    _reserved37: [u8; 0x04],
    #[doc = "0x9c - Random data"]
    pub rfrnd: crate::Reg<rfrnd::RFRND_SPEC>,
    #[doc = "0xa0 - Controls modem"]
    pub mdmctrl0: crate::Reg<mdmctrl0::MDMCTRL0_SPEC>,
    #[doc = "0xa4 - Controls modem"]
    pub mdmctrl1: crate::Reg<mdmctrl1::MDMCTRL1_SPEC>,
    #[doc = "0xa8 - Estimated RF frequency offset"]
    pub freqest: crate::Reg<freqest::FREQEST_SPEC>,
    #[doc = "0xac - Tune receive section"]
    pub rxctrl: crate::Reg<rxctrl::RXCTRL_SPEC>,
    #[doc = "0xb0 - Tune frequency synthesizer"]
    pub fsctrl: crate::Reg<fsctrl::FSCTRL_SPEC>,
    #[doc = "0xb4 - Tune frequency calibration"]
    pub fscal0: crate::Reg<fscal0::FSCAL0_SPEC>,
    #[doc = "0xb8 - Tune frequency calibration"]
    pub fscal1: crate::Reg<fscal1::FSCAL1_SPEC>,
    #[doc = "0xbc - Tune frequency calibration"]
    pub fscal2: crate::Reg<fscal2::FSCAL2_SPEC>,
    #[doc = "0xc0 - Tune frequency calibration"]
    pub fscal3: crate::Reg<fscal3::FSCAL3_SPEC>,
    #[doc = "0xc4 - AGC dynamic range control"]
    pub agcctrl0: crate::Reg<agcctrl0::AGCCTRL0_SPEC>,
    #[doc = "0xc8 - AGC reference level"]
    pub agcctrl1: crate::Reg<agcctrl1::AGCCTRL1_SPEC>,
    #[doc = "0xcc - AGC gain override"]
    pub agcctrl2: crate::Reg<agcctrl2::AGCCTRL2_SPEC>,
    #[doc = "0xd0 - AGC control"]
    pub agcctrl3: crate::Reg<agcctrl3::AGCCTRL3_SPEC>,
    #[doc = "0xd4 - ADC tuning"]
    pub adctest0: crate::Reg<adctest0::ADCTEST0_SPEC>,
    #[doc = "0xd8 - ADC tuning"]
    pub adctest1: crate::Reg<adctest1::ADCTEST1_SPEC>,
    #[doc = "0xdc - ADC tuning"]
    pub adctest2: crate::Reg<adctest2::ADCTEST2_SPEC>,
    #[doc = "0xe0 - Test register for modem"]
    pub mdmtest0: crate::Reg<mdmtest0::MDMTEST0_SPEC>,
    #[doc = "0xe4 - Test Register for Modem"]
    pub mdmtest1: crate::Reg<mdmtest1::MDMTEST1_SPEC>,
    #[doc = "0xe8 - DAC override value"]
    pub dactest0: crate::Reg<dactest0::DACTEST0_SPEC>,
    #[doc = "0xec - DAC override value"]
    pub dactest1: crate::Reg<dactest1::DACTEST1_SPEC>,
    #[doc = "0xf0 - DAC test setting"]
    pub dactest2: crate::Reg<dactest2::DACTEST2_SPEC>,
    #[doc = "0xf4 - Analog test control"]
    pub atest: crate::Reg<atest::ATEST_SPEC>,
    #[doc = "0xf8 - Override power-down register"]
    pub ptest0: crate::Reg<ptest0::PTEST0_SPEC>,
    #[doc = "0xfc - Override power-down register"]
    pub ptest1: crate::Reg<ptest1::PTEST1_SPEC>,
    #[doc = "0x100 - CSP program"]
    pub cspprog_0: crate::Reg<cspprog_0::CSPPROG_0_SPEC>,
    #[doc = "0x104 - CSP program"]
    pub cspprog_1: crate::Reg<cspprog_1::CSPPROG_1_SPEC>,
    #[doc = "0x108 - CSP program"]
    pub cspprog_2: crate::Reg<cspprog_2::CSPPROG_2_SPEC>,
    #[doc = "0x10c - CSP program"]
    pub cspprog_3: crate::Reg<cspprog_3::CSPPROG_3_SPEC>,
    #[doc = "0x110 - CSP program"]
    pub cspprog_4: crate::Reg<cspprog_4::CSPPROG_4_SPEC>,
    #[doc = "0x114 - CSP program"]
    pub cspprog_5: crate::Reg<cspprog_5::CSPPROG_5_SPEC>,
    #[doc = "0x118 - CSP program"]
    pub cspprog_6: crate::Reg<cspprog_6::CSPPROG_6_SPEC>,
    #[doc = "0x11c - CSP program"]
    pub cspprog_7: crate::Reg<cspprog_7::CSPPROG_7_SPEC>,
    #[doc = "0x120 - CSP program"]
    pub cspprog_8: crate::Reg<cspprog_8::CSPPROG_8_SPEC>,
    #[doc = "0x124 - CSP program"]
    pub cspprog_9: crate::Reg<cspprog_9::CSPPROG_9_SPEC>,
    #[doc = "0x128 - CSP program"]
    pub cspprog_10: crate::Reg<cspprog_10::CSPPROG_10_SPEC>,
    #[doc = "0x12c - CSP program"]
    pub cspprog_11: crate::Reg<cspprog_11::CSPPROG_11_SPEC>,
    #[doc = "0x130 - CSP program"]
    pub cspprog_12: crate::Reg<cspprog_12::CSPPROG_12_SPEC>,
    #[doc = "0x134 - CSP program"]
    pub cspprog_13: crate::Reg<cspprog_13::CSPPROG_13_SPEC>,
    #[doc = "0x138 - CSP program"]
    pub cspprog_14: crate::Reg<cspprog_14::CSPPROG_14_SPEC>,
    #[doc = "0x13c - CSP program"]
    pub cspprog_15: crate::Reg<cspprog_15::CSPPROG_15_SPEC>,
    #[doc = "0x140 - CSP program"]
    pub cspprog_16: crate::Reg<cspprog_16::CSPPROG_16_SPEC>,
    #[doc = "0x144 - CSP program"]
    pub cspprog_17: crate::Reg<cspprog_17::CSPPROG_17_SPEC>,
    #[doc = "0x148 - CSP program"]
    pub cspprog_18: crate::Reg<cspprog_18::CSPPROG_18_SPEC>,
    #[doc = "0x14c - CSP program"]
    pub cspprog_19: crate::Reg<cspprog_19::CSPPROG_19_SPEC>,
    #[doc = "0x150 - CSP program"]
    pub cspprog_20: crate::Reg<cspprog_20::CSPPROG_20_SPEC>,
    #[doc = "0x154 - CSP program"]
    pub cspprog_21: crate::Reg<cspprog_21::CSPPROG_21_SPEC>,
    #[doc = "0x158 - CSP program"]
    pub cspprog_22: crate::Reg<cspprog_22::CSPPROG_22_SPEC>,
    #[doc = "0x15c - CSP program"]
    pub cspprog_23: crate::Reg<cspprog_23::CSPPROG_23_SPEC>,
    _reserved86: [u8; 0x20],
    #[doc = "0x180 - CSP control bit"]
    pub cspctrl: crate::Reg<cspctrl::CSPCTRL_SPEC>,
    #[doc = "0x184 - CSP status register"]
    pub cspstat: crate::Reg<cspstat::CSPSTAT_SPEC>,
    #[doc = "0x188 - CSP X data register"]
    pub cspx: crate::Reg<cspx::CSPX_SPEC>,
    #[doc = "0x18c - CSP Y data register"]
    pub cspy: crate::Reg<cspy::CSPY_SPEC>,
    #[doc = "0x190 - CSP Z data register"]
    pub cspz: crate::Reg<cspz::CSPZ_SPEC>,
    #[doc = "0x194 - CSP T data register"]
    pub cspt: crate::Reg<cspt::CSPT_SPEC>,
    _reserved92: [u8; 0x14],
    #[doc = "0x1ac - RF observation mux control"]
    pub rfc_obs_ctrl0: crate::Reg<rfc_obs_ctrl0::RFC_OBS_CTRL0_SPEC>,
    #[doc = "0x1b0 - RF observation mux control"]
    pub rfc_obs_ctrl1: crate::Reg<rfc_obs_ctrl1::RFC_OBS_CTRL1_SPEC>,
    #[doc = "0x1b4 - RF observation mux control"]
    pub rfc_obs_ctrl2: crate::Reg<rfc_obs_ctrl2::RFC_OBS_CTRL2_SPEC>,
    _reserved95: [u8; 0x30],
    #[doc = "0x1e8 - TX filter configuration"]
    pub txfiltcfg: crate::Reg<txfiltcfg::TXFILTCFG_SPEC>,
}
#[doc = "FRMFILT0 register accessor: an alias for `Reg<FRMFILT0_SPEC>`"]
pub type FRMFILT0 = crate::Reg<frmfilt0::FRMFILT0_SPEC>;
#[doc = "The frame filtering function rejects unintended frames as specified by IEEE 802.15.4, section 7.5.6.2, third filtering level. In addition, it provides filtering on: - The eight different frame types (see the FRMFILT1 register) - The reserved bits in the frame control field (FCF) The function is controlled by: - The FRMFILT0 and FRMFILT1 registers - The PAN_ID, SHORT_ADDR, and EXT_ADDR values in RAM"]
pub mod frmfilt0;
#[doc = "FRMFILT1 register accessor: an alias for `Reg<FRMFILT1_SPEC>`"]
pub type FRMFILT1 = crate::Reg<frmfilt1::FRMFILT1_SPEC>;
#[doc = "The frame filtering function rejects unintended frames as specified by IEEE 802.15.4, section 7.5.6.2, third filtering level. In addition, it provides filtering on: - The eight different frame types (see the FRMFILT1 register) - The reserved bits in the frame control field (FCF) The function is controlled by: - The FRMFILT0 and FRMFILT1 registers - The PAN_ID, SHORT_ADDR, and EXT_ADDR values in RAM"]
pub mod frmfilt1;
#[doc = "SRCMATCH register accessor: an alias for `Reg<SRCMATCH_SPEC>`"]
pub type SRCMATCH = crate::Reg<srcmatch::SRCMATCH_SPEC>;
#[doc = "Source address matching and pending bits"]
pub mod srcmatch;
#[doc = "SRCSHORTEN0 register accessor: an alias for `Reg<SRCSHORTEN0_SPEC>`"]
pub type SRCSHORTEN0 = crate::Reg<srcshorten0::SRCSHORTEN0_SPEC>;
#[doc = "Short address matching"]
pub mod srcshorten0;
#[doc = "SRCSHORTEN1 register accessor: an alias for `Reg<SRCSHORTEN1_SPEC>`"]
pub type SRCSHORTEN1 = crate::Reg<srcshorten1::SRCSHORTEN1_SPEC>;
#[doc = "Short address matching"]
pub mod srcshorten1;
#[doc = "SRCSHORTEN2 register accessor: an alias for `Reg<SRCSHORTEN2_SPEC>`"]
pub type SRCSHORTEN2 = crate::Reg<srcshorten2::SRCSHORTEN2_SPEC>;
#[doc = "Short address matching"]
pub mod srcshorten2;
#[doc = "SRCEXTEN0 register accessor: an alias for `Reg<SRCEXTEN0_SPEC>`"]
pub type SRCEXTEN0 = crate::Reg<srcexten0::SRCEXTEN0_SPEC>;
#[doc = "Extended address matching"]
pub mod srcexten0;
#[doc = "SRCEXTEN1 register accessor: an alias for `Reg<SRCEXTEN1_SPEC>`"]
pub type SRCEXTEN1 = crate::Reg<srcexten1::SRCEXTEN1_SPEC>;
#[doc = "Extended address matching"]
pub mod srcexten1;
#[doc = "SRCEXTEN2 register accessor: an alias for `Reg<SRCEXTEN2_SPEC>`"]
pub type SRCEXTEN2 = crate::Reg<srcexten2::SRCEXTEN2_SPEC>;
#[doc = "Extended address matching"]
pub mod srcexten2;
#[doc = "FRMCTRL0 register accessor: an alias for `Reg<FRMCTRL0_SPEC>`"]
pub type FRMCTRL0 = crate::Reg<frmctrl0::FRMCTRL0_SPEC>;
#[doc = "Frame handling"]
pub mod frmctrl0;
#[doc = "FRMCTRL1 register accessor: an alias for `Reg<FRMCTRL1_SPEC>`"]
pub type FRMCTRL1 = crate::Reg<frmctrl1::FRMCTRL1_SPEC>;
#[doc = "Frame handling"]
pub mod frmctrl1;
#[doc = "RXENABLE register accessor: an alias for `Reg<RXENABLE_SPEC>`"]
pub type RXENABLE = crate::Reg<rxenable::RXENABLE_SPEC>;
#[doc = "RX enabling"]
pub mod rxenable;
#[doc = "RXMASKSET register accessor: an alias for `Reg<RXMASKSET_SPEC>`"]
pub type RXMASKSET = crate::Reg<rxmaskset::RXMASKSET_SPEC>;
#[doc = "RX enabling"]
pub mod rxmaskset;
#[doc = "RXMASKCLR register accessor: an alias for `Reg<RXMASKCLR_SPEC>`"]
pub type RXMASKCLR = crate::Reg<rxmaskclr::RXMASKCLR_SPEC>;
#[doc = "RX disabling"]
pub mod rxmaskclr;
#[doc = "FREQTUNE register accessor: an alias for `Reg<FREQTUNE_SPEC>`"]
pub type FREQTUNE = crate::Reg<freqtune::FREQTUNE_SPEC>;
#[doc = "Crystal oscillator frequency tuning"]
pub mod freqtune;
#[doc = "FREQCTRL register accessor: an alias for `Reg<FREQCTRL_SPEC>`"]
pub type FREQCTRL = crate::Reg<freqctrl::FREQCTRL_SPEC>;
#[doc = "Controls the RF frequency"]
pub mod freqctrl;
#[doc = "TXPOWER register accessor: an alias for `Reg<TXPOWER_SPEC>`"]
pub type TXPOWER = crate::Reg<txpower::TXPOWER_SPEC>;
#[doc = "Controls the output power"]
pub mod txpower;
#[doc = "TXCTRL register accessor: an alias for `Reg<TXCTRL_SPEC>`"]
pub type TXCTRL = crate::Reg<txctrl::TXCTRL_SPEC>;
#[doc = "Controls the TX settings"]
pub mod txctrl;
#[doc = "FSMSTAT0 register accessor: an alias for `Reg<FSMSTAT0_SPEC>`"]
pub type FSMSTAT0 = crate::Reg<fsmstat0::FSMSTAT0_SPEC>;
#[doc = "Radio status register"]
pub mod fsmstat0;
#[doc = "FSMSTAT1 register accessor: an alias for `Reg<FSMSTAT1_SPEC>`"]
pub type FSMSTAT1 = crate::Reg<fsmstat1::FSMSTAT1_SPEC>;
#[doc = "Radio status register"]
pub mod fsmstat1;
#[doc = "FIFOPCTRL register accessor: an alias for `Reg<FIFOPCTRL_SPEC>`"]
pub type FIFOPCTRL = crate::Reg<fifopctrl::FIFOPCTRL_SPEC>;
#[doc = "FIFOP threshold"]
pub mod fifopctrl;
#[doc = "FSMCTRL register accessor: an alias for `Reg<FSMCTRL_SPEC>`"]
pub type FSMCTRL = crate::Reg<fsmctrl::FSMCTRL_SPEC>;
#[doc = "FSM options"]
pub mod fsmctrl;
#[doc = "CCACTRL0 register accessor: an alias for `Reg<CCACTRL0_SPEC>`"]
pub type CCACTRL0 = crate::Reg<ccactrl0::CCACTRL0_SPEC>;
#[doc = "CCA threshold"]
pub mod ccactrl0;
#[doc = "CCACTRL1 register accessor: an alias for `Reg<CCACTRL1_SPEC>`"]
pub type CCACTRL1 = crate::Reg<ccactrl1::CCACTRL1_SPEC>;
#[doc = "Other CCA Options"]
pub mod ccactrl1;
#[doc = "RSSI register accessor: an alias for `Reg<RSSI_SPEC>`"]
pub type RSSI = crate::Reg<rssi::RSSI_SPEC>;
#[doc = "RSSI status register"]
pub mod rssi;
#[doc = "RSSISTAT register accessor: an alias for `Reg<RSSISTAT_SPEC>`"]
pub type RSSISTAT = crate::Reg<rssistat::RSSISTAT_SPEC>;
#[doc = "RSSI valid status register"]
pub mod rssistat;
#[doc = "RXFIRST register accessor: an alias for `Reg<RXFIRST_SPEC>`"]
pub type RXFIRST = crate::Reg<rxfirst::RXFIRST_SPEC>;
#[doc = "First byte in RX FIFO"]
pub mod rxfirst;
#[doc = "RXFIFOCNT register accessor: an alias for `Reg<RXFIFOCNT_SPEC>`"]
pub type RXFIFOCNT = crate::Reg<rxfifocnt::RXFIFOCNT_SPEC>;
#[doc = "Number of bytes in RX FIFO"]
pub mod rxfifocnt;
#[doc = "TXFIFOCNT register accessor: an alias for `Reg<TXFIFOCNT_SPEC>`"]
pub type TXFIFOCNT = crate::Reg<txfifocnt::TXFIFOCNT_SPEC>;
#[doc = "Number of bytes in TX FIFO"]
pub mod txfifocnt;
#[doc = "RXFIRST_PTR register accessor: an alias for `Reg<RXFIRST_PTR_SPEC>`"]
pub type RXFIRST_PTR = crate::Reg<rxfirst_ptr::RXFIRST_PTR_SPEC>;
#[doc = "RX FIFO pointer"]
pub mod rxfirst_ptr;
#[doc = "RXLAST_PTR register accessor: an alias for `Reg<RXLAST_PTR_SPEC>`"]
pub type RXLAST_PTR = crate::Reg<rxlast_ptr::RXLAST_PTR_SPEC>;
#[doc = "RX FIFO pointer"]
pub mod rxlast_ptr;
#[doc = "RXP1_PTR register accessor: an alias for `Reg<RXP1_PTR_SPEC>`"]
pub type RXP1_PTR = crate::Reg<rxp1_ptr::RXP1_PTR_SPEC>;
#[doc = "RX FIFO pointer"]
pub mod rxp1_ptr;
#[doc = "TXFIRST_PTR register accessor: an alias for `Reg<TXFIRST_PTR_SPEC>`"]
pub type TXFIRST_PTR = crate::Reg<txfirst_ptr::TXFIRST_PTR_SPEC>;
#[doc = "TX FIFO pointer"]
pub mod txfirst_ptr;
#[doc = "TXLAST_PTR register accessor: an alias for `Reg<TXLAST_PTR_SPEC>`"]
pub type TXLAST_PTR = crate::Reg<txlast_ptr::TXLAST_PTR_SPEC>;
#[doc = "TX FIFO pointer"]
pub mod txlast_ptr;
#[doc = "RFIRQM0 register accessor: an alias for `Reg<RFIRQM0_SPEC>`"]
pub type RFIRQM0 = crate::Reg<rfirqm0::RFIRQM0_SPEC>;
#[doc = "RF interrupt masks"]
pub mod rfirqm0;
#[doc = "RFIRQM1 register accessor: an alias for `Reg<RFIRQM1_SPEC>`"]
pub type RFIRQM1 = crate::Reg<rfirqm1::RFIRQM1_SPEC>;
#[doc = "RF interrupt masks"]
pub mod rfirqm1;
#[doc = "RFERRM register accessor: an alias for `Reg<RFERRM_SPEC>`"]
pub type RFERRM = crate::Reg<rferrm::RFERRM_SPEC>;
#[doc = "RF error interrupt mask"]
pub mod rferrm;
#[doc = "RFRND register accessor: an alias for `Reg<RFRND_SPEC>`"]
pub type RFRND = crate::Reg<rfrnd::RFRND_SPEC>;
#[doc = "Random data"]
pub mod rfrnd;
#[doc = "MDMCTRL0 register accessor: an alias for `Reg<MDMCTRL0_SPEC>`"]
pub type MDMCTRL0 = crate::Reg<mdmctrl0::MDMCTRL0_SPEC>;
#[doc = "Controls modem"]
pub mod mdmctrl0;
#[doc = "MDMCTRL1 register accessor: an alias for `Reg<MDMCTRL1_SPEC>`"]
pub type MDMCTRL1 = crate::Reg<mdmctrl1::MDMCTRL1_SPEC>;
#[doc = "Controls modem"]
pub mod mdmctrl1;
#[doc = "FREQEST register accessor: an alias for `Reg<FREQEST_SPEC>`"]
pub type FREQEST = crate::Reg<freqest::FREQEST_SPEC>;
#[doc = "Estimated RF frequency offset"]
pub mod freqest;
#[doc = "RXCTRL register accessor: an alias for `Reg<RXCTRL_SPEC>`"]
pub type RXCTRL = crate::Reg<rxctrl::RXCTRL_SPEC>;
#[doc = "Tune receive section"]
pub mod rxctrl;
#[doc = "FSCTRL register accessor: an alias for `Reg<FSCTRL_SPEC>`"]
pub type FSCTRL = crate::Reg<fsctrl::FSCTRL_SPEC>;
#[doc = "Tune frequency synthesizer"]
pub mod fsctrl;
#[doc = "FSCAL0 register accessor: an alias for `Reg<FSCAL0_SPEC>`"]
pub type FSCAL0 = crate::Reg<fscal0::FSCAL0_SPEC>;
#[doc = "Tune frequency calibration"]
pub mod fscal0;
#[doc = "FSCAL1 register accessor: an alias for `Reg<FSCAL1_SPEC>`"]
pub type FSCAL1 = crate::Reg<fscal1::FSCAL1_SPEC>;
#[doc = "Tune frequency calibration"]
pub mod fscal1;
#[doc = "FSCAL2 register accessor: an alias for `Reg<FSCAL2_SPEC>`"]
pub type FSCAL2 = crate::Reg<fscal2::FSCAL2_SPEC>;
#[doc = "Tune frequency calibration"]
pub mod fscal2;
#[doc = "FSCAL3 register accessor: an alias for `Reg<FSCAL3_SPEC>`"]
pub type FSCAL3 = crate::Reg<fscal3::FSCAL3_SPEC>;
#[doc = "Tune frequency calibration"]
pub mod fscal3;
#[doc = "AGCCTRL0 register accessor: an alias for `Reg<AGCCTRL0_SPEC>`"]
pub type AGCCTRL0 = crate::Reg<agcctrl0::AGCCTRL0_SPEC>;
#[doc = "AGC dynamic range control"]
pub mod agcctrl0;
#[doc = "AGCCTRL1 register accessor: an alias for `Reg<AGCCTRL1_SPEC>`"]
pub type AGCCTRL1 = crate::Reg<agcctrl1::AGCCTRL1_SPEC>;
#[doc = "AGC reference level"]
pub mod agcctrl1;
#[doc = "AGCCTRL2 register accessor: an alias for `Reg<AGCCTRL2_SPEC>`"]
pub type AGCCTRL2 = crate::Reg<agcctrl2::AGCCTRL2_SPEC>;
#[doc = "AGC gain override"]
pub mod agcctrl2;
#[doc = "AGCCTRL3 register accessor: an alias for `Reg<AGCCTRL3_SPEC>`"]
pub type AGCCTRL3 = crate::Reg<agcctrl3::AGCCTRL3_SPEC>;
#[doc = "AGC control"]
pub mod agcctrl3;
#[doc = "ADCTEST0 register accessor: an alias for `Reg<ADCTEST0_SPEC>`"]
pub type ADCTEST0 = crate::Reg<adctest0::ADCTEST0_SPEC>;
#[doc = "ADC tuning"]
pub mod adctest0;
#[doc = "ADCTEST1 register accessor: an alias for `Reg<ADCTEST1_SPEC>`"]
pub type ADCTEST1 = crate::Reg<adctest1::ADCTEST1_SPEC>;
#[doc = "ADC tuning"]
pub mod adctest1;
#[doc = "ADCTEST2 register accessor: an alias for `Reg<ADCTEST2_SPEC>`"]
pub type ADCTEST2 = crate::Reg<adctest2::ADCTEST2_SPEC>;
#[doc = "ADC tuning"]
pub mod adctest2;
#[doc = "MDMTEST0 register accessor: an alias for `Reg<MDMTEST0_SPEC>`"]
pub type MDMTEST0 = crate::Reg<mdmtest0::MDMTEST0_SPEC>;
#[doc = "Test register for modem"]
pub mod mdmtest0;
#[doc = "MDMTEST1 register accessor: an alias for `Reg<MDMTEST1_SPEC>`"]
pub type MDMTEST1 = crate::Reg<mdmtest1::MDMTEST1_SPEC>;
#[doc = "Test Register for Modem"]
pub mod mdmtest1;
#[doc = "DACTEST0 register accessor: an alias for `Reg<DACTEST0_SPEC>`"]
pub type DACTEST0 = crate::Reg<dactest0::DACTEST0_SPEC>;
#[doc = "DAC override value"]
pub mod dactest0;
#[doc = "DACTEST1 register accessor: an alias for `Reg<DACTEST1_SPEC>`"]
pub type DACTEST1 = crate::Reg<dactest1::DACTEST1_SPEC>;
#[doc = "DAC override value"]
pub mod dactest1;
#[doc = "DACTEST2 register accessor: an alias for `Reg<DACTEST2_SPEC>`"]
pub type DACTEST2 = crate::Reg<dactest2::DACTEST2_SPEC>;
#[doc = "DAC test setting"]
pub mod dactest2;
#[doc = "ATEST register accessor: an alias for `Reg<ATEST_SPEC>`"]
pub type ATEST = crate::Reg<atest::ATEST_SPEC>;
#[doc = "Analog test control"]
pub mod atest;
#[doc = "PTEST0 register accessor: an alias for `Reg<PTEST0_SPEC>`"]
pub type PTEST0 = crate::Reg<ptest0::PTEST0_SPEC>;
#[doc = "Override power-down register"]
pub mod ptest0;
#[doc = "PTEST1 register accessor: an alias for `Reg<PTEST1_SPEC>`"]
pub type PTEST1 = crate::Reg<ptest1::PTEST1_SPEC>;
#[doc = "Override power-down register"]
pub mod ptest1;
#[doc = "CSPPROG_0 register accessor: an alias for `Reg<CSPPROG_0_SPEC>`"]
pub type CSPPROG_0 = crate::Reg<cspprog_0::CSPPROG_0_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_0;
#[doc = "CSPPROG_1 register accessor: an alias for `Reg<CSPPROG_1_SPEC>`"]
pub type CSPPROG_1 = crate::Reg<cspprog_1::CSPPROG_1_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_1;
#[doc = "CSPPROG_2 register accessor: an alias for `Reg<CSPPROG_2_SPEC>`"]
pub type CSPPROG_2 = crate::Reg<cspprog_2::CSPPROG_2_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_2;
#[doc = "CSPPROG_3 register accessor: an alias for `Reg<CSPPROG_3_SPEC>`"]
pub type CSPPROG_3 = crate::Reg<cspprog_3::CSPPROG_3_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_3;
#[doc = "CSPPROG_4 register accessor: an alias for `Reg<CSPPROG_4_SPEC>`"]
pub type CSPPROG_4 = crate::Reg<cspprog_4::CSPPROG_4_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_4;
#[doc = "CSPPROG_5 register accessor: an alias for `Reg<CSPPROG_5_SPEC>`"]
pub type CSPPROG_5 = crate::Reg<cspprog_5::CSPPROG_5_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_5;
#[doc = "CSPPROG_6 register accessor: an alias for `Reg<CSPPROG_6_SPEC>`"]
pub type CSPPROG_6 = crate::Reg<cspprog_6::CSPPROG_6_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_6;
#[doc = "CSPPROG_7 register accessor: an alias for `Reg<CSPPROG_7_SPEC>`"]
pub type CSPPROG_7 = crate::Reg<cspprog_7::CSPPROG_7_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_7;
#[doc = "CSPPROG_8 register accessor: an alias for `Reg<CSPPROG_8_SPEC>`"]
pub type CSPPROG_8 = crate::Reg<cspprog_8::CSPPROG_8_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_8;
#[doc = "CSPPROG_9 register accessor: an alias for `Reg<CSPPROG_9_SPEC>`"]
pub type CSPPROG_9 = crate::Reg<cspprog_9::CSPPROG_9_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_9;
#[doc = "CSPPROG_10 register accessor: an alias for `Reg<CSPPROG_10_SPEC>`"]
pub type CSPPROG_10 = crate::Reg<cspprog_10::CSPPROG_10_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_10;
#[doc = "CSPPROG_11 register accessor: an alias for `Reg<CSPPROG_11_SPEC>`"]
pub type CSPPROG_11 = crate::Reg<cspprog_11::CSPPROG_11_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_11;
#[doc = "CSPPROG_12 register accessor: an alias for `Reg<CSPPROG_12_SPEC>`"]
pub type CSPPROG_12 = crate::Reg<cspprog_12::CSPPROG_12_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_12;
#[doc = "CSPPROG_13 register accessor: an alias for `Reg<CSPPROG_13_SPEC>`"]
pub type CSPPROG_13 = crate::Reg<cspprog_13::CSPPROG_13_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_13;
#[doc = "CSPPROG_14 register accessor: an alias for `Reg<CSPPROG_14_SPEC>`"]
pub type CSPPROG_14 = crate::Reg<cspprog_14::CSPPROG_14_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_14;
#[doc = "CSPPROG_15 register accessor: an alias for `Reg<CSPPROG_15_SPEC>`"]
pub type CSPPROG_15 = crate::Reg<cspprog_15::CSPPROG_15_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_15;
#[doc = "CSPPROG_16 register accessor: an alias for `Reg<CSPPROG_16_SPEC>`"]
pub type CSPPROG_16 = crate::Reg<cspprog_16::CSPPROG_16_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_16;
#[doc = "CSPPROG_17 register accessor: an alias for `Reg<CSPPROG_17_SPEC>`"]
pub type CSPPROG_17 = crate::Reg<cspprog_17::CSPPROG_17_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_17;
#[doc = "CSPPROG_18 register accessor: an alias for `Reg<CSPPROG_18_SPEC>`"]
pub type CSPPROG_18 = crate::Reg<cspprog_18::CSPPROG_18_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_18;
#[doc = "CSPPROG_19 register accessor: an alias for `Reg<CSPPROG_19_SPEC>`"]
pub type CSPPROG_19 = crate::Reg<cspprog_19::CSPPROG_19_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_19;
#[doc = "CSPPROG_20 register accessor: an alias for `Reg<CSPPROG_20_SPEC>`"]
pub type CSPPROG_20 = crate::Reg<cspprog_20::CSPPROG_20_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_20;
#[doc = "CSPPROG_21 register accessor: an alias for `Reg<CSPPROG_21_SPEC>`"]
pub type CSPPROG_21 = crate::Reg<cspprog_21::CSPPROG_21_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_21;
#[doc = "CSPPROG_22 register accessor: an alias for `Reg<CSPPROG_22_SPEC>`"]
pub type CSPPROG_22 = crate::Reg<cspprog_22::CSPPROG_22_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_22;
#[doc = "CSPPROG_23 register accessor: an alias for `Reg<CSPPROG_23_SPEC>`"]
pub type CSPPROG_23 = crate::Reg<cspprog_23::CSPPROG_23_SPEC>;
#[doc = "CSP program"]
pub mod cspprog_23;
#[doc = "CSPCTRL register accessor: an alias for `Reg<CSPCTRL_SPEC>`"]
pub type CSPCTRL = crate::Reg<cspctrl::CSPCTRL_SPEC>;
#[doc = "CSP control bit"]
pub mod cspctrl;
#[doc = "CSPSTAT register accessor: an alias for `Reg<CSPSTAT_SPEC>`"]
pub type CSPSTAT = crate::Reg<cspstat::CSPSTAT_SPEC>;
#[doc = "CSP status register"]
pub mod cspstat;
#[doc = "CSPX register accessor: an alias for `Reg<CSPX_SPEC>`"]
pub type CSPX = crate::Reg<cspx::CSPX_SPEC>;
#[doc = "CSP X data register"]
pub mod cspx;
#[doc = "CSPY register accessor: an alias for `Reg<CSPY_SPEC>`"]
pub type CSPY = crate::Reg<cspy::CSPY_SPEC>;
#[doc = "CSP Y data register"]
pub mod cspy;
#[doc = "CSPZ register accessor: an alias for `Reg<CSPZ_SPEC>`"]
pub type CSPZ = crate::Reg<cspz::CSPZ_SPEC>;
#[doc = "CSP Z data register"]
pub mod cspz;
#[doc = "CSPT register accessor: an alias for `Reg<CSPT_SPEC>`"]
pub type CSPT = crate::Reg<cspt::CSPT_SPEC>;
#[doc = "CSP T data register"]
pub mod cspt;
#[doc = "RFC_OBS_CTRL0 register accessor: an alias for `Reg<RFC_OBS_CTRL0_SPEC>`"]
pub type RFC_OBS_CTRL0 = crate::Reg<rfc_obs_ctrl0::RFC_OBS_CTRL0_SPEC>;
#[doc = "RF observation mux control"]
pub mod rfc_obs_ctrl0;
#[doc = "RFC_OBS_CTRL1 register accessor: an alias for `Reg<RFC_OBS_CTRL1_SPEC>`"]
pub type RFC_OBS_CTRL1 = crate::Reg<rfc_obs_ctrl1::RFC_OBS_CTRL1_SPEC>;
#[doc = "RF observation mux control"]
pub mod rfc_obs_ctrl1;
#[doc = "RFC_OBS_CTRL2 register accessor: an alias for `Reg<RFC_OBS_CTRL2_SPEC>`"]
pub type RFC_OBS_CTRL2 = crate::Reg<rfc_obs_ctrl2::RFC_OBS_CTRL2_SPEC>;
#[doc = "RF observation mux control"]
pub mod rfc_obs_ctrl2;
#[doc = "TXFILTCFG register accessor: an alias for `Reg<TXFILTCFG_SPEC>`"]
pub type TXFILTCFG = crate::Reg<txfiltcfg::TXFILTCFG_SPEC>;
#[doc = "TX filter configuration"]
pub mod txfiltcfg;