imxrt_ral/blocks/imxrt1011/
csu.rs1#[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}