imxrt_ral/blocks/imxrt1011/
ccm.rs
1#[doc = "CCM"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "CCM Control Register"]
5 pub CCR: crate::RWRegister<u32>,
6 _reserved0: [u8; 0x04],
7 #[doc = "CCM Status Register"]
8 pub CSR: crate::RORegister<u32>,
9 #[doc = "CCM Clock Switcher Register"]
10 pub CCSR: crate::RWRegister<u32>,
11 _reserved1: [u8; 0x04],
12 #[doc = "CCM Bus Clock Divider Register"]
13 pub CBCDR: crate::RWRegister<u32>,
14 #[doc = "CCM Bus Clock Multiplexer Register"]
15 pub CBCMR: crate::RWRegister<u32>,
16 #[doc = "CCM Serial Clock Multiplexer Register 1"]
17 pub CSCMR1: crate::RWRegister<u32>,
18 #[doc = "CCM Serial Clock Multiplexer Register 2"]
19 pub CSCMR2: crate::RWRegister<u32>,
20 #[doc = "CCM Serial Clock Divider Register 1"]
21 pub CSCDR1: crate::RWRegister<u32>,
22 #[doc = "CCM Clock Divider Register"]
23 pub CS1CDR: crate::RWRegister<u32>,
24 _reserved2: [u8; 0x04],
25 #[doc = "CCM D1 Clock Divider Register"]
26 pub CDCDR: crate::RWRegister<u32>,
27 _reserved3: [u8; 0x04],
28 #[doc = "CCM Serial Clock Divider Register 2"]
29 pub CSCDR2: crate::RWRegister<u32>,
30 _reserved4: [u8; 0x0c],
31 #[doc = "CCM Divider Handshake In-Process Register"]
32 pub CDHIPR: crate::RORegister<u32>,
33 _reserved5: [u8; 0x08],
34 #[doc = "CCM Low Power Control Register"]
35 pub CLPCR: crate::RWRegister<u32>,
36 #[doc = "CCM Interrupt Status Register"]
37 pub CISR: crate::RWRegister<u32>,
38 #[doc = "CCM Interrupt Mask Register"]
39 pub CIMR: crate::RWRegister<u32>,
40 #[doc = "CCM Clock Output Source Register"]
41 pub CCOSR: crate::RWRegister<u32>,
42 #[doc = "CCM General Purpose Register"]
43 pub CGPR: crate::RWRegister<u32>,
44 #[doc = "CCM Clock Gating Register 0"]
45 pub CCGR0: crate::RWRegister<u32>,
46 #[doc = "CCM Clock Gating Register 1"]
47 pub CCGR1: crate::RWRegister<u32>,
48 #[doc = "CCM Clock Gating Register 2"]
49 pub CCGR2: crate::RWRegister<u32>,
50 #[doc = "CCM Clock Gating Register 3"]
51 pub CCGR3: crate::RWRegister<u32>,
52 #[doc = "CCM Clock Gating Register 4"]
53 pub CCGR4: crate::RWRegister<u32>,
54 #[doc = "CCM Clock Gating Register 5"]
55 pub CCGR5: crate::RWRegister<u32>,
56 #[doc = "CCM Clock Gating Register 6"]
57 pub CCGR6: crate::RWRegister<u32>,
58 _reserved6: [u8; 0x04],
59 #[doc = "CCM Module Enable Overide Register"]
60 pub CMEOR: crate::RWRegister<u32>,
61}
62#[doc = "CCM Control Register"]
63pub mod CCR {
64 #[doc = "Oscillator ready counter value. These bits define value of 32KHz counter, that serve as counter for oscillator lock time (count to n+1 ckil's). This is used for oscillator lock time. Current estimation is ~5ms. This counter will be used in ignition sequence and in wake from stop sequence if sbyos bit was defined, to notify that on chip oscillator output is ready for the dpll_ip to use and only then the gate in dpll_ip can be opened."]
65 pub mod OSCNT {
66 pub const offset: u32 = 0;
67 pub const mask: u32 = 0xff << offset;
68 pub mod R {}
69 pub mod W {}
70 pub mod RW {}
71 }
72 #[doc = "On chip oscillator enable bit - this bit value is reflected on the output cosc_en"]
73 pub mod COSC_EN {
74 pub const offset: u32 = 12;
75 pub const mask: u32 = 0x01 << offset;
76 pub mod R {}
77 pub mod W {}
78 pub mod RW {
79 #[doc = "disable on chip oscillator"]
80 pub const COSC_EN_0: u32 = 0;
81 #[doc = "enable on chip oscillator"]
82 pub const COSC_EN_1: u32 = 0x01;
83 }
84 }
85 #[doc = "Counter for analog_reg_bypass signal assertion after standby voltage request by PMIC_STBY_REQ"]
86 pub mod REG_BYPASS_COUNT {
87 pub const offset: u32 = 21;
88 pub const mask: u32 = 0x3f << offset;
89 pub mod R {}
90 pub mod W {}
91 pub mod RW {
92 #[doc = "no delay"]
93 pub const REG_BYPASS_COUNT_0: u32 = 0;
94 #[doc = "1 CKIL clock period delay"]
95 pub const REG_BYPASS_COUNT_1: u32 = 0x01;
96 #[doc = "63 CKIL clock periods delay"]
97 pub const REG_BYPASS_COUNT_63: u32 = 0x3f;
98 }
99 }
100 #[doc = "Enable for REG_BYPASS_COUNTER"]
101 pub mod RBC_EN {
102 pub const offset: u32 = 27;
103 pub const mask: u32 = 0x01 << offset;
104 pub mod R {}
105 pub mod W {}
106 pub mod RW {
107 #[doc = "REG_BYPASS_COUNTER disabled"]
108 pub const RBC_EN_0: u32 = 0;
109 #[doc = "REG_BYPASS_COUNTER enabled."]
110 pub const RBC_EN_1: u32 = 0x01;
111 }
112 }
113}
114#[doc = "CCM Status Register"]
115pub mod CSR {
116 #[doc = "Status of the value of CCM_REF_EN_B output of ccm"]
117 pub mod REF_EN_B {
118 pub const offset: u32 = 0;
119 pub const mask: u32 = 0x01 << offset;
120 pub mod R {}
121 pub mod W {}
122 pub mod RW {
123 #[doc = "value of CCM_REF_EN_B is '0'"]
124 pub const REF_EN_B_0: u32 = 0;
125 #[doc = "value of CCM_REF_EN_B is '1'"]
126 pub const REF_EN_B_1: u32 = 0x01;
127 }
128 }
129 #[doc = "Status indication of CAMP2."]
130 pub mod CAMP2_READY {
131 pub const offset: u32 = 3;
132 pub const mask: u32 = 0x01 << offset;
133 pub mod R {}
134 pub mod W {}
135 pub mod RW {
136 #[doc = "CAMP2 is not ready."]
137 pub const CAMP2_READY_0: u32 = 0;
138 #[doc = "CAMP2 is ready."]
139 pub const CAMP2_READY_1: u32 = 0x01;
140 }
141 }
142 #[doc = "Status indication of on board oscillator"]
143 pub mod COSC_READY {
144 pub const offset: u32 = 5;
145 pub const mask: u32 = 0x01 << offset;
146 pub mod R {}
147 pub mod W {}
148 pub mod RW {
149 #[doc = "on board oscillator is not ready."]
150 pub const COSC_READY_0: u32 = 0;
151 #[doc = "on board oscillator is ready."]
152 pub const COSC_READY_1: u32 = 0x01;
153 }
154 }
155}
156#[doc = "CCM Clock Switcher Register"]
157pub mod CCSR {
158 #[doc = "Selects source to generate pll3_sw_clk. This bit should only be used for testing purposes."]
159 pub mod PLL3_SW_CLK_SEL {
160 pub const offset: u32 = 0;
161 pub const mask: u32 = 0x01 << offset;
162 pub mod R {}
163 pub mod W {}
164 pub mod RW {
165 #[doc = "pll3_main_clk"]
166 pub const PLL3_SW_CLK_SEL_0: u32 = 0;
167 #[doc = "pll3 bypass clock"]
168 pub const PLL3_SW_CLK_SEL_1: u32 = 0x01;
169 }
170 }
171}
172#[doc = "CCM Bus Clock Divider Register"]
173pub mod CBCDR {
174 #[doc = "Divider for ipg podf."]
175 pub mod IPG_PODF {
176 pub const offset: u32 = 8;
177 pub const mask: u32 = 0x03 << offset;
178 pub mod R {}
179 pub mod W {}
180 pub mod RW {
181 #[doc = "divide by 1"]
182 pub const IPG_PODF_0: u32 = 0;
183 #[doc = "divide by 2"]
184 pub const IPG_PODF_1: u32 = 0x01;
185 #[doc = "divide by 3"]
186 pub const IPG_PODF_2: u32 = 0x02;
187 #[doc = "divide by 4"]
188 pub const IPG_PODF_3: u32 = 0x03;
189 }
190 }
191 #[doc = "Divider for AHB PODF"]
192 pub mod AHB_PODF {
193 pub const offset: u32 = 10;
194 pub const mask: u32 = 0x07 << offset;
195 pub mod R {}
196 pub mod W {}
197 pub mod RW {
198 #[doc = "divide by 1"]
199 pub const AHB_PODF_0: u32 = 0;
200 #[doc = "divide by 2"]
201 pub const AHB_PODF_1: u32 = 0x01;
202 #[doc = "divide by 3"]
203 pub const AHB_PODF_2: u32 = 0x02;
204 #[doc = "divide by 4"]
205 pub const AHB_PODF_3: u32 = 0x03;
206 #[doc = "divide by 5"]
207 pub const AHB_PODF_4: u32 = 0x04;
208 #[doc = "divide by 6"]
209 pub const AHB_PODF_5: u32 = 0x05;
210 #[doc = "divide by 7"]
211 pub const AHB_PODF_6: u32 = 0x06;
212 #[doc = "divide by 8"]
213 pub const AHB_PODF_7: u32 = 0x07;
214 }
215 }
216 #[doc = "Selector for peripheral main clock"]
217 pub mod PERIPH_CLK_SEL {
218 pub const offset: u32 = 25;
219 pub const mask: u32 = 0x01 << offset;
220 pub mod R {}
221 pub mod W {}
222 pub mod RW {
223 #[doc = "derive clock selected by CCM_CBCMR\\[CORE_CLK_PRE_SEL\\]"]
224 pub const PERIPH_CLK_SEL_0: u32 = 0;
225 #[doc = "derive clock selected by CCM_CBCMR\\[PERIPH_CLK2_SEL\\]"]
226 pub const PERIPH_CLK_SEL_1: u32 = 0x01;
227 }
228 }
229}
230#[doc = "CCM Bus Clock Multiplexer Register"]
231pub mod CBCMR {
232 #[doc = "Selector for lpspi clock multiplexer"]
233 pub mod LPSPI_CLK_SEL {
234 pub const offset: u32 = 4;
235 pub const mask: u32 = 0x03 << offset;
236 pub mod R {}
237 pub mod W {}
238 pub mod RW {
239 #[doc = "derive clock from PLL3 PFD1 clk"]
240 pub const LPSPI_CLK_SEL_0: u32 = 0;
241 #[doc = "derive clock from PLL3 PFD0"]
242 pub const LPSPI_CLK_SEL_1: u32 = 0x01;
243 #[doc = "derive clock from PLL2"]
244 pub const LPSPI_CLK_SEL_2: u32 = 0x02;
245 #[doc = "derive clock from PLL2 PFD2"]
246 pub const LPSPI_CLK_SEL_3: u32 = 0x03;
247 }
248 }
249 #[doc = "Selector for peripheral clk2 clock multiplexer"]
250 pub mod PERIPH_CLK2_SEL {
251 pub const offset: u32 = 12;
252 pub const mask: u32 = 0x03 << offset;
253 pub mod R {}
254 pub mod W {}
255 pub mod RW {
256 #[doc = "derive clock from pll3_sw_clk"]
257 pub const PERIPH_CLK2_SEL_0: u32 = 0;
258 #[doc = "derive clock from osc_clk"]
259 pub const PERIPH_CLK2_SEL_1: u32 = 0x01;
260 #[doc = "derive clock from pll2_bypass_clk"]
261 pub const PERIPH_CLK2_SEL_2: u32 = 0x02;
262 }
263 }
264 #[doc = "Selector for Trace clock multiplexer"]
265 pub mod TRACE_CLK_SEL {
266 pub const offset: u32 = 14;
267 pub const mask: u32 = 0x03 << offset;
268 pub mod R {}
269 pub mod W {}
270 pub mod RW {
271 #[doc = "derive clock from PLL2"]
272 pub const TRACE_CLK_SEL_0: u32 = 0;
273 #[doc = "derive clock from PLL2 PFD2"]
274 pub const TRACE_CLK_SEL_1: u32 = 0x01;
275 #[doc = "derive clock from PLL2 PFD0"]
276 pub const TRACE_CLK_SEL_2: u32 = 0x02;
277 #[doc = "derive clock from PLL2 PFD1"]
278 pub const TRACE_CLK_SEL_3: u32 = 0x03;
279 }
280 }
281 #[doc = "Selector for pre_periph clock multiplexer"]
282 pub mod PRE_PERIPH_CLK_SEL {
283 pub const offset: u32 = 18;
284 pub const mask: u32 = 0x03 << offset;
285 pub mod R {}
286 pub mod W {}
287 pub mod RW {
288 #[doc = "derive clock from PLL2"]
289 pub const PRE_PERIPH_CLK_SEL_0: u32 = 0;
290 #[doc = "derive clock from PLL3 PFD3"]
291 pub const PRE_PERIPH_CLK_SEL_1: u32 = 0x01;
292 #[doc = "derive clock from PLL2 PFD3"]
293 pub const PRE_PERIPH_CLK_SEL_2: u32 = 0x02;
294 #[doc = "derive clock from PLL6"]
295 pub const PRE_PERIPH_CLK_SEL_3: u32 = 0x03;
296 }
297 }
298 #[doc = "Divider for LPSPI. Divider should be updated when output clock is gated."]
299 pub mod LPSPI_PODF {
300 pub const offset: u32 = 26;
301 pub const mask: u32 = 0x0f << offset;
302 pub mod R {}
303 pub mod W {}
304 pub mod RW {
305 #[doc = "divide by 1"]
306 pub const LPSPI_PODF_0: u32 = 0;
307 #[doc = "divide by 2"]
308 pub const LPSPI_PODF_1: u32 = 0x01;
309 #[doc = "divide by 3"]
310 pub const LPSPI_PODF_2: u32 = 0x02;
311 #[doc = "divide by 4"]
312 pub const LPSPI_PODF_3: u32 = 0x03;
313 #[doc = "divide by 5"]
314 pub const LPSPI_PODF_4: u32 = 0x04;
315 #[doc = "divide by 6"]
316 pub const LPSPI_PODF_5: u32 = 0x05;
317 #[doc = "divide by 7"]
318 pub const LPSPI_PODF_6: u32 = 0x06;
319 #[doc = "divide by 8"]
320 pub const LPSPI_PODF_7: u32 = 0x07;
321 #[doc = "divide by 9"]
322 pub const LPSPI_PODF_8: u32 = 0x08;
323 #[doc = "divide by 10"]
324 pub const LPSPI_PODF_9: u32 = 0x09;
325 #[doc = "divide by 11"]
326 pub const LPSPI_PODF_10: u32 = 0x0a;
327 #[doc = "divide by 12"]
328 pub const LPSPI_PODF_11: u32 = 0x0b;
329 #[doc = "divide by 13"]
330 pub const LPSPI_PODF_12: u32 = 0x0c;
331 #[doc = "divide by 14"]
332 pub const LPSPI_PODF_13: u32 = 0x0d;
333 #[doc = "divide by 15"]
334 pub const LPSPI_PODF_14: u32 = 0x0e;
335 #[doc = "divide by 16"]
336 pub const LPSPI_PODF_15: u32 = 0x0f;
337 }
338 }
339}
340#[doc = "CCM Serial Clock Multiplexer Register 1"]
341pub mod CSCMR1 {
342 #[doc = "Divider for perclk podf."]
343 pub mod PERCLK_PODF {
344 pub const offset: u32 = 0;
345 pub const mask: u32 = 0x3f << offset;
346 pub mod R {}
347 pub mod W {}
348 pub mod RW {
349 #[doc = "Divide by 1"]
350 pub const DIVIDE_1: u32 = 0;
351 #[doc = "Divide by 2"]
352 pub const DIVIDE_2: u32 = 0x01;
353 #[doc = "Divide by 3"]
354 pub const DIVIDE_3: u32 = 0x02;
355 #[doc = "Divide by 4"]
356 pub const DIVIDE_4: u32 = 0x03;
357 #[doc = "Divide by 5"]
358 pub const DIVIDE_5: u32 = 0x04;
359 #[doc = "Divide by 6"]
360 pub const DIVIDE_6: u32 = 0x05;
361 #[doc = "Divide by 7"]
362 pub const DIVIDE_7: u32 = 0x06;
363 #[doc = "Divide by 8"]
364 pub const DIVIDE_8: u32 = 0x07;
365 #[doc = "Divide by 9"]
366 pub const DIVIDE_9: u32 = 0x08;
367 #[doc = "Divide by 10"]
368 pub const DIVIDE_10: u32 = 0x09;
369 #[doc = "Divide by 11"]
370 pub const DIVIDE_11: u32 = 0x0a;
371 #[doc = "Divide by 12"]
372 pub const DIVIDE_12: u32 = 0x0b;
373 #[doc = "Divide by 13"]
374 pub const DIVIDE_13: u32 = 0x0c;
375 #[doc = "Divide by 14"]
376 pub const DIVIDE_14: u32 = 0x0d;
377 #[doc = "Divide by 15"]
378 pub const DIVIDE_15: u32 = 0x0e;
379 #[doc = "Divide by 16"]
380 pub const DIVIDE_16: u32 = 0x0f;
381 #[doc = "Divide by 17"]
382 pub const DIVIDE_17: u32 = 0x10;
383 #[doc = "Divide by 18"]
384 pub const DIVIDE_18: u32 = 0x11;
385 #[doc = "Divide by 19"]
386 pub const DIVIDE_19: u32 = 0x12;
387 #[doc = "Divide by 20"]
388 pub const DIVIDE_20: u32 = 0x13;
389 #[doc = "Divide by 21"]
390 pub const DIVIDE_21: u32 = 0x14;
391 #[doc = "Divide by 22"]
392 pub const DIVIDE_22: u32 = 0x15;
393 #[doc = "Divide by 23"]
394 pub const DIVIDE_23: u32 = 0x16;
395 #[doc = "Divide by 24"]
396 pub const DIVIDE_24: u32 = 0x17;
397 #[doc = "Divide by 25"]
398 pub const DIVIDE_25: u32 = 0x18;
399 #[doc = "Divide by 26"]
400 pub const DIVIDE_26: u32 = 0x19;
401 #[doc = "Divide by 27"]
402 pub const DIVIDE_27: u32 = 0x1a;
403 #[doc = "Divide by 28"]
404 pub const DIVIDE_28: u32 = 0x1b;
405 #[doc = "Divide by 29"]
406 pub const DIVIDE_29: u32 = 0x1c;
407 #[doc = "Divide by 30"]
408 pub const DIVIDE_30: u32 = 0x1d;
409 #[doc = "Divide by 31"]
410 pub const DIVIDE_31: u32 = 0x1e;
411 #[doc = "Divide by 32"]
412 pub const DIVIDE_32: u32 = 0x1f;
413 #[doc = "Divide by 33"]
414 pub const DIVIDE_33: u32 = 0x20;
415 #[doc = "Divide by 34"]
416 pub const DIVIDE_34: u32 = 0x21;
417 #[doc = "Divide by 35"]
418 pub const DIVIDE_35: u32 = 0x22;
419 #[doc = "Divide by 36"]
420 pub const DIVIDE_36: u32 = 0x23;
421 #[doc = "Divide by 37"]
422 pub const DIVIDE_37: u32 = 0x24;
423 #[doc = "Divide by 38"]
424 pub const DIVIDE_38: u32 = 0x25;
425 #[doc = "Divide by 39"]
426 pub const DIVIDE_39: u32 = 0x26;
427 #[doc = "Divide by 40"]
428 pub const DIVIDE_40: u32 = 0x27;
429 #[doc = "Divide by 41"]
430 pub const DIVIDE_41: u32 = 0x28;
431 #[doc = "Divide by 42"]
432 pub const DIVIDE_42: u32 = 0x29;
433 #[doc = "Divide by 43"]
434 pub const DIVIDE_43: u32 = 0x2a;
435 #[doc = "Divide by 44"]
436 pub const DIVIDE_44: u32 = 0x2b;
437 #[doc = "Divide by 45"]
438 pub const DIVIDE_45: u32 = 0x2c;
439 #[doc = "Divide by 46"]
440 pub const DIVIDE_46: u32 = 0x2d;
441 #[doc = "Divide by 47"]
442 pub const DIVIDE_47: u32 = 0x2e;
443 #[doc = "Divide by 48"]
444 pub const DIVIDE_48: u32 = 0x2f;
445 #[doc = "Divide by 49"]
446 pub const DIVIDE_49: u32 = 0x30;
447 #[doc = "Divide by 50"]
448 pub const DIVIDE_50: u32 = 0x31;
449 #[doc = "Divide by 51"]
450 pub const DIVIDE_51: u32 = 0x32;
451 #[doc = "Divide by 52"]
452 pub const DIVIDE_52: u32 = 0x33;
453 #[doc = "Divide by 53"]
454 pub const DIVIDE_53: u32 = 0x34;
455 #[doc = "Divide by 54"]
456 pub const DIVIDE_54: u32 = 0x35;
457 #[doc = "Divide by 55"]
458 pub const DIVIDE_55: u32 = 0x36;
459 #[doc = "Divide by 56"]
460 pub const DIVIDE_56: u32 = 0x37;
461 #[doc = "Divide by 57"]
462 pub const DIVIDE_57: u32 = 0x38;
463 #[doc = "Divide by 58"]
464 pub const DIVIDE_58: u32 = 0x39;
465 #[doc = "Divide by 59"]
466 pub const DIVIDE_59: u32 = 0x3a;
467 #[doc = "Divide by 60"]
468 pub const DIVIDE_60: u32 = 0x3b;
469 #[doc = "Divide by 61"]
470 pub const DIVIDE_61: u32 = 0x3c;
471 #[doc = "Divide by 62"]
472 pub const DIVIDE_62: u32 = 0x3d;
473 #[doc = "Divide by 63"]
474 pub const DIVIDE_63: u32 = 0x3e;
475 #[doc = "Divide by 64"]
476 pub const DIVIDE_64: u32 = 0x3f;
477 }
478 }
479 #[doc = "Selector for the perclk clock multiplexor"]
480 pub mod PERCLK_CLK_SEL {
481 pub const offset: u32 = 6;
482 pub const mask: u32 = 0x01 << offset;
483 pub mod R {}
484 pub mod W {}
485 pub mod RW {
486 #[doc = "derive clock from ipg clk root"]
487 pub const PERCLK_CLK_SEL_0: u32 = 0;
488 #[doc = "derive clock from osc_clk"]
489 pub const PERCLK_CLK_SEL_1: u32 = 0x01;
490 }
491 }
492 #[doc = "Selector for sai1 clock multiplexer"]
493 pub mod SAI1_CLK_SEL {
494 pub const offset: u32 = 10;
495 pub const mask: u32 = 0x03 << offset;
496 pub mod R {}
497 pub mod W {}
498 pub mod RW {
499 #[doc = "derive clock from PLL3 PFD2"]
500 pub const SAI1_CLK_SEL_0: u32 = 0;
501 #[doc = "derive from pll3_sw_clk"]
502 pub const SAI1_CLK_SEL_1: u32 = 0x01;
503 #[doc = "derive clock from PLL4"]
504 pub const SAI1_CLK_SEL_2: u32 = 0x02;
505 }
506 }
507 #[doc = "Selector for sai3 clock multiplexer"]
508 pub mod SAI3_CLK_SEL {
509 pub const offset: u32 = 14;
510 pub const mask: u32 = 0x03 << offset;
511 pub mod R {}
512 pub mod W {}
513 pub mod RW {
514 #[doc = "derive clock from PLL3 PFD2"]
515 pub const SAI3_CLK_SEL_0: u32 = 0;
516 #[doc = "derive from pll3_sw_clk"]
517 pub const SAI3_CLK_SEL_1: u32 = 0x01;
518 #[doc = "derive clock from PLL4"]
519 pub const SAI3_CLK_SEL_2: u32 = 0x02;
520 }
521 }
522 #[doc = "Divider for flexspi clock root."]
523 pub mod FLEXSPI_PODF {
524 pub const offset: u32 = 23;
525 pub const mask: u32 = 0x07 << offset;
526 pub mod R {}
527 pub mod W {}
528 pub mod RW {
529 #[doc = "divide by 1"]
530 pub const FLEXSPI_PODF_0: u32 = 0;
531 #[doc = "divide by 2"]
532 pub const FLEXSPI_PODF_1: u32 = 0x01;
533 #[doc = "divide by 3"]
534 pub const FLEXSPI_PODF_2: u32 = 0x02;
535 #[doc = "divide by 4"]
536 pub const FLEXSPI_PODF_3: u32 = 0x03;
537 #[doc = "divide by 5"]
538 pub const FLEXSPI_PODF_4: u32 = 0x04;
539 #[doc = "divide by 6"]
540 pub const FLEXSPI_PODF_5: u32 = 0x05;
541 #[doc = "divide by 7"]
542 pub const FLEXSPI_PODF_6: u32 = 0x06;
543 #[doc = "divide by 8"]
544 pub const FLEXSPI_PODF_7: u32 = 0x07;
545 }
546 }
547 #[doc = "Selector for flexspi clock multiplexer"]
548 pub mod FLEXSPI_CLK_SEL {
549 pub const offset: u32 = 29;
550 pub const mask: u32 = 0x03 << offset;
551 pub mod R {}
552 pub mod W {}
553 pub mod RW {
554 #[doc = "derive clock from PLL2"]
555 pub const FLEXSPI_CLK_SEL_0: u32 = 0;
556 #[doc = "derive clock from pll3_sw_clk"]
557 pub const FLEXSPI_CLK_SEL_1: u32 = 0x01;
558 #[doc = "derive clock from PLL2 PFD2"]
559 pub const FLEXSPI_CLK_SEL_2: u32 = 0x02;
560 #[doc = "derive clock from PLL3 PFD0"]
561 pub const FLEXSPI_CLK_SEL_3: u32 = 0x03;
562 }
563 }
564 #[doc = "Select for source of flexspi_clk_root"]
565 pub mod FLEXSPI_CLK_SRC {
566 pub const offset: u32 = 31;
567 pub const mask: u32 = 0x01 << offset;
568 pub mod R {}
569 pub mod W {}
570 pub mod RW {
571 #[doc = "derive clock selected by CCM_CSCMR1\\[FLEXSPI_CLK_SEL\\]"]
572 pub const FLEXSPI_CLK_SRC_0: u32 = 0;
573 #[doc = "derive clock selected by CCM_CBCMR\\[PERIPH_CLK2_ SEL\\]"]
574 pub const FLEXSPI_CLK_SRC_1: u32 = 0x01;
575 }
576 }
577}
578#[doc = "CCM Serial Clock Multiplexer Register 2"]
579pub mod CSCMR2 {
580 #[doc = "Selector for flexio1 clock multiplexer"]
581 pub mod FLEXIO1_CLK_SEL {
582 pub const offset: u32 = 19;
583 pub const mask: u32 = 0x03 << offset;
584 pub mod R {}
585 pub mod W {}
586 pub mod RW {
587 #[doc = "derive clock from PLL4 divided clock"]
588 pub const FLEXIO1_CLK_SEL_0: u32 = 0;
589 #[doc = "derive clock from PLL3 PFD2 clock"]
590 pub const FLEXIO1_CLK_SEL_1: u32 = 0x01;
591 #[doc = "derive from PLL2"]
592 pub const FLEXIO1_CLK_SEL_2: u32 = 0x02;
593 #[doc = "derive clock from pll3_sw_clk"]
594 pub const FLEXIO1_CLK_SEL_3: u32 = 0x03;
595 }
596 }
597 #[doc = "Divider for ADC alt_clk, as the list below (other values reserved)."]
598 pub mod ADC_ACLK_PODF {
599 pub const offset: u32 = 27;
600 pub const mask: u32 = 0x0f << offset;
601 pub mod R {}
602 pub mod W {}
603 pub mod RW {
604 #[doc = "pll3_sw_clk / 8"]
605 pub const ADC_ACLK_PODF_7: u32 = 0x07;
606 #[doc = "pll3_sw_clk / 12"]
607 pub const ADC_ACLK_PODF_11: u32 = 0x0b;
608 #[doc = "pll3_sw_clk / 16"]
609 pub const ADC_ACLK_PODF_15: u32 = 0x0f;
610 }
611 }
612 #[doc = "Enable ADC alt_clk, so that ADC alt_clk can be driven be divided pll3_sw_clk."]
613 pub mod ADC_ACLK_EN {
614 pub const offset: u32 = 31;
615 pub const mask: u32 = 0x01 << offset;
616 pub mod R {}
617 pub mod W {}
618 pub mod RW {
619 #[doc = "ADC alt_clk source is disabled"]
620 pub const ADC_ACLK_EN_0: u32 = 0;
621 #[doc = "ADC alt_clk source is enabled"]
622 pub const ADC_ACLK_EN_1: u32 = 0x01;
623 }
624 }
625}
626#[doc = "CCM Serial Clock Divider Register 1"]
627pub mod CSCDR1 {
628 #[doc = "Divider for uart clock podf."]
629 pub mod UART_CLK_PODF {
630 pub const offset: u32 = 0;
631 pub const mask: u32 = 0x3f << offset;
632 pub mod R {}
633 pub mod W {}
634 pub mod RW {
635 #[doc = "Divide by 1"]
636 pub const DIVIDE_1: u32 = 0;
637 #[doc = "Divide by 2"]
638 pub const DIVIDE_2: u32 = 0x01;
639 #[doc = "Divide by 3"]
640 pub const DIVIDE_3: u32 = 0x02;
641 #[doc = "Divide by 4"]
642 pub const DIVIDE_4: u32 = 0x03;
643 #[doc = "Divide by 5"]
644 pub const DIVIDE_5: u32 = 0x04;
645 #[doc = "Divide by 6"]
646 pub const DIVIDE_6: u32 = 0x05;
647 #[doc = "Divide by 7"]
648 pub const DIVIDE_7: u32 = 0x06;
649 #[doc = "Divide by 8"]
650 pub const DIVIDE_8: u32 = 0x07;
651 #[doc = "Divide by 9"]
652 pub const DIVIDE_9: u32 = 0x08;
653 #[doc = "Divide by 10"]
654 pub const DIVIDE_10: u32 = 0x09;
655 #[doc = "Divide by 11"]
656 pub const DIVIDE_11: u32 = 0x0a;
657 #[doc = "Divide by 12"]
658 pub const DIVIDE_12: u32 = 0x0b;
659 #[doc = "Divide by 13"]
660 pub const DIVIDE_13: u32 = 0x0c;
661 #[doc = "Divide by 14"]
662 pub const DIVIDE_14: u32 = 0x0d;
663 #[doc = "Divide by 15"]
664 pub const DIVIDE_15: u32 = 0x0e;
665 #[doc = "Divide by 16"]
666 pub const DIVIDE_16: u32 = 0x0f;
667 #[doc = "Divide by 17"]
668 pub const DIVIDE_17: u32 = 0x10;
669 #[doc = "Divide by 18"]
670 pub const DIVIDE_18: u32 = 0x11;
671 #[doc = "Divide by 19"]
672 pub const DIVIDE_19: u32 = 0x12;
673 #[doc = "Divide by 20"]
674 pub const DIVIDE_20: u32 = 0x13;
675 #[doc = "Divide by 21"]
676 pub const DIVIDE_21: u32 = 0x14;
677 #[doc = "Divide by 22"]
678 pub const DIVIDE_22: u32 = 0x15;
679 #[doc = "Divide by 23"]
680 pub const DIVIDE_23: u32 = 0x16;
681 #[doc = "Divide by 24"]
682 pub const DIVIDE_24: u32 = 0x17;
683 #[doc = "Divide by 25"]
684 pub const DIVIDE_25: u32 = 0x18;
685 #[doc = "Divide by 26"]
686 pub const DIVIDE_26: u32 = 0x19;
687 #[doc = "Divide by 27"]
688 pub const DIVIDE_27: u32 = 0x1a;
689 #[doc = "Divide by 28"]
690 pub const DIVIDE_28: u32 = 0x1b;
691 #[doc = "Divide by 29"]
692 pub const DIVIDE_29: u32 = 0x1c;
693 #[doc = "Divide by 30"]
694 pub const DIVIDE_30: u32 = 0x1d;
695 #[doc = "Divide by 31"]
696 pub const DIVIDE_31: u32 = 0x1e;
697 #[doc = "Divide by 32"]
698 pub const DIVIDE_32: u32 = 0x1f;
699 #[doc = "Divide by 33"]
700 pub const DIVIDE_33: u32 = 0x20;
701 #[doc = "Divide by 34"]
702 pub const DIVIDE_34: u32 = 0x21;
703 #[doc = "Divide by 35"]
704 pub const DIVIDE_35: u32 = 0x22;
705 #[doc = "Divide by 36"]
706 pub const DIVIDE_36: u32 = 0x23;
707 #[doc = "Divide by 37"]
708 pub const DIVIDE_37: u32 = 0x24;
709 #[doc = "Divide by 38"]
710 pub const DIVIDE_38: u32 = 0x25;
711 #[doc = "Divide by 39"]
712 pub const DIVIDE_39: u32 = 0x26;
713 #[doc = "Divide by 40"]
714 pub const DIVIDE_40: u32 = 0x27;
715 #[doc = "Divide by 41"]
716 pub const DIVIDE_41: u32 = 0x28;
717 #[doc = "Divide by 42"]
718 pub const DIVIDE_42: u32 = 0x29;
719 #[doc = "Divide by 43"]
720 pub const DIVIDE_43: u32 = 0x2a;
721 #[doc = "Divide by 44"]
722 pub const DIVIDE_44: u32 = 0x2b;
723 #[doc = "Divide by 45"]
724 pub const DIVIDE_45: u32 = 0x2c;
725 #[doc = "Divide by 46"]
726 pub const DIVIDE_46: u32 = 0x2d;
727 #[doc = "Divide by 47"]
728 pub const DIVIDE_47: u32 = 0x2e;
729 #[doc = "Divide by 48"]
730 pub const DIVIDE_48: u32 = 0x2f;
731 #[doc = "Divide by 49"]
732 pub const DIVIDE_49: u32 = 0x30;
733 #[doc = "Divide by 50"]
734 pub const DIVIDE_50: u32 = 0x31;
735 #[doc = "Divide by 51"]
736 pub const DIVIDE_51: u32 = 0x32;
737 #[doc = "Divide by 52"]
738 pub const DIVIDE_52: u32 = 0x33;
739 #[doc = "Divide by 53"]
740 pub const DIVIDE_53: u32 = 0x34;
741 #[doc = "Divide by 54"]
742 pub const DIVIDE_54: u32 = 0x35;
743 #[doc = "Divide by 55"]
744 pub const DIVIDE_55: u32 = 0x36;
745 #[doc = "Divide by 56"]
746 pub const DIVIDE_56: u32 = 0x37;
747 #[doc = "Divide by 57"]
748 pub const DIVIDE_57: u32 = 0x38;
749 #[doc = "Divide by 58"]
750 pub const DIVIDE_58: u32 = 0x39;
751 #[doc = "Divide by 59"]
752 pub const DIVIDE_59: u32 = 0x3a;
753 #[doc = "Divide by 60"]
754 pub const DIVIDE_60: u32 = 0x3b;
755 #[doc = "Divide by 61"]
756 pub const DIVIDE_61: u32 = 0x3c;
757 #[doc = "Divide by 62"]
758 pub const DIVIDE_62: u32 = 0x3d;
759 #[doc = "Divide by 63"]
760 pub const DIVIDE_63: u32 = 0x3e;
761 #[doc = "Divide by 64"]
762 pub const DIVIDE_64: u32 = 0x3f;
763 }
764 }
765 #[doc = "Selector for the UART clock multiplexor"]
766 pub mod UART_CLK_SEL {
767 pub const offset: u32 = 6;
768 pub const mask: u32 = 0x03 << offset;
769 pub mod R {}
770 pub mod W {}
771 pub mod RW {
772 #[doc = "derive clock from pll3_80m"]
773 pub const UART_CLK_SEL_0: u32 = 0;
774 #[doc = "derive clock from osc_clk"]
775 pub const UART_CLK_SEL_1: u32 = 0x01;
776 #[doc = "derive clock from per_clk_root"]
777 pub const UART_CLK_SEL_2: u32 = 0x02;
778 }
779 }
780 #[doc = "Divider for trace clock. Divider should be updated when output clock is gated."]
781 pub mod TRACE_PODF {
782 pub const offset: u32 = 25;
783 pub const mask: u32 = 0x0f << offset;
784 pub mod R {}
785 pub mod W {}
786 pub mod RW {
787 #[doc = "divide by 1"]
788 pub const TRACE_PODF_0: u32 = 0;
789 #[doc = "divide by 2"]
790 pub const TRACE_PODF_1: u32 = 0x01;
791 #[doc = "divide by 3"]
792 pub const TRACE_PODF_2: u32 = 0x02;
793 #[doc = "divide by 4"]
794 pub const TRACE_PODF_3: u32 = 0x03;
795 #[doc = "divide by 5"]
796 pub const TRACE_PODF_4: u32 = 0x04;
797 #[doc = "divide by 6"]
798 pub const TRACE_PODF_5: u32 = 0x05;
799 #[doc = "divide by 7"]
800 pub const TRACE_PODF_6: u32 = 0x06;
801 #[doc = "divide by 8"]
802 pub const TRACE_PODF_7: u32 = 0x07;
803 #[doc = "divide by 9"]
804 pub const TRACE_PODF_8: u32 = 0x08;
805 #[doc = "divide by 10"]
806 pub const TRACE_PODF_9: u32 = 0x09;
807 #[doc = "divide by 11"]
808 pub const TRACE_PODF_10: u32 = 0x0a;
809 #[doc = "divide by 12"]
810 pub const TRACE_PODF_11: u32 = 0x0b;
811 #[doc = "divide by 13"]
812 pub const TRACE_PODF_12: u32 = 0x0c;
813 #[doc = "divide by 14"]
814 pub const TRACE_PODF_13: u32 = 0x0d;
815 #[doc = "divide by 15"]
816 pub const TRACE_PODF_14: u32 = 0x0e;
817 #[doc = "divide by 16"]
818 pub const TRACE_PODF_15: u32 = 0x0f;
819 }
820 }
821}
822#[doc = "CCM Clock Divider Register"]
823pub mod CS1CDR {
824 #[doc = "Divider for sai1 clock podf. The input clock to this divider should be lower than 300Mhz, the predivider can be used to achieve this."]
825 pub mod SAI1_CLK_PODF {
826 pub const offset: u32 = 0;
827 pub const mask: u32 = 0x3f << offset;
828 pub mod R {}
829 pub mod W {}
830 pub mod RW {
831 #[doc = "Divide by 1"]
832 pub const DIVIDE_1: u32 = 0;
833 #[doc = "Divide by 2"]
834 pub const DIVIDE_2: u32 = 0x01;
835 #[doc = "Divide by 3"]
836 pub const DIVIDE_3: u32 = 0x02;
837 #[doc = "Divide by 4"]
838 pub const DIVIDE_4: u32 = 0x03;
839 #[doc = "Divide by 5"]
840 pub const DIVIDE_5: u32 = 0x04;
841 #[doc = "Divide by 6"]
842 pub const DIVIDE_6: u32 = 0x05;
843 #[doc = "Divide by 7"]
844 pub const DIVIDE_7: u32 = 0x06;
845 #[doc = "Divide by 8"]
846 pub const DIVIDE_8: u32 = 0x07;
847 #[doc = "Divide by 9"]
848 pub const DIVIDE_9: u32 = 0x08;
849 #[doc = "Divide by 10"]
850 pub const DIVIDE_10: u32 = 0x09;
851 #[doc = "Divide by 11"]
852 pub const DIVIDE_11: u32 = 0x0a;
853 #[doc = "Divide by 12"]
854 pub const DIVIDE_12: u32 = 0x0b;
855 #[doc = "Divide by 13"]
856 pub const DIVIDE_13: u32 = 0x0c;
857 #[doc = "Divide by 14"]
858 pub const DIVIDE_14: u32 = 0x0d;
859 #[doc = "Divide by 15"]
860 pub const DIVIDE_15: u32 = 0x0e;
861 #[doc = "Divide by 16"]
862 pub const DIVIDE_16: u32 = 0x0f;
863 #[doc = "Divide by 17"]
864 pub const DIVIDE_17: u32 = 0x10;
865 #[doc = "Divide by 18"]
866 pub const DIVIDE_18: u32 = 0x11;
867 #[doc = "Divide by 19"]
868 pub const DIVIDE_19: u32 = 0x12;
869 #[doc = "Divide by 20"]
870 pub const DIVIDE_20: u32 = 0x13;
871 #[doc = "Divide by 21"]
872 pub const DIVIDE_21: u32 = 0x14;
873 #[doc = "Divide by 22"]
874 pub const DIVIDE_22: u32 = 0x15;
875 #[doc = "Divide by 23"]
876 pub const DIVIDE_23: u32 = 0x16;
877 #[doc = "Divide by 24"]
878 pub const DIVIDE_24: u32 = 0x17;
879 #[doc = "Divide by 25"]
880 pub const DIVIDE_25: u32 = 0x18;
881 #[doc = "Divide by 26"]
882 pub const DIVIDE_26: u32 = 0x19;
883 #[doc = "Divide by 27"]
884 pub const DIVIDE_27: u32 = 0x1a;
885 #[doc = "Divide by 28"]
886 pub const DIVIDE_28: u32 = 0x1b;
887 #[doc = "Divide by 29"]
888 pub const DIVIDE_29: u32 = 0x1c;
889 #[doc = "Divide by 30"]
890 pub const DIVIDE_30: u32 = 0x1d;
891 #[doc = "Divide by 31"]
892 pub const DIVIDE_31: u32 = 0x1e;
893 #[doc = "Divide by 32"]
894 pub const DIVIDE_32: u32 = 0x1f;
895 #[doc = "Divide by 33"]
896 pub const DIVIDE_33: u32 = 0x20;
897 #[doc = "Divide by 34"]
898 pub const DIVIDE_34: u32 = 0x21;
899 #[doc = "Divide by 35"]
900 pub const DIVIDE_35: u32 = 0x22;
901 #[doc = "Divide by 36"]
902 pub const DIVIDE_36: u32 = 0x23;
903 #[doc = "Divide by 37"]
904 pub const DIVIDE_37: u32 = 0x24;
905 #[doc = "Divide by 38"]
906 pub const DIVIDE_38: u32 = 0x25;
907 #[doc = "Divide by 39"]
908 pub const DIVIDE_39: u32 = 0x26;
909 #[doc = "Divide by 40"]
910 pub const DIVIDE_40: u32 = 0x27;
911 #[doc = "Divide by 41"]
912 pub const DIVIDE_41: u32 = 0x28;
913 #[doc = "Divide by 42"]
914 pub const DIVIDE_42: u32 = 0x29;
915 #[doc = "Divide by 43"]
916 pub const DIVIDE_43: u32 = 0x2a;
917 #[doc = "Divide by 44"]
918 pub const DIVIDE_44: u32 = 0x2b;
919 #[doc = "Divide by 45"]
920 pub const DIVIDE_45: u32 = 0x2c;
921 #[doc = "Divide by 46"]
922 pub const DIVIDE_46: u32 = 0x2d;
923 #[doc = "Divide by 47"]
924 pub const DIVIDE_47: u32 = 0x2e;
925 #[doc = "Divide by 48"]
926 pub const DIVIDE_48: u32 = 0x2f;
927 #[doc = "Divide by 49"]
928 pub const DIVIDE_49: u32 = 0x30;
929 #[doc = "Divide by 50"]
930 pub const DIVIDE_50: u32 = 0x31;
931 #[doc = "Divide by 51"]
932 pub const DIVIDE_51: u32 = 0x32;
933 #[doc = "Divide by 52"]
934 pub const DIVIDE_52: u32 = 0x33;
935 #[doc = "Divide by 53"]
936 pub const DIVIDE_53: u32 = 0x34;
937 #[doc = "Divide by 54"]
938 pub const DIVIDE_54: u32 = 0x35;
939 #[doc = "Divide by 55"]
940 pub const DIVIDE_55: u32 = 0x36;
941 #[doc = "Divide by 56"]
942 pub const DIVIDE_56: u32 = 0x37;
943 #[doc = "Divide by 57"]
944 pub const DIVIDE_57: u32 = 0x38;
945 #[doc = "Divide by 58"]
946 pub const DIVIDE_58: u32 = 0x39;
947 #[doc = "Divide by 59"]
948 pub const DIVIDE_59: u32 = 0x3a;
949 #[doc = "Divide by 60"]
950 pub const DIVIDE_60: u32 = 0x3b;
951 #[doc = "Divide by 61"]
952 pub const DIVIDE_61: u32 = 0x3c;
953 #[doc = "Divide by 62"]
954 pub const DIVIDE_62: u32 = 0x3d;
955 #[doc = "Divide by 63"]
956 pub const DIVIDE_63: u32 = 0x3e;
957 #[doc = "Divide by 64"]
958 pub const DIVIDE_64: u32 = 0x3f;
959 }
960 }
961 #[doc = "Divider for sai1 clock pred."]
962 pub mod SAI1_CLK_PRED {
963 pub const offset: u32 = 6;
964 pub const mask: u32 = 0x07 << offset;
965 pub mod R {}
966 pub mod W {}
967 pub mod RW {
968 #[doc = "divide by 1"]
969 pub const SAI1_CLK_PRED_0: u32 = 0;
970 #[doc = "divide by 2"]
971 pub const SAI1_CLK_PRED_1: u32 = 0x01;
972 #[doc = "divide by 3"]
973 pub const SAI1_CLK_PRED_2: u32 = 0x02;
974 #[doc = "divide by 4"]
975 pub const SAI1_CLK_PRED_3: u32 = 0x03;
976 #[doc = "divide by 5"]
977 pub const SAI1_CLK_PRED_4: u32 = 0x04;
978 #[doc = "divide by 6"]
979 pub const SAI1_CLK_PRED_5: u32 = 0x05;
980 #[doc = "divide by 7"]
981 pub const SAI1_CLK_PRED_6: u32 = 0x06;
982 #[doc = "divide by 8"]
983 pub const SAI1_CLK_PRED_7: u32 = 0x07;
984 }
985 }
986 #[doc = "Divider for flexio1 clock."]
987 pub mod FLEXIO1_CLK_PRED {
988 pub const offset: u32 = 9;
989 pub const mask: u32 = 0x07 << offset;
990 pub mod R {}
991 pub mod W {}
992 pub mod RW {
993 #[doc = "divide by 1"]
994 pub const FLEXIO1_CLK_PRED_0: u32 = 0;
995 #[doc = "divide by 2"]
996 pub const FLEXIO1_CLK_PRED_1: u32 = 0x01;
997 #[doc = "divide by 3"]
998 pub const FLEXIO1_CLK_PRED_2: u32 = 0x02;
999 #[doc = "divide by 4"]
1000 pub const FLEXIO1_CLK_PRED_3: u32 = 0x03;
1001 #[doc = "divide by 5"]
1002 pub const FLEXIO1_CLK_PRED_4: u32 = 0x04;
1003 #[doc = "divide by 6"]
1004 pub const FLEXIO1_CLK_PRED_5: u32 = 0x05;
1005 #[doc = "divide by 7"]
1006 pub const FLEXIO1_CLK_PRED_6: u32 = 0x06;
1007 #[doc = "divide by 8"]
1008 pub const FLEXIO1_CLK_PRED_7: u32 = 0x07;
1009 }
1010 }
1011 #[doc = "Divider for sai3 clock podf. The input clock to this divider should be lower than 300Mhz, the predivider can be used to achieve this."]
1012 pub mod SAI3_CLK_PODF {
1013 pub const offset: u32 = 16;
1014 pub const mask: u32 = 0x3f << offset;
1015 pub mod R {}
1016 pub mod W {}
1017 pub mod RW {
1018 #[doc = "Divide by 1"]
1019 pub const DIVIDE_1: u32 = 0;
1020 #[doc = "Divide by 2"]
1021 pub const DIVIDE_2: u32 = 0x01;
1022 #[doc = "Divide by 3"]
1023 pub const DIVIDE_3: u32 = 0x02;
1024 #[doc = "Divide by 4"]
1025 pub const DIVIDE_4: u32 = 0x03;
1026 #[doc = "Divide by 5"]
1027 pub const DIVIDE_5: u32 = 0x04;
1028 #[doc = "Divide by 6"]
1029 pub const DIVIDE_6: u32 = 0x05;
1030 #[doc = "Divide by 7"]
1031 pub const DIVIDE_7: u32 = 0x06;
1032 #[doc = "Divide by 8"]
1033 pub const DIVIDE_8: u32 = 0x07;
1034 #[doc = "Divide by 9"]
1035 pub const DIVIDE_9: u32 = 0x08;
1036 #[doc = "Divide by 10"]
1037 pub const DIVIDE_10: u32 = 0x09;
1038 #[doc = "Divide by 11"]
1039 pub const DIVIDE_11: u32 = 0x0a;
1040 #[doc = "Divide by 12"]
1041 pub const DIVIDE_12: u32 = 0x0b;
1042 #[doc = "Divide by 13"]
1043 pub const DIVIDE_13: u32 = 0x0c;
1044 #[doc = "Divide by 14"]
1045 pub const DIVIDE_14: u32 = 0x0d;
1046 #[doc = "Divide by 15"]
1047 pub const DIVIDE_15: u32 = 0x0e;
1048 #[doc = "Divide by 16"]
1049 pub const DIVIDE_16: u32 = 0x0f;
1050 #[doc = "Divide by 17"]
1051 pub const DIVIDE_17: u32 = 0x10;
1052 #[doc = "Divide by 18"]
1053 pub const DIVIDE_18: u32 = 0x11;
1054 #[doc = "Divide by 19"]
1055 pub const DIVIDE_19: u32 = 0x12;
1056 #[doc = "Divide by 20"]
1057 pub const DIVIDE_20: u32 = 0x13;
1058 #[doc = "Divide by 21"]
1059 pub const DIVIDE_21: u32 = 0x14;
1060 #[doc = "Divide by 22"]
1061 pub const DIVIDE_22: u32 = 0x15;
1062 #[doc = "Divide by 23"]
1063 pub const DIVIDE_23: u32 = 0x16;
1064 #[doc = "Divide by 24"]
1065 pub const DIVIDE_24: u32 = 0x17;
1066 #[doc = "Divide by 25"]
1067 pub const DIVIDE_25: u32 = 0x18;
1068 #[doc = "Divide by 26"]
1069 pub const DIVIDE_26: u32 = 0x19;
1070 #[doc = "Divide by 27"]
1071 pub const DIVIDE_27: u32 = 0x1a;
1072 #[doc = "Divide by 28"]
1073 pub const DIVIDE_28: u32 = 0x1b;
1074 #[doc = "Divide by 29"]
1075 pub const DIVIDE_29: u32 = 0x1c;
1076 #[doc = "Divide by 30"]
1077 pub const DIVIDE_30: u32 = 0x1d;
1078 #[doc = "Divide by 31"]
1079 pub const DIVIDE_31: u32 = 0x1e;
1080 #[doc = "Divide by 32"]
1081 pub const DIVIDE_32: u32 = 0x1f;
1082 #[doc = "Divide by 33"]
1083 pub const DIVIDE_33: u32 = 0x20;
1084 #[doc = "Divide by 34"]
1085 pub const DIVIDE_34: u32 = 0x21;
1086 #[doc = "Divide by 35"]
1087 pub const DIVIDE_35: u32 = 0x22;
1088 #[doc = "Divide by 36"]
1089 pub const DIVIDE_36: u32 = 0x23;
1090 #[doc = "Divide by 37"]
1091 pub const DIVIDE_37: u32 = 0x24;
1092 #[doc = "Divide by 38"]
1093 pub const DIVIDE_38: u32 = 0x25;
1094 #[doc = "Divide by 39"]
1095 pub const DIVIDE_39: u32 = 0x26;
1096 #[doc = "Divide by 40"]
1097 pub const DIVIDE_40: u32 = 0x27;
1098 #[doc = "Divide by 41"]
1099 pub const DIVIDE_41: u32 = 0x28;
1100 #[doc = "Divide by 42"]
1101 pub const DIVIDE_42: u32 = 0x29;
1102 #[doc = "Divide by 43"]
1103 pub const DIVIDE_43: u32 = 0x2a;
1104 #[doc = "Divide by 44"]
1105 pub const DIVIDE_44: u32 = 0x2b;
1106 #[doc = "Divide by 45"]
1107 pub const DIVIDE_45: u32 = 0x2c;
1108 #[doc = "Divide by 46"]
1109 pub const DIVIDE_46: u32 = 0x2d;
1110 #[doc = "Divide by 47"]
1111 pub const DIVIDE_47: u32 = 0x2e;
1112 #[doc = "Divide by 48"]
1113 pub const DIVIDE_48: u32 = 0x2f;
1114 #[doc = "Divide by 49"]
1115 pub const DIVIDE_49: u32 = 0x30;
1116 #[doc = "Divide by 50"]
1117 pub const DIVIDE_50: u32 = 0x31;
1118 #[doc = "Divide by 51"]
1119 pub const DIVIDE_51: u32 = 0x32;
1120 #[doc = "Divide by 52"]
1121 pub const DIVIDE_52: u32 = 0x33;
1122 #[doc = "Divide by 53"]
1123 pub const DIVIDE_53: u32 = 0x34;
1124 #[doc = "Divide by 54"]
1125 pub const DIVIDE_54: u32 = 0x35;
1126 #[doc = "Divide by 55"]
1127 pub const DIVIDE_55: u32 = 0x36;
1128 #[doc = "Divide by 56"]
1129 pub const DIVIDE_56: u32 = 0x37;
1130 #[doc = "Divide by 57"]
1131 pub const DIVIDE_57: u32 = 0x38;
1132 #[doc = "Divide by 58"]
1133 pub const DIVIDE_58: u32 = 0x39;
1134 #[doc = "Divide by 59"]
1135 pub const DIVIDE_59: u32 = 0x3a;
1136 #[doc = "Divide by 60"]
1137 pub const DIVIDE_60: u32 = 0x3b;
1138 #[doc = "Divide by 61"]
1139 pub const DIVIDE_61: u32 = 0x3c;
1140 #[doc = "Divide by 62"]
1141 pub const DIVIDE_62: u32 = 0x3d;
1142 #[doc = "Divide by 63"]
1143 pub const DIVIDE_63: u32 = 0x3e;
1144 #[doc = "Divide by 64"]
1145 pub const DIVIDE_64: u32 = 0x3f;
1146 }
1147 }
1148 #[doc = "Divider for sai3 clock pred."]
1149 pub mod SAI3_CLK_PRED {
1150 pub const offset: u32 = 22;
1151 pub const mask: u32 = 0x07 << offset;
1152 pub mod R {}
1153 pub mod W {}
1154 pub mod RW {
1155 #[doc = "divide by 1"]
1156 pub const SAI3_CLK_PRED_0: u32 = 0;
1157 #[doc = "divide by 2"]
1158 pub const SAI3_CLK_PRED_1: u32 = 0x01;
1159 #[doc = "divide by 3"]
1160 pub const SAI3_CLK_PRED_2: u32 = 0x02;
1161 #[doc = "divide by 4"]
1162 pub const SAI3_CLK_PRED_3: u32 = 0x03;
1163 #[doc = "divide by 5"]
1164 pub const SAI3_CLK_PRED_4: u32 = 0x04;
1165 #[doc = "divide by 6"]
1166 pub const SAI3_CLK_PRED_5: u32 = 0x05;
1167 #[doc = "divide by 7"]
1168 pub const SAI3_CLK_PRED_6: u32 = 0x06;
1169 #[doc = "divide by 8"]
1170 pub const SAI3_CLK_PRED_7: u32 = 0x07;
1171 }
1172 }
1173 #[doc = "Divider for flexio1 clock. Divider should be updated when output clock is gated."]
1174 pub mod FLEXIO1_CLK_PODF {
1175 pub const offset: u32 = 25;
1176 pub const mask: u32 = 0x0f << offset;
1177 pub mod R {}
1178 pub mod W {}
1179 pub mod RW {
1180 #[doc = "Divide by 1"]
1181 pub const DIVIDE_1: u32 = 0;
1182 #[doc = "Divide by 2"]
1183 pub const DIVIDE_2: u32 = 0x01;
1184 #[doc = "Divide by 3"]
1185 pub const DIVIDE_3: u32 = 0x02;
1186 #[doc = "Divide by 4"]
1187 pub const DIVIDE_4: u32 = 0x03;
1188 #[doc = "Divide by 5"]
1189 pub const DIVIDE_5: u32 = 0x04;
1190 #[doc = "Divide by 6"]
1191 pub const DIVIDE_6: u32 = 0x05;
1192 #[doc = "Divide by 7"]
1193 pub const DIVIDE_7: u32 = 0x06;
1194 #[doc = "Divide by 8"]
1195 pub const DIVIDE_8: u32 = 0x07;
1196 #[doc = "Divide by 9"]
1197 pub const DIVIDE_9: u32 = 0x08;
1198 #[doc = "Divide by 10"]
1199 pub const DIVIDE_10: u32 = 0x09;
1200 #[doc = "Divide by 11"]
1201 pub const DIVIDE_11: u32 = 0x0a;
1202 #[doc = "Divide by 12"]
1203 pub const DIVIDE_12: u32 = 0x0b;
1204 #[doc = "Divide by 13"]
1205 pub const DIVIDE_13: u32 = 0x0c;
1206 #[doc = "Divide by 14"]
1207 pub const DIVIDE_14: u32 = 0x0d;
1208 #[doc = "Divide by 15"]
1209 pub const DIVIDE_15: u32 = 0x0e;
1210 #[doc = "Divide by 16"]
1211 pub const DIVIDE_16: u32 = 0x0f;
1212 }
1213 }
1214}
1215#[doc = "CCM D1 Clock Divider Register"]
1216pub mod CDCDR {
1217 #[doc = "Selector for spdif0 clock multiplexer"]
1218 pub mod SPDIF0_CLK_SEL {
1219 pub const offset: u32 = 20;
1220 pub const mask: u32 = 0x03 << offset;
1221 pub mod R {}
1222 pub mod W {}
1223 pub mod RW {
1224 #[doc = "derive clock from PLL4"]
1225 pub const SPDIF0_CLK_SEL_0: u32 = 0;
1226 #[doc = "derive clock from PLL3 PFD2"]
1227 pub const SPDIF0_CLK_SEL_1: u32 = 0x01;
1228 #[doc = "derive clock from pll3_sw_clk"]
1229 pub const SPDIF0_CLK_SEL_3: u32 = 0x03;
1230 }
1231 }
1232 #[doc = "Divider for spdif0 clock podf. Divider should be updated when output clock is gated."]
1233 pub mod SPDIF0_CLK_PODF {
1234 pub const offset: u32 = 22;
1235 pub const mask: u32 = 0x07 << offset;
1236 pub mod R {}
1237 pub mod W {}
1238 pub mod RW {
1239 #[doc = "Divide by 1"]
1240 pub const DIVIDE_1: u32 = 0;
1241 #[doc = "Divide by 2"]
1242 pub const DIVIDE_2: u32 = 0x01;
1243 #[doc = "Divide by 3"]
1244 pub const DIVIDE_3: u32 = 0x02;
1245 #[doc = "Divide by 4"]
1246 pub const DIVIDE_4: u32 = 0x03;
1247 #[doc = "Divide by 5"]
1248 pub const DIVIDE_5: u32 = 0x04;
1249 #[doc = "Divide by 6"]
1250 pub const DIVIDE_6: u32 = 0x05;
1251 #[doc = "Divide by 7"]
1252 pub const DIVIDE_7: u32 = 0x06;
1253 #[doc = "Divide by 8"]
1254 pub const DIVIDE_8: u32 = 0x07;
1255 }
1256 }
1257 #[doc = "Divider for spdif0 clock pred. Divider should be updated when output clock is gated."]
1258 pub mod SPDIF0_CLK_PRED {
1259 pub const offset: u32 = 25;
1260 pub const mask: u32 = 0x07 << offset;
1261 pub mod R {}
1262 pub mod W {}
1263 pub mod RW {
1264 #[doc = "Divide by 1"]
1265 pub const DIVIDE_1: u32 = 0;
1266 #[doc = "Divide by 2"]
1267 pub const DIVIDE_2: u32 = 0x01;
1268 #[doc = "Divide by 3"]
1269 pub const DIVIDE_3: u32 = 0x02;
1270 #[doc = "Divide by 4"]
1271 pub const DIVIDE_4: u32 = 0x03;
1272 #[doc = "Divide by 5"]
1273 pub const DIVIDE_5: u32 = 0x04;
1274 #[doc = "Divide by 6"]
1275 pub const DIVIDE_6: u32 = 0x05;
1276 #[doc = "Divide by 7"]
1277 pub const DIVIDE_7: u32 = 0x06;
1278 #[doc = "Divide by 8"]
1279 pub const DIVIDE_8: u32 = 0x07;
1280 }
1281 }
1282}
1283#[doc = "CCM Serial Clock Divider Register 2"]
1284pub mod CSCDR2 {
1285 #[doc = "Selector for the LPI2C clock multiplexor"]
1286 pub mod LPI2C_CLK_SEL {
1287 pub const offset: u32 = 18;
1288 pub const mask: u32 = 0x01 << offset;
1289 pub mod R {}
1290 pub mod W {}
1291 pub mod RW {
1292 #[doc = "derive clock from pll3_60m"]
1293 pub const LPI2C_CLK_SEL_0: u32 = 0;
1294 #[doc = "derive clock from osc_clk"]
1295 pub const LPI2C_CLK_SEL_1: u32 = 0x01;
1296 }
1297 }
1298 #[doc = "Divider for lpi2c clock podf. Divider should be updated when output clock is gated. The input clock to this divider should be lower than 300Mhz, the predivider can be used to achieve this."]
1299 pub mod LPI2C_CLK_PODF {
1300 pub const offset: u32 = 19;
1301 pub const mask: u32 = 0x3f << offset;
1302 pub mod R {}
1303 pub mod W {}
1304 pub mod RW {
1305 #[doc = "Divide by 1"]
1306 pub const DIVIDE_1: u32 = 0;
1307 #[doc = "Divide by 2"]
1308 pub const DIVIDE_2: u32 = 0x01;
1309 #[doc = "Divide by 3"]
1310 pub const DIVIDE_3: u32 = 0x02;
1311 #[doc = "Divide by 4"]
1312 pub const DIVIDE_4: u32 = 0x03;
1313 #[doc = "Divide by 5"]
1314 pub const DIVIDE_5: u32 = 0x04;
1315 #[doc = "Divide by 6"]
1316 pub const DIVIDE_6: u32 = 0x05;
1317 #[doc = "Divide by 7"]
1318 pub const DIVIDE_7: u32 = 0x06;
1319 #[doc = "Divide by 8"]
1320 pub const DIVIDE_8: u32 = 0x07;
1321 #[doc = "Divide by 9"]
1322 pub const DIVIDE_9: u32 = 0x08;
1323 #[doc = "Divide by 10"]
1324 pub const DIVIDE_10: u32 = 0x09;
1325 #[doc = "Divide by 11"]
1326 pub const DIVIDE_11: u32 = 0x0a;
1327 #[doc = "Divide by 12"]
1328 pub const DIVIDE_12: u32 = 0x0b;
1329 #[doc = "Divide by 13"]
1330 pub const DIVIDE_13: u32 = 0x0c;
1331 #[doc = "Divide by 14"]
1332 pub const DIVIDE_14: u32 = 0x0d;
1333 #[doc = "Divide by 15"]
1334 pub const DIVIDE_15: u32 = 0x0e;
1335 #[doc = "Divide by 16"]
1336 pub const DIVIDE_16: u32 = 0x0f;
1337 #[doc = "Divide by 17"]
1338 pub const DIVIDE_17: u32 = 0x10;
1339 #[doc = "Divide by 18"]
1340 pub const DIVIDE_18: u32 = 0x11;
1341 #[doc = "Divide by 19"]
1342 pub const DIVIDE_19: u32 = 0x12;
1343 #[doc = "Divide by 20"]
1344 pub const DIVIDE_20: u32 = 0x13;
1345 #[doc = "Divide by 21"]
1346 pub const DIVIDE_21: u32 = 0x14;
1347 #[doc = "Divide by 22"]
1348 pub const DIVIDE_22: u32 = 0x15;
1349 #[doc = "Divide by 23"]
1350 pub const DIVIDE_23: u32 = 0x16;
1351 #[doc = "Divide by 24"]
1352 pub const DIVIDE_24: u32 = 0x17;
1353 #[doc = "Divide by 25"]
1354 pub const DIVIDE_25: u32 = 0x18;
1355 #[doc = "Divide by 26"]
1356 pub const DIVIDE_26: u32 = 0x19;
1357 #[doc = "Divide by 27"]
1358 pub const DIVIDE_27: u32 = 0x1a;
1359 #[doc = "Divide by 28"]
1360 pub const DIVIDE_28: u32 = 0x1b;
1361 #[doc = "Divide by 29"]
1362 pub const DIVIDE_29: u32 = 0x1c;
1363 #[doc = "Divide by 30"]
1364 pub const DIVIDE_30: u32 = 0x1d;
1365 #[doc = "Divide by 31"]
1366 pub const DIVIDE_31: u32 = 0x1e;
1367 #[doc = "Divide by 32"]
1368 pub const DIVIDE_32: u32 = 0x1f;
1369 #[doc = "Divide by 33"]
1370 pub const DIVIDE_33: u32 = 0x20;
1371 #[doc = "Divide by 34"]
1372 pub const DIVIDE_34: u32 = 0x21;
1373 #[doc = "Divide by 35"]
1374 pub const DIVIDE_35: u32 = 0x22;
1375 #[doc = "Divide by 36"]
1376 pub const DIVIDE_36: u32 = 0x23;
1377 #[doc = "Divide by 37"]
1378 pub const DIVIDE_37: u32 = 0x24;
1379 #[doc = "Divide by 38"]
1380 pub const DIVIDE_38: u32 = 0x25;
1381 #[doc = "Divide by 39"]
1382 pub const DIVIDE_39: u32 = 0x26;
1383 #[doc = "Divide by 40"]
1384 pub const DIVIDE_40: u32 = 0x27;
1385 #[doc = "Divide by 41"]
1386 pub const DIVIDE_41: u32 = 0x28;
1387 #[doc = "Divide by 42"]
1388 pub const DIVIDE_42: u32 = 0x29;
1389 #[doc = "Divide by 43"]
1390 pub const DIVIDE_43: u32 = 0x2a;
1391 #[doc = "Divide by 44"]
1392 pub const DIVIDE_44: u32 = 0x2b;
1393 #[doc = "Divide by 45"]
1394 pub const DIVIDE_45: u32 = 0x2c;
1395 #[doc = "Divide by 46"]
1396 pub const DIVIDE_46: u32 = 0x2d;
1397 #[doc = "Divide by 47"]
1398 pub const DIVIDE_47: u32 = 0x2e;
1399 #[doc = "Divide by 48"]
1400 pub const DIVIDE_48: u32 = 0x2f;
1401 #[doc = "Divide by 49"]
1402 pub const DIVIDE_49: u32 = 0x30;
1403 #[doc = "Divide by 50"]
1404 pub const DIVIDE_50: u32 = 0x31;
1405 #[doc = "Divide by 51"]
1406 pub const DIVIDE_51: u32 = 0x32;
1407 #[doc = "Divide by 52"]
1408 pub const DIVIDE_52: u32 = 0x33;
1409 #[doc = "Divide by 53"]
1410 pub const DIVIDE_53: u32 = 0x34;
1411 #[doc = "Divide by 54"]
1412 pub const DIVIDE_54: u32 = 0x35;
1413 #[doc = "Divide by 55"]
1414 pub const DIVIDE_55: u32 = 0x36;
1415 #[doc = "Divide by 56"]
1416 pub const DIVIDE_56: u32 = 0x37;
1417 #[doc = "Divide by 57"]
1418 pub const DIVIDE_57: u32 = 0x38;
1419 #[doc = "Divide by 58"]
1420 pub const DIVIDE_58: u32 = 0x39;
1421 #[doc = "Divide by 59"]
1422 pub const DIVIDE_59: u32 = 0x3a;
1423 #[doc = "Divide by 60"]
1424 pub const DIVIDE_60: u32 = 0x3b;
1425 #[doc = "Divide by 61"]
1426 pub const DIVIDE_61: u32 = 0x3c;
1427 #[doc = "Divide by 62"]
1428 pub const DIVIDE_62: u32 = 0x3d;
1429 #[doc = "Divide by 63"]
1430 pub const DIVIDE_63: u32 = 0x3e;
1431 #[doc = "Divide by 64"]
1432 pub const DIVIDE_64: u32 = 0x3f;
1433 }
1434 }
1435}
1436#[doc = "CCM Divider Handshake In-Process Register"]
1437pub mod CDHIPR {
1438 #[doc = "Busy indicator for ahb_podf."]
1439 pub mod AHB_PODF_BUSY {
1440 pub const offset: u32 = 1;
1441 pub const mask: u32 = 0x01 << offset;
1442 pub mod R {}
1443 pub mod W {}
1444 pub mod RW {
1445 #[doc = "divider is not busy and its value represents the actual division."]
1446 pub const AHB_PODF_BUSY_0: u32 = 0;
1447 #[doc = "divider is busy with handshake process with module. The value read in the divider represents the previous value of the division factor, and after the handshake the written value of the ahb_podf will be applied."]
1448 pub const AHB_PODF_BUSY_1: u32 = 0x01;
1449 }
1450 }
1451 #[doc = "Busy indicator for flexspi_podf."]
1452 pub mod FLEXSPI_PODF_BUSY {
1453 pub const offset: u32 = 3;
1454 pub const mask: u32 = 0x01 << offset;
1455 pub mod R {}
1456 pub mod W {}
1457 pub mod RW {
1458 #[doc = "divider is not busy and its value represents the actual division."]
1459 pub const FLEXSPI_PODF_BUSY_0: u32 = 0;
1460 #[doc = "divider is busy with handshake process with module. The value read in the divider represents the previous value of the division factor, and after the handshake the written value of the flexspi_podf will be applied."]
1461 pub const FLEXSPI_PODF_BUSY_1: u32 = 0x01;
1462 }
1463 }
1464 #[doc = "Busy indicator for perclk_podf."]
1465 pub mod PERCLK_PODF_BUSY {
1466 pub const offset: u32 = 4;
1467 pub const mask: u32 = 0x01 << offset;
1468 pub mod R {}
1469 pub mod W {}
1470 pub mod RW {
1471 #[doc = "divider is not busy and its value represents the actual division."]
1472 pub const PERCLK_PODF_BUSY_0: u32 = 0;
1473 #[doc = "divider is busy with handshake process with module. The value read in the divider represents the previous value of the division factor, and after the handshake the written value of the perclk_podf will be applied."]
1474 pub const PERCLK_PODF_BUSY_1: u32 = 0x01;
1475 }
1476 }
1477 #[doc = "Busy indicator for periph_clk_sel mux control."]
1478 pub mod PERIPH_CLK_SEL_BUSY {
1479 pub const offset: u32 = 5;
1480 pub const mask: u32 = 0x01 << offset;
1481 pub mod R {}
1482 pub mod W {}
1483 pub mod RW {
1484 #[doc = "mux is not busy and its value represents the actual division."]
1485 pub const PERIPH_CLK_SEL_BUSY_0: u32 = 0;
1486 #[doc = "mux is busy with handshake process with module. The value read in the periph_clk_sel represents the previous value of select, and after the handshake periph_clk_sel value will be applied."]
1487 pub const PERIPH_CLK_SEL_BUSY_1: u32 = 0x01;
1488 }
1489 }
1490}
1491#[doc = "CCM Low Power Control Register"]
1492pub mod CLPCR {
1493 #[doc = "Setting the low power mode that system will enter on next assertion of dsm_request signal."]
1494 pub mod LPM {
1495 pub const offset: u32 = 0;
1496 pub const mask: u32 = 0x03 << offset;
1497 pub mod R {}
1498 pub mod W {}
1499 pub mod RW {
1500 #[doc = "Remain in run mode"]
1501 pub const LPM_0: u32 = 0;
1502 #[doc = "Transfer to wait mode"]
1503 pub const LPM_1: u32 = 0x01;
1504 #[doc = "Transfer to stop mode"]
1505 pub const LPM_2: u32 = 0x02;
1506 }
1507 }
1508 #[doc = "Define if ARM clocks (arm_clk, soc_mxclk, soc_pclk, soc_dbg_pclk, vl_wrck) will be disabled on wait mode"]
1509 pub mod ARM_CLK_DIS_ON_LPM {
1510 pub const offset: u32 = 5;
1511 pub const mask: u32 = 0x01 << offset;
1512 pub mod R {}
1513 pub mod W {}
1514 pub mod RW {
1515 #[doc = "ARM clock enabled on wait mode."]
1516 pub const ARM_CLK_DIS_ON_LPM_0: u32 = 0;
1517 #[doc = "ARM clock disabled on wait mode. ."]
1518 pub const ARM_CLK_DIS_ON_LPM_1: u32 = 0x01;
1519 }
1520 }
1521 #[doc = "Standby clock oscillator bit"]
1522 pub mod SBYOS {
1523 pub const offset: u32 = 6;
1524 pub const mask: u32 = 0x01 << offset;
1525 pub mod R {}
1526 pub mod W {}
1527 pub mod RW {
1528 #[doc = "On-chip oscillator will not be powered down, after next entrance to STOP mode. (CCM_REF_EN_B will remain asserted - '0' and cosc_pwrdown will remain de asserted - '0')"]
1529 pub const SBYOS_0: u32 = 0;
1530 #[doc = "On-chip oscillator will be powered down, after next entrance to STOP mode. (CCM_REF_EN_B will be deasserted - '1' and cosc_pwrdown will be asserted - '1'). When returning from STOP mode, external oscillator will be enabled again, on-chip oscillator will return to oscillator mode, and after oscnt count, CCM will continue with the exit from the STOP mode process."]
1531 pub const SBYOS_1: u32 = 0x01;
1532 }
1533 }
1534 #[doc = "dis_ref_osc - in run mode, software can manually control closing of external reference oscillator clock, i"]
1535 pub mod DIS_REF_OSC {
1536 pub const offset: u32 = 7;
1537 pub const mask: u32 = 0x01 << offset;
1538 pub mod R {}
1539 pub mod W {}
1540 pub mod RW {
1541 #[doc = "external high frequency oscillator will be enabled, i.e. CCM_REF_EN_B = '0'."]
1542 pub const DIS_REF_OSC_0: u32 = 0;
1543 #[doc = "external high frequency oscillator will be disabled, i.e. CCM_REF_EN_B = '1'"]
1544 pub const DIS_REF_OSC_1: u32 = 0x01;
1545 }
1546 }
1547 #[doc = "Voltage standby request bit"]
1548 pub mod VSTBY {
1549 pub const offset: u32 = 8;
1550 pub const mask: u32 = 0x01 << offset;
1551 pub mod R {}
1552 pub mod W {}
1553 pub mod RW {
1554 #[doc = "Voltage will not be changed to standby voltage after next entrance to STOP mode. ( PMIC_STBY_REQ will remain negated - '0')"]
1555 pub const VSTBY_0: u32 = 0;
1556 #[doc = "Voltage will be requested to change to standby voltage after next entrance to stop mode. ( PMIC_STBY_REQ will be asserted - '1')."]
1557 pub const VSTBY_1: u32 = 0x01;
1558 }
1559 }
1560 #[doc = "Standby counter definition"]
1561 pub mod STBY_COUNT {
1562 pub const offset: u32 = 9;
1563 pub const mask: u32 = 0x03 << offset;
1564 pub mod R {}
1565 pub mod W {}
1566 pub mod RW {
1567 #[doc = "CCM will wait (1*pmic_delay_scaler)+1 ckil clock cycles"]
1568 pub const STBY_COUNT_0: u32 = 0;
1569 #[doc = "CCM will wait (3*pmic_delay_scaler)+1 ckil clock cycles"]
1570 pub const STBY_COUNT_1: u32 = 0x01;
1571 #[doc = "CCM will wait (7*pmic_delay_scaler)+1 ckil clock cycles"]
1572 pub const STBY_COUNT_2: u32 = 0x02;
1573 #[doc = "CCM will wait (15*pmic_delay_scaler)+1 ckil clock cycles"]
1574 pub const STBY_COUNT_3: u32 = 0x03;
1575 }
1576 }
1577 #[doc = "In run mode, software can manually control powering down of on chip oscillator, i"]
1578 pub mod COSC_PWRDOWN {
1579 pub const offset: u32 = 11;
1580 pub const mask: u32 = 0x01 << offset;
1581 pub mod R {}
1582 pub mod W {}
1583 pub mod RW {
1584 #[doc = "On chip oscillator will not be powered down, i.e. cosc_pwrdown = '0'."]
1585 pub const COSC_PWRDOWN_0: u32 = 0;
1586 #[doc = "On chip oscillator will be powered down, i.e. cosc_pwrdown = '1'."]
1587 pub const COSC_PWRDOWN_1: u32 = 0x01;
1588 }
1589 }
1590 #[doc = "Mask WFI of core0 for entering low power mode Assertion of all bits\\[27:22\\] will generate low power mode request"]
1591 pub mod MASK_CORE0_WFI {
1592 pub const offset: u32 = 22;
1593 pub const mask: u32 = 0x01 << offset;
1594 pub mod R {}
1595 pub mod W {}
1596 pub mod RW {
1597 #[doc = "WFI of core0 is not masked"]
1598 pub const MASK_CORE0_WFI_0: u32 = 0;
1599 #[doc = "WFI of core0 is masked"]
1600 pub const MASK_CORE0_WFI_1: u32 = 0x01;
1601 }
1602 }
1603 #[doc = "Mask SCU IDLE for entering low power mode Assertion of all bits\\[27:22\\] will generate low power mode request"]
1604 pub mod MASK_SCU_IDLE {
1605 pub const offset: u32 = 26;
1606 pub const mask: u32 = 0x01 << offset;
1607 pub mod R {}
1608 pub mod W {}
1609 pub mod RW {
1610 #[doc = "SCU IDLE is not masked"]
1611 pub const MASK_SCU_IDLE_0: u32 = 0;
1612 #[doc = "SCU IDLE is masked"]
1613 pub const MASK_SCU_IDLE_1: u32 = 0x01;
1614 }
1615 }
1616 #[doc = "Mask L2CC IDLE for entering low power mode"]
1617 pub mod MASK_L2CC_IDLE {
1618 pub const offset: u32 = 27;
1619 pub const mask: u32 = 0x01 << offset;
1620 pub mod R {}
1621 pub mod W {}
1622 pub mod RW {
1623 #[doc = "L2CC IDLE is not masked"]
1624 pub const MASK_L2CC_IDLE_0: u32 = 0;
1625 #[doc = "L2CC IDLE is masked"]
1626 pub const MASK_L2CC_IDLE_1: u32 = 0x01;
1627 }
1628 }
1629}
1630#[doc = "CCM Interrupt Status Register"]
1631pub mod CISR {
1632 #[doc = "CCM interrupt request 2 generated due to lock of all enabled and not bypaseed PLLs"]
1633 pub mod LRF_PLL {
1634 pub const offset: u32 = 0;
1635 pub const mask: u32 = 0x01 << offset;
1636 pub mod R {}
1637 pub mod W {}
1638 pub mod RW {
1639 #[doc = "interrupt is not generated due to lock ready of all enabled and not bypaseed PLLs"]
1640 pub const LRF_PLL_0: u32 = 0;
1641 #[doc = "interrupt generated due to lock ready of all enabled and not bypaseed PLLs"]
1642 pub const LRF_PLL_1: u32 = 0x01;
1643 }
1644 }
1645 #[doc = "CCM interrupt request 2 generated due to on board oscillator ready, i"]
1646 pub mod COSC_READY {
1647 pub const offset: u32 = 6;
1648 pub const mask: u32 = 0x01 << offset;
1649 pub mod R {}
1650 pub mod W {}
1651 pub mod RW {
1652 #[doc = "interrupt is not generated due to on board oscillator ready"]
1653 pub const COSC_READY_0: u32 = 0;
1654 #[doc = "interrupt generated due to on board oscillator ready"]
1655 pub const COSC_READY_1: u32 = 0x01;
1656 }
1657 }
1658 #[doc = "CCM interrupt request 1 generated due to frequency change of flexspi_podf"]
1659 pub mod FLEXSPI_PODF_LOADED {
1660 pub const offset: u32 = 16;
1661 pub const mask: u32 = 0x01 << offset;
1662 pub mod R {}
1663 pub mod W {}
1664 pub mod RW {
1665 #[doc = "interrupt is not generated due to frequency change of flexspi_podf"]
1666 pub const FLEXSPI_PODF_LOADED_0: u32 = 0;
1667 #[doc = "interrupt generated due to frequency change of flexspi_podf"]
1668 pub const FLEXSPI_PODF_LOADED_1: u32 = 0x01;
1669 }
1670 }
1671 #[doc = "CCM interrupt request 1 generated due to frequency change of perclk_podf"]
1672 pub mod PERCLK_PODF_LOADED {
1673 pub const offset: u32 = 18;
1674 pub const mask: u32 = 0x01 << offset;
1675 pub mod R {}
1676 pub mod W {}
1677 pub mod RW {
1678 #[doc = "interrupt is not generated due to frequency change of perclk_podf"]
1679 pub const PERCLK_PODF_LOADED_0: u32 = 0;
1680 #[doc = "interrupt generated due to frequency change of perclk_podf"]
1681 pub const PERCLK_PODF_LOADED_1: u32 = 0x01;
1682 }
1683 }
1684 #[doc = "CCM interrupt request 1 generated due to frequency change of ahb_podf"]
1685 pub mod AHB_PODF_LOADED {
1686 pub const offset: u32 = 20;
1687 pub const mask: u32 = 0x01 << offset;
1688 pub mod R {}
1689 pub mod W {}
1690 pub mod RW {
1691 #[doc = "interrupt is not generated due to frequency change of ahb_podf"]
1692 pub const AHB_PODF_LOADED_0: u32 = 0;
1693 #[doc = "interrupt generated due to frequency change of ahb_podf"]
1694 pub const AHB_PODF_LOADED_1: u32 = 0x01;
1695 }
1696 }
1697 #[doc = "CCM interrupt request 1 generated due to update of periph_clk_sel."]
1698 pub mod PERIPH_CLK_SEL_LOADED {
1699 pub const offset: u32 = 22;
1700 pub const mask: u32 = 0x01 << offset;
1701 pub mod R {}
1702 pub mod W {}
1703 pub mod RW {
1704 #[doc = "interrupt is not generated due to update of periph_clk_sel."]
1705 pub const PERIPH_CLK_SEL_LOADED_0: u32 = 0;
1706 #[doc = "interrupt generated due to update of periph_clk_sel."]
1707 pub const PERIPH_CLK_SEL_LOADED_1: u32 = 0x01;
1708 }
1709 }
1710}
1711#[doc = "CCM Interrupt Mask Register"]
1712pub mod CIMR {
1713 #[doc = "mask interrupt generation due to lrf of PLLs"]
1714 pub mod MASK_LRF_PLL {
1715 pub const offset: u32 = 0;
1716 pub const mask: u32 = 0x01 << offset;
1717 pub mod R {}
1718 pub mod W {}
1719 pub mod RW {
1720 #[doc = "don't mask interrupt due to lrf of PLLs - interrupt will be created"]
1721 pub const MASK_LRF_PLL_0: u32 = 0;
1722 #[doc = "mask interrupt due to lrf of PLLs"]
1723 pub const MASK_LRF_PLL_1: u32 = 0x01;
1724 }
1725 }
1726 #[doc = "mask interrupt generation due to on board oscillator ready"]
1727 pub mod MASK_COSC_READY {
1728 pub const offset: u32 = 6;
1729 pub const mask: u32 = 0x01 << offset;
1730 pub mod R {}
1731 pub mod W {}
1732 pub mod RW {
1733 #[doc = "don't mask interrupt due to on board oscillator ready - interrupt will be created"]
1734 pub const MASK_COSC_READY_0: u32 = 0;
1735 #[doc = "mask interrupt due to on board oscillator ready"]
1736 pub const MASK_COSC_READY_1: u32 = 0x01;
1737 }
1738 }
1739 #[doc = "mask interrupt generation due to update of flexspi_podf"]
1740 pub mod MASK_FLEXSPI_PODF_LOADED {
1741 pub const offset: u32 = 16;
1742 pub const mask: u32 = 0x01 << offset;
1743 pub mod R {}
1744 pub mod W {}
1745 pub mod RW {
1746 #[doc = "don't mask interrupt due to update of flexspi_podf"]
1747 pub const MASK_FLEXSPI_PODF_LOADED_0: u32 = 0;
1748 #[doc = "mask interrupt due to update of flexspi_podf"]
1749 pub const MASK_FLEXSPI_PODF_LOADED_1: u32 = 0x01;
1750 }
1751 }
1752 #[doc = "mask interrupt generation due to update of perclk_podf"]
1753 pub mod MASK_PERCLK_PODF_LOADED {
1754 pub const offset: u32 = 18;
1755 pub const mask: u32 = 0x01 << offset;
1756 pub mod R {}
1757 pub mod W {}
1758 pub mod RW {
1759 #[doc = "don't mask interrupt due to update of perclk_podf"]
1760 pub const MASK_PERCLK_PODF_LOADED_0: u32 = 0;
1761 #[doc = "mask interrupt due to update of perclk_podf"]
1762 pub const MASK_PERCLK_PODF_LOADED_1: u32 = 0x01;
1763 }
1764 }
1765 #[doc = "mask interrupt generation due to frequency change of ahb_podf"]
1766 pub mod MASK_AHB_PODF_LOADED {
1767 pub const offset: u32 = 20;
1768 pub const mask: u32 = 0x01 << offset;
1769 pub mod R {}
1770 pub mod W {}
1771 pub mod RW {
1772 #[doc = "don't mask interrupt due to frequency change of ahb_podf - interrupt will be created"]
1773 pub const MASK_AHB_PODF_LOADED_0: u32 = 0;
1774 #[doc = "mask interrupt due to frequency change of ahb_podf"]
1775 pub const MASK_AHB_PODF_LOADED_1: u32 = 0x01;
1776 }
1777 }
1778 #[doc = "mask interrupt generation due to update of periph_clk_sel."]
1779 pub mod MASK_PERIPH_CLK_SEL_LOADED {
1780 pub const offset: u32 = 22;
1781 pub const mask: u32 = 0x01 << offset;
1782 pub mod R {}
1783 pub mod W {}
1784 pub mod RW {
1785 #[doc = "don't mask interrupt due to update of periph_clk_sel - interrupt will be created"]
1786 pub const MASK_PERIPH_CLK_SEL_LOADED_0: u32 = 0;
1787 #[doc = "mask interrupt due to update of periph_clk_sel"]
1788 pub const MASK_PERIPH_CLK_SEL_LOADED_1: u32 = 0x01;
1789 }
1790 }
1791}
1792#[doc = "CCM Clock Output Source Register"]
1793pub mod CCOSR {
1794 #[doc = "Selection of the clock to be generated on CCM_CLKO1"]
1795 pub mod CLKO1_SEL {
1796 pub const offset: u32 = 0;
1797 pub const mask: u32 = 0x0f << offset;
1798 pub mod R {}
1799 pub mod W {}
1800 pub mod RW {
1801 #[doc = "pll3_sw_clk (divided by 2)"]
1802 pub const CLKO1_SEL_0: u32 = 0;
1803 #[doc = "PLL2 (divided by 2)"]
1804 pub const CLKO1_SEL_1: u32 = 0x01;
1805 #[doc = "ENET PLL (divided by 2)"]
1806 pub const CLKO1_SEL_2: u32 = 0x02;
1807 #[doc = "core_clk_root"]
1808 pub const CLKO1_SEL_11: u32 = 0x0b;
1809 #[doc = "ipg_clk_root"]
1810 pub const CLKO1_SEL_12: u32 = 0x0c;
1811 #[doc = "perclk_root"]
1812 pub const CLKO1_SEL_13: u32 = 0x0d;
1813 #[doc = "pll4_main_clk"]
1814 pub const CLKO1_SEL_15: u32 = 0x0f;
1815 }
1816 }
1817 #[doc = "Setting the divider of CCM_CLKO1"]
1818 pub mod CLKO1_DIV {
1819 pub const offset: u32 = 4;
1820 pub const mask: u32 = 0x07 << offset;
1821 pub mod R {}
1822 pub mod W {}
1823 pub mod RW {
1824 #[doc = "divide by 1"]
1825 pub const CLKO1_DIV_0: u32 = 0;
1826 #[doc = "divide by 2"]
1827 pub const CLKO1_DIV_1: u32 = 0x01;
1828 #[doc = "divide by 3"]
1829 pub const CLKO1_DIV_2: u32 = 0x02;
1830 #[doc = "divide by 4"]
1831 pub const CLKO1_DIV_3: u32 = 0x03;
1832 #[doc = "divide by 5"]
1833 pub const CLKO1_DIV_4: u32 = 0x04;
1834 #[doc = "divide by 6"]
1835 pub const CLKO1_DIV_5: u32 = 0x05;
1836 #[doc = "divide by 7"]
1837 pub const CLKO1_DIV_6: u32 = 0x06;
1838 #[doc = "divide by 8"]
1839 pub const CLKO1_DIV_7: u32 = 0x07;
1840 }
1841 }
1842 #[doc = "Enable of CCM_CLKO1 clock"]
1843 pub mod CLKO1_EN {
1844 pub const offset: u32 = 7;
1845 pub const mask: u32 = 0x01 << offset;
1846 pub mod R {}
1847 pub mod W {}
1848 pub mod RW {
1849 #[doc = "CCM_CLKO1 disabled."]
1850 pub const CLKO1_EN_0: u32 = 0;
1851 #[doc = "CCM_CLKO1 enabled."]
1852 pub const CLKO1_EN_1: u32 = 0x01;
1853 }
1854 }
1855 #[doc = "CCM_CLKO1 output to reflect CCM_CLKO1 or CCM_CLKO2 clocks"]
1856 pub mod CLK_OUT_SEL {
1857 pub const offset: u32 = 8;
1858 pub const mask: u32 = 0x01 << offset;
1859 pub mod R {}
1860 pub mod W {}
1861 pub mod RW {
1862 #[doc = "CCM_CLKO1 output drives CCM_CLKO1 clock"]
1863 pub const CLK_OUT_SEL_0: u32 = 0;
1864 #[doc = "CCM_CLKO1 output drives CCM_CLKO2 clock"]
1865 pub const CLK_OUT_SEL_1: u32 = 0x01;
1866 }
1867 }
1868 #[doc = "Selection of the clock to be generated on CCM_CLKO2"]
1869 pub mod CLKO2_SEL {
1870 pub const offset: u32 = 16;
1871 pub const mask: u32 = 0x1f << offset;
1872 pub mod R {}
1873 pub mod W {}
1874 pub mod RW {
1875 #[doc = "lpi2c_clk_root"]
1876 pub const CLKO2_SEL_6: u32 = 0x06;
1877 #[doc = "osc_clk"]
1878 pub const CLKO2_SEL_14: u32 = 0x0e;
1879 #[doc = "lpspi_clk_root"]
1880 pub const CLKO2_SEL_16: u32 = 0x10;
1881 #[doc = "sai1_clk_root"]
1882 pub const CLKO2_SEL_18: u32 = 0x12;
1883 #[doc = "sai3_clk_root"]
1884 pub const CLKO2_SEL_20: u32 = 0x14;
1885 #[doc = "trace_clk_root"]
1886 pub const CLKO2_SEL_22: u32 = 0x16;
1887 #[doc = "flexspi_clk_root"]
1888 pub const CLKO2_SEL_27: u32 = 0x1b;
1889 #[doc = "uart_clk_root"]
1890 pub const CLKO2_SEL_28: u32 = 0x1c;
1891 #[doc = "spdif0_clk_root"]
1892 pub const CLKO2_SEL_29: u32 = 0x1d;
1893 }
1894 }
1895 #[doc = "Setting the divider of CCM_CLKO2"]
1896 pub mod CLKO2_DIV {
1897 pub const offset: u32 = 21;
1898 pub const mask: u32 = 0x07 << offset;
1899 pub mod R {}
1900 pub mod W {}
1901 pub mod RW {
1902 #[doc = "divide by 1"]
1903 pub const CLKO2_DIV_0: u32 = 0;
1904 #[doc = "divide by 2"]
1905 pub const CLKO2_DIV_1: u32 = 0x01;
1906 #[doc = "divide by 3"]
1907 pub const CLKO2_DIV_2: u32 = 0x02;
1908 #[doc = "divide by 4"]
1909 pub const CLKO2_DIV_3: u32 = 0x03;
1910 #[doc = "divide by 5"]
1911 pub const CLKO2_DIV_4: u32 = 0x04;
1912 #[doc = "divide by 6"]
1913 pub const CLKO2_DIV_5: u32 = 0x05;
1914 #[doc = "divide by 7"]
1915 pub const CLKO2_DIV_6: u32 = 0x06;
1916 #[doc = "divide by 8"]
1917 pub const CLKO2_DIV_7: u32 = 0x07;
1918 }
1919 }
1920 #[doc = "Enable of CCM_CLKO2 clock"]
1921 pub mod CLKO2_EN {
1922 pub const offset: u32 = 24;
1923 pub const mask: u32 = 0x01 << offset;
1924 pub mod R {}
1925 pub mod W {}
1926 pub mod RW {
1927 #[doc = "CCM_CLKO2 disabled."]
1928 pub const CLKO2_EN_0: u32 = 0;
1929 #[doc = "CCM_CLKO2 enabled."]
1930 pub const CLKO2_EN_1: u32 = 0x01;
1931 }
1932 }
1933}
1934#[doc = "CCM General Purpose Register"]
1935pub mod CGPR {
1936 #[doc = "Defines clock dividion of clock for stby_count (pmic delay counter)"]
1937 pub mod PMIC_DELAY_SCALER {
1938 pub const offset: u32 = 0;
1939 pub const mask: u32 = 0x01 << offset;
1940 pub mod R {}
1941 pub mod W {}
1942 pub mod RW {
1943 #[doc = "clock is not divided"]
1944 pub const PMIC_DELAY_SCALER_0: u32 = 0;
1945 #[doc = "clock is divided /8"]
1946 pub const PMIC_DELAY_SCALER_1: u32 = 0x01;
1947 }
1948 }
1949 #[doc = "Defines the value of the output signal cgpr_dout\\[4\\]. Gate of program supply for efuse programing"]
1950 pub mod EFUSE_PROG_SUPPLY_GATE {
1951 pub const offset: u32 = 4;
1952 pub const mask: u32 = 0x01 << offset;
1953 pub mod R {}
1954 pub mod W {}
1955 pub mod RW {
1956 #[doc = "fuse programing supply voltage is gated off to the efuse module"]
1957 pub const EFUSE_PROG_SUPPLY_GATE_0: u32 = 0;
1958 #[doc = "allow fuse programing."]
1959 pub const EFUSE_PROG_SUPPLY_GATE_1: u32 = 0x01;
1960 }
1961 }
1962 #[doc = "System memory DS control"]
1963 pub mod SYS_MEM_DS_CTRL {
1964 pub const offset: u32 = 14;
1965 pub const mask: u32 = 0x03 << offset;
1966 pub mod R {}
1967 pub mod W {}
1968 pub mod RW {
1969 #[doc = "Disable memory DS mode always"]
1970 pub const SYS_MEM_DS_CTRL_0: u32 = 0;
1971 #[doc = "Enable memory (outside ARM platform) DS mode when system STOP and PLL are disabled"]
1972 pub const SYS_MEM_DS_CTRL_1: u32 = 0x01;
1973 #[doc = "enable memory (outside ARM platform) DS mode when system is in STOP mode"]
1974 pub const SYS_MEM_DS_CTRL_2: u32 = 0x02;
1975 }
1976 }
1977 #[doc = "Fast PLL enable."]
1978 pub mod FPL {
1979 pub const offset: u32 = 16;
1980 pub const mask: u32 = 0x01 << offset;
1981 pub mod R {}
1982 pub mod W {}
1983 pub mod RW {
1984 #[doc = "Engage PLL enable default way."]
1985 pub const FPL_0: u32 = 0;
1986 #[doc = "Engage PLL enable 3 CKIL clocks earlier at exiting low power mode (STOP). Should be used only if 24MHz OSC was active in low power mode."]
1987 pub const FPL_1: u32 = 0x01;
1988 }
1989 }
1990 #[doc = "Control for the Deep Sleep signal to the ARM Platform memories with additional control logic based on the ARM WFI signal"]
1991 pub mod INT_MEM_CLK_LPM {
1992 pub const offset: u32 = 17;
1993 pub const mask: u32 = 0x01 << offset;
1994 pub mod R {}
1995 pub mod W {}
1996 pub mod RW {
1997 #[doc = "Disable the clock to the ARM platform memories when entering Low Power Mode"]
1998 pub const INT_MEM_CLK_LPM_0: u32 = 0;
1999 #[doc = "Keep the clocks to the ARM platform memories enabled only if an interrupt is pending when entering Low Power Modes (WAIT and STOP without power gating)"]
2000 pub const INT_MEM_CLK_LPM_1: u32 = 0x01;
2001 }
2002 }
2003}
2004#[doc = "CCM Clock Gating Register 0"]
2005pub mod CCGR0 {
2006 #[doc = "aips_tz1 clocks (aips_tz1_clk_enable)"]
2007 pub mod CG0 {
2008 pub const offset: u32 = 0;
2009 pub const mask: u32 = 0x03 << offset;
2010 pub mod R {}
2011 pub mod W {}
2012 pub mod RW {}
2013 }
2014 #[doc = "aips_tz2 clocks (aips_tz2_clk_enable)"]
2015 pub mod CG1 {
2016 pub const offset: u32 = 2;
2017 pub const mask: u32 = 0x03 << offset;
2018 pub mod R {}
2019 pub mod W {}
2020 pub mod RW {}
2021 }
2022 #[doc = "mqs clock ( mqs_hmclk_clock_enable)"]
2023 pub mod CG2 {
2024 pub const offset: u32 = 4;
2025 pub const mask: u32 = 0x03 << offset;
2026 pub mod R {}
2027 pub mod W {}
2028 pub mod RW {}
2029 }
2030 #[doc = "flexspi_exsc clock (flexspi_exsc_clk_enable)"]
2031 pub mod CG3 {
2032 pub const offset: u32 = 6;
2033 pub const mask: u32 = 0x03 << offset;
2034 pub mod R {}
2035 pub mod W {}
2036 pub mod RW {}
2037 }
2038 #[doc = "sim_m_clk_r_clk_enable"]
2039 pub mod CG4 {
2040 pub const offset: u32 = 8;
2041 pub const mask: u32 = 0x03 << offset;
2042 pub mod R {}
2043 pub mod W {}
2044 pub mod RW {}
2045 }
2046 #[doc = "dcp clock (dcp_clk_enable)"]
2047 pub mod CG5 {
2048 pub const offset: u32 = 10;
2049 pub const mask: u32 = 0x03 << offset;
2050 pub mod R {}
2051 pub mod W {}
2052 pub mod RW {}
2053 }
2054 #[doc = "lpuart3 clock (lpuart3_clk_enable)"]
2055 pub mod CG6 {
2056 pub const offset: u32 = 12;
2057 pub const mask: u32 = 0x03 << offset;
2058 pub mod R {}
2059 pub mod W {}
2060 pub mod RW {}
2061 }
2062 #[doc = "Reserved"]
2063 pub mod CG7 {
2064 pub const offset: u32 = 14;
2065 pub const mask: u32 = 0x03 << offset;
2066 pub mod R {}
2067 pub mod W {}
2068 pub mod RW {}
2069 }
2070 #[doc = "Reserved"]
2071 pub mod CG8 {
2072 pub const offset: u32 = 16;
2073 pub const mask: u32 = 0x03 << offset;
2074 pub mod R {}
2075 pub mod W {}
2076 pub mod RW {}
2077 }
2078 #[doc = "Reserved"]
2079 pub mod CG9 {
2080 pub const offset: u32 = 18;
2081 pub const mask: u32 = 0x03 << offset;
2082 pub mod R {}
2083 pub mod W {}
2084 pub mod RW {}
2085 }
2086 #[doc = "Reserved"]
2087 pub mod CG10 {
2088 pub const offset: u32 = 20;
2089 pub const mask: u32 = 0x03 << offset;
2090 pub mod R {}
2091 pub mod W {}
2092 pub mod RW {}
2093 }
2094 #[doc = "trace clock (trace_clk_enable)"]
2095 pub mod CG11 {
2096 pub const offset: u32 = 22;
2097 pub const mask: u32 = 0x03 << offset;
2098 pub mod R {}
2099 pub mod W {}
2100 pub mod RW {}
2101 }
2102 #[doc = "gpt2 bus clocks (gpt2_bus_clk_enable)"]
2103 pub mod CG12 {
2104 pub const offset: u32 = 24;
2105 pub const mask: u32 = 0x03 << offset;
2106 pub mod R {}
2107 pub mod W {}
2108 pub mod RW {}
2109 }
2110 #[doc = "gpt2 serial clocks (gpt2_serial_clk_enable)"]
2111 pub mod CG13 {
2112 pub const offset: u32 = 26;
2113 pub const mask: u32 = 0x03 << offset;
2114 pub mod R {}
2115 pub mod W {}
2116 pub mod RW {}
2117 }
2118 #[doc = "lpuart2 clock (lpuart2_clk_enable)"]
2119 pub mod CG14 {
2120 pub const offset: u32 = 28;
2121 pub const mask: u32 = 0x03 << offset;
2122 pub mod R {}
2123 pub mod W {}
2124 pub mod RW {}
2125 }
2126 #[doc = "gpio2_clocks (gpio2_clk_enable)"]
2127 pub mod CG15 {
2128 pub const offset: u32 = 30;
2129 pub const mask: u32 = 0x03 << offset;
2130 pub mod R {}
2131 pub mod W {}
2132 pub mod RW {}
2133 }
2134}
2135#[doc = "CCM Clock Gating Register 1"]
2136pub mod CCGR1 {
2137 #[doc = "lpspi1 clocks (lpspi1_clk_enable)"]
2138 pub mod CG0 {
2139 pub const offset: u32 = 0;
2140 pub const mask: u32 = 0x03 << offset;
2141 pub mod R {}
2142 pub mod W {}
2143 pub mod RW {}
2144 }
2145 #[doc = "lpspi2 clocks (lpspi2_clk_enable)"]
2146 pub mod CG1 {
2147 pub const offset: u32 = 2;
2148 pub const mask: u32 = 0x03 << offset;
2149 pub mod R {}
2150 pub mod W {}
2151 pub mod RW {}
2152 }
2153 #[doc = "Reserved"]
2154 pub mod CG2 {
2155 pub const offset: u32 = 4;
2156 pub const mask: u32 = 0x03 << offset;
2157 pub mod R {}
2158 pub mod W {}
2159 pub mod RW {}
2160 }
2161 #[doc = "Reserved"]
2162 pub mod CG3 {
2163 pub const offset: u32 = 6;
2164 pub const mask: u32 = 0x03 << offset;
2165 pub mod R {}
2166 pub mod W {}
2167 pub mod RW {}
2168 }
2169 #[doc = "Reserved"]
2170 pub mod CG4 {
2171 pub const offset: u32 = 8;
2172 pub const mask: u32 = 0x03 << offset;
2173 pub mod R {}
2174 pub mod W {}
2175 pub mod RW {}
2176 }
2177 #[doc = "Reserved"]
2178 pub mod CG5 {
2179 pub const offset: u32 = 10;
2180 pub const mask: u32 = 0x03 << offset;
2181 pub mod R {}
2182 pub mod W {}
2183 pub mod RW {}
2184 }
2185 #[doc = "pit clocks (pit_clk_enable)"]
2186 pub mod CG6 {
2187 pub const offset: u32 = 12;
2188 pub const mask: u32 = 0x03 << offset;
2189 pub mod R {}
2190 pub mod W {}
2191 pub mod RW {}
2192 }
2193 #[doc = "Reserved"]
2194 pub mod CG7 {
2195 pub const offset: u32 = 14;
2196 pub const mask: u32 = 0x03 << offset;
2197 pub mod R {}
2198 pub mod W {}
2199 pub mod RW {}
2200 }
2201 #[doc = "adc1 clock (adc1_clk_enable)"]
2202 pub mod CG8 {
2203 pub const offset: u32 = 16;
2204 pub const mask: u32 = 0x03 << offset;
2205 pub mod R {}
2206 pub mod W {}
2207 pub mod RW {}
2208 }
2209 #[doc = "Reserved"]
2210 pub mod CG9 {
2211 pub const offset: u32 = 18;
2212 pub const mask: u32 = 0x03 << offset;
2213 pub mod R {}
2214 pub mod W {}
2215 pub mod RW {}
2216 }
2217 #[doc = "gpt1 bus clock (gpt_clk_enable)"]
2218 pub mod CG10 {
2219 pub const offset: u32 = 20;
2220 pub const mask: u32 = 0x03 << offset;
2221 pub mod R {}
2222 pub mod W {}
2223 pub mod RW {}
2224 }
2225 #[doc = "gpt1 serial clock (gpt_serial_clk_enable)"]
2226 pub mod CG11 {
2227 pub const offset: u32 = 22;
2228 pub const mask: u32 = 0x03 << offset;
2229 pub mod R {}
2230 pub mod W {}
2231 pub mod RW {}
2232 }
2233 #[doc = "lpuart4 clock (lpuart4_clk_enable)"]
2234 pub mod CG12 {
2235 pub const offset: u32 = 24;
2236 pub const mask: u32 = 0x03 << offset;
2237 pub mod R {}
2238 pub mod W {}
2239 pub mod RW {}
2240 }
2241 #[doc = "gpio1 clock (gpio1_clk_enable)"]
2242 pub mod CG13 {
2243 pub const offset: u32 = 26;
2244 pub const mask: u32 = 0x03 << offset;
2245 pub mod R {}
2246 pub mod W {}
2247 pub mod RW {}
2248 }
2249 #[doc = "csu clock (csu_clk_enable)"]
2250 pub mod CG14 {
2251 pub const offset: u32 = 28;
2252 pub const mask: u32 = 0x03 << offset;
2253 pub mod R {}
2254 pub mod W {}
2255 pub mod RW {}
2256 }
2257 #[doc = "gpio5 clock (gpio5_clk_enable)"]
2258 pub mod CG15 {
2259 pub const offset: u32 = 30;
2260 pub const mask: u32 = 0x03 << offset;
2261 pub mod R {}
2262 pub mod W {}
2263 pub mod RW {}
2264 }
2265}
2266#[doc = "CCM Clock Gating Register 2"]
2267pub mod CCGR2 {
2268 #[doc = "ocram_exsc clock (ocram_exsc_clk_enable)"]
2269 pub mod CG0 {
2270 pub const offset: u32 = 0;
2271 pub const mask: u32 = 0x03 << offset;
2272 pub mod R {}
2273 pub mod W {}
2274 pub mod RW {}
2275 }
2276 #[doc = "Reserved"]
2277 pub mod CG1 {
2278 pub const offset: u32 = 2;
2279 pub const mask: u32 = 0x03 << offset;
2280 pub mod R {}
2281 pub mod W {}
2282 pub mod RW {}
2283 }
2284 #[doc = "iomuxc_snvs clock (iomuxc_snvs_clk_enable)"]
2285 pub mod CG2 {
2286 pub const offset: u32 = 4;
2287 pub const mask: u32 = 0x03 << offset;
2288 pub mod R {}
2289 pub mod W {}
2290 pub mod RW {}
2291 }
2292 #[doc = "lpi2c1 clock (lpi2c1_clk_enable)"]
2293 pub mod CG3 {
2294 pub const offset: u32 = 6;
2295 pub const mask: u32 = 0x03 << offset;
2296 pub mod R {}
2297 pub mod W {}
2298 pub mod RW {}
2299 }
2300 #[doc = "lpi2c2 clock (lpi2c2_clk_enable)"]
2301 pub mod CG4 {
2302 pub const offset: u32 = 8;
2303 pub const mask: u32 = 0x03 << offset;
2304 pub mod R {}
2305 pub mod W {}
2306 pub mod RW {}
2307 }
2308 #[doc = "Reserved"]
2309 pub mod CG5 {
2310 pub const offset: u32 = 10;
2311 pub const mask: u32 = 0x03 << offset;
2312 pub mod R {}
2313 pub mod W {}
2314 pub mod RW {}
2315 }
2316 #[doc = "OCOTP_CTRL clock (iim_clk_enable)"]
2317 pub mod CG6 {
2318 pub const offset: u32 = 12;
2319 pub const mask: u32 = 0x03 << offset;
2320 pub mod R {}
2321 pub mod W {}
2322 pub mod RW {}
2323 }
2324 #[doc = "Reserved"]
2325 pub mod CG7 {
2326 pub const offset: u32 = 14;
2327 pub const mask: u32 = 0x03 << offset;
2328 pub mod R {}
2329 pub mod W {}
2330 pub mod RW {}
2331 }
2332 #[doc = "Reserved"]
2333 pub mod CG8 {
2334 pub const offset: u32 = 16;
2335 pub const mask: u32 = 0x03 << offset;
2336 pub mod R {}
2337 pub mod W {}
2338 pub mod RW {}
2339 }
2340 #[doc = "Reserved"]
2341 pub mod CG9 {
2342 pub const offset: u32 = 18;
2343 pub const mask: u32 = 0x03 << offset;
2344 pub mod R {}
2345 pub mod W {}
2346 pub mod RW {}
2347 }
2348 #[doc = "Reserved"]
2349 pub mod CG10 {
2350 pub const offset: u32 = 20;
2351 pub const mask: u32 = 0x03 << offset;
2352 pub mod R {}
2353 pub mod W {}
2354 pub mod RW {}
2355 }
2356 #[doc = "xbar1 clock (xbar1_clk_enable)"]
2357 pub mod CG11 {
2358 pub const offset: u32 = 22;
2359 pub const mask: u32 = 0x03 << offset;
2360 pub mod R {}
2361 pub mod W {}
2362 pub mod RW {}
2363 }
2364 #[doc = "Reserved"]
2365 pub mod CG12 {
2366 pub const offset: u32 = 24;
2367 pub const mask: u32 = 0x03 << offset;
2368 pub mod R {}
2369 pub mod W {}
2370 pub mod RW {}
2371 }
2372 #[doc = "Reserved"]
2373 pub mod CG13 {
2374 pub const offset: u32 = 26;
2375 pub const mask: u32 = 0x03 << offset;
2376 pub mod R {}
2377 pub mod W {}
2378 pub mod RW {}
2379 }
2380 #[doc = "Reserved"]
2381 pub mod CG14 {
2382 pub const offset: u32 = 28;
2383 pub const mask: u32 = 0x03 << offset;
2384 pub mod R {}
2385 pub mod W {}
2386 pub mod RW {}
2387 }
2388 #[doc = "Reserved"]
2389 pub mod CG15 {
2390 pub const offset: u32 = 30;
2391 pub const mask: u32 = 0x03 << offset;
2392 pub mod R {}
2393 pub mod W {}
2394 pub mod RW {}
2395 }
2396}
2397#[doc = "CCM Clock Gating Register 3"]
2398pub mod CCGR3 {
2399 #[doc = "Reserved"]
2400 pub mod CG0 {
2401 pub const offset: u32 = 0;
2402 pub const mask: u32 = 0x03 << offset;
2403 pub mod R {}
2404 pub mod W {}
2405 pub mod RW {}
2406 }
2407 #[doc = "Reserved"]
2408 pub mod CG1 {
2409 pub const offset: u32 = 2;
2410 pub const mask: u32 = 0x03 << offset;
2411 pub mod R {}
2412 pub mod W {}
2413 pub mod RW {}
2414 }
2415 #[doc = "Reserved"]
2416 pub mod CG2 {
2417 pub const offset: u32 = 4;
2418 pub const mask: u32 = 0x03 << offset;
2419 pub mod R {}
2420 pub mod W {}
2421 pub mod RW {}
2422 }
2423 #[doc = "Reserved"]
2424 pub mod CG3 {
2425 pub const offset: u32 = 6;
2426 pub const mask: u32 = 0x03 << offset;
2427 pub mod R {}
2428 pub mod W {}
2429 pub mod RW {}
2430 }
2431 #[doc = "aoi1 clock (aoi1_clk_enable)"]
2432 pub mod CG4 {
2433 pub const offset: u32 = 8;
2434 pub const mask: u32 = 0x03 << offset;
2435 pub mod R {}
2436 pub mod W {}
2437 pub mod RW {}
2438 }
2439 #[doc = "Reserved"]
2440 pub mod CG5 {
2441 pub const offset: u32 = 10;
2442 pub const mask: u32 = 0x03 << offset;
2443 pub mod R {}
2444 pub mod W {}
2445 pub mod RW {}
2446 }
2447 #[doc = "Reserved"]
2448 pub mod CG6 {
2449 pub const offset: u32 = 12;
2450 pub const mask: u32 = 0x03 << offset;
2451 pub mod R {}
2452 pub mod W {}
2453 pub mod RW {}
2454 }
2455 #[doc = "ewm clocks (ewm_clk_enable)"]
2456 pub mod CG7 {
2457 pub const offset: u32 = 14;
2458 pub const mask: u32 = 0x03 << offset;
2459 pub mod R {}
2460 pub mod W {}
2461 pub mod RW {}
2462 }
2463 #[doc = "wdog1 clock (wdog1_clk_enable)"]
2464 pub mod CG8 {
2465 pub const offset: u32 = 16;
2466 pub const mask: u32 = 0x03 << offset;
2467 pub mod R {}
2468 pub mod W {}
2469 pub mod RW {}
2470 }
2471 #[doc = "flexram clock (flexram_clk_enable)"]
2472 pub mod CG9 {
2473 pub const offset: u32 = 18;
2474 pub const mask: u32 = 0x03 << offset;
2475 pub mod R {}
2476 pub mod W {}
2477 pub mod RW {}
2478 }
2479 #[doc = "Reserved"]
2480 pub mod CG10 {
2481 pub const offset: u32 = 20;
2482 pub const mask: u32 = 0x03 << offset;
2483 pub mod R {}
2484 pub mod W {}
2485 pub mod RW {}
2486 }
2487 #[doc = "Reserved"]
2488 pub mod CG11 {
2489 pub const offset: u32 = 22;
2490 pub const mask: u32 = 0x03 << offset;
2491 pub mod R {}
2492 pub mod W {}
2493 pub mod RW {}
2494 }
2495 #[doc = "Reserved"]
2496 pub mod CG12 {
2497 pub const offset: u32 = 24;
2498 pub const mask: u32 = 0x03 << offset;
2499 pub mod R {}
2500 pub mod W {}
2501 pub mod RW {}
2502 }
2503 #[doc = "Reserved"]
2504 pub mod CG13 {
2505 pub const offset: u32 = 26;
2506 pub const mask: u32 = 0x03 << offset;
2507 pub mod R {}
2508 pub mod W {}
2509 pub mod RW {}
2510 }
2511 #[doc = "The OCRAM clock cannot be turned off when the CM cache is running on this device."]
2512 pub mod CG14 {
2513 pub const offset: u32 = 28;
2514 pub const mask: u32 = 0x03 << offset;
2515 pub mod R {}
2516 pub mod W {}
2517 pub mod RW {}
2518 }
2519 #[doc = "iomuxc_snvs_gpr clock (iomuxc_snvs_gpr_clk_enable)"]
2520 pub mod CG15 {
2521 pub const offset: u32 = 30;
2522 pub const mask: u32 = 0x03 << offset;
2523 pub mod R {}
2524 pub mod W {}
2525 pub mod RW {}
2526 }
2527}
2528#[doc = "CCM Clock Gating Register 4"]
2529pub mod CCGR4 {
2530 #[doc = "sim_m7_clk_r_enable"]
2531 pub mod CG0 {
2532 pub const offset: u32 = 0;
2533 pub const mask: u32 = 0x03 << offset;
2534 pub mod R {}
2535 pub mod W {}
2536 pub mod RW {}
2537 }
2538 #[doc = "iomuxc clock (iomuxc_clk_enable)"]
2539 pub mod CG1 {
2540 pub const offset: u32 = 2;
2541 pub const mask: u32 = 0x03 << offset;
2542 pub mod R {}
2543 pub mod W {}
2544 pub mod RW {}
2545 }
2546 #[doc = "iomuxc gpr clock (iomuxc_gpr_clk_enable)"]
2547 pub mod CG2 {
2548 pub const offset: u32 = 4;
2549 pub const mask: u32 = 0x03 << offset;
2550 pub mod R {}
2551 pub mod W {}
2552 pub mod RW {}
2553 }
2554 #[doc = "Reserved"]
2555 pub mod CG3 {
2556 pub const offset: u32 = 6;
2557 pub const mask: u32 = 0x03 << offset;
2558 pub mod R {}
2559 pub mod W {}
2560 pub mod RW {}
2561 }
2562 #[doc = "sim_m7 clock (sim_m7_clk_enable)"]
2563 pub mod CG4 {
2564 pub const offset: u32 = 8;
2565 pub const mask: u32 = 0x03 << offset;
2566 pub mod R {}
2567 pub mod W {}
2568 pub mod RW {}
2569 }
2570 #[doc = "Reserved"]
2571 pub mod CG5 {
2572 pub const offset: u32 = 10;
2573 pub const mask: u32 = 0x03 << offset;
2574 pub mod R {}
2575 pub mod W {}
2576 pub mod RW {}
2577 }
2578 #[doc = "sim_m clocks (sim_m_clk_enable)"]
2579 pub mod CG6 {
2580 pub const offset: u32 = 12;
2581 pub const mask: u32 = 0x03 << offset;
2582 pub mod R {}
2583 pub mod W {}
2584 pub mod RW {}
2585 }
2586 #[doc = "sim_ems clocks (sim_ems_clk_enable)"]
2587 pub mod CG7 {
2588 pub const offset: u32 = 14;
2589 pub const mask: u32 = 0x03 << offset;
2590 pub mod R {}
2591 pub mod W {}
2592 pub mod RW {}
2593 }
2594 #[doc = "pwm1 clocks (pwm1_clk_enable)"]
2595 pub mod CG8 {
2596 pub const offset: u32 = 16;
2597 pub const mask: u32 = 0x03 << offset;
2598 pub mod R {}
2599 pub mod W {}
2600 pub mod RW {}
2601 }
2602 #[doc = "Reserved"]
2603 pub mod CG9 {
2604 pub const offset: u32 = 18;
2605 pub const mask: u32 = 0x03 << offset;
2606 pub mod R {}
2607 pub mod W {}
2608 pub mod RW {}
2609 }
2610 #[doc = "Reserved"]
2611 pub mod CG10 {
2612 pub const offset: u32 = 20;
2613 pub const mask: u32 = 0x03 << offset;
2614 pub mod R {}
2615 pub mod W {}
2616 pub mod RW {}
2617 }
2618 #[doc = "Reserved"]
2619 pub mod CG11 {
2620 pub const offset: u32 = 22;
2621 pub const mask: u32 = 0x03 << offset;
2622 pub mod R {}
2623 pub mod W {}
2624 pub mod RW {}
2625 }
2626 #[doc = "Reserved"]
2627 pub mod CG12 {
2628 pub const offset: u32 = 24;
2629 pub const mask: u32 = 0x03 << offset;
2630 pub mod R {}
2631 pub mod W {}
2632 pub mod RW {}
2633 }
2634 #[doc = "Reserved"]
2635 pub mod CG13 {
2636 pub const offset: u32 = 26;
2637 pub const mask: u32 = 0x03 << offset;
2638 pub mod R {}
2639 pub mod W {}
2640 pub mod RW {}
2641 }
2642 #[doc = "Reserved"]
2643 pub mod CG14 {
2644 pub const offset: u32 = 28;
2645 pub const mask: u32 = 0x03 << offset;
2646 pub mod R {}
2647 pub mod W {}
2648 pub mod RW {}
2649 }
2650 #[doc = "dma_ps clocks (dma_ps_clk_enable)"]
2651 pub mod CG15 {
2652 pub const offset: u32 = 30;
2653 pub const mask: u32 = 0x03 << offset;
2654 pub mod R {}
2655 pub mod W {}
2656 pub mod RW {}
2657 }
2658}
2659#[doc = "CCM Clock Gating Register 5"]
2660pub mod CCGR5 {
2661 #[doc = "rom clock (rom_clk_enable)"]
2662 pub mod CG0 {
2663 pub const offset: u32 = 0;
2664 pub const mask: u32 = 0x03 << offset;
2665 pub mod R {}
2666 pub mod W {}
2667 pub mod RW {}
2668 }
2669 #[doc = "flexio1 clock (flexio1_clk_enable)"]
2670 pub mod CG1 {
2671 pub const offset: u32 = 2;
2672 pub const mask: u32 = 0x03 << offset;
2673 pub mod R {}
2674 pub mod W {}
2675 pub mod RW {}
2676 }
2677 #[doc = "wdog3 clock (wdog3_clk_enable)"]
2678 pub mod CG2 {
2679 pub const offset: u32 = 4;
2680 pub const mask: u32 = 0x03 << offset;
2681 pub mod R {}
2682 pub mod W {}
2683 pub mod RW {}
2684 }
2685 #[doc = "dma clock (dma_clk_enable)"]
2686 pub mod CG3 {
2687 pub const offset: u32 = 6;
2688 pub const mask: u32 = 0x03 << offset;
2689 pub mod R {}
2690 pub mod W {}
2691 pub mod RW {}
2692 }
2693 #[doc = "kpp clock (kpp_clk_enable)"]
2694 pub mod CG4 {
2695 pub const offset: u32 = 8;
2696 pub const mask: u32 = 0x03 << offset;
2697 pub mod R {}
2698 pub mod W {}
2699 pub mod RW {}
2700 }
2701 #[doc = "wdog2 clock (wdog2_clk_enable)"]
2702 pub mod CG5 {
2703 pub const offset: u32 = 10;
2704 pub const mask: u32 = 0x03 << offset;
2705 pub mod R {}
2706 pub mod W {}
2707 pub mod RW {}
2708 }
2709 #[doc = "Reserved"]
2710 pub mod CG6 {
2711 pub const offset: u32 = 12;
2712 pub const mask: u32 = 0x03 << offset;
2713 pub mod R {}
2714 pub mod W {}
2715 pub mod RW {}
2716 }
2717 #[doc = "spdif clock (spdif_clk_enable)"]
2718 pub mod CG7 {
2719 pub const offset: u32 = 14;
2720 pub const mask: u32 = 0x03 << offset;
2721 pub mod R {}
2722 pub mod W {}
2723 pub mod RW {}
2724 }
2725 #[doc = "Reserved"]
2726 pub mod CG8 {
2727 pub const offset: u32 = 16;
2728 pub const mask: u32 = 0x03 << offset;
2729 pub mod R {}
2730 pub mod W {}
2731 pub mod RW {}
2732 }
2733 #[doc = "sai1 clock (sai1_clk_enable)"]
2734 pub mod CG9 {
2735 pub const offset: u32 = 18;
2736 pub const mask: u32 = 0x03 << offset;
2737 pub mod R {}
2738 pub mod W {}
2739 pub mod RW {}
2740 }
2741 #[doc = "Reserved"]
2742 pub mod CG10 {
2743 pub const offset: u32 = 20;
2744 pub const mask: u32 = 0x03 << offset;
2745 pub mod R {}
2746 pub mod W {}
2747 pub mod RW {}
2748 }
2749 #[doc = "sai3 clock (sai3_clk_enable)"]
2750 pub mod CG11 {
2751 pub const offset: u32 = 22;
2752 pub const mask: u32 = 0x03 << offset;
2753 pub mod R {}
2754 pub mod W {}
2755 pub mod RW {}
2756 }
2757 #[doc = "lpuart1 clock (lpuart1_clk_enable)"]
2758 pub mod CG12 {
2759 pub const offset: u32 = 24;
2760 pub const mask: u32 = 0x03 << offset;
2761 pub mod R {}
2762 pub mod W {}
2763 pub mod RW {}
2764 }
2765 #[doc = "Reserved"]
2766 pub mod CG13 {
2767 pub const offset: u32 = 26;
2768 pub const mask: u32 = 0x03 << offset;
2769 pub mod R {}
2770 pub mod W {}
2771 pub mod RW {}
2772 }
2773 #[doc = "snvs_hp clock (snvs_hp_clk_enable)"]
2774 pub mod CG14 {
2775 pub const offset: u32 = 28;
2776 pub const mask: u32 = 0x03 << offset;
2777 pub mod R {}
2778 pub mod W {}
2779 pub mod RW {}
2780 }
2781 #[doc = "snvs_lp clock (snvs_lp_clk_enable)"]
2782 pub mod CG15 {
2783 pub const offset: u32 = 30;
2784 pub const mask: u32 = 0x03 << offset;
2785 pub mod R {}
2786 pub mod W {}
2787 pub mod RW {}
2788 }
2789}
2790#[doc = "CCM Clock Gating Register 6"]
2791pub mod CCGR6 {
2792 #[doc = "usboh3 clock (usboh3_clk_enable)"]
2793 pub mod CG0 {
2794 pub const offset: u32 = 0;
2795 pub const mask: u32 = 0x03 << offset;
2796 pub mod R {}
2797 pub mod W {}
2798 pub mod RW {}
2799 }
2800 #[doc = "Reserved"]
2801 pub mod CG1 {
2802 pub const offset: u32 = 2;
2803 pub const mask: u32 = 0x03 << offset;
2804 pub mod R {}
2805 pub mod W {}
2806 pub mod RW {}
2807 }
2808 #[doc = "Reserved"]
2809 pub mod CG2 {
2810 pub const offset: u32 = 4;
2811 pub const mask: u32 = 0x03 << offset;
2812 pub mod R {}
2813 pub mod W {}
2814 pub mod RW {}
2815 }
2816 #[doc = "dcdc clocks (dcdc_clk_enable)"]
2817 pub mod CG3 {
2818 pub const offset: u32 = 6;
2819 pub const mask: u32 = 0x03 << offset;
2820 pub mod R {}
2821 pub mod W {}
2822 pub mod RW {}
2823 }
2824 #[doc = "Reserved"]
2825 pub mod CG4 {
2826 pub const offset: u32 = 8;
2827 pub const mask: u32 = 0x03 << offset;
2828 pub mod R {}
2829 pub mod W {}
2830 pub mod RW {}
2831 }
2832 #[doc = "flexspi clocks (flexspi_clk_enable) sim_ems_clk_enable must also be cleared, when flexspi_clk_enable is cleared"]
2833 pub mod CG5 {
2834 pub const offset: u32 = 10;
2835 pub const mask: u32 = 0x03 << offset;
2836 pub mod R {}
2837 pub mod W {}
2838 pub mod RW {}
2839 }
2840 #[doc = "trng clock (trng_clk_enable)"]
2841 pub mod CG6 {
2842 pub const offset: u32 = 12;
2843 pub const mask: u32 = 0x03 << offset;
2844 pub mod R {}
2845 pub mod W {}
2846 pub mod RW {}
2847 }
2848 #[doc = "Reserved"]
2849 pub mod CG7 {
2850 pub const offset: u32 = 14;
2851 pub const mask: u32 = 0x03 << offset;
2852 pub mod R {}
2853 pub mod W {}
2854 pub mod RW {}
2855 }
2856 #[doc = "Reserved"]
2857 pub mod CG8 {
2858 pub const offset: u32 = 16;
2859 pub const mask: u32 = 0x03 << offset;
2860 pub mod R {}
2861 pub mod W {}
2862 pub mod RW {}
2863 }
2864 #[doc = "Reserved"]
2865 pub mod CG9 {
2866 pub const offset: u32 = 18;
2867 pub const mask: u32 = 0x03 << offset;
2868 pub mod R {}
2869 pub mod W {}
2870 pub mod RW {}
2871 }
2872 #[doc = "sim_per clock (sim_per_clk_enable)"]
2873 pub mod CG10 {
2874 pub const offset: u32 = 20;
2875 pub const mask: u32 = 0x03 << offset;
2876 pub mod R {}
2877 pub mod W {}
2878 pub mod RW {}
2879 }
2880 #[doc = "anadig clocks (anadig_clk_enable)"]
2881 pub mod CG11 {
2882 pub const offset: u32 = 22;
2883 pub const mask: u32 = 0x03 << offset;
2884 pub mod R {}
2885 pub mod W {}
2886 pub mod RW {}
2887 }
2888 #[doc = "Reserved"]
2889 pub mod CG12 {
2890 pub const offset: u32 = 24;
2891 pub const mask: u32 = 0x03 << offset;
2892 pub mod R {}
2893 pub mod W {}
2894 pub mod RW {}
2895 }
2896 #[doc = "Reserved"]
2897 pub mod CG13 {
2898 pub const offset: u32 = 26;
2899 pub const mask: u32 = 0x03 << offset;
2900 pub mod R {}
2901 pub mod W {}
2902 pub mod RW {}
2903 }
2904 #[doc = "Reserved"]
2905 pub mod CG14 {
2906 pub const offset: u32 = 28;
2907 pub const mask: u32 = 0x03 << offset;
2908 pub mod R {}
2909 pub mod W {}
2910 pub mod RW {}
2911 }
2912 #[doc = "Reserved"]
2913 pub mod CG15 {
2914 pub const offset: u32 = 30;
2915 pub const mask: u32 = 0x03 << offset;
2916 pub mod R {}
2917 pub mod W {}
2918 pub mod RW {}
2919 }
2920}
2921#[doc = "CCM Module Enable Overide Register"]
2922pub mod CMEOR {
2923 #[doc = "Overide clock enable signal from GPT - clock will not be gated based on GPT's signal 'ipg_enable_clk'"]
2924 pub mod MOD_EN_OV_GPT {
2925 pub const offset: u32 = 5;
2926 pub const mask: u32 = 0x01 << offset;
2927 pub mod R {}
2928 pub mod W {}
2929 pub mod RW {
2930 #[doc = "don't override module enable signal"]
2931 pub const MOD_EN_OV_GPT_0: u32 = 0;
2932 #[doc = "override module enable signal"]
2933 pub const MOD_EN_OV_GPT_1: u32 = 0x01;
2934 }
2935 }
2936 #[doc = "Overide clock enable signal from PIT - clock will not be gated based on PIT's signal 'ipg_enable_clk'"]
2937 pub mod MOD_EN_OV_PIT {
2938 pub const offset: u32 = 6;
2939 pub const mask: u32 = 0x01 << offset;
2940 pub mod R {}
2941 pub mod W {}
2942 pub mod RW {
2943 #[doc = "don't override module enable signal"]
2944 pub const MOD_EN_OV_PIT_0: u32 = 0;
2945 #[doc = "override module enable signal"]
2946 pub const MOD_EN_OV_PIT_1: u32 = 0x01;
2947 }
2948 }
2949 #[doc = "Overide clock enable signal from TRNG"]
2950 pub mod MOD_EN_OV_TRNG {
2951 pub const offset: u32 = 9;
2952 pub const mask: u32 = 0x01 << offset;
2953 pub mod R {}
2954 pub mod W {}
2955 pub mod RW {
2956 #[doc = "don't override module enable signal"]
2957 pub const MOD_EN_OV_TRNG_0: u32 = 0;
2958 #[doc = "override module enable signal"]
2959 pub const MOD_EN_OV_TRNG_1: u32 = 0x01;
2960 }
2961 }
2962}