efm32gg890_pac/ebi/
route.rs

1#[doc = "Register `ROUTE` reader"]
2pub struct R(crate::R<ROUTE_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<ROUTE_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<ROUTE_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<ROUTE_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `ROUTE` writer"]
17pub struct W(crate::W<ROUTE_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<ROUTE_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<ROUTE_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<ROUTE_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `EBIPEN` reader - EBI Pin Enable"]
38pub type EBIPEN_R = crate::BitReader<bool>;
39#[doc = "Field `EBIPEN` writer - EBI Pin Enable"]
40pub type EBIPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 0>;
41#[doc = "Field `CS0PEN` reader - EBI_CS0 Pin Enable"]
42pub type CS0PEN_R = crate::BitReader<bool>;
43#[doc = "Field `CS0PEN` writer - EBI_CS0 Pin Enable"]
44pub type CS0PEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 1>;
45#[doc = "Field `CS1PEN` reader - EBI_CS1 Pin Enable"]
46pub type CS1PEN_R = crate::BitReader<bool>;
47#[doc = "Field `CS1PEN` writer - EBI_CS1 Pin Enable"]
48pub type CS1PEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 2>;
49#[doc = "Field `CS2PEN` reader - EBI_CS2 Pin Enable"]
50pub type CS2PEN_R = crate::BitReader<bool>;
51#[doc = "Field `CS2PEN` writer - EBI_CS2 Pin Enable"]
52pub type CS2PEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 3>;
53#[doc = "Field `CS3PEN` reader - EBI_CS3 Pin Enable"]
54pub type CS3PEN_R = crate::BitReader<bool>;
55#[doc = "Field `CS3PEN` writer - EBI_CS3 Pin Enable"]
56pub type CS3PEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 4>;
57#[doc = "Field `ALEPEN` reader - EBI_ALE Pin Enable"]
58pub type ALEPEN_R = crate::BitReader<bool>;
59#[doc = "Field `ALEPEN` writer - EBI_ALE Pin Enable"]
60pub type ALEPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 5>;
61#[doc = "Field `ARDYPEN` reader - EBI_ARDY Pin Enable"]
62pub type ARDYPEN_R = crate::BitReader<bool>;
63#[doc = "Field `ARDYPEN` writer - EBI_ARDY Pin Enable"]
64pub type ARDYPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 6>;
65#[doc = "Field `BLPEN` reader - EBI_BL\\[1:0\\]
66Pin Enable"]
67pub type BLPEN_R = crate::BitReader<bool>;
68#[doc = "Field `BLPEN` writer - EBI_BL\\[1:0\\]
69Pin Enable"]
70pub type BLPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 7>;
71#[doc = "Field `NANDPEN` reader - NANDRE and NANDWE Pin Enable"]
72pub type NANDPEN_R = crate::BitReader<bool>;
73#[doc = "Field `NANDPEN` writer - NANDRE and NANDWE Pin Enable"]
74pub type NANDPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 12>;
75#[doc = "Sets the lower bound for EBI_A enabling\n\nValue on reset: 0"]
76#[derive(Clone, Copy, Debug, PartialEq)]
77#[repr(u8)]
78pub enum ALB_A {
79    #[doc = "0: Address lines from EBI_A\\[0\\]
80and upwards can be enabled via APEN."]
81    A0 = 0,
82    #[doc = "1: Address lines from EBI_A\\[8\\]
83and upwards can be enabled via APEN."]
84    A8 = 1,
85    #[doc = "2: Address lines from EBI_A\\[16\\]
86and upwards can be enabled via APEN."]
87    A16 = 2,
88    #[doc = "3: Address lines from EBI_A\\[24\\]
89and upwards can be enabled via APEN."]
90    A24 = 3,
91}
92impl From<ALB_A> for u8 {
93    #[inline(always)]
94    fn from(variant: ALB_A) -> Self {
95        variant as _
96    }
97}
98#[doc = "Field `ALB` reader - Sets the lower bound for EBI_A enabling"]
99pub type ALB_R = crate::FieldReader<u8, ALB_A>;
100impl ALB_R {
101    #[doc = "Get enumerated values variant"]
102    #[inline(always)]
103    pub fn variant(&self) -> ALB_A {
104        match self.bits {
105            0 => ALB_A::A0,
106            1 => ALB_A::A8,
107            2 => ALB_A::A16,
108            3 => ALB_A::A24,
109            _ => unreachable!(),
110        }
111    }
112    #[doc = "Checks if the value of the field is `A0`"]
113    #[inline(always)]
114    pub fn is_a0(&self) -> bool {
115        *self == ALB_A::A0
116    }
117    #[doc = "Checks if the value of the field is `A8`"]
118    #[inline(always)]
119    pub fn is_a8(&self) -> bool {
120        *self == ALB_A::A8
121    }
122    #[doc = "Checks if the value of the field is `A16`"]
123    #[inline(always)]
124    pub fn is_a16(&self) -> bool {
125        *self == ALB_A::A16
126    }
127    #[doc = "Checks if the value of the field is `A24`"]
128    #[inline(always)]
129    pub fn is_a24(&self) -> bool {
130        *self == ALB_A::A24
131    }
132}
133#[doc = "Field `ALB` writer - Sets the lower bound for EBI_A enabling"]
134pub type ALB_W<'a> = crate::FieldWriterSafe<'a, u32, ROUTE_SPEC, u8, ALB_A, 2, 16>;
135impl<'a> ALB_W<'a> {
136    #[doc = "Address lines from EBI_A\\[0\\]
137and upwards can be enabled via APEN."]
138    #[inline(always)]
139    pub fn a0(self) -> &'a mut W {
140        self.variant(ALB_A::A0)
141    }
142    #[doc = "Address lines from EBI_A\\[8\\]
143and upwards can be enabled via APEN."]
144    #[inline(always)]
145    pub fn a8(self) -> &'a mut W {
146        self.variant(ALB_A::A8)
147    }
148    #[doc = "Address lines from EBI_A\\[16\\]
149and upwards can be enabled via APEN."]
150    #[inline(always)]
151    pub fn a16(self) -> &'a mut W {
152        self.variant(ALB_A::A16)
153    }
154    #[doc = "Address lines from EBI_A\\[24\\]
155and upwards can be enabled via APEN."]
156    #[inline(always)]
157    pub fn a24(self) -> &'a mut W {
158        self.variant(ALB_A::A24)
159    }
160}
161#[doc = "EBI_A Pin Enable\n\nValue on reset: 0"]
162#[derive(Clone, Copy, Debug, PartialEq)]
163#[repr(u8)]
164pub enum APEN_A {
165    #[doc = "0: All EBI_A pins are disabled."]
166    A0 = 0,
167    #[doc = "5: EBI_A\\[4:L\\]
168pins enabled."]
169    A5 = 5,
170    #[doc = "6: EBI_A\\[5:L\\]
171pins enabled."]
172    A6 = 6,
173    #[doc = "7: EBI_A\\[6:L\\]
174pins enabled."]
175    A7 = 7,
176    #[doc = "8: EBI_A\\[7:L\\]
177pins enabled."]
178    A8 = 8,
179    #[doc = "9: EBI_A\\[8:L\\]
180pins enabled."]
181    A9 = 9,
182    #[doc = "10: EBI_A\\[9:L\\]
183pins enabled."]
184    A10 = 10,
185    #[doc = "11: EBI_A\\[10:L\\]
186pins enabled."]
187    A11 = 11,
188    #[doc = "12: EBI_A\\[11:L\\]
189pins enabled."]
190    A12 = 12,
191    #[doc = "13: EBI_A\\[12:L\\]
192pins enabled."]
193    A13 = 13,
194    #[doc = "14: EBI_A\\[13:L\\]
195pins enabled."]
196    A14 = 14,
197    #[doc = "15: EBI_A\\[14:L\\]
198pins enabled."]
199    A15 = 15,
200    #[doc = "16: EBI_A\\[15:L\\]
201pins enabled."]
202    A16 = 16,
203    #[doc = "17: EBI_A\\[16:L\\]
204pins enabled."]
205    A17 = 17,
206    #[doc = "18: EBI_A\\[17:L\\]
207pins enabled."]
208    A18 = 18,
209    #[doc = "19: EBI_A\\[18:L\\]
210pins enabled."]
211    A19 = 19,
212    #[doc = "20: EBI_A\\[19:L\\]
213pins enabled."]
214    A20 = 20,
215    #[doc = "21: EBI_A\\[20:L\\]
216pins enabled."]
217    A21 = 21,
218    #[doc = "22: EBI_A\\[21:L\\]
219pins enabled."]
220    A22 = 22,
221    #[doc = "23: EBI_A\\[22:L\\]
222pins enabled."]
223    A23 = 23,
224    #[doc = "24: EBI_A\\[23:L\\]
225pins enabled."]
226    A24 = 24,
227    #[doc = "25: EBI_A\\[24:L\\]
228pins enabled."]
229    A25 = 25,
230    #[doc = "26: EBI_A\\[25:L\\]
231pins enabled."]
232    A26 = 26,
233    #[doc = "27: EBI_A\\[26:L\\]
234pins enabled."]
235    A27 = 27,
236    #[doc = "28: EBI_A\\[27:L\\]
237pins enabled."]
238    A28 = 28,
239}
240impl From<APEN_A> for u8 {
241    #[inline(always)]
242    fn from(variant: APEN_A) -> Self {
243        variant as _
244    }
245}
246#[doc = "Field `APEN` reader - EBI_A Pin Enable"]
247pub type APEN_R = crate::FieldReader<u8, APEN_A>;
248impl APEN_R {
249    #[doc = "Get enumerated values variant"]
250    #[inline(always)]
251    pub fn variant(&self) -> Option<APEN_A> {
252        match self.bits {
253            0 => Some(APEN_A::A0),
254            5 => Some(APEN_A::A5),
255            6 => Some(APEN_A::A6),
256            7 => Some(APEN_A::A7),
257            8 => Some(APEN_A::A8),
258            9 => Some(APEN_A::A9),
259            10 => Some(APEN_A::A10),
260            11 => Some(APEN_A::A11),
261            12 => Some(APEN_A::A12),
262            13 => Some(APEN_A::A13),
263            14 => Some(APEN_A::A14),
264            15 => Some(APEN_A::A15),
265            16 => Some(APEN_A::A16),
266            17 => Some(APEN_A::A17),
267            18 => Some(APEN_A::A18),
268            19 => Some(APEN_A::A19),
269            20 => Some(APEN_A::A20),
270            21 => Some(APEN_A::A21),
271            22 => Some(APEN_A::A22),
272            23 => Some(APEN_A::A23),
273            24 => Some(APEN_A::A24),
274            25 => Some(APEN_A::A25),
275            26 => Some(APEN_A::A26),
276            27 => Some(APEN_A::A27),
277            28 => Some(APEN_A::A28),
278            _ => None,
279        }
280    }
281    #[doc = "Checks if the value of the field is `A0`"]
282    #[inline(always)]
283    pub fn is_a0(&self) -> bool {
284        *self == APEN_A::A0
285    }
286    #[doc = "Checks if the value of the field is `A5`"]
287    #[inline(always)]
288    pub fn is_a5(&self) -> bool {
289        *self == APEN_A::A5
290    }
291    #[doc = "Checks if the value of the field is `A6`"]
292    #[inline(always)]
293    pub fn is_a6(&self) -> bool {
294        *self == APEN_A::A6
295    }
296    #[doc = "Checks if the value of the field is `A7`"]
297    #[inline(always)]
298    pub fn is_a7(&self) -> bool {
299        *self == APEN_A::A7
300    }
301    #[doc = "Checks if the value of the field is `A8`"]
302    #[inline(always)]
303    pub fn is_a8(&self) -> bool {
304        *self == APEN_A::A8
305    }
306    #[doc = "Checks if the value of the field is `A9`"]
307    #[inline(always)]
308    pub fn is_a9(&self) -> bool {
309        *self == APEN_A::A9
310    }
311    #[doc = "Checks if the value of the field is `A10`"]
312    #[inline(always)]
313    pub fn is_a10(&self) -> bool {
314        *self == APEN_A::A10
315    }
316    #[doc = "Checks if the value of the field is `A11`"]
317    #[inline(always)]
318    pub fn is_a11(&self) -> bool {
319        *self == APEN_A::A11
320    }
321    #[doc = "Checks if the value of the field is `A12`"]
322    #[inline(always)]
323    pub fn is_a12(&self) -> bool {
324        *self == APEN_A::A12
325    }
326    #[doc = "Checks if the value of the field is `A13`"]
327    #[inline(always)]
328    pub fn is_a13(&self) -> bool {
329        *self == APEN_A::A13
330    }
331    #[doc = "Checks if the value of the field is `A14`"]
332    #[inline(always)]
333    pub fn is_a14(&self) -> bool {
334        *self == APEN_A::A14
335    }
336    #[doc = "Checks if the value of the field is `A15`"]
337    #[inline(always)]
338    pub fn is_a15(&self) -> bool {
339        *self == APEN_A::A15
340    }
341    #[doc = "Checks if the value of the field is `A16`"]
342    #[inline(always)]
343    pub fn is_a16(&self) -> bool {
344        *self == APEN_A::A16
345    }
346    #[doc = "Checks if the value of the field is `A17`"]
347    #[inline(always)]
348    pub fn is_a17(&self) -> bool {
349        *self == APEN_A::A17
350    }
351    #[doc = "Checks if the value of the field is `A18`"]
352    #[inline(always)]
353    pub fn is_a18(&self) -> bool {
354        *self == APEN_A::A18
355    }
356    #[doc = "Checks if the value of the field is `A19`"]
357    #[inline(always)]
358    pub fn is_a19(&self) -> bool {
359        *self == APEN_A::A19
360    }
361    #[doc = "Checks if the value of the field is `A20`"]
362    #[inline(always)]
363    pub fn is_a20(&self) -> bool {
364        *self == APEN_A::A20
365    }
366    #[doc = "Checks if the value of the field is `A21`"]
367    #[inline(always)]
368    pub fn is_a21(&self) -> bool {
369        *self == APEN_A::A21
370    }
371    #[doc = "Checks if the value of the field is `A22`"]
372    #[inline(always)]
373    pub fn is_a22(&self) -> bool {
374        *self == APEN_A::A22
375    }
376    #[doc = "Checks if the value of the field is `A23`"]
377    #[inline(always)]
378    pub fn is_a23(&self) -> bool {
379        *self == APEN_A::A23
380    }
381    #[doc = "Checks if the value of the field is `A24`"]
382    #[inline(always)]
383    pub fn is_a24(&self) -> bool {
384        *self == APEN_A::A24
385    }
386    #[doc = "Checks if the value of the field is `A25`"]
387    #[inline(always)]
388    pub fn is_a25(&self) -> bool {
389        *self == APEN_A::A25
390    }
391    #[doc = "Checks if the value of the field is `A26`"]
392    #[inline(always)]
393    pub fn is_a26(&self) -> bool {
394        *self == APEN_A::A26
395    }
396    #[doc = "Checks if the value of the field is `A27`"]
397    #[inline(always)]
398    pub fn is_a27(&self) -> bool {
399        *self == APEN_A::A27
400    }
401    #[doc = "Checks if the value of the field is `A28`"]
402    #[inline(always)]
403    pub fn is_a28(&self) -> bool {
404        *self == APEN_A::A28
405    }
406}
407#[doc = "Field `APEN` writer - EBI_A Pin Enable"]
408pub type APEN_W<'a> = crate::FieldWriter<'a, u32, ROUTE_SPEC, u8, APEN_A, 5, 18>;
409impl<'a> APEN_W<'a> {
410    #[doc = "All EBI_A pins are disabled."]
411    #[inline(always)]
412    pub fn a0(self) -> &'a mut W {
413        self.variant(APEN_A::A0)
414    }
415    #[doc = "EBI_A\\[4:L\\]
416pins enabled."]
417    #[inline(always)]
418    pub fn a5(self) -> &'a mut W {
419        self.variant(APEN_A::A5)
420    }
421    #[doc = "EBI_A\\[5:L\\]
422pins enabled."]
423    #[inline(always)]
424    pub fn a6(self) -> &'a mut W {
425        self.variant(APEN_A::A6)
426    }
427    #[doc = "EBI_A\\[6:L\\]
428pins enabled."]
429    #[inline(always)]
430    pub fn a7(self) -> &'a mut W {
431        self.variant(APEN_A::A7)
432    }
433    #[doc = "EBI_A\\[7:L\\]
434pins enabled."]
435    #[inline(always)]
436    pub fn a8(self) -> &'a mut W {
437        self.variant(APEN_A::A8)
438    }
439    #[doc = "EBI_A\\[8:L\\]
440pins enabled."]
441    #[inline(always)]
442    pub fn a9(self) -> &'a mut W {
443        self.variant(APEN_A::A9)
444    }
445    #[doc = "EBI_A\\[9:L\\]
446pins enabled."]
447    #[inline(always)]
448    pub fn a10(self) -> &'a mut W {
449        self.variant(APEN_A::A10)
450    }
451    #[doc = "EBI_A\\[10:L\\]
452pins enabled."]
453    #[inline(always)]
454    pub fn a11(self) -> &'a mut W {
455        self.variant(APEN_A::A11)
456    }
457    #[doc = "EBI_A\\[11:L\\]
458pins enabled."]
459    #[inline(always)]
460    pub fn a12(self) -> &'a mut W {
461        self.variant(APEN_A::A12)
462    }
463    #[doc = "EBI_A\\[12:L\\]
464pins enabled."]
465    #[inline(always)]
466    pub fn a13(self) -> &'a mut W {
467        self.variant(APEN_A::A13)
468    }
469    #[doc = "EBI_A\\[13:L\\]
470pins enabled."]
471    #[inline(always)]
472    pub fn a14(self) -> &'a mut W {
473        self.variant(APEN_A::A14)
474    }
475    #[doc = "EBI_A\\[14:L\\]
476pins enabled."]
477    #[inline(always)]
478    pub fn a15(self) -> &'a mut W {
479        self.variant(APEN_A::A15)
480    }
481    #[doc = "EBI_A\\[15:L\\]
482pins enabled."]
483    #[inline(always)]
484    pub fn a16(self) -> &'a mut W {
485        self.variant(APEN_A::A16)
486    }
487    #[doc = "EBI_A\\[16:L\\]
488pins enabled."]
489    #[inline(always)]
490    pub fn a17(self) -> &'a mut W {
491        self.variant(APEN_A::A17)
492    }
493    #[doc = "EBI_A\\[17:L\\]
494pins enabled."]
495    #[inline(always)]
496    pub fn a18(self) -> &'a mut W {
497        self.variant(APEN_A::A18)
498    }
499    #[doc = "EBI_A\\[18:L\\]
500pins enabled."]
501    #[inline(always)]
502    pub fn a19(self) -> &'a mut W {
503        self.variant(APEN_A::A19)
504    }
505    #[doc = "EBI_A\\[19:L\\]
506pins enabled."]
507    #[inline(always)]
508    pub fn a20(self) -> &'a mut W {
509        self.variant(APEN_A::A20)
510    }
511    #[doc = "EBI_A\\[20:L\\]
512pins enabled."]
513    #[inline(always)]
514    pub fn a21(self) -> &'a mut W {
515        self.variant(APEN_A::A21)
516    }
517    #[doc = "EBI_A\\[21:L\\]
518pins enabled."]
519    #[inline(always)]
520    pub fn a22(self) -> &'a mut W {
521        self.variant(APEN_A::A22)
522    }
523    #[doc = "EBI_A\\[22:L\\]
524pins enabled."]
525    #[inline(always)]
526    pub fn a23(self) -> &'a mut W {
527        self.variant(APEN_A::A23)
528    }
529    #[doc = "EBI_A\\[23:L\\]
530pins enabled."]
531    #[inline(always)]
532    pub fn a24(self) -> &'a mut W {
533        self.variant(APEN_A::A24)
534    }
535    #[doc = "EBI_A\\[24:L\\]
536pins enabled."]
537    #[inline(always)]
538    pub fn a25(self) -> &'a mut W {
539        self.variant(APEN_A::A25)
540    }
541    #[doc = "EBI_A\\[25:L\\]
542pins enabled."]
543    #[inline(always)]
544    pub fn a26(self) -> &'a mut W {
545        self.variant(APEN_A::A26)
546    }
547    #[doc = "EBI_A\\[26:L\\]
548pins enabled."]
549    #[inline(always)]
550    pub fn a27(self) -> &'a mut W {
551        self.variant(APEN_A::A27)
552    }
553    #[doc = "EBI_A\\[27:L\\]
554pins enabled."]
555    #[inline(always)]
556    pub fn a28(self) -> &'a mut W {
557        self.variant(APEN_A::A28)
558    }
559}
560#[doc = "Field `TFTPEN` reader - EBI_TFT Pin Enable"]
561pub type TFTPEN_R = crate::BitReader<bool>;
562#[doc = "Field `TFTPEN` writer - EBI_TFT Pin Enable"]
563pub type TFTPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 24>;
564#[doc = "Field `DATAENPEN` reader - EBI_TFT Pin Enable"]
565pub type DATAENPEN_R = crate::BitReader<bool>;
566#[doc = "Field `DATAENPEN` writer - EBI_TFT Pin Enable"]
567pub type DATAENPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 25>;
568#[doc = "Field `CSTFTPEN` reader - EBI_CSTFT Pin Enable"]
569pub type CSTFTPEN_R = crate::BitReader<bool>;
570#[doc = "Field `CSTFTPEN` writer - EBI_CSTFT Pin Enable"]
571pub type CSTFTPEN_W<'a> = crate::BitWriter<'a, u32, ROUTE_SPEC, bool, 26>;
572#[doc = "I/O Location\n\nValue on reset: 0"]
573#[derive(Clone, Copy, Debug, PartialEq)]
574#[repr(u8)]
575pub enum LOCATION_A {
576    #[doc = "0: Location 0"]
577    LOC0 = 0,
578    #[doc = "1: Location 1"]
579    LOC1 = 1,
580    #[doc = "2: Location 2"]
581    LOC2 = 2,
582}
583impl From<LOCATION_A> for u8 {
584    #[inline(always)]
585    fn from(variant: LOCATION_A) -> Self {
586        variant as _
587    }
588}
589#[doc = "Field `LOCATION` reader - I/O Location"]
590pub type LOCATION_R = crate::FieldReader<u8, LOCATION_A>;
591impl LOCATION_R {
592    #[doc = "Get enumerated values variant"]
593    #[inline(always)]
594    pub fn variant(&self) -> Option<LOCATION_A> {
595        match self.bits {
596            0 => Some(LOCATION_A::LOC0),
597            1 => Some(LOCATION_A::LOC1),
598            2 => Some(LOCATION_A::LOC2),
599            _ => None,
600        }
601    }
602    #[doc = "Checks if the value of the field is `LOC0`"]
603    #[inline(always)]
604    pub fn is_loc0(&self) -> bool {
605        *self == LOCATION_A::LOC0
606    }
607    #[doc = "Checks if the value of the field is `LOC1`"]
608    #[inline(always)]
609    pub fn is_loc1(&self) -> bool {
610        *self == LOCATION_A::LOC1
611    }
612    #[doc = "Checks if the value of the field is `LOC2`"]
613    #[inline(always)]
614    pub fn is_loc2(&self) -> bool {
615        *self == LOCATION_A::LOC2
616    }
617}
618#[doc = "Field `LOCATION` writer - I/O Location"]
619pub type LOCATION_W<'a> = crate::FieldWriter<'a, u32, ROUTE_SPEC, u8, LOCATION_A, 3, 28>;
620impl<'a> LOCATION_W<'a> {
621    #[doc = "Location 0"]
622    #[inline(always)]
623    pub fn loc0(self) -> &'a mut W {
624        self.variant(LOCATION_A::LOC0)
625    }
626    #[doc = "Location 1"]
627    #[inline(always)]
628    pub fn loc1(self) -> &'a mut W {
629        self.variant(LOCATION_A::LOC1)
630    }
631    #[doc = "Location 2"]
632    #[inline(always)]
633    pub fn loc2(self) -> &'a mut W {
634        self.variant(LOCATION_A::LOC2)
635    }
636}
637impl R {
638    #[doc = "Bit 0 - EBI Pin Enable"]
639    #[inline(always)]
640    pub fn ebipen(&self) -> EBIPEN_R {
641        EBIPEN_R::new((self.bits & 1) != 0)
642    }
643    #[doc = "Bit 1 - EBI_CS0 Pin Enable"]
644    #[inline(always)]
645    pub fn cs0pen(&self) -> CS0PEN_R {
646        CS0PEN_R::new(((self.bits >> 1) & 1) != 0)
647    }
648    #[doc = "Bit 2 - EBI_CS1 Pin Enable"]
649    #[inline(always)]
650    pub fn cs1pen(&self) -> CS1PEN_R {
651        CS1PEN_R::new(((self.bits >> 2) & 1) != 0)
652    }
653    #[doc = "Bit 3 - EBI_CS2 Pin Enable"]
654    #[inline(always)]
655    pub fn cs2pen(&self) -> CS2PEN_R {
656        CS2PEN_R::new(((self.bits >> 3) & 1) != 0)
657    }
658    #[doc = "Bit 4 - EBI_CS3 Pin Enable"]
659    #[inline(always)]
660    pub fn cs3pen(&self) -> CS3PEN_R {
661        CS3PEN_R::new(((self.bits >> 4) & 1) != 0)
662    }
663    #[doc = "Bit 5 - EBI_ALE Pin Enable"]
664    #[inline(always)]
665    pub fn alepen(&self) -> ALEPEN_R {
666        ALEPEN_R::new(((self.bits >> 5) & 1) != 0)
667    }
668    #[doc = "Bit 6 - EBI_ARDY Pin Enable"]
669    #[inline(always)]
670    pub fn ardypen(&self) -> ARDYPEN_R {
671        ARDYPEN_R::new(((self.bits >> 6) & 1) != 0)
672    }
673    #[doc = "Bit 7 - EBI_BL\\[1:0\\]
674Pin Enable"]
675    #[inline(always)]
676    pub fn blpen(&self) -> BLPEN_R {
677        BLPEN_R::new(((self.bits >> 7) & 1) != 0)
678    }
679    #[doc = "Bit 12 - NANDRE and NANDWE Pin Enable"]
680    #[inline(always)]
681    pub fn nandpen(&self) -> NANDPEN_R {
682        NANDPEN_R::new(((self.bits >> 12) & 1) != 0)
683    }
684    #[doc = "Bits 16:17 - Sets the lower bound for EBI_A enabling"]
685    #[inline(always)]
686    pub fn alb(&self) -> ALB_R {
687        ALB_R::new(((self.bits >> 16) & 3) as u8)
688    }
689    #[doc = "Bits 18:22 - EBI_A Pin Enable"]
690    #[inline(always)]
691    pub fn apen(&self) -> APEN_R {
692        APEN_R::new(((self.bits >> 18) & 0x1f) as u8)
693    }
694    #[doc = "Bit 24 - EBI_TFT Pin Enable"]
695    #[inline(always)]
696    pub fn tftpen(&self) -> TFTPEN_R {
697        TFTPEN_R::new(((self.bits >> 24) & 1) != 0)
698    }
699    #[doc = "Bit 25 - EBI_TFT Pin Enable"]
700    #[inline(always)]
701    pub fn dataenpen(&self) -> DATAENPEN_R {
702        DATAENPEN_R::new(((self.bits >> 25) & 1) != 0)
703    }
704    #[doc = "Bit 26 - EBI_CSTFT Pin Enable"]
705    #[inline(always)]
706    pub fn cstftpen(&self) -> CSTFTPEN_R {
707        CSTFTPEN_R::new(((self.bits >> 26) & 1) != 0)
708    }
709    #[doc = "Bits 28:30 - I/O Location"]
710    #[inline(always)]
711    pub fn location(&self) -> LOCATION_R {
712        LOCATION_R::new(((self.bits >> 28) & 7) as u8)
713    }
714}
715impl W {
716    #[doc = "Bit 0 - EBI Pin Enable"]
717    #[inline(always)]
718    pub fn ebipen(&mut self) -> EBIPEN_W {
719        EBIPEN_W::new(self)
720    }
721    #[doc = "Bit 1 - EBI_CS0 Pin Enable"]
722    #[inline(always)]
723    pub fn cs0pen(&mut self) -> CS0PEN_W {
724        CS0PEN_W::new(self)
725    }
726    #[doc = "Bit 2 - EBI_CS1 Pin Enable"]
727    #[inline(always)]
728    pub fn cs1pen(&mut self) -> CS1PEN_W {
729        CS1PEN_W::new(self)
730    }
731    #[doc = "Bit 3 - EBI_CS2 Pin Enable"]
732    #[inline(always)]
733    pub fn cs2pen(&mut self) -> CS2PEN_W {
734        CS2PEN_W::new(self)
735    }
736    #[doc = "Bit 4 - EBI_CS3 Pin Enable"]
737    #[inline(always)]
738    pub fn cs3pen(&mut self) -> CS3PEN_W {
739        CS3PEN_W::new(self)
740    }
741    #[doc = "Bit 5 - EBI_ALE Pin Enable"]
742    #[inline(always)]
743    pub fn alepen(&mut self) -> ALEPEN_W {
744        ALEPEN_W::new(self)
745    }
746    #[doc = "Bit 6 - EBI_ARDY Pin Enable"]
747    #[inline(always)]
748    pub fn ardypen(&mut self) -> ARDYPEN_W {
749        ARDYPEN_W::new(self)
750    }
751    #[doc = "Bit 7 - EBI_BL\\[1:0\\]
752Pin Enable"]
753    #[inline(always)]
754    pub fn blpen(&mut self) -> BLPEN_W {
755        BLPEN_W::new(self)
756    }
757    #[doc = "Bit 12 - NANDRE and NANDWE Pin Enable"]
758    #[inline(always)]
759    pub fn nandpen(&mut self) -> NANDPEN_W {
760        NANDPEN_W::new(self)
761    }
762    #[doc = "Bits 16:17 - Sets the lower bound for EBI_A enabling"]
763    #[inline(always)]
764    pub fn alb(&mut self) -> ALB_W {
765        ALB_W::new(self)
766    }
767    #[doc = "Bits 18:22 - EBI_A Pin Enable"]
768    #[inline(always)]
769    pub fn apen(&mut self) -> APEN_W {
770        APEN_W::new(self)
771    }
772    #[doc = "Bit 24 - EBI_TFT Pin Enable"]
773    #[inline(always)]
774    pub fn tftpen(&mut self) -> TFTPEN_W {
775        TFTPEN_W::new(self)
776    }
777    #[doc = "Bit 25 - EBI_TFT Pin Enable"]
778    #[inline(always)]
779    pub fn dataenpen(&mut self) -> DATAENPEN_W {
780        DATAENPEN_W::new(self)
781    }
782    #[doc = "Bit 26 - EBI_CSTFT Pin Enable"]
783    #[inline(always)]
784    pub fn cstftpen(&mut self) -> CSTFTPEN_W {
785        CSTFTPEN_W::new(self)
786    }
787    #[doc = "Bits 28:30 - I/O Location"]
788    #[inline(always)]
789    pub fn location(&mut self) -> LOCATION_W {
790        LOCATION_W::new(self)
791    }
792    #[doc = "Writes raw bits to the register."]
793    #[inline(always)]
794    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
795        self.0.bits(bits);
796        self
797    }
798}
799#[doc = "I/O Routing Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [route](index.html) module"]
800pub struct ROUTE_SPEC;
801impl crate::RegisterSpec for ROUTE_SPEC {
802    type Ux = u32;
803}
804#[doc = "`read()` method returns [route::R](R) reader structure"]
805impl crate::Readable for ROUTE_SPEC {
806    type Reader = R;
807}
808#[doc = "`write(|w| ..)` method takes [route::W](W) writer structure"]
809impl crate::Writable for ROUTE_SPEC {
810    type Writer = W;
811}
812#[doc = "`reset()` method sets ROUTE to value 0"]
813impl crate::Resettable for ROUTE_SPEC {
814    #[inline(always)]
815    fn reset_value() -> Self::Ux {
816        0
817    }
818}