efm32gg11b520_pac/cmu/
hfclkstatus.rs

1#[doc = "Register `HFCLKSTATUS` reader"]
2pub struct R(crate::R<HFCLKSTATUS_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<HFCLKSTATUS_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<HFCLKSTATUS_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<HFCLKSTATUS_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "HFCLK Selected\n\nValue on reset: 1"]
17#[derive(Clone, Copy, Debug, PartialEq)]
18#[repr(u8)]
19pub enum SELECTED_A {
20    #[doc = "1: HFRCO is selected as HFCLK clock source"]
21    HFRCO = 1,
22    #[doc = "2: HFXO is selected as HFCLK clock source"]
23    HFXO = 2,
24    #[doc = "3: LFRCO is selected as HFCLK clock source"]
25    LFRCO = 3,
26    #[doc = "4: LFXO is selected as HFCLK clock source"]
27    LFXO = 4,
28    #[doc = "5: HFRCO divided by 2 is selected as HFCLK clock source"]
29    HFRCODIV2 = 5,
30    #[doc = "6: USHFRCO is selected as HFCLK clock source"]
31    USHFRCO = 6,
32    #[doc = "7: CLKIN0 is selected as HFCLK clock source"]
33    CLKIN0 = 7,
34}
35impl From<SELECTED_A> for u8 {
36    #[inline(always)]
37    fn from(variant: SELECTED_A) -> Self {
38        variant as _
39    }
40}
41#[doc = "Field `SELECTED` reader - HFCLK Selected"]
42pub type SELECTED_R = crate::FieldReader<u8, SELECTED_A>;
43impl SELECTED_R {
44    #[doc = "Get enumerated values variant"]
45    #[inline(always)]
46    pub fn variant(&self) -> Option<SELECTED_A> {
47        match self.bits {
48            1 => Some(SELECTED_A::HFRCO),
49            2 => Some(SELECTED_A::HFXO),
50            3 => Some(SELECTED_A::LFRCO),
51            4 => Some(SELECTED_A::LFXO),
52            5 => Some(SELECTED_A::HFRCODIV2),
53            6 => Some(SELECTED_A::USHFRCO),
54            7 => Some(SELECTED_A::CLKIN0),
55            _ => None,
56        }
57    }
58    #[doc = "Checks if the value of the field is `HFRCO`"]
59    #[inline(always)]
60    pub fn is_hfrco(&self) -> bool {
61        *self == SELECTED_A::HFRCO
62    }
63    #[doc = "Checks if the value of the field is `HFXO`"]
64    #[inline(always)]
65    pub fn is_hfxo(&self) -> bool {
66        *self == SELECTED_A::HFXO
67    }
68    #[doc = "Checks if the value of the field is `LFRCO`"]
69    #[inline(always)]
70    pub fn is_lfrco(&self) -> bool {
71        *self == SELECTED_A::LFRCO
72    }
73    #[doc = "Checks if the value of the field is `LFXO`"]
74    #[inline(always)]
75    pub fn is_lfxo(&self) -> bool {
76        *self == SELECTED_A::LFXO
77    }
78    #[doc = "Checks if the value of the field is `HFRCODIV2`"]
79    #[inline(always)]
80    pub fn is_hfrcodiv2(&self) -> bool {
81        *self == SELECTED_A::HFRCODIV2
82    }
83    #[doc = "Checks if the value of the field is `USHFRCO`"]
84    #[inline(always)]
85    pub fn is_ushfrco(&self) -> bool {
86        *self == SELECTED_A::USHFRCO
87    }
88    #[doc = "Checks if the value of the field is `CLKIN0`"]
89    #[inline(always)]
90    pub fn is_clkin0(&self) -> bool {
91        *self == SELECTED_A::CLKIN0
92    }
93}
94impl R {
95    #[doc = "Bits 0:2 - HFCLK Selected"]
96    #[inline(always)]
97    pub fn selected(&self) -> SELECTED_R {
98        SELECTED_R::new((self.bits & 7) as u8)
99    }
100}
101#[doc = "HFCLK Status Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [hfclkstatus](index.html) module"]
102pub struct HFCLKSTATUS_SPEC;
103impl crate::RegisterSpec for HFCLKSTATUS_SPEC {
104    type Ux = u32;
105}
106#[doc = "`read()` method returns [hfclkstatus::R](R) reader structure"]
107impl crate::Readable for HFCLKSTATUS_SPEC {
108    type Reader = R;
109}
110#[doc = "`reset()` method sets HFCLKSTATUS to value 0x01"]
111impl crate::Resettable for HFCLKSTATUS_SPEC {
112    #[inline(always)]
113    fn reset_value() -> Self::Ux {
114        0x01
115    }
116}