da14682_pac/
apu.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.2, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:45:10 +0000
19
20#![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}