efm32pg12_pac/cmu/
routeloc0.rs

1#[doc = "Reader of register ROUTELOC0"]
2pub type R = crate::R<u32, super::ROUTELOC0>;
3#[doc = "Writer for register ROUTELOC0"]
4pub type W = crate::W<u32, super::ROUTELOC0>;
5#[doc = "Register ROUTELOC0 `reset()`'s with value 0"]
6impl crate::ResetValue for super::ROUTELOC0 {
7    type Type = u32;
8    #[inline(always)]
9    fn reset_value() -> Self::Type {
10        0
11    }
12}
13#[doc = "I/O Location\n\nValue on reset: 0"]
14#[derive(Clone, Copy, Debug, PartialEq)]
15#[repr(u8)]
16pub enum CLKOUT0LOC_A {
17    #[doc = "0: Location 0"]
18    LOC0 = 0,
19    #[doc = "1: Location 1"]
20    LOC1 = 1,
21    #[doc = "2: Location 2"]
22    LOC2 = 2,
23    #[doc = "3: Location 3"]
24    LOC3 = 3,
25    #[doc = "4: Location 4"]
26    LOC4 = 4,
27    #[doc = "5: Location 5"]
28    LOC5 = 5,
29    #[doc = "6: Location 6"]
30    LOC6 = 6,
31    #[doc = "7: Location 7"]
32    LOC7 = 7,
33}
34impl From<CLKOUT0LOC_A> for u8 {
35    #[inline(always)]
36    fn from(variant: CLKOUT0LOC_A) -> Self {
37        variant as _
38    }
39}
40#[doc = "Reader of field `CLKOUT0LOC`"]
41pub type CLKOUT0LOC_R = crate::R<u8, CLKOUT0LOC_A>;
42impl CLKOUT0LOC_R {
43    #[doc = r"Get enumerated values variant"]
44    #[inline(always)]
45    pub fn variant(&self) -> crate::Variant<u8, CLKOUT0LOC_A> {
46        use crate::Variant::*;
47        match self.bits {
48            0 => Val(CLKOUT0LOC_A::LOC0),
49            1 => Val(CLKOUT0LOC_A::LOC1),
50            2 => Val(CLKOUT0LOC_A::LOC2),
51            3 => Val(CLKOUT0LOC_A::LOC3),
52            4 => Val(CLKOUT0LOC_A::LOC4),
53            5 => Val(CLKOUT0LOC_A::LOC5),
54            6 => Val(CLKOUT0LOC_A::LOC6),
55            7 => Val(CLKOUT0LOC_A::LOC7),
56            i => Res(i),
57        }
58    }
59    #[doc = "Checks if the value of the field is `LOC0`"]
60    #[inline(always)]
61    pub fn is_loc0(&self) -> bool {
62        *self == CLKOUT0LOC_A::LOC0
63    }
64    #[doc = "Checks if the value of the field is `LOC1`"]
65    #[inline(always)]
66    pub fn is_loc1(&self) -> bool {
67        *self == CLKOUT0LOC_A::LOC1
68    }
69    #[doc = "Checks if the value of the field is `LOC2`"]
70    #[inline(always)]
71    pub fn is_loc2(&self) -> bool {
72        *self == CLKOUT0LOC_A::LOC2
73    }
74    #[doc = "Checks if the value of the field is `LOC3`"]
75    #[inline(always)]
76    pub fn is_loc3(&self) -> bool {
77        *self == CLKOUT0LOC_A::LOC3
78    }
79    #[doc = "Checks if the value of the field is `LOC4`"]
80    #[inline(always)]
81    pub fn is_loc4(&self) -> bool {
82        *self == CLKOUT0LOC_A::LOC4
83    }
84    #[doc = "Checks if the value of the field is `LOC5`"]
85    #[inline(always)]
86    pub fn is_loc5(&self) -> bool {
87        *self == CLKOUT0LOC_A::LOC5
88    }
89    #[doc = "Checks if the value of the field is `LOC6`"]
90    #[inline(always)]
91    pub fn is_loc6(&self) -> bool {
92        *self == CLKOUT0LOC_A::LOC6
93    }
94    #[doc = "Checks if the value of the field is `LOC7`"]
95    #[inline(always)]
96    pub fn is_loc7(&self) -> bool {
97        *self == CLKOUT0LOC_A::LOC7
98    }
99}
100#[doc = "Write proxy for field `CLKOUT0LOC`"]
101pub struct CLKOUT0LOC_W<'a> {
102    w: &'a mut W,
103}
104impl<'a> CLKOUT0LOC_W<'a> {
105    #[doc = r"Writes `variant` to the field"]
106    #[inline(always)]
107    pub fn variant(self, variant: CLKOUT0LOC_A) -> &'a mut W {
108        unsafe { self.bits(variant.into()) }
109    }
110    #[doc = "Location 0"]
111    #[inline(always)]
112    pub fn loc0(self) -> &'a mut W {
113        self.variant(CLKOUT0LOC_A::LOC0)
114    }
115    #[doc = "Location 1"]
116    #[inline(always)]
117    pub fn loc1(self) -> &'a mut W {
118        self.variant(CLKOUT0LOC_A::LOC1)
119    }
120    #[doc = "Location 2"]
121    #[inline(always)]
122    pub fn loc2(self) -> &'a mut W {
123        self.variant(CLKOUT0LOC_A::LOC2)
124    }
125    #[doc = "Location 3"]
126    #[inline(always)]
127    pub fn loc3(self) -> &'a mut W {
128        self.variant(CLKOUT0LOC_A::LOC3)
129    }
130    #[doc = "Location 4"]
131    #[inline(always)]
132    pub fn loc4(self) -> &'a mut W {
133        self.variant(CLKOUT0LOC_A::LOC4)
134    }
135    #[doc = "Location 5"]
136    #[inline(always)]
137    pub fn loc5(self) -> &'a mut W {
138        self.variant(CLKOUT0LOC_A::LOC5)
139    }
140    #[doc = "Location 6"]
141    #[inline(always)]
142    pub fn loc6(self) -> &'a mut W {
143        self.variant(CLKOUT0LOC_A::LOC6)
144    }
145    #[doc = "Location 7"]
146    #[inline(always)]
147    pub fn loc7(self) -> &'a mut W {
148        self.variant(CLKOUT0LOC_A::LOC7)
149    }
150    #[doc = r"Writes raw bits to the field"]
151    #[inline(always)]
152    pub unsafe fn bits(self, value: u8) -> &'a mut W {
153        self.w.bits = (self.w.bits & !0x3f) | ((value as u32) & 0x3f);
154        self.w
155    }
156}
157#[doc = "I/O Location\n\nValue on reset: 0"]
158#[derive(Clone, Copy, Debug, PartialEq)]
159#[repr(u8)]
160pub enum CLKOUT1LOC_A {
161    #[doc = "0: Location 0"]
162    LOC0 = 0,
163    #[doc = "1: Location 1"]
164    LOC1 = 1,
165    #[doc = "2: Location 2"]
166    LOC2 = 2,
167    #[doc = "3: Location 3"]
168    LOC3 = 3,
169    #[doc = "4: Location 4"]
170    LOC4 = 4,
171    #[doc = "5: Location 5"]
172    LOC5 = 5,
173    #[doc = "6: Location 6"]
174    LOC6 = 6,
175    #[doc = "7: Location 7"]
176    LOC7 = 7,
177}
178impl From<CLKOUT1LOC_A> for u8 {
179    #[inline(always)]
180    fn from(variant: CLKOUT1LOC_A) -> Self {
181        variant as _
182    }
183}
184#[doc = "Reader of field `CLKOUT1LOC`"]
185pub type CLKOUT1LOC_R = crate::R<u8, CLKOUT1LOC_A>;
186impl CLKOUT1LOC_R {
187    #[doc = r"Get enumerated values variant"]
188    #[inline(always)]
189    pub fn variant(&self) -> crate::Variant<u8, CLKOUT1LOC_A> {
190        use crate::Variant::*;
191        match self.bits {
192            0 => Val(CLKOUT1LOC_A::LOC0),
193            1 => Val(CLKOUT1LOC_A::LOC1),
194            2 => Val(CLKOUT1LOC_A::LOC2),
195            3 => Val(CLKOUT1LOC_A::LOC3),
196            4 => Val(CLKOUT1LOC_A::LOC4),
197            5 => Val(CLKOUT1LOC_A::LOC5),
198            6 => Val(CLKOUT1LOC_A::LOC6),
199            7 => Val(CLKOUT1LOC_A::LOC7),
200            i => Res(i),
201        }
202    }
203    #[doc = "Checks if the value of the field is `LOC0`"]
204    #[inline(always)]
205    pub fn is_loc0(&self) -> bool {
206        *self == CLKOUT1LOC_A::LOC0
207    }
208    #[doc = "Checks if the value of the field is `LOC1`"]
209    #[inline(always)]
210    pub fn is_loc1(&self) -> bool {
211        *self == CLKOUT1LOC_A::LOC1
212    }
213    #[doc = "Checks if the value of the field is `LOC2`"]
214    #[inline(always)]
215    pub fn is_loc2(&self) -> bool {
216        *self == CLKOUT1LOC_A::LOC2
217    }
218    #[doc = "Checks if the value of the field is `LOC3`"]
219    #[inline(always)]
220    pub fn is_loc3(&self) -> bool {
221        *self == CLKOUT1LOC_A::LOC3
222    }
223    #[doc = "Checks if the value of the field is `LOC4`"]
224    #[inline(always)]
225    pub fn is_loc4(&self) -> bool {
226        *self == CLKOUT1LOC_A::LOC4
227    }
228    #[doc = "Checks if the value of the field is `LOC5`"]
229    #[inline(always)]
230    pub fn is_loc5(&self) -> bool {
231        *self == CLKOUT1LOC_A::LOC5
232    }
233    #[doc = "Checks if the value of the field is `LOC6`"]
234    #[inline(always)]
235    pub fn is_loc6(&self) -> bool {
236        *self == CLKOUT1LOC_A::LOC6
237    }
238    #[doc = "Checks if the value of the field is `LOC7`"]
239    #[inline(always)]
240    pub fn is_loc7(&self) -> bool {
241        *self == CLKOUT1LOC_A::LOC7
242    }
243}
244#[doc = "Write proxy for field `CLKOUT1LOC`"]
245pub struct CLKOUT1LOC_W<'a> {
246    w: &'a mut W,
247}
248impl<'a> CLKOUT1LOC_W<'a> {
249    #[doc = r"Writes `variant` to the field"]
250    #[inline(always)]
251    pub fn variant(self, variant: CLKOUT1LOC_A) -> &'a mut W {
252        unsafe { self.bits(variant.into()) }
253    }
254    #[doc = "Location 0"]
255    #[inline(always)]
256    pub fn loc0(self) -> &'a mut W {
257        self.variant(CLKOUT1LOC_A::LOC0)
258    }
259    #[doc = "Location 1"]
260    #[inline(always)]
261    pub fn loc1(self) -> &'a mut W {
262        self.variant(CLKOUT1LOC_A::LOC1)
263    }
264    #[doc = "Location 2"]
265    #[inline(always)]
266    pub fn loc2(self) -> &'a mut W {
267        self.variant(CLKOUT1LOC_A::LOC2)
268    }
269    #[doc = "Location 3"]
270    #[inline(always)]
271    pub fn loc3(self) -> &'a mut W {
272        self.variant(CLKOUT1LOC_A::LOC3)
273    }
274    #[doc = "Location 4"]
275    #[inline(always)]
276    pub fn loc4(self) -> &'a mut W {
277        self.variant(CLKOUT1LOC_A::LOC4)
278    }
279    #[doc = "Location 5"]
280    #[inline(always)]
281    pub fn loc5(self) -> &'a mut W {
282        self.variant(CLKOUT1LOC_A::LOC5)
283    }
284    #[doc = "Location 6"]
285    #[inline(always)]
286    pub fn loc6(self) -> &'a mut W {
287        self.variant(CLKOUT1LOC_A::LOC6)
288    }
289    #[doc = "Location 7"]
290    #[inline(always)]
291    pub fn loc7(self) -> &'a mut W {
292        self.variant(CLKOUT1LOC_A::LOC7)
293    }
294    #[doc = r"Writes raw bits to the field"]
295    #[inline(always)]
296    pub unsafe fn bits(self, value: u8) -> &'a mut W {
297        self.w.bits = (self.w.bits & !(0x3f << 8)) | (((value as u32) & 0x3f) << 8);
298        self.w
299    }
300}
301impl R {
302    #[doc = "Bits 0:5 - I/O Location"]
303    #[inline(always)]
304    pub fn clkout0loc(&self) -> CLKOUT0LOC_R {
305        CLKOUT0LOC_R::new((self.bits & 0x3f) as u8)
306    }
307    #[doc = "Bits 8:13 - I/O Location"]
308    #[inline(always)]
309    pub fn clkout1loc(&self) -> CLKOUT1LOC_R {
310        CLKOUT1LOC_R::new(((self.bits >> 8) & 0x3f) as u8)
311    }
312}
313impl W {
314    #[doc = "Bits 0:5 - I/O Location"]
315    #[inline(always)]
316    pub fn clkout0loc(&mut self) -> CLKOUT0LOC_W {
317        CLKOUT0LOC_W { w: self }
318    }
319    #[doc = "Bits 8:13 - I/O Location"]
320    #[inline(always)]
321    pub fn clkout1loc(&mut self) -> CLKOUT1LOC_W {
322        CLKOUT1LOC_W { w: self }
323    }
324}