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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
#[doc = "Register `ASW` reader"]
pub type R = crate::R<AswSpec>;
#[doc = "Register `ASW` writer"]
pub type W = crate::W<AswSpec>;
#[doc = "Field `G0P0` reader - G0P0 analog switch enable"]
pub type G0p0R = crate::BitReader;
#[doc = "Field `G0P0` writer - G0P0 analog switch enable"]
pub type G0p0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G0P1` reader - G0P1 analog switch enable"]
pub type G0p1R = crate::BitReader;
#[doc = "Field `G0P1` writer - G0P1 analog switch enable"]
pub type G0p1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G0P2` reader - G0P2 analog switch enable"]
pub type G0p2R = crate::BitReader;
#[doc = "Field `G0P2` writer - G0P2 analog switch enable"]
pub type G0p2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G0P3` reader - G0P3 analog switch enable"]
pub type G0p3R = crate::BitReader;
#[doc = "Field `G0P3` writer - G0P3 analog switch enable"]
pub type G0p3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G1P0` reader - G1P0 analog switch enable"]
pub type G1p0R = crate::BitReader;
#[doc = "Field `G1P0` writer - G1P0 analog switch enable"]
pub type G1p0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G1P1` reader - G1P1 analog switch enable"]
pub type G1p1R = crate::BitReader;
#[doc = "Field `G1P1` writer - G1P1 analog switch enable"]
pub type G1p1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G1P2` reader - G1P2 analog switch enable"]
pub type G1p2R = crate::BitReader;
#[doc = "Field `G1P2` writer - G1P2 analog switch enable"]
pub type G1p2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G1P3` reader - G1P3 analog switch enable"]
pub type G1p3R = crate::BitReader;
#[doc = "Field `G1P3` writer - G1P3 analog switch enable"]
pub type G1p3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G2P0` reader - G2P0 analog switch enable"]
pub type G2p0R = crate::BitReader;
#[doc = "Field `G2P0` writer - G2P0 analog switch enable"]
pub type G2p0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G2P1` reader - G2P1 analog switch enable"]
pub type G2p1R = crate::BitReader;
#[doc = "Field `G2P1` writer - G2P1 analog switch enable"]
pub type G2p1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G2P2` reader - G2P2 analog switch enable"]
pub type G2p2R = crate::BitReader;
#[doc = "Field `G2P2` writer - G2P2 analog switch enable"]
pub type G2p2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G2P3` reader - G2P3 analog switch enable"]
pub type G2p3R = crate::BitReader;
#[doc = "Field `G2P3` writer - G2P3 analog switch enable"]
pub type G2p3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G3P0` reader - G3P0 analog switch enable"]
pub type G3p0R = crate::BitReader;
#[doc = "Field `G3P0` writer - G3P0 analog switch enable"]
pub type G3p0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G3P1` reader - G3P1 analog switch enable"]
pub type G3p1R = crate::BitReader;
#[doc = "Field `G3P1` writer - G3P1 analog switch enable"]
pub type G3p1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G3P2` reader - G3P2 analog switch enable"]
pub type G3p2R = crate::BitReader;
#[doc = "Field `G3P2` writer - G3P2 analog switch enable"]
pub type G3p2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G3P3` reader - G3P3 analog switch enable"]
pub type G3p3R = crate::BitReader;
#[doc = "Field `G3P3` writer - G3P3 analog switch enable"]
pub type G3p3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G4P0` reader - G4P0 analog switch enable"]
pub type G4p0R = crate::BitReader;
#[doc = "Field `G4P0` writer - G4P0 analog switch enable"]
pub type G4p0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G4P1` reader - G4P1 analog switch enable"]
pub type G4p1R = crate::BitReader;
#[doc = "Field `G4P1` writer - G4P1 analog switch enable"]
pub type G4p1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G4P2` reader - G4P2 analog switch enable"]
pub type G4p2R = crate::BitReader;
#[doc = "Field `G4P2` writer - G4P2 analog switch enable"]
pub type G4p2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G4P3` reader - G4P3 analog switch enable"]
pub type G4p3R = crate::BitReader;
#[doc = "Field `G4P3` writer - G4P3 analog switch enable"]
pub type G4p3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G5P0` reader - G5P0 analog switch enable"]
pub type G5p0R = crate::BitReader;
#[doc = "Field `G5P0` writer - G5P0 analog switch enable"]
pub type G5p0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G5P1` reader - G5P1 analog switch enable"]
pub type G5p1R = crate::BitReader;
#[doc = "Field `G5P1` writer - G5P1 analog switch enable"]
pub type G5p1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G5P2` reader - G5P2 analog switch enable"]
pub type G5p2R = crate::BitReader;
#[doc = "Field `G5P2` writer - G5P2 analog switch enable"]
pub type G5p2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `G5P3` reader - G5P3 analog switch enable"]
pub type G5p3R = crate::BitReader;
#[doc = "Field `G5P3` writer - G5P3 analog switch enable"]
pub type G5p3W<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
    #[doc = "Bit 0 - G0P0 analog switch enable"]
    #[inline(always)]
    pub fn g0p0(&self) -> G0p0R {
        G0p0R::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - G0P1 analog switch enable"]
    #[inline(always)]
    pub fn g0p1(&self) -> G0p1R {
        G0p1R::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - G0P2 analog switch enable"]
    #[inline(always)]
    pub fn g0p2(&self) -> G0p2R {
        G0p2R::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - G0P3 analog switch enable"]
    #[inline(always)]
    pub fn g0p3(&self) -> G0p3R {
        G0p3R::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - G1P0 analog switch enable"]
    #[inline(always)]
    pub fn g1p0(&self) -> G1p0R {
        G1p0R::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - G1P1 analog switch enable"]
    #[inline(always)]
    pub fn g1p1(&self) -> G1p1R {
        G1p1R::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - G1P2 analog switch enable"]
    #[inline(always)]
    pub fn g1p2(&self) -> G1p2R {
        G1p2R::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - G1P3 analog switch enable"]
    #[inline(always)]
    pub fn g1p3(&self) -> G1p3R {
        G1p3R::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 8 - G2P0 analog switch enable"]
    #[inline(always)]
    pub fn g2p0(&self) -> G2p0R {
        G2p0R::new(((self.bits >> 8) & 1) != 0)
    }
    #[doc = "Bit 9 - G2P1 analog switch enable"]
    #[inline(always)]
    pub fn g2p1(&self) -> G2p1R {
        G2p1R::new(((self.bits >> 9) & 1) != 0)
    }
    #[doc = "Bit 10 - G2P2 analog switch enable"]
    #[inline(always)]
    pub fn g2p2(&self) -> G2p2R {
        G2p2R::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 11 - G2P3 analog switch enable"]
    #[inline(always)]
    pub fn g2p3(&self) -> G2p3R {
        G2p3R::new(((self.bits >> 11) & 1) != 0)
    }
    #[doc = "Bit 12 - G3P0 analog switch enable"]
    #[inline(always)]
    pub fn g3p0(&self) -> G3p0R {
        G3p0R::new(((self.bits >> 12) & 1) != 0)
    }
    #[doc = "Bit 13 - G3P1 analog switch enable"]
    #[inline(always)]
    pub fn g3p1(&self) -> G3p1R {
        G3p1R::new(((self.bits >> 13) & 1) != 0)
    }
    #[doc = "Bit 14 - G3P2 analog switch enable"]
    #[inline(always)]
    pub fn g3p2(&self) -> G3p2R {
        G3p2R::new(((self.bits >> 14) & 1) != 0)
    }
    #[doc = "Bit 15 - G3P3 analog switch enable"]
    #[inline(always)]
    pub fn g3p3(&self) -> G3p3R {
        G3p3R::new(((self.bits >> 15) & 1) != 0)
    }
    #[doc = "Bit 16 - G4P0 analog switch enable"]
    #[inline(always)]
    pub fn g4p0(&self) -> G4p0R {
        G4p0R::new(((self.bits >> 16) & 1) != 0)
    }
    #[doc = "Bit 17 - G4P1 analog switch enable"]
    #[inline(always)]
    pub fn g4p1(&self) -> G4p1R {
        G4p1R::new(((self.bits >> 17) & 1) != 0)
    }
    #[doc = "Bit 18 - G4P2 analog switch enable"]
    #[inline(always)]
    pub fn g4p2(&self) -> G4p2R {
        G4p2R::new(((self.bits >> 18) & 1) != 0)
    }
    #[doc = "Bit 19 - G4P3 analog switch enable"]
    #[inline(always)]
    pub fn g4p3(&self) -> G4p3R {
        G4p3R::new(((self.bits >> 19) & 1) != 0)
    }
    #[doc = "Bit 20 - G5P0 analog switch enable"]
    #[inline(always)]
    pub fn g5p0(&self) -> G5p0R {
        G5p0R::new(((self.bits >> 20) & 1) != 0)
    }
    #[doc = "Bit 21 - G5P1 analog switch enable"]
    #[inline(always)]
    pub fn g5p1(&self) -> G5p1R {
        G5p1R::new(((self.bits >> 21) & 1) != 0)
    }
    #[doc = "Bit 22 - G5P2 analog switch enable"]
    #[inline(always)]
    pub fn g5p2(&self) -> G5p2R {
        G5p2R::new(((self.bits >> 22) & 1) != 0)
    }
    #[doc = "Bit 23 - G5P3 analog switch enable"]
    #[inline(always)]
    pub fn g5p3(&self) -> G5p3R {
        G5p3R::new(((self.bits >> 23) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 0 - G0P0 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g0p0(&mut self) -> G0p0W<AswSpec> {
        G0p0W::new(self, 0)
    }
    #[doc = "Bit 1 - G0P1 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g0p1(&mut self) -> G0p1W<AswSpec> {
        G0p1W::new(self, 1)
    }
    #[doc = "Bit 2 - G0P2 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g0p2(&mut self) -> G0p2W<AswSpec> {
        G0p2W::new(self, 2)
    }
    #[doc = "Bit 3 - G0P3 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g0p3(&mut self) -> G0p3W<AswSpec> {
        G0p3W::new(self, 3)
    }
    #[doc = "Bit 4 - G1P0 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g1p0(&mut self) -> G1p0W<AswSpec> {
        G1p0W::new(self, 4)
    }
    #[doc = "Bit 5 - G1P1 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g1p1(&mut self) -> G1p1W<AswSpec> {
        G1p1W::new(self, 5)
    }
    #[doc = "Bit 6 - G1P2 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g1p2(&mut self) -> G1p2W<AswSpec> {
        G1p2W::new(self, 6)
    }
    #[doc = "Bit 7 - G1P3 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g1p3(&mut self) -> G1p3W<AswSpec> {
        G1p3W::new(self, 7)
    }
    #[doc = "Bit 8 - G2P0 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g2p0(&mut self) -> G2p0W<AswSpec> {
        G2p0W::new(self, 8)
    }
    #[doc = "Bit 9 - G2P1 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g2p1(&mut self) -> G2p1W<AswSpec> {
        G2p1W::new(self, 9)
    }
    #[doc = "Bit 10 - G2P2 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g2p2(&mut self) -> G2p2W<AswSpec> {
        G2p2W::new(self, 10)
    }
    #[doc = "Bit 11 - G2P3 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g2p3(&mut self) -> G2p3W<AswSpec> {
        G2p3W::new(self, 11)
    }
    #[doc = "Bit 12 - G3P0 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g3p0(&mut self) -> G3p0W<AswSpec> {
        G3p0W::new(self, 12)
    }
    #[doc = "Bit 13 - G3P1 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g3p1(&mut self) -> G3p1W<AswSpec> {
        G3p1W::new(self, 13)
    }
    #[doc = "Bit 14 - G3P2 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g3p2(&mut self) -> G3p2W<AswSpec> {
        G3p2W::new(self, 14)
    }
    #[doc = "Bit 15 - G3P3 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g3p3(&mut self) -> G3p3W<AswSpec> {
        G3p3W::new(self, 15)
    }
    #[doc = "Bit 16 - G4P0 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g4p0(&mut self) -> G4p0W<AswSpec> {
        G4p0W::new(self, 16)
    }
    #[doc = "Bit 17 - G4P1 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g4p1(&mut self) -> G4p1W<AswSpec> {
        G4p1W::new(self, 17)
    }
    #[doc = "Bit 18 - G4P2 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g4p2(&mut self) -> G4p2W<AswSpec> {
        G4p2W::new(self, 18)
    }
    #[doc = "Bit 19 - G4P3 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g4p3(&mut self) -> G4p3W<AswSpec> {
        G4p3W::new(self, 19)
    }
    #[doc = "Bit 20 - G5P0 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g5p0(&mut self) -> G5p0W<AswSpec> {
        G5p0W::new(self, 20)
    }
    #[doc = "Bit 21 - G5P1 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g5p1(&mut self) -> G5p1W<AswSpec> {
        G5p1W::new(self, 21)
    }
    #[doc = "Bit 22 - G5P2 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g5p2(&mut self) -> G5p2W<AswSpec> {
        G5p2W::new(self, 22)
    }
    #[doc = "Bit 23 - G5P3 analog switch enable"]
    #[inline(always)]
    #[must_use]
    pub fn g5p3(&mut self) -> G5p3W<AswSpec> {
        G5p3W::new(self, 23)
    }
}
#[doc = "I/O analog switch register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asw::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 [`asw::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct AswSpec;
impl crate::RegisterSpec for AswSpec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`asw::R`](R) reader structure"]
impl crate::Readable for AswSpec {}
#[doc = "`write(|w| ..)` method takes [`asw::W`](W) writer structure"]
impl crate::Writable for AswSpec {
    type Safety = crate::Unsafe;
    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
}
#[doc = "`reset()` method sets ASW to value 0"]
impl crate::Resettable for AswSpec {
    const RESET_VALUE: u32 = 0;
}