imxrt_ral/blocks/imxrt1011/
ocotp.rs

1#[doc = "no description available"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "OTP Controller Control Register"]
5    pub CTRL: crate::RWRegister<u32>,
6    #[doc = "OTP Controller Control Register"]
7    pub CTRL_SET: crate::RWRegister<u32>,
8    #[doc = "OTP Controller Control Register"]
9    pub CTRL_CLR: crate::RWRegister<u32>,
10    #[doc = "OTP Controller Control Register"]
11    pub CTRL_TOG: crate::RWRegister<u32>,
12    #[doc = "OTP Controller Timing Register"]
13    pub TIMING: crate::RWRegister<u32>,
14    _reserved0: [u8; 0x0c],
15    #[doc = "OTP Controller Write Data Register"]
16    pub DATA: crate::RWRegister<u32>,
17    _reserved1: [u8; 0x0c],
18    #[doc = "OTP Controller Write Data Register"]
19    pub READ_CTRL: crate::RWRegister<u32>,
20    _reserved2: [u8; 0x0c],
21    #[doc = "OTP Controller Read Data Register"]
22    pub READ_FUSE_DATA: crate::RWRegister<u32>,
23    _reserved3: [u8; 0x0c],
24    #[doc = "Sticky bit Register"]
25    pub SW_STICKY: crate::RWRegister<u32>,
26    _reserved4: [u8; 0x0c],
27    #[doc = "Software Controllable Signals Register"]
28    pub SCS: crate::RWRegister<u32>,
29    #[doc = "Software Controllable Signals Register"]
30    pub SCS_SET: crate::RWRegister<u32>,
31    #[doc = "Software Controllable Signals Register"]
32    pub SCS_CLR: crate::RWRegister<u32>,
33    #[doc = "Software Controllable Signals Register"]
34    pub SCS_TOG: crate::RWRegister<u32>,
35    _reserved5: [u8; 0x20],
36    #[doc = "OTP Controller Version Register"]
37    pub VERSION: crate::RORegister<u32>,
38    _reserved6: [u8; 0x6c],
39    #[doc = "OTP Controller Timing Register 2"]
40    pub TIMING2: crate::RWRegister<u32>,
41    _reserved7: [u8; 0x02fc],
42    #[doc = "Value of OTP Bank0 Word0 (Lock controls)"]
43    pub LOCK: crate::RWRegister<u32>,
44    _reserved8: [u8; 0x0c],
45    #[doc = "Value of OTP Bank0 Word1 (Configuration and Manufacturing Info.)"]
46    pub CFG0: crate::RWRegister<u32>,
47    _reserved9: [u8; 0x0c],
48    #[doc = "Value of OTP Bank0 Word2 (Configuration and Manufacturing Info.)"]
49    pub CFG1: crate::RWRegister<u32>,
50    _reserved10: [u8; 0x0c],
51    #[doc = "Value of OTP Bank0 Word3 (Configuration and Manufacturing Info.)"]
52    pub CFG2: crate::RWRegister<u32>,
53    _reserved11: [u8; 0x0c],
54    #[doc = "Value of OTP Bank0 Word4 (Configuration and Manufacturing Info.)"]
55    pub CFG3: crate::RWRegister<u32>,
56    _reserved12: [u8; 0x0c],
57    #[doc = "Value of OTP Bank0 Word5 (Configuration and Manufacturing Info.)"]
58    pub CFG4: crate::RWRegister<u32>,
59    _reserved13: [u8; 0x0c],
60    #[doc = "Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.)"]
61    pub CFG5: crate::RWRegister<u32>,
62    _reserved14: [u8; 0x0c],
63    #[doc = "Value of OTP Bank0 Word7 (Configuration and Manufacturing Info.)"]
64    pub CFG6: crate::RWRegister<u32>,
65    _reserved15: [u8; 0x0c],
66    #[doc = "Value of OTP Bank1 Word0 (Memory Related Info.)"]
67    pub MEM0: crate::RWRegister<u32>,
68    _reserved16: [u8; 0x0c],
69    #[doc = "Value of OTP Bank1 Word1 (Memory Related Info.)"]
70    pub MEM1: crate::RWRegister<u32>,
71    _reserved17: [u8; 0x0c],
72    #[doc = "Value of OTP Bank1 Word2 (Memory Related Info.)"]
73    pub MEM2: crate::RWRegister<u32>,
74    _reserved18: [u8; 0x0c],
75    #[doc = "Value of OTP Bank1 Word3 (Memory Related Info.)"]
76    pub MEM3: crate::RWRegister<u32>,
77    _reserved19: [u8; 0x0c],
78    #[doc = "Value of OTP Bank1 Word4 (Memory Related Info.)"]
79    pub MEM4: crate::RWRegister<u32>,
80    _reserved20: [u8; 0x0c],
81    #[doc = "Value of OTP Bank1 Word5 (Analog Info.)"]
82    pub ANA0: crate::RWRegister<u32>,
83    _reserved21: [u8; 0x0c],
84    #[doc = "Value of OTP Bank1 Word6 (Analog Info.)"]
85    pub ANA1: crate::RWRegister<u32>,
86    _reserved22: [u8; 0x0c],
87    #[doc = "Value of OTP Bank1 Word7 (Analog Info.)"]
88    pub ANA2: crate::RWRegister<u32>,
89    _reserved23: [u8; 0x8c],
90    #[doc = "Shadow Register for OTP Bank3 Word0 (SRK Hash)"]
91    pub SRK0: crate::RWRegister<u32>,
92    _reserved24: [u8; 0x0c],
93    #[doc = "Shadow Register for OTP Bank3 Word1 (SRK Hash)"]
94    pub SRK1: crate::RWRegister<u32>,
95    _reserved25: [u8; 0x0c],
96    #[doc = "Shadow Register for OTP Bank3 Word2 (SRK Hash)"]
97    pub SRK2: crate::RWRegister<u32>,
98    _reserved26: [u8; 0x0c],
99    #[doc = "Shadow Register for OTP Bank3 Word3 (SRK Hash)"]
100    pub SRK3: crate::RWRegister<u32>,
101    _reserved27: [u8; 0x0c],
102    #[doc = "Shadow Register for OTP Bank3 Word4 (SRK Hash)"]
103    pub SRK4: crate::RWRegister<u32>,
104    _reserved28: [u8; 0x0c],
105    #[doc = "Shadow Register for OTP Bank3 Word5 (SRK Hash)"]
106    pub SRK5: crate::RWRegister<u32>,
107    _reserved29: [u8; 0x0c],
108    #[doc = "Shadow Register for OTP Bank3 Word6 (SRK Hash)"]
109    pub SRK6: crate::RWRegister<u32>,
110    _reserved30: [u8; 0x0c],
111    #[doc = "Shadow Register for OTP Bank3 Word7 (SRK Hash)"]
112    pub SRK7: crate::RWRegister<u32>,
113    _reserved31: [u8; 0x0c],
114    #[doc = "Value of OTP Bank4 Word0 (Secure JTAG Response Field)"]
115    pub SJC_RESP0: crate::RWRegister<u32>,
116    _reserved32: [u8; 0x0c],
117    #[doc = "Value of OTP Bank4 Word1 (Secure JTAG Response Field)"]
118    pub SJC_RESP1: crate::RWRegister<u32>,
119    _reserved33: [u8; 0x0c],
120    #[doc = "Value of OTP Bank4 Word2 (MAC Address)"]
121    pub MAC0: crate::RWRegister<u32>,
122    _reserved34: [u8; 0x0c],
123    #[doc = "Value of OTP Bank4 Word3 (MAC Address)"]
124    pub MAC1: crate::RWRegister<u32>,
125    _reserved35: [u8; 0x0c],
126    #[doc = "Value of OTP Bank4 Word4 (MAC Address)"]
127    pub GP3: crate::RWRegister<u32>,
128    _reserved36: [u8; 0x1c],
129    #[doc = "Value of OTP Bank4 Word6 (General Purpose Customer Defined Info)"]
130    pub GP1: crate::RWRegister<u32>,
131    _reserved37: [u8; 0x0c],
132    #[doc = "Value of OTP Bank4 Word7 (General Purpose Customer Defined Info)"]
133    pub GP2: crate::RWRegister<u32>,
134    _reserved38: [u8; 0x0c],
135    #[doc = "Value of OTP Bank5 Word0 (SW GP1)"]
136    pub SW_GP1: crate::RWRegister<u32>,
137    _reserved39: [u8; 0x0c],
138    #[doc = "Value of OTP Bank5 Word1 (SW GP2)"]
139    pub SW_GP20: crate::RWRegister<u32>,
140    _reserved40: [u8; 0x0c],
141    #[doc = "Value of OTP Bank5 Word2 (SW GP2)"]
142    pub SW_GP21: crate::RWRegister<u32>,
143    _reserved41: [u8; 0x0c],
144    #[doc = "Value of OTP Bank5 Word3 (SW GP2)"]
145    pub SW_GP22: crate::RWRegister<u32>,
146    _reserved42: [u8; 0x0c],
147    #[doc = "Value of OTP Bank5 Word4 (SW GP2)"]
148    pub SW_GP23: crate::RWRegister<u32>,
149    _reserved43: [u8; 0x0c],
150    #[doc = "Value of OTP Bank5 Word5 (Misc Conf)"]
151    pub MISC_CONF0: crate::RWRegister<u32>,
152    _reserved44: [u8; 0x0c],
153    #[doc = "Value of OTP Bank5 Word6 (Misc Conf)"]
154    pub MISC_CONF1: crate::RWRegister<u32>,
155    _reserved45: [u8; 0x0c],
156    #[doc = "Value of OTP Bank5 Word7 (SRK Revoke)"]
157    pub SRK_REVOKE: crate::RWRegister<u32>,
158}
159#[doc = "OTP Controller Control Register"]
160pub mod CTRL {
161    #[doc = "OTP write and read access address register"]
162    pub mod ADDR {
163        pub const offset: u32 = 0;
164        pub const mask: u32 = 0x3f << offset;
165        pub mod R {}
166        pub mod W {}
167        pub mod RW {}
168    }
169    #[doc = "OTP controller status bit"]
170    pub mod BUSY {
171        pub const offset: u32 = 8;
172        pub const mask: u32 = 0x01 << offset;
173        pub mod R {}
174        pub mod W {}
175        pub mod RW {}
176    }
177    #[doc = "Set by the controller when an access to a locked region(OTP or shadow register) is requested"]
178    pub mod ERROR {
179        pub const offset: u32 = 9;
180        pub const mask: u32 = 0x01 << offset;
181        pub mod R {}
182        pub mod W {}
183        pub mod RW {}
184    }
185    #[doc = "Set to force re-loading the shadow registers (HW/SW capability and LOCK)"]
186    pub mod RELOAD_SHADOWS {
187        pub const offset: u32 = 10;
188        pub const mask: u32 = 0x01 << offset;
189        pub mod R {}
190        pub mod W {}
191        pub mod RW {}
192    }
193    #[doc = "Write 0x3E77 to enable OTP write accesses"]
194    pub mod WR_UNLOCK {
195        pub const offset: u32 = 16;
196        pub const mask: u32 = 0xffff << offset;
197        pub mod R {}
198        pub mod W {}
199        pub mod RW {}
200    }
201}
202#[doc = "OTP Controller Control Register"]
203pub mod CTRL_SET {
204    #[doc = "OTP write and read access address register"]
205    pub mod ADDR {
206        pub const offset: u32 = 0;
207        pub const mask: u32 = 0x3f << offset;
208        pub mod R {}
209        pub mod W {}
210        pub mod RW {}
211    }
212    #[doc = "OTP controller status bit"]
213    pub mod BUSY {
214        pub const offset: u32 = 8;
215        pub const mask: u32 = 0x01 << offset;
216        pub mod R {}
217        pub mod W {}
218        pub mod RW {}
219    }
220    #[doc = "Set by the controller when an access to a locked region(OTP or shadow register) is requested"]
221    pub mod ERROR {
222        pub const offset: u32 = 9;
223        pub const mask: u32 = 0x01 << offset;
224        pub mod R {}
225        pub mod W {}
226        pub mod RW {}
227    }
228    #[doc = "Set to force re-loading the shadow registers (HW/SW capability and LOCK)"]
229    pub mod RELOAD_SHADOWS {
230        pub const offset: u32 = 10;
231        pub const mask: u32 = 0x01 << offset;
232        pub mod R {}
233        pub mod W {}
234        pub mod RW {}
235    }
236    #[doc = "Write 0x3E77 to enable OTP write accesses"]
237    pub mod WR_UNLOCK {
238        pub const offset: u32 = 16;
239        pub const mask: u32 = 0xffff << offset;
240        pub mod R {}
241        pub mod W {}
242        pub mod RW {}
243    }
244}
245#[doc = "OTP Controller Control Register"]
246pub mod CTRL_CLR {
247    #[doc = "OTP write and read access address register"]
248    pub mod ADDR {
249        pub const offset: u32 = 0;
250        pub const mask: u32 = 0x3f << offset;
251        pub mod R {}
252        pub mod W {}
253        pub mod RW {}
254    }
255    #[doc = "OTP controller status bit"]
256    pub mod BUSY {
257        pub const offset: u32 = 8;
258        pub const mask: u32 = 0x01 << offset;
259        pub mod R {}
260        pub mod W {}
261        pub mod RW {}
262    }
263    #[doc = "Set by the controller when an access to a locked region(OTP or shadow register) is requested"]
264    pub mod ERROR {
265        pub const offset: u32 = 9;
266        pub const mask: u32 = 0x01 << offset;
267        pub mod R {}
268        pub mod W {}
269        pub mod RW {}
270    }
271    #[doc = "Set to force re-loading the shadow registers (HW/SW capability and LOCK)"]
272    pub mod RELOAD_SHADOWS {
273        pub const offset: u32 = 10;
274        pub const mask: u32 = 0x01 << offset;
275        pub mod R {}
276        pub mod W {}
277        pub mod RW {}
278    }
279    #[doc = "Write 0x3E77 to enable OTP write accesses"]
280    pub mod WR_UNLOCK {
281        pub const offset: u32 = 16;
282        pub const mask: u32 = 0xffff << offset;
283        pub mod R {}
284        pub mod W {}
285        pub mod RW {}
286    }
287}
288#[doc = "OTP Controller Control Register"]
289pub mod CTRL_TOG {
290    #[doc = "OTP write and read access address register"]
291    pub mod ADDR {
292        pub const offset: u32 = 0;
293        pub const mask: u32 = 0x3f << offset;
294        pub mod R {}
295        pub mod W {}
296        pub mod RW {}
297    }
298    #[doc = "OTP controller status bit"]
299    pub mod BUSY {
300        pub const offset: u32 = 8;
301        pub const mask: u32 = 0x01 << offset;
302        pub mod R {}
303        pub mod W {}
304        pub mod RW {}
305    }
306    #[doc = "Set by the controller when an access to a locked region(OTP or shadow register) is requested"]
307    pub mod ERROR {
308        pub const offset: u32 = 9;
309        pub const mask: u32 = 0x01 << offset;
310        pub mod R {}
311        pub mod W {}
312        pub mod RW {}
313    }
314    #[doc = "Set to force re-loading the shadow registers (HW/SW capability and LOCK)"]
315    pub mod RELOAD_SHADOWS {
316        pub const offset: u32 = 10;
317        pub const mask: u32 = 0x01 << offset;
318        pub mod R {}
319        pub mod W {}
320        pub mod RW {}
321    }
322    #[doc = "Write 0x3E77 to enable OTP write accesses"]
323    pub mod WR_UNLOCK {
324        pub const offset: u32 = 16;
325        pub const mask: u32 = 0xffff << offset;
326        pub mod R {}
327        pub mod W {}
328        pub mod RW {}
329    }
330}
331#[doc = "OTP Controller Timing Register"]
332pub mod TIMING {
333    #[doc = "This count value specifies the strobe period in one time write OTP"]
334    pub mod STROBE_PROG {
335        pub const offset: u32 = 0;
336        pub const mask: u32 = 0x0fff << offset;
337        pub mod R {}
338        pub mod W {}
339        pub mod RW {}
340    }
341    #[doc = "This count value specifies the time to add to all default timing parameters other than the Tpgm and Trd"]
342    pub mod RELAX {
343        pub const offset: u32 = 12;
344        pub const mask: u32 = 0x0f << offset;
345        pub mod R {}
346        pub mod W {}
347        pub mod RW {}
348    }
349    #[doc = "This count value specifies the strobe period in one time read OTP"]
350    pub mod STROBE_READ {
351        pub const offset: u32 = 16;
352        pub const mask: u32 = 0x3f << offset;
353        pub mod R {}
354        pub mod W {}
355        pub mod RW {}
356    }
357    #[doc = "This count value specifies time interval between auto read and write access in one time program"]
358    pub mod WAIT {
359        pub const offset: u32 = 22;
360        pub const mask: u32 = 0x3f << offset;
361        pub mod R {}
362        pub mod W {}
363        pub mod RW {}
364    }
365}
366#[doc = "OTP Controller Write Data Register"]
367pub mod DATA {
368    #[doc = "Used to initiate a write to OTP"]
369    pub mod DATA {
370        pub const offset: u32 = 0;
371        pub const mask: u32 = 0xffff_ffff << offset;
372        pub mod R {}
373        pub mod W {}
374        pub mod RW {}
375    }
376}
377#[doc = "OTP Controller Write Data Register"]
378pub mod READ_CTRL {
379    #[doc = "Used to initiate a read to OTP"]
380    pub mod READ_FUSE {
381        pub const offset: u32 = 0;
382        pub const mask: u32 = 0x01 << offset;
383        pub mod R {}
384        pub mod W {}
385        pub mod RW {}
386    }
387}
388#[doc = "OTP Controller Read Data Register"]
389pub mod READ_FUSE_DATA {
390    #[doc = "The data read from OTP"]
391    pub mod DATA {
392        pub const offset: u32 = 0;
393        pub const mask: u32 = 0xffff_ffff << offset;
394        pub mod R {}
395        pub mod W {}
396        pub mod RW {}
397    }
398}
399#[doc = "Sticky bit Register"]
400pub mod SW_STICKY {
401    #[doc = "Shadow register write and OTP write lock for SRK_REVOKE region"]
402    pub mod SRK_REVOKE_LOCK {
403        pub const offset: u32 = 1;
404        pub const mask: u32 = 0x01 << offset;
405        pub mod R {}
406        pub mod W {}
407        pub mod RW {}
408    }
409    #[doc = "Shadow register write and OTP write lock for FIELD_RETURN region"]
410    pub mod FIELD_RETURN_LOCK {
411        pub const offset: u32 = 2;
412        pub const mask: u32 = 0x01 << offset;
413        pub mod R {}
414        pub mod W {}
415        pub mod RW {}
416    }
417}
418#[doc = "Software Controllable Signals Register"]
419pub mod SCS {
420    #[doc = "HAB JTAG Debug Enable"]
421    pub mod HAB_JDE {
422        pub const offset: u32 = 0;
423        pub const mask: u32 = 0x01 << offset;
424        pub mod R {}
425        pub mod W {}
426        pub mod RW {}
427    }
428    #[doc = "Unallocated read/write bits for implementation specific software use."]
429    pub mod SPARE {
430        pub const offset: u32 = 1;
431        pub const mask: u32 = 0x3fff_ffff << offset;
432        pub mod R {}
433        pub mod W {}
434        pub mod RW {}
435    }
436    #[doc = "When set, all of the bits in this register are locked and can not be changed through SW programming"]
437    pub mod LOCK {
438        pub const offset: u32 = 31;
439        pub const mask: u32 = 0x01 << offset;
440        pub mod R {}
441        pub mod W {}
442        pub mod RW {}
443    }
444}
445#[doc = "Software Controllable Signals Register"]
446pub mod SCS_SET {
447    #[doc = "HAB JTAG Debug Enable"]
448    pub mod HAB_JDE {
449        pub const offset: u32 = 0;
450        pub const mask: u32 = 0x01 << offset;
451        pub mod R {}
452        pub mod W {}
453        pub mod RW {}
454    }
455    #[doc = "Unallocated read/write bits for implementation specific software use."]
456    pub mod SPARE {
457        pub const offset: u32 = 1;
458        pub const mask: u32 = 0x3fff_ffff << offset;
459        pub mod R {}
460        pub mod W {}
461        pub mod RW {}
462    }
463    #[doc = "When set, all of the bits in this register are locked and can not be changed through SW programming"]
464    pub mod LOCK {
465        pub const offset: u32 = 31;
466        pub const mask: u32 = 0x01 << offset;
467        pub mod R {}
468        pub mod W {}
469        pub mod RW {}
470    }
471}
472#[doc = "Software Controllable Signals Register"]
473pub mod SCS_CLR {
474    #[doc = "HAB JTAG Debug Enable"]
475    pub mod HAB_JDE {
476        pub const offset: u32 = 0;
477        pub const mask: u32 = 0x01 << offset;
478        pub mod R {}
479        pub mod W {}
480        pub mod RW {}
481    }
482    #[doc = "Unallocated read/write bits for implementation specific software use."]
483    pub mod SPARE {
484        pub const offset: u32 = 1;
485        pub const mask: u32 = 0x3fff_ffff << offset;
486        pub mod R {}
487        pub mod W {}
488        pub mod RW {}
489    }
490    #[doc = "When set, all of the bits in this register are locked and can not be changed through SW programming"]
491    pub mod LOCK {
492        pub const offset: u32 = 31;
493        pub const mask: u32 = 0x01 << offset;
494        pub mod R {}
495        pub mod W {}
496        pub mod RW {}
497    }
498}
499#[doc = "Software Controllable Signals Register"]
500pub mod SCS_TOG {
501    #[doc = "HAB JTAG Debug Enable"]
502    pub mod HAB_JDE {
503        pub const offset: u32 = 0;
504        pub const mask: u32 = 0x01 << offset;
505        pub mod R {}
506        pub mod W {}
507        pub mod RW {}
508    }
509    #[doc = "Unallocated read/write bits for implementation specific software use."]
510    pub mod SPARE {
511        pub const offset: u32 = 1;
512        pub const mask: u32 = 0x3fff_ffff << offset;
513        pub mod R {}
514        pub mod W {}
515        pub mod RW {}
516    }
517    #[doc = "When set, all of the bits in this register are locked and can not be changed through SW programming"]
518    pub mod LOCK {
519        pub const offset: u32 = 31;
520        pub const mask: u32 = 0x01 << offset;
521        pub mod R {}
522        pub mod W {}
523        pub mod RW {}
524    }
525}
526#[doc = "OTP Controller Version Register"]
527pub mod VERSION {
528    #[doc = "Fixed read-only value reflecting the stepping of the RTL version."]
529    pub mod STEP {
530        pub const offset: u32 = 0;
531        pub const mask: u32 = 0xffff << offset;
532        pub mod R {}
533        pub mod W {}
534        pub mod RW {}
535    }
536    #[doc = "Fixed read-only value reflecting the MINOR field of the RTL version."]
537    pub mod MINOR {
538        pub const offset: u32 = 16;
539        pub const mask: u32 = 0xff << offset;
540        pub mod R {}
541        pub mod W {}
542        pub mod RW {}
543    }
544    #[doc = "Fixed read-only value reflecting the MAJOR field of the RTL version."]
545    pub mod MAJOR {
546        pub const offset: u32 = 24;
547        pub const mask: u32 = 0xff << offset;
548        pub mod R {}
549        pub mod W {}
550        pub mod RW {}
551    }
552}
553#[doc = "OTP Controller Timing Register 2"]
554pub mod TIMING2 {
555    #[doc = "This count value specifies the strobe period in one time write OTP"]
556    pub mod RELAX_PROG {
557        pub const offset: u32 = 0;
558        pub const mask: u32 = 0x0fff << offset;
559        pub mod R {}
560        pub mod W {}
561        pub mod RW {}
562    }
563    #[doc = "This count value specifies the strobe period in one time read OTP"]
564    pub mod RELAX_READ {
565        pub const offset: u32 = 16;
566        pub const mask: u32 = 0x3f << offset;
567        pub mod R {}
568        pub mod W {}
569        pub mod RW {}
570    }
571    #[doc = "This count value specifies time interval between auto read and write access in one time program"]
572    pub mod RELAX1 {
573        pub const offset: u32 = 22;
574        pub const mask: u32 = 0xff << offset;
575        pub mod R {}
576        pub mod W {}
577        pub mod RW {}
578    }
579}
580#[doc = "Value of OTP Bank0 Word0 (Lock controls)"]
581pub mod LOCK {
582    #[doc = "Status of shadow register and OTP write lock for tester region"]
583    pub mod TESTER {
584        pub const offset: u32 = 0;
585        pub const mask: u32 = 0x03 << offset;
586        pub mod R {}
587        pub mod W {}
588        pub mod RW {}
589    }
590    #[doc = "Status of shadow register and OTP write lock for boot_cfg region"]
591    pub mod BOOT_CFG {
592        pub const offset: u32 = 2;
593        pub const mask: u32 = 0x03 << offset;
594        pub mod R {}
595        pub mod W {}
596        pub mod RW {}
597    }
598    #[doc = "Status of shadow register and OTP write lock for mem_trim region"]
599    pub mod MEM_TRIM {
600        pub const offset: u32 = 4;
601        pub const mask: u32 = 0x03 << offset;
602        pub mod R {}
603        pub mod W {}
604        pub mod RW {}
605    }
606    #[doc = "Status of shadow register read and write, OTP read and write lock for sjc_resp region"]
607    pub mod SJC_RESP {
608        pub const offset: u32 = 6;
609        pub const mask: u32 = 0x01 << offset;
610        pub mod R {}
611        pub mod W {}
612        pub mod RW {}
613    }
614    #[doc = "Status of shadow register and OTP write lock for mac_addr region"]
615    pub mod MAC_ADDR {
616        pub const offset: u32 = 8;
617        pub const mask: u32 = 0x03 << offset;
618        pub mod R {}
619        pub mod W {}
620        pub mod RW {}
621    }
622    #[doc = "Status of shadow register and OTP write lock for gp1 region"]
623    pub mod GP1 {
624        pub const offset: u32 = 10;
625        pub const mask: u32 = 0x03 << offset;
626        pub mod R {}
627        pub mod W {}
628        pub mod RW {}
629    }
630    #[doc = "Status of shadow register and OTP write lock for gp2 region"]
631    pub mod GP2 {
632        pub const offset: u32 = 12;
633        pub const mask: u32 = 0x03 << offset;
634        pub mod R {}
635        pub mod W {}
636        pub mod RW {}
637    }
638    #[doc = "Status of shadow register read and write, OTP read and write lock for otpmk region (MSB)"]
639    pub mod OTPMK_MSB {
640        pub const offset: u32 = 15;
641        pub const mask: u32 = 0x01 << offset;
642        pub mod R {}
643        pub mod W {}
644        pub mod RW {}
645    }
646    #[doc = "Status of shadow register and OTP write lock for sw_gp1 region"]
647    pub mod SW_GP1 {
648        pub const offset: u32 = 16;
649        pub const mask: u32 = 0x01 << offset;
650        pub mod R {}
651        pub mod W {}
652        pub mod RW {}
653    }
654    #[doc = "Status of shadow register read and write, OTP read and write lock for otpmk region (LSB)"]
655    pub mod OTPMK_LSB {
656        pub const offset: u32 = 17;
657        pub const mask: u32 = 0x01 << offset;
658        pub mod R {}
659        pub mod W {}
660        pub mod RW {}
661    }
662    #[doc = "Status of shadow register and OTP write lock for analog region"]
663    pub mod ANALOG {
664        pub const offset: u32 = 18;
665        pub const mask: u32 = 0x03 << offset;
666        pub mod R {}
667        pub mod W {}
668        pub mod RW {}
669    }
670    #[doc = "Status of shadow register and OTP write lock for otpmk_crc region"]
671    pub mod OTPMK_CRC {
672        pub const offset: u32 = 20;
673        pub const mask: u32 = 0x01 << offset;
674        pub mod R {}
675        pub mod W {}
676        pub mod RW {}
677    }
678    #[doc = "Status of shadow register and OTP write lock for sw_gp2 region"]
679    pub mod SW_GP2_LOCK {
680        pub const offset: u32 = 21;
681        pub const mask: u32 = 0x01 << offset;
682        pub mod R {}
683        pub mod W {}
684        pub mod RW {}
685    }
686    #[doc = "Status of shadow register and OTP write lock for misc_conf region"]
687    pub mod MISC_CONF {
688        pub const offset: u32 = 22;
689        pub const mask: u32 = 0x01 << offset;
690        pub mod R {}
691        pub mod W {}
692        pub mod RW {}
693    }
694    #[doc = "Status of shadow register and OTP read lock for sw_gp2 region"]
695    pub mod SW_GP2_RLOCK {
696        pub const offset: u32 = 23;
697        pub const mask: u32 = 0x01 << offset;
698        pub mod R {}
699        pub mod W {}
700        pub mod RW {}
701    }
702    #[doc = "Status of shadow register and OTP write lock for gp3 region"]
703    pub mod GP3 {
704        pub const offset: u32 = 26;
705        pub const mask: u32 = 0x03 << offset;
706        pub mod R {}
707        pub mod W {}
708        pub mod RW {}
709    }
710    #[doc = "Reserved"]
711    pub mod FIELD_RETURN {
712        pub const offset: u32 = 28;
713        pub const mask: u32 = 0x0f << offset;
714        pub mod R {}
715        pub mod W {}
716        pub mod RW {}
717    }
718}
719#[doc = "Value of OTP Bank0 Word1 (Configuration and Manufacturing Info.)"]
720pub mod CFG0 {
721    #[doc = "This register contains 32 bits of the Unique ID and SJC_CHALLENGE field"]
722    pub mod BITS {
723        pub const offset: u32 = 0;
724        pub const mask: u32 = 0xffff_ffff << offset;
725        pub mod R {}
726        pub mod W {}
727        pub mod RW {}
728    }
729}
730#[doc = "Value of OTP Bank0 Word2 (Configuration and Manufacturing Info.)"]
731pub mod CFG1 {
732    #[doc = "This register contains 32 bits of the Unique ID and SJC_CHALLENGE field"]
733    pub mod BITS {
734        pub const offset: u32 = 0;
735        pub const mask: u32 = 0xffff_ffff << offset;
736        pub mod R {}
737        pub mod W {}
738        pub mod RW {}
739    }
740}
741#[doc = "Value of OTP Bank0 Word3 (Configuration and Manufacturing Info.)"]
742pub mod CFG2 {
743    #[doc = "Reflects value of OTP Bank 0, word 3 (ADDR = 0x03)"]
744    pub mod BITS {
745        pub const offset: u32 = 0;
746        pub const mask: u32 = 0xffff_ffff << offset;
747        pub mod R {}
748        pub mod W {}
749        pub mod RW {}
750    }
751}
752#[doc = "Value of OTP Bank0 Word4 (Configuration and Manufacturing Info.)"]
753pub mod CFG3 {
754    #[doc = "Reflects value of OTP Bank 0, word 4 (ADDR = 0x04)"]
755    pub mod BITS {
756        pub const offset: u32 = 0;
757        pub const mask: u32 = 0xffff_ffff << offset;
758        pub mod R {}
759        pub mod W {}
760        pub mod RW {}
761    }
762}
763#[doc = "Value of OTP Bank0 Word5 (Configuration and Manufacturing Info.)"]
764pub mod CFG4 {
765    #[doc = "Reflects value of OTP Bank 0, word 5 (ADDR = 0x05)"]
766    pub mod BITS {
767        pub const offset: u32 = 0;
768        pub const mask: u32 = 0xffff_ffff << offset;
769        pub mod R {}
770        pub mod W {}
771        pub mod RW {}
772    }
773}
774#[doc = "Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.)"]
775pub mod CFG5 {
776    #[doc = "Reflects value of OTP Bank 0, word 6 (ADDR = 0x06)"]
777    pub mod BITS {
778        pub const offset: u32 = 0;
779        pub const mask: u32 = 0xffff_ffff << offset;
780        pub mod R {}
781        pub mod W {}
782        pub mod RW {}
783    }
784}
785#[doc = "Value of OTP Bank0 Word7 (Configuration and Manufacturing Info.)"]
786pub mod CFG6 {
787    #[doc = "Reflects value of OTP Bank 0, word 7 (ADDR = 0x07)"]
788    pub mod BITS {
789        pub const offset: u32 = 0;
790        pub const mask: u32 = 0xffff_ffff << offset;
791        pub mod R {}
792        pub mod W {}
793        pub mod RW {}
794    }
795}
796#[doc = "Value of OTP Bank1 Word0 (Memory Related Info.)"]
797pub mod MEM0 {
798    #[doc = "Reflects value of OTP bank 1, word 0 (ADDR = 0x08)"]
799    pub mod BITS {
800        pub const offset: u32 = 0;
801        pub const mask: u32 = 0xffff_ffff << offset;
802        pub mod R {}
803        pub mod W {}
804        pub mod RW {}
805    }
806}
807#[doc = "Value of OTP Bank1 Word1 (Memory Related Info.)"]
808pub mod MEM1 {
809    #[doc = "Reflects value of OTP bank 1, word 1 (ADDR = 0x09)"]
810    pub mod BITS {
811        pub const offset: u32 = 0;
812        pub const mask: u32 = 0xffff_ffff << offset;
813        pub mod R {}
814        pub mod W {}
815        pub mod RW {}
816    }
817}
818#[doc = "Value of OTP Bank1 Word2 (Memory Related Info.)"]
819pub mod MEM2 {
820    #[doc = "Reflects value of OTP bank 1, word 2 (ADDR = 0x0A)"]
821    pub mod BITS {
822        pub const offset: u32 = 0;
823        pub const mask: u32 = 0xffff_ffff << offset;
824        pub mod R {}
825        pub mod W {}
826        pub mod RW {}
827    }
828}
829#[doc = "Value of OTP Bank1 Word3 (Memory Related Info.)"]
830pub mod MEM3 {
831    #[doc = "Reflects value of OTP bank 1, word 3 (ADDR = 0x0B)"]
832    pub mod BITS {
833        pub const offset: u32 = 0;
834        pub const mask: u32 = 0xffff_ffff << offset;
835        pub mod R {}
836        pub mod W {}
837        pub mod RW {}
838    }
839}
840#[doc = "Value of OTP Bank1 Word4 (Memory Related Info.)"]
841pub mod MEM4 {
842    #[doc = "Reflects value of OTP bank 1, word 4 (ADDR = 0x0C)"]
843    pub mod BITS {
844        pub const offset: u32 = 0;
845        pub const mask: u32 = 0xffff_ffff << offset;
846        pub mod R {}
847        pub mod W {}
848        pub mod RW {}
849    }
850}
851#[doc = "Value of OTP Bank1 Word5 (Analog Info.)"]
852pub mod ANA0 {
853    #[doc = "Reflects value of OTP bank 1, word 5 (ADDR = 0x0D)"]
854    pub mod BITS {
855        pub const offset: u32 = 0;
856        pub const mask: u32 = 0xffff_ffff << offset;
857        pub mod R {}
858        pub mod W {}
859        pub mod RW {}
860    }
861}
862#[doc = "Value of OTP Bank1 Word6 (Analog Info.)"]
863pub mod ANA1 {
864    #[doc = "Reflects value of OTP bank 1, word 6 (ADDR = 0x0E)"]
865    pub mod BITS {
866        pub const offset: u32 = 0;
867        pub const mask: u32 = 0xffff_ffff << offset;
868        pub mod R {}
869        pub mod W {}
870        pub mod RW {}
871    }
872}
873#[doc = "Value of OTP Bank1 Word7 (Analog Info.)"]
874pub mod ANA2 {
875    #[doc = "Reflects value of OTP bank 1, word 7 (ADDR = 0x0F)"]
876    pub mod BITS {
877        pub const offset: u32 = 0;
878        pub const mask: u32 = 0xffff_ffff << offset;
879        pub mod R {}
880        pub mod W {}
881        pub mod RW {}
882    }
883}
884#[doc = "Shadow Register for OTP Bank3 Word0 (SRK Hash)"]
885pub mod SRK0 {
886    #[doc = "Shadow register for the hash of the Super Root Key word0 (Copy of OTP Bank 3, word 0 (ADDR = 0x1C))"]
887    pub mod BITS {
888        pub const offset: u32 = 0;
889        pub const mask: u32 = 0xffff_ffff << offset;
890        pub mod R {}
891        pub mod W {}
892        pub mod RW {}
893    }
894}
895#[doc = "Shadow Register for OTP Bank3 Word1 (SRK Hash)"]
896pub mod SRK1 {
897    #[doc = "Shadow register for the hash of the Super Root Key word1 (Copy of OTP Bank 3, word 1 (ADDR = 0x1D))"]
898    pub mod BITS {
899        pub const offset: u32 = 0;
900        pub const mask: u32 = 0xffff_ffff << offset;
901        pub mod R {}
902        pub mod W {}
903        pub mod RW {}
904    }
905}
906#[doc = "Shadow Register for OTP Bank3 Word2 (SRK Hash)"]
907pub mod SRK2 {
908    #[doc = "Shadow register for the hash of the Super Root Key word2 (Copy of OTP Bank 3, word 2 (ADDR = 0x1E))"]
909    pub mod BITS {
910        pub const offset: u32 = 0;
911        pub const mask: u32 = 0xffff_ffff << offset;
912        pub mod R {}
913        pub mod W {}
914        pub mod RW {}
915    }
916}
917#[doc = "Shadow Register for OTP Bank3 Word3 (SRK Hash)"]
918pub mod SRK3 {
919    #[doc = "Shadow register for the hash of the Super Root Key word3 (Copy of OTP Bank 3, word 3 (ADDR = 0x1F))"]
920    pub mod BITS {
921        pub const offset: u32 = 0;
922        pub const mask: u32 = 0xffff_ffff << offset;
923        pub mod R {}
924        pub mod W {}
925        pub mod RW {}
926    }
927}
928#[doc = "Shadow Register for OTP Bank3 Word4 (SRK Hash)"]
929pub mod SRK4 {
930    #[doc = "Shadow register for the hash of the Super Root Key word4 (Copy of OTP Bank 3, word 4 (ADDR = 0x20))"]
931    pub mod BITS {
932        pub const offset: u32 = 0;
933        pub const mask: u32 = 0xffff_ffff << offset;
934        pub mod R {}
935        pub mod W {}
936        pub mod RW {}
937    }
938}
939#[doc = "Shadow Register for OTP Bank3 Word5 (SRK Hash)"]
940pub mod SRK5 {
941    #[doc = "Shadow register for the hash of the Super Root Key word5 (Copy of OTP Bank 3, word 5 (ADDR = 0x21))"]
942    pub mod BITS {
943        pub const offset: u32 = 0;
944        pub const mask: u32 = 0xffff_ffff << offset;
945        pub mod R {}
946        pub mod W {}
947        pub mod RW {}
948    }
949}
950#[doc = "Shadow Register for OTP Bank3 Word6 (SRK Hash)"]
951pub mod SRK6 {
952    #[doc = "Shadow register for the hash of the Super Root Key word6 (Copy of OTP Bank 3, word 6 (ADDR = 0x22))"]
953    pub mod BITS {
954        pub const offset: u32 = 0;
955        pub const mask: u32 = 0xffff_ffff << offset;
956        pub mod R {}
957        pub mod W {}
958        pub mod RW {}
959    }
960}
961#[doc = "Shadow Register for OTP Bank3 Word7 (SRK Hash)"]
962pub mod SRK7 {
963    #[doc = "Shadow register for the hash of the Super Root Key word7 (Copy of OTP Bank 3, word 7 (ADDR = 0x23))"]
964    pub mod BITS {
965        pub const offset: u32 = 0;
966        pub const mask: u32 = 0xffff_ffff << offset;
967        pub mod R {}
968        pub mod W {}
969        pub mod RW {}
970    }
971}
972#[doc = "Value of OTP Bank4 Word0 (Secure JTAG Response Field)"]
973pub mod SJC_RESP0 {
974    #[doc = "Shadow register for the SJC_RESP Key word0 (Copy of OTP Bank 4, word 0 (ADDR = 0x20))"]
975    pub mod BITS {
976        pub const offset: u32 = 0;
977        pub const mask: u32 = 0xffff_ffff << offset;
978        pub mod R {}
979        pub mod W {}
980        pub mod RW {}
981    }
982}
983#[doc = "Value of OTP Bank4 Word1 (Secure JTAG Response Field)"]
984pub mod SJC_RESP1 {
985    #[doc = "Shadow register for the SJC_RESP Key word1 (Copy of OTP Bank 4, word 1 (ADDR = 0x21))"]
986    pub mod BITS {
987        pub const offset: u32 = 0;
988        pub const mask: u32 = 0xffff_ffff << offset;
989        pub mod R {}
990        pub mod W {}
991        pub mod RW {}
992    }
993}
994#[doc = "Value of OTP Bank4 Word2 (MAC Address)"]
995pub mod MAC0 {
996    #[doc = "Reflects value of OTP Bank 4, word 2 (ADDR = 0x22)."]
997    pub mod BITS {
998        pub const offset: u32 = 0;
999        pub const mask: u32 = 0xffff_ffff << offset;
1000        pub mod R {}
1001        pub mod W {}
1002        pub mod RW {}
1003    }
1004}
1005#[doc = "Value of OTP Bank4 Word3 (MAC Address)"]
1006pub mod MAC1 {
1007    #[doc = "Reflects value of OTP Bank 4, word 3 (ADDR = 0x23)."]
1008    pub mod BITS {
1009        pub const offset: u32 = 0;
1010        pub const mask: u32 = 0xffff_ffff << offset;
1011        pub mod R {}
1012        pub mod W {}
1013        pub mod RW {}
1014    }
1015}
1016#[doc = "Value of OTP Bank4 Word4 (MAC Address)"]
1017pub mod GP3 {
1018    #[doc = "Reflects value of OTP Bank 4, word 4 (ADDR = 0x24)."]
1019    pub mod BITS {
1020        pub const offset: u32 = 0;
1021        pub const mask: u32 = 0xffff_ffff << offset;
1022        pub mod R {}
1023        pub mod W {}
1024        pub mod RW {}
1025    }
1026}
1027#[doc = "Value of OTP Bank4 Word6 (General Purpose Customer Defined Info)"]
1028pub mod GP1 {
1029    #[doc = "Reflects value of OTP Bank 4, word 6 (ADDR = 0x26)."]
1030    pub mod BITS {
1031        pub const offset: u32 = 0;
1032        pub const mask: u32 = 0xffff_ffff << offset;
1033        pub mod R {}
1034        pub mod W {}
1035        pub mod RW {}
1036    }
1037}
1038#[doc = "Value of OTP Bank4 Word7 (General Purpose Customer Defined Info)"]
1039pub mod GP2 {
1040    #[doc = "Reflects value of OTP Bank 4, word 7 (ADDR = 0x27)."]
1041    pub mod BITS {
1042        pub const offset: u32 = 0;
1043        pub const mask: u32 = 0xffff_ffff << offset;
1044        pub mod R {}
1045        pub mod W {}
1046        pub mod RW {}
1047    }
1048}
1049#[doc = "Value of OTP Bank5 Word0 (SW GP1)"]
1050pub mod SW_GP1 {
1051    #[doc = "Reflects value of OTP Bank 5, word 0 (ADDR = 0x28)."]
1052    pub mod BITS {
1053        pub const offset: u32 = 0;
1054        pub const mask: u32 = 0xffff_ffff << offset;
1055        pub mod R {}
1056        pub mod W {}
1057        pub mod RW {}
1058    }
1059}
1060#[doc = "Value of OTP Bank5 Word1 (SW GP2)"]
1061pub mod SW_GP20 {
1062    #[doc = "Reflects value of OTP Bank 5, word 1 (ADDR = 0x29)."]
1063    pub mod BITS {
1064        pub const offset: u32 = 0;
1065        pub const mask: u32 = 0xffff_ffff << offset;
1066        pub mod R {}
1067        pub mod W {}
1068        pub mod RW {}
1069    }
1070}
1071#[doc = "Value of OTP Bank5 Word2 (SW GP2)"]
1072pub mod SW_GP21 {
1073    #[doc = "Reflects value of OTP Bank 5, word 2 (ADDR = 0x2a)."]
1074    pub mod BITS {
1075        pub const offset: u32 = 0;
1076        pub const mask: u32 = 0xffff_ffff << offset;
1077        pub mod R {}
1078        pub mod W {}
1079        pub mod RW {}
1080    }
1081}
1082#[doc = "Value of OTP Bank5 Word3 (SW GP2)"]
1083pub mod SW_GP22 {
1084    #[doc = "Reflects value of OTP Bank 5, word 3 (ADDR = 0x2b)."]
1085    pub mod BITS {
1086        pub const offset: u32 = 0;
1087        pub const mask: u32 = 0xffff_ffff << offset;
1088        pub mod R {}
1089        pub mod W {}
1090        pub mod RW {}
1091    }
1092}
1093#[doc = "Value of OTP Bank5 Word4 (SW GP2)"]
1094pub mod SW_GP23 {
1095    #[doc = "Reflects value of OTP Bank 5, word 4 (ADDR = 0x2c)."]
1096    pub mod BITS {
1097        pub const offset: u32 = 0;
1098        pub const mask: u32 = 0xffff_ffff << offset;
1099        pub mod R {}
1100        pub mod W {}
1101        pub mod RW {}
1102    }
1103}
1104#[doc = "Value of OTP Bank5 Word5 (Misc Conf)"]
1105pub mod MISC_CONF0 {
1106    #[doc = "Reflects value of OTP Bank 5, word 5 (ADDR = 0x2d)."]
1107    pub mod BITS {
1108        pub const offset: u32 = 0;
1109        pub const mask: u32 = 0xffff_ffff << offset;
1110        pub mod R {}
1111        pub mod W {}
1112        pub mod RW {}
1113    }
1114}
1115#[doc = "Value of OTP Bank5 Word6 (Misc Conf)"]
1116pub mod MISC_CONF1 {
1117    #[doc = "Reflects value of OTP Bank 5, word 6 (ADDR = 0x2e)."]
1118    pub mod BITS {
1119        pub const offset: u32 = 0;
1120        pub const mask: u32 = 0xffff_ffff << offset;
1121        pub mod R {}
1122        pub mod W {}
1123        pub mod RW {}
1124    }
1125}
1126#[doc = "Value of OTP Bank5 Word7 (SRK Revoke)"]
1127pub mod SRK_REVOKE {
1128    #[doc = "Reflects value of OTP Bank 5, word 7 (ADDR = 0x2f)."]
1129    pub mod BITS {
1130        pub const offset: u32 = 0;
1131        pub const mask: u32 = 0xffff_ffff << offset;
1132        pub mod R {}
1133        pub mod W {}
1134        pub mod RW {}
1135    }
1136}