ra4m2/
pfs.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    _reserved_0_p0: [u8; 0x20],
5    _reserved_1_p008: [u8; 0x04],
6    _reserved2: [u8; 0x14],
7    _reserved_2_p0pfs: [u8; 0x30],
8    _reserved_3_p: [u8; 0x18],
9    _reserved_4_p200: [u8; 0x04],
10    _reserved_5_p201: [u8; 0x04],
11    _reserved6: [u8; 0x0c],
12    _reserved_6_p2: [u8; 0x14],
13    _reserved_7_p210: [u8; 0x04],
14    _reserved_8_p211: [u8; 0x04],
15    _reserved_9_p212: [u8; 0x04],
16    _reserved_10_p213: [u8; 0x04],
17    _reserved_11_p214: [u8; 0x04],
18    _reserved12: [u8; 0x04],
19    _reserved_12_p300: [u8; 0x04],
20    _reserved_13_p3: [u8; 0x1c],
21    _reserved14: [u8; 0x20],
22    _reserved_14_p4: [u8; 0x28],
23    _reserved_15_p: [u8; 0x18],
24    _reserved_16_p5: [u8; 0x18],
25    _reserved17: [u8; 0x28],
26    _reserved_17_p6: [u8; 0x10],
27    _reserved18: [u8; 0x10],
28    _reserved_18_p608: [u8; 0x04],
29    _reserved_19_p609: [u8; 0x04],
30    _reserved_20_p610: [u8; 0x04],
31    _reserved21: [u8; 0x34],
32    _reserved_21_p708: [u8; 0x04],
33    _reserved22: [u8; 0x031f],
34    #[doc = "0x503 - Write-Protect Register"]
35    pub pwpr: PWPR,
36    _reserved23: [u8; 0x01],
37    #[doc = "0x505 - Write-Protect Register for Secure"]
38    pub pwprs: PWPRS,
39    _reserved24: [u8; 0x0a],
40    #[doc = "0x510..0x520 - Port Security Attribution register"]
41    pub psar: [PSAR; 8],
42}
43impl RegisterBlock {
44    #[doc = "0x00..0x20 - Port 00%s Pin Function Select Register"]
45    #[inline(always)]
46    pub const fn p00pfs(&self) -> &[P00PFS; 8] {
47        unsafe { &*(self as *const Self).cast::<u8>().add(0usize).cast() }
48    }
49    #[doc = "0x02 - Port 00%s Pin Function Select Register"]
50    #[inline(always)]
51    pub const fn p000pfs_ha(&self) -> &P00PFS_HA {
52        unsafe { &*(self as *const Self).cast::<u8>().add(2usize).cast() }
53    }
54    #[doc = "0x03 - Port 00%s Pin Function Select Register"]
55    #[inline(always)]
56    pub const fn p000pfs_by(&self) -> &P00PFS_BY {
57        unsafe { &*(self as *const Self).cast::<u8>().add(3usize).cast() }
58    }
59    #[doc = "0x06 - Port 00%s Pin Function Select Register"]
60    #[inline(always)]
61    pub const fn p001pfs_ha(&self) -> &P00PFS_HA {
62        unsafe { &*(self as *const Self).cast::<u8>().add(6usize).cast() }
63    }
64    #[doc = "0x07 - Port 00%s Pin Function Select Register"]
65    #[inline(always)]
66    pub const fn p001pfs_by(&self) -> &P00PFS_BY {
67        unsafe { &*(self as *const Self).cast::<u8>().add(7usize).cast() }
68    }
69    #[doc = "0x0a - Port 00%s Pin Function Select Register"]
70    #[inline(always)]
71    pub const fn p002pfs_ha(&self) -> &P00PFS_HA {
72        unsafe { &*(self as *const Self).cast::<u8>().add(10usize).cast() }
73    }
74    #[doc = "0x0b - Port 00%s Pin Function Select Register"]
75    #[inline(always)]
76    pub const fn p002pfs_by(&self) -> &P00PFS_BY {
77        unsafe { &*(self as *const Self).cast::<u8>().add(11usize).cast() }
78    }
79    #[doc = "0x0e - Port 00%s Pin Function Select Register"]
80    #[inline(always)]
81    pub const fn p003pfs_ha(&self) -> &P00PFS_HA {
82        unsafe { &*(self as *const Self).cast::<u8>().add(14usize).cast() }
83    }
84    #[doc = "0x0f - Port 00%s Pin Function Select Register"]
85    #[inline(always)]
86    pub const fn p003pfs_by(&self) -> &P00PFS_BY {
87        unsafe { &*(self as *const Self).cast::<u8>().add(15usize).cast() }
88    }
89    #[doc = "0x12 - Port 00%s Pin Function Select Register"]
90    #[inline(always)]
91    pub const fn p004pfs_ha(&self) -> &P00PFS_HA {
92        unsafe { &*(self as *const Self).cast::<u8>().add(18usize).cast() }
93    }
94    #[doc = "0x13 - Port 00%s Pin Function Select Register"]
95    #[inline(always)]
96    pub const fn p004pfs_by(&self) -> &P00PFS_BY {
97        unsafe { &*(self as *const Self).cast::<u8>().add(19usize).cast() }
98    }
99    #[doc = "0x16 - Port 00%s Pin Function Select Register"]
100    #[inline(always)]
101    pub const fn p005pfs_ha(&self) -> &P00PFS_HA {
102        unsafe { &*(self as *const Self).cast::<u8>().add(22usize).cast() }
103    }
104    #[doc = "0x17 - Port 00%s Pin Function Select Register"]
105    #[inline(always)]
106    pub const fn p005pfs_by(&self) -> &P00PFS_BY {
107        unsafe { &*(self as *const Self).cast::<u8>().add(23usize).cast() }
108    }
109    #[doc = "0x1a - Port 00%s Pin Function Select Register"]
110    #[inline(always)]
111    pub const fn p006pfs_ha(&self) -> &P00PFS_HA {
112        unsafe { &*(self as *const Self).cast::<u8>().add(26usize).cast() }
113    }
114    #[doc = "0x1b - Port 00%s Pin Function Select Register"]
115    #[inline(always)]
116    pub const fn p006pfs_by(&self) -> &P00PFS_BY {
117        unsafe { &*(self as *const Self).cast::<u8>().add(27usize).cast() }
118    }
119    #[doc = "0x1e - Port 00%s Pin Function Select Register"]
120    #[inline(always)]
121    pub const fn p007pfs_ha(&self) -> &P00PFS_HA {
122        unsafe { &*(self as *const Self).cast::<u8>().add(30usize).cast() }
123    }
124    #[doc = "0x1f - Port 00%s Pin Function Select Register"]
125    #[inline(always)]
126    pub const fn p007pfs_by(&self) -> &P00PFS_BY {
127        unsafe { &*(self as *const Self).cast::<u8>().add(31usize).cast() }
128    }
129    #[doc = "0x20 - Port 008 Pin Function Select Register"]
130    #[inline(always)]
131    pub const fn p008pfs(&self) -> &P008PFS {
132        unsafe { &*(self as *const Self).cast::<u8>().add(32usize).cast() }
133    }
134    #[doc = "0x22 - Port 008 Pin Function Select Register"]
135    #[inline(always)]
136    pub const fn p008pfs_ha(&self) -> &P008PFS_HA {
137        unsafe { &*(self as *const Self).cast::<u8>().add(34usize).cast() }
138    }
139    #[doc = "0x23 - Port 008 Pin Function Select Register"]
140    #[inline(always)]
141    pub const fn p008pfs_by(&self) -> &P008PFS_BY {
142        unsafe { &*(self as *const Self).cast::<u8>().add(35usize).cast() }
143    }
144    #[doc = "0x38..0x44 - Port 0%s Pin Function Select Register"]
145    #[inline(always)]
146    pub const fn p0pfs(&self) -> &[P0PFS; 3] {
147        unsafe { &*(self as *const Self).cast::<u8>().add(56usize).cast() }
148    }
149    #[doc = "0x38 - Port 0%s Pin Function Select Register"]
150    #[inline(always)]
151    pub fn p013pfs(&self) -> &P0PFS {
152        &self.p0pfs()[0]
153    }
154    #[doc = "0x3c - Port 0%s Pin Function Select Register"]
155    #[inline(always)]
156    pub fn p014pfs(&self) -> &P0PFS {
157        &self.p0pfs()[1]
158    }
159    #[doc = "0x40 - Port 0%s Pin Function Select Register"]
160    #[inline(always)]
161    pub fn p015pfs(&self) -> &P0PFS {
162        &self.p0pfs()[2]
163    }
164    #[doc = "0x3a - Port 0%s Pin Function Select Register"]
165    #[inline(always)]
166    pub const fn p013pfs_ha(&self) -> &P0PFS_HA {
167        unsafe { &*(self as *const Self).cast::<u8>().add(58usize).cast() }
168    }
169    #[doc = "0x3b - Port 0%s Pin Function Select Register"]
170    #[inline(always)]
171    pub const fn p013pfs_by(&self) -> &P0PFS_BY {
172        unsafe { &*(self as *const Self).cast::<u8>().add(59usize).cast() }
173    }
174    #[doc = "0x3e - Port 0%s Pin Function Select Register"]
175    #[inline(always)]
176    pub const fn p014pfs_ha(&self) -> &P0PFS_HA {
177        unsafe { &*(self as *const Self).cast::<u8>().add(62usize).cast() }
178    }
179    #[doc = "0x3f - Port 0%s Pin Function Select Register"]
180    #[inline(always)]
181    pub const fn p014pfs_by(&self) -> &P0PFS_BY {
182        unsafe { &*(self as *const Self).cast::<u8>().add(63usize).cast() }
183    }
184    #[doc = "0x40..0x68 - Port 10%s Pin Function Select Register"]
185    #[inline(always)]
186    pub const fn p10pfs(&self) -> &[P10PFS; 10] {
187        unsafe { &*(self as *const Self).cast::<u8>().add(64usize).cast() }
188    }
189    #[doc = "0x42 - Port 10%s Pin Function Select Register"]
190    #[inline(always)]
191    pub const fn p100pfs_ha(&self) -> &P10PFS_HA {
192        unsafe { &*(self as *const Self).cast::<u8>().add(66usize).cast() }
193    }
194    #[doc = "0x42 - Port 0%s Pin Function Select Register"]
195    #[inline(always)]
196    pub const fn p015pfs_ha(&self) -> &P0PFS_HA {
197        unsafe { &*(self as *const Self).cast::<u8>().add(66usize).cast() }
198    }
199    #[doc = "0x43 - Port 10%s Pin Function Select Register"]
200    #[inline(always)]
201    pub const fn p100pfs_by(&self) -> &P10PFS_BY {
202        unsafe { &*(self as *const Self).cast::<u8>().add(67usize).cast() }
203    }
204    #[doc = "0x43 - Port 0%s Pin Function Select Register"]
205    #[inline(always)]
206    pub const fn p015pfs_by(&self) -> &P0PFS_BY {
207        unsafe { &*(self as *const Self).cast::<u8>().add(67usize).cast() }
208    }
209    #[doc = "0x46 - Port 10%s Pin Function Select Register"]
210    #[inline(always)]
211    pub const fn p101pfs_ha(&self) -> &P10PFS_HA {
212        unsafe { &*(self as *const Self).cast::<u8>().add(70usize).cast() }
213    }
214    #[doc = "0x47 - Port 10%s Pin Function Select Register"]
215    #[inline(always)]
216    pub const fn p101pfs_by(&self) -> &P10PFS_BY {
217        unsafe { &*(self as *const Self).cast::<u8>().add(71usize).cast() }
218    }
219    #[doc = "0x4a - Port 10%s Pin Function Select Register"]
220    #[inline(always)]
221    pub const fn p102pfs_ha(&self) -> &P10PFS_HA {
222        unsafe { &*(self as *const Self).cast::<u8>().add(74usize).cast() }
223    }
224    #[doc = "0x4b - Port 10%s Pin Function Select Register"]
225    #[inline(always)]
226    pub const fn p102pfs_by(&self) -> &P10PFS_BY {
227        unsafe { &*(self as *const Self).cast::<u8>().add(75usize).cast() }
228    }
229    #[doc = "0x4e - Port 10%s Pin Function Select Register"]
230    #[inline(always)]
231    pub const fn p103pfs_ha(&self) -> &P10PFS_HA {
232        unsafe { &*(self as *const Self).cast::<u8>().add(78usize).cast() }
233    }
234    #[doc = "0x4f - Port 10%s Pin Function Select Register"]
235    #[inline(always)]
236    pub const fn p103pfs_by(&self) -> &P10PFS_BY {
237        unsafe { &*(self as *const Self).cast::<u8>().add(79usize).cast() }
238    }
239    #[doc = "0x52 - Port 10%s Pin Function Select Register"]
240    #[inline(always)]
241    pub const fn p104pfs_ha(&self) -> &P10PFS_HA {
242        unsafe { &*(self as *const Self).cast::<u8>().add(82usize).cast() }
243    }
244    #[doc = "0x53 - Port 10%s Pin Function Select Register"]
245    #[inline(always)]
246    pub const fn p104pfs_by(&self) -> &P10PFS_BY {
247        unsafe { &*(self as *const Self).cast::<u8>().add(83usize).cast() }
248    }
249    #[doc = "0x56 - Port 10%s Pin Function Select Register"]
250    #[inline(always)]
251    pub const fn p105pfs_ha(&self) -> &P10PFS_HA {
252        unsafe { &*(self as *const Self).cast::<u8>().add(86usize).cast() }
253    }
254    #[doc = "0x57 - Port 10%s Pin Function Select Register"]
255    #[inline(always)]
256    pub const fn p105pfs_by(&self) -> &P10PFS_BY {
257        unsafe { &*(self as *const Self).cast::<u8>().add(87usize).cast() }
258    }
259    #[doc = "0x5a - Port 10%s Pin Function Select Register"]
260    #[inline(always)]
261    pub const fn p106pfs_ha(&self) -> &P10PFS_HA {
262        unsafe { &*(self as *const Self).cast::<u8>().add(90usize).cast() }
263    }
264    #[doc = "0x5b - Port 10%s Pin Function Select Register"]
265    #[inline(always)]
266    pub const fn p106pfs_by(&self) -> &P10PFS_BY {
267        unsafe { &*(self as *const Self).cast::<u8>().add(91usize).cast() }
268    }
269    #[doc = "0x5e - Port 10%s Pin Function Select Register"]
270    #[inline(always)]
271    pub const fn p107pfs_ha(&self) -> &P10PFS_HA {
272        unsafe { &*(self as *const Self).cast::<u8>().add(94usize).cast() }
273    }
274    #[doc = "0x5f - Port 10%s Pin Function Select Register"]
275    #[inline(always)]
276    pub const fn p107pfs_by(&self) -> &P10PFS_BY {
277        unsafe { &*(self as *const Self).cast::<u8>().add(95usize).cast() }
278    }
279    #[doc = "0x62 - Port 10%s Pin Function Select Register"]
280    #[inline(always)]
281    pub const fn p108pfs_ha(&self) -> &P10PFS_HA {
282        unsafe { &*(self as *const Self).cast::<u8>().add(98usize).cast() }
283    }
284    #[doc = "0x63 - Port 10%s Pin Function Select Register"]
285    #[inline(always)]
286    pub const fn p108pfs_by(&self) -> &P10PFS_BY {
287        unsafe { &*(self as *const Self).cast::<u8>().add(99usize).cast() }
288    }
289    #[doc = "0x66 - Port 10%s Pin Function Select Register"]
290    #[inline(always)]
291    pub const fn p109pfs_ha(&self) -> &P10PFS_HA {
292        unsafe { &*(self as *const Self).cast::<u8>().add(102usize).cast() }
293    }
294    #[doc = "0x67 - Port 10%s Pin Function Select Register"]
295    #[inline(always)]
296    pub const fn p109pfs_by(&self) -> &P10PFS_BY {
297        unsafe { &*(self as *const Self).cast::<u8>().add(103usize).cast() }
298    }
299    #[doc = "0x68..0x80 - Port 1%s Pin Function Select Register"]
300    #[inline(always)]
301    pub const fn p1pfs(&self) -> &[P1PFS; 6] {
302        unsafe { &*(self as *const Self).cast::<u8>().add(104usize).cast() }
303    }
304    #[doc = "0x68 - Port 1%s Pin Function Select Register"]
305    #[inline(always)]
306    pub fn p110pfs(&self) -> &P1PFS {
307        &self.p1pfs()[0]
308    }
309    #[doc = "0x6c - Port 1%s Pin Function Select Register"]
310    #[inline(always)]
311    pub fn p111pfs(&self) -> &P1PFS {
312        &self.p1pfs()[1]
313    }
314    #[doc = "0x70 - Port 1%s Pin Function Select Register"]
315    #[inline(always)]
316    pub fn p112pfs(&self) -> &P1PFS {
317        &self.p1pfs()[2]
318    }
319    #[doc = "0x74 - Port 1%s Pin Function Select Register"]
320    #[inline(always)]
321    pub fn p113pfs(&self) -> &P1PFS {
322        &self.p1pfs()[3]
323    }
324    #[doc = "0x78 - Port 1%s Pin Function Select Register"]
325    #[inline(always)]
326    pub fn p114pfs(&self) -> &P1PFS {
327        &self.p1pfs()[4]
328    }
329    #[doc = "0x7c - Port 1%s Pin Function Select Register"]
330    #[inline(always)]
331    pub fn p115pfs(&self) -> &P1PFS {
332        &self.p1pfs()[5]
333    }
334    #[doc = "0x6a - Port 1%s Pin Function Select Register"]
335    #[inline(always)]
336    pub const fn p110pfs_ha(&self) -> &P1PFS_HA {
337        unsafe { &*(self as *const Self).cast::<u8>().add(106usize).cast() }
338    }
339    #[doc = "0x6b - Port 1%s Pin Function Select Register"]
340    #[inline(always)]
341    pub const fn p110pfs_by(&self) -> &P1PFS_BY {
342        unsafe { &*(self as *const Self).cast::<u8>().add(107usize).cast() }
343    }
344    #[doc = "0x6e - Port 1%s Pin Function Select Register"]
345    #[inline(always)]
346    pub const fn p111pfs_ha(&self) -> &P1PFS_HA {
347        unsafe { &*(self as *const Self).cast::<u8>().add(110usize).cast() }
348    }
349    #[doc = "0x6f - Port 1%s Pin Function Select Register"]
350    #[inline(always)]
351    pub const fn p111pfs_by(&self) -> &P1PFS_BY {
352        unsafe { &*(self as *const Self).cast::<u8>().add(111usize).cast() }
353    }
354    #[doc = "0x72 - Port 1%s Pin Function Select Register"]
355    #[inline(always)]
356    pub const fn p112pfs_ha(&self) -> &P1PFS_HA {
357        unsafe { &*(self as *const Self).cast::<u8>().add(114usize).cast() }
358    }
359    #[doc = "0x73 - Port 1%s Pin Function Select Register"]
360    #[inline(always)]
361    pub const fn p112pfs_by(&self) -> &P1PFS_BY {
362        unsafe { &*(self as *const Self).cast::<u8>().add(115usize).cast() }
363    }
364    #[doc = "0x76 - Port 1%s Pin Function Select Register"]
365    #[inline(always)]
366    pub const fn p113pfs_ha(&self) -> &P1PFS_HA {
367        unsafe { &*(self as *const Self).cast::<u8>().add(118usize).cast() }
368    }
369    #[doc = "0x77 - Port 1%s Pin Function Select Register"]
370    #[inline(always)]
371    pub const fn p113pfs_by(&self) -> &P1PFS_BY {
372        unsafe { &*(self as *const Self).cast::<u8>().add(119usize).cast() }
373    }
374    #[doc = "0x7a - Port 1%s Pin Function Select Register"]
375    #[inline(always)]
376    pub const fn p114pfs_ha(&self) -> &P1PFS_HA {
377        unsafe { &*(self as *const Self).cast::<u8>().add(122usize).cast() }
378    }
379    #[doc = "0x7b - Port 1%s Pin Function Select Register"]
380    #[inline(always)]
381    pub const fn p114pfs_by(&self) -> &P1PFS_BY {
382        unsafe { &*(self as *const Self).cast::<u8>().add(123usize).cast() }
383    }
384    #[doc = "0x7e - Port 1%s Pin Function Select Register"]
385    #[inline(always)]
386    pub const fn p115pfs_ha(&self) -> &P1PFS_HA {
387        unsafe { &*(self as *const Self).cast::<u8>().add(126usize).cast() }
388    }
389    #[doc = "0x7f - Port 1%s Pin Function Select Register"]
390    #[inline(always)]
391    pub const fn p115pfs_by(&self) -> &P1PFS_BY {
392        unsafe { &*(self as *const Self).cast::<u8>().add(127usize).cast() }
393    }
394    #[doc = "0x80 - Port 200 Pin Function Select Register"]
395    #[inline(always)]
396    pub const fn p200pfs(&self) -> &P200PFS {
397        unsafe { &*(self as *const Self).cast::<u8>().add(128usize).cast() }
398    }
399    #[doc = "0x82 - Port 200 Pin Function Select Register"]
400    #[inline(always)]
401    pub const fn p200pfs_ha(&self) -> &P200PFS_HA {
402        unsafe { &*(self as *const Self).cast::<u8>().add(130usize).cast() }
403    }
404    #[doc = "0x83 - Port 200 Pin Function Select Register"]
405    #[inline(always)]
406    pub const fn p200pfs_by(&self) -> &P200PFS_BY {
407        unsafe { &*(self as *const Self).cast::<u8>().add(131usize).cast() }
408    }
409    #[doc = "0x84 - Port 201 Pin Function Select Register"]
410    #[inline(always)]
411    pub const fn p201pfs(&self) -> &P201PFS {
412        unsafe { &*(self as *const Self).cast::<u8>().add(132usize).cast() }
413    }
414    #[doc = "0x86 - Port 201 Pin Function Select Register"]
415    #[inline(always)]
416    pub const fn p201pfs_ha(&self) -> &P201PFS_HA {
417        unsafe { &*(self as *const Self).cast::<u8>().add(134usize).cast() }
418    }
419    #[doc = "0x87 - Port 201 Pin Function Select Register"]
420    #[inline(always)]
421    pub const fn p201pfs_by(&self) -> &P201PFS_BY {
422        unsafe { &*(self as *const Self).cast::<u8>().add(135usize).cast() }
423    }
424    #[doc = "0x94..0xa8 - Port 20%s Pin Function Select Register"]
425    #[inline(always)]
426    pub const fn p20pfs(&self) -> &[P20PFS; 5] {
427        unsafe { &*(self as *const Self).cast::<u8>().add(148usize).cast() }
428    }
429    #[doc = "0x94 - Port 20%s Pin Function Select Register"]
430    #[inline(always)]
431    pub fn p205pfs(&self) -> &P20PFS {
432        &self.p20pfs()[0]
433    }
434    #[doc = "0x98 - Port 20%s Pin Function Select Register"]
435    #[inline(always)]
436    pub fn p206pfs(&self) -> &P20PFS {
437        &self.p20pfs()[1]
438    }
439    #[doc = "0x9c - Port 20%s Pin Function Select Register"]
440    #[inline(always)]
441    pub fn p207pfs(&self) -> &P20PFS {
442        &self.p20pfs()[2]
443    }
444    #[doc = "0xa0 - Port 20%s Pin Function Select Register"]
445    #[inline(always)]
446    pub fn p208pfs(&self) -> &P20PFS {
447        &self.p20pfs()[3]
448    }
449    #[doc = "0xa4 - Port 20%s Pin Function Select Register"]
450    #[inline(always)]
451    pub fn p209pfs(&self) -> &P20PFS {
452        &self.p20pfs()[4]
453    }
454    #[doc = "0x96 - Port 20%s Pin Function Select Register"]
455    #[inline(always)]
456    pub const fn p205pfs_ha(&self) -> &P20PFS_HA {
457        unsafe { &*(self as *const Self).cast::<u8>().add(150usize).cast() }
458    }
459    #[doc = "0x97 - Port 20%s Pin Function Select Register"]
460    #[inline(always)]
461    pub const fn p205pfs_by(&self) -> &P20PFS_BY {
462        unsafe { &*(self as *const Self).cast::<u8>().add(151usize).cast() }
463    }
464    #[doc = "0x9a - Port 20%s Pin Function Select Register"]
465    #[inline(always)]
466    pub const fn p206pfs_ha(&self) -> &P20PFS_HA {
467        unsafe { &*(self as *const Self).cast::<u8>().add(154usize).cast() }
468    }
469    #[doc = "0x9b - Port 20%s Pin Function Select Register"]
470    #[inline(always)]
471    pub const fn p206pfs_by(&self) -> &P20PFS_BY {
472        unsafe { &*(self as *const Self).cast::<u8>().add(155usize).cast() }
473    }
474    #[doc = "0x9e - Port 20%s Pin Function Select Register"]
475    #[inline(always)]
476    pub const fn p207pfs_ha(&self) -> &P20PFS_HA {
477        unsafe { &*(self as *const Self).cast::<u8>().add(158usize).cast() }
478    }
479    #[doc = "0x9f - Port 20%s Pin Function Select Register"]
480    #[inline(always)]
481    pub const fn p207pfs_by(&self) -> &P20PFS_BY {
482        unsafe { &*(self as *const Self).cast::<u8>().add(159usize).cast() }
483    }
484    #[doc = "0xa2 - Port 20%s Pin Function Select Register"]
485    #[inline(always)]
486    pub const fn p208pfs_ha(&self) -> &P20PFS_HA {
487        unsafe { &*(self as *const Self).cast::<u8>().add(162usize).cast() }
488    }
489    #[doc = "0xa3 - Port 20%s Pin Function Select Register"]
490    #[inline(always)]
491    pub const fn p208pfs_by(&self) -> &P20PFS_BY {
492        unsafe { &*(self as *const Self).cast::<u8>().add(163usize).cast() }
493    }
494    #[doc = "0xa6 - Port 20%s Pin Function Select Register"]
495    #[inline(always)]
496    pub const fn p209pfs_ha(&self) -> &P20PFS_HA {
497        unsafe { &*(self as *const Self).cast::<u8>().add(166usize).cast() }
498    }
499    #[doc = "0xa7 - Port 20%s Pin Function Select Register"]
500    #[inline(always)]
501    pub const fn p209pfs_by(&self) -> &P20PFS_BY {
502        unsafe { &*(self as *const Self).cast::<u8>().add(167usize).cast() }
503    }
504    #[doc = "0xa8 - Port 2%s Pin Function Select Register"]
505    #[inline(always)]
506    pub const fn p210pfs(&self) -> &P210PFS {
507        unsafe { &*(self as *const Self).cast::<u8>().add(168usize).cast() }
508    }
509    #[doc = "0xaa - Port 2%s Pin Function Select Register"]
510    #[inline(always)]
511    pub const fn p210pfs_ha(&self) -> &P210PFS_HA {
512        unsafe { &*(self as *const Self).cast::<u8>().add(170usize).cast() }
513    }
514    #[doc = "0xab - Port 2%s Pin Function Select Register"]
515    #[inline(always)]
516    pub const fn p210pfs_by(&self) -> &P210PFS_BY {
517        unsafe { &*(self as *const Self).cast::<u8>().add(171usize).cast() }
518    }
519    #[doc = "0xac - Port 2%s Pin Function Select Register"]
520    #[inline(always)]
521    pub const fn p211pfs(&self) -> &P210PFS {
522        unsafe { &*(self as *const Self).cast::<u8>().add(172usize).cast() }
523    }
524    #[doc = "0xae - Port 2%s Pin Function Select Register"]
525    #[inline(always)]
526    pub const fn p211pfs_ha(&self) -> &P210PFS_HA {
527        unsafe { &*(self as *const Self).cast::<u8>().add(174usize).cast() }
528    }
529    #[doc = "0xaf - Port 2%s Pin Function Select Register"]
530    #[inline(always)]
531    pub const fn p211pfs_by(&self) -> &P210PFS_BY {
532        unsafe { &*(self as *const Self).cast::<u8>().add(175usize).cast() }
533    }
534    #[doc = "0xb0 - Port 2%s Pin Function Select Register"]
535    #[inline(always)]
536    pub const fn p212pfs(&self) -> &P210PFS {
537        unsafe { &*(self as *const Self).cast::<u8>().add(176usize).cast() }
538    }
539    #[doc = "0xb2 - Port 2%s Pin Function Select Register"]
540    #[inline(always)]
541    pub const fn p212pfs_ha(&self) -> &P210PFS_HA {
542        unsafe { &*(self as *const Self).cast::<u8>().add(178usize).cast() }
543    }
544    #[doc = "0xb3 - Port 2%s Pin Function Select Register"]
545    #[inline(always)]
546    pub const fn p212pfs_by(&self) -> &P210PFS_BY {
547        unsafe { &*(self as *const Self).cast::<u8>().add(179usize).cast() }
548    }
549    #[doc = "0xb4 - Port 2%s Pin Function Select Register"]
550    #[inline(always)]
551    pub const fn p213pfs(&self) -> &P210PFS {
552        unsafe { &*(self as *const Self).cast::<u8>().add(180usize).cast() }
553    }
554    #[doc = "0xb6 - Port 2%s Pin Function Select Register"]
555    #[inline(always)]
556    pub const fn p213pfs_ha(&self) -> &P210PFS_HA {
557        unsafe { &*(self as *const Self).cast::<u8>().add(182usize).cast() }
558    }
559    #[doc = "0xb7 - Port 2%s Pin Function Select Register"]
560    #[inline(always)]
561    pub const fn p213pfs_by(&self) -> &P210PFS_BY {
562        unsafe { &*(self as *const Self).cast::<u8>().add(183usize).cast() }
563    }
564    #[doc = "0xb8 - Port 2%s Pin Function Select Register"]
565    #[inline(always)]
566    pub const fn p214pfs(&self) -> &P210PFS {
567        unsafe { &*(self as *const Self).cast::<u8>().add(184usize).cast() }
568    }
569    #[doc = "0xba - Port 2%s Pin Function Select Register"]
570    #[inline(always)]
571    pub const fn p214pfs_ha(&self) -> &P210PFS_HA {
572        unsafe { &*(self as *const Self).cast::<u8>().add(186usize).cast() }
573    }
574    #[doc = "0xbb - Port 2%s Pin Function Select Register"]
575    #[inline(always)]
576    pub const fn p214pfs_by(&self) -> &P210PFS_BY {
577        unsafe { &*(self as *const Self).cast::<u8>().add(187usize).cast() }
578    }
579    #[doc = "0xc0 - Port 300 Pin Function Select Register"]
580    #[inline(always)]
581    pub const fn p300pfs(&self) -> &P300PFS {
582        unsafe { &*(self as *const Self).cast::<u8>().add(192usize).cast() }
583    }
584    #[doc = "0xc2 - Port 300 Pin Function Select Register"]
585    #[inline(always)]
586    pub const fn p300pfs_ha(&self) -> &P300PFS_HA {
587        unsafe { &*(self as *const Self).cast::<u8>().add(194usize).cast() }
588    }
589    #[doc = "0xc3 - Port 300 Pin Function Select Register"]
590    #[inline(always)]
591    pub const fn p300pfs_by(&self) -> &P300PFS_BY {
592        unsafe { &*(self as *const Self).cast::<u8>().add(195usize).cast() }
593    }
594    #[doc = "0xc4..0xe0 - Port 30%s Pin Function Select Register"]
595    #[inline(always)]
596    pub const fn p30pfs(&self) -> &[P30PFS; 7] {
597        unsafe { &*(self as *const Self).cast::<u8>().add(196usize).cast() }
598    }
599    #[doc = "0xc4 - Port 30%s Pin Function Select Register"]
600    #[inline(always)]
601    pub fn p301pfs(&self) -> &P30PFS {
602        &self.p30pfs()[0]
603    }
604    #[doc = "0xc8 - Port 30%s Pin Function Select Register"]
605    #[inline(always)]
606    pub fn p302pfs(&self) -> &P30PFS {
607        &self.p30pfs()[1]
608    }
609    #[doc = "0xcc - Port 30%s Pin Function Select Register"]
610    #[inline(always)]
611    pub fn p303pfs(&self) -> &P30PFS {
612        &self.p30pfs()[2]
613    }
614    #[doc = "0xd0 - Port 30%s Pin Function Select Register"]
615    #[inline(always)]
616    pub fn p304pfs(&self) -> &P30PFS {
617        &self.p30pfs()[3]
618    }
619    #[doc = "0xd4 - Port 30%s Pin Function Select Register"]
620    #[inline(always)]
621    pub fn p305pfs(&self) -> &P30PFS {
622        &self.p30pfs()[4]
623    }
624    #[doc = "0xd8 - Port 30%s Pin Function Select Register"]
625    #[inline(always)]
626    pub fn p306pfs(&self) -> &P30PFS {
627        &self.p30pfs()[5]
628    }
629    #[doc = "0xdc - Port 30%s Pin Function Select Register"]
630    #[inline(always)]
631    pub fn p307pfs(&self) -> &P30PFS {
632        &self.p30pfs()[6]
633    }
634    #[doc = "0xc6 - Port 30%s Pin Function Select Register"]
635    #[inline(always)]
636    pub const fn p301pfs_ha(&self) -> &P30PFS_HA {
637        unsafe { &*(self as *const Self).cast::<u8>().add(198usize).cast() }
638    }
639    #[doc = "0xc7 - Port 30%s Pin Function Select Register"]
640    #[inline(always)]
641    pub const fn p301pfs_by(&self) -> &P30PFS_BY {
642        unsafe { &*(self as *const Self).cast::<u8>().add(199usize).cast() }
643    }
644    #[doc = "0xca - Port 30%s Pin Function Select Register"]
645    #[inline(always)]
646    pub const fn p302pfs_ha(&self) -> &P30PFS_HA {
647        unsafe { &*(self as *const Self).cast::<u8>().add(202usize).cast() }
648    }
649    #[doc = "0xcb - Port 30%s Pin Function Select Register"]
650    #[inline(always)]
651    pub const fn p302pfs_by(&self) -> &P30PFS_BY {
652        unsafe { &*(self as *const Self).cast::<u8>().add(203usize).cast() }
653    }
654    #[doc = "0xce - Port 30%s Pin Function Select Register"]
655    #[inline(always)]
656    pub const fn p303pfs_ha(&self) -> &P30PFS_HA {
657        unsafe { &*(self as *const Self).cast::<u8>().add(206usize).cast() }
658    }
659    #[doc = "0xcf - Port 30%s Pin Function Select Register"]
660    #[inline(always)]
661    pub const fn p303pfs_by(&self) -> &P30PFS_BY {
662        unsafe { &*(self as *const Self).cast::<u8>().add(207usize).cast() }
663    }
664    #[doc = "0xd2 - Port 30%s Pin Function Select Register"]
665    #[inline(always)]
666    pub const fn p304pfs_ha(&self) -> &P30PFS_HA {
667        unsafe { &*(self as *const Self).cast::<u8>().add(210usize).cast() }
668    }
669    #[doc = "0xd3 - Port 30%s Pin Function Select Register"]
670    #[inline(always)]
671    pub const fn p304pfs_by(&self) -> &P30PFS_BY {
672        unsafe { &*(self as *const Self).cast::<u8>().add(211usize).cast() }
673    }
674    #[doc = "0xd6 - Port 30%s Pin Function Select Register"]
675    #[inline(always)]
676    pub const fn p305pfs_ha(&self) -> &P30PFS_HA {
677        unsafe { &*(self as *const Self).cast::<u8>().add(214usize).cast() }
678    }
679    #[doc = "0xd7 - Port 30%s Pin Function Select Register"]
680    #[inline(always)]
681    pub const fn p305pfs_by(&self) -> &P30PFS_BY {
682        unsafe { &*(self as *const Self).cast::<u8>().add(215usize).cast() }
683    }
684    #[doc = "0xda - Port 30%s Pin Function Select Register"]
685    #[inline(always)]
686    pub const fn p306pfs_ha(&self) -> &P30PFS_HA {
687        unsafe { &*(self as *const Self).cast::<u8>().add(218usize).cast() }
688    }
689    #[doc = "0xdb - Port 30%s Pin Function Select Register"]
690    #[inline(always)]
691    pub const fn p306pfs_by(&self) -> &P30PFS_BY {
692        unsafe { &*(self as *const Self).cast::<u8>().add(219usize).cast() }
693    }
694    #[doc = "0xde - Port 30%s Pin Function Select Register"]
695    #[inline(always)]
696    pub const fn p307pfs_ha(&self) -> &P30PFS_HA {
697        unsafe { &*(self as *const Self).cast::<u8>().add(222usize).cast() }
698    }
699    #[doc = "0xdf - Port 30%s Pin Function Select Register"]
700    #[inline(always)]
701    pub const fn p307pfs_by(&self) -> &P30PFS_BY {
702        unsafe { &*(self as *const Self).cast::<u8>().add(223usize).cast() }
703    }
704    #[doc = "0x100..0x128 - Port 40%s Pin Function Select Register"]
705    #[inline(always)]
706    pub const fn p40pfs(&self) -> &[P40PFS; 10] {
707        unsafe { &*(self as *const Self).cast::<u8>().add(256usize).cast() }
708    }
709    #[doc = "0x102 - Port 40%s Pin Function Select Register"]
710    #[inline(always)]
711    pub const fn p400pfs_ha(&self) -> &P40PFS_HA {
712        unsafe { &*(self as *const Self).cast::<u8>().add(258usize).cast() }
713    }
714    #[doc = "0x103 - Port 40%s Pin Function Select Register"]
715    #[inline(always)]
716    pub const fn p400pfs_by(&self) -> &P40PFS_BY {
717        unsafe { &*(self as *const Self).cast::<u8>().add(259usize).cast() }
718    }
719    #[doc = "0x106 - Port 40%s Pin Function Select Register"]
720    #[inline(always)]
721    pub const fn p401pfs_ha(&self) -> &P40PFS_HA {
722        unsafe { &*(self as *const Self).cast::<u8>().add(262usize).cast() }
723    }
724    #[doc = "0x107 - Port 40%s Pin Function Select Register"]
725    #[inline(always)]
726    pub const fn p401pfs_by(&self) -> &P40PFS_BY {
727        unsafe { &*(self as *const Self).cast::<u8>().add(263usize).cast() }
728    }
729    #[doc = "0x10a - Port 40%s Pin Function Select Register"]
730    #[inline(always)]
731    pub const fn p402pfs_ha(&self) -> &P40PFS_HA {
732        unsafe { &*(self as *const Self).cast::<u8>().add(266usize).cast() }
733    }
734    #[doc = "0x10b - Port 40%s Pin Function Select Register"]
735    #[inline(always)]
736    pub const fn p402pfs_by(&self) -> &P40PFS_BY {
737        unsafe { &*(self as *const Self).cast::<u8>().add(267usize).cast() }
738    }
739    #[doc = "0x10e - Port 40%s Pin Function Select Register"]
740    #[inline(always)]
741    pub const fn p403pfs_ha(&self) -> &P40PFS_HA {
742        unsafe { &*(self as *const Self).cast::<u8>().add(270usize).cast() }
743    }
744    #[doc = "0x10f - Port 40%s Pin Function Select Register"]
745    #[inline(always)]
746    pub const fn p403pfs_by(&self) -> &P40PFS_BY {
747        unsafe { &*(self as *const Self).cast::<u8>().add(271usize).cast() }
748    }
749    #[doc = "0x112 - Port 40%s Pin Function Select Register"]
750    #[inline(always)]
751    pub const fn p404pfs_ha(&self) -> &P40PFS_HA {
752        unsafe { &*(self as *const Self).cast::<u8>().add(274usize).cast() }
753    }
754    #[doc = "0x113 - Port 40%s Pin Function Select Register"]
755    #[inline(always)]
756    pub const fn p404pfs_by(&self) -> &P40PFS_BY {
757        unsafe { &*(self as *const Self).cast::<u8>().add(275usize).cast() }
758    }
759    #[doc = "0x116 - Port 40%s Pin Function Select Register"]
760    #[inline(always)]
761    pub const fn p405pfs_ha(&self) -> &P40PFS_HA {
762        unsafe { &*(self as *const Self).cast::<u8>().add(278usize).cast() }
763    }
764    #[doc = "0x117 - Port 40%s Pin Function Select Register"]
765    #[inline(always)]
766    pub const fn p405pfs_by(&self) -> &P40PFS_BY {
767        unsafe { &*(self as *const Self).cast::<u8>().add(279usize).cast() }
768    }
769    #[doc = "0x11a - Port 40%s Pin Function Select Register"]
770    #[inline(always)]
771    pub const fn p406pfs_ha(&self) -> &P40PFS_HA {
772        unsafe { &*(self as *const Self).cast::<u8>().add(282usize).cast() }
773    }
774    #[doc = "0x11b - Port 40%s Pin Function Select Register"]
775    #[inline(always)]
776    pub const fn p406pfs_by(&self) -> &P40PFS_BY {
777        unsafe { &*(self as *const Self).cast::<u8>().add(283usize).cast() }
778    }
779    #[doc = "0x11e - Port 40%s Pin Function Select Register"]
780    #[inline(always)]
781    pub const fn p407pfs_ha(&self) -> &P40PFS_HA {
782        unsafe { &*(self as *const Self).cast::<u8>().add(286usize).cast() }
783    }
784    #[doc = "0x11f - Port 40%s Pin Function Select Register"]
785    #[inline(always)]
786    pub const fn p407pfs_by(&self) -> &P40PFS_BY {
787        unsafe { &*(self as *const Self).cast::<u8>().add(287usize).cast() }
788    }
789    #[doc = "0x122 - Port 40%s Pin Function Select Register"]
790    #[inline(always)]
791    pub const fn p408pfs_ha(&self) -> &P40PFS_HA {
792        unsafe { &*(self as *const Self).cast::<u8>().add(290usize).cast() }
793    }
794    #[doc = "0x123 - Port 40%s Pin Function Select Register"]
795    #[inline(always)]
796    pub const fn p408pfs_by(&self) -> &P40PFS_BY {
797        unsafe { &*(self as *const Self).cast::<u8>().add(291usize).cast() }
798    }
799    #[doc = "0x126 - Port 40%s Pin Function Select Register"]
800    #[inline(always)]
801    pub const fn p409pfs_ha(&self) -> &P40PFS_HA {
802        unsafe { &*(self as *const Self).cast::<u8>().add(294usize).cast() }
803    }
804    #[doc = "0x127 - Port 40%s Pin Function Select Register"]
805    #[inline(always)]
806    pub const fn p409pfs_by(&self) -> &P40PFS_BY {
807        unsafe { &*(self as *const Self).cast::<u8>().add(295usize).cast() }
808    }
809    #[doc = "0x128..0x140 - Port 4%s Pin Function Select Register"]
810    #[inline(always)]
811    pub const fn p4pfs(&self) -> &[P4PFS; 6] {
812        unsafe { &*(self as *const Self).cast::<u8>().add(296usize).cast() }
813    }
814    #[doc = "0x128 - Port 4%s Pin Function Select Register"]
815    #[inline(always)]
816    pub fn p410pfs(&self) -> &P4PFS {
817        &self.p4pfs()[0]
818    }
819    #[doc = "0x12c - Port 4%s Pin Function Select Register"]
820    #[inline(always)]
821    pub fn p411pfs(&self) -> &P4PFS {
822        &self.p4pfs()[1]
823    }
824    #[doc = "0x130 - Port 4%s Pin Function Select Register"]
825    #[inline(always)]
826    pub fn p412pfs(&self) -> &P4PFS {
827        &self.p4pfs()[2]
828    }
829    #[doc = "0x134 - Port 4%s Pin Function Select Register"]
830    #[inline(always)]
831    pub fn p413pfs(&self) -> &P4PFS {
832        &self.p4pfs()[3]
833    }
834    #[doc = "0x138 - Port 4%s Pin Function Select Register"]
835    #[inline(always)]
836    pub fn p414pfs(&self) -> &P4PFS {
837        &self.p4pfs()[4]
838    }
839    #[doc = "0x13c - Port 4%s Pin Function Select Register"]
840    #[inline(always)]
841    pub fn p415pfs(&self) -> &P4PFS {
842        &self.p4pfs()[5]
843    }
844    #[doc = "0x12a - Port 4%s Pin Function Select Register"]
845    #[inline(always)]
846    pub const fn p410pfs_ha(&self) -> &P4PFS_HA {
847        unsafe { &*(self as *const Self).cast::<u8>().add(298usize).cast() }
848    }
849    #[doc = "0x12b - Port 4%s Pin Function Select Register"]
850    #[inline(always)]
851    pub const fn p410pfs_by(&self) -> &P4PFS_BY {
852        unsafe { &*(self as *const Self).cast::<u8>().add(299usize).cast() }
853    }
854    #[doc = "0x12e - Port 4%s Pin Function Select Register"]
855    #[inline(always)]
856    pub const fn p411pfs_ha(&self) -> &P4PFS_HA {
857        unsafe { &*(self as *const Self).cast::<u8>().add(302usize).cast() }
858    }
859    #[doc = "0x12f - Port 4%s Pin Function Select Register"]
860    #[inline(always)]
861    pub const fn p411pfs_by(&self) -> &P4PFS_BY {
862        unsafe { &*(self as *const Self).cast::<u8>().add(303usize).cast() }
863    }
864    #[doc = "0x132 - Port 4%s Pin Function Select Register"]
865    #[inline(always)]
866    pub const fn p412pfs_ha(&self) -> &P4PFS_HA {
867        unsafe { &*(self as *const Self).cast::<u8>().add(306usize).cast() }
868    }
869    #[doc = "0x133 - Port 4%s Pin Function Select Register"]
870    #[inline(always)]
871    pub const fn p412pfs_by(&self) -> &P4PFS_BY {
872        unsafe { &*(self as *const Self).cast::<u8>().add(307usize).cast() }
873    }
874    #[doc = "0x136 - Port 4%s Pin Function Select Register"]
875    #[inline(always)]
876    pub const fn p413pfs_ha(&self) -> &P4PFS_HA {
877        unsafe { &*(self as *const Self).cast::<u8>().add(310usize).cast() }
878    }
879    #[doc = "0x137 - Port 4%s Pin Function Select Register"]
880    #[inline(always)]
881    pub const fn p413pfs_by(&self) -> &P4PFS_BY {
882        unsafe { &*(self as *const Self).cast::<u8>().add(311usize).cast() }
883    }
884    #[doc = "0x13a - Port 4%s Pin Function Select Register"]
885    #[inline(always)]
886    pub const fn p414pfs_ha(&self) -> &P4PFS_HA {
887        unsafe { &*(self as *const Self).cast::<u8>().add(314usize).cast() }
888    }
889    #[doc = "0x13b - Port 4%s Pin Function Select Register"]
890    #[inline(always)]
891    pub const fn p414pfs_by(&self) -> &P4PFS_BY {
892        unsafe { &*(self as *const Self).cast::<u8>().add(315usize).cast() }
893    }
894    #[doc = "0x13e - Port 4%s Pin Function Select Register"]
895    #[inline(always)]
896    pub const fn p415pfs_ha(&self) -> &P4PFS_HA {
897        unsafe { &*(self as *const Self).cast::<u8>().add(318usize).cast() }
898    }
899    #[doc = "0x13f - Port 4%s Pin Function Select Register"]
900    #[inline(always)]
901    pub const fn p415pfs_by(&self) -> &P4PFS_BY {
902        unsafe { &*(self as *const Self).cast::<u8>().add(319usize).cast() }
903    }
904    #[doc = "0x140..0x158 - Port 50%s Pin Function Select Register"]
905    #[inline(always)]
906    pub const fn p50pfs(&self) -> &[P50PFS; 6] {
907        unsafe { &*(self as *const Self).cast::<u8>().add(320usize).cast() }
908    }
909    #[doc = "0x142 - Port 50%s Pin Function Select Register"]
910    #[inline(always)]
911    pub const fn p500pfs_ha(&self) -> &P50PFS_HA {
912        unsafe { &*(self as *const Self).cast::<u8>().add(322usize).cast() }
913    }
914    #[doc = "0x143 - Port 50%s Pin Function Select Register"]
915    #[inline(always)]
916    pub const fn p500pfs_by(&self) -> &P50PFS_BY {
917        unsafe { &*(self as *const Self).cast::<u8>().add(323usize).cast() }
918    }
919    #[doc = "0x146 - Port 50%s Pin Function Select Register"]
920    #[inline(always)]
921    pub const fn p501pfs_ha(&self) -> &P50PFS_HA {
922        unsafe { &*(self as *const Self).cast::<u8>().add(326usize).cast() }
923    }
924    #[doc = "0x147 - Port 50%s Pin Function Select Register"]
925    #[inline(always)]
926    pub const fn p501pfs_by(&self) -> &P50PFS_BY {
927        unsafe { &*(self as *const Self).cast::<u8>().add(327usize).cast() }
928    }
929    #[doc = "0x14a - Port 50%s Pin Function Select Register"]
930    #[inline(always)]
931    pub const fn p502pfs_ha(&self) -> &P50PFS_HA {
932        unsafe { &*(self as *const Self).cast::<u8>().add(330usize).cast() }
933    }
934    #[doc = "0x14b - Port 50%s Pin Function Select Register"]
935    #[inline(always)]
936    pub const fn p502pfs_by(&self) -> &P50PFS_BY {
937        unsafe { &*(self as *const Self).cast::<u8>().add(331usize).cast() }
938    }
939    #[doc = "0x14e - Port 50%s Pin Function Select Register"]
940    #[inline(always)]
941    pub const fn p503pfs_ha(&self) -> &P50PFS_HA {
942        unsafe { &*(self as *const Self).cast::<u8>().add(334usize).cast() }
943    }
944    #[doc = "0x14f - Port 50%s Pin Function Select Register"]
945    #[inline(always)]
946    pub const fn p503pfs_by(&self) -> &P50PFS_BY {
947        unsafe { &*(self as *const Self).cast::<u8>().add(335usize).cast() }
948    }
949    #[doc = "0x152 - Port 50%s Pin Function Select Register"]
950    #[inline(always)]
951    pub const fn p504pfs_ha(&self) -> &P50PFS_HA {
952        unsafe { &*(self as *const Self).cast::<u8>().add(338usize).cast() }
953    }
954    #[doc = "0x153 - Port 50%s Pin Function Select Register"]
955    #[inline(always)]
956    pub const fn p504pfs_by(&self) -> &P50PFS_BY {
957        unsafe { &*(self as *const Self).cast::<u8>().add(339usize).cast() }
958    }
959    #[doc = "0x156 - Port 50%s Pin Function Select Register"]
960    #[inline(always)]
961    pub const fn p505pfs_ha(&self) -> &P50PFS_HA {
962        unsafe { &*(self as *const Self).cast::<u8>().add(342usize).cast() }
963    }
964    #[doc = "0x157 - Port 50%s Pin Function Select Register"]
965    #[inline(always)]
966    pub const fn p505pfs_by(&self) -> &P50PFS_BY {
967        unsafe { &*(self as *const Self).cast::<u8>().add(343usize).cast() }
968    }
969    #[doc = "0x180..0x190 - Port 60%s Pin Function Select Register"]
970    #[inline(always)]
971    pub const fn p60pfs(&self) -> &[P60PFS; 4] {
972        unsafe { &*(self as *const Self).cast::<u8>().add(384usize).cast() }
973    }
974    #[doc = "0x182 - Port 60%s Pin Function Select Register"]
975    #[inline(always)]
976    pub const fn p600pfs_ha(&self) -> &P60PFS_HA {
977        unsafe { &*(self as *const Self).cast::<u8>().add(386usize).cast() }
978    }
979    #[doc = "0x183 - Port 60%s Pin Function Select Register"]
980    #[inline(always)]
981    pub const fn p600pfs_by(&self) -> &P60PFS_BY {
982        unsafe { &*(self as *const Self).cast::<u8>().add(387usize).cast() }
983    }
984    #[doc = "0x186 - Port 60%s Pin Function Select Register"]
985    #[inline(always)]
986    pub const fn p601pfs_ha(&self) -> &P60PFS_HA {
987        unsafe { &*(self as *const Self).cast::<u8>().add(390usize).cast() }
988    }
989    #[doc = "0x187 - Port 60%s Pin Function Select Register"]
990    #[inline(always)]
991    pub const fn p601pfs_by(&self) -> &P60PFS_BY {
992        unsafe { &*(self as *const Self).cast::<u8>().add(391usize).cast() }
993    }
994    #[doc = "0x18a - Port 60%s Pin Function Select Register"]
995    #[inline(always)]
996    pub const fn p602pfs_ha(&self) -> &P60PFS_HA {
997        unsafe { &*(self as *const Self).cast::<u8>().add(394usize).cast() }
998    }
999    #[doc = "0x18b - Port 60%s Pin Function Select Register"]
1000    #[inline(always)]
1001    pub const fn p602pfs_by(&self) -> &P60PFS_BY {
1002        unsafe { &*(self as *const Self).cast::<u8>().add(395usize).cast() }
1003    }
1004    #[doc = "0x18e - Port 60%s Pin Function Select Register"]
1005    #[inline(always)]
1006    pub const fn p603pfs_ha(&self) -> &P60PFS_HA {
1007        unsafe { &*(self as *const Self).cast::<u8>().add(398usize).cast() }
1008    }
1009    #[doc = "0x18f - Port 60%s Pin Function Select Register"]
1010    #[inline(always)]
1011    pub const fn p603pfs_by(&self) -> &P60PFS_BY {
1012        unsafe { &*(self as *const Self).cast::<u8>().add(399usize).cast() }
1013    }
1014    #[doc = "0x1a0 - Port 60%s Pin Function Select Register"]
1015    #[inline(always)]
1016    pub const fn p608pfs(&self) -> &P608PFS {
1017        unsafe { &*(self as *const Self).cast::<u8>().add(416usize).cast() }
1018    }
1019    #[doc = "0x1a2 - Port 60%s Pin Function Select Register"]
1020    #[inline(always)]
1021    pub const fn p608pfs_ha(&self) -> &P608PFS_HA {
1022        unsafe { &*(self as *const Self).cast::<u8>().add(418usize).cast() }
1023    }
1024    #[doc = "0x1a3 - Port 60%s Pin Function Select Register"]
1025    #[inline(always)]
1026    pub const fn p608pfs_by(&self) -> &P608PFS_BY {
1027        unsafe { &*(self as *const Self).cast::<u8>().add(419usize).cast() }
1028    }
1029    #[doc = "0x1a4 - Port 60%s Pin Function Select Register"]
1030    #[inline(always)]
1031    pub const fn p609pfs(&self) -> &P608PFS {
1032        unsafe { &*(self as *const Self).cast::<u8>().add(420usize).cast() }
1033    }
1034    #[doc = "0x1a6 - Port 60%s Pin Function Select Register"]
1035    #[inline(always)]
1036    pub const fn p609pfs_ha(&self) -> &P608PFS_HA {
1037        unsafe { &*(self as *const Self).cast::<u8>().add(422usize).cast() }
1038    }
1039    #[doc = "0x1a7 - Port 60%s Pin Function Select Register"]
1040    #[inline(always)]
1041    pub const fn p609pfs_by(&self) -> &P608PFS_BY {
1042        unsafe { &*(self as *const Self).cast::<u8>().add(423usize).cast() }
1043    }
1044    #[doc = "0x1a8 - Port 610 Pin Function Select Register"]
1045    #[inline(always)]
1046    pub const fn p610pfs(&self) -> &P610PFS {
1047        unsafe { &*(self as *const Self).cast::<u8>().add(424usize).cast() }
1048    }
1049    #[doc = "0x1aa - Port 610 Pin Function Select Register"]
1050    #[inline(always)]
1051    pub const fn p610pfs_ha(&self) -> &P610PFS_HA {
1052        unsafe { &*(self as *const Self).cast::<u8>().add(426usize).cast() }
1053    }
1054    #[doc = "0x1ab - Port 610 Pin Function Select Register"]
1055    #[inline(always)]
1056    pub const fn p610pfs_by(&self) -> &P610PFS_BY {
1057        unsafe { &*(self as *const Self).cast::<u8>().add(427usize).cast() }
1058    }
1059    #[doc = "0x1e0 - Port 708 Pin Function Select Register"]
1060    #[inline(always)]
1061    pub const fn p708pfs(&self) -> &P708PFS {
1062        unsafe { &*(self as *const Self).cast::<u8>().add(480usize).cast() }
1063    }
1064    #[doc = "0x1e2 - Port 708 Pin Function Select Register"]
1065    #[inline(always)]
1066    pub const fn p708pfs_ha(&self) -> &P708PFS_HA {
1067        unsafe { &*(self as *const Self).cast::<u8>().add(482usize).cast() }
1068    }
1069    #[doc = "0x1e3 - Port 708 Pin Function Select Register"]
1070    #[inline(always)]
1071    pub const fn p708pfs_by(&self) -> &P708PFS_BY {
1072        unsafe { &*(self as *const Self).cast::<u8>().add(483usize).cast() }
1073    }
1074}
1075#[doc = "P00PFS (rw) register accessor: an alias for `Reg<P00PFS_SPEC>`"]
1076pub type P00PFS = crate::Reg<p00pfs::P00PFS_SPEC>;
1077#[doc = "Port 00%s Pin Function Select Register"]
1078pub mod p00pfs;
1079#[doc = "P00PFS_HA (rw) register accessor: an alias for `Reg<P00PFS_HA_SPEC>`"]
1080pub type P00PFS_HA = crate::Reg<p00pfs_ha::P00PFS_HA_SPEC>;
1081#[doc = "Port 00%s Pin Function Select Register"]
1082pub mod p00pfs_ha;
1083#[doc = "P00PFS_BY (rw) register accessor: an alias for `Reg<P00PFS_BY_SPEC>`"]
1084pub type P00PFS_BY = crate::Reg<p00pfs_by::P00PFS_BY_SPEC>;
1085#[doc = "Port 00%s Pin Function Select Register"]
1086pub mod p00pfs_by;
1087#[doc = "P008PFS (rw) register accessor: an alias for `Reg<P008PFS_SPEC>`"]
1088pub type P008PFS = crate::Reg<p008pfs::P008PFS_SPEC>;
1089#[doc = "Port 008 Pin Function Select Register"]
1090pub mod p008pfs;
1091#[doc = "P008PFS_HA (rw) register accessor: an alias for `Reg<P008PFS_HA_SPEC>`"]
1092pub type P008PFS_HA = crate::Reg<p008pfs_ha::P008PFS_HA_SPEC>;
1093#[doc = "Port 008 Pin Function Select Register"]
1094pub mod p008pfs_ha;
1095#[doc = "P008PFS_BY (rw) register accessor: an alias for `Reg<P008PFS_BY_SPEC>`"]
1096pub type P008PFS_BY = crate::Reg<p008pfs_by::P008PFS_BY_SPEC>;
1097#[doc = "Port 008 Pin Function Select Register"]
1098pub mod p008pfs_by;
1099#[doc = "P0PFS (rw) register accessor: an alias for `Reg<P0PFS_SPEC>`"]
1100pub type P0PFS = crate::Reg<p0pfs::P0PFS_SPEC>;
1101#[doc = "Port 0%s Pin Function Select Register"]
1102pub mod p0pfs;
1103#[doc = "P0PFS_HA (rw) register accessor: an alias for `Reg<P0PFS_HA_SPEC>`"]
1104pub type P0PFS_HA = crate::Reg<p0pfs_ha::P0PFS_HA_SPEC>;
1105#[doc = "Port 0%s Pin Function Select Register"]
1106pub mod p0pfs_ha;
1107#[doc = "P0PFS_BY (rw) register accessor: an alias for `Reg<P0PFS_BY_SPEC>`"]
1108pub type P0PFS_BY = crate::Reg<p0pfs_by::P0PFS_BY_SPEC>;
1109#[doc = "Port 0%s Pin Function Select Register"]
1110pub mod p0pfs_by;
1111#[doc = "P10PFS (rw) register accessor: an alias for `Reg<P10PFS_SPEC>`"]
1112pub type P10PFS = crate::Reg<p10pfs::P10PFS_SPEC>;
1113#[doc = "Port 10%s Pin Function Select Register"]
1114pub mod p10pfs;
1115#[doc = "P10PFS_HA (rw) register accessor: an alias for `Reg<P10PFS_HA_SPEC>`"]
1116pub type P10PFS_HA = crate::Reg<p10pfs_ha::P10PFS_HA_SPEC>;
1117#[doc = "Port 10%s Pin Function Select Register"]
1118pub mod p10pfs_ha;
1119#[doc = "P10PFS_BY (rw) register accessor: an alias for `Reg<P10PFS_BY_SPEC>`"]
1120pub type P10PFS_BY = crate::Reg<p10pfs_by::P10PFS_BY_SPEC>;
1121#[doc = "Port 10%s Pin Function Select Register"]
1122pub mod p10pfs_by;
1123#[doc = "P1PFS (rw) register accessor: an alias for `Reg<P1PFS_SPEC>`"]
1124pub type P1PFS = crate::Reg<p1pfs::P1PFS_SPEC>;
1125#[doc = "Port 1%s Pin Function Select Register"]
1126pub mod p1pfs;
1127#[doc = "P1PFS_HA (rw) register accessor: an alias for `Reg<P1PFS_HA_SPEC>`"]
1128pub type P1PFS_HA = crate::Reg<p1pfs_ha::P1PFS_HA_SPEC>;
1129#[doc = "Port 1%s Pin Function Select Register"]
1130pub mod p1pfs_ha;
1131#[doc = "P1PFS_BY (rw) register accessor: an alias for `Reg<P1PFS_BY_SPEC>`"]
1132pub type P1PFS_BY = crate::Reg<p1pfs_by::P1PFS_BY_SPEC>;
1133#[doc = "Port 1%s Pin Function Select Register"]
1134pub mod p1pfs_by;
1135pub use p20pfs as p200pfs;
1136pub use p20pfs_by as p200pfs_by;
1137pub use p20pfs_ha as p200pfs_ha;
1138pub use P20PFS as P200PFS;
1139pub use P20PFS_BY as P200PFS_BY;
1140pub use P20PFS_HA as P200PFS_HA;
1141#[doc = "P201PFS (rw) register accessor: an alias for `Reg<P201PFS_SPEC>`"]
1142pub type P201PFS = crate::Reg<p201pfs::P201PFS_SPEC>;
1143#[doc = "Port 201 Pin Function Select Register"]
1144pub mod p201pfs;
1145#[doc = "P201PFS_HA (rw) register accessor: an alias for `Reg<P201PFS_HA_SPEC>`"]
1146pub type P201PFS_HA = crate::Reg<p201pfs_ha::P201PFS_HA_SPEC>;
1147#[doc = "Port 201 Pin Function Select Register"]
1148pub mod p201pfs_ha;
1149#[doc = "P201PFS_BY (rw) register accessor: an alias for `Reg<P201PFS_BY_SPEC>`"]
1150pub type P201PFS_BY = crate::Reg<p201pfs_by::P201PFS_BY_SPEC>;
1151#[doc = "Port 201 Pin Function Select Register"]
1152pub mod p201pfs_by;
1153#[doc = "P20PFS (rw) register accessor: an alias for `Reg<P20PFS_SPEC>`"]
1154pub type P20PFS = crate::Reg<p20pfs::P20PFS_SPEC>;
1155#[doc = "Port 20%s Pin Function Select Register"]
1156pub mod p20pfs;
1157#[doc = "P20PFS_HA (rw) register accessor: an alias for `Reg<P20PFS_HA_SPEC>`"]
1158pub type P20PFS_HA = crate::Reg<p20pfs_ha::P20PFS_HA_SPEC>;
1159#[doc = "Port 20%s Pin Function Select Register"]
1160pub mod p20pfs_ha;
1161#[doc = "P20PFS_BY (rw) register accessor: an alias for `Reg<P20PFS_BY_SPEC>`"]
1162pub type P20PFS_BY = crate::Reg<p20pfs_by::P20PFS_BY_SPEC>;
1163#[doc = "Port 20%s Pin Function Select Register"]
1164pub mod p20pfs_by;
1165pub use p20pfs as p210pfs;
1166pub use p20pfs_by as p210pfs_by;
1167pub use p20pfs_ha as p210pfs_ha;
1168pub use P20PFS as P210PFS;
1169pub use P20PFS_BY as P210PFS_BY;
1170pub use P20PFS_HA as P210PFS_HA;
1171#[doc = "P300PFS (rw) register accessor: an alias for `Reg<P300PFS_SPEC>`"]
1172pub type P300PFS = crate::Reg<p300pfs::P300PFS_SPEC>;
1173#[doc = "Port 300 Pin Function Select Register"]
1174pub mod p300pfs;
1175#[doc = "P300PFS_HA (rw) register accessor: an alias for `Reg<P300PFS_HA_SPEC>`"]
1176pub type P300PFS_HA = crate::Reg<p300pfs_ha::P300PFS_HA_SPEC>;
1177#[doc = "Port 300 Pin Function Select Register"]
1178pub mod p300pfs_ha;
1179#[doc = "P300PFS_BY (rw) register accessor: an alias for `Reg<P300PFS_BY_SPEC>`"]
1180pub type P300PFS_BY = crate::Reg<p300pfs_by::P300PFS_BY_SPEC>;
1181#[doc = "Port 300 Pin Function Select Register"]
1182pub mod p300pfs_by;
1183#[doc = "P30PFS (rw) register accessor: an alias for `Reg<P30PFS_SPEC>`"]
1184pub type P30PFS = crate::Reg<p30pfs::P30PFS_SPEC>;
1185#[doc = "Port 30%s Pin Function Select Register"]
1186pub mod p30pfs;
1187#[doc = "P30PFS_HA (rw) register accessor: an alias for `Reg<P30PFS_HA_SPEC>`"]
1188pub type P30PFS_HA = crate::Reg<p30pfs_ha::P30PFS_HA_SPEC>;
1189#[doc = "Port 30%s Pin Function Select Register"]
1190pub mod p30pfs_ha;
1191#[doc = "P30PFS_BY (rw) register accessor: an alias for `Reg<P30PFS_BY_SPEC>`"]
1192pub type P30PFS_BY = crate::Reg<p30pfs_by::P30PFS_BY_SPEC>;
1193#[doc = "Port 30%s Pin Function Select Register"]
1194pub mod p30pfs_by;
1195#[doc = "P40PFS (rw) register accessor: an alias for `Reg<P40PFS_SPEC>`"]
1196pub type P40PFS = crate::Reg<p40pfs::P40PFS_SPEC>;
1197#[doc = "Port 40%s Pin Function Select Register"]
1198pub mod p40pfs;
1199#[doc = "P40PFS_HA (rw) register accessor: an alias for `Reg<P40PFS_HA_SPEC>`"]
1200pub type P40PFS_HA = crate::Reg<p40pfs_ha::P40PFS_HA_SPEC>;
1201#[doc = "Port 40%s Pin Function Select Register"]
1202pub mod p40pfs_ha;
1203#[doc = "P40PFS_BY (rw) register accessor: an alias for `Reg<P40PFS_BY_SPEC>`"]
1204pub type P40PFS_BY = crate::Reg<p40pfs_by::P40PFS_BY_SPEC>;
1205#[doc = "Port 40%s Pin Function Select Register"]
1206pub mod p40pfs_by;
1207#[doc = "P4PFS (rw) register accessor: an alias for `Reg<P4PFS_SPEC>`"]
1208pub type P4PFS = crate::Reg<p4pfs::P4PFS_SPEC>;
1209#[doc = "Port 4%s Pin Function Select Register"]
1210pub mod p4pfs;
1211#[doc = "P4PFS_HA (rw) register accessor: an alias for `Reg<P4PFS_HA_SPEC>`"]
1212pub type P4PFS_HA = crate::Reg<p4pfs_ha::P4PFS_HA_SPEC>;
1213#[doc = "Port 4%s Pin Function Select Register"]
1214pub mod p4pfs_ha;
1215#[doc = "P4PFS_BY (rw) register accessor: an alias for `Reg<P4PFS_BY_SPEC>`"]
1216pub type P4PFS_BY = crate::Reg<p4pfs_by::P4PFS_BY_SPEC>;
1217#[doc = "Port 4%s Pin Function Select Register"]
1218pub mod p4pfs_by;
1219#[doc = "P50PFS (rw) register accessor: an alias for `Reg<P50PFS_SPEC>`"]
1220pub type P50PFS = crate::Reg<p50pfs::P50PFS_SPEC>;
1221#[doc = "Port 50%s Pin Function Select Register"]
1222pub mod p50pfs;
1223#[doc = "P50PFS_HA (rw) register accessor: an alias for `Reg<P50PFS_HA_SPEC>`"]
1224pub type P50PFS_HA = crate::Reg<p50pfs_ha::P50PFS_HA_SPEC>;
1225#[doc = "Port 50%s Pin Function Select Register"]
1226pub mod p50pfs_ha;
1227#[doc = "P50PFS_BY (rw) register accessor: an alias for `Reg<P50PFS_BY_SPEC>`"]
1228pub type P50PFS_BY = crate::Reg<p50pfs_by::P50PFS_BY_SPEC>;
1229#[doc = "Port 50%s Pin Function Select Register"]
1230pub mod p50pfs_by;
1231#[doc = "P60PFS (rw) register accessor: an alias for `Reg<P60PFS_SPEC>`"]
1232pub type P60PFS = crate::Reg<p60pfs::P60PFS_SPEC>;
1233#[doc = "Port 60%s Pin Function Select Register"]
1234pub mod p60pfs;
1235#[doc = "P60PFS_HA (rw) register accessor: an alias for `Reg<P60PFS_HA_SPEC>`"]
1236pub type P60PFS_HA = crate::Reg<p60pfs_ha::P60PFS_HA_SPEC>;
1237#[doc = "Port 60%s Pin Function Select Register"]
1238pub mod p60pfs_ha;
1239#[doc = "P60PFS_BY (rw) register accessor: an alias for `Reg<P60PFS_BY_SPEC>`"]
1240pub type P60PFS_BY = crate::Reg<p60pfs_by::P60PFS_BY_SPEC>;
1241#[doc = "Port 60%s Pin Function Select Register"]
1242pub mod p60pfs_by;
1243pub use p60pfs as p608pfs;
1244pub use p60pfs_by as p608pfs_by;
1245pub use p60pfs_ha as p608pfs_ha;
1246pub use P60PFS as P608PFS;
1247pub use P60PFS_BY as P608PFS_BY;
1248pub use P60PFS_HA as P608PFS_HA;
1249#[doc = "P610PFS (rw) register accessor: an alias for `Reg<P610PFS_SPEC>`"]
1250pub type P610PFS = crate::Reg<p610pfs::P610PFS_SPEC>;
1251#[doc = "Port 610 Pin Function Select Register"]
1252pub mod p610pfs;
1253#[doc = "P610PFS_HA (rw) register accessor: an alias for `Reg<P610PFS_HA_SPEC>`"]
1254pub type P610PFS_HA = crate::Reg<p610pfs_ha::P610PFS_HA_SPEC>;
1255#[doc = "Port 610 Pin Function Select Register"]
1256pub mod p610pfs_ha;
1257#[doc = "P610PFS_BY (rw) register accessor: an alias for `Reg<P610PFS_BY_SPEC>`"]
1258pub type P610PFS_BY = crate::Reg<p610pfs_by::P610PFS_BY_SPEC>;
1259#[doc = "Port 610 Pin Function Select Register"]
1260pub mod p610pfs_by;
1261#[doc = "P708PFS (rw) register accessor: an alias for `Reg<P708PFS_SPEC>`"]
1262pub type P708PFS = crate::Reg<p708pfs::P708PFS_SPEC>;
1263#[doc = "Port 708 Pin Function Select Register"]
1264pub mod p708pfs;
1265#[doc = "P708PFS_HA (rw) register accessor: an alias for `Reg<P708PFS_HA_SPEC>`"]
1266pub type P708PFS_HA = crate::Reg<p708pfs_ha::P708PFS_HA_SPEC>;
1267#[doc = "Port 708 Pin Function Select Register"]
1268pub mod p708pfs_ha;
1269#[doc = "P708PFS_BY (rw) register accessor: an alias for `Reg<P708PFS_BY_SPEC>`"]
1270pub type P708PFS_BY = crate::Reg<p708pfs_by::P708PFS_BY_SPEC>;
1271#[doc = "Port 708 Pin Function Select Register"]
1272pub mod p708pfs_by;
1273#[doc = "PWPR (rw) register accessor: an alias for `Reg<PWPR_SPEC>`"]
1274pub type PWPR = crate::Reg<pwpr::PWPR_SPEC>;
1275#[doc = "Write-Protect Register"]
1276pub mod pwpr;
1277#[doc = "PWPRS (rw) register accessor: an alias for `Reg<PWPRS_SPEC>`"]
1278pub type PWPRS = crate::Reg<pwprs::PWPRS_SPEC>;
1279#[doc = "Write-Protect Register for Secure"]
1280pub mod pwprs;
1281#[doc = "PSAR (rw) register accessor: an alias for `Reg<PSAR_SPEC>`"]
1282pub type PSAR = crate::Reg<psar::PSAR_SPEC>;
1283#[doc = "Port Security Attribution register"]
1284pub mod psar;