efm32gg_pac/efm32gg995/dac0/
opa2mux.rs

1#[doc = "Register `OPA2MUX` reader"]
2pub struct R(crate::R<OPA2MUX_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<OPA2MUX_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<OPA2MUX_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<OPA2MUX_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `OPA2MUX` writer"]
17pub struct W(crate::W<OPA2MUX_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<OPA2MUX_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<OPA2MUX_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<OPA2MUX_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `POSSEL` reader - OPA2 non-inverting Input Mux"]
38pub type POSSEL_R = crate::FieldReader<u8, POSSEL_A>;
39#[doc = "OPA2 non-inverting Input Mux\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41#[repr(u8)]
42pub enum POSSEL_A {
43    #[doc = "0: Input disabled"]
44    DISABLE = 0,
45    #[doc = "2: POS PAD as input"]
46    POSPAD = 2,
47    #[doc = "3: OPA1 as input"]
48    OPA1INP = 3,
49    #[doc = "4: OPA0 Resistor ladder as input"]
50    OPATAP = 4,
51}
52impl From<POSSEL_A> for u8 {
53    #[inline(always)]
54    fn from(variant: POSSEL_A) -> Self {
55        variant as _
56    }
57}
58impl POSSEL_R {
59    #[doc = "Get enumerated values variant"]
60    #[inline(always)]
61    pub fn variant(&self) -> Option<POSSEL_A> {
62        match self.bits {
63            0 => Some(POSSEL_A::DISABLE),
64            2 => Some(POSSEL_A::POSPAD),
65            3 => Some(POSSEL_A::OPA1INP),
66            4 => Some(POSSEL_A::OPATAP),
67            _ => None,
68        }
69    }
70    #[doc = "Checks if the value of the field is `DISABLE`"]
71    #[inline(always)]
72    pub fn is_disable(&self) -> bool {
73        *self == POSSEL_A::DISABLE
74    }
75    #[doc = "Checks if the value of the field is `POSPAD`"]
76    #[inline(always)]
77    pub fn is_pospad(&self) -> bool {
78        *self == POSSEL_A::POSPAD
79    }
80    #[doc = "Checks if the value of the field is `OPA1INP`"]
81    #[inline(always)]
82    pub fn is_opa1inp(&self) -> bool {
83        *self == POSSEL_A::OPA1INP
84    }
85    #[doc = "Checks if the value of the field is `OPATAP`"]
86    #[inline(always)]
87    pub fn is_opatap(&self) -> bool {
88        *self == POSSEL_A::OPATAP
89    }
90}
91#[doc = "Field `POSSEL` writer - OPA2 non-inverting Input Mux"]
92pub type POSSEL_W<'a, const O: u8> = crate::FieldWriter<'a, u32, OPA2MUX_SPEC, u8, POSSEL_A, 3, O>;
93impl<'a, const O: u8> POSSEL_W<'a, O> {
94    #[doc = "Input disabled"]
95    #[inline(always)]
96    pub fn disable(self) -> &'a mut W {
97        self.variant(POSSEL_A::DISABLE)
98    }
99    #[doc = "POS PAD as input"]
100    #[inline(always)]
101    pub fn pospad(self) -> &'a mut W {
102        self.variant(POSSEL_A::POSPAD)
103    }
104    #[doc = "OPA1 as input"]
105    #[inline(always)]
106    pub fn opa1inp(self) -> &'a mut W {
107        self.variant(POSSEL_A::OPA1INP)
108    }
109    #[doc = "OPA0 Resistor ladder as input"]
110    #[inline(always)]
111    pub fn opatap(self) -> &'a mut W {
112        self.variant(POSSEL_A::OPATAP)
113    }
114}
115#[doc = "Field `NEGSEL` reader - OPA2 inverting Input Mux"]
116pub type NEGSEL_R = crate::FieldReader<u8, NEGSEL_A>;
117#[doc = "OPA2 inverting Input Mux\n\nValue on reset: 0"]
118#[derive(Clone, Copy, Debug, PartialEq, Eq)]
119#[repr(u8)]
120pub enum NEGSEL_A {
121    #[doc = "0: Input disabled"]
122    DISABLE = 0,
123    #[doc = "1: Unity Gain feedback path"]
124    UG = 1,
125    #[doc = "2: OPA2 Resistor ladder as input"]
126    OPATAP = 2,
127    #[doc = "3: Input from NEG PAD"]
128    NEGPAD = 3,
129}
130impl From<NEGSEL_A> for u8 {
131    #[inline(always)]
132    fn from(variant: NEGSEL_A) -> Self {
133        variant as _
134    }
135}
136impl NEGSEL_R {
137    #[doc = "Get enumerated values variant"]
138    #[inline(always)]
139    pub fn variant(&self) -> NEGSEL_A {
140        match self.bits {
141            0 => NEGSEL_A::DISABLE,
142            1 => NEGSEL_A::UG,
143            2 => NEGSEL_A::OPATAP,
144            3 => NEGSEL_A::NEGPAD,
145            _ => unreachable!(),
146        }
147    }
148    #[doc = "Checks if the value of the field is `DISABLE`"]
149    #[inline(always)]
150    pub fn is_disable(&self) -> bool {
151        *self == NEGSEL_A::DISABLE
152    }
153    #[doc = "Checks if the value of the field is `UG`"]
154    #[inline(always)]
155    pub fn is_ug(&self) -> bool {
156        *self == NEGSEL_A::UG
157    }
158    #[doc = "Checks if the value of the field is `OPATAP`"]
159    #[inline(always)]
160    pub fn is_opatap(&self) -> bool {
161        *self == NEGSEL_A::OPATAP
162    }
163    #[doc = "Checks if the value of the field is `NEGPAD`"]
164    #[inline(always)]
165    pub fn is_negpad(&self) -> bool {
166        *self == NEGSEL_A::NEGPAD
167    }
168}
169#[doc = "Field `NEGSEL` writer - OPA2 inverting Input Mux"]
170pub type NEGSEL_W<'a, const O: u8> =
171    crate::FieldWriterSafe<'a, u32, OPA2MUX_SPEC, u8, NEGSEL_A, 2, O>;
172impl<'a, const O: u8> NEGSEL_W<'a, O> {
173    #[doc = "Input disabled"]
174    #[inline(always)]
175    pub fn disable(self) -> &'a mut W {
176        self.variant(NEGSEL_A::DISABLE)
177    }
178    #[doc = "Unity Gain feedback path"]
179    #[inline(always)]
180    pub fn ug(self) -> &'a mut W {
181        self.variant(NEGSEL_A::UG)
182    }
183    #[doc = "OPA2 Resistor ladder as input"]
184    #[inline(always)]
185    pub fn opatap(self) -> &'a mut W {
186        self.variant(NEGSEL_A::OPATAP)
187    }
188    #[doc = "Input from NEG PAD"]
189    #[inline(always)]
190    pub fn negpad(self) -> &'a mut W {
191        self.variant(NEGSEL_A::NEGPAD)
192    }
193}
194#[doc = "Field `RESINMUX` reader - OPA2 Resistor Ladder Input Mux"]
195pub type RESINMUX_R = crate::FieldReader<u8, RESINMUX_A>;
196#[doc = "OPA2 Resistor Ladder Input Mux\n\nValue on reset: 0"]
197#[derive(Clone, Copy, Debug, PartialEq, Eq)]
198#[repr(u8)]
199pub enum RESINMUX_A {
200    #[doc = "0: Set for Unity Gain"]
201    DISABLE = 0,
202    #[doc = "1: Set for OPA1 input"]
203    OPA1INP = 1,
204    #[doc = "2: NEG PAD connected"]
205    NEGPAD = 2,
206    #[doc = "3: POS PAD connected"]
207    POSPAD = 3,
208    #[doc = "4: VSS connected"]
209    VSS = 4,
210}
211impl From<RESINMUX_A> for u8 {
212    #[inline(always)]
213    fn from(variant: RESINMUX_A) -> Self {
214        variant as _
215    }
216}
217impl RESINMUX_R {
218    #[doc = "Get enumerated values variant"]
219    #[inline(always)]
220    pub fn variant(&self) -> Option<RESINMUX_A> {
221        match self.bits {
222            0 => Some(RESINMUX_A::DISABLE),
223            1 => Some(RESINMUX_A::OPA1INP),
224            2 => Some(RESINMUX_A::NEGPAD),
225            3 => Some(RESINMUX_A::POSPAD),
226            4 => Some(RESINMUX_A::VSS),
227            _ => None,
228        }
229    }
230    #[doc = "Checks if the value of the field is `DISABLE`"]
231    #[inline(always)]
232    pub fn is_disable(&self) -> bool {
233        *self == RESINMUX_A::DISABLE
234    }
235    #[doc = "Checks if the value of the field is `OPA1INP`"]
236    #[inline(always)]
237    pub fn is_opa1inp(&self) -> bool {
238        *self == RESINMUX_A::OPA1INP
239    }
240    #[doc = "Checks if the value of the field is `NEGPAD`"]
241    #[inline(always)]
242    pub fn is_negpad(&self) -> bool {
243        *self == RESINMUX_A::NEGPAD
244    }
245    #[doc = "Checks if the value of the field is `POSPAD`"]
246    #[inline(always)]
247    pub fn is_pospad(&self) -> bool {
248        *self == RESINMUX_A::POSPAD
249    }
250    #[doc = "Checks if the value of the field is `VSS`"]
251    #[inline(always)]
252    pub fn is_vss(&self) -> bool {
253        *self == RESINMUX_A::VSS
254    }
255}
256#[doc = "Field `RESINMUX` writer - OPA2 Resistor Ladder Input Mux"]
257pub type RESINMUX_W<'a, const O: u8> =
258    crate::FieldWriter<'a, u32, OPA2MUX_SPEC, u8, RESINMUX_A, 3, O>;
259impl<'a, const O: u8> RESINMUX_W<'a, O> {
260    #[doc = "Set for Unity Gain"]
261    #[inline(always)]
262    pub fn disable(self) -> &'a mut W {
263        self.variant(RESINMUX_A::DISABLE)
264    }
265    #[doc = "Set for OPA1 input"]
266    #[inline(always)]
267    pub fn opa1inp(self) -> &'a mut W {
268        self.variant(RESINMUX_A::OPA1INP)
269    }
270    #[doc = "NEG PAD connected"]
271    #[inline(always)]
272    pub fn negpad(self) -> &'a mut W {
273        self.variant(RESINMUX_A::NEGPAD)
274    }
275    #[doc = "POS PAD connected"]
276    #[inline(always)]
277    pub fn pospad(self) -> &'a mut W {
278        self.variant(RESINMUX_A::POSPAD)
279    }
280    #[doc = "VSS connected"]
281    #[inline(always)]
282    pub fn vss(self) -> &'a mut W {
283        self.variant(RESINMUX_A::VSS)
284    }
285}
286#[doc = "Field `PPEN` reader - OPA2 Positive Pad Input Enable"]
287pub type PPEN_R = crate::BitReader<bool>;
288#[doc = "Field `PPEN` writer - OPA2 Positive Pad Input Enable"]
289pub type PPEN_W<'a, const O: u8> = crate::BitWriter<'a, u32, OPA2MUX_SPEC, bool, O>;
290#[doc = "Field `NPEN` reader - OPA2 Negative Pad Input Enable"]
291pub type NPEN_R = crate::BitReader<bool>;
292#[doc = "Field `NPEN` writer - OPA2 Negative Pad Input Enable"]
293pub type NPEN_W<'a, const O: u8> = crate::BitWriter<'a, u32, OPA2MUX_SPEC, bool, O>;
294#[doc = "Field `OUTPEN` reader - OPA2 Output Location"]
295pub type OUTPEN_R = crate::FieldReader<u8, OUTPEN_A>;
296#[doc = "OPA2 Output Location\n\nValue on reset: 0"]
297#[derive(Clone, Copy, Debug, PartialEq, Eq)]
298#[repr(u8)]
299pub enum OUTPEN_A {
300    #[doc = "1: Main Output 0"]
301    OUT0 = 1,
302    #[doc = "2: Main Output 1"]
303    OUT1 = 2,
304}
305impl From<OUTPEN_A> for u8 {
306    #[inline(always)]
307    fn from(variant: OUTPEN_A) -> Self {
308        variant as _
309    }
310}
311impl OUTPEN_R {
312    #[doc = "Get enumerated values variant"]
313    #[inline(always)]
314    pub fn variant(&self) -> Option<OUTPEN_A> {
315        match self.bits {
316            1 => Some(OUTPEN_A::OUT0),
317            2 => Some(OUTPEN_A::OUT1),
318            _ => None,
319        }
320    }
321    #[doc = "Checks if the value of the field is `OUT0`"]
322    #[inline(always)]
323    pub fn is_out0(&self) -> bool {
324        *self == OUTPEN_A::OUT0
325    }
326    #[doc = "Checks if the value of the field is `OUT1`"]
327    #[inline(always)]
328    pub fn is_out1(&self) -> bool {
329        *self == OUTPEN_A::OUT1
330    }
331}
332#[doc = "Field `OUTPEN` writer - OPA2 Output Location"]
333pub type OUTPEN_W<'a, const O: u8> = crate::FieldWriter<'a, u32, OPA2MUX_SPEC, u8, OUTPEN_A, 2, O>;
334impl<'a, const O: u8> OUTPEN_W<'a, O> {
335    #[doc = "Main Output 0"]
336    #[inline(always)]
337    pub fn out0(self) -> &'a mut W {
338        self.variant(OUTPEN_A::OUT0)
339    }
340    #[doc = "Main Output 1"]
341    #[inline(always)]
342    pub fn out1(self) -> &'a mut W {
343        self.variant(OUTPEN_A::OUT1)
344    }
345}
346#[doc = "Field `OUTMODE` reader - Output Select"]
347pub type OUTMODE_R = crate::BitReader<bool>;
348#[doc = "Field `OUTMODE` writer - Output Select"]
349pub type OUTMODE_W<'a, const O: u8> = crate::BitWriter<'a, u32, OPA2MUX_SPEC, bool, O>;
350#[doc = "Field `NEXTOUT` reader - OPA2 Next Enable"]
351pub type NEXTOUT_R = crate::BitReader<bool>;
352#[doc = "Field `NEXTOUT` writer - OPA2 Next Enable"]
353pub type NEXTOUT_W<'a, const O: u8> = crate::BitWriter<'a, u32, OPA2MUX_SPEC, bool, O>;
354#[doc = "Field `RESSEL` reader - OPA2 Resistor Ladder Select"]
355pub type RESSEL_R = crate::FieldReader<u8, RESSEL_A>;
356#[doc = "OPA2 Resistor Ladder Select\n\nValue on reset: 0"]
357#[derive(Clone, Copy, Debug, PartialEq, Eq)]
358#[repr(u8)]
359pub enum RESSEL_A {
360    #[doc = "0: Gain of 1/3"]
361    RES0 = 0,
362    #[doc = "1: Gain of 1"]
363    RES1 = 1,
364    #[doc = "2: Gain of 1 2/3"]
365    RES2 = 2,
366    #[doc = "3: Gain of 2"]
367    RES3 = 3,
368    #[doc = "4: Gain of 3"]
369    RES4 = 4,
370    #[doc = "5: Gain of 4 1/3"]
371    RES5 = 5,
372    #[doc = "6: Gain of 7"]
373    RES6 = 6,
374    #[doc = "7: Gain of 15"]
375    RES7 = 7,
376}
377impl From<RESSEL_A> for u8 {
378    #[inline(always)]
379    fn from(variant: RESSEL_A) -> Self {
380        variant as _
381    }
382}
383impl RESSEL_R {
384    #[doc = "Get enumerated values variant"]
385    #[inline(always)]
386    pub fn variant(&self) -> RESSEL_A {
387        match self.bits {
388            0 => RESSEL_A::RES0,
389            1 => RESSEL_A::RES1,
390            2 => RESSEL_A::RES2,
391            3 => RESSEL_A::RES3,
392            4 => RESSEL_A::RES4,
393            5 => RESSEL_A::RES5,
394            6 => RESSEL_A::RES6,
395            7 => RESSEL_A::RES7,
396            _ => unreachable!(),
397        }
398    }
399    #[doc = "Checks if the value of the field is `RES0`"]
400    #[inline(always)]
401    pub fn is_res0(&self) -> bool {
402        *self == RESSEL_A::RES0
403    }
404    #[doc = "Checks if the value of the field is `RES1`"]
405    #[inline(always)]
406    pub fn is_res1(&self) -> bool {
407        *self == RESSEL_A::RES1
408    }
409    #[doc = "Checks if the value of the field is `RES2`"]
410    #[inline(always)]
411    pub fn is_res2(&self) -> bool {
412        *self == RESSEL_A::RES2
413    }
414    #[doc = "Checks if the value of the field is `RES3`"]
415    #[inline(always)]
416    pub fn is_res3(&self) -> bool {
417        *self == RESSEL_A::RES3
418    }
419    #[doc = "Checks if the value of the field is `RES4`"]
420    #[inline(always)]
421    pub fn is_res4(&self) -> bool {
422        *self == RESSEL_A::RES4
423    }
424    #[doc = "Checks if the value of the field is `RES5`"]
425    #[inline(always)]
426    pub fn is_res5(&self) -> bool {
427        *self == RESSEL_A::RES5
428    }
429    #[doc = "Checks if the value of the field is `RES6`"]
430    #[inline(always)]
431    pub fn is_res6(&self) -> bool {
432        *self == RESSEL_A::RES6
433    }
434    #[doc = "Checks if the value of the field is `RES7`"]
435    #[inline(always)]
436    pub fn is_res7(&self) -> bool {
437        *self == RESSEL_A::RES7
438    }
439}
440#[doc = "Field `RESSEL` writer - OPA2 Resistor Ladder Select"]
441pub type RESSEL_W<'a, const O: u8> =
442    crate::FieldWriterSafe<'a, u32, OPA2MUX_SPEC, u8, RESSEL_A, 3, O>;
443impl<'a, const O: u8> RESSEL_W<'a, O> {
444    #[doc = "Gain of 1/3"]
445    #[inline(always)]
446    pub fn res0(self) -> &'a mut W {
447        self.variant(RESSEL_A::RES0)
448    }
449    #[doc = "Gain of 1"]
450    #[inline(always)]
451    pub fn res1(self) -> &'a mut W {
452        self.variant(RESSEL_A::RES1)
453    }
454    #[doc = "Gain of 1 2/3"]
455    #[inline(always)]
456    pub fn res2(self) -> &'a mut W {
457        self.variant(RESSEL_A::RES2)
458    }
459    #[doc = "Gain of 2"]
460    #[inline(always)]
461    pub fn res3(self) -> &'a mut W {
462        self.variant(RESSEL_A::RES3)
463    }
464    #[doc = "Gain of 3"]
465    #[inline(always)]
466    pub fn res4(self) -> &'a mut W {
467        self.variant(RESSEL_A::RES4)
468    }
469    #[doc = "Gain of 4 1/3"]
470    #[inline(always)]
471    pub fn res5(self) -> &'a mut W {
472        self.variant(RESSEL_A::RES5)
473    }
474    #[doc = "Gain of 7"]
475    #[inline(always)]
476    pub fn res6(self) -> &'a mut W {
477        self.variant(RESSEL_A::RES6)
478    }
479    #[doc = "Gain of 15"]
480    #[inline(always)]
481    pub fn res7(self) -> &'a mut W {
482        self.variant(RESSEL_A::RES7)
483    }
484}
485impl R {
486    #[doc = "Bits 0:2 - OPA2 non-inverting Input Mux"]
487    #[inline(always)]
488    pub fn possel(&self) -> POSSEL_R {
489        POSSEL_R::new((self.bits & 7) as u8)
490    }
491    #[doc = "Bits 4:5 - OPA2 inverting Input Mux"]
492    #[inline(always)]
493    pub fn negsel(&self) -> NEGSEL_R {
494        NEGSEL_R::new(((self.bits >> 4) & 3) as u8)
495    }
496    #[doc = "Bits 8:10 - OPA2 Resistor Ladder Input Mux"]
497    #[inline(always)]
498    pub fn resinmux(&self) -> RESINMUX_R {
499        RESINMUX_R::new(((self.bits >> 8) & 7) as u8)
500    }
501    #[doc = "Bit 12 - OPA2 Positive Pad Input Enable"]
502    #[inline(always)]
503    pub fn ppen(&self) -> PPEN_R {
504        PPEN_R::new(((self.bits >> 12) & 1) != 0)
505    }
506    #[doc = "Bit 13 - OPA2 Negative Pad Input Enable"]
507    #[inline(always)]
508    pub fn npen(&self) -> NPEN_R {
509        NPEN_R::new(((self.bits >> 13) & 1) != 0)
510    }
511    #[doc = "Bits 14:15 - OPA2 Output Location"]
512    #[inline(always)]
513    pub fn outpen(&self) -> OUTPEN_R {
514        OUTPEN_R::new(((self.bits >> 14) & 3) as u8)
515    }
516    #[doc = "Bit 22 - Output Select"]
517    #[inline(always)]
518    pub fn outmode(&self) -> OUTMODE_R {
519        OUTMODE_R::new(((self.bits >> 22) & 1) != 0)
520    }
521    #[doc = "Bit 26 - OPA2 Next Enable"]
522    #[inline(always)]
523    pub fn nextout(&self) -> NEXTOUT_R {
524        NEXTOUT_R::new(((self.bits >> 26) & 1) != 0)
525    }
526    #[doc = "Bits 28:30 - OPA2 Resistor Ladder Select"]
527    #[inline(always)]
528    pub fn ressel(&self) -> RESSEL_R {
529        RESSEL_R::new(((self.bits >> 28) & 7) as u8)
530    }
531}
532impl W {
533    #[doc = "Bits 0:2 - OPA2 non-inverting Input Mux"]
534    #[inline(always)]
535    #[must_use]
536    pub fn possel(&mut self) -> POSSEL_W<0> {
537        POSSEL_W::new(self)
538    }
539    #[doc = "Bits 4:5 - OPA2 inverting Input Mux"]
540    #[inline(always)]
541    #[must_use]
542    pub fn negsel(&mut self) -> NEGSEL_W<4> {
543        NEGSEL_W::new(self)
544    }
545    #[doc = "Bits 8:10 - OPA2 Resistor Ladder Input Mux"]
546    #[inline(always)]
547    #[must_use]
548    pub fn resinmux(&mut self) -> RESINMUX_W<8> {
549        RESINMUX_W::new(self)
550    }
551    #[doc = "Bit 12 - OPA2 Positive Pad Input Enable"]
552    #[inline(always)]
553    #[must_use]
554    pub fn ppen(&mut self) -> PPEN_W<12> {
555        PPEN_W::new(self)
556    }
557    #[doc = "Bit 13 - OPA2 Negative Pad Input Enable"]
558    #[inline(always)]
559    #[must_use]
560    pub fn npen(&mut self) -> NPEN_W<13> {
561        NPEN_W::new(self)
562    }
563    #[doc = "Bits 14:15 - OPA2 Output Location"]
564    #[inline(always)]
565    #[must_use]
566    pub fn outpen(&mut self) -> OUTPEN_W<14> {
567        OUTPEN_W::new(self)
568    }
569    #[doc = "Bit 22 - Output Select"]
570    #[inline(always)]
571    #[must_use]
572    pub fn outmode(&mut self) -> OUTMODE_W<22> {
573        OUTMODE_W::new(self)
574    }
575    #[doc = "Bit 26 - OPA2 Next Enable"]
576    #[inline(always)]
577    #[must_use]
578    pub fn nextout(&mut self) -> NEXTOUT_W<26> {
579        NEXTOUT_W::new(self)
580    }
581    #[doc = "Bits 28:30 - OPA2 Resistor Ladder Select"]
582    #[inline(always)]
583    #[must_use]
584    pub fn ressel(&mut self) -> RESSEL_W<28> {
585        RESSEL_W::new(self)
586    }
587    #[doc = "Writes raw bits to the register."]
588    #[inline(always)]
589    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
590        self.0.bits(bits);
591        self
592    }
593}
594#[doc = "Operational Amplifier Mux Configuration Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [opa2mux](index.html) module"]
595pub struct OPA2MUX_SPEC;
596impl crate::RegisterSpec for OPA2MUX_SPEC {
597    type Ux = u32;
598}
599#[doc = "`read()` method returns [opa2mux::R](R) reader structure"]
600impl crate::Readable for OPA2MUX_SPEC {
601    type Reader = R;
602}
603#[doc = "`write(|w| ..)` method takes [opa2mux::W](W) writer structure"]
604impl crate::Writable for OPA2MUX_SPEC {
605    type Writer = W;
606    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
607    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
608}
609#[doc = "`reset()` method sets OPA2MUX to value 0"]
610impl crate::Resettable for OPA2MUX_SPEC {
611    const RESET_VALUE: Self::Ux = 0;
612}