1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"APU registers"]
28unsafe impl ::core::marker::Send for super::Apu {}
29unsafe impl ::core::marker::Sync for super::Apu {}
30impl super::Apu {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "APU mux register"]
38 #[inline(always)]
39 pub const fn apu_mux_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::ApuMuxReg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::ApuMuxReg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(28usize),
45 )
46 }
47 }
48
49 #[doc = "SRC coefficient 10 set 1"]
50 #[inline(always)]
51 pub const fn coef0a_set1_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::Coef0ASet1Reg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::Coef0ASet1Reg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(52usize),
57 )
58 }
59 }
60
61 #[doc = "SRC coefficient 1,0 set 1"]
62 #[inline(always)]
63 pub const fn coef10_set1_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::Coef10Set1Reg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::Coef10Set1Reg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(32usize),
69 )
70 }
71 }
72
73 #[doc = "SRC coefficient 3,2 set 1"]
74 #[inline(always)]
75 pub const fn coef32_set1_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::Coef32Set1Reg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::Coef32Set1Reg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(36usize),
81 )
82 }
83 }
84
85 #[doc = "SRC coefficient 5,4 set 1"]
86 #[inline(always)]
87 pub const fn coef54_set1_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::Coef54Set1Reg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::Coef54Set1Reg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(40usize),
93 )
94 }
95 }
96
97 #[doc = "SRC coefficient 7,6 set 1"]
98 #[inline(always)]
99 pub const fn coef76_set1_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::Coef76Set1Reg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::Coef76Set1Reg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(44usize),
105 )
106 }
107 }
108
109 #[doc = "SRC coefficient 9,8 set 1"]
110 #[inline(always)]
111 pub const fn coef98_set1_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::Coef98Set1Reg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::Coef98Set1Reg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(48usize),
117 )
118 }
119 }
120
121 #[doc = "PCM1 Control register"]
122 #[inline(always)]
123 pub const fn pcm1_ctrl_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::Pcm1CtrlReg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::Pcm1CtrlReg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(256usize),
129 )
130 }
131 }
132
133 #[doc = "PCM1 data in 1"]
134 #[inline(always)]
135 pub const fn pcm1_in1_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::Pcm1In1Reg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::Pcm1In1Reg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(260usize),
141 )
142 }
143 }
144
145 #[doc = "PCM1 data in 2"]
146 #[inline(always)]
147 pub const fn pcm1_in2_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::Pcm1In2Reg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::Pcm1In2Reg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(264usize),
153 )
154 }
155 }
156
157 #[doc = "PCM1 data out 1"]
158 #[inline(always)]
159 pub const fn pcm1_out1_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::Pcm1Out1Reg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::Pcm1Out1Reg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(268usize),
165 )
166 }
167 }
168
169 #[doc = "PCM1 data out 2"]
170 #[inline(always)]
171 pub const fn pcm1_out2_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::Pcm1Out2Reg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::Pcm1Out2Reg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(272usize),
177 )
178 }
179 }
180
181 #[doc = "SRC1 control register"]
182 #[inline(always)]
183 pub const fn src1_ctrl_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::Src1CtrlReg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::Src1CtrlReg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(0usize),
189 )
190 }
191 }
192
193 #[doc = "SRC1 data in 1"]
194 #[inline(always)]
195 pub const fn src1_in1_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::Src1In1Reg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::Src1In1Reg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(12usize),
201 )
202 }
203 }
204
205 #[doc = "SRC1 data in 2"]
206 #[inline(always)]
207 pub const fn src1_in2_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::Src1In2Reg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::Src1In2Reg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(16usize),
213 )
214 }
215 }
216
217 #[doc = "SRC1 Sample input rate"]
218 #[inline(always)]
219 pub const fn src1_in_fs_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::Src1InFsReg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::Src1InFsReg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(4usize),
225 )
226 }
227 }
228
229 #[doc = "SRC1 data out 1"]
230 #[inline(always)]
231 pub const fn src1_out1_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::Src1Out1Reg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::Src1Out1Reg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(20usize),
237 )
238 }
239 }
240
241 #[doc = "SRC1 data out 2"]
242 #[inline(always)]
243 pub const fn src1_out2_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::Src1Out2Reg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::Src1Out2Reg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(24usize),
249 )
250 }
251 }
252
253 #[doc = "SRC1 Sample output rate"]
254 #[inline(always)]
255 pub const fn src1_out_fs_reg(
256 &self,
257 ) -> &'static crate::common::Reg<self::Src1OutFsReg_SPEC, crate::common::RW> {
258 unsafe {
259 crate::common::Reg::<self::Src1OutFsReg_SPEC, crate::common::RW>::from_ptr(
260 self._svd2pac_as_ptr().add(8usize),
261 )
262 }
263 }
264}
265#[doc(hidden)]
266#[derive(Copy, Clone, Eq, PartialEq)]
267pub struct ApuMuxReg_SPEC;
268impl crate::sealed::RegSpec for ApuMuxReg_SPEC {
269 type DataType = u32;
270}
271
272#[doc = "APU mux register"]
273pub type ApuMuxReg = crate::RegValueT<ApuMuxReg_SPEC>;
274
275impl ApuMuxReg {
276 #[doc = "PDM1 input mux\n0 = SRC1_MUX_IN\n1 = PDM input"]
277 #[inline(always)]
278 pub fn pdm1_mux_in(
279 self,
280 ) -> crate::common::RegisterFieldBool<6, 1, 0, ApuMuxReg_SPEC, crate::common::RW> {
281 crate::common::RegisterFieldBool::<6,1,0,ApuMuxReg_SPEC,crate::common::RW>::from_register(self,0)
282 }
283
284 #[doc = "PCM1 input mux\n0 = off\n1 = SRC1 output\n2 = PCM output registers"]
285 #[inline(always)]
286 pub fn pcm1_mux_in(
287 self,
288 ) -> crate::common::RegisterField<3, 0x7, 1, 0, u8, u8, ApuMuxReg_SPEC, crate::common::RW> {
289 crate::common::RegisterField::<3,0x7,1,0,u8,u8,ApuMuxReg_SPEC,crate::common::RW>::from_register(self,0)
290 }
291
292 #[doc = "SRC1 input mux\n0 = off\n1 = PCM output\n2 = SRC1 input registers"]
293 #[inline(always)]
294 pub fn src1_mux_in(
295 self,
296 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, ApuMuxReg_SPEC, crate::common::RW> {
297 crate::common::RegisterField::<0,0x7,1,0,u8,u8,ApuMuxReg_SPEC,crate::common::RW>::from_register(self,0)
298 }
299}
300impl ::core::default::Default for ApuMuxReg {
301 #[inline(always)]
302 fn default() -> ApuMuxReg {
303 <crate::RegValueT<ApuMuxReg_SPEC> as RegisterValue<_>>::new(0)
304 }
305}
306
307#[doc(hidden)]
308#[derive(Copy, Clone, Eq, PartialEq)]
309pub struct Coef0ASet1Reg_SPEC;
310impl crate::sealed::RegSpec for Coef0ASet1Reg_SPEC {
311 type DataType = u32;
312}
313
314#[doc = "SRC coefficient 10 set 1"]
315pub type Coef0ASet1Reg = crate::RegValueT<Coef0ASet1Reg_SPEC>;
316
317impl Coef0ASet1Reg {
318 #[doc = "coefficient 10"]
319 #[inline(always)]
320 pub fn src_coef10(
321 self,
322 ) -> crate::common::RegisterField<
323 0,
324 0xffff,
325 1,
326 0,
327 u16,
328 u16,
329 Coef0ASet1Reg_SPEC,
330 crate::common::RW,
331 > {
332 crate::common::RegisterField::<
333 0,
334 0xffff,
335 1,
336 0,
337 u16,
338 u16,
339 Coef0ASet1Reg_SPEC,
340 crate::common::RW,
341 >::from_register(self, 0)
342 }
343}
344impl ::core::default::Default for Coef0ASet1Reg {
345 #[inline(always)]
346 fn default() -> Coef0ASet1Reg {
347 <crate::RegValueT<Coef0ASet1Reg_SPEC> as RegisterValue<_>>::new(16882)
348 }
349}
350
351#[doc(hidden)]
352#[derive(Copy, Clone, Eq, PartialEq)]
353pub struct Coef10Set1Reg_SPEC;
354impl crate::sealed::RegSpec for Coef10Set1Reg_SPEC {
355 type DataType = u32;
356}
357
358#[doc = "SRC coefficient 1,0 set 1"]
359pub type Coef10Set1Reg = crate::RegValueT<Coef10Set1Reg_SPEC>;
360
361impl Coef10Set1Reg {
362 #[doc = "coefficient 1"]
363 #[inline(always)]
364 pub fn src_coef1(
365 self,
366 ) -> crate::common::RegisterField<
367 16,
368 0xffff,
369 1,
370 0,
371 u16,
372 u16,
373 Coef10Set1Reg_SPEC,
374 crate::common::RW,
375 > {
376 crate::common::RegisterField::<
377 16,
378 0xffff,
379 1,
380 0,
381 u16,
382 u16,
383 Coef10Set1Reg_SPEC,
384 crate::common::RW,
385 >::from_register(self, 0)
386 }
387
388 #[doc = "coefficient 0"]
389 #[inline(always)]
390 pub fn src_coef0(
391 self,
392 ) -> crate::common::RegisterField<
393 0,
394 0xffff,
395 1,
396 0,
397 u16,
398 u16,
399 Coef10Set1Reg_SPEC,
400 crate::common::RW,
401 > {
402 crate::common::RegisterField::<
403 0,
404 0xffff,
405 1,
406 0,
407 u16,
408 u16,
409 Coef10Set1Reg_SPEC,
410 crate::common::RW,
411 >::from_register(self, 0)
412 }
413}
414impl ::core::default::Default for Coef10Set1Reg {
415 #[inline(always)]
416 fn default() -> Coef10Set1Reg {
417 <crate::RegValueT<Coef10Set1Reg_SPEC> as RegisterValue<_>>::new(2041156216)
418 }
419}
420
421#[doc(hidden)]
422#[derive(Copy, Clone, Eq, PartialEq)]
423pub struct Coef32Set1Reg_SPEC;
424impl crate::sealed::RegSpec for Coef32Set1Reg_SPEC {
425 type DataType = u32;
426}
427
428#[doc = "SRC coefficient 3,2 set 1"]
429pub type Coef32Set1Reg = crate::RegValueT<Coef32Set1Reg_SPEC>;
430
431impl Coef32Set1Reg {
432 #[doc = "coefficient 3"]
433 #[inline(always)]
434 pub fn src_coef3(
435 self,
436 ) -> crate::common::RegisterField<
437 16,
438 0xffff,
439 1,
440 0,
441 u16,
442 u16,
443 Coef32Set1Reg_SPEC,
444 crate::common::RW,
445 > {
446 crate::common::RegisterField::<
447 16,
448 0xffff,
449 1,
450 0,
451 u16,
452 u16,
453 Coef32Set1Reg_SPEC,
454 crate::common::RW,
455 >::from_register(self, 0)
456 }
457
458 #[doc = "coefficient 2"]
459 #[inline(always)]
460 pub fn src_coef2(
461 self,
462 ) -> crate::common::RegisterField<
463 0,
464 0xffff,
465 1,
466 0,
467 u16,
468 u16,
469 Coef32Set1Reg_SPEC,
470 crate::common::RW,
471 > {
472 crate::common::RegisterField::<
473 0,
474 0xffff,
475 1,
476 0,
477 u16,
478 u16,
479 Coef32Set1Reg_SPEC,
480 crate::common::RW,
481 >::from_register(self, 0)
482 }
483}
484impl ::core::default::Default for Coef32Set1Reg {
485 #[inline(always)]
486 fn default() -> Coef32Set1Reg {
487 <crate::RegValueT<Coef32Set1Reg_SPEC> as RegisterValue<_>>::new(1834388289)
488 }
489}
490
491#[doc(hidden)]
492#[derive(Copy, Clone, Eq, PartialEq)]
493pub struct Coef54Set1Reg_SPEC;
494impl crate::sealed::RegSpec for Coef54Set1Reg_SPEC {
495 type DataType = u32;
496}
497
498#[doc = "SRC coefficient 5,4 set 1"]
499pub type Coef54Set1Reg = crate::RegValueT<Coef54Set1Reg_SPEC>;
500
501impl Coef54Set1Reg {
502 #[doc = "coefficient 5"]
503 #[inline(always)]
504 pub fn src_coef5(
505 self,
506 ) -> crate::common::RegisterField<
507 16,
508 0xffff,
509 1,
510 0,
511 u16,
512 u16,
513 Coef54Set1Reg_SPEC,
514 crate::common::RW,
515 > {
516 crate::common::RegisterField::<
517 16,
518 0xffff,
519 1,
520 0,
521 u16,
522 u16,
523 Coef54Set1Reg_SPEC,
524 crate::common::RW,
525 >::from_register(self, 0)
526 }
527
528 #[doc = "coefficient 4"]
529 #[inline(always)]
530 pub fn src_coef4(
531 self,
532 ) -> crate::common::RegisterField<
533 0,
534 0xffff,
535 1,
536 0,
537 u16,
538 u16,
539 Coef54Set1Reg_SPEC,
540 crate::common::RW,
541 > {
542 crate::common::RegisterField::<
543 0,
544 0xffff,
545 1,
546 0,
547 u16,
548 u16,
549 Coef54Set1Reg_SPEC,
550 crate::common::RW,
551 >::from_register(self, 0)
552 }
553}
554impl ::core::default::Default for Coef54Set1Reg {
555 #[inline(always)]
556 fn default() -> Coef54Set1Reg {
557 <crate::RegValueT<Coef54Set1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
558 }
559}
560
561#[doc(hidden)]
562#[derive(Copy, Clone, Eq, PartialEq)]
563pub struct Coef76Set1Reg_SPEC;
564impl crate::sealed::RegSpec for Coef76Set1Reg_SPEC {
565 type DataType = u32;
566}
567
568#[doc = "SRC coefficient 7,6 set 1"]
569pub type Coef76Set1Reg = crate::RegValueT<Coef76Set1Reg_SPEC>;
570
571impl Coef76Set1Reg {
572 #[doc = "coefficient 7"]
573 #[inline(always)]
574 pub fn src_coef7(
575 self,
576 ) -> crate::common::RegisterField<
577 16,
578 0xffff,
579 1,
580 0,
581 u16,
582 u16,
583 Coef76Set1Reg_SPEC,
584 crate::common::RW,
585 > {
586 crate::common::RegisterField::<
587 16,
588 0xffff,
589 1,
590 0,
591 u16,
592 u16,
593 Coef76Set1Reg_SPEC,
594 crate::common::RW,
595 >::from_register(self, 0)
596 }
597
598 #[doc = "coefficient 6"]
599 #[inline(always)]
600 pub fn src_coef6(
601 self,
602 ) -> crate::common::RegisterField<
603 0,
604 0xffff,
605 1,
606 0,
607 u16,
608 u16,
609 Coef76Set1Reg_SPEC,
610 crate::common::RW,
611 > {
612 crate::common::RegisterField::<
613 0,
614 0xffff,
615 1,
616 0,
617 u16,
618 u16,
619 Coef76Set1Reg_SPEC,
620 crate::common::RW,
621 >::from_register(self, 0)
622 }
623}
624impl ::core::default::Default for Coef76Set1Reg {
625 #[inline(always)]
626 fn default() -> Coef76Set1Reg {
627 <crate::RegValueT<Coef76Set1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
628 }
629}
630
631#[doc(hidden)]
632#[derive(Copy, Clone, Eq, PartialEq)]
633pub struct Coef98Set1Reg_SPEC;
634impl crate::sealed::RegSpec for Coef98Set1Reg_SPEC {
635 type DataType = u32;
636}
637
638#[doc = "SRC coefficient 9,8 set 1"]
639pub type Coef98Set1Reg = crate::RegValueT<Coef98Set1Reg_SPEC>;
640
641impl Coef98Set1Reg {
642 #[doc = "coefficient 9"]
643 #[inline(always)]
644 pub fn src_coef9(
645 self,
646 ) -> crate::common::RegisterField<
647 16,
648 0xffff,
649 1,
650 0,
651 u16,
652 u16,
653 Coef98Set1Reg_SPEC,
654 crate::common::RW,
655 > {
656 crate::common::RegisterField::<
657 16,
658 0xffff,
659 1,
660 0,
661 u16,
662 u16,
663 Coef98Set1Reg_SPEC,
664 crate::common::RW,
665 >::from_register(self, 0)
666 }
667
668 #[doc = "coefficient 8"]
669 #[inline(always)]
670 pub fn src_coef8(
671 self,
672 ) -> crate::common::RegisterField<
673 0,
674 0xffff,
675 1,
676 0,
677 u16,
678 u16,
679 Coef98Set1Reg_SPEC,
680 crate::common::RW,
681 > {
682 crate::common::RegisterField::<
683 0,
684 0xffff,
685 1,
686 0,
687 u16,
688 u16,
689 Coef98Set1Reg_SPEC,
690 crate::common::RW,
691 >::from_register(self, 0)
692 }
693}
694impl ::core::default::Default for Coef98Set1Reg {
695 #[inline(always)]
696 fn default() -> Coef98Set1Reg {
697 <crate::RegValueT<Coef98Set1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
698 }
699}
700
701#[doc(hidden)]
702#[derive(Copy, Clone, Eq, PartialEq)]
703pub struct Pcm1CtrlReg_SPEC;
704impl crate::sealed::RegSpec for Pcm1CtrlReg_SPEC {
705 type DataType = u32;
706}
707
708#[doc = "PCM1 Control register"]
709pub type Pcm1CtrlReg = crate::RegValueT<Pcm1CtrlReg_SPEC>;
710
711impl Pcm1CtrlReg {
712 #[doc = "PCM Framesync divider, Values 7-0xFFF. To divide by N, write N-1. (Minimum value N-1=7 for 8 bits PCM_FSC)\nNote if PCM_CLK_BIT=1, N must always be even"]
713 #[inline(always)]
714 pub fn pcm_fsc_div(
715 self,
716 ) -> crate::common::RegisterField<20, 0xfff, 1, 0, u16, u16, Pcm1CtrlReg_SPEC, crate::common::RW>
717 {
718 crate::common::RegisterField::<20,0xfff,1,0,u16,u16,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
719 }
720
721 #[doc = "0: shift channels 1, 2, 3, 4, 5, 6, 7, 8 after PCM_FSC edge\n1: shift channels 1, 2, 3, 4 after PCM_FSC edge shift channels 5, 6, 7, 8 after opposite PCM_FSC edge"]
722 #[inline(always)]
723 pub fn pcm_fsc_edge(
724 self,
725 ) -> crate::common::RegisterFieldBool<16, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
726 crate::common::RegisterFieldBool::<16,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
727 }
728
729 #[doc = "Channel delay in multiples of 8 bits"]
730 #[inline(always)]
731 pub fn pcm_ch_del(
732 self,
733 ) -> crate::common::RegisterField<11, 0x1f, 1, 0, u8, u8, Pcm1CtrlReg_SPEC, crate::common::RW>
734 {
735 crate::common::RegisterField::<11,0x1f,1,0,u8,u8,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
736 }
737
738 #[doc = "0:One clock cycle per data bit\n1:Two cloc cycles per data bit"]
739 #[inline(always)]
740 pub fn pcm_clk_bit(
741 self,
742 ) -> crate::common::RegisterFieldBool<10, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
743 crate::common::RegisterFieldBool::<10,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
744 }
745
746 #[doc = "0: PCM FSC\n1: PCM FSC inverted"]
747 #[inline(always)]
748 pub fn pcm_fscinv(
749 self,
750 ) -> crate::common::RegisterFieldBool<9, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
751 crate::common::RegisterFieldBool::<9,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
752 }
753
754 #[doc = "0:PCM CLK\n1:PCM CLK inverted"]
755 #[inline(always)]
756 pub fn pcm_clkinv(
757 self,
758 ) -> crate::common::RegisterFieldBool<8, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
759 crate::common::RegisterFieldBool::<8,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
760 }
761
762 #[doc = "0:PCM DO push pull\n1:PCM DO open drain"]
763 #[inline(always)]
764 pub fn pcm_ppod(
765 self,
766 ) -> crate::common::RegisterFieldBool<7, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
767 crate::common::RegisterFieldBool::<7,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
768 }
769
770 #[doc = "0:PCM FSC starts one cycle before MSB bit\n1:PCM FSC starts at the same time as MSB bit"]
771 #[inline(always)]
772 pub fn pcm_fscdel(
773 self,
774 ) -> crate::common::RegisterFieldBool<6, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
775 crate::common::RegisterFieldBool::<6,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
776 }
777
778 #[doc = "0:PCM FSC length equal to 1 data bit\nN:PCM FSC length equal to N*8"]
779 #[inline(always)]
780 pub fn pcm_fsclen(
781 self,
782 ) -> crate::common::RegisterField<2, 0xf, 1, 0, u8, u8, Pcm1CtrlReg_SPEC, crate::common::RW>
783 {
784 crate::common::RegisterField::<2,0xf,1,0,u8,u8,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
785 }
786
787 #[doc = "0:PCM interface in slave mode\n1:PCM interface in master mode"]
788 #[inline(always)]
789 pub fn pcm_master(
790 self,
791 ) -> crate::common::RegisterFieldBool<1, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
792 crate::common::RegisterFieldBool::<1,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
793 }
794
795 #[doc = "0:PCM interface disabled\n1:PCM interface enabled"]
796 #[inline(always)]
797 pub fn pcm_en(
798 self,
799 ) -> crate::common::RegisterFieldBool<0, 1, 0, Pcm1CtrlReg_SPEC, crate::common::RW> {
800 crate::common::RegisterFieldBool::<0,1,0,Pcm1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
801 }
802}
803impl ::core::default::Default for Pcm1CtrlReg {
804 #[inline(always)]
805 fn default() -> Pcm1CtrlReg {
806 <crate::RegValueT<Pcm1CtrlReg_SPEC> as RegisterValue<_>>::new(0)
807 }
808}
809
810#[doc(hidden)]
811#[derive(Copy, Clone, Eq, PartialEq)]
812pub struct Pcm1In1Reg_SPEC;
813impl crate::sealed::RegSpec for Pcm1In1Reg_SPEC {
814 type DataType = u32;
815}
816
817#[doc = "PCM1 data in 1"]
818pub type Pcm1In1Reg = crate::RegValueT<Pcm1In1Reg_SPEC>;
819
820impl Pcm1In1Reg {
821 #[doc = "PCM1_IN1 bits 31-0"]
822 #[inline(always)]
823 pub fn pcm_in(
824 self,
825 ) -> crate::common::RegisterField<
826 0,
827 0xffffffff,
828 1,
829 0,
830 u32,
831 u32,
832 Pcm1In1Reg_SPEC,
833 crate::common::R,
834 > {
835 crate::common::RegisterField::<
836 0,
837 0xffffffff,
838 1,
839 0,
840 u32,
841 u32,
842 Pcm1In1Reg_SPEC,
843 crate::common::R,
844 >::from_register(self, 0)
845 }
846}
847impl ::core::default::Default for Pcm1In1Reg {
848 #[inline(always)]
849 fn default() -> Pcm1In1Reg {
850 <crate::RegValueT<Pcm1In1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
851 }
852}
853
854#[doc(hidden)]
855#[derive(Copy, Clone, Eq, PartialEq)]
856pub struct Pcm1In2Reg_SPEC;
857impl crate::sealed::RegSpec for Pcm1In2Reg_SPEC {
858 type DataType = u32;
859}
860
861#[doc = "PCM1 data in 2"]
862pub type Pcm1In2Reg = crate::RegValueT<Pcm1In2Reg_SPEC>;
863
864impl Pcm1In2Reg {
865 #[doc = "PCM1_IN2 bits 31-0"]
866 #[inline(always)]
867 pub fn pcm_in(
868 self,
869 ) -> crate::common::RegisterField<
870 0,
871 0xffffffff,
872 1,
873 0,
874 u32,
875 u32,
876 Pcm1In2Reg_SPEC,
877 crate::common::R,
878 > {
879 crate::common::RegisterField::<
880 0,
881 0xffffffff,
882 1,
883 0,
884 u32,
885 u32,
886 Pcm1In2Reg_SPEC,
887 crate::common::R,
888 >::from_register(self, 0)
889 }
890}
891impl ::core::default::Default for Pcm1In2Reg {
892 #[inline(always)]
893 fn default() -> Pcm1In2Reg {
894 <crate::RegValueT<Pcm1In2Reg_SPEC> as RegisterValue<_>>::new(2147483647)
895 }
896}
897
898#[doc(hidden)]
899#[derive(Copy, Clone, Eq, PartialEq)]
900pub struct Pcm1Out1Reg_SPEC;
901impl crate::sealed::RegSpec for Pcm1Out1Reg_SPEC {
902 type DataType = u32;
903}
904
905#[doc = "PCM1 data out 1"]
906pub type Pcm1Out1Reg = crate::RegValueT<Pcm1Out1Reg_SPEC>;
907
908impl Pcm1Out1Reg {
909 #[doc = "PCM1_OUT1 bits 31-0"]
910 #[inline(always)]
911 pub fn pcm_out(
912 self,
913 ) -> crate::common::RegisterField<
914 0,
915 0xffffffff,
916 1,
917 0,
918 u32,
919 u32,
920 Pcm1Out1Reg_SPEC,
921 crate::common::RW,
922 > {
923 crate::common::RegisterField::<
924 0,
925 0xffffffff,
926 1,
927 0,
928 u32,
929 u32,
930 Pcm1Out1Reg_SPEC,
931 crate::common::RW,
932 >::from_register(self, 0)
933 }
934}
935impl ::core::default::Default for Pcm1Out1Reg {
936 #[inline(always)]
937 fn default() -> Pcm1Out1Reg {
938 <crate::RegValueT<Pcm1Out1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
939 }
940}
941
942#[doc(hidden)]
943#[derive(Copy, Clone, Eq, PartialEq)]
944pub struct Pcm1Out2Reg_SPEC;
945impl crate::sealed::RegSpec for Pcm1Out2Reg_SPEC {
946 type DataType = u32;
947}
948
949#[doc = "PCM1 data out 2"]
950pub type Pcm1Out2Reg = crate::RegValueT<Pcm1Out2Reg_SPEC>;
951
952impl Pcm1Out2Reg {
953 #[doc = "PCM1_OUT2 bits 31-0"]
954 #[inline(always)]
955 pub fn pcm_out(
956 self,
957 ) -> crate::common::RegisterField<
958 0,
959 0xffffffff,
960 1,
961 0,
962 u32,
963 u32,
964 Pcm1Out2Reg_SPEC,
965 crate::common::RW,
966 > {
967 crate::common::RegisterField::<
968 0,
969 0xffffffff,
970 1,
971 0,
972 u32,
973 u32,
974 Pcm1Out2Reg_SPEC,
975 crate::common::RW,
976 >::from_register(self, 0)
977 }
978}
979impl ::core::default::Default for Pcm1Out2Reg {
980 #[inline(always)]
981 fn default() -> Pcm1Out2Reg {
982 <crate::RegValueT<Pcm1Out2Reg_SPEC> as RegisterValue<_>>::new(2147483647)
983 }
984}
985
986#[doc(hidden)]
987#[derive(Copy, Clone, Eq, PartialEq)]
988pub struct Src1CtrlReg_SPEC;
989impl crate::sealed::RegSpec for Src1CtrlReg_SPEC {
990 type DataType = u32;
991}
992
993#[doc = "SRC1 control register"]
994pub type Src1CtrlReg = crate::RegValueT<Src1CtrlReg_SPEC>;
995
996impl Src1CtrlReg {
997 #[doc = "PDM_DO output delay line\n0: no delay\n1: 14 ns\n2: 20 ns\n3: 26 ns"]
998 #[inline(always)]
999 pub fn src_pdm_do_del(
1000 self,
1001 ) -> crate::common::RegisterField<30, 0x3, 1, 0, u8, u8, Src1CtrlReg_SPEC, crate::common::RW>
1002 {
1003 crate::common::RegisterField::<30,0x3,1,0,u8,u8,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1004 }
1005
1006 #[doc = "PDM Output mode selection on PDM_DO1\n00: No output\n01: Right channel (falling edge of PDM_CLK)\n10: Left channel (rising edge of PDM_CLK)\n11: Left and Right channel"]
1007 #[inline(always)]
1008 pub fn src_pdm_mode(
1009 self,
1010 ) -> crate::common::RegisterField<28, 0x3, 1, 0, u8, u8, Src1CtrlReg_SPEC, crate::common::RW>
1011 {
1012 crate::common::RegisterField::<28,0x3,1,0,u8,u8,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1013 }
1014
1015 #[doc = "PDM_DI input delay line\n0: no delay\n1: 6 ns\n2: 12 ns\n3: 18 ns"]
1016 #[inline(always)]
1017 pub fn src_pdm_di_del(
1018 self,
1019 ) -> crate::common::RegisterField<26, 0x3, 1, 0, u8, u8, Src1CtrlReg_SPEC, crate::common::RW>
1020 {
1021 crate::common::RegisterField::<26,0x3,1,0,u8,u8,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1022 }
1023
1024 #[doc = "Writing a 1 clears the SRC1_OUT Overflow/underflow bits 23-22. No more over/underflow indications while bit is 1. Keep 1 until the over/under flow bit is cleared"]
1025 #[inline(always)]
1026 pub fn src_out_flowclr(
1027 self,
1028 ) -> crate::common::RegisterFieldBool<25, 1, 0, Src1CtrlReg_SPEC, crate::common::W> {
1029 crate::common::RegisterFieldBool::<25,1,0,Src1CtrlReg_SPEC,crate::common::W>::from_register(self,0)
1030 }
1031
1032 #[doc = "Writing a 1 clears the SRC1_IN Overflow/underflow bits 21-20. No more over/underflow indications while bit is 1. Keep 1 until the over/under flow bit is cleared"]
1033 #[inline(always)]
1034 pub fn src_in_flowclr(
1035 self,
1036 ) -> crate::common::RegisterFieldBool<24, 1, 0, Src1CtrlReg_SPEC, crate::common::W> {
1037 crate::common::RegisterFieldBool::<24,1,0,Src1CtrlReg_SPEC,crate::common::W>::from_register(self,0)
1038 }
1039
1040 #[doc = "1 = SRC1_OUT Underflow occurred"]
1041 #[inline(always)]
1042 pub fn src_out_unflow(
1043 self,
1044 ) -> crate::common::RegisterFieldBool<23, 1, 0, Src1CtrlReg_SPEC, crate::common::R> {
1045 crate::common::RegisterFieldBool::<23,1,0,Src1CtrlReg_SPEC,crate::common::R>::from_register(self,0)
1046 }
1047
1048 #[doc = "1 = SRC1_OUT Overflow occurred"]
1049 #[inline(always)]
1050 pub fn src_out_ovflow(
1051 self,
1052 ) -> crate::common::RegisterFieldBool<22, 1, 0, Src1CtrlReg_SPEC, crate::common::R> {
1053 crate::common::RegisterFieldBool::<22,1,0,Src1CtrlReg_SPEC,crate::common::R>::from_register(self,0)
1054 }
1055
1056 #[doc = "1 = SRC1_IN Underflow occurred"]
1057 #[inline(always)]
1058 pub fn src_in_unflow(
1059 self,
1060 ) -> crate::common::RegisterFieldBool<21, 1, 0, Src1CtrlReg_SPEC, crate::common::R> {
1061 crate::common::RegisterFieldBool::<21,1,0,Src1CtrlReg_SPEC,crate::common::R>::from_register(self,0)
1062 }
1063
1064 #[doc = "1 = SRC1_IN Overflow occurred"]
1065 #[inline(always)]
1066 pub fn src_in_ovflow(
1067 self,
1068 ) -> crate::common::RegisterFieldBool<20, 1, 0, Src1CtrlReg_SPEC, crate::common::R> {
1069 crate::common::RegisterFieldBool::<20,1,0,Src1CtrlReg_SPEC,crate::common::R>::from_register(self,0)
1070 }
1071
1072 #[doc = "1 = SRC will restart synchronisation"]
1073 #[inline(always)]
1074 pub fn src_resync(
1075 self,
1076 ) -> crate::common::RegisterFieldBool<19, 1, 0, Src1CtrlReg_SPEC, crate::common::W> {
1077 crate::common::RegisterFieldBool::<19,1,0,Src1CtrlReg_SPEC,crate::common::W>::from_register(self,0)
1078 }
1079
1080 #[doc = "SRC1_OUT Status\n0: acquisition in progress\n1: acquisition ready (In manual mode this bit is always 1)"]
1081 #[inline(always)]
1082 pub fn src_out_ok(
1083 self,
1084 ) -> crate::common::RegisterFieldBool<18, 1, 0, Src1CtrlReg_SPEC, crate::common::R> {
1085 crate::common::RegisterFieldBool::<18,1,0,Src1CtrlReg_SPEC,crate::common::R>::from_register(self,0)
1086 }
1087
1088 #[doc = "SRC1_OUT UpSampling IIR filters setting\n00: for sample rates up-to 48kHz\n01: for sample rates of 96kHz\n10: reserved\n11: for sample rates of 192kHz"]
1089 #[inline(always)]
1090 pub fn src_out_us(
1091 self,
1092 ) -> crate::common::RegisterField<16, 0x3, 1, 0, u8, u8, Src1CtrlReg_SPEC, crate::common::RW>
1093 {
1094 crate::common::RegisterField::<16,0x3,1,0,u8,u8,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1095 }
1096
1097 #[doc = "SRC1_OUT1 upsampiling filter bypass\n0:Do not bypass\n1:Bypass filter"]
1098 #[inline(always)]
1099 pub fn src_out_cal_bypass(
1100 self,
1101 ) -> crate::common::RegisterFieldBool<14, 1, 0, Src1CtrlReg_SPEC, crate::common::RW> {
1102 crate::common::RegisterFieldBool::<14,1,0,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1103 }
1104
1105 #[doc = "SRC1_OUT1 Automatic Conversion mode\n0:Manual mode\n1:Automatic mode"]
1106 #[inline(always)]
1107 pub fn src_out_amode(
1108 self,
1109 ) -> crate::common::RegisterFieldBool<13, 1, 0, Src1CtrlReg_SPEC, crate::common::RW> {
1110 crate::common::RegisterFieldBool::<13,1,0,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1111 }
1112
1113 #[doc = "Dithering feature\n0: Enable\n1: Disable"]
1114 #[inline(always)]
1115 pub fn src_dither_disable(
1116 self,
1117 ) -> crate::common::RegisterFieldBool<7, 1, 0, Src1CtrlReg_SPEC, crate::common::RW> {
1118 crate::common::RegisterFieldBool::<7,1,0,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1119 }
1120
1121 #[doc = "SRC1_IN status\n0: Acquisition in progress\n1: Acquisition ready"]
1122 #[inline(always)]
1123 pub fn src_in_ok(
1124 self,
1125 ) -> crate::common::RegisterFieldBool<6, 1, 0, Src1CtrlReg_SPEC, crate::common::R> {
1126 crate::common::RegisterFieldBool::<6,1,0,Src1CtrlReg_SPEC,crate::common::R>::from_register(self,0)
1127 }
1128
1129 #[doc = "SRC1_IN UpSampling IIR filters setting\n00: for sample rates up-to 48kHz\n01: for sample rates of 96kHz\n10: reserved\n11: for sample rates of 192kHz"]
1130 #[inline(always)]
1131 pub fn src_in_ds(
1132 self,
1133 ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Src1CtrlReg_SPEC, crate::common::RW>
1134 {
1135 crate::common::RegisterField::<4,0x3,1,0,u8,u8,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1136 }
1137
1138 #[doc = "SRC1_IN upsampeling filter bypass\n0: Do not bypass\n1: Bypass filter"]
1139 #[inline(always)]
1140 pub fn src_in_cal_bypass(
1141 self,
1142 ) -> crate::common::RegisterFieldBool<2, 1, 0, Src1CtrlReg_SPEC, crate::common::RW> {
1143 crate::common::RegisterFieldBool::<2,1,0,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1144 }
1145
1146 #[doc = "SRC1_IN Automatic conversion mode\n0: Manual mode\n1: Automatic mode"]
1147 #[inline(always)]
1148 pub fn src_in_amode(
1149 self,
1150 ) -> crate::common::RegisterFieldBool<1, 1, 0, Src1CtrlReg_SPEC, crate::common::RW> {
1151 crate::common::RegisterFieldBool::<1,1,0,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1152 }
1153
1154 #[doc = "SRC1_IN and SRC1_OUT enable\n0: disabled\n1: enabled"]
1155 #[inline(always)]
1156 pub fn src_en(
1157 self,
1158 ) -> crate::common::RegisterFieldBool<0, 1, 0, Src1CtrlReg_SPEC, crate::common::RW> {
1159 crate::common::RegisterFieldBool::<0,1,0,Src1CtrlReg_SPEC,crate::common::RW>::from_register(self,0)
1160 }
1161}
1162impl ::core::default::Default for Src1CtrlReg {
1163 #[inline(always)]
1164 fn default() -> Src1CtrlReg {
1165 <crate::RegValueT<Src1CtrlReg_SPEC> as RegisterValue<_>>::new(0)
1166 }
1167}
1168
1169#[doc(hidden)]
1170#[derive(Copy, Clone, Eq, PartialEq)]
1171pub struct Src1In1Reg_SPEC;
1172impl crate::sealed::RegSpec for Src1In1Reg_SPEC {
1173 type DataType = u32;
1174}
1175
1176#[doc = "SRC1 data in 1"]
1177pub type Src1In1Reg = crate::RegValueT<Src1In1Reg_SPEC>;
1178
1179impl Src1In1Reg {
1180 #[doc = "SRC1_IN1"]
1181 #[inline(always)]
1182 pub fn src_in(
1183 self,
1184 ) -> crate::common::RegisterField<8, 0xffffff, 1, 0, u32, u32, Src1In1Reg_SPEC, crate::common::RW>
1185 {
1186 crate::common::RegisterField::<
1187 8,
1188 0xffffff,
1189 1,
1190 0,
1191 u32,
1192 u32,
1193 Src1In1Reg_SPEC,
1194 crate::common::RW,
1195 >::from_register(self, 0)
1196 }
1197}
1198impl ::core::default::Default for Src1In1Reg {
1199 #[inline(always)]
1200 fn default() -> Src1In1Reg {
1201 <crate::RegValueT<Src1In1Reg_SPEC> as RegisterValue<_>>::new(0)
1202 }
1203}
1204
1205#[doc(hidden)]
1206#[derive(Copy, Clone, Eq, PartialEq)]
1207pub struct Src1In2Reg_SPEC;
1208impl crate::sealed::RegSpec for Src1In2Reg_SPEC {
1209 type DataType = u32;
1210}
1211
1212#[doc = "SRC1 data in 2"]
1213pub type Src1In2Reg = crate::RegValueT<Src1In2Reg_SPEC>;
1214
1215impl Src1In2Reg {
1216 #[doc = "SRC1_IN2"]
1217 #[inline(always)]
1218 pub fn src_in(
1219 self,
1220 ) -> crate::common::RegisterField<8, 0xffffff, 1, 0, u32, u32, Src1In2Reg_SPEC, crate::common::RW>
1221 {
1222 crate::common::RegisterField::<
1223 8,
1224 0xffffff,
1225 1,
1226 0,
1227 u32,
1228 u32,
1229 Src1In2Reg_SPEC,
1230 crate::common::RW,
1231 >::from_register(self, 0)
1232 }
1233}
1234impl ::core::default::Default for Src1In2Reg {
1235 #[inline(always)]
1236 fn default() -> Src1In2Reg {
1237 <crate::RegValueT<Src1In2Reg_SPEC> as RegisterValue<_>>::new(0)
1238 }
1239}
1240
1241#[doc(hidden)]
1242#[derive(Copy, Clone, Eq, PartialEq)]
1243pub struct Src1InFsReg_SPEC;
1244impl crate::sealed::RegSpec for Src1InFsReg_SPEC {
1245 type DataType = u32;
1246}
1247
1248#[doc = "SRC1 Sample input rate"]
1249pub type Src1InFsReg = crate::RegValueT<Src1InFsReg_SPEC>;
1250
1251impl Src1InFsReg {
1252 #[doc = "SRC_IN Sample rate\nSRC_IN_FS = 8192*Sample_rate/100\nSample_rate upper limit is 192kHz. For 96kHz and 192kHz SRC_CTRLx_REG\\[SRC_IN_DS\\] must be set as shown below:\n\nSample_rate SRC_IN_FS SRC_IN_DS Audio bandwidth\n8000 Hz 0xA0000 0 4000 Hz\n11025 Hz 0x0DC800 0 5512 Hz\n16000 Hz 0x140000 0 8000 Hz\n22050 Hz 0x1B9000 0 11025 Hz\n32000 Hz 0x280000 0 16000 Hz\n44100 Hz 0x372000 0 22050 Hz\n48000 Hz 0x3C0000 0 24000 Hz\n96000 Hz 0x3C0000 1 24000 Hz\n192000 Hz 0x3C0000 3 24000 Hz\n\nIn manual SRC mode, SRC_IN_FS can be set and adjusted to the desired sample rate at any time.\nIn automatic mode the SRC returns the final sample rate as soon as SRC_IN_OK. Note that SRC_DS is not calculated in automatic mode and must be set manually automatic mode with Sample_rate of 96 and 192kHz."]
1253 #[inline(always)]
1254 pub fn src_in_fs(
1255 self,
1256 ) -> crate::common::RegisterField<
1257 0,
1258 0xffffff,
1259 1,
1260 0,
1261 u32,
1262 u32,
1263 Src1InFsReg_SPEC,
1264 crate::common::RW,
1265 > {
1266 crate::common::RegisterField::<
1267 0,
1268 0xffffff,
1269 1,
1270 0,
1271 u32,
1272 u32,
1273 Src1InFsReg_SPEC,
1274 crate::common::RW,
1275 >::from_register(self, 0)
1276 }
1277}
1278impl ::core::default::Default for Src1InFsReg {
1279 #[inline(always)]
1280 fn default() -> Src1InFsReg {
1281 <crate::RegValueT<Src1InFsReg_SPEC> as RegisterValue<_>>::new(0)
1282 }
1283}
1284
1285#[doc(hidden)]
1286#[derive(Copy, Clone, Eq, PartialEq)]
1287pub struct Src1Out1Reg_SPEC;
1288impl crate::sealed::RegSpec for Src1Out1Reg_SPEC {
1289 type DataType = u32;
1290}
1291
1292#[doc = "SRC1 data out 1"]
1293pub type Src1Out1Reg = crate::RegValueT<Src1Out1Reg_SPEC>;
1294
1295impl Src1Out1Reg {
1296 #[doc = "SRC1_OUT1"]
1297 #[inline(always)]
1298 pub fn src_out(
1299 self,
1300 ) -> crate::common::RegisterField<8, 0xffffff, 1, 0, u32, u32, Src1Out1Reg_SPEC, crate::common::R>
1301 {
1302 crate::common::RegisterField::<
1303 8,
1304 0xffffff,
1305 1,
1306 0,
1307 u32,
1308 u32,
1309 Src1Out1Reg_SPEC,
1310 crate::common::R,
1311 >::from_register(self, 0)
1312 }
1313}
1314impl ::core::default::Default for Src1Out1Reg {
1315 #[inline(always)]
1316 fn default() -> Src1Out1Reg {
1317 <crate::RegValueT<Src1Out1Reg_SPEC> as RegisterValue<_>>::new(0)
1318 }
1319}
1320
1321#[doc(hidden)]
1322#[derive(Copy, Clone, Eq, PartialEq)]
1323pub struct Src1Out2Reg_SPEC;
1324impl crate::sealed::RegSpec for Src1Out2Reg_SPEC {
1325 type DataType = u32;
1326}
1327
1328#[doc = "SRC1 data out 2"]
1329pub type Src1Out2Reg = crate::RegValueT<Src1Out2Reg_SPEC>;
1330
1331impl Src1Out2Reg {
1332 #[doc = "SRC1_OUT2"]
1333 #[inline(always)]
1334 pub fn src_out(
1335 self,
1336 ) -> crate::common::RegisterField<8, 0xffffff, 1, 0, u32, u32, Src1Out2Reg_SPEC, crate::common::R>
1337 {
1338 crate::common::RegisterField::<
1339 8,
1340 0xffffff,
1341 1,
1342 0,
1343 u32,
1344 u32,
1345 Src1Out2Reg_SPEC,
1346 crate::common::R,
1347 >::from_register(self, 0)
1348 }
1349}
1350impl ::core::default::Default for Src1Out2Reg {
1351 #[inline(always)]
1352 fn default() -> Src1Out2Reg {
1353 <crate::RegValueT<Src1Out2Reg_SPEC> as RegisterValue<_>>::new(0)
1354 }
1355}
1356
1357#[doc(hidden)]
1358#[derive(Copy, Clone, Eq, PartialEq)]
1359pub struct Src1OutFsReg_SPEC;
1360impl crate::sealed::RegSpec for Src1OutFsReg_SPEC {
1361 type DataType = u32;
1362}
1363
1364#[doc = "SRC1 Sample output rate"]
1365pub type Src1OutFsReg = crate::RegValueT<Src1OutFsReg_SPEC>;
1366
1367impl Src1OutFsReg {
1368 #[doc = "SRC_OUT Sample rate\nSRC_OUT_FS = 8192*Sample_rate/100\nSample_rate upper limit is 192kHz. For 96kHz and 192kHz SRC_CTRLx_REG\\[SRC_DS\\] must be set as shown below:\n\nSample_rate SRC_OUT_FS SRC_OUT_DS Audio bandwidth\n8000 Hz 0xA0000 0 4000 Hz\n11025 Hz 0x0DC800 0 5512 Hz\n16000 Hz 0x140000 0 8000 Hz\n22050 Hz 0x1B9000 0 11025 Hz\n32000 Hz 0x280000 0 16000 Hz\n44100 Hz 0x372000 0 22050 Hz\n48000 Hz 0x3C0000 0 24000 Hz\n96000 Hz 0x3C0000 1 24000 Hz\n192000 Hz 0x3C0000 3 24000 Hz\n\nIn manual SRC mode, SRC_OUT_FS can be set and adjusted to the desired sample rate at any time.\nIn automatic mode the SRC returns the final sample rate as soon as SRC_OUT_OK. Note that SRC_DS is not calculated in automatic mode and must be set manually automatic mode with Sample_rate of 96 and 192kHz."]
1369 #[inline(always)]
1370 pub fn src_out_fs(
1371 self,
1372 ) -> crate::common::RegisterField<
1373 0,
1374 0xffffff,
1375 1,
1376 0,
1377 u32,
1378 u32,
1379 Src1OutFsReg_SPEC,
1380 crate::common::RW,
1381 > {
1382 crate::common::RegisterField::<
1383 0,
1384 0xffffff,
1385 1,
1386 0,
1387 u32,
1388 u32,
1389 Src1OutFsReg_SPEC,
1390 crate::common::RW,
1391 >::from_register(self, 0)
1392 }
1393}
1394impl ::core::default::Default for Src1OutFsReg {
1395 #[inline(always)]
1396 fn default() -> Src1OutFsReg {
1397 <crate::RegValueT<Src1OutFsReg_SPEC> as RegisterValue<_>>::new(0)
1398 }
1399}