1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#[doc = "Register `CICR` writer"]
pub struct W(crate::W<CICR_SPEC>);
impl core::ops::Deref for W {
    type Target = crate::W<CICR_SPEC>;
    #[inline(always)]
    fn deref(&self) -> &Self::Target {
        &self.0
    }
}
impl core::ops::DerefMut for W {
    #[inline(always)]
    fn deref_mut(&mut self) -> &mut Self::Target {
        &mut self.0
    }
}
impl From<crate::W<CICR_SPEC>> for W {
    #[inline(always)]
    fn from(writer: crate::W<CICR_SPEC>) -> Self {
        W(writer)
    }
}
#[doc = "Clock Security System Interrupt clear"]
pub use LSIRDYC_AW as CSSHSEC_AW;
#[doc = "LSE Clock Security System Interrupt clear"]
pub use LSIRDYC_AW as CSSLSEC_AW;
#[doc = "MSI ready Interrupt clear"]
pub use LSIRDYC_AW as MSIRDYC_AW;
#[doc = "PLL ready Interrupt clear"]
pub use LSIRDYC_AW as PLLRDYC_AW;
#[doc = "HSE ready Interrupt clear"]
pub use LSIRDYC_AW as HSERDYC_AW;
#[doc = "HSI16 ready Interrupt clear"]
pub use LSIRDYC_AW as HSI16RDYC_AW;
#[doc = "LSE ready Interrupt clear"]
pub use LSIRDYC_AW as LSERDYC_AW;
#[doc = "Field `CSSHSEC` writer - Clock Security System Interrupt clear"]
pub use LSIRDYC_W as CSSHSEC_W;
#[doc = "Field `CSSLSEC` writer - LSE Clock Security System Interrupt clear"]
pub use LSIRDYC_W as CSSLSEC_W;
#[doc = "Field `MSIRDYC` writer - MSI ready Interrupt clear"]
pub use LSIRDYC_W as MSIRDYC_W;
#[doc = "Field `PLLRDYC` writer - PLL ready Interrupt clear"]
pub use LSIRDYC_W as PLLRDYC_W;
#[doc = "Field `HSERDYC` writer - HSE ready Interrupt clear"]
pub use LSIRDYC_W as HSERDYC_W;
#[doc = "Field `HSI16RDYC` writer - HSI16 ready Interrupt clear"]
pub use LSIRDYC_W as HSI16RDYC_W;
#[doc = "Field `LSERDYC` writer - LSE ready Interrupt clear"]
pub use LSIRDYC_W as LSERDYC_W;
#[doc = "LSI ready Interrupt clear\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum LSIRDYC_AW {
    #[doc = "1: Clear interrupt flag"]
    Clear = 1,
}
impl From<LSIRDYC_AW> for bool {
    #[inline(always)]
    fn from(variant: LSIRDYC_AW) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `LSIRDYC` writer - LSI ready Interrupt clear"]
pub type LSIRDYC_W<'a, const O: u8> = crate::BitWriter<'a, u32, CICR_SPEC, LSIRDYC_AW, O>;
impl<'a, const O: u8> LSIRDYC_W<'a, O> {
    #[doc = "Clear interrupt flag"]
    #[inline(always)]
    pub fn clear(self) -> &'a mut W {
        self.variant(LSIRDYC_AW::Clear)
    }
}
impl W {
    #[doc = "Bit 8 - Clock Security System Interrupt clear"]
    #[inline(always)]
    pub fn csshsec(&mut self) -> CSSHSEC_W<8> {
        CSSHSEC_W::new(self)
    }
    #[doc = "Bit 7 - LSE Clock Security System Interrupt clear"]
    #[inline(always)]
    pub fn csslsec(&mut self) -> CSSLSEC_W<7> {
        CSSLSEC_W::new(self)
    }
    #[doc = "Bit 5 - MSI ready Interrupt clear"]
    #[inline(always)]
    pub fn msirdyc(&mut self) -> MSIRDYC_W<5> {
        MSIRDYC_W::new(self)
    }
    #[doc = "Bit 4 - PLL ready Interrupt clear"]
    #[inline(always)]
    pub fn pllrdyc(&mut self) -> PLLRDYC_W<4> {
        PLLRDYC_W::new(self)
    }
    #[doc = "Bit 3 - HSE ready Interrupt clear"]
    #[inline(always)]
    pub fn hserdyc(&mut self) -> HSERDYC_W<3> {
        HSERDYC_W::new(self)
    }
    #[doc = "Bit 2 - HSI16 ready Interrupt clear"]
    #[inline(always)]
    pub fn hsi16rdyc(&mut self) -> HSI16RDYC_W<2> {
        HSI16RDYC_W::new(self)
    }
    #[doc = "Bit 1 - LSE ready Interrupt clear"]
    #[inline(always)]
    pub fn lserdyc(&mut self) -> LSERDYC_W<1> {
        LSERDYC_W::new(self)
    }
    #[doc = "Bit 0 - LSI ready Interrupt clear"]
    #[inline(always)]
    pub fn lsirdyc(&mut self) -> LSIRDYC_W<0> {
        LSIRDYC_W::new(self)
    }
    #[doc = "Writes raw bits to the register."]
    #[inline(always)]
    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
        self.0.bits(bits);
        self
    }
}
#[doc = "Clock interrupt clear register\n\nThis register you can [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cicr](index.html) module"]
pub struct CICR_SPEC;
impl crate::RegisterSpec for CICR_SPEC {
    type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [cicr::W](W) writer structure"]
impl crate::Writable for CICR_SPEC {
    type Writer = W;
}
#[doc = "`reset()` method sets CICR to value 0"]
impl crate::Resettable for CICR_SPEC {
    #[inline(always)]
    fn reset_value() -> Self::Ux {
        0
    }
}