mcxa_pac/inputmux0/
freqmeas_tar.rs

1#[doc = "Register `FREQMEAS_TAR` reader"]
2pub type R = crate::R<FreqmeasTarSpec>;
3#[doc = "Register `FREQMEAS_TAR` writer"]
4pub type W = crate::W<FreqmeasTarSpec>;
5#[doc = "Clock source number (binary value) for frequency measure function target clock.\n\nValue on reset: 63"]
6#[cfg_attr(feature = "defmt", derive(defmt::Format))]
7#[derive(Clone, Copy, Debug, PartialEq, Eq)]
8#[repr(u8)]
9pub enum Inp {
10    #[doc = "1: clk_in input is selected"]
11    Val1 = 1,
12    #[doc = "2: FRO_OSC_12M input is selected"]
13    Val2 = 2,
14    #[doc = "3: fro_hf_div input is selected"]
15    Val3 = 3,
16    #[doc = "5: clk_16k\\[1\\] input is selected"]
17    Val5 = 5,
18    #[doc = "6: SLOW_CLK input is selected"]
19    Val6 = 6,
20    #[doc = "7: FREQME_CLK_IN0 input is selected"]
21    Val7 = 7,
22    #[doc = "8: FREQME_CLK_IN1 input is selected input is selected"]
23    Val8 = 8,
24    #[doc = "9: AOI0_OUT0 input is selected"]
25    Val9 = 9,
26    #[doc = "10: AOI0_OUT1"]
27    Val10 = 10,
28    #[doc = "11: PWM0_SM0_MUX_TRIG0"]
29    Val11 = 11,
30    #[doc = "12: PWM0_SM0_MUX_TRIG1"]
31    Val12 = 12,
32    #[doc = "13: PWM0_SM1_MUX_TRIG0"]
33    Val13 = 13,
34    #[doc = "14: PWM0_SM1_MUX_TRIG1"]
35    Val14 = 14,
36    #[doc = "15: PWM0_SM2_MUX_TRIG0"]
37    Val15 = 15,
38    #[doc = "16: PWM0_SM2_MUX_TRIG1"]
39    Val16 = 16,
40    #[doc = "17: PWM0_SM3_MUX_TRIG0"]
41    Val17 = 17,
42    #[doc = "18: PWM0_SM3_MUX_TRIG1"]
43    Val18 = 18,
44    #[doc = "32: AOI1_OUT0 input is selected"]
45    Val32 = 32,
46    #[doc = "33: AOI1_OUT1 input is selected"]
47    Val33 = 33,
48    #[doc = "34: PWM1_SM0_MUX_TRIG0 input is selected"]
49    Val34 = 34,
50    #[doc = "35: PWM1_SM0_MUX_TRIG1 input is selected"]
51    Val35 = 35,
52    #[doc = "36: PWM1_SM1_MUX_TRIG0 input is selected"]
53    Val36 = 36,
54    #[doc = "37: PWM1_SM1_MUX_TRIG1 input is selected"]
55    Val37 = 37,
56    #[doc = "38: PWM1_SM2_MUX_TRIG0 input is selected"]
57    Val38 = 38,
58    #[doc = "39: PWM1_SM2_MUX_TRIG1 input is selected"]
59    Val39 = 39,
60    #[doc = "40: PWM1_SM3_MUX_TRIG0 input is selected"]
61    Val40 = 40,
62    #[doc = "41: PWM1_SM3_MUX_TRIG1 input is selected"]
63    Val41 = 41,
64}
65impl From<Inp> for u8 {
66    #[inline(always)]
67    fn from(variant: Inp) -> Self {
68        variant as _
69    }
70}
71impl crate::FieldSpec for Inp {
72    type Ux = u8;
73}
74impl crate::IsEnum for Inp {}
75#[doc = "Field `INP` reader - Clock source number (binary value) for frequency measure function target clock."]
76pub type InpR = crate::FieldReader<Inp>;
77impl InpR {
78    #[doc = "Get enumerated values variant"]
79    #[inline(always)]
80    pub const fn variant(&self) -> Option<Inp> {
81        match self.bits {
82            1 => Some(Inp::Val1),
83            2 => Some(Inp::Val2),
84            3 => Some(Inp::Val3),
85            5 => Some(Inp::Val5),
86            6 => Some(Inp::Val6),
87            7 => Some(Inp::Val7),
88            8 => Some(Inp::Val8),
89            9 => Some(Inp::Val9),
90            10 => Some(Inp::Val10),
91            11 => Some(Inp::Val11),
92            12 => Some(Inp::Val12),
93            13 => Some(Inp::Val13),
94            14 => Some(Inp::Val14),
95            15 => Some(Inp::Val15),
96            16 => Some(Inp::Val16),
97            17 => Some(Inp::Val17),
98            18 => Some(Inp::Val18),
99            32 => Some(Inp::Val32),
100            33 => Some(Inp::Val33),
101            34 => Some(Inp::Val34),
102            35 => Some(Inp::Val35),
103            36 => Some(Inp::Val36),
104            37 => Some(Inp::Val37),
105            38 => Some(Inp::Val38),
106            39 => Some(Inp::Val39),
107            40 => Some(Inp::Val40),
108            41 => Some(Inp::Val41),
109            _ => None,
110        }
111    }
112    #[doc = "clk_in input is selected"]
113    #[inline(always)]
114    pub fn is_val1(&self) -> bool {
115        *self == Inp::Val1
116    }
117    #[doc = "FRO_OSC_12M input is selected"]
118    #[inline(always)]
119    pub fn is_val2(&self) -> bool {
120        *self == Inp::Val2
121    }
122    #[doc = "fro_hf_div input is selected"]
123    #[inline(always)]
124    pub fn is_val3(&self) -> bool {
125        *self == Inp::Val3
126    }
127    #[doc = "clk_16k\\[1\\] input is selected"]
128    #[inline(always)]
129    pub fn is_val5(&self) -> bool {
130        *self == Inp::Val5
131    }
132    #[doc = "SLOW_CLK input is selected"]
133    #[inline(always)]
134    pub fn is_val6(&self) -> bool {
135        *self == Inp::Val6
136    }
137    #[doc = "FREQME_CLK_IN0 input is selected"]
138    #[inline(always)]
139    pub fn is_val7(&self) -> bool {
140        *self == Inp::Val7
141    }
142    #[doc = "FREQME_CLK_IN1 input is selected input is selected"]
143    #[inline(always)]
144    pub fn is_val8(&self) -> bool {
145        *self == Inp::Val8
146    }
147    #[doc = "AOI0_OUT0 input is selected"]
148    #[inline(always)]
149    pub fn is_val9(&self) -> bool {
150        *self == Inp::Val9
151    }
152    #[doc = "AOI0_OUT1"]
153    #[inline(always)]
154    pub fn is_val10(&self) -> bool {
155        *self == Inp::Val10
156    }
157    #[doc = "PWM0_SM0_MUX_TRIG0"]
158    #[inline(always)]
159    pub fn is_val11(&self) -> bool {
160        *self == Inp::Val11
161    }
162    #[doc = "PWM0_SM0_MUX_TRIG1"]
163    #[inline(always)]
164    pub fn is_val12(&self) -> bool {
165        *self == Inp::Val12
166    }
167    #[doc = "PWM0_SM1_MUX_TRIG0"]
168    #[inline(always)]
169    pub fn is_val13(&self) -> bool {
170        *self == Inp::Val13
171    }
172    #[doc = "PWM0_SM1_MUX_TRIG1"]
173    #[inline(always)]
174    pub fn is_val14(&self) -> bool {
175        *self == Inp::Val14
176    }
177    #[doc = "PWM0_SM2_MUX_TRIG0"]
178    #[inline(always)]
179    pub fn is_val15(&self) -> bool {
180        *self == Inp::Val15
181    }
182    #[doc = "PWM0_SM2_MUX_TRIG1"]
183    #[inline(always)]
184    pub fn is_val16(&self) -> bool {
185        *self == Inp::Val16
186    }
187    #[doc = "PWM0_SM3_MUX_TRIG0"]
188    #[inline(always)]
189    pub fn is_val17(&self) -> bool {
190        *self == Inp::Val17
191    }
192    #[doc = "PWM0_SM3_MUX_TRIG1"]
193    #[inline(always)]
194    pub fn is_val18(&self) -> bool {
195        *self == Inp::Val18
196    }
197    #[doc = "AOI1_OUT0 input is selected"]
198    #[inline(always)]
199    pub fn is_val32(&self) -> bool {
200        *self == Inp::Val32
201    }
202    #[doc = "AOI1_OUT1 input is selected"]
203    #[inline(always)]
204    pub fn is_val33(&self) -> bool {
205        *self == Inp::Val33
206    }
207    #[doc = "PWM1_SM0_MUX_TRIG0 input is selected"]
208    #[inline(always)]
209    pub fn is_val34(&self) -> bool {
210        *self == Inp::Val34
211    }
212    #[doc = "PWM1_SM0_MUX_TRIG1 input is selected"]
213    #[inline(always)]
214    pub fn is_val35(&self) -> bool {
215        *self == Inp::Val35
216    }
217    #[doc = "PWM1_SM1_MUX_TRIG0 input is selected"]
218    #[inline(always)]
219    pub fn is_val36(&self) -> bool {
220        *self == Inp::Val36
221    }
222    #[doc = "PWM1_SM1_MUX_TRIG1 input is selected"]
223    #[inline(always)]
224    pub fn is_val37(&self) -> bool {
225        *self == Inp::Val37
226    }
227    #[doc = "PWM1_SM2_MUX_TRIG0 input is selected"]
228    #[inline(always)]
229    pub fn is_val38(&self) -> bool {
230        *self == Inp::Val38
231    }
232    #[doc = "PWM1_SM2_MUX_TRIG1 input is selected"]
233    #[inline(always)]
234    pub fn is_val39(&self) -> bool {
235        *self == Inp::Val39
236    }
237    #[doc = "PWM1_SM3_MUX_TRIG0 input is selected"]
238    #[inline(always)]
239    pub fn is_val40(&self) -> bool {
240        *self == Inp::Val40
241    }
242    #[doc = "PWM1_SM3_MUX_TRIG1 input is selected"]
243    #[inline(always)]
244    pub fn is_val41(&self) -> bool {
245        *self == Inp::Val41
246    }
247}
248#[doc = "Field `INP` writer - Clock source number (binary value) for frequency measure function target clock."]
249pub type InpW<'a, REG> = crate::FieldWriter<'a, REG, 7, Inp>;
250impl<'a, REG> InpW<'a, REG>
251where
252    REG: crate::Writable + crate::RegisterSpec,
253    REG::Ux: From<u8>,
254{
255    #[doc = "clk_in input is selected"]
256    #[inline(always)]
257    pub fn val1(self) -> &'a mut crate::W<REG> {
258        self.variant(Inp::Val1)
259    }
260    #[doc = "FRO_OSC_12M input is selected"]
261    #[inline(always)]
262    pub fn val2(self) -> &'a mut crate::W<REG> {
263        self.variant(Inp::Val2)
264    }
265    #[doc = "fro_hf_div input is selected"]
266    #[inline(always)]
267    pub fn val3(self) -> &'a mut crate::W<REG> {
268        self.variant(Inp::Val3)
269    }
270    #[doc = "clk_16k\\[1\\] input is selected"]
271    #[inline(always)]
272    pub fn val5(self) -> &'a mut crate::W<REG> {
273        self.variant(Inp::Val5)
274    }
275    #[doc = "SLOW_CLK input is selected"]
276    #[inline(always)]
277    pub fn val6(self) -> &'a mut crate::W<REG> {
278        self.variant(Inp::Val6)
279    }
280    #[doc = "FREQME_CLK_IN0 input is selected"]
281    #[inline(always)]
282    pub fn val7(self) -> &'a mut crate::W<REG> {
283        self.variant(Inp::Val7)
284    }
285    #[doc = "FREQME_CLK_IN1 input is selected input is selected"]
286    #[inline(always)]
287    pub fn val8(self) -> &'a mut crate::W<REG> {
288        self.variant(Inp::Val8)
289    }
290    #[doc = "AOI0_OUT0 input is selected"]
291    #[inline(always)]
292    pub fn val9(self) -> &'a mut crate::W<REG> {
293        self.variant(Inp::Val9)
294    }
295    #[doc = "AOI0_OUT1"]
296    #[inline(always)]
297    pub fn val10(self) -> &'a mut crate::W<REG> {
298        self.variant(Inp::Val10)
299    }
300    #[doc = "PWM0_SM0_MUX_TRIG0"]
301    #[inline(always)]
302    pub fn val11(self) -> &'a mut crate::W<REG> {
303        self.variant(Inp::Val11)
304    }
305    #[doc = "PWM0_SM0_MUX_TRIG1"]
306    #[inline(always)]
307    pub fn val12(self) -> &'a mut crate::W<REG> {
308        self.variant(Inp::Val12)
309    }
310    #[doc = "PWM0_SM1_MUX_TRIG0"]
311    #[inline(always)]
312    pub fn val13(self) -> &'a mut crate::W<REG> {
313        self.variant(Inp::Val13)
314    }
315    #[doc = "PWM0_SM1_MUX_TRIG1"]
316    #[inline(always)]
317    pub fn val14(self) -> &'a mut crate::W<REG> {
318        self.variant(Inp::Val14)
319    }
320    #[doc = "PWM0_SM2_MUX_TRIG0"]
321    #[inline(always)]
322    pub fn val15(self) -> &'a mut crate::W<REG> {
323        self.variant(Inp::Val15)
324    }
325    #[doc = "PWM0_SM2_MUX_TRIG1"]
326    #[inline(always)]
327    pub fn val16(self) -> &'a mut crate::W<REG> {
328        self.variant(Inp::Val16)
329    }
330    #[doc = "PWM0_SM3_MUX_TRIG0"]
331    #[inline(always)]
332    pub fn val17(self) -> &'a mut crate::W<REG> {
333        self.variant(Inp::Val17)
334    }
335    #[doc = "PWM0_SM3_MUX_TRIG1"]
336    #[inline(always)]
337    pub fn val18(self) -> &'a mut crate::W<REG> {
338        self.variant(Inp::Val18)
339    }
340    #[doc = "AOI1_OUT0 input is selected"]
341    #[inline(always)]
342    pub fn val32(self) -> &'a mut crate::W<REG> {
343        self.variant(Inp::Val32)
344    }
345    #[doc = "AOI1_OUT1 input is selected"]
346    #[inline(always)]
347    pub fn val33(self) -> &'a mut crate::W<REG> {
348        self.variant(Inp::Val33)
349    }
350    #[doc = "PWM1_SM0_MUX_TRIG0 input is selected"]
351    #[inline(always)]
352    pub fn val34(self) -> &'a mut crate::W<REG> {
353        self.variant(Inp::Val34)
354    }
355    #[doc = "PWM1_SM0_MUX_TRIG1 input is selected"]
356    #[inline(always)]
357    pub fn val35(self) -> &'a mut crate::W<REG> {
358        self.variant(Inp::Val35)
359    }
360    #[doc = "PWM1_SM1_MUX_TRIG0 input is selected"]
361    #[inline(always)]
362    pub fn val36(self) -> &'a mut crate::W<REG> {
363        self.variant(Inp::Val36)
364    }
365    #[doc = "PWM1_SM1_MUX_TRIG1 input is selected"]
366    #[inline(always)]
367    pub fn val37(self) -> &'a mut crate::W<REG> {
368        self.variant(Inp::Val37)
369    }
370    #[doc = "PWM1_SM2_MUX_TRIG0 input is selected"]
371    #[inline(always)]
372    pub fn val38(self) -> &'a mut crate::W<REG> {
373        self.variant(Inp::Val38)
374    }
375    #[doc = "PWM1_SM2_MUX_TRIG1 input is selected"]
376    #[inline(always)]
377    pub fn val39(self) -> &'a mut crate::W<REG> {
378        self.variant(Inp::Val39)
379    }
380    #[doc = "PWM1_SM3_MUX_TRIG0 input is selected"]
381    #[inline(always)]
382    pub fn val40(self) -> &'a mut crate::W<REG> {
383        self.variant(Inp::Val40)
384    }
385    #[doc = "PWM1_SM3_MUX_TRIG1 input is selected"]
386    #[inline(always)]
387    pub fn val41(self) -> &'a mut crate::W<REG> {
388        self.variant(Inp::Val41)
389    }
390}
391impl R {
392    #[doc = "Bits 0:6 - Clock source number (binary value) for frequency measure function target clock."]
393    #[inline(always)]
394    pub fn inp(&self) -> InpR {
395        InpR::new((self.bits & 0x7f) as u8)
396    }
397}
398#[cfg(feature = "debug")]
399impl core::fmt::Debug for R {
400    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
401        f.debug_struct("FREQMEAS_TAR").field("inp", &self.inp()).finish()
402    }
403}
404impl W {
405    #[doc = "Bits 0:6 - Clock source number (binary value) for frequency measure function target clock."]
406    #[inline(always)]
407    pub fn inp(&mut self) -> InpW<'_, FreqmeasTarSpec> {
408        InpW::new(self, 0)
409    }
410}
411#[doc = "Selection for frequency measurement reference clock\n\nYou can [`read`](crate::Reg::read) this register and get [`freqmeas_tar::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`freqmeas_tar::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
412pub struct FreqmeasTarSpec;
413impl crate::RegisterSpec for FreqmeasTarSpec {
414    type Ux = u32;
415}
416#[doc = "`read()` method returns [`freqmeas_tar::R`](R) reader structure"]
417impl crate::Readable for FreqmeasTarSpec {}
418#[doc = "`write(|w| ..)` method takes [`freqmeas_tar::W`](W) writer structure"]
419impl crate::Writable for FreqmeasTarSpec {
420    type Safety = crate::Unsafe;
421}
422#[doc = "`reset()` method sets FREQMEAS_TAR to value 0x3f"]
423impl crate::Resettable for FreqmeasTarSpec {
424    const RESET_VALUE: u32 = 0x3f;
425}