rp2040_pac/io_qspi/
intr.rs

1#[doc = "Register `INTR` reader"]
2pub type R = crate::R<INTR_SPEC>;
3#[doc = "Register `INTR` writer"]
4pub type W = crate::W<INTR_SPEC>;
5#[doc = "Field `GPIO_QSPI_SCLK_LEVEL_LOW` reader - "]
6pub type GPIO_QSPI_SCLK_LEVEL_LOW_R = crate::BitReader;
7#[doc = "Field `GPIO_QSPI_SCLK_LEVEL_HIGH` reader - "]
8pub type GPIO_QSPI_SCLK_LEVEL_HIGH_R = crate::BitReader;
9#[doc = "Field `GPIO_QSPI_SCLK_EDGE_LOW` reader - "]
10pub type GPIO_QSPI_SCLK_EDGE_LOW_R = crate::BitReader;
11#[doc = "Field `GPIO_QSPI_SCLK_EDGE_LOW` writer - "]
12pub type GPIO_QSPI_SCLK_EDGE_LOW_W<'a, REG> = crate::BitWriter1C<'a, REG>;
13#[doc = "Field `GPIO_QSPI_SCLK_EDGE_HIGH` reader - "]
14pub type GPIO_QSPI_SCLK_EDGE_HIGH_R = crate::BitReader;
15#[doc = "Field `GPIO_QSPI_SCLK_EDGE_HIGH` writer - "]
16pub type GPIO_QSPI_SCLK_EDGE_HIGH_W<'a, REG> = crate::BitWriter1C<'a, REG>;
17#[doc = "Field `GPIO_QSPI_SS_LEVEL_LOW` reader - "]
18pub type GPIO_QSPI_SS_LEVEL_LOW_R = crate::BitReader;
19#[doc = "Field `GPIO_QSPI_SS_LEVEL_HIGH` reader - "]
20pub type GPIO_QSPI_SS_LEVEL_HIGH_R = crate::BitReader;
21#[doc = "Field `GPIO_QSPI_SS_EDGE_LOW` reader - "]
22pub type GPIO_QSPI_SS_EDGE_LOW_R = crate::BitReader;
23#[doc = "Field `GPIO_QSPI_SS_EDGE_LOW` writer - "]
24pub type GPIO_QSPI_SS_EDGE_LOW_W<'a, REG> = crate::BitWriter1C<'a, REG>;
25#[doc = "Field `GPIO_QSPI_SS_EDGE_HIGH` reader - "]
26pub type GPIO_QSPI_SS_EDGE_HIGH_R = crate::BitReader;
27#[doc = "Field `GPIO_QSPI_SS_EDGE_HIGH` writer - "]
28pub type GPIO_QSPI_SS_EDGE_HIGH_W<'a, REG> = crate::BitWriter1C<'a, REG>;
29#[doc = "Field `GPIO_QSPI_SD0_LEVEL_LOW` reader - "]
30pub type GPIO_QSPI_SD0_LEVEL_LOW_R = crate::BitReader;
31#[doc = "Field `GPIO_QSPI_SD0_LEVEL_HIGH` reader - "]
32pub type GPIO_QSPI_SD0_LEVEL_HIGH_R = crate::BitReader;
33#[doc = "Field `GPIO_QSPI_SD0_EDGE_LOW` reader - "]
34pub type GPIO_QSPI_SD0_EDGE_LOW_R = crate::BitReader;
35#[doc = "Field `GPIO_QSPI_SD0_EDGE_LOW` writer - "]
36pub type GPIO_QSPI_SD0_EDGE_LOW_W<'a, REG> = crate::BitWriter1C<'a, REG>;
37#[doc = "Field `GPIO_QSPI_SD0_EDGE_HIGH` reader - "]
38pub type GPIO_QSPI_SD0_EDGE_HIGH_R = crate::BitReader;
39#[doc = "Field `GPIO_QSPI_SD0_EDGE_HIGH` writer - "]
40pub type GPIO_QSPI_SD0_EDGE_HIGH_W<'a, REG> = crate::BitWriter1C<'a, REG>;
41#[doc = "Field `GPIO_QSPI_SD1_LEVEL_LOW` reader - "]
42pub type GPIO_QSPI_SD1_LEVEL_LOW_R = crate::BitReader;
43#[doc = "Field `GPIO_QSPI_SD1_LEVEL_HIGH` reader - "]
44pub type GPIO_QSPI_SD1_LEVEL_HIGH_R = crate::BitReader;
45#[doc = "Field `GPIO_QSPI_SD1_EDGE_LOW` reader - "]
46pub type GPIO_QSPI_SD1_EDGE_LOW_R = crate::BitReader;
47#[doc = "Field `GPIO_QSPI_SD1_EDGE_LOW` writer - "]
48pub type GPIO_QSPI_SD1_EDGE_LOW_W<'a, REG> = crate::BitWriter1C<'a, REG>;
49#[doc = "Field `GPIO_QSPI_SD1_EDGE_HIGH` reader - "]
50pub type GPIO_QSPI_SD1_EDGE_HIGH_R = crate::BitReader;
51#[doc = "Field `GPIO_QSPI_SD1_EDGE_HIGH` writer - "]
52pub type GPIO_QSPI_SD1_EDGE_HIGH_W<'a, REG> = crate::BitWriter1C<'a, REG>;
53#[doc = "Field `GPIO_QSPI_SD2_LEVEL_LOW` reader - "]
54pub type GPIO_QSPI_SD2_LEVEL_LOW_R = crate::BitReader;
55#[doc = "Field `GPIO_QSPI_SD2_LEVEL_HIGH` reader - "]
56pub type GPIO_QSPI_SD2_LEVEL_HIGH_R = crate::BitReader;
57#[doc = "Field `GPIO_QSPI_SD2_EDGE_LOW` reader - "]
58pub type GPIO_QSPI_SD2_EDGE_LOW_R = crate::BitReader;
59#[doc = "Field `GPIO_QSPI_SD2_EDGE_LOW` writer - "]
60pub type GPIO_QSPI_SD2_EDGE_LOW_W<'a, REG> = crate::BitWriter1C<'a, REG>;
61#[doc = "Field `GPIO_QSPI_SD2_EDGE_HIGH` reader - "]
62pub type GPIO_QSPI_SD2_EDGE_HIGH_R = crate::BitReader;
63#[doc = "Field `GPIO_QSPI_SD2_EDGE_HIGH` writer - "]
64pub type GPIO_QSPI_SD2_EDGE_HIGH_W<'a, REG> = crate::BitWriter1C<'a, REG>;
65#[doc = "Field `GPIO_QSPI_SD3_LEVEL_LOW` reader - "]
66pub type GPIO_QSPI_SD3_LEVEL_LOW_R = crate::BitReader;
67#[doc = "Field `GPIO_QSPI_SD3_LEVEL_HIGH` reader - "]
68pub type GPIO_QSPI_SD3_LEVEL_HIGH_R = crate::BitReader;
69#[doc = "Field `GPIO_QSPI_SD3_EDGE_LOW` reader - "]
70pub type GPIO_QSPI_SD3_EDGE_LOW_R = crate::BitReader;
71#[doc = "Field `GPIO_QSPI_SD3_EDGE_LOW` writer - "]
72pub type GPIO_QSPI_SD3_EDGE_LOW_W<'a, REG> = crate::BitWriter1C<'a, REG>;
73#[doc = "Field `GPIO_QSPI_SD3_EDGE_HIGH` reader - "]
74pub type GPIO_QSPI_SD3_EDGE_HIGH_R = crate::BitReader;
75#[doc = "Field `GPIO_QSPI_SD3_EDGE_HIGH` writer - "]
76pub type GPIO_QSPI_SD3_EDGE_HIGH_W<'a, REG> = crate::BitWriter1C<'a, REG>;
77impl R {
78    #[doc = "Bit 0"]
79    #[inline(always)]
80    pub fn gpio_qspi_sclk_level_low(&self) -> GPIO_QSPI_SCLK_LEVEL_LOW_R {
81        GPIO_QSPI_SCLK_LEVEL_LOW_R::new((self.bits & 1) != 0)
82    }
83    #[doc = "Bit 1"]
84    #[inline(always)]
85    pub fn gpio_qspi_sclk_level_high(&self) -> GPIO_QSPI_SCLK_LEVEL_HIGH_R {
86        GPIO_QSPI_SCLK_LEVEL_HIGH_R::new(((self.bits >> 1) & 1) != 0)
87    }
88    #[doc = "Bit 2"]
89    #[inline(always)]
90    pub fn gpio_qspi_sclk_edge_low(&self) -> GPIO_QSPI_SCLK_EDGE_LOW_R {
91        GPIO_QSPI_SCLK_EDGE_LOW_R::new(((self.bits >> 2) & 1) != 0)
92    }
93    #[doc = "Bit 3"]
94    #[inline(always)]
95    pub fn gpio_qspi_sclk_edge_high(&self) -> GPIO_QSPI_SCLK_EDGE_HIGH_R {
96        GPIO_QSPI_SCLK_EDGE_HIGH_R::new(((self.bits >> 3) & 1) != 0)
97    }
98    #[doc = "Bit 4"]
99    #[inline(always)]
100    pub fn gpio_qspi_ss_level_low(&self) -> GPIO_QSPI_SS_LEVEL_LOW_R {
101        GPIO_QSPI_SS_LEVEL_LOW_R::new(((self.bits >> 4) & 1) != 0)
102    }
103    #[doc = "Bit 5"]
104    #[inline(always)]
105    pub fn gpio_qspi_ss_level_high(&self) -> GPIO_QSPI_SS_LEVEL_HIGH_R {
106        GPIO_QSPI_SS_LEVEL_HIGH_R::new(((self.bits >> 5) & 1) != 0)
107    }
108    #[doc = "Bit 6"]
109    #[inline(always)]
110    pub fn gpio_qspi_ss_edge_low(&self) -> GPIO_QSPI_SS_EDGE_LOW_R {
111        GPIO_QSPI_SS_EDGE_LOW_R::new(((self.bits >> 6) & 1) != 0)
112    }
113    #[doc = "Bit 7"]
114    #[inline(always)]
115    pub fn gpio_qspi_ss_edge_high(&self) -> GPIO_QSPI_SS_EDGE_HIGH_R {
116        GPIO_QSPI_SS_EDGE_HIGH_R::new(((self.bits >> 7) & 1) != 0)
117    }
118    #[doc = "Bit 8"]
119    #[inline(always)]
120    pub fn gpio_qspi_sd0_level_low(&self) -> GPIO_QSPI_SD0_LEVEL_LOW_R {
121        GPIO_QSPI_SD0_LEVEL_LOW_R::new(((self.bits >> 8) & 1) != 0)
122    }
123    #[doc = "Bit 9"]
124    #[inline(always)]
125    pub fn gpio_qspi_sd0_level_high(&self) -> GPIO_QSPI_SD0_LEVEL_HIGH_R {
126        GPIO_QSPI_SD0_LEVEL_HIGH_R::new(((self.bits >> 9) & 1) != 0)
127    }
128    #[doc = "Bit 10"]
129    #[inline(always)]
130    pub fn gpio_qspi_sd0_edge_low(&self) -> GPIO_QSPI_SD0_EDGE_LOW_R {
131        GPIO_QSPI_SD0_EDGE_LOW_R::new(((self.bits >> 10) & 1) != 0)
132    }
133    #[doc = "Bit 11"]
134    #[inline(always)]
135    pub fn gpio_qspi_sd0_edge_high(&self) -> GPIO_QSPI_SD0_EDGE_HIGH_R {
136        GPIO_QSPI_SD0_EDGE_HIGH_R::new(((self.bits >> 11) & 1) != 0)
137    }
138    #[doc = "Bit 12"]
139    #[inline(always)]
140    pub fn gpio_qspi_sd1_level_low(&self) -> GPIO_QSPI_SD1_LEVEL_LOW_R {
141        GPIO_QSPI_SD1_LEVEL_LOW_R::new(((self.bits >> 12) & 1) != 0)
142    }
143    #[doc = "Bit 13"]
144    #[inline(always)]
145    pub fn gpio_qspi_sd1_level_high(&self) -> GPIO_QSPI_SD1_LEVEL_HIGH_R {
146        GPIO_QSPI_SD1_LEVEL_HIGH_R::new(((self.bits >> 13) & 1) != 0)
147    }
148    #[doc = "Bit 14"]
149    #[inline(always)]
150    pub fn gpio_qspi_sd1_edge_low(&self) -> GPIO_QSPI_SD1_EDGE_LOW_R {
151        GPIO_QSPI_SD1_EDGE_LOW_R::new(((self.bits >> 14) & 1) != 0)
152    }
153    #[doc = "Bit 15"]
154    #[inline(always)]
155    pub fn gpio_qspi_sd1_edge_high(&self) -> GPIO_QSPI_SD1_EDGE_HIGH_R {
156        GPIO_QSPI_SD1_EDGE_HIGH_R::new(((self.bits >> 15) & 1) != 0)
157    }
158    #[doc = "Bit 16"]
159    #[inline(always)]
160    pub fn gpio_qspi_sd2_level_low(&self) -> GPIO_QSPI_SD2_LEVEL_LOW_R {
161        GPIO_QSPI_SD2_LEVEL_LOW_R::new(((self.bits >> 16) & 1) != 0)
162    }
163    #[doc = "Bit 17"]
164    #[inline(always)]
165    pub fn gpio_qspi_sd2_level_high(&self) -> GPIO_QSPI_SD2_LEVEL_HIGH_R {
166        GPIO_QSPI_SD2_LEVEL_HIGH_R::new(((self.bits >> 17) & 1) != 0)
167    }
168    #[doc = "Bit 18"]
169    #[inline(always)]
170    pub fn gpio_qspi_sd2_edge_low(&self) -> GPIO_QSPI_SD2_EDGE_LOW_R {
171        GPIO_QSPI_SD2_EDGE_LOW_R::new(((self.bits >> 18) & 1) != 0)
172    }
173    #[doc = "Bit 19"]
174    #[inline(always)]
175    pub fn gpio_qspi_sd2_edge_high(&self) -> GPIO_QSPI_SD2_EDGE_HIGH_R {
176        GPIO_QSPI_SD2_EDGE_HIGH_R::new(((self.bits >> 19) & 1) != 0)
177    }
178    #[doc = "Bit 20"]
179    #[inline(always)]
180    pub fn gpio_qspi_sd3_level_low(&self) -> GPIO_QSPI_SD3_LEVEL_LOW_R {
181        GPIO_QSPI_SD3_LEVEL_LOW_R::new(((self.bits >> 20) & 1) != 0)
182    }
183    #[doc = "Bit 21"]
184    #[inline(always)]
185    pub fn gpio_qspi_sd3_level_high(&self) -> GPIO_QSPI_SD3_LEVEL_HIGH_R {
186        GPIO_QSPI_SD3_LEVEL_HIGH_R::new(((self.bits >> 21) & 1) != 0)
187    }
188    #[doc = "Bit 22"]
189    #[inline(always)]
190    pub fn gpio_qspi_sd3_edge_low(&self) -> GPIO_QSPI_SD3_EDGE_LOW_R {
191        GPIO_QSPI_SD3_EDGE_LOW_R::new(((self.bits >> 22) & 1) != 0)
192    }
193    #[doc = "Bit 23"]
194    #[inline(always)]
195    pub fn gpio_qspi_sd3_edge_high(&self) -> GPIO_QSPI_SD3_EDGE_HIGH_R {
196        GPIO_QSPI_SD3_EDGE_HIGH_R::new(((self.bits >> 23) & 1) != 0)
197    }
198}
199impl W {
200    #[doc = "Bit 2"]
201    #[inline(always)]
202    #[must_use]
203    pub fn gpio_qspi_sclk_edge_low(&mut self) -> GPIO_QSPI_SCLK_EDGE_LOW_W<INTR_SPEC> {
204        GPIO_QSPI_SCLK_EDGE_LOW_W::new(self, 2)
205    }
206    #[doc = "Bit 3"]
207    #[inline(always)]
208    #[must_use]
209    pub fn gpio_qspi_sclk_edge_high(&mut self) -> GPIO_QSPI_SCLK_EDGE_HIGH_W<INTR_SPEC> {
210        GPIO_QSPI_SCLK_EDGE_HIGH_W::new(self, 3)
211    }
212    #[doc = "Bit 6"]
213    #[inline(always)]
214    #[must_use]
215    pub fn gpio_qspi_ss_edge_low(&mut self) -> GPIO_QSPI_SS_EDGE_LOW_W<INTR_SPEC> {
216        GPIO_QSPI_SS_EDGE_LOW_W::new(self, 6)
217    }
218    #[doc = "Bit 7"]
219    #[inline(always)]
220    #[must_use]
221    pub fn gpio_qspi_ss_edge_high(&mut self) -> GPIO_QSPI_SS_EDGE_HIGH_W<INTR_SPEC> {
222        GPIO_QSPI_SS_EDGE_HIGH_W::new(self, 7)
223    }
224    #[doc = "Bit 10"]
225    #[inline(always)]
226    #[must_use]
227    pub fn gpio_qspi_sd0_edge_low(&mut self) -> GPIO_QSPI_SD0_EDGE_LOW_W<INTR_SPEC> {
228        GPIO_QSPI_SD0_EDGE_LOW_W::new(self, 10)
229    }
230    #[doc = "Bit 11"]
231    #[inline(always)]
232    #[must_use]
233    pub fn gpio_qspi_sd0_edge_high(&mut self) -> GPIO_QSPI_SD0_EDGE_HIGH_W<INTR_SPEC> {
234        GPIO_QSPI_SD0_EDGE_HIGH_W::new(self, 11)
235    }
236    #[doc = "Bit 14"]
237    #[inline(always)]
238    #[must_use]
239    pub fn gpio_qspi_sd1_edge_low(&mut self) -> GPIO_QSPI_SD1_EDGE_LOW_W<INTR_SPEC> {
240        GPIO_QSPI_SD1_EDGE_LOW_W::new(self, 14)
241    }
242    #[doc = "Bit 15"]
243    #[inline(always)]
244    #[must_use]
245    pub fn gpio_qspi_sd1_edge_high(&mut self) -> GPIO_QSPI_SD1_EDGE_HIGH_W<INTR_SPEC> {
246        GPIO_QSPI_SD1_EDGE_HIGH_W::new(self, 15)
247    }
248    #[doc = "Bit 18"]
249    #[inline(always)]
250    #[must_use]
251    pub fn gpio_qspi_sd2_edge_low(&mut self) -> GPIO_QSPI_SD2_EDGE_LOW_W<INTR_SPEC> {
252        GPIO_QSPI_SD2_EDGE_LOW_W::new(self, 18)
253    }
254    #[doc = "Bit 19"]
255    #[inline(always)]
256    #[must_use]
257    pub fn gpio_qspi_sd2_edge_high(&mut self) -> GPIO_QSPI_SD2_EDGE_HIGH_W<INTR_SPEC> {
258        GPIO_QSPI_SD2_EDGE_HIGH_W::new(self, 19)
259    }
260    #[doc = "Bit 22"]
261    #[inline(always)]
262    #[must_use]
263    pub fn gpio_qspi_sd3_edge_low(&mut self) -> GPIO_QSPI_SD3_EDGE_LOW_W<INTR_SPEC> {
264        GPIO_QSPI_SD3_EDGE_LOW_W::new(self, 22)
265    }
266    #[doc = "Bit 23"]
267    #[inline(always)]
268    #[must_use]
269    pub fn gpio_qspi_sd3_edge_high(&mut self) -> GPIO_QSPI_SD3_EDGE_HIGH_W<INTR_SPEC> {
270        GPIO_QSPI_SD3_EDGE_HIGH_W::new(self, 23)
271    }
272    #[doc = r" Writes raw bits to the register."]
273    #[doc = r""]
274    #[doc = r" # Safety"]
275    #[doc = r""]
276    #[doc = r" Passing incorrect value can cause undefined behaviour. See reference manual"]
277    #[inline(always)]
278    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
279        self.bits = bits;
280        self
281    }
282}
283#[doc = "Raw Interrupts  
284
285You can [`read`](crate::generic::Reg::read) this register and get [`intr::R`](R).  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`intr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
286pub struct INTR_SPEC;
287impl crate::RegisterSpec for INTR_SPEC {
288    type Ux = u32;
289}
290#[doc = "`read()` method returns [`intr::R`](R) reader structure"]
291impl crate::Readable for INTR_SPEC {}
292#[doc = "`write(|w| ..)` method takes [`intr::W`](W) writer structure"]
293impl crate::Writable for INTR_SPEC {
294    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
295    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0x00cc_cccc;
296}
297#[doc = "`reset()` method sets INTR to value 0"]
298impl crate::Resettable for INTR_SPEC {
299    const RESET_VALUE: u32 = 0;
300}