bcm2711_lpa/gpio/
gpfen1.rs

1#[doc = "Register `GPFEN1` reader"]
2pub type R = crate::R<GPFEN1_SPEC>;
3#[doc = "Register `GPFEN1` writer"]
4pub type W = crate::W<GPFEN1_SPEC>;
5#[doc = "Field `FEN32` reader - Falling edge enabled 32"]
6pub type FEN32_R = crate::BitReader;
7#[doc = "Field `FEN32` writer - Falling edge enabled 32"]
8pub type FEN32_W<'a, REG> = crate::BitWriter<'a, REG>;
9#[doc = "Field `FEN33` reader - Falling edge enabled 33"]
10pub type FEN33_R = crate::BitReader;
11#[doc = "Field `FEN33` writer - Falling edge enabled 33"]
12pub type FEN33_W<'a, REG> = crate::BitWriter<'a, REG>;
13#[doc = "Field `FEN34` reader - Falling edge enabled 34"]
14pub type FEN34_R = crate::BitReader;
15#[doc = "Field `FEN34` writer - Falling edge enabled 34"]
16pub type FEN34_W<'a, REG> = crate::BitWriter<'a, REG>;
17#[doc = "Field `FEN35` reader - Falling edge enabled 35"]
18pub type FEN35_R = crate::BitReader;
19#[doc = "Field `FEN35` writer - Falling edge enabled 35"]
20pub type FEN35_W<'a, REG> = crate::BitWriter<'a, REG>;
21#[doc = "Field `FEN36` reader - Falling edge enabled 36"]
22pub type FEN36_R = crate::BitReader;
23#[doc = "Field `FEN36` writer - Falling edge enabled 36"]
24pub type FEN36_W<'a, REG> = crate::BitWriter<'a, REG>;
25#[doc = "Field `FEN37` reader - Falling edge enabled 37"]
26pub type FEN37_R = crate::BitReader;
27#[doc = "Field `FEN37` writer - Falling edge enabled 37"]
28pub type FEN37_W<'a, REG> = crate::BitWriter<'a, REG>;
29#[doc = "Field `FEN38` reader - Falling edge enabled 38"]
30pub type FEN38_R = crate::BitReader;
31#[doc = "Field `FEN38` writer - Falling edge enabled 38"]
32pub type FEN38_W<'a, REG> = crate::BitWriter<'a, REG>;
33#[doc = "Field `FEN39` reader - Falling edge enabled 39"]
34pub type FEN39_R = crate::BitReader;
35#[doc = "Field `FEN39` writer - Falling edge enabled 39"]
36pub type FEN39_W<'a, REG> = crate::BitWriter<'a, REG>;
37#[doc = "Field `FEN40` reader - Falling edge enabled 40"]
38pub type FEN40_R = crate::BitReader;
39#[doc = "Field `FEN40` writer - Falling edge enabled 40"]
40pub type FEN40_W<'a, REG> = crate::BitWriter<'a, REG>;
41#[doc = "Field `FEN41` reader - Falling edge enabled 41"]
42pub type FEN41_R = crate::BitReader;
43#[doc = "Field `FEN41` writer - Falling edge enabled 41"]
44pub type FEN41_W<'a, REG> = crate::BitWriter<'a, REG>;
45#[doc = "Field `FEN42` reader - Falling edge enabled 42"]
46pub type FEN42_R = crate::BitReader;
47#[doc = "Field `FEN42` writer - Falling edge enabled 42"]
48pub type FEN42_W<'a, REG> = crate::BitWriter<'a, REG>;
49#[doc = "Field `FEN43` reader - Falling edge enabled 43"]
50pub type FEN43_R = crate::BitReader;
51#[doc = "Field `FEN43` writer - Falling edge enabled 43"]
52pub type FEN43_W<'a, REG> = crate::BitWriter<'a, REG>;
53#[doc = "Field `FEN44` reader - Falling edge enabled 44"]
54pub type FEN44_R = crate::BitReader;
55#[doc = "Field `FEN44` writer - Falling edge enabled 44"]
56pub type FEN44_W<'a, REG> = crate::BitWriter<'a, REG>;
57#[doc = "Field `FEN45` reader - Falling edge enabled 45"]
58pub type FEN45_R = crate::BitReader;
59#[doc = "Field `FEN45` writer - Falling edge enabled 45"]
60pub type FEN45_W<'a, REG> = crate::BitWriter<'a, REG>;
61#[doc = "Field `FEN46` reader - Falling edge enabled 46"]
62pub type FEN46_R = crate::BitReader;
63#[doc = "Field `FEN46` writer - Falling edge enabled 46"]
64pub type FEN46_W<'a, REG> = crate::BitWriter<'a, REG>;
65#[doc = "Field `FEN47` reader - Falling edge enabled 47"]
66pub type FEN47_R = crate::BitReader;
67#[doc = "Field `FEN47` writer - Falling edge enabled 47"]
68pub type FEN47_W<'a, REG> = crate::BitWriter<'a, REG>;
69#[doc = "Field `FEN48` reader - Falling edge enabled 48"]
70pub type FEN48_R = crate::BitReader;
71#[doc = "Field `FEN48` writer - Falling edge enabled 48"]
72pub type FEN48_W<'a, REG> = crate::BitWriter<'a, REG>;
73#[doc = "Field `FEN49` reader - Falling edge enabled 49"]
74pub type FEN49_R = crate::BitReader;
75#[doc = "Field `FEN49` writer - Falling edge enabled 49"]
76pub type FEN49_W<'a, REG> = crate::BitWriter<'a, REG>;
77#[doc = "Field `FEN50` reader - Falling edge enabled 50"]
78pub type FEN50_R = crate::BitReader;
79#[doc = "Field `FEN50` writer - Falling edge enabled 50"]
80pub type FEN50_W<'a, REG> = crate::BitWriter<'a, REG>;
81#[doc = "Field `FEN51` reader - Falling edge enabled 51"]
82pub type FEN51_R = crate::BitReader;
83#[doc = "Field `FEN51` writer - Falling edge enabled 51"]
84pub type FEN51_W<'a, REG> = crate::BitWriter<'a, REG>;
85#[doc = "Field `FEN52` reader - Falling edge enabled 52"]
86pub type FEN52_R = crate::BitReader;
87#[doc = "Field `FEN52` writer - Falling edge enabled 52"]
88pub type FEN52_W<'a, REG> = crate::BitWriter<'a, REG>;
89#[doc = "Field `FEN53` reader - Falling edge enabled 53"]
90pub type FEN53_R = crate::BitReader;
91#[doc = "Field `FEN53` writer - Falling edge enabled 53"]
92pub type FEN53_W<'a, REG> = crate::BitWriter<'a, REG>;
93#[doc = "Field `FEN54` reader - Falling edge enabled 54"]
94pub type FEN54_R = crate::BitReader;
95#[doc = "Field `FEN54` writer - Falling edge enabled 54"]
96pub type FEN54_W<'a, REG> = crate::BitWriter<'a, REG>;
97#[doc = "Field `FEN55` reader - Falling edge enabled 55"]
98pub type FEN55_R = crate::BitReader;
99#[doc = "Field `FEN55` writer - Falling edge enabled 55"]
100pub type FEN55_W<'a, REG> = crate::BitWriter<'a, REG>;
101#[doc = "Field `FEN56` reader - Falling edge enabled 56"]
102pub type FEN56_R = crate::BitReader;
103#[doc = "Field `FEN56` writer - Falling edge enabled 56"]
104pub type FEN56_W<'a, REG> = crate::BitWriter<'a, REG>;
105#[doc = "Field `FEN57` reader - Falling edge enabled 57"]
106pub type FEN57_R = crate::BitReader;
107#[doc = "Field `FEN57` writer - Falling edge enabled 57"]
108pub type FEN57_W<'a, REG> = crate::BitWriter<'a, REG>;
109impl R {
110    #[doc = "Bit 0 - Falling edge enabled 32"]
111    #[inline(always)]
112    pub fn fen32(&self) -> FEN32_R {
113        FEN32_R::new((self.bits & 1) != 0)
114    }
115    #[doc = "Bit 1 - Falling edge enabled 33"]
116    #[inline(always)]
117    pub fn fen33(&self) -> FEN33_R {
118        FEN33_R::new(((self.bits >> 1) & 1) != 0)
119    }
120    #[doc = "Bit 2 - Falling edge enabled 34"]
121    #[inline(always)]
122    pub fn fen34(&self) -> FEN34_R {
123        FEN34_R::new(((self.bits >> 2) & 1) != 0)
124    }
125    #[doc = "Bit 3 - Falling edge enabled 35"]
126    #[inline(always)]
127    pub fn fen35(&self) -> FEN35_R {
128        FEN35_R::new(((self.bits >> 3) & 1) != 0)
129    }
130    #[doc = "Bit 4 - Falling edge enabled 36"]
131    #[inline(always)]
132    pub fn fen36(&self) -> FEN36_R {
133        FEN36_R::new(((self.bits >> 4) & 1) != 0)
134    }
135    #[doc = "Bit 5 - Falling edge enabled 37"]
136    #[inline(always)]
137    pub fn fen37(&self) -> FEN37_R {
138        FEN37_R::new(((self.bits >> 5) & 1) != 0)
139    }
140    #[doc = "Bit 6 - Falling edge enabled 38"]
141    #[inline(always)]
142    pub fn fen38(&self) -> FEN38_R {
143        FEN38_R::new(((self.bits >> 6) & 1) != 0)
144    }
145    #[doc = "Bit 7 - Falling edge enabled 39"]
146    #[inline(always)]
147    pub fn fen39(&self) -> FEN39_R {
148        FEN39_R::new(((self.bits >> 7) & 1) != 0)
149    }
150    #[doc = "Bit 8 - Falling edge enabled 40"]
151    #[inline(always)]
152    pub fn fen40(&self) -> FEN40_R {
153        FEN40_R::new(((self.bits >> 8) & 1) != 0)
154    }
155    #[doc = "Bit 9 - Falling edge enabled 41"]
156    #[inline(always)]
157    pub fn fen41(&self) -> FEN41_R {
158        FEN41_R::new(((self.bits >> 9) & 1) != 0)
159    }
160    #[doc = "Bit 10 - Falling edge enabled 42"]
161    #[inline(always)]
162    pub fn fen42(&self) -> FEN42_R {
163        FEN42_R::new(((self.bits >> 10) & 1) != 0)
164    }
165    #[doc = "Bit 11 - Falling edge enabled 43"]
166    #[inline(always)]
167    pub fn fen43(&self) -> FEN43_R {
168        FEN43_R::new(((self.bits >> 11) & 1) != 0)
169    }
170    #[doc = "Bit 12 - Falling edge enabled 44"]
171    #[inline(always)]
172    pub fn fen44(&self) -> FEN44_R {
173        FEN44_R::new(((self.bits >> 12) & 1) != 0)
174    }
175    #[doc = "Bit 13 - Falling edge enabled 45"]
176    #[inline(always)]
177    pub fn fen45(&self) -> FEN45_R {
178        FEN45_R::new(((self.bits >> 13) & 1) != 0)
179    }
180    #[doc = "Bit 14 - Falling edge enabled 46"]
181    #[inline(always)]
182    pub fn fen46(&self) -> FEN46_R {
183        FEN46_R::new(((self.bits >> 14) & 1) != 0)
184    }
185    #[doc = "Bit 15 - Falling edge enabled 47"]
186    #[inline(always)]
187    pub fn fen47(&self) -> FEN47_R {
188        FEN47_R::new(((self.bits >> 15) & 1) != 0)
189    }
190    #[doc = "Bit 16 - Falling edge enabled 48"]
191    #[inline(always)]
192    pub fn fen48(&self) -> FEN48_R {
193        FEN48_R::new(((self.bits >> 16) & 1) != 0)
194    }
195    #[doc = "Bit 17 - Falling edge enabled 49"]
196    #[inline(always)]
197    pub fn fen49(&self) -> FEN49_R {
198        FEN49_R::new(((self.bits >> 17) & 1) != 0)
199    }
200    #[doc = "Bit 18 - Falling edge enabled 50"]
201    #[inline(always)]
202    pub fn fen50(&self) -> FEN50_R {
203        FEN50_R::new(((self.bits >> 18) & 1) != 0)
204    }
205    #[doc = "Bit 19 - Falling edge enabled 51"]
206    #[inline(always)]
207    pub fn fen51(&self) -> FEN51_R {
208        FEN51_R::new(((self.bits >> 19) & 1) != 0)
209    }
210    #[doc = "Bit 20 - Falling edge enabled 52"]
211    #[inline(always)]
212    pub fn fen52(&self) -> FEN52_R {
213        FEN52_R::new(((self.bits >> 20) & 1) != 0)
214    }
215    #[doc = "Bit 21 - Falling edge enabled 53"]
216    #[inline(always)]
217    pub fn fen53(&self) -> FEN53_R {
218        FEN53_R::new(((self.bits >> 21) & 1) != 0)
219    }
220    #[doc = "Bit 22 - Falling edge enabled 54"]
221    #[inline(always)]
222    pub fn fen54(&self) -> FEN54_R {
223        FEN54_R::new(((self.bits >> 22) & 1) != 0)
224    }
225    #[doc = "Bit 23 - Falling edge enabled 55"]
226    #[inline(always)]
227    pub fn fen55(&self) -> FEN55_R {
228        FEN55_R::new(((self.bits >> 23) & 1) != 0)
229    }
230    #[doc = "Bit 24 - Falling edge enabled 56"]
231    #[inline(always)]
232    pub fn fen56(&self) -> FEN56_R {
233        FEN56_R::new(((self.bits >> 24) & 1) != 0)
234    }
235    #[doc = "Bit 25 - Falling edge enabled 57"]
236    #[inline(always)]
237    pub fn fen57(&self) -> FEN57_R {
238        FEN57_R::new(((self.bits >> 25) & 1) != 0)
239    }
240}
241impl core::fmt::Debug for R {
242    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
243        f.debug_struct("GPFEN1")
244            .field("fen32", &format_args!("{}", self.fen32().bit()))
245            .field("fen33", &format_args!("{}", self.fen33().bit()))
246            .field("fen34", &format_args!("{}", self.fen34().bit()))
247            .field("fen35", &format_args!("{}", self.fen35().bit()))
248            .field("fen36", &format_args!("{}", self.fen36().bit()))
249            .field("fen37", &format_args!("{}", self.fen37().bit()))
250            .field("fen38", &format_args!("{}", self.fen38().bit()))
251            .field("fen39", &format_args!("{}", self.fen39().bit()))
252            .field("fen40", &format_args!("{}", self.fen40().bit()))
253            .field("fen41", &format_args!("{}", self.fen41().bit()))
254            .field("fen42", &format_args!("{}", self.fen42().bit()))
255            .field("fen43", &format_args!("{}", self.fen43().bit()))
256            .field("fen44", &format_args!("{}", self.fen44().bit()))
257            .field("fen45", &format_args!("{}", self.fen45().bit()))
258            .field("fen46", &format_args!("{}", self.fen46().bit()))
259            .field("fen47", &format_args!("{}", self.fen47().bit()))
260            .field("fen48", &format_args!("{}", self.fen48().bit()))
261            .field("fen49", &format_args!("{}", self.fen49().bit()))
262            .field("fen50", &format_args!("{}", self.fen50().bit()))
263            .field("fen51", &format_args!("{}", self.fen51().bit()))
264            .field("fen52", &format_args!("{}", self.fen52().bit()))
265            .field("fen53", &format_args!("{}", self.fen53().bit()))
266            .field("fen54", &format_args!("{}", self.fen54().bit()))
267            .field("fen55", &format_args!("{}", self.fen55().bit()))
268            .field("fen56", &format_args!("{}", self.fen56().bit()))
269            .field("fen57", &format_args!("{}", self.fen57().bit()))
270            .finish()
271    }
272}
273impl core::fmt::Debug for crate::generic::Reg<GPFEN1_SPEC> {
274    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
275        core::fmt::Debug::fmt(&self.read(), f)
276    }
277}
278impl W {
279    #[doc = "Bit 0 - Falling edge enabled 32"]
280    #[inline(always)]
281    #[must_use]
282    pub fn fen32(&mut self) -> FEN32_W<GPFEN1_SPEC> {
283        FEN32_W::new(self, 0)
284    }
285    #[doc = "Bit 1 - Falling edge enabled 33"]
286    #[inline(always)]
287    #[must_use]
288    pub fn fen33(&mut self) -> FEN33_W<GPFEN1_SPEC> {
289        FEN33_W::new(self, 1)
290    }
291    #[doc = "Bit 2 - Falling edge enabled 34"]
292    #[inline(always)]
293    #[must_use]
294    pub fn fen34(&mut self) -> FEN34_W<GPFEN1_SPEC> {
295        FEN34_W::new(self, 2)
296    }
297    #[doc = "Bit 3 - Falling edge enabled 35"]
298    #[inline(always)]
299    #[must_use]
300    pub fn fen35(&mut self) -> FEN35_W<GPFEN1_SPEC> {
301        FEN35_W::new(self, 3)
302    }
303    #[doc = "Bit 4 - Falling edge enabled 36"]
304    #[inline(always)]
305    #[must_use]
306    pub fn fen36(&mut self) -> FEN36_W<GPFEN1_SPEC> {
307        FEN36_W::new(self, 4)
308    }
309    #[doc = "Bit 5 - Falling edge enabled 37"]
310    #[inline(always)]
311    #[must_use]
312    pub fn fen37(&mut self) -> FEN37_W<GPFEN1_SPEC> {
313        FEN37_W::new(self, 5)
314    }
315    #[doc = "Bit 6 - Falling edge enabled 38"]
316    #[inline(always)]
317    #[must_use]
318    pub fn fen38(&mut self) -> FEN38_W<GPFEN1_SPEC> {
319        FEN38_W::new(self, 6)
320    }
321    #[doc = "Bit 7 - Falling edge enabled 39"]
322    #[inline(always)]
323    #[must_use]
324    pub fn fen39(&mut self) -> FEN39_W<GPFEN1_SPEC> {
325        FEN39_W::new(self, 7)
326    }
327    #[doc = "Bit 8 - Falling edge enabled 40"]
328    #[inline(always)]
329    #[must_use]
330    pub fn fen40(&mut self) -> FEN40_W<GPFEN1_SPEC> {
331        FEN40_W::new(self, 8)
332    }
333    #[doc = "Bit 9 - Falling edge enabled 41"]
334    #[inline(always)]
335    #[must_use]
336    pub fn fen41(&mut self) -> FEN41_W<GPFEN1_SPEC> {
337        FEN41_W::new(self, 9)
338    }
339    #[doc = "Bit 10 - Falling edge enabled 42"]
340    #[inline(always)]
341    #[must_use]
342    pub fn fen42(&mut self) -> FEN42_W<GPFEN1_SPEC> {
343        FEN42_W::new(self, 10)
344    }
345    #[doc = "Bit 11 - Falling edge enabled 43"]
346    #[inline(always)]
347    #[must_use]
348    pub fn fen43(&mut self) -> FEN43_W<GPFEN1_SPEC> {
349        FEN43_W::new(self, 11)
350    }
351    #[doc = "Bit 12 - Falling edge enabled 44"]
352    #[inline(always)]
353    #[must_use]
354    pub fn fen44(&mut self) -> FEN44_W<GPFEN1_SPEC> {
355        FEN44_W::new(self, 12)
356    }
357    #[doc = "Bit 13 - Falling edge enabled 45"]
358    #[inline(always)]
359    #[must_use]
360    pub fn fen45(&mut self) -> FEN45_W<GPFEN1_SPEC> {
361        FEN45_W::new(self, 13)
362    }
363    #[doc = "Bit 14 - Falling edge enabled 46"]
364    #[inline(always)]
365    #[must_use]
366    pub fn fen46(&mut self) -> FEN46_W<GPFEN1_SPEC> {
367        FEN46_W::new(self, 14)
368    }
369    #[doc = "Bit 15 - Falling edge enabled 47"]
370    #[inline(always)]
371    #[must_use]
372    pub fn fen47(&mut self) -> FEN47_W<GPFEN1_SPEC> {
373        FEN47_W::new(self, 15)
374    }
375    #[doc = "Bit 16 - Falling edge enabled 48"]
376    #[inline(always)]
377    #[must_use]
378    pub fn fen48(&mut self) -> FEN48_W<GPFEN1_SPEC> {
379        FEN48_W::new(self, 16)
380    }
381    #[doc = "Bit 17 - Falling edge enabled 49"]
382    #[inline(always)]
383    #[must_use]
384    pub fn fen49(&mut self) -> FEN49_W<GPFEN1_SPEC> {
385        FEN49_W::new(self, 17)
386    }
387    #[doc = "Bit 18 - Falling edge enabled 50"]
388    #[inline(always)]
389    #[must_use]
390    pub fn fen50(&mut self) -> FEN50_W<GPFEN1_SPEC> {
391        FEN50_W::new(self, 18)
392    }
393    #[doc = "Bit 19 - Falling edge enabled 51"]
394    #[inline(always)]
395    #[must_use]
396    pub fn fen51(&mut self) -> FEN51_W<GPFEN1_SPEC> {
397        FEN51_W::new(self, 19)
398    }
399    #[doc = "Bit 20 - Falling edge enabled 52"]
400    #[inline(always)]
401    #[must_use]
402    pub fn fen52(&mut self) -> FEN52_W<GPFEN1_SPEC> {
403        FEN52_W::new(self, 20)
404    }
405    #[doc = "Bit 21 - Falling edge enabled 53"]
406    #[inline(always)]
407    #[must_use]
408    pub fn fen53(&mut self) -> FEN53_W<GPFEN1_SPEC> {
409        FEN53_W::new(self, 21)
410    }
411    #[doc = "Bit 22 - Falling edge enabled 54"]
412    #[inline(always)]
413    #[must_use]
414    pub fn fen54(&mut self) -> FEN54_W<GPFEN1_SPEC> {
415        FEN54_W::new(self, 22)
416    }
417    #[doc = "Bit 23 - Falling edge enabled 55"]
418    #[inline(always)]
419    #[must_use]
420    pub fn fen55(&mut self) -> FEN55_W<GPFEN1_SPEC> {
421        FEN55_W::new(self, 23)
422    }
423    #[doc = "Bit 24 - Falling edge enabled 56"]
424    #[inline(always)]
425    #[must_use]
426    pub fn fen56(&mut self) -> FEN56_W<GPFEN1_SPEC> {
427        FEN56_W::new(self, 24)
428    }
429    #[doc = "Bit 25 - Falling edge enabled 57"]
430    #[inline(always)]
431    #[must_use]
432    pub fn fen57(&mut self) -> FEN57_W<GPFEN1_SPEC> {
433        FEN57_W::new(self, 25)
434    }
435    #[doc = r" Writes raw bits to the register."]
436    #[doc = r""]
437    #[doc = r" # Safety"]
438    #[doc = r""]
439    #[doc = r" Passing incorrect value can cause undefined behaviour. See reference manual"]
440    #[inline(always)]
441    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
442        self.bits = bits;
443        self
444    }
445}
446#[doc = "GPIO Pin Falling Edge Detect Enable 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpfen1::R`](R).  You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`gpfen1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
447pub struct GPFEN1_SPEC;
448impl crate::RegisterSpec for GPFEN1_SPEC {
449    type Ux = u32;
450}
451#[doc = "`read()` method returns [`gpfen1::R`](R) reader structure"]
452impl crate::Readable for GPFEN1_SPEC {}
453#[doc = "`write(|w| ..)` method takes [`gpfen1::W`](W) writer structure"]
454impl crate::Writable for GPFEN1_SPEC {
455    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
456    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
457}