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}