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
135
136
137
138
139
140
141
142
143
#[doc = "Register `DEVIFR` writer"]
pub struct W(crate::W<DEVIFR_SPEC>);
impl core::ops::Deref for W {
    type Target = crate::W<DEVIFR_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<DEVIFR_SPEC>> for W {
    #[inline(always)]
    fn from(writer: crate::W<DEVIFR_SPEC>) -> Self {
        W(writer)
    }
}
#[doc = "Field `SUSPS` writer - Suspend Interrupt Set"]
pub type SUSPS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `MSOFS` writer - Micro Start of Frame Interrupt Set"]
pub type MSOFS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `SOFS` writer - Start of Frame Interrupt Set"]
pub type SOFS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `EORSTS` writer - End of Reset Interrupt Set"]
pub type EORSTS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `WAKEUPS` writer - Wake-Up Interrupt Set"]
pub type WAKEUPS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `EORSMS` writer - End of Resume Interrupt Set"]
pub type EORSMS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `UPRSMS` writer - Upstream Resume Interrupt Set"]
pub type UPRSMS_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_1` writer - DMA Channel 1 Interrupt Set"]
pub type DMA_1_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_2` writer - DMA Channel 2 Interrupt Set"]
pub type DMA_2_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_3` writer - DMA Channel 3 Interrupt Set"]
pub type DMA_3_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_4` writer - DMA Channel 4 Interrupt Set"]
pub type DMA_4_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_5` writer - DMA Channel 5 Interrupt Set"]
pub type DMA_5_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_6` writer - DMA Channel 6 Interrupt Set"]
pub type DMA_6_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
#[doc = "Field `DMA_7` writer - DMA Channel 7 Interrupt Set"]
pub type DMA_7_W<'a, const O: u8> = crate::BitWriter<'a, u32, DEVIFR_SPEC, bool, O>;
impl W {
    #[doc = "Bit 0 - Suspend Interrupt Set"]
    #[inline(always)]
    pub fn susps(&mut self) -> SUSPS_W<0> {
        SUSPS_W::new(self)
    }
    #[doc = "Bit 1 - Micro Start of Frame Interrupt Set"]
    #[inline(always)]
    pub fn msofs(&mut self) -> MSOFS_W<1> {
        MSOFS_W::new(self)
    }
    #[doc = "Bit 2 - Start of Frame Interrupt Set"]
    #[inline(always)]
    pub fn sofs(&mut self) -> SOFS_W<2> {
        SOFS_W::new(self)
    }
    #[doc = "Bit 3 - End of Reset Interrupt Set"]
    #[inline(always)]
    pub fn eorsts(&mut self) -> EORSTS_W<3> {
        EORSTS_W::new(self)
    }
    #[doc = "Bit 4 - Wake-Up Interrupt Set"]
    #[inline(always)]
    pub fn wakeups(&mut self) -> WAKEUPS_W<4> {
        WAKEUPS_W::new(self)
    }
    #[doc = "Bit 5 - End of Resume Interrupt Set"]
    #[inline(always)]
    pub fn eorsms(&mut self) -> EORSMS_W<5> {
        EORSMS_W::new(self)
    }
    #[doc = "Bit 6 - Upstream Resume Interrupt Set"]
    #[inline(always)]
    pub fn uprsms(&mut self) -> UPRSMS_W<6> {
        UPRSMS_W::new(self)
    }
    #[doc = "Bit 25 - DMA Channel 1 Interrupt Set"]
    #[inline(always)]
    pub fn dma_1(&mut self) -> DMA_1_W<25> {
        DMA_1_W::new(self)
    }
    #[doc = "Bit 26 - DMA Channel 2 Interrupt Set"]
    #[inline(always)]
    pub fn dma_2(&mut self) -> DMA_2_W<26> {
        DMA_2_W::new(self)
    }
    #[doc = "Bit 27 - DMA Channel 3 Interrupt Set"]
    #[inline(always)]
    pub fn dma_3(&mut self) -> DMA_3_W<27> {
        DMA_3_W::new(self)
    }
    #[doc = "Bit 28 - DMA Channel 4 Interrupt Set"]
    #[inline(always)]
    pub fn dma_4(&mut self) -> DMA_4_W<28> {
        DMA_4_W::new(self)
    }
    #[doc = "Bit 29 - DMA Channel 5 Interrupt Set"]
    #[inline(always)]
    pub fn dma_5(&mut self) -> DMA_5_W<29> {
        DMA_5_W::new(self)
    }
    #[doc = "Bit 30 - DMA Channel 6 Interrupt Set"]
    #[inline(always)]
    pub fn dma_6(&mut self) -> DMA_6_W<30> {
        DMA_6_W::new(self)
    }
    #[doc = "Bit 31 - DMA Channel 7 Interrupt Set"]
    #[inline(always)]
    pub fn dma_7(&mut self) -> DMA_7_W<31> {
        DMA_7_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 = "Device Global Interrupt Set 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 [devifr](index.html) module"]
pub struct DEVIFR_SPEC;
impl crate::RegisterSpec for DEVIFR_SPEC {
    type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [devifr::W](W) writer structure"]
impl crate::Writable for DEVIFR_SPEC {
    type Writer = W;
}
#[doc = "`reset()` method sets DEVIFR to value 0"]
impl crate::Resettable for DEVIFR_SPEC {
    #[inline(always)]
    fn reset_value() -> Self::Ux {
        0
    }
}