Skip to main content

ra6m3_pac/
src.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.1 on Sun, 15 Mar 2026 07:12:21 +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"Sampling Rate Converter"]
28unsafe impl ::core::marker::Send for super::Src {}
29unsafe impl ::core::marker::Sync for super::Src {}
30impl super::Src {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Input Data Register"]
38    #[inline(always)]
39    pub const fn srcid(&self) -> &'static crate::common::Reg<self::Srcid_SPEC, crate::common::W> {
40        unsafe {
41            crate::common::Reg::<self::Srcid_SPEC, crate::common::W>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "Output Data Register"]
48    #[inline(always)]
49    pub const fn srcod(&self) -> &'static crate::common::Reg<self::Srcod_SPEC, crate::common::R> {
50        unsafe {
51            crate::common::Reg::<self::Srcod_SPEC, crate::common::R>::from_ptr(
52                self._svd2pac_as_ptr().add(4usize),
53            )
54        }
55    }
56
57    #[doc = "Input Data Control Register"]
58    #[inline(always)]
59    pub const fn srcidctrl(
60        &self,
61    ) -> &'static crate::common::Reg<self::Srcidctrl_SPEC, crate::common::RW> {
62        unsafe {
63            crate::common::Reg::<self::Srcidctrl_SPEC, crate::common::RW>::from_ptr(
64                self._svd2pac_as_ptr().add(8usize),
65            )
66        }
67    }
68
69    #[doc = "Output Data Control Register"]
70    #[inline(always)]
71    pub const fn srcodctrl(
72        &self,
73    ) -> &'static crate::common::Reg<self::Srcodctrl_SPEC, crate::common::RW> {
74        unsafe {
75            crate::common::Reg::<self::Srcodctrl_SPEC, crate::common::RW>::from_ptr(
76                self._svd2pac_as_ptr().add(10usize),
77            )
78        }
79    }
80
81    #[doc = "Control Register"]
82    #[inline(always)]
83    pub const fn srcctrl(
84        &self,
85    ) -> &'static crate::common::Reg<self::Srcctrl_SPEC, crate::common::RW> {
86        unsafe {
87            crate::common::Reg::<self::Srcctrl_SPEC, crate::common::RW>::from_ptr(
88                self._svd2pac_as_ptr().add(12usize),
89            )
90        }
91    }
92
93    #[doc = "Status Register"]
94    #[inline(always)]
95    pub const fn srcstat(
96        &self,
97    ) -> &'static crate::common::Reg<self::Srcstat_SPEC, crate::common::RW> {
98        unsafe {
99            crate::common::Reg::<self::Srcstat_SPEC, crate::common::RW>::from_ptr(
100                self._svd2pac_as_ptr().add(14usize),
101            )
102        }
103    }
104}
105#[doc(hidden)]
106#[derive(Copy, Clone, Eq, PartialEq)]
107pub struct Srcid_SPEC;
108impl crate::sealed::RegSpec for Srcid_SPEC {
109    type DataType = u32;
110}
111
112#[doc = "Input Data Register"]
113pub type Srcid = crate::RegValueT<Srcid_SPEC>;
114
115impl Srcid {
116    #[doc = "SRCID is a 32-bit writ-only register that is used to input the data before sampling rate conversion. All the bits are read as 0."]
117    #[inline(always)]
118    pub fn srcid(
119        self,
120    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Srcid_SPEC, crate::common::W>
121    {
122        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Srcid_SPEC,crate::common::W>::from_register(self,0)
123    }
124}
125impl ::core::default::Default for Srcid {
126    #[inline(always)]
127    fn default() -> Srcid {
128        <crate::RegValueT<Srcid_SPEC> as RegisterValue<_>>::new(0)
129    }
130}
131
132#[doc(hidden)]
133#[derive(Copy, Clone, Eq, PartialEq)]
134pub struct Srcod_SPEC;
135impl crate::sealed::RegSpec for Srcod_SPEC {
136    type DataType = u32;
137}
138
139#[doc = "Output Data Register"]
140pub type Srcod = crate::RegValueT<Srcod_SPEC>;
141
142impl Srcod {
143    #[doc = "SRCOD is a 32-bit read-only register used to output the data after sampling rate conversion. The data in the 16-stage output data FIFO is read through SRCOD. When the number of data in the output data FIFO is zero after the start of conversion, the value previously read is read again."]
144    #[inline(always)]
145    pub fn srcod(
146        self,
147    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Srcod_SPEC, crate::common::R>
148    {
149        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Srcod_SPEC,crate::common::R>::from_register(self,0)
150    }
151}
152impl ::core::default::Default for Srcod {
153    #[inline(always)]
154    fn default() -> Srcod {
155        <crate::RegValueT<Srcod_SPEC> as RegisterValue<_>>::new(0)
156    }
157}
158
159#[doc(hidden)]
160#[derive(Copy, Clone, Eq, PartialEq)]
161pub struct Srcidctrl_SPEC;
162impl crate::sealed::RegSpec for Srcidctrl_SPEC {
163    type DataType = u16;
164}
165
166#[doc = "Input Data Control Register"]
167pub type Srcidctrl = crate::RegValueT<Srcidctrl_SPEC>;
168
169impl Srcidctrl {
170    #[doc = "Input Data Endian"]
171    #[inline(always)]
172    pub fn ied(
173        self,
174    ) -> crate::common::RegisterField<
175        9,
176        0x1,
177        1,
178        0,
179        srcidctrl::Ied,
180        srcidctrl::Ied,
181        Srcidctrl_SPEC,
182        crate::common::RW,
183    > {
184        crate::common::RegisterField::<
185            9,
186            0x1,
187            1,
188            0,
189            srcidctrl::Ied,
190            srcidctrl::Ied,
191            Srcidctrl_SPEC,
192            crate::common::RW,
193        >::from_register(self, 0)
194    }
195
196    #[doc = "Input FIFO Empty Interrupt Enable"]
197    #[inline(always)]
198    pub fn ien(
199        self,
200    ) -> crate::common::RegisterField<
201        8,
202        0x1,
203        1,
204        0,
205        srcidctrl::Ien,
206        srcidctrl::Ien,
207        Srcidctrl_SPEC,
208        crate::common::RW,
209    > {
210        crate::common::RegisterField::<
211            8,
212            0x1,
213            1,
214            0,
215            srcidctrl::Ien,
216            srcidctrl::Ien,
217            Srcidctrl_SPEC,
218            crate::common::RW,
219        >::from_register(self, 0)
220    }
221
222    #[doc = "Input FIFO Data Triggering Number"]
223    #[inline(always)]
224    pub fn iftrg(
225        self,
226    ) -> crate::common::RegisterField<
227        0,
228        0x3,
229        1,
230        0,
231        srcidctrl::Iftrg,
232        srcidctrl::Iftrg,
233        Srcidctrl_SPEC,
234        crate::common::RW,
235    > {
236        crate::common::RegisterField::<
237            0,
238            0x3,
239            1,
240            0,
241            srcidctrl::Iftrg,
242            srcidctrl::Iftrg,
243            Srcidctrl_SPEC,
244            crate::common::RW,
245        >::from_register(self, 0)
246    }
247}
248impl ::core::default::Default for Srcidctrl {
249    #[inline(always)]
250    fn default() -> Srcidctrl {
251        <crate::RegValueT<Srcidctrl_SPEC> as RegisterValue<_>>::new(0)
252    }
253}
254pub mod srcidctrl {
255
256    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
257    pub struct Ied_SPEC;
258    pub type Ied = crate::EnumBitfieldStruct<u8, Ied_SPEC>;
259    impl Ied {
260        #[doc = "Endian formats 1 are the same between the CPU and input data."]
261        pub const _0: Self = Self::new(0);
262
263        #[doc = "Endian formats 1 are different between the CPU and input data."]
264        pub const _1: Self = Self::new(1);
265    }
266    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
267    pub struct Ien_SPEC;
268    pub type Ien = crate::EnumBitfieldStruct<u8, Ien_SPEC>;
269    impl Ien {
270        #[doc = "Input FIFO empty interrupt is disabled."]
271        pub const _0: Self = Self::new(0);
272
273        #[doc = "Input FIFO empty interrupt is enabled."]
274        pub const _1: Self = Self::new(1);
275    }
276    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
277    pub struct Iftrg_SPEC;
278    pub type Iftrg = crate::EnumBitfieldStruct<u8, Iftrg_SPEC>;
279    impl Iftrg {
280        #[doc = "0"]
281        pub const _00: Self = Self::new(0);
282
283        #[doc = "2"]
284        pub const _01: Self = Self::new(1);
285
286        #[doc = "4"]
287        pub const _10: Self = Self::new(2);
288
289        #[doc = "6"]
290        pub const _11: Self = Self::new(3);
291    }
292}
293#[doc(hidden)]
294#[derive(Copy, Clone, Eq, PartialEq)]
295pub struct Srcodctrl_SPEC;
296impl crate::sealed::RegSpec for Srcodctrl_SPEC {
297    type DataType = u16;
298}
299
300#[doc = "Output Data Control Register"]
301pub type Srcodctrl = crate::RegValueT<Srcodctrl_SPEC>;
302
303impl Srcodctrl {
304    #[doc = "Output Data Channel Exchange"]
305    #[inline(always)]
306    pub fn och(
307        self,
308    ) -> crate::common::RegisterField<
309        10,
310        0x1,
311        1,
312        0,
313        srcodctrl::Och,
314        srcodctrl::Och,
315        Srcodctrl_SPEC,
316        crate::common::RW,
317    > {
318        crate::common::RegisterField::<
319            10,
320            0x1,
321            1,
322            0,
323            srcodctrl::Och,
324            srcodctrl::Och,
325            Srcodctrl_SPEC,
326            crate::common::RW,
327        >::from_register(self, 0)
328    }
329
330    #[doc = "Output Data Endian"]
331    #[inline(always)]
332    pub fn oed(
333        self,
334    ) -> crate::common::RegisterField<
335        9,
336        0x1,
337        1,
338        0,
339        srcodctrl::Oed,
340        srcodctrl::Oed,
341        Srcodctrl_SPEC,
342        crate::common::RW,
343    > {
344        crate::common::RegisterField::<
345            9,
346            0x1,
347            1,
348            0,
349            srcodctrl::Oed,
350            srcodctrl::Oed,
351            Srcodctrl_SPEC,
352            crate::common::RW,
353        >::from_register(self, 0)
354    }
355
356    #[doc = "Output Data FIFO Full Interrupt Enable"]
357    #[inline(always)]
358    pub fn oen(
359        self,
360    ) -> crate::common::RegisterField<
361        8,
362        0x1,
363        1,
364        0,
365        srcodctrl::Oen,
366        srcodctrl::Oen,
367        Srcodctrl_SPEC,
368        crate::common::RW,
369    > {
370        crate::common::RegisterField::<
371            8,
372            0x1,
373            1,
374            0,
375            srcodctrl::Oen,
376            srcodctrl::Oen,
377            Srcodctrl_SPEC,
378            crate::common::RW,
379        >::from_register(self, 0)
380    }
381
382    #[doc = "Output FIFO Data Trigger Number"]
383    #[inline(always)]
384    pub fn oftrg(
385        self,
386    ) -> crate::common::RegisterField<
387        0,
388        0x3,
389        1,
390        0,
391        srcodctrl::Oftrg,
392        srcodctrl::Oftrg,
393        Srcodctrl_SPEC,
394        crate::common::RW,
395    > {
396        crate::common::RegisterField::<
397            0,
398            0x3,
399            1,
400            0,
401            srcodctrl::Oftrg,
402            srcodctrl::Oftrg,
403            Srcodctrl_SPEC,
404            crate::common::RW,
405        >::from_register(self, 0)
406    }
407}
408impl ::core::default::Default for Srcodctrl {
409    #[inline(always)]
410    fn default() -> Srcodctrl {
411        <crate::RegValueT<Srcodctrl_SPEC> as RegisterValue<_>>::new(0)
412    }
413}
414pub mod srcodctrl {
415
416    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
417    pub struct Och_SPEC;
418    pub type Och = crate::EnumBitfieldStruct<u8, Och_SPEC>;
419    impl Och {
420        #[doc = "Does not exchange the channels (the same order as data input)"]
421        pub const _0: Self = Self::new(0);
422
423        #[doc = "Exchanges the channels (the opposite order from data input)"]
424        pub const _1: Self = Self::new(1);
425    }
426    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
427    pub struct Oed_SPEC;
428    pub type Oed = crate::EnumBitfieldStruct<u8, Oed_SPEC>;
429    impl Oed {
430        #[doc = "Endian formats are the same between the chip and input data."]
431        pub const _0: Self = Self::new(0);
432
433        #[doc = "Endian formats are different between the chip and input data."]
434        pub const _1: Self = Self::new(1);
435    }
436    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
437    pub struct Oen_SPEC;
438    pub type Oen = crate::EnumBitfieldStruct<u8, Oen_SPEC>;
439    impl Oen {
440        #[doc = "Output data FIFO full interrupt is disabled."]
441        pub const _0: Self = Self::new(0);
442
443        #[doc = "Output data FIFO full interrupt is enabled."]
444        pub const _1: Self = Self::new(1);
445    }
446    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
447    pub struct Oftrg_SPEC;
448    pub type Oftrg = crate::EnumBitfieldStruct<u8, Oftrg_SPEC>;
449    impl Oftrg {
450        #[doc = "1"]
451        pub const _00: Self = Self::new(0);
452
453        #[doc = "4"]
454        pub const _01: Self = Self::new(1);
455
456        #[doc = "8"]
457        pub const _10: Self = Self::new(2);
458
459        #[doc = "12"]
460        pub const _11: Self = Self::new(3);
461    }
462}
463#[doc(hidden)]
464#[derive(Copy, Clone, Eq, PartialEq)]
465pub struct Srcctrl_SPEC;
466impl crate::sealed::RegSpec for Srcctrl_SPEC {
467    type DataType = u16;
468}
469
470#[doc = "Control Register"]
471pub type Srcctrl = crate::RegValueT<Srcctrl_SPEC>;
472
473impl Srcctrl {
474    #[doc = "Filter Coefficient Table Access Enable"]
475    #[inline(always)]
476    pub fn ficrae(
477        self,
478    ) -> crate::common::RegisterField<
479        15,
480        0x1,
481        1,
482        0,
483        srcctrl::Ficrae,
484        srcctrl::Ficrae,
485        Srcctrl_SPEC,
486        crate::common::RW,
487    > {
488        crate::common::RegisterField::<
489            15,
490            0x1,
491            1,
492            0,
493            srcctrl::Ficrae,
494            srcctrl::Ficrae,
495            Srcctrl_SPEC,
496            crate::common::RW,
497        >::from_register(self, 0)
498    }
499
500    #[doc = "Conversion End Interrupt Enable"]
501    #[inline(always)]
502    pub fn ceen(
503        self,
504    ) -> crate::common::RegisterField<
505        13,
506        0x1,
507        1,
508        0,
509        srcctrl::Ceen,
510        srcctrl::Ceen,
511        Srcctrl_SPEC,
512        crate::common::RW,
513    > {
514        crate::common::RegisterField::<
515            13,
516            0x1,
517            1,
518            0,
519            srcctrl::Ceen,
520            srcctrl::Ceen,
521            Srcctrl_SPEC,
522            crate::common::RW,
523        >::from_register(self, 0)
524    }
525
526    #[doc = "Module Enable"]
527    #[inline(always)]
528    pub fn srcen(
529        self,
530    ) -> crate::common::RegisterField<
531        12,
532        0x1,
533        1,
534        0,
535        srcctrl::Srcen,
536        srcctrl::Srcen,
537        Srcctrl_SPEC,
538        crate::common::RW,
539    > {
540        crate::common::RegisterField::<
541            12,
542            0x1,
543            1,
544            0,
545            srcctrl::Srcen,
546            srcctrl::Srcen,
547            Srcctrl_SPEC,
548            crate::common::RW,
549        >::from_register(self, 0)
550    }
551
552    #[doc = "Output Data FIFO Underflow Interrupt Enable"]
553    #[inline(always)]
554    pub fn uden(
555        self,
556    ) -> crate::common::RegisterField<
557        11,
558        0x1,
559        1,
560        0,
561        srcctrl::Uden,
562        srcctrl::Uden,
563        Srcctrl_SPEC,
564        crate::common::RW,
565    > {
566        crate::common::RegisterField::<
567            11,
568            0x1,
569            1,
570            0,
571            srcctrl::Uden,
572            srcctrl::Uden,
573            Srcctrl_SPEC,
574            crate::common::RW,
575        >::from_register(self, 0)
576    }
577
578    #[doc = "Output Data FIFO Overwrite Interrupt Enable"]
579    #[inline(always)]
580    pub fn oven(
581        self,
582    ) -> crate::common::RegisterField<
583        10,
584        0x1,
585        1,
586        0,
587        srcctrl::Oven,
588        srcctrl::Oven,
589        Srcctrl_SPEC,
590        crate::common::RW,
591    > {
592        crate::common::RegisterField::<
593            10,
594            0x1,
595            1,
596            0,
597            srcctrl::Oven,
598            srcctrl::Oven,
599            Srcctrl_SPEC,
600            crate::common::RW,
601        >::from_register(self, 0)
602    }
603
604    #[doc = "Internal Work Memory Flush"]
605    #[inline(always)]
606    pub fn fl(
607        self,
608    ) -> crate::common::RegisterField<
609        9,
610        0x1,
611        1,
612        0,
613        srcctrl::Fl,
614        srcctrl::Fl,
615        Srcctrl_SPEC,
616        crate::common::W,
617    > {
618        crate::common::RegisterField::<
619            9,
620            0x1,
621            1,
622            0,
623            srcctrl::Fl,
624            srcctrl::Fl,
625            Srcctrl_SPEC,
626            crate::common::W,
627        >::from_register(self, 0)
628    }
629
630    #[doc = "Internal Work Memory Clear"]
631    #[inline(always)]
632    pub fn cl(
633        self,
634    ) -> crate::common::RegisterField<
635        8,
636        0x1,
637        1,
638        0,
639        srcctrl::Cl,
640        srcctrl::Cl,
641        Srcctrl_SPEC,
642        crate::common::W,
643    > {
644        crate::common::RegisterField::<
645            8,
646            0x1,
647            1,
648            0,
649            srcctrl::Cl,
650            srcctrl::Cl,
651            Srcctrl_SPEC,
652            crate::common::W,
653        >::from_register(self, 0)
654    }
655
656    #[doc = "Input Sampling Rate"]
657    #[inline(always)]
658    pub fn ifs(
659        self,
660    ) -> crate::common::RegisterField<
661        4,
662        0xf,
663        1,
664        0,
665        srcctrl::Ifs,
666        srcctrl::Ifs,
667        Srcctrl_SPEC,
668        crate::common::RW,
669    > {
670        crate::common::RegisterField::<
671            4,
672            0xf,
673            1,
674            0,
675            srcctrl::Ifs,
676            srcctrl::Ifs,
677            Srcctrl_SPEC,
678            crate::common::RW,
679        >::from_register(self, 0)
680    }
681
682    #[doc = "Output Sampling Rate"]
683    #[inline(always)]
684    pub fn ofs(
685        self,
686    ) -> crate::common::RegisterField<
687        0,
688        0x7,
689        1,
690        0,
691        srcctrl::Ofs,
692        srcctrl::Ofs,
693        Srcctrl_SPEC,
694        crate::common::RW,
695    > {
696        crate::common::RegisterField::<
697            0,
698            0x7,
699            1,
700            0,
701            srcctrl::Ofs,
702            srcctrl::Ofs,
703            Srcctrl_SPEC,
704            crate::common::RW,
705        >::from_register(self, 0)
706    }
707}
708impl ::core::default::Default for Srcctrl {
709    #[inline(always)]
710    fn default() -> Srcctrl {
711        <crate::RegValueT<Srcctrl_SPEC> as RegisterValue<_>>::new(0)
712    }
713}
714pub mod srcctrl {
715
716    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
717    pub struct Ficrae_SPEC;
718    pub type Ficrae = crate::EnumBitfieldStruct<u8, Ficrae_SPEC>;
719    impl Ficrae {
720        #[doc = "Reading/writing to filter coefficient table RAM is disabled."]
721        pub const _0: Self = Self::new(0);
722
723        #[doc = "Reading/writing to filter coefficient table RAM is enabled."]
724        pub const _1: Self = Self::new(1);
725    }
726    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
727    pub struct Ceen_SPEC;
728    pub type Ceen = crate::EnumBitfieldStruct<u8, Ceen_SPEC>;
729    impl Ceen {
730        #[doc = "Disables conversion end interrupt requests."]
731        pub const _0: Self = Self::new(0);
732
733        #[doc = "Enables conversion end interrupt requests."]
734        pub const _1: Self = Self::new(1);
735    }
736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
737    pub struct Srcen_SPEC;
738    pub type Srcen = crate::EnumBitfieldStruct<u8, Srcen_SPEC>;
739    impl Srcen {
740        #[doc = "Disables this module operation."]
741        pub const _0: Self = Self::new(0);
742
743        #[doc = "Enables this module operation."]
744        pub const _1: Self = Self::new(1);
745    }
746    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
747    pub struct Uden_SPEC;
748    pub type Uden = crate::EnumBitfieldStruct<u8, Uden_SPEC>;
749    impl Uden {
750        #[doc = "Disables output data FIFO underflow interrupt requests."]
751        pub const _0: Self = Self::new(0);
752
753        #[doc = "Enables output data FIFO underflow interrupt requests."]
754        pub const _1: Self = Self::new(1);
755    }
756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
757    pub struct Oven_SPEC;
758    pub type Oven = crate::EnumBitfieldStruct<u8, Oven_SPEC>;
759    impl Oven {
760        #[doc = "Output data FIFO overwrite interrupt is disabled."]
761        pub const _0: Self = Self::new(0);
762
763        #[doc = "Output data FIFO overwrite interrupt is enabled."]
764        pub const _1: Self = Self::new(1);
765    }
766    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
767    pub struct Fl_SPEC;
768    pub type Fl = crate::EnumBitfieldStruct<u8, Fl_SPEC>;
769    impl Fl {
770        #[doc = "no effect"]
771        pub const _0: Self = Self::new(0);
772
773        #[doc = "starts converting the sampling rate of all the data in the input FIFO, input buffer memory, and intermediate memory(i.e., flush processing)."]
774        pub const _1: Self = Self::new(1);
775    }
776    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
777    pub struct Cl_SPEC;
778    pub type Cl = crate::EnumBitfieldStruct<u8, Cl_SPEC>;
779    impl Cl {
780        #[doc = "no effect"]
781        pub const _0: Self = Self::new(0);
782
783        #[doc = "Clears the input FIFO, output FIFO, input buffer memory, intermediate memory and accumulator."]
784        pub const _1: Self = Self::new(1);
785    }
786    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
787    pub struct Ifs_SPEC;
788    pub type Ifs = crate::EnumBitfieldStruct<u8, Ifs_SPEC>;
789    impl Ifs {
790        #[doc = "8.0 kHz"]
791        pub const _0000: Self = Self::new(0);
792
793        #[doc = "11.025 kHz"]
794        pub const _0001: Self = Self::new(1);
795
796        #[doc = "12.0 kHz"]
797        pub const _0010: Self = Self::new(2);
798
799        #[doc = "Setting prohibited"]
800        pub const _0011: Self = Self::new(3);
801
802        #[doc = "16.0 kHz"]
803        pub const _0100: Self = Self::new(4);
804
805        #[doc = "22.05 kHz"]
806        pub const _0101: Self = Self::new(5);
807
808        #[doc = "24.0 kHz"]
809        pub const _0110: Self = Self::new(6);
810
811        #[doc = "Setting prohibited"]
812        pub const _0111: Self = Self::new(7);
813
814        #[doc = "32.0 kHz"]
815        pub const _1000: Self = Self::new(8);
816
817        #[doc = "44.1 kHz"]
818        pub const _1001: Self = Self::new(9);
819
820        #[doc = "48.0 kHz"]
821        pub const _1010: Self = Self::new(10);
822    }
823    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
824    pub struct Ofs_SPEC;
825    pub type Ofs = crate::EnumBitfieldStruct<u8, Ofs_SPEC>;
826    impl Ofs {
827        #[doc = "44.1 kHz"]
828        pub const _000: Self = Self::new(0);
829
830        #[doc = "48.0 kHz"]
831        pub const _001: Self = Self::new(1);
832
833        #[doc = "32.0 kHz"]
834        pub const _010: Self = Self::new(2);
835
836        #[doc = "Setting prohibited"]
837        pub const _011: Self = Self::new(3);
838
839        #[doc = "8.0 kHz  ( Valid only when IFS\\[3:0\\] =1001b )"]
840        pub const _100: Self = Self::new(4);
841
842        #[doc = "16.0 kHz  ( Valid only when IFS\\[3:0\\] =1001b )"]
843        pub const _101: Self = Self::new(5);
844    }
845}
846#[doc(hidden)]
847#[derive(Copy, Clone, Eq, PartialEq)]
848pub struct Srcstat_SPEC;
849impl crate::sealed::RegSpec for Srcstat_SPEC {
850    type DataType = u16;
851}
852
853#[doc = "Status Register"]
854pub type Srcstat = crate::RegValueT<Srcstat_SPEC>;
855
856impl Srcstat {
857    #[doc = "Output FIFO Data Count"]
858    #[inline(always)]
859    pub fn ofdn(
860        self,
861    ) -> crate::common::RegisterField<11, 0x1f, 1, 0, u8, u8, Srcstat_SPEC, crate::common::R> {
862        crate::common::RegisterField::<11,0x1f,1,0,u8,u8,Srcstat_SPEC,crate::common::R>::from_register(self,0)
863    }
864
865    #[doc = "Input FIFO Data Count"]
866    #[inline(always)]
867    pub fn ifdn(
868        self,
869    ) -> crate::common::RegisterField<7, 0xf, 1, 0, u8, u8, Srcstat_SPEC, crate::common::R> {
870        crate::common::RegisterField::<7,0xf,1,0,u8,u8,Srcstat_SPEC,crate::common::R>::from_register(self,0)
871    }
872
873    #[doc = "Conversion End Flag"]
874    #[inline(always)]
875    pub fn cef(
876        self,
877    ) -> crate::common::RegisterField<
878        5,
879        0x1,
880        1,
881        0,
882        srcstat::Cef,
883        srcstat::Cef,
884        Srcstat_SPEC,
885        crate::common::RW,
886    > {
887        crate::common::RegisterField::<
888            5,
889            0x1,
890            1,
891            0,
892            srcstat::Cef,
893            srcstat::Cef,
894            Srcstat_SPEC,
895            crate::common::RW,
896        >::from_register(self, 0)
897    }
898
899    #[doc = "Flush Processing Status Flag"]
900    #[inline(always)]
901    pub fn flf(
902        self,
903    ) -> crate::common::RegisterField<
904        4,
905        0x1,
906        1,
907        0,
908        srcstat::Flf,
909        srcstat::Flf,
910        Srcstat_SPEC,
911        crate::common::R,
912    > {
913        crate::common::RegisterField::<
914            4,
915            0x1,
916            1,
917            0,
918            srcstat::Flf,
919            srcstat::Flf,
920            Srcstat_SPEC,
921            crate::common::R,
922        >::from_register(self, 0)
923    }
924
925    #[doc = "Output FIFO Underflow Interrupt Request Flag"]
926    #[inline(always)]
927    pub fn udf(
928        self,
929    ) -> crate::common::RegisterField<
930        3,
931        0x1,
932        1,
933        0,
934        srcstat::Udf,
935        srcstat::Udf,
936        Srcstat_SPEC,
937        crate::common::RW,
938    > {
939        crate::common::RegisterField::<
940            3,
941            0x1,
942            1,
943            0,
944            srcstat::Udf,
945            srcstat::Udf,
946            Srcstat_SPEC,
947            crate::common::RW,
948        >::from_register(self, 0)
949    }
950
951    #[doc = "Output Data FIFO Overwrite Interrupt Request Flag"]
952    #[inline(always)]
953    pub fn ovf(
954        self,
955    ) -> crate::common::RegisterField<
956        2,
957        0x1,
958        1,
959        0,
960        srcstat::Ovf,
961        srcstat::Ovf,
962        Srcstat_SPEC,
963        crate::common::RW,
964    > {
965        crate::common::RegisterField::<
966            2,
967            0x1,
968            1,
969            0,
970            srcstat::Ovf,
971            srcstat::Ovf,
972            Srcstat_SPEC,
973            crate::common::RW,
974        >::from_register(self, 0)
975    }
976
977    #[doc = "Input Data FIFO Empty Interrupt Request Flag"]
978    #[inline(always)]
979    pub fn iint(
980        self,
981    ) -> crate::common::RegisterField<
982        1,
983        0x1,
984        1,
985        0,
986        srcstat::Iint,
987        srcstat::Iint,
988        Srcstat_SPEC,
989        crate::common::RW,
990    > {
991        crate::common::RegisterField::<
992            1,
993            0x1,
994            1,
995            0,
996            srcstat::Iint,
997            srcstat::Iint,
998            Srcstat_SPEC,
999            crate::common::RW,
1000        >::from_register(self, 0)
1001    }
1002
1003    #[doc = "Output Data FIFO Full Interrupt Request Flag"]
1004    #[inline(always)]
1005    pub fn oint(
1006        self,
1007    ) -> crate::common::RegisterField<
1008        0,
1009        0x1,
1010        1,
1011        0,
1012        srcstat::Oint,
1013        srcstat::Oint,
1014        Srcstat_SPEC,
1015        crate::common::RW,
1016    > {
1017        crate::common::RegisterField::<
1018            0,
1019            0x1,
1020            1,
1021            0,
1022            srcstat::Oint,
1023            srcstat::Oint,
1024            Srcstat_SPEC,
1025            crate::common::RW,
1026        >::from_register(self, 0)
1027    }
1028}
1029impl ::core::default::Default for Srcstat {
1030    #[inline(always)]
1031    fn default() -> Srcstat {
1032        <crate::RegValueT<Srcstat_SPEC> as RegisterValue<_>>::new(2)
1033    }
1034}
1035pub mod srcstat {
1036
1037    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1038    pub struct Cef_SPEC;
1039    pub type Cef = crate::EnumBitfieldStruct<u8, Cef_SPEC>;
1040    impl Cef {
1041        #[doc = "All of the output data has not been read out."]
1042        pub const _0: Self = Self::new(0);
1043
1044        #[doc = "All of the output data has been read out."]
1045        pub const _1: Self = Self::new(1);
1046    }
1047    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1048    pub struct Flf_SPEC;
1049    pub type Flf = crate::EnumBitfieldStruct<u8, Flf_SPEC>;
1050    impl Flf {
1051        #[doc = "Flash processing is completed."]
1052        pub const _0: Self = Self::new(0);
1053
1054        #[doc = "Flash processing is in progress."]
1055        pub const _1: Self = Self::new(1);
1056    }
1057    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1058    pub struct Udf_SPEC;
1059    pub type Udf = crate::EnumBitfieldStruct<u8, Udf_SPEC>;
1060    impl Udf {
1061        #[doc = "Output data FIFO has not been read out."]
1062        pub const _0: Self = Self::new(0);
1063
1064        #[doc = "Output data FIFO has been read out."]
1065        pub const _1: Self = Self::new(1);
1066    }
1067    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1068    pub struct Ovf_SPEC;
1069    pub type Ovf = crate::EnumBitfieldStruct<u8, Ovf_SPEC>;
1070    impl Ovf {
1071        #[doc = "Next data conversion processing is not completed."]
1072        pub const _0: Self = Self::new(0);
1073
1074        #[doc = "Next data conversion processing is completed."]
1075        pub const _1: Self = Self::new(1);
1076    }
1077    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1078    pub struct Iint_SPEC;
1079    pub type Iint = crate::EnumBitfieldStruct<u8, Iint_SPEC>;
1080    impl Iint {
1081        #[doc = "Number of data units in the input FIFO has not become equal to or smaller than the specified triggering number."]
1082        pub const _0: Self = Self::new(0);
1083
1084        #[doc = "Number of data units in the input FIFO has become equal to or smaller than the specified triggering number."]
1085        pub const _1: Self = Self::new(1);
1086    }
1087    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1088    pub struct Oint_SPEC;
1089    pub type Oint = crate::EnumBitfieldStruct<u8, Oint_SPEC>;
1090    impl Oint {
1091        #[doc = "Number of data units in the output FIFO has not become equal to or greater than the specified triggering number."]
1092        pub const _0: Self = Self::new(0);
1093
1094        #[doc = "Number of data units in the output FIFO has become equal to or greater than the specified triggering number."]
1095        pub const _1: Self = Self::new(1);
1096    }
1097}