mcxa_pac/inputmux0/
freqmeas_ref.rs1#[doc = "Register `FREQMEAS_REF` reader"]
2pub type R = crate::R<FreqmeasRefSpec>;
3#[doc = "Register `FREQMEAS_REF` writer"]
4pub type W = crate::W<FreqmeasRefSpec>;
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_REF").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<'_, FreqmeasRefSpec> {
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_ref::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`freqmeas_ref::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
412pub struct FreqmeasRefSpec;
413impl crate::RegisterSpec for FreqmeasRefSpec {
414 type Ux = u32;
415}
416#[doc = "`read()` method returns [`freqmeas_ref::R`](R) reader structure"]
417impl crate::Readable for FreqmeasRefSpec {}
418#[doc = "`write(|w| ..)` method takes [`freqmeas_ref::W`](W) writer structure"]
419impl crate::Writable for FreqmeasRefSpec {
420 type Safety = crate::Unsafe;
421}
422#[doc = "`reset()` method sets FREQMEAS_REF to value 0x3f"]
423impl crate::Resettable for FreqmeasRefSpec {
424 const RESET_VALUE: u32 = 0x3f;
425}