imxrt_ral/blocks/imxrt1011/
csu.rs

1#[doc = "CSU registers"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "Config security level register"]
5    pub CSL: [crate::RWRegister<u32>; 32usize],
6    _reserved0: [u8; 0x0180],
7    #[doc = "HP0 register"]
8    pub HP0: crate::RWRegister<u32>,
9    _reserved1: [u8; 0x14],
10    #[doc = "Secure access register"]
11    pub SA: crate::RWRegister<u32>,
12    _reserved2: [u8; 0x013c],
13    #[doc = "HPCONTROL0 register"]
14    pub HPCONTROL0: crate::RWRegister<u32>,
15}
16#[doc = "Config security level register"]
17pub mod CSL {
18    #[doc = "Secure user read access control for the second slave"]
19    pub mod SUR_S2 {
20        pub const offset: u32 = 0;
21        pub const mask: u32 = 0x01 << offset;
22        pub mod R {}
23        pub mod W {}
24        pub mod RW {
25            #[doc = "The secure user read access is disabled for the second slave."]
26            pub const SUR_S2_0: u32 = 0;
27            #[doc = "The secure user read access is enabled for the second slave."]
28            pub const SUR_S2_1: u32 = 0x01;
29        }
30    }
31    #[doc = "Secure supervisor read access control for the second slave"]
32    pub mod SSR_S2 {
33        pub const offset: u32 = 1;
34        pub const mask: u32 = 0x01 << offset;
35        pub mod R {}
36        pub mod W {}
37        pub mod RW {
38            #[doc = "The secure supervisor read access is disabled for the second slave."]
39            pub const SSR_S2_0: u32 = 0;
40            #[doc = "The secure supervisor read access is enabled for the second slave."]
41            pub const SSR_S2_1: u32 = 0x01;
42        }
43    }
44    #[doc = "Non-secure user read access control for the second slave"]
45    pub mod NUR_S2 {
46        pub const offset: u32 = 2;
47        pub const mask: u32 = 0x01 << offset;
48        pub mod R {}
49        pub mod W {}
50        pub mod RW {
51            #[doc = "The non-secure user read access is disabled for the second slave."]
52            pub const NUR_S2_0: u32 = 0;
53            #[doc = "The non-secure user read access is enabled for the second slave."]
54            pub const NUR_S2_1: u32 = 0x01;
55        }
56    }
57    #[doc = "Non-secure supervisor read access control for the second slave"]
58    pub mod NSR_S2 {
59        pub const offset: u32 = 3;
60        pub const mask: u32 = 0x01 << offset;
61        pub mod R {}
62        pub mod W {}
63        pub mod RW {
64            #[doc = "The non-secure supervisor read access is disabled for the second slave."]
65            pub const NSR_S2_0: u32 = 0;
66            #[doc = "The non-secure supervisor read access is enabled for the second slave."]
67            pub const NSR_S2_1: u32 = 0x01;
68        }
69    }
70    #[doc = "Secure user write access control for the second slave"]
71    pub mod SUW_S2 {
72        pub const offset: u32 = 4;
73        pub const mask: u32 = 0x01 << offset;
74        pub mod R {}
75        pub mod W {}
76        pub mod RW {
77            #[doc = "The secure user write access is disabled for the second slave."]
78            pub const SUW_S2_0: u32 = 0;
79            #[doc = "The secure user write access is enabled for the second slave."]
80            pub const SUW_S2_1: u32 = 0x01;
81        }
82    }
83    #[doc = "Secure supervisor write access control for the second slave"]
84    pub mod SSW_S2 {
85        pub const offset: u32 = 5;
86        pub const mask: u32 = 0x01 << offset;
87        pub mod R {}
88        pub mod W {}
89        pub mod RW {
90            #[doc = "The secure supervisor write access is disabled for the second slave."]
91            pub const SSW_S2_0: u32 = 0;
92            #[doc = "The secure supervisor write access is enabled for the second slave."]
93            pub const SSW_S2_1: u32 = 0x01;
94        }
95    }
96    #[doc = "Non-secure user write access control for the second slave"]
97    pub mod NUW_S2 {
98        pub const offset: u32 = 6;
99        pub const mask: u32 = 0x01 << offset;
100        pub mod R {}
101        pub mod W {}
102        pub mod RW {
103            #[doc = "The non-secure user write access is disabled for the second slave."]
104            pub const NUW_S2_0: u32 = 0;
105            #[doc = "The non-secure user write access is enabled for the second slave."]
106            pub const NUW_S2_1: u32 = 0x01;
107        }
108    }
109    #[doc = "Non-secure supervisor write access control for the second slave"]
110    pub mod NSW_S2 {
111        pub const offset: u32 = 7;
112        pub const mask: u32 = 0x01 << offset;
113        pub mod R {}
114        pub mod W {}
115        pub mod RW {
116            #[doc = "The non-secure supervisor write access is disabled for the second slave."]
117            pub const NSW_S2_0: u32 = 0;
118            #[doc = "The non-secure supervisor write access is enabled for the second slave."]
119            pub const NSW_S2_1: u32 = 0x01;
120        }
121    }
122    #[doc = "The lock bit corresponding to the second slave. It is written by the secure software."]
123    pub mod LOCK_S2 {
124        pub const offset: u32 = 8;
125        pub const mask: u32 = 0x01 << offset;
126        pub mod R {}
127        pub mod W {}
128        pub mod RW {
129            #[doc = "Not locked. Bits 7-0 can be written by the software."]
130            pub const LOCK_S2_0: u32 = 0;
131            #[doc = "Bits 7-0 are locked and cannot be written by the software"]
132            pub const LOCK_S2_1: u32 = 0x01;
133        }
134    }
135    #[doc = "Secure user read access control for the first slave"]
136    pub mod SUR_S1 {
137        pub const offset: u32 = 16;
138        pub const mask: u32 = 0x01 << offset;
139        pub mod R {}
140        pub mod W {}
141        pub mod RW {
142            #[doc = "The secure user read access is disabled for the first slave."]
143            pub const SUR_S1_0: u32 = 0;
144            #[doc = "The secure user read access is enabled for the first slave."]
145            pub const SUR_S1_1: u32 = 0x01;
146        }
147    }
148    #[doc = "Secure supervisor read access control for the first slave"]
149    pub mod SSR_S1 {
150        pub const offset: u32 = 17;
151        pub const mask: u32 = 0x01 << offset;
152        pub mod R {}
153        pub mod W {}
154        pub mod RW {
155            #[doc = "The secure supervisor read access is disabled for the first slave."]
156            pub const SSR_S1_0: u32 = 0;
157            #[doc = "The secure supervisor read access is enabled for the first slave."]
158            pub const SSR_S1_1: u32 = 0x01;
159        }
160    }
161    #[doc = "Non-secure user read access control for the first slave"]
162    pub mod NUR_S1 {
163        pub const offset: u32 = 18;
164        pub const mask: u32 = 0x01 << offset;
165        pub mod R {}
166        pub mod W {}
167        pub mod RW {
168            #[doc = "The non-secure user read access is disabled for the first slave."]
169            pub const NUR_S1_0: u32 = 0;
170            #[doc = "The non-secure user read access is enabled for the first slave."]
171            pub const NUR_S1_1: u32 = 0x01;
172        }
173    }
174    #[doc = "Non-secure supervisor read access control for the first slave"]
175    pub mod NSR_S1 {
176        pub const offset: u32 = 19;
177        pub const mask: u32 = 0x01 << offset;
178        pub mod R {}
179        pub mod W {}
180        pub mod RW {
181            #[doc = "The non-secure supervisor read access is disabled for the first slave."]
182            pub const NSR_S1_0: u32 = 0;
183            #[doc = "The non-secure supervisor read access is enabled for the first slave."]
184            pub const NSR_S1_1: u32 = 0x01;
185        }
186    }
187    #[doc = "Secure user write access control for the first slave"]
188    pub mod SUW_S1 {
189        pub const offset: u32 = 20;
190        pub const mask: u32 = 0x01 << offset;
191        pub mod R {}
192        pub mod W {}
193        pub mod RW {
194            #[doc = "The secure user write access is disabled for the first slave."]
195            pub const SUW_S1_0: u32 = 0;
196            #[doc = "The secure user write access is enabled for the first slave."]
197            pub const SUW_S1_1: u32 = 0x01;
198        }
199    }
200    #[doc = "Secure supervisor write access control for the first slave"]
201    pub mod SSW_S1 {
202        pub const offset: u32 = 21;
203        pub const mask: u32 = 0x01 << offset;
204        pub mod R {}
205        pub mod W {}
206        pub mod RW {
207            #[doc = "The secure supervisor write access is disabled for the first slave."]
208            pub const SSW_S1_0: u32 = 0;
209            #[doc = "The secure supervisor write access is enabled for the first slave."]
210            pub const SSW_S1_1: u32 = 0x01;
211        }
212    }
213    #[doc = "Non-secure user write access control for the first slave"]
214    pub mod NUW_S1 {
215        pub const offset: u32 = 22;
216        pub const mask: u32 = 0x01 << offset;
217        pub mod R {}
218        pub mod W {}
219        pub mod RW {
220            #[doc = "The non-secure user write access is disabled for the first slave."]
221            pub const NUW_S1_0: u32 = 0;
222            #[doc = "The non-secure user write access is enabled for the first slave."]
223            pub const NUW_S1_1: u32 = 0x01;
224        }
225    }
226    #[doc = "Non-secure supervisor write access control for the first slave"]
227    pub mod NSW_S1 {
228        pub const offset: u32 = 23;
229        pub const mask: u32 = 0x01 << offset;
230        pub mod R {}
231        pub mod W {}
232        pub mod RW {
233            #[doc = "The non-secure supervisor write access is disabled for the first slave."]
234            pub const NSW_S1_0: u32 = 0;
235            #[doc = "The non-secure supervisor write access is enabled for the first slave"]
236            pub const NSW_S1_1: u32 = 0x01;
237        }
238    }
239    #[doc = "The lock bit corresponding to the first slave. It is written by the secure software."]
240    pub mod LOCK_S1 {
241        pub const offset: u32 = 24;
242        pub const mask: u32 = 0x01 << offset;
243        pub mod R {}
244        pub mod W {}
245        pub mod RW {
246            #[doc = "Not locked. The bits 16-23 can be written by the software."]
247            pub const LOCK_S1_0: u32 = 0;
248            #[doc = "The bits 16-23 are locked and can't be written by the software."]
249            pub const LOCK_S1_1: u32 = 0x01;
250        }
251    }
252}
253#[doc = "HP0 register"]
254pub mod HP0 {
255    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the eDMA"]
256    pub mod HP_DMA {
257        pub const offset: u32 = 2;
258        pub const mask: u32 = 0x01 << offset;
259        pub mod R {}
260        pub mod W {}
261        pub mod RW {
262            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
263            pub const HP_DMA_0: u32 = 0;
264            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
265            pub const HP_DMA_1: u32 = 0x01;
266        }
267    }
268    #[doc = "Lock bit set by the TZ software for the eDMA"]
269    pub mod L_DMA {
270        pub const offset: u32 = 3;
271        pub const mask: u32 = 0x01 << offset;
272        pub mod R {}
273        pub mod W {}
274        pub mod RW {
275            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
276            pub const L_DMA_0: u32 = 0;
277            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
278            pub const L_DMA_1: u32 = 0x01;
279        }
280    }
281    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the LCDIF"]
282    pub mod HP_LCDIF {
283        pub const offset: u32 = 4;
284        pub const mask: u32 = 0x01 << offset;
285        pub mod R {}
286        pub mod W {}
287        pub mod RW {
288            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
289            pub const HP_LCDIF_0: u32 = 0;
290            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
291            pub const HP_LCDIF_1: u32 = 0x01;
292        }
293    }
294    #[doc = "Lock bit set by the TZ software for the LCDIF"]
295    pub mod L_LCDIF {
296        pub const offset: u32 = 5;
297        pub const mask: u32 = 0x01 << offset;
298        pub mod R {}
299        pub mod W {}
300        pub mod RW {
301            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
302            pub const L_LCDIF_0: u32 = 0;
303            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
304            pub const L_LCDIF_1: u32 = 0x01;
305        }
306    }
307    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the CSI"]
308    pub mod HP_CSI {
309        pub const offset: u32 = 6;
310        pub const mask: u32 = 0x01 << offset;
311        pub mod R {}
312        pub mod W {}
313        pub mod RW {
314            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
315            pub const HP_CSI_0: u32 = 0;
316            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
317            pub const HP_CSI_1: u32 = 0x01;
318        }
319    }
320    #[doc = "Lock bit set by the TZ software for the CSI"]
321    pub mod L_CSI {
322        pub const offset: u32 = 7;
323        pub const mask: u32 = 0x01 << offset;
324        pub mod R {}
325        pub mod W {}
326        pub mod RW {
327            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
328            pub const L_CSI_0: u32 = 0;
329            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
330            pub const L_CSI_1: u32 = 0x01;
331        }
332    }
333    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the PXP"]
334    pub mod HP_PXP {
335        pub const offset: u32 = 8;
336        pub const mask: u32 = 0x01 << offset;
337        pub mod R {}
338        pub mod W {}
339        pub mod RW {
340            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
341            pub const HP_PXP_0: u32 = 0;
342            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
343            pub const HP_PXP_1: u32 = 0x01;
344        }
345    }
346    #[doc = "Lock bit set by the TZ software for the PXP"]
347    pub mod L_PXP {
348        pub const offset: u32 = 9;
349        pub const mask: u32 = 0x01 << offset;
350        pub mod R {}
351        pub mod W {}
352        pub mod RW {
353            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
354            pub const L_PXP_0: u32 = 0;
355            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
356            pub const L_PXP_1: u32 = 0x01;
357        }
358    }
359    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the DCP"]
360    pub mod HP_DCP {
361        pub const offset: u32 = 10;
362        pub const mask: u32 = 0x01 << offset;
363        pub mod R {}
364        pub mod W {}
365        pub mod RW {
366            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
367            pub const HP_DCP_0: u32 = 0;
368            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
369            pub const HP_DCP_1: u32 = 0x01;
370        }
371    }
372    #[doc = "Lock bit set by the TZ software for the DCP"]
373    pub mod L_DCP {
374        pub const offset: u32 = 11;
375        pub const mask: u32 = 0x01 << offset;
376        pub mod R {}
377        pub mod W {}
378        pub mod RW {
379            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
380            pub const L_DCP_0: u32 = 0;
381            #[doc = "Lock-the adjacent (next lower) bit cannot be written by the software."]
382            pub const L_DCP_1: u32 = 0x01;
383        }
384    }
385    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the ENET"]
386    pub mod HP_ENET {
387        pub const offset: u32 = 14;
388        pub const mask: u32 = 0x01 << offset;
389        pub mod R {}
390        pub mod W {}
391        pub mod RW {
392            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
393            pub const HP_ENET_0: u32 = 0;
394            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
395            pub const HP_ENET_1: u32 = 0x01;
396        }
397    }
398    #[doc = "Lock bit set by the TZ software for the ENET"]
399    pub mod L_ENET {
400        pub const offset: u32 = 15;
401        pub const mask: u32 = 0x01 << offset;
402        pub mod R {}
403        pub mod W {}
404        pub mod RW {
405            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
406            pub const L_ENET_0: u32 = 0;
407            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
408            pub const L_ENET_1: u32 = 0x01;
409        }
410    }
411    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the USDHC1"]
412    pub mod HP_USDHC1 {
413        pub const offset: u32 = 16;
414        pub const mask: u32 = 0x01 << offset;
415        pub mod R {}
416        pub mod W {}
417        pub mod RW {
418            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
419            pub const HP_USDHC1_0: u32 = 0;
420            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
421            pub const HP_USDHC1_1: u32 = 0x01;
422        }
423    }
424    #[doc = "Lock bit set by the TZ software for the USDHC1"]
425    pub mod L_USDHC1 {
426        pub const offset: u32 = 17;
427        pub const mask: u32 = 0x01 << offset;
428        pub mod R {}
429        pub mod W {}
430        pub mod RW {
431            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
432            pub const L_USDHC1_0: u32 = 0;
433            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
434            pub const L_USDHC1_1: u32 = 0x01;
435        }
436    }
437    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the USDHC2"]
438    pub mod HP_USDHC2 {
439        pub const offset: u32 = 18;
440        pub const mask: u32 = 0x01 << offset;
441        pub mod R {}
442        pub mod W {}
443        pub mod RW {
444            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
445            pub const HP_USDHC2_0: u32 = 0;
446            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
447            pub const HP_USDHC2_1: u32 = 0x01;
448        }
449    }
450    #[doc = "Lock bit set by the TZ software for the USDHC2"]
451    pub mod L_USDHC2 {
452        pub const offset: u32 = 19;
453        pub const mask: u32 = 0x01 << offset;
454        pub mod R {}
455        pub mod W {}
456        pub mod RW {
457            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
458            pub const L_USDHC2_0: u32 = 0;
459            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
460            pub const L_USDHC2_1: u32 = 0x01;
461        }
462    }
463    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the TPSMP"]
464    pub mod HP_TPSMP {
465        pub const offset: u32 = 20;
466        pub const mask: u32 = 0x01 << offset;
467        pub mod R {}
468        pub mod W {}
469        pub mod RW {
470            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
471            pub const HP_TPSMP_0: u32 = 0;
472            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
473            pub const HP_TPSMP_1: u32 = 0x01;
474        }
475    }
476    #[doc = "Lock bit set by the TZ software for the TPSMP"]
477    pub mod L_TPSMP {
478        pub const offset: u32 = 21;
479        pub const mask: u32 = 0x01 << offset;
480        pub mod R {}
481        pub mod W {}
482        pub mod RW {
483            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
484            pub const L_TPSMP_0: u32 = 0;
485            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
486            pub const L_TPSMP_1: u32 = 0x01;
487        }
488    }
489    #[doc = "Determines whether the register value of the corresponding HP field is passed as the hprot\\[1\\] of the USB"]
490    pub mod HP_USB {
491        pub const offset: u32 = 22;
492        pub const mask: u32 = 0x01 << offset;
493        pub mod R {}
494        pub mod W {}
495        pub mod RW {
496            #[doc = "The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master."]
497            pub const HP_USB_0: u32 = 0;
498            #[doc = "The HP register bit is routed to the csu_hprot1 output for the corresponding master."]
499            pub const HP_USB_1: u32 = 0x01;
500        }
501    }
502    #[doc = "Lock bit set by the TZ software for the USB"]
503    pub mod L_USB {
504        pub const offset: u32 = 23;
505        pub const mask: u32 = 0x01 << offset;
506        pub mod R {}
507        pub mod W {}
508        pub mod RW {
509            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
510            pub const L_USB_0: u32 = 0;
511            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
512            pub const L_USB_1: u32 = 0x01;
513        }
514    }
515}
516#[doc = "Secure access register"]
517pub mod SA {
518    #[doc = "Non-secure access policy indicator bit"]
519    pub mod NSA_DMA {
520        pub const offset: u32 = 2;
521        pub const mask: u32 = 0x01 << offset;
522        pub mod R {}
523        pub mod W {}
524        pub mod RW {
525            #[doc = "Secure access for the corresponding type-1 master"]
526            pub const NSA_DMA_0: u32 = 0;
527            #[doc = "Non-secure access for the corresponding type-1 master"]
528            pub const NSA_DMA_1: u32 = 0x01;
529        }
530    }
531    #[doc = "Lock bit set by the TZ software for the eDMA"]
532    pub mod L_DMA {
533        pub const offset: u32 = 3;
534        pub const mask: u32 = 0x01 << offset;
535        pub mod R {}
536        pub mod W {}
537        pub mod RW {
538            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
539            pub const L_DMA_0: u32 = 0;
540            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
541            pub const L_DMA_1: u32 = 0x01;
542        }
543    }
544    #[doc = "Non-secure access policy indicator bit"]
545    pub mod NSA_LCDIF {
546        pub const offset: u32 = 4;
547        pub const mask: u32 = 0x01 << offset;
548        pub mod R {}
549        pub mod W {}
550        pub mod RW {
551            #[doc = "Secure access for the corresponding type-1 master"]
552            pub const NSA_LCDIF_0: u32 = 0;
553            #[doc = "Non-secure access for the corresponding type-1 master"]
554            pub const NSA_LCDIF_1: u32 = 0x01;
555        }
556    }
557    #[doc = "Lock bit set by the TZ software for the LCDIF"]
558    pub mod L_LCDIF {
559        pub const offset: u32 = 5;
560        pub const mask: u32 = 0x01 << offset;
561        pub mod R {}
562        pub mod W {}
563        pub mod RW {
564            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
565            pub const L_LCDIF_0: u32 = 0;
566            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
567            pub const L_LCDIF_1: u32 = 0x01;
568        }
569    }
570    #[doc = "Non-secure access policy indicator bit"]
571    pub mod NSA_CSI {
572        pub const offset: u32 = 6;
573        pub const mask: u32 = 0x01 << offset;
574        pub mod R {}
575        pub mod W {}
576        pub mod RW {
577            #[doc = "Secure access for the corresponding type-1 master"]
578            pub const NSA_CSI_0: u32 = 0;
579            #[doc = "Non-secure access for the corresponding type-1 master"]
580            pub const NSA_CSI_1: u32 = 0x01;
581        }
582    }
583    #[doc = "Lock bit set by the TZ software for the CSI"]
584    pub mod L_CSI {
585        pub const offset: u32 = 7;
586        pub const mask: u32 = 0x01 << offset;
587        pub mod R {}
588        pub mod W {}
589        pub mod RW {
590            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
591            pub const L_CSI_0: u32 = 0;
592            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
593            pub const L_CSI_1: u32 = 0x01;
594        }
595    }
596    #[doc = "Non-Secure Access Policy indicator bit"]
597    pub mod NSA_PXP {
598        pub const offset: u32 = 8;
599        pub const mask: u32 = 0x01 << offset;
600        pub mod R {}
601        pub mod W {}
602        pub mod RW {
603            #[doc = "Secure access for the corresponding type-1 master"]
604            pub const NSA_PXP_0: u32 = 0;
605            #[doc = "Non-secure access for the corresponding type-1 master"]
606            pub const NSA_PXP_1: u32 = 0x01;
607        }
608    }
609    #[doc = "Lock bit set by the TZ software for the PXP"]
610    pub mod L_PXP {
611        pub const offset: u32 = 9;
612        pub const mask: u32 = 0x01 << offset;
613        pub mod R {}
614        pub mod W {}
615        pub mod RW {
616            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
617            pub const L_PXP_0: u32 = 0;
618            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
619            pub const L_PXP_1: u32 = 0x01;
620        }
621    }
622    #[doc = "Non-secure access policy indicator bit"]
623    pub mod NSA_DCP {
624        pub const offset: u32 = 10;
625        pub const mask: u32 = 0x01 << offset;
626        pub mod R {}
627        pub mod W {}
628        pub mod RW {
629            #[doc = "Secure access for the corresponding type-1 master"]
630            pub const NSA_DCP_0: u32 = 0;
631            #[doc = "Non-secure access for the corresponding type-1 master"]
632            pub const NSA_DCP_1: u32 = 0x01;
633        }
634    }
635    #[doc = "Lock bit set by the TZ software for the DCP"]
636    pub mod L_DCP {
637        pub const offset: u32 = 11;
638        pub const mask: u32 = 0x01 << offset;
639        pub mod R {}
640        pub mod W {}
641        pub mod RW {
642            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
643            pub const L_DCP_0: u32 = 0;
644            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
645            pub const L_DCP_1: u32 = 0x01;
646        }
647    }
648    #[doc = "Non-secure access policy indicator bit"]
649    pub mod NSA_ENET {
650        pub const offset: u32 = 14;
651        pub const mask: u32 = 0x01 << offset;
652        pub mod R {}
653        pub mod W {}
654        pub mod RW {
655            #[doc = "Secure access for the corresponding type-1 master"]
656            pub const NSA_ENET_0: u32 = 0;
657            #[doc = "Non-secure access for the corresponding type-1 master"]
658            pub const NSA_ENET_1: u32 = 0x01;
659        }
660    }
661    #[doc = "Lock bit set by the TZ software for the ENET1 and ENET2"]
662    pub mod L_ENET {
663        pub const offset: u32 = 15;
664        pub const mask: u32 = 0x01 << offset;
665        pub mod R {}
666        pub mod W {}
667        pub mod RW {
668            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
669            pub const L_ENET_0: u32 = 0;
670            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
671            pub const L_ENET_1: u32 = 0x01;
672        }
673    }
674    #[doc = "Non-secure access policy indicator bit"]
675    pub mod NSA_USDHC1 {
676        pub const offset: u32 = 16;
677        pub const mask: u32 = 0x01 << offset;
678        pub mod R {}
679        pub mod W {}
680        pub mod RW {
681            #[doc = "Secure access for the corresponding type-1 master"]
682            pub const NSA_USDHC1_0: u32 = 0;
683            #[doc = "Non-secure access for the corresponding type-1 master"]
684            pub const NSA_USDHC1_1: u32 = 0x01;
685        }
686    }
687    #[doc = "Lock bit set by the TZ software for the USDHC1"]
688    pub mod L_USDHC1 {
689        pub const offset: u32 = 17;
690        pub const mask: u32 = 0x01 << offset;
691        pub mod R {}
692        pub mod W {}
693        pub mod RW {
694            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
695            pub const L_USDHC1_0: u32 = 0;
696            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
697            pub const L_USDHC1_1: u32 = 0x01;
698        }
699    }
700    #[doc = "Non-secure access policy indicator bit"]
701    pub mod NSA_USDHC2 {
702        pub const offset: u32 = 18;
703        pub const mask: u32 = 0x01 << offset;
704        pub mod R {}
705        pub mod W {}
706        pub mod RW {
707            #[doc = "Secure access for the corresponding type-1 master"]
708            pub const NSA_USDHC2_0: u32 = 0;
709            #[doc = "Non-secure access for the corresponding type-1 master"]
710            pub const NSA_USDHC2_1: u32 = 0x01;
711        }
712    }
713    #[doc = "Lock bit set by the TZ software for the USDHC2"]
714    pub mod L_USDHC2 {
715        pub const offset: u32 = 19;
716        pub const mask: u32 = 0x01 << offset;
717        pub mod R {}
718        pub mod W {}
719        pub mod RW {
720            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
721            pub const L_USDHC2_0: u32 = 0;
722            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
723            pub const L_USDHC2_1: u32 = 0x01;
724        }
725    }
726    #[doc = "Non-secure access policy indicator bit"]
727    pub mod NSA_TPSMP {
728        pub const offset: u32 = 20;
729        pub const mask: u32 = 0x01 << offset;
730        pub mod R {}
731        pub mod W {}
732        pub mod RW {
733            #[doc = "Secure access for the corresponding type-1 master"]
734            pub const NSA_TPSMP_0: u32 = 0;
735            #[doc = "Non-secure access for the corresponding type-1 master"]
736            pub const NSA_TPSMP_1: u32 = 0x01;
737        }
738    }
739    #[doc = "Lock bit set by the TZ software for the TPSMP"]
740    pub mod L_TPSMP {
741        pub const offset: u32 = 21;
742        pub const mask: u32 = 0x01 << offset;
743        pub mod R {}
744        pub mod W {}
745        pub mod RW {
746            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
747            pub const L_TPSMP_0: u32 = 0;
748            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
749            pub const L_TPSMP_1: u32 = 0x01;
750        }
751    }
752    #[doc = "Non-secure access policy indicator bit"]
753    pub mod NSA_USB {
754        pub const offset: u32 = 22;
755        pub const mask: u32 = 0x01 << offset;
756        pub mod R {}
757        pub mod W {}
758        pub mod RW {
759            #[doc = "Secure access for the corresponding type-1 master"]
760            pub const NSA_USB_0: u32 = 0;
761            #[doc = "Non-secure access for the corresponding type-1 master"]
762            pub const NSA_USB_1: u32 = 0x01;
763        }
764    }
765    #[doc = "Lock bit set by the TZ software for the USB"]
766    pub mod L_USB {
767        pub const offset: u32 = 23;
768        pub const mask: u32 = 0x01 << offset;
769        pub mod R {}
770        pub mod W {}
771        pub mod RW {
772            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
773            pub const L_USB_0: u32 = 0;
774            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
775            pub const L_USB_1: u32 = 0x01;
776        }
777    }
778}
779#[doc = "HPCONTROL0 register"]
780pub mod HPCONTROL0 {
781    #[doc = "Indicates the privilege/user mode for the eDMA"]
782    pub mod HPC_DMA {
783        pub const offset: u32 = 2;
784        pub const mask: u32 = 0x01 << offset;
785        pub mod R {}
786        pub mod W {}
787        pub mod RW {
788            #[doc = "User mode for the corresponding master"]
789            pub const HPC_DMA_0: u32 = 0;
790            #[doc = "Supervisor mode for the corresponding master"]
791            pub const HPC_DMA_1: u32 = 0x01;
792        }
793    }
794    #[doc = "Lock bit set by the TZ software for the eDMA"]
795    pub mod L_DMA {
796        pub const offset: u32 = 3;
797        pub const mask: u32 = 0x01 << offset;
798        pub mod R {}
799        pub mod W {}
800        pub mod RW {
801            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
802            pub const L_DMA_0: u32 = 0;
803            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
804            pub const L_DMA_1: u32 = 0x01;
805        }
806    }
807    #[doc = "Indicates the privilege/user mode for the LCDIF"]
808    pub mod HPC_LCDIF {
809        pub const offset: u32 = 4;
810        pub const mask: u32 = 0x01 << offset;
811        pub mod R {}
812        pub mod W {}
813        pub mod RW {
814            #[doc = "User mode for the corresponding master"]
815            pub const HPC_LCDIF_0: u32 = 0;
816            #[doc = "Supervisor mode for the corresponding master"]
817            pub const HPC_LCDIF_1: u32 = 0x01;
818        }
819    }
820    #[doc = "Lock bit set by the TZ software for the LCDIF"]
821    pub mod L_LCDIF {
822        pub const offset: u32 = 5;
823        pub const mask: u32 = 0x01 << offset;
824        pub mod R {}
825        pub mod W {}
826        pub mod RW {
827            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
828            pub const L_LCDIF_0: u32 = 0;
829            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
830            pub const L_LCDIF_1: u32 = 0x01;
831        }
832    }
833    #[doc = "Indicates the privilege/user mode for the CSI"]
834    pub mod HPC_CSI {
835        pub const offset: u32 = 6;
836        pub const mask: u32 = 0x01 << offset;
837        pub mod R {}
838        pub mod W {}
839        pub mod RW {
840            #[doc = "User mode for the corresponding master"]
841            pub const HPC_CSI_0: u32 = 0;
842            #[doc = "Supervisor mode for the corresponding master"]
843            pub const HPC_CSI_1: u32 = 0x01;
844        }
845    }
846    #[doc = "Lock bit set by the TZ software for the CSI"]
847    pub mod L_CSI {
848        pub const offset: u32 = 7;
849        pub const mask: u32 = 0x01 << offset;
850        pub mod R {}
851        pub mod W {}
852        pub mod RW {
853            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
854            pub const L_CSI_0: u32 = 0;
855            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
856            pub const L_CSI_1: u32 = 0x01;
857        }
858    }
859    #[doc = "Indicates the privilege/user mode for the PXP"]
860    pub mod HPC_PXP {
861        pub const offset: u32 = 8;
862        pub const mask: u32 = 0x01 << offset;
863        pub mod R {}
864        pub mod W {}
865        pub mod RW {
866            #[doc = "User mode for the corresponding master"]
867            pub const HPC_PXP_0: u32 = 0;
868            #[doc = "Supervisor mode for the corresponding master"]
869            pub const HPC_PXP_1: u32 = 0x01;
870        }
871    }
872    #[doc = "Lock bit set by the TZ software for the PXP"]
873    pub mod L_PXP {
874        pub const offset: u32 = 9;
875        pub const mask: u32 = 0x01 << offset;
876        pub mod R {}
877        pub mod W {}
878        pub mod RW {
879            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
880            pub const L_PXP_0: u32 = 0;
881            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
882            pub const L_PXP_1: u32 = 0x01;
883        }
884    }
885    #[doc = "Indicates the privilege/user mode for the DCP"]
886    pub mod HPC_DCP {
887        pub const offset: u32 = 10;
888        pub const mask: u32 = 0x01 << offset;
889        pub mod R {}
890        pub mod W {}
891        pub mod RW {
892            #[doc = "User mode for the corresponding master"]
893            pub const HPC_DCP_0: u32 = 0;
894            #[doc = "Supervisor mode for the corresponding master"]
895            pub const HPC_DCP_1: u32 = 0x01;
896        }
897    }
898    #[doc = "Lock bit set by the TZ software for the DCP"]
899    pub mod L_DCP {
900        pub const offset: u32 = 11;
901        pub const mask: u32 = 0x01 << offset;
902        pub mod R {}
903        pub mod W {}
904        pub mod RW {
905            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
906            pub const L_DCP_0: u32 = 0;
907            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
908            pub const L_DCP_1: u32 = 0x01;
909        }
910    }
911    #[doc = "Indicates the privilege/user mode for the ENET"]
912    pub mod HPC_ENET {
913        pub const offset: u32 = 14;
914        pub const mask: u32 = 0x01 << offset;
915        pub mod R {}
916        pub mod W {}
917        pub mod RW {
918            #[doc = "User mode for the corresponding master"]
919            pub const HPC_ENET_0: u32 = 0;
920            #[doc = "Supervisor mode for the corresponding master"]
921            pub const HPC_ENET_1: u32 = 0x01;
922        }
923    }
924    #[doc = "Lock bit set by the TZ software for the ENET"]
925    pub mod L_ENET {
926        pub const offset: u32 = 15;
927        pub const mask: u32 = 0x01 << offset;
928        pub mod R {}
929        pub mod W {}
930        pub mod RW {
931            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
932            pub const L_ENET_0: u32 = 0;
933            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
934            pub const L_ENET_1: u32 = 0x01;
935        }
936    }
937    #[doc = "Indicates the privilege/user mode for the USDHC1"]
938    pub mod HPC_USDHC1 {
939        pub const offset: u32 = 16;
940        pub const mask: u32 = 0x01 << offset;
941        pub mod R {}
942        pub mod W {}
943        pub mod RW {
944            #[doc = "User mode for the corresponding master"]
945            pub const HPC_USDHC1_0: u32 = 0;
946            #[doc = "Supervisor mode for the corresponding master"]
947            pub const HPC_USDHC1_1: u32 = 0x01;
948        }
949    }
950    #[doc = "Lock bit set by the TZ software for the USDHC1"]
951    pub mod L_USDHC1 {
952        pub const offset: u32 = 17;
953        pub const mask: u32 = 0x01 << offset;
954        pub mod R {}
955        pub mod W {}
956        pub mod RW {
957            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
958            pub const L_USDHC1_0: u32 = 0;
959            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
960            pub const L_USDHC1_1: u32 = 0x01;
961        }
962    }
963    #[doc = "Indicates the privilege/user mode for the USDHC2"]
964    pub mod HPC_USDHC2 {
965        pub const offset: u32 = 18;
966        pub const mask: u32 = 0x01 << offset;
967        pub mod R {}
968        pub mod W {}
969        pub mod RW {
970            #[doc = "User mode for the corresponding master"]
971            pub const HPC_USDHC2_0: u32 = 0;
972            #[doc = "Supervisor mode for the corresponding master"]
973            pub const HPC_USDHC2_1: u32 = 0x01;
974        }
975    }
976    #[doc = "Lock bit set by the TZ software for the USDHC2."]
977    pub mod L_USDHC2 {
978        pub const offset: u32 = 19;
979        pub const mask: u32 = 0x01 << offset;
980        pub mod R {}
981        pub mod W {}
982        pub mod RW {
983            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
984            pub const L_USDHC2_0: u32 = 0;
985            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
986            pub const L_USDHC2_1: u32 = 0x01;
987        }
988    }
989    #[doc = "Indicates the privilege/user mode for the TPSMP"]
990    pub mod HPC_TPSMP {
991        pub const offset: u32 = 20;
992        pub const mask: u32 = 0x01 << offset;
993        pub mod R {}
994        pub mod W {}
995        pub mod RW {
996            #[doc = "User mode for the corresponding master"]
997            pub const HPC_TPSMP_0: u32 = 0;
998            #[doc = "Supervisor mode for the corresponding master"]
999            pub const HPC_TPSMP_1: u32 = 0x01;
1000        }
1001    }
1002    #[doc = "Lock bit set by the TZ software for the TPSMP."]
1003    pub mod L_TPSMP {
1004        pub const offset: u32 = 21;
1005        pub const mask: u32 = 0x01 << offset;
1006        pub mod R {}
1007        pub mod W {}
1008        pub mod RW {
1009            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
1010            pub const L_TPSMP_0: u32 = 0;
1011            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
1012            pub const L_TPSMP_1: u32 = 0x01;
1013        }
1014    }
1015    #[doc = "Indicates the privilege/user mode for the USB"]
1016    pub mod HPC_USB {
1017        pub const offset: u32 = 22;
1018        pub const mask: u32 = 0x01 << offset;
1019        pub mod R {}
1020        pub mod W {}
1021        pub mod RW {
1022            #[doc = "User mode for the corresponding master"]
1023            pub const HPC_USB_0: u32 = 0;
1024            #[doc = "Supervisor mode for the corresponding master"]
1025            pub const HPC_USB_1: u32 = 0x01;
1026        }
1027    }
1028    #[doc = "Lock bit set by the TZ software for the USB."]
1029    pub mod L_USB {
1030        pub const offset: u32 = 23;
1031        pub const mask: u32 = 0x01 << offset;
1032        pub mod R {}
1033        pub mod W {}
1034        pub mod RW {
1035            #[doc = "No lock-the adjacent (next lower) bit can be written by the software."]
1036            pub const L_USB_0: u32 = 0;
1037            #[doc = "Lock-the adjacent (next lower) bit can't be written by the software."]
1038            pub const L_USB_1: u32 = 0x01;
1039        }
1040    }
1041}