lpc55s6x/
iocon.rs

1// Licensed under the Apache License, Version 2.0 or the MIT License.
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3// Copyright Tock Contributors 2025.
4
5//! I/O Configuration (IOCON) driver for the LPC55S6x family.
6//!
7//! The IOCON block controls the electrical characteristics and multiplexing
8//! of the device’s pins. Each pin can be configured for one of several
9//! functions and with specific pad settings.
10//!
11//! Features supported:
12//! - Pin function selection (connects pins to GPIO, Flexcomm, CTIMER, etc.)
13//! - Pull‑up, pull‑down, or inactive resistor modes
14//! - Input hysteresis and input inversion
15//! - Slew rate and drive strength control
16//! - Open‑drain enable for wired‑OR connections
17//! - Digital/analog mode selection
18//!
19//! Reference: *LPC55S6x/LPC55S2x/LPC552x User Manual* (NXP).
20
21use crate::gpio::LPCPin;
22use kernel::utilities::registers::interfaces::Writeable;
23use kernel::utilities::registers::{register_bitfields, register_structs, ReadWrite};
24use kernel::utilities::StaticRef;
25
26register_structs! {
27    /// I/O pin configuration (IOCON)
28    pub IoconRegisters {
29        /// Digital I/O control for port 0 pins PIO0_0
30        (0x000 => pio0_0: ReadWrite<u32, PIO0_0::Register>),
31        /// Digital I/O control for port 0 pins PIO0_1
32        (0x004 => pio0_1: ReadWrite<u32, PIO0_1::Register>),
33        /// Digital I/O control for port 0 pins PIO0_2
34        (0x008 => pio0_2: ReadWrite<u32, PIO0_2::Register>),
35        /// Digital I/O control for port 0 pins PIO0_3
36        (0x00C => pio0_3: ReadWrite<u32, PIO0_3::Register>),
37        /// Digital I/O control for port 0 pins PIO0_4
38        (0x010 => pio0_4: ReadWrite<u32, PIO0_4::Register>),
39        /// Digital I/O control for port 0 pins PIO0_5
40        (0x014 => pio0_5: ReadWrite<u32, PIO0_5::Register>),
41        /// Digital I/O control for port 0 pins PIO0_6
42        (0x018 => pio0_6: ReadWrite<u32, PIO0_6::Register>),
43        /// Digital I/O control for port 0 pins PIO0_7
44        (0x01C => pio0_7: ReadWrite<u32, PIO0_7::Register>),
45        /// Digital I/O control for port 0 pins PIO0_8
46        (0x020 => pio0_8: ReadWrite<u32, PIO0_8::Register>),
47        /// Digital I/O control for port 0 pins PIO0_9
48        (0x024 => pio0_9: ReadWrite<u32, PIO0_9::Register>),
49        /// Digital I/O control for port 0 pins PIO0_10
50        (0x028 => pio0_10: ReadWrite<u32, PIO0_10::Register>),
51        /// Digital I/O control for port 0 pins PIO0_11
52        (0x02C => pio0_11: ReadWrite<u32, PIO0_11::Register>),
53        /// Digital I/O control for port 0 pins PIO0_12
54        (0x030 => pio0_12: ReadWrite<u32, PIO0_12::Register>),
55        /// Digital I/O control for port 0 pins PIO0_13
56        (0x034 => pio0_13: ReadWrite<u32, PIO0_13::Register>),
57        /// Digital I/O control for port 0 pins PIO0_14
58        (0x038 => pio0_14: ReadWrite<u32, PIO0_14::Register>),
59        /// Digital I/O control for port 0 pins PIO0_15
60        (0x03C => pio0_15: ReadWrite<u32, PIO0_15::Register>),
61        /// Digital I/O control for port 0 pins PIO0_16
62        (0x040 => pio0_16: ReadWrite<u32, PIO0_16::Register>),
63        /// Digital I/O control for port 0 pins PIO0_17
64        (0x044 => pio0_17: ReadWrite<u32, PIO0_17::Register>),
65        /// Digital I/O control for port 0 pins PIO0_18
66        (0x048 => pio0_18: ReadWrite<u32, PIO0_18::Register>),
67        /// Digital I/O control for port 0 pins PIO0_19
68        (0x04C => pio0_19: ReadWrite<u32, PIO0_19::Register>),
69        /// Digital I/O control for port 0 pins PIO0_20
70        (0x050 => pio0_20: ReadWrite<u32, PIO0_20::Register>),
71        /// Digital I/O control for port 0 pins PIO0_21
72        (0x054 => pio0_21: ReadWrite<u32, PIO0_21::Register>),
73        /// Digital I/O control for port 0 pins PIO0_22
74        (0x058 => pio0_22: ReadWrite<u32, PIO0_22::Register>),
75        /// Digital I/O control for port 0 pins PIO0_23
76        (0x05C => pio0_23: ReadWrite<u32, PIO0_23::Register>),
77        /// Digital I/O control for port 0 pins PIO0_24
78        (0x060 => pio0_24: ReadWrite<u32, PIO0_24::Register>),
79        /// Digital I/O control for port 0 pins PIO0_25
80        (0x064 => pio0_25: ReadWrite<u32, PIO0_25::Register>),
81        /// Digital I/O control for port 0 pins PIO0_26
82        (0x068 => pio0_26: ReadWrite<u32, PIO0_26::Register>),
83        /// Digital I/O control for port 0 pins PIO0_27
84        (0x06C => pio0_27: ReadWrite<u32, PIO0_27::Register>),
85        /// Digital I/O control for port 0 pins PIO0_28
86        (0x070 => pio0_28: ReadWrite<u32, PIO0_28::Register>),
87        /// Digital I/O control for port 0 pins PIO0_29
88        (0x074 => pio0_29: ReadWrite<u32, PIO0_29::Register>),
89        /// Digital I/O control for port 0 pins PIO0_30
90        (0x078 => pio0_30: ReadWrite<u32, PIO0_30::Register>),
91        /// Digital I/O control for port 0 pins PIO0_31
92        (0x07C => pio0_31: ReadWrite<u32, PIO0_31::Register>),
93        /// Digital I/O control for port 1 pins PIO1_0
94        (0x080 => pio1_0: ReadWrite<u32, PIO1_0::Register>),
95        /// Digital I/O control for port 1 pins PIO1_1
96        (0x084 => pio1_1: ReadWrite<u32, PIO1_1::Register>),
97        /// Digital I/O control for port 1 pins PIO1_2
98        (0x088 => pio1_2: ReadWrite<u32, PIO1_2::Register>),
99        /// Digital I/O control for port 1 pins PIO1_3
100        (0x08C => pio1_3: ReadWrite<u32, PIO1_3::Register>),
101        /// Digital I/O control for port 1 pins PIO1_4
102        (0x090 => pio1_4: ReadWrite<u32, PIO1_4::Register>),
103        /// Digital I/O control for port 1 pins PIO1_5
104        (0x094 => pio1_5: ReadWrite<u32, PIO1_5::Register>),
105        /// Digital I/O control for port 1 pins PIO1_6
106        (0x098 => pio1_6: ReadWrite<u32, PIO1_6::Register>),
107        /// Digital I/O control for port 1 pins PIO1_7
108        (0x09C => pio1_7: ReadWrite<u32, PIO1_7::Register>),
109        /// Digital I/O control for port 1 pins PIO1_8
110        (0x0A0 => pio1_8: ReadWrite<u32, PIO1_8::Register>),
111        /// Digital I/O control for port 1 pins PIO1_9
112        (0x0A4 => pio1_9: ReadWrite<u32, PIO1_9::Register>),
113        /// Digital I/O control for port 1 pins PIO1_10
114        (0x0A8 => pio1_10: ReadWrite<u32, PIO1_10::Register>),
115        /// Digital I/O control for port 1 pins PIO1_11
116        (0x0AC => pio1_11: ReadWrite<u32, PIO1_11::Register>),
117        /// Digital I/O control for port 1 pins PIO1_12
118        (0x0B0 => pio1_12: ReadWrite<u32, PIO1_12::Register>),
119        /// Digital I/O control for port 1 pins PIO1_13
120        (0x0B4 => pio1_13: ReadWrite<u32, PIO1_13::Register>),
121        /// Digital I/O control for port 1 pins PIO1_14
122        (0x0B8 => pio1_14: ReadWrite<u32, PIO1_14::Register>),
123        /// Digital I/O control for port 1 pins PIO1_15
124        (0x0BC => pio1_15: ReadWrite<u32, PIO1_15::Register>),
125        /// Digital I/O control for port 1 pins PIO1_16
126        (0x0C0 => pio1_16: ReadWrite<u32, PIO1_16::Register>),
127        /// Digital I/O control for port 1 pins PIO1_17
128        (0x0C4 => pio1_17: ReadWrite<u32, PIO1_17::Register>),
129        /// Digital I/O control for port 1 pins PIO1_18
130        (0x0C8 => pio1_18: ReadWrite<u32, PIO1_18::Register>),
131        /// Digital I/O control for port 1 pins PIO1_19
132        (0x0CC => pio1_19: ReadWrite<u32, PIO1_19::Register>),
133        /// Digital I/O control for port 1 pins PIO1_20
134        (0x0D0 => pio1_20: ReadWrite<u32, PIO1_20::Register>),
135        /// Digital I/O control for port 1 pins PIO1_21
136        (0x0D4 => pio1_21: ReadWrite<u32, PIO1_21::Register>),
137        /// Digital I/O control for port 1 pins PIO1_22
138        (0x0D8 => pio1_22: ReadWrite<u32, PIO1_22::Register>),
139        /// Digital I/O control for port 1 pins PIO1_23
140        (0x0DC => pio1_23: ReadWrite<u32, PIO1_23::Register>),
141        /// Digital I/O control for port 1 pins PIO1_24
142        (0x0E0 => pio1_24: ReadWrite<u32, PIO1_24::Register>),
143        /// Digital I/O control for port 1 pins PIO1_25
144        (0x0E4 => pio1_25: ReadWrite<u32, PIO1_25::Register>),
145        /// Digital I/O control for port 1 pins PIO1_26
146        (0x0E8 => pio1_26: ReadWrite<u32, PIO1_26::Register>),
147        /// Digital I/O control for port 1 pins PIO1_27
148        (0x0EC => pio1_27: ReadWrite<u32, PIO1_27::Register>),
149        /// Digital I/O control for port 1 pins PIO1_28
150        (0x0F0 => pio1_28: ReadWrite<u32, PIO1_28::Register>),
151        /// Digital I/O control for port 1 pins PIO1_29
152        (0x0F4 => pio1_29: ReadWrite<u32, PIO1_29::Register>),
153        /// Digital I/O control for port 1 pins PIO1_30
154        (0x0F8 => pio1_30: ReadWrite<u32, PIO1_30::Register>),
155        /// Digital I/O control for port 1 pins PIO1_31
156        (0x0FC => pio1_31: ReadWrite<u32, PIO1_31::Register>),
157        (0x100 => @END),
158    }
159}
160register_bitfields![u32,
161PIO0_0 [
162    /// Selects pin function.
163    FUNC OFFSET(0) NUMBITS(4) [
164        /// Alternative connection 0.
165        AlternativeConnection0 = 0,
166        /// Alternative connection 1.
167        AlternativeConnection1 = 1,
168        /// Alternative connection 2.
169        AlternativeConnection2 = 2,
170        /// Alternative connection 3.
171        AlternativeConnection3 = 3,
172        /// Alternative connection 4.
173        AlternativeConnection4 = 4,
174        /// Alternative connection 5.
175        AlternativeConnection5 = 5,
176        /// Alternative connection 6.
177        AlternativeConnection6 = 6,
178        /// Alternative connection 7.
179        AlternativeConnection7 = 7
180    ],
181    /// Selects function mode (on-chip pull-up/pull-down resistor control).
182    MODE OFFSET(4) NUMBITS(2) [
183        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
184        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
185        /// Pull-down. Pull-down resistor enabled.
186        PullDownPullDownResistorEnabled = 1,
187        /// Pull-up. Pull-up resistor enabled.
188        PullUpPullUpResistorEnabled = 2,
189        /// Repeater. Repeater mode.
190        RepeaterRepeaterMode = 3
191    ],
192    /// Driver slew rate.
193    SLEW OFFSET(6) NUMBITS(1) [
194        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
195        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
196        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
197        FAST = 1
198    ],
199    /// Input polarity.
200    INVERT OFFSET(7) NUMBITS(1) [
201        /// Disabled. Input function is not inverted.
202        DisabledInputFunctionIsNotInverted = 0,
203        /// Enabled. Input is function inverted.
204        EnabledInputIsFunctionInverted = 1
205    ],
206    /// Select Digital mode.
207    DIGIMODE OFFSET(8) NUMBITS(1) [
208        /// Disable digital mode. Digital input set to 0.
209        DisableDigitalModeDigitalInputSetTo0 = 0,
210        /// Enable Digital mode. Digital input is enabled.
211        EnableDigitalModeDigitalInputIsEnabled = 1
212    ],
213    /// Controls open-drain mode.
214    OD OFFSET(9) NUMBITS(1) [
215        /// Normal. Normal push-pull output
216        NormalNormalPushPullOutput = 0,
217        /// Open-drain. Simulated open-drain output (high drive disabled).
218        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
219    ],
220    /// Analog switch input control.
221    ASW OFFSET(10) NUMBITS(1) [
222        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
223        VALUE0 = 0,
224        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
225        VALUE1 = 1
226    ]
227],
228PIO0_1 [
229    /// Selects pin function.
230    FUNC OFFSET(0) NUMBITS(4) [
231        /// Alternative connection 0.
232        AlternativeConnection0 = 0,
233        /// Alternative connection 1.
234        AlternativeConnection1 = 1,
235        /// Alternative connection 2.
236        AlternativeConnection2 = 2,
237        /// Alternative connection 3.
238        AlternativeConnection3 = 3,
239        /// Alternative connection 4.
240        AlternativeConnection4 = 4,
241        /// Alternative connection 5.
242        AlternativeConnection5 = 5,
243        /// Alternative connection 6.
244        AlternativeConnection6 = 6,
245        /// Alternative connection 7.
246        AlternativeConnection7 = 7
247    ],
248    /// Selects function mode (on-chip pull-up/pull-down resistor control).
249    MODE OFFSET(4) NUMBITS(2) [
250        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
251        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
252        /// Pull-down. Pull-down resistor enabled.
253        PullDownPullDownResistorEnabled = 1,
254        /// Pull-up. Pull-up resistor enabled.
255        PullUpPullUpResistorEnabled = 2,
256        /// Repeater. Repeater mode.
257        RepeaterRepeaterMode = 3
258    ],
259    /// Driver slew rate.
260    SLEW OFFSET(6) NUMBITS(1) [
261        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
262        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
263        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
264        FAST = 1
265    ],
266    /// Input polarity.
267    INVERT OFFSET(7) NUMBITS(1) [
268        /// Disabled. Input function is not inverted.
269        DisabledInputFunctionIsNotInverted = 0,
270        /// Enabled. Input is function inverted.
271        EnabledInputIsFunctionInverted = 1
272    ],
273    /// Select Digital mode.
274    DIGIMODE OFFSET(8) NUMBITS(1) [
275        /// Disable digital mode. Digital input set to 0.
276        DisableDigitalModeDigitalInputSetTo0 = 0,
277        /// Enable Digital mode. Digital input is enabled.
278        EnableDigitalModeDigitalInputIsEnabled = 1
279    ],
280    /// Controls open-drain mode.
281    OD OFFSET(9) NUMBITS(1) [
282        /// Normal. Normal push-pull output
283        NormalNormalPushPullOutput = 0,
284        /// Open-drain. Simulated open-drain output (high drive disabled).
285        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
286    ]
287],
288PIO0_2 [
289    /// Selects pin function.
290    FUNC OFFSET(0) NUMBITS(4) [
291        /// Alternative connection 0.
292        AlternativeConnection0 = 0,
293        /// Alternative connection 1.
294        AlternativeConnection1 = 1,
295        /// Alternative connection 2.
296        AlternativeConnection2 = 2,
297        /// Alternative connection 3.
298        AlternativeConnection3 = 3,
299        /// Alternative connection 4.
300        AlternativeConnection4 = 4,
301        /// Alternative connection 5.
302        AlternativeConnection5 = 5,
303        /// Alternative connection 6.
304        AlternativeConnection6 = 6,
305        /// Alternative connection 7.
306        AlternativeConnection7 = 7
307    ],
308    /// Selects function mode (on-chip pull-up/pull-down resistor control).
309    MODE OFFSET(4) NUMBITS(2) [
310        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
311        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
312        /// Pull-down. Pull-down resistor enabled.
313        PullDownPullDownResistorEnabled = 1,
314        /// Pull-up. Pull-up resistor enabled.
315        PullUpPullUpResistorEnabled = 2,
316        /// Repeater. Repeater mode.
317        RepeaterRepeaterMode = 3
318    ],
319    /// Driver slew rate.
320    SLEW OFFSET(6) NUMBITS(1) [
321        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
322        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
323        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
324        FAST = 1
325    ],
326    /// Input polarity.
327    INVERT OFFSET(7) NUMBITS(1) [
328        /// Disabled. Input function is not inverted.
329        DisabledInputFunctionIsNotInverted = 0,
330        /// Enabled. Input is function inverted.
331        EnabledInputIsFunctionInverted = 1
332    ],
333    /// Select Digital mode.
334    DIGIMODE OFFSET(8) NUMBITS(1) [
335        /// Disable digital mode. Digital input set to 0.
336        DisableDigitalModeDigitalInputSetTo0 = 0,
337        /// Enable Digital mode. Digital input is enabled.
338        EnableDigitalModeDigitalInputIsEnabled = 1
339    ],
340    /// Controls open-drain mode.
341    OD OFFSET(9) NUMBITS(1) [
342        /// Normal. Normal push-pull output
343        NormalNormalPushPullOutput = 0,
344        /// Open-drain. Simulated open-drain output (high drive disabled).
345        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
346    ]
347],
348PIO0_3 [
349    /// Selects pin function.
350    FUNC OFFSET(0) NUMBITS(4) [
351        /// Alternative connection 0.
352        AlternativeConnection0 = 0,
353        /// Alternative connection 1.
354        AlternativeConnection1 = 1,
355        /// Alternative connection 2.
356        AlternativeConnection2 = 2,
357        /// Alternative connection 3.
358        AlternativeConnection3 = 3,
359        /// Alternative connection 4.
360        AlternativeConnection4 = 4,
361        /// Alternative connection 5.
362        AlternativeConnection5 = 5,
363        /// Alternative connection 6.
364        AlternativeConnection6 = 6,
365        /// Alternative connection 7.
366        AlternativeConnection7 = 7
367    ],
368    /// Selects function mode (on-chip pull-up/pull-down resistor control).
369    MODE OFFSET(4) NUMBITS(2) [
370        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
371        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
372        /// Pull-down. Pull-down resistor enabled.
373        PullDownPullDownResistorEnabled = 1,
374        /// Pull-up. Pull-up resistor enabled.
375        PullUpPullUpResistorEnabled = 2,
376        /// Repeater. Repeater mode.
377        RepeaterRepeaterMode = 3
378    ],
379    /// Driver slew rate.
380    SLEW OFFSET(6) NUMBITS(1) [
381        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
382        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
383        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
384        FAST = 1
385    ],
386    /// Input polarity.
387    INVERT OFFSET(7) NUMBITS(1) [
388        /// Disabled. Input function is not inverted.
389        DisabledInputFunctionIsNotInverted = 0,
390        /// Enabled. Input is function inverted.
391        EnabledInputIsFunctionInverted = 1
392    ],
393    /// Select Digital mode.
394    DIGIMODE OFFSET(8) NUMBITS(1) [
395        /// Disable digital mode. Digital input set to 0.
396        DisableDigitalModeDigitalInputSetTo0 = 0,
397        /// Enable Digital mode. Digital input is enabled.
398        EnableDigitalModeDigitalInputIsEnabled = 1
399    ],
400    /// Controls open-drain mode.
401    OD OFFSET(9) NUMBITS(1) [
402        /// Normal. Normal push-pull output
403        NormalNormalPushPullOutput = 0,
404        /// Open-drain. Simulated open-drain output (high drive disabled).
405        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
406    ]
407],
408PIO0_4 [
409    /// Selects pin function.
410    FUNC OFFSET(0) NUMBITS(4) [
411        /// Alternative connection 0.
412        AlternativeConnection0 = 0,
413        /// Alternative connection 1.
414        AlternativeConnection1 = 1,
415        /// Alternative connection 2.
416        AlternativeConnection2 = 2,
417        /// Alternative connection 3.
418        AlternativeConnection3 = 3,
419        /// Alternative connection 4.
420        AlternativeConnection4 = 4,
421        /// Alternative connection 5.
422        AlternativeConnection5 = 5,
423        /// Alternative connection 6.
424        AlternativeConnection6 = 6,
425        /// Alternative connection 7.
426        AlternativeConnection7 = 7
427    ],
428    /// Selects function mode (on-chip pull-up/pull-down resistor control).
429    MODE OFFSET(4) NUMBITS(2) [
430        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
431        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
432        /// Pull-down. Pull-down resistor enabled.
433        PullDownPullDownResistorEnabled = 1,
434        /// Pull-up. Pull-up resistor enabled.
435        PullUpPullUpResistorEnabled = 2,
436        /// Repeater. Repeater mode.
437        RepeaterRepeaterMode = 3
438    ],
439    /// Driver slew rate.
440    SLEW OFFSET(6) NUMBITS(1) [
441        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
442        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
443        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
444        FAST = 1
445    ],
446    /// Input polarity.
447    INVERT OFFSET(7) NUMBITS(1) [
448        /// Disabled. Input function is not inverted.
449        DisabledInputFunctionIsNotInverted = 0,
450        /// Enabled. Input is function inverted.
451        EnabledInputIsFunctionInverted = 1
452    ],
453    /// Select Digital mode.
454    DIGIMODE OFFSET(8) NUMBITS(1) [
455        /// Disable digital mode. Digital input set to 0.
456        DisableDigitalModeDigitalInputSetTo0 = 0,
457        /// Enable Digital mode. Digital input is enabled.
458        EnableDigitalModeDigitalInputIsEnabled = 1
459    ],
460    /// Controls open-drain mode.
461    OD OFFSET(9) NUMBITS(1) [
462        /// Normal. Normal push-pull output
463        NormalNormalPushPullOutput = 0,
464        /// Open-drain. Simulated open-drain output (high drive disabled).
465        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
466    ]
467],
468PIO0_5 [
469    /// Selects pin function.
470    FUNC OFFSET(0) NUMBITS(4) [
471        /// Alternative connection 0.
472        AlternativeConnection0 = 0,
473        /// Alternative connection 1.
474        AlternativeConnection1 = 1,
475        /// Alternative connection 2.
476        AlternativeConnection2 = 2,
477        /// Alternative connection 3.
478        AlternativeConnection3 = 3,
479        /// Alternative connection 4.
480        AlternativeConnection4 = 4,
481        /// Alternative connection 5.
482        AlternativeConnection5 = 5,
483        /// Alternative connection 6.
484        AlternativeConnection6 = 6,
485        /// Alternative connection 7.
486        AlternativeConnection7 = 7
487    ],
488    /// Selects function mode (on-chip pull-up/pull-down resistor control).
489    MODE OFFSET(4) NUMBITS(2) [
490        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
491        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
492        /// Pull-down. Pull-down resistor enabled.
493        PullDownPullDownResistorEnabled = 1,
494        /// Pull-up. Pull-up resistor enabled.
495        PullUpPullUpResistorEnabled = 2,
496        /// Repeater. Repeater mode.
497        RepeaterRepeaterMode = 3
498    ],
499    /// Driver slew rate.
500    SLEW OFFSET(6) NUMBITS(1) [
501        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
502        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
503        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
504        FAST = 1
505    ],
506    /// Input polarity.
507    INVERT OFFSET(7) NUMBITS(1) [
508        /// Disabled. Input function is not inverted.
509        DisabledInputFunctionIsNotInverted = 0,
510        /// Enabled. Input is function inverted.
511        EnabledInputIsFunctionInverted = 1
512    ],
513    /// Select Digital mode.
514    DIGIMODE OFFSET(8) NUMBITS(1) [
515        /// Disable digital mode. Digital input set to 0.
516        DisableDigitalModeDigitalInputSetTo0 = 0,
517        /// Enable Digital mode. Digital input is enabled.
518        EnableDigitalModeDigitalInputIsEnabled = 1
519    ],
520    /// Controls open-drain mode.
521    OD OFFSET(9) NUMBITS(1) [
522        /// Normal. Normal push-pull output
523        NormalNormalPushPullOutput = 0,
524        /// Open-drain. Simulated open-drain output (high drive disabled).
525        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
526    ]
527],
528PIO0_6 [
529    /// Selects pin function.
530    FUNC OFFSET(0) NUMBITS(4) [
531        /// Alternative connection 0.
532        AlternativeConnection0 = 0,
533        /// Alternative connection 1.
534        AlternativeConnection1 = 1,
535        /// Alternative connection 2.
536        AlternativeConnection2 = 2,
537        /// Alternative connection 3.
538        AlternativeConnection3 = 3,
539        /// Alternative connection 4.
540        AlternativeConnection4 = 4,
541        /// Alternative connection 5.
542        AlternativeConnection5 = 5,
543        /// Alternative connection 6.
544        AlternativeConnection6 = 6,
545        /// Alternative connection 7.
546        AlternativeConnection7 = 7
547    ],
548    /// Selects function mode (on-chip pull-up/pull-down resistor control).
549    MODE OFFSET(4) NUMBITS(2) [
550        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
551        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
552        /// Pull-down. Pull-down resistor enabled.
553        PullDownPullDownResistorEnabled = 1,
554        /// Pull-up. Pull-up resistor enabled.
555        PullUpPullUpResistorEnabled = 2,
556        /// Repeater. Repeater mode.
557        RepeaterRepeaterMode = 3
558    ],
559    /// Driver slew rate.
560    SLEW OFFSET(6) NUMBITS(1) [
561        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
562        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
563        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
564        FAST = 1
565    ],
566    /// Input polarity.
567    INVERT OFFSET(7) NUMBITS(1) [
568        /// Disabled. Input function is not inverted.
569        DisabledInputFunctionIsNotInverted = 0,
570        /// Enabled. Input is function inverted.
571        EnabledInputIsFunctionInverted = 1
572    ],
573    /// Select Digital mode.
574    DIGIMODE OFFSET(8) NUMBITS(1) [
575        /// Disable digital mode. Digital input set to 0.
576        DisableDigitalModeDigitalInputSetTo0 = 0,
577        /// Enable Digital mode. Digital input is enabled.
578        EnableDigitalModeDigitalInputIsEnabled = 1
579    ],
580    /// Controls open-drain mode.
581    OD OFFSET(9) NUMBITS(1) [
582        /// Normal. Normal push-pull output
583        NormalNormalPushPullOutput = 0,
584        /// Open-drain. Simulated open-drain output (high drive disabled).
585        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
586    ]
587],
588PIO0_7 [
589    /// Selects pin function.
590    FUNC OFFSET(0) NUMBITS(4) [
591        /// Alternative connection 0.
592        AlternativeConnection0 = 0,
593        /// Alternative connection 1.
594        AlternativeConnection1 = 1,
595        /// Alternative connection 2.
596        AlternativeConnection2 = 2,
597        /// Alternative connection 3.
598        AlternativeConnection3 = 3,
599        /// Alternative connection 4.
600        AlternativeConnection4 = 4,
601        /// Alternative connection 5.
602        AlternativeConnection5 = 5,
603        /// Alternative connection 6.
604        AlternativeConnection6 = 6,
605        /// Alternative connection 7.
606        AlternativeConnection7 = 7
607    ],
608    /// Selects function mode (on-chip pull-up/pull-down resistor control).
609    MODE OFFSET(4) NUMBITS(2) [
610        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
611        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
612        /// Pull-down. Pull-down resistor enabled.
613        PullDownPullDownResistorEnabled = 1,
614        /// Pull-up. Pull-up resistor enabled.
615        PullUpPullUpResistorEnabled = 2,
616        /// Repeater. Repeater mode.
617        RepeaterRepeaterMode = 3
618    ],
619    /// Driver slew rate.
620    SLEW OFFSET(6) NUMBITS(1) [
621        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
622        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
623        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
624        FAST = 1
625    ],
626    /// Input polarity.
627    INVERT OFFSET(7) NUMBITS(1) [
628        /// Disabled. Input function is not inverted.
629        DisabledInputFunctionIsNotInverted = 0,
630        /// Enabled. Input is function inverted.
631        EnabledInputIsFunctionInverted = 1
632    ],
633    /// Select Digital mode.
634    DIGIMODE OFFSET(8) NUMBITS(1) [
635        /// Disable digital mode. Digital input set to 0.
636        DisableDigitalModeDigitalInputSetTo0 = 0,
637        /// Enable Digital mode. Digital input is enabled.
638        EnableDigitalModeDigitalInputIsEnabled = 1
639    ],
640    /// Controls open-drain mode.
641    OD OFFSET(9) NUMBITS(1) [
642        /// Normal. Normal push-pull output
643        NormalNormalPushPullOutput = 0,
644        /// Open-drain. Simulated open-drain output (high drive disabled).
645        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
646    ]
647],
648PIO0_8 [
649    /// Selects pin function.
650    FUNC OFFSET(0) NUMBITS(4) [
651        /// Alternative connection 0.
652        AlternativeConnection0 = 0,
653        /// Alternative connection 1.
654        AlternativeConnection1 = 1,
655        /// Alternative connection 2.
656        AlternativeConnection2 = 2,
657        /// Alternative connection 3.
658        AlternativeConnection3 = 3,
659        /// Alternative connection 4.
660        AlternativeConnection4 = 4,
661        /// Alternative connection 5.
662        AlternativeConnection5 = 5,
663        /// Alternative connection 6.
664        AlternativeConnection6 = 6,
665        /// Alternative connection 7.
666        AlternativeConnection7 = 7
667    ],
668    /// Selects function mode (on-chip pull-up/pull-down resistor control).
669    MODE OFFSET(4) NUMBITS(2) [
670        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
671        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
672        /// Pull-down. Pull-down resistor enabled.
673        PullDownPullDownResistorEnabled = 1,
674        /// Pull-up. Pull-up resistor enabled.
675        PullUpPullUpResistorEnabled = 2,
676        /// Repeater. Repeater mode.
677        RepeaterRepeaterMode = 3
678    ],
679    /// Driver slew rate.
680    SLEW OFFSET(6) NUMBITS(1) [
681        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
682        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
683        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
684        FAST = 1
685    ],
686    /// Input polarity.
687    INVERT OFFSET(7) NUMBITS(1) [
688        /// Disabled. Input function is not inverted.
689        DisabledInputFunctionIsNotInverted = 0,
690        /// Enabled. Input is function inverted.
691        EnabledInputIsFunctionInverted = 1
692    ],
693    /// Select Digital mode.
694    DIGIMODE OFFSET(8) NUMBITS(1) [
695        /// Disable digital mode. Digital input set to 0.
696        DisableDigitalModeDigitalInputSetTo0 = 0,
697        /// Enable Digital mode. Digital input is enabled.
698        EnableDigitalModeDigitalInputIsEnabled = 1
699    ],
700    /// Controls open-drain mode.
701    OD OFFSET(9) NUMBITS(1) [
702        /// Normal. Normal push-pull output
703        NormalNormalPushPullOutput = 0,
704        /// Open-drain. Simulated open-drain output (high drive disabled).
705        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
706    ]
707],
708PIO0_9 [
709    /// Selects pin function.
710    FUNC OFFSET(0) NUMBITS(4) [
711        /// Alternative connection 0.
712        AlternativeConnection0 = 0,
713        /// Alternative connection 1.
714        AlternativeConnection1 = 1,
715        /// Alternative connection 2.
716        AlternativeConnection2 = 2,
717        /// Alternative connection 3.
718        AlternativeConnection3 = 3,
719        /// Alternative connection 4.
720        AlternativeConnection4 = 4,
721        /// Alternative connection 5.
722        AlternativeConnection5 = 5,
723        /// Alternative connection 6.
724        AlternativeConnection6 = 6,
725        /// Alternative connection 7.
726        AlternativeConnection7 = 7
727    ],
728    /// Selects function mode (on-chip pull-up/pull-down resistor control).
729    MODE OFFSET(4) NUMBITS(2) [
730        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
731        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
732        /// Pull-down. Pull-down resistor enabled.
733        PullDownPullDownResistorEnabled = 1,
734        /// Pull-up. Pull-up resistor enabled.
735        PullUpPullUpResistorEnabled = 2,
736        /// Repeater. Repeater mode.
737        RepeaterRepeaterMode = 3
738    ],
739    /// Driver slew rate.
740    SLEW OFFSET(6) NUMBITS(1) [
741        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
742        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
743        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
744        FAST = 1
745    ],
746    /// Input polarity.
747    INVERT OFFSET(7) NUMBITS(1) [
748        /// Disabled. Input function is not inverted.
749        DisabledInputFunctionIsNotInverted = 0,
750        /// Enabled. Input is function inverted.
751        EnabledInputIsFunctionInverted = 1
752    ],
753    /// Select Digital mode.
754    DIGIMODE OFFSET(8) NUMBITS(1) [
755        /// Disable digital mode. Digital input set to 0.
756        DisableDigitalModeDigitalInputSetTo0 = 0,
757        /// Enable Digital mode. Digital input is enabled.
758        EnableDigitalModeDigitalInputIsEnabled = 1
759    ],
760    /// Controls open-drain mode.
761    OD OFFSET(9) NUMBITS(1) [
762        /// Normal. Normal push-pull output
763        NormalNormalPushPullOutput = 0,
764        /// Open-drain. Simulated open-drain output (high drive disabled).
765        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
766    ],
767    /// Analog switch input control.
768    ASW OFFSET(10) NUMBITS(1) [
769        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
770        VALUE0 = 0,
771        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
772        VALUE1 = 1
773    ]
774],
775PIO0_10 [
776    /// Selects pin function.
777    FUNC OFFSET(0) NUMBITS(4) [
778        /// Alternative connection 0.
779        AlternativeConnection0 = 0,
780        /// Alternative connection 1.
781        AlternativeConnection1 = 1,
782        /// Alternative connection 2.
783        AlternativeConnection2 = 2,
784        /// Alternative connection 3.
785        AlternativeConnection3 = 3,
786        /// Alternative connection 4.
787        AlternativeConnection4 = 4,
788        /// Alternative connection 5.
789        AlternativeConnection5 = 5,
790        /// Alternative connection 6.
791        AlternativeConnection6 = 6,
792        /// Alternative connection 7.
793        AlternativeConnection7 = 7
794    ],
795    /// Selects function mode (on-chip pull-up/pull-down resistor control).
796    MODE OFFSET(4) NUMBITS(2) [
797        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
798        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
799        /// Pull-down. Pull-down resistor enabled.
800        PullDownPullDownResistorEnabled = 1,
801        /// Pull-up. Pull-up resistor enabled.
802        PullUpPullUpResistorEnabled = 2,
803        /// Repeater. Repeater mode.
804        RepeaterRepeaterMode = 3
805    ],
806    /// Driver slew rate.
807    SLEW OFFSET(6) NUMBITS(1) [
808        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
809        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
810        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
811        FAST = 1
812    ],
813    /// Input polarity.
814    INVERT OFFSET(7) NUMBITS(1) [
815        /// Disabled. Input function is not inverted.
816        DisabledInputFunctionIsNotInverted = 0,
817        /// Enabled. Input is function inverted.
818        EnabledInputIsFunctionInverted = 1
819    ],
820    /// Select Digital mode.
821    DIGIMODE OFFSET(8) NUMBITS(1) [
822        /// Disable digital mode. Digital input set to 0.
823        DisableDigitalModeDigitalInputSetTo0 = 0,
824        /// Enable Digital mode. Digital input is enabled.
825        EnableDigitalModeDigitalInputIsEnabled = 1
826    ],
827    /// Controls open-drain mode.
828    OD OFFSET(9) NUMBITS(1) [
829        /// Normal. Normal push-pull output
830        NormalNormalPushPullOutput = 0,
831        /// Open-drain. Simulated open-drain output (high drive disabled).
832        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
833    ],
834    /// Analog switch input control.
835    ASW OFFSET(10) NUMBITS(1) [
836        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
837        VALUE0 = 0,
838        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
839        VALUE1 = 1
840    ]
841],
842PIO0_11 [
843    /// Selects pin function.
844    FUNC OFFSET(0) NUMBITS(4) [
845        /// Alternative connection 0.
846        AlternativeConnection0 = 0,
847        /// Alternative connection 1.
848        AlternativeConnection1 = 1,
849        /// Alternative connection 2.
850        AlternativeConnection2 = 2,
851        /// Alternative connection 3.
852        AlternativeConnection3 = 3,
853        /// Alternative connection 4.
854        AlternativeConnection4 = 4,
855        /// Alternative connection 5.
856        AlternativeConnection5 = 5,
857        /// Alternative connection 6.
858        AlternativeConnection6 = 6,
859        /// Alternative connection 7.
860        AlternativeConnection7 = 7
861    ],
862    /// Selects function mode (on-chip pull-up/pull-down resistor control).
863    MODE OFFSET(4) NUMBITS(2) [
864        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
865        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
866        /// Pull-down. Pull-down resistor enabled.
867        PullDownPullDownResistorEnabled = 1,
868        /// Pull-up. Pull-up resistor enabled.
869        PullUpPullUpResistorEnabled = 2,
870        /// Repeater. Repeater mode.
871        RepeaterRepeaterMode = 3
872    ],
873    /// Driver slew rate.
874    SLEW OFFSET(6) NUMBITS(1) [
875        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
876        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
877        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
878        FAST = 1
879    ],
880    /// Input polarity.
881    INVERT OFFSET(7) NUMBITS(1) [
882        /// Disabled. Input function is not inverted.
883        DisabledInputFunctionIsNotInverted = 0,
884        /// Enabled. Input is function inverted.
885        EnabledInputIsFunctionInverted = 1
886    ],
887    /// Select Digital mode.
888    DIGIMODE OFFSET(8) NUMBITS(1) [
889        /// Disable digital mode. Digital input set to 0.
890        DisableDigitalModeDigitalInputSetTo0 = 0,
891        /// Enable Digital mode. Digital input is enabled.
892        EnableDigitalModeDigitalInputIsEnabled = 1
893    ],
894    /// Controls open-drain mode.
895    OD OFFSET(9) NUMBITS(1) [
896        /// Normal. Normal push-pull output
897        NormalNormalPushPullOutput = 0,
898        /// Open-drain. Simulated open-drain output (high drive disabled).
899        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
900    ],
901    /// Analog switch input control.
902    ASW OFFSET(10) NUMBITS(1) [
903        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
904        VALUE0 = 0,
905        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
906        VALUE1 = 1
907    ]
908],
909PIO0_12 [
910    /// Selects pin function.
911    FUNC OFFSET(0) NUMBITS(4) [
912        /// Alternative connection 0.
913        AlternativeConnection0 = 0,
914        /// Alternative connection 1.
915        AlternativeConnection1 = 1,
916        /// Alternative connection 2.
917        AlternativeConnection2 = 2,
918        /// Alternative connection 3.
919        AlternativeConnection3 = 3,
920        /// Alternative connection 4.
921        AlternativeConnection4 = 4,
922        /// Alternative connection 5.
923        AlternativeConnection5 = 5,
924        /// Alternative connection 6.
925        AlternativeConnection6 = 6,
926        /// Alternative connection 7.
927        AlternativeConnection7 = 7
928    ],
929    /// Selects function mode (on-chip pull-up/pull-down resistor control).
930    MODE OFFSET(4) NUMBITS(2) [
931        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
932        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
933        /// Pull-down. Pull-down resistor enabled.
934        PullDownPullDownResistorEnabled = 1,
935        /// Pull-up. Pull-up resistor enabled.
936        PullUpPullUpResistorEnabled = 2,
937        /// Repeater. Repeater mode.
938        RepeaterRepeaterMode = 3
939    ],
940    /// Driver slew rate.
941    SLEW OFFSET(6) NUMBITS(1) [
942        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
943        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
944        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
945        FAST = 1
946    ],
947    /// Input polarity.
948    INVERT OFFSET(7) NUMBITS(1) [
949        /// Disabled. Input function is not inverted.
950        DisabledInputFunctionIsNotInverted = 0,
951        /// Enabled. Input is function inverted.
952        EnabledInputIsFunctionInverted = 1
953    ],
954    /// Select Digital mode.
955    DIGIMODE OFFSET(8) NUMBITS(1) [
956        /// Disable digital mode. Digital input set to 0.
957        DisableDigitalModeDigitalInputSetTo0 = 0,
958        /// Enable Digital mode. Digital input is enabled.
959        EnableDigitalModeDigitalInputIsEnabled = 1
960    ],
961    /// Controls open-drain mode.
962    OD OFFSET(9) NUMBITS(1) [
963        /// Normal. Normal push-pull output
964        NormalNormalPushPullOutput = 0,
965        /// Open-drain. Simulated open-drain output (high drive disabled).
966        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
967    ],
968    /// Analog switch input control.
969    ASW OFFSET(10) NUMBITS(1) [
970        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
971        VALUE0 = 0,
972        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
973        VALUE1 = 1
974    ]
975],
976PIO0_13 [
977    /// Selects pin function.
978    FUNC OFFSET(0) NUMBITS(4) [
979        /// Alternative connection 0.
980        AlternativeConnection0 = 0,
981        /// Alternative connection 1.
982        AlternativeConnection1 = 1,
983        /// Alternative connection 2.
984        AlternativeConnection2 = 2,
985        /// Alternative connection 3.
986        AlternativeConnection3 = 3,
987        /// Alternative connection 4.
988        AlternativeConnection4 = 4,
989        /// Alternative connection 5.
990        AlternativeConnection5 = 5,
991        /// Alternative connection 6.
992        AlternativeConnection6 = 6,
993        /// Alternative connection 7.
994        AlternativeConnection7 = 7
995    ],
996    /// Selects function mode (on-chip pull-up/pull-down resistor control).
997    MODE OFFSET(4) NUMBITS(2) [
998        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
999        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1000        /// Pull-down. Pull-down resistor enabled.
1001        PullDownPullDownResistorEnabled = 1,
1002        /// Pull-up. Pull-up resistor enabled.
1003        PullUpPullUpResistorEnabled = 2,
1004        /// Repeater. Repeater mode.
1005        RepeaterRepeaterMode = 3
1006    ],
1007    /// Driver slew rate.
1008    SLEW OFFSET(6) NUMBITS(1) [
1009        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1010        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1011        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1012        FAST = 1
1013    ],
1014    /// Input polarity.
1015    INVERT OFFSET(7) NUMBITS(1) [
1016        /// Disabled. Input function is not inverted.
1017        DisabledInputFunctionIsNotInverted = 0,
1018        /// Enabled. Input is function inverted.
1019        EnabledInputIsFunctionInverted = 1
1020    ],
1021    /// Select Digital mode.
1022    DIGIMODE OFFSET(8) NUMBITS(1) [
1023        /// Disable digital mode. Digital input set to 0.
1024        DisableDigitalModeDigitalInputSetTo0 = 0,
1025        /// Enable Digital mode. Digital input is enabled.
1026        EnableDigitalModeDigitalInputIsEnabled = 1
1027    ],
1028    /// Controls open-drain mode in standard GPIO mode (EGP = 1). This bit has no effect
1029    OD OFFSET(9) NUMBITS(1) [
1030        /// Normal. Normal push-pull output
1031        NormalNormalPushPullOutput = 0,
1032        /// Open-drain. Simulated open-drain output (high drive disabled).
1033        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1034    ],
1035    /// Supply Selection bit.
1036    SSEL OFFSET(11) NUMBITS(1) [
1037        /// 3V3 Signaling in I2C Mode.
1038        _3V3SignalingInI2CMode = 0,
1039        /// 1V8 Signaling in I2C Mode.
1040        _1V8SignalingInI2CMode = 1
1041    ],
1042    /// Controls input glitch filter.
1043    FILTEROFF OFFSET(12) NUMBITS(1) [
1044        /// Filter enabled.
1045        FilterEnabled = 0,
1046        /// Filter disabled.
1047        FilterDisabled = 1
1048    ],
1049    /// Pull-up current source enable in I2C mode.
1050    ECS OFFSET(13) NUMBITS(1) [
1051        /// Disabled. IO is in open drain cell.
1052        DisabledIOIsInOpenDrainCell = 0,
1053        /// Enabled. Pull resistor is conencted.
1054        EnabledPullResistorIsConencted = 1
1055    ],
1056    /// Switch between GPIO mode and I2C mode.
1057    EGP OFFSET(14) NUMBITS(1) [
1058        /// I2C mode.
1059        I2CMode = 0,
1060        /// GPIO mode.
1061        GPIOMode = 1
1062    ],
1063    /// Configures I2C features for standard mode, fast mode, and Fast Mode Plus operati
1064    I2CFILTER OFFSET(15) NUMBITS(1) [
1065        /// I2C 50 ns glitch filter enabled. Typically used for Standard-mode, Fast-mode and
1066        FAST_MODE = 0,
1067        /// I2C 10 ns glitch filter enabled. Typically used for High-speed mode I2C.
1068        I2C10NsGlitchFilterEnabledTypicallyUsedForHighSpeedModeI2C = 1
1069    ]
1070],
1071PIO0_14 [
1072    /// Selects pin function.
1073    FUNC OFFSET(0) NUMBITS(4) [
1074        /// Alternative connection 0.
1075        AlternativeConnection0 = 0,
1076        /// Alternative connection 1.
1077        AlternativeConnection1 = 1,
1078        /// Alternative connection 2.
1079        AlternativeConnection2 = 2,
1080        /// Alternative connection 3.
1081        AlternativeConnection3 = 3,
1082        /// Alternative connection 4.
1083        AlternativeConnection4 = 4,
1084        /// Alternative connection 5.
1085        AlternativeConnection5 = 5,
1086        /// Alternative connection 6.
1087        AlternativeConnection6 = 6,
1088        /// Alternative connection 7.
1089        AlternativeConnection7 = 7
1090    ],
1091    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1092    MODE OFFSET(4) NUMBITS(2) [
1093        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1094        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1095        /// Pull-down. Pull-down resistor enabled.
1096        PullDownPullDownResistorEnabled = 1,
1097        /// Pull-up. Pull-up resistor enabled.
1098        PullUpPullUpResistorEnabled = 2,
1099        /// Repeater. Repeater mode.
1100        RepeaterRepeaterMode = 3
1101    ],
1102    /// Driver slew rate.
1103    SLEW OFFSET(6) NUMBITS(1) [
1104        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1105        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1106        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1107        FAST = 1
1108    ],
1109    /// Input polarity.
1110    INVERT OFFSET(7) NUMBITS(1) [
1111        /// Disabled. Input function is not inverted.
1112        DisabledInputFunctionIsNotInverted = 0,
1113        /// Enabled. Input is function inverted.
1114        EnabledInputIsFunctionInverted = 1
1115    ],
1116    /// Select Digital mode.
1117    DIGIMODE OFFSET(8) NUMBITS(1) [
1118        /// Disable digital mode. Digital input set to 0.
1119        DisableDigitalModeDigitalInputSetTo0 = 0,
1120        /// Enable Digital mode. Digital input is enabled.
1121        EnableDigitalModeDigitalInputIsEnabled = 1
1122    ],
1123    /// Controls open-drain mode in standard GPIO mode (EGP = 1). This bit has no effect
1124    OD OFFSET(9) NUMBITS(1) [
1125        /// Normal. Normal push-pull output
1126        NormalNormalPushPullOutput = 0,
1127        /// Open-drain. Simulated open-drain output (high drive disabled).
1128        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1129    ],
1130    /// Supply Selection bit.
1131    SSEL OFFSET(11) NUMBITS(1) [
1132        /// 3V3 Signaling in I2C Mode.
1133        _3V3SignalingInI2CMode = 0,
1134        /// 1V8 Signaling in I2C Mode.
1135        _1V8SignalingInI2CMode = 1
1136    ],
1137    /// Controls input glitch filter.
1138    FILTEROFF OFFSET(12) NUMBITS(1) [
1139        /// Filter enabled.
1140        FilterEnabled = 0,
1141        /// Filter disabled.
1142        FilterDisabled = 1
1143    ],
1144    /// Pull-up current source enable in I2C mode.
1145    ECS OFFSET(13) NUMBITS(1) [
1146        /// Disabled. IO is in open drain cell.
1147        DisabledIOIsInOpenDrainCell = 0,
1148        /// Enabled. Pull resistor is conencted.
1149        EnabledPullResistorIsConencted = 1
1150    ],
1151    /// Switch between GPIO mode and I2C mode.
1152    EGP OFFSET(14) NUMBITS(1) [
1153        /// I2C mode.
1154        I2CMode = 0,
1155        /// GPIO mode.
1156        GPIOMode = 1
1157    ],
1158    /// Configures I2C features for standard mode, fast mode, and Fast Mode Plus operati
1159    I2CFILTER OFFSET(15) NUMBITS(1) [
1160        /// I2C 50 ns glitch filter enabled. Typically used for Standard-mode, Fast-mode and
1161        FAST_MODE = 0,
1162        /// I2C 10 ns glitch filter enabled. Typically used for High-speed mode I2C.
1163        I2C10NsGlitchFilterEnabledTypicallyUsedForHighSpeedModeI2C = 1
1164    ]
1165],
1166PIO0_15 [
1167    /// Selects pin function.
1168    FUNC OFFSET(0) NUMBITS(4) [
1169        /// Alternative connection 0.
1170        AlternativeConnection0 = 0,
1171        /// Alternative connection 1.
1172        AlternativeConnection1 = 1,
1173        /// Alternative connection 2.
1174        AlternativeConnection2 = 2,
1175        /// Alternative connection 3.
1176        AlternativeConnection3 = 3,
1177        /// Alternative connection 4.
1178        AlternativeConnection4 = 4,
1179        /// Alternative connection 5.
1180        AlternativeConnection5 = 5,
1181        /// Alternative connection 6.
1182        AlternativeConnection6 = 6,
1183        /// Alternative connection 7.
1184        AlternativeConnection7 = 7
1185    ],
1186    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1187    MODE OFFSET(4) NUMBITS(2) [
1188        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1189        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1190        /// Pull-down. Pull-down resistor enabled.
1191        PullDownPullDownResistorEnabled = 1,
1192        /// Pull-up. Pull-up resistor enabled.
1193        PullUpPullUpResistorEnabled = 2,
1194        /// Repeater. Repeater mode.
1195        RepeaterRepeaterMode = 3
1196    ],
1197    /// Driver slew rate.
1198    SLEW OFFSET(6) NUMBITS(1) [
1199        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1200        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1201        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1202        FAST = 1
1203    ],
1204    /// Input polarity.
1205    INVERT OFFSET(7) NUMBITS(1) [
1206        /// Disabled. Input function is not inverted.
1207        DisabledInputFunctionIsNotInverted = 0,
1208        /// Enabled. Input is function inverted.
1209        EnabledInputIsFunctionInverted = 1
1210    ],
1211    /// Select Digital mode.
1212    DIGIMODE OFFSET(8) NUMBITS(1) [
1213        /// Disable digital mode. Digital input set to 0.
1214        DisableDigitalModeDigitalInputSetTo0 = 0,
1215        /// Enable Digital mode. Digital input is enabled.
1216        EnableDigitalModeDigitalInputIsEnabled = 1
1217    ],
1218    /// Controls open-drain mode.
1219    OD OFFSET(9) NUMBITS(1) [
1220        /// Normal. Normal push-pull output
1221        NormalNormalPushPullOutput = 0,
1222        /// Open-drain. Simulated open-drain output (high drive disabled).
1223        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1224    ],
1225    /// Analog switch input control.
1226    ASW OFFSET(10) NUMBITS(1) [
1227        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
1228        VALUE0 = 0,
1229        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
1230        VALUE1 = 1
1231    ]
1232],
1233PIO0_16 [
1234    /// Selects pin function.
1235    FUNC OFFSET(0) NUMBITS(4) [
1236        /// Alternative connection 0.
1237        AlternativeConnection0 = 0,
1238        /// Alternative connection 1.
1239        AlternativeConnection1 = 1,
1240        /// Alternative connection 2.
1241        AlternativeConnection2 = 2,
1242        /// Alternative connection 3.
1243        AlternativeConnection3 = 3,
1244        /// Alternative connection 4.
1245        AlternativeConnection4 = 4,
1246        /// Alternative connection 5.
1247        AlternativeConnection5 = 5,
1248        /// Alternative connection 6.
1249        AlternativeConnection6 = 6,
1250        /// Alternative connection 7.
1251        AlternativeConnection7 = 7
1252    ],
1253    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1254    MODE OFFSET(4) NUMBITS(2) [
1255        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1256        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1257        /// Pull-down. Pull-down resistor enabled.
1258        PullDownPullDownResistorEnabled = 1,
1259        /// Pull-up. Pull-up resistor enabled.
1260        PullUpPullUpResistorEnabled = 2,
1261        /// Repeater. Repeater mode.
1262        RepeaterRepeaterMode = 3
1263    ],
1264    /// Driver slew rate.
1265    SLEW OFFSET(6) NUMBITS(1) [
1266        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1267        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1268        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1269        FAST = 1
1270    ],
1271    /// Input polarity.
1272    INVERT OFFSET(7) NUMBITS(1) [
1273        /// Disabled. Input function is not inverted.
1274        DisabledInputFunctionIsNotInverted = 0,
1275        /// Enabled. Input is function inverted.
1276        EnabledInputIsFunctionInverted = 1
1277    ],
1278    /// Select Digital mode.
1279    DIGIMODE OFFSET(8) NUMBITS(1) [
1280        /// Disable digital mode. Digital input set to 0.
1281        DisableDigitalModeDigitalInputSetTo0 = 0,
1282        /// Enable Digital mode. Digital input is enabled.
1283        EnableDigitalModeDigitalInputIsEnabled = 1
1284    ],
1285    /// Controls open-drain mode.
1286    OD OFFSET(9) NUMBITS(1) [
1287        /// Normal. Normal push-pull output
1288        NormalNormalPushPullOutput = 0,
1289        /// Open-drain. Simulated open-drain output (high drive disabled).
1290        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1291    ],
1292    /// Analog switch input control.
1293    ASW OFFSET(10) NUMBITS(1) [
1294        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
1295        VALUE0 = 0,
1296        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
1297        VALUE1 = 1
1298    ]
1299],
1300PIO0_17 [
1301    /// Selects pin function.
1302    FUNC OFFSET(0) NUMBITS(4) [
1303        /// Alternative connection 0.
1304        AlternativeConnection0 = 0,
1305        /// Alternative connection 1.
1306        AlternativeConnection1 = 1,
1307        /// Alternative connection 2.
1308        AlternativeConnection2 = 2,
1309        /// Alternative connection 3.
1310        AlternativeConnection3 = 3,
1311        /// Alternative connection 4.
1312        AlternativeConnection4 = 4,
1313        /// Alternative connection 5.
1314        AlternativeConnection5 = 5,
1315        /// Alternative connection 6.
1316        AlternativeConnection6 = 6,
1317        /// Alternative connection 7.
1318        AlternativeConnection7 = 7
1319    ],
1320    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1321    MODE OFFSET(4) NUMBITS(2) [
1322        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1323        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1324        /// Pull-down. Pull-down resistor enabled.
1325        PullDownPullDownResistorEnabled = 1,
1326        /// Pull-up. Pull-up resistor enabled.
1327        PullUpPullUpResistorEnabled = 2,
1328        /// Repeater. Repeater mode.
1329        RepeaterRepeaterMode = 3
1330    ],
1331    /// Driver slew rate.
1332    SLEW OFFSET(6) NUMBITS(1) [
1333        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1334        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1335        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1336        FAST = 1
1337    ],
1338    /// Input polarity.
1339    INVERT OFFSET(7) NUMBITS(1) [
1340        /// Disabled. Input function is not inverted.
1341        DisabledInputFunctionIsNotInverted = 0,
1342        /// Enabled. Input is function inverted.
1343        EnabledInputIsFunctionInverted = 1
1344    ],
1345    /// Select Digital mode.
1346    DIGIMODE OFFSET(8) NUMBITS(1) [
1347        /// Disable digital mode. Digital input set to 0.
1348        DisableDigitalModeDigitalInputSetTo0 = 0,
1349        /// Enable Digital mode. Digital input is enabled.
1350        EnableDigitalModeDigitalInputIsEnabled = 1
1351    ],
1352    /// Controls open-drain mode.
1353    OD OFFSET(9) NUMBITS(1) [
1354        /// Normal. Normal push-pull output
1355        NormalNormalPushPullOutput = 0,
1356        /// Open-drain. Simulated open-drain output (high drive disabled).
1357        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1358    ]
1359],
1360PIO0_18 [
1361    /// Selects pin function.
1362    FUNC OFFSET(0) NUMBITS(4) [
1363        /// Alternative connection 0.
1364        AlternativeConnection0 = 0,
1365        /// Alternative connection 1.
1366        AlternativeConnection1 = 1,
1367        /// Alternative connection 2.
1368        AlternativeConnection2 = 2,
1369        /// Alternative connection 3.
1370        AlternativeConnection3 = 3,
1371        /// Alternative connection 4.
1372        AlternativeConnection4 = 4,
1373        /// Alternative connection 5.
1374        AlternativeConnection5 = 5,
1375        /// Alternative connection 6.
1376        AlternativeConnection6 = 6,
1377        /// Alternative connection 7.
1378        AlternativeConnection7 = 7
1379    ],
1380    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1381    MODE OFFSET(4) NUMBITS(2) [
1382        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1383        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1384        /// Pull-down. Pull-down resistor enabled.
1385        PullDownPullDownResistorEnabled = 1,
1386        /// Pull-up. Pull-up resistor enabled.
1387        PullUpPullUpResistorEnabled = 2,
1388        /// Repeater. Repeater mode.
1389        RepeaterRepeaterMode = 3
1390    ],
1391    /// Driver slew rate.
1392    SLEW OFFSET(6) NUMBITS(1) [
1393        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1394        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1395        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1396        FAST = 1
1397    ],
1398    /// Input polarity.
1399    INVERT OFFSET(7) NUMBITS(1) [
1400        /// Disabled. Input function is not inverted.
1401        DisabledInputFunctionIsNotInverted = 0,
1402        /// Enabled. Input is function inverted.
1403        EnabledInputIsFunctionInverted = 1
1404    ],
1405    /// Select Digital mode.
1406    DIGIMODE OFFSET(8) NUMBITS(1) [
1407        /// Disable digital mode. Digital input set to 0.
1408        DisableDigitalModeDigitalInputSetTo0 = 0,
1409        /// Enable Digital mode. Digital input is enabled.
1410        EnableDigitalModeDigitalInputIsEnabled = 1
1411    ],
1412    /// Controls open-drain mode.
1413    OD OFFSET(9) NUMBITS(1) [
1414        /// Normal. Normal push-pull output
1415        NormalNormalPushPullOutput = 0,
1416        /// Open-drain. Simulated open-drain output (high drive disabled).
1417        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1418    ],
1419    /// Analog switch input control.
1420    ASW OFFSET(10) NUMBITS(1) [
1421        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
1422        VALUE0 = 0,
1423        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
1424        VALUE1 = 1
1425    ]
1426],
1427PIO0_19 [
1428    /// Selects pin function.
1429    FUNC OFFSET(0) NUMBITS(4) [
1430        /// Alternative connection 0.
1431        AlternativeConnection0 = 0,
1432        /// Alternative connection 1.
1433        AlternativeConnection1 = 1,
1434        /// Alternative connection 2.
1435        AlternativeConnection2 = 2,
1436        /// Alternative connection 3.
1437        AlternativeConnection3 = 3,
1438        /// Alternative connection 4.
1439        AlternativeConnection4 = 4,
1440        /// Alternative connection 5.
1441        AlternativeConnection5 = 5,
1442        /// Alternative connection 6.
1443        AlternativeConnection6 = 6,
1444        /// Alternative connection 7.
1445        AlternativeConnection7 = 7
1446    ],
1447    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1448    MODE OFFSET(4) NUMBITS(2) [
1449        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1450        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1451        /// Pull-down. Pull-down resistor enabled.
1452        PullDownPullDownResistorEnabled = 1,
1453        /// Pull-up. Pull-up resistor enabled.
1454        PullUpPullUpResistorEnabled = 2,
1455        /// Repeater. Repeater mode.
1456        RepeaterRepeaterMode = 3
1457    ],
1458    /// Driver slew rate.
1459    SLEW OFFSET(6) NUMBITS(1) [
1460        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1461        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1462        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1463        FAST = 1
1464    ],
1465    /// Input polarity.
1466    INVERT OFFSET(7) NUMBITS(1) [
1467        /// Disabled. Input function is not inverted.
1468        DisabledInputFunctionIsNotInverted = 0,
1469        /// Enabled. Input is function inverted.
1470        EnabledInputIsFunctionInverted = 1
1471    ],
1472    /// Select Digital mode.
1473    DIGIMODE OFFSET(8) NUMBITS(1) [
1474        /// Disable digital mode. Digital input set to 0.
1475        DisableDigitalModeDigitalInputSetTo0 = 0,
1476        /// Enable Digital mode. Digital input is enabled.
1477        EnableDigitalModeDigitalInputIsEnabled = 1
1478    ],
1479    /// Controls open-drain mode.
1480    OD OFFSET(9) NUMBITS(1) [
1481        /// Normal. Normal push-pull output
1482        NormalNormalPushPullOutput = 0,
1483        /// Open-drain. Simulated open-drain output (high drive disabled).
1484        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1485    ]
1486],
1487PIO0_20 [
1488    /// Selects pin function.
1489    FUNC OFFSET(0) NUMBITS(4) [
1490        /// Alternative connection 0.
1491        AlternativeConnection0 = 0,
1492        /// Alternative connection 1.
1493        AlternativeConnection1 = 1,
1494        /// Alternative connection 2.
1495        AlternativeConnection2 = 2,
1496        /// Alternative connection 3.
1497        AlternativeConnection3 = 3,
1498        /// Alternative connection 4.
1499        AlternativeConnection4 = 4,
1500        /// Alternative connection 5.
1501        AlternativeConnection5 = 5,
1502        /// Alternative connection 6.
1503        AlternativeConnection6 = 6,
1504        /// Alternative connection 7.
1505        AlternativeConnection7 = 7
1506    ],
1507    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1508    MODE OFFSET(4) NUMBITS(2) [
1509        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1510        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1511        /// Pull-down. Pull-down resistor enabled.
1512        PullDownPullDownResistorEnabled = 1,
1513        /// Pull-up. Pull-up resistor enabled.
1514        PullUpPullUpResistorEnabled = 2,
1515        /// Repeater. Repeater mode.
1516        RepeaterRepeaterMode = 3
1517    ],
1518    /// Driver slew rate.
1519    SLEW OFFSET(6) NUMBITS(1) [
1520        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1521        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1522        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1523        FAST = 1
1524    ],
1525    /// Input polarity.
1526    INVERT OFFSET(7) NUMBITS(1) [
1527        /// Disabled. Input function is not inverted.
1528        DisabledInputFunctionIsNotInverted = 0,
1529        /// Enabled. Input is function inverted.
1530        EnabledInputIsFunctionInverted = 1
1531    ],
1532    /// Select Digital mode.
1533    DIGIMODE OFFSET(8) NUMBITS(1) [
1534        /// Disable digital mode. Digital input set to 0.
1535        DisableDigitalModeDigitalInputSetTo0 = 0,
1536        /// Enable Digital mode. Digital input is enabled.
1537        EnableDigitalModeDigitalInputIsEnabled = 1
1538    ],
1539    /// Controls open-drain mode.
1540    OD OFFSET(9) NUMBITS(1) [
1541        /// Normal. Normal push-pull output
1542        NormalNormalPushPullOutput = 0,
1543        /// Open-drain. Simulated open-drain output (high drive disabled).
1544        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1545    ]
1546],
1547PIO0_21 [
1548    /// Selects pin function.
1549    FUNC OFFSET(0) NUMBITS(4) [
1550        /// Alternative connection 0.
1551        AlternativeConnection0 = 0,
1552        /// Alternative connection 1.
1553        AlternativeConnection1 = 1,
1554        /// Alternative connection 2.
1555        AlternativeConnection2 = 2,
1556        /// Alternative connection 3.
1557        AlternativeConnection3 = 3,
1558        /// Alternative connection 4.
1559        AlternativeConnection4 = 4,
1560        /// Alternative connection 5.
1561        AlternativeConnection5 = 5,
1562        /// Alternative connection 6.
1563        AlternativeConnection6 = 6,
1564        /// Alternative connection 7.
1565        AlternativeConnection7 = 7
1566    ],
1567    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1568    MODE OFFSET(4) NUMBITS(2) [
1569        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1570        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1571        /// Pull-down. Pull-down resistor enabled.
1572        PullDownPullDownResistorEnabled = 1,
1573        /// Pull-up. Pull-up resistor enabled.
1574        PullUpPullUpResistorEnabled = 2,
1575        /// Repeater. Repeater mode.
1576        RepeaterRepeaterMode = 3
1577    ],
1578    /// Driver slew rate.
1579    SLEW OFFSET(6) NUMBITS(1) [
1580        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1581        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1582        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1583        FAST = 1
1584    ],
1585    /// Input polarity.
1586    INVERT OFFSET(7) NUMBITS(1) [
1587        /// Disabled. Input function is not inverted.
1588        DisabledInputFunctionIsNotInverted = 0,
1589        /// Enabled. Input is function inverted.
1590        EnabledInputIsFunctionInverted = 1
1591    ],
1592    /// Select Digital mode.
1593    DIGIMODE OFFSET(8) NUMBITS(1) [
1594        /// Disable digital mode. Digital input set to 0.
1595        DisableDigitalModeDigitalInputSetTo0 = 0,
1596        /// Enable Digital mode. Digital input is enabled.
1597        EnableDigitalModeDigitalInputIsEnabled = 1
1598    ],
1599    /// Controls open-drain mode.
1600    OD OFFSET(9) NUMBITS(1) [
1601        /// Normal. Normal push-pull output
1602        NormalNormalPushPullOutput = 0,
1603        /// Open-drain. Simulated open-drain output (high drive disabled).
1604        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1605    ]
1606],
1607PIO0_22 [
1608    /// Selects pin function.
1609    FUNC OFFSET(0) NUMBITS(4) [
1610        /// Alternative connection 0.
1611        AlternativeConnection0 = 0,
1612        /// Alternative connection 1.
1613        AlternativeConnection1 = 1,
1614        /// Alternative connection 2.
1615        AlternativeConnection2 = 2,
1616        /// Alternative connection 3.
1617        AlternativeConnection3 = 3,
1618        /// Alternative connection 4.
1619        AlternativeConnection4 = 4,
1620        /// Alternative connection 5.
1621        AlternativeConnection5 = 5,
1622        /// Alternative connection 6.
1623        AlternativeConnection6 = 6,
1624        /// Alternative connection 7.
1625        AlternativeConnection7 = 7
1626    ],
1627    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1628    MODE OFFSET(4) NUMBITS(2) [
1629        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1630        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1631        /// Pull-down. Pull-down resistor enabled.
1632        PullDownPullDownResistorEnabled = 1,
1633        /// Pull-up. Pull-up resistor enabled.
1634        PullUpPullUpResistorEnabled = 2,
1635        /// Repeater. Repeater mode.
1636        RepeaterRepeaterMode = 3
1637    ],
1638    /// Driver slew rate.
1639    SLEW OFFSET(6) NUMBITS(1) [
1640        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1641        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1642        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1643        FAST = 1
1644    ],
1645    /// Input polarity.
1646    INVERT OFFSET(7) NUMBITS(1) [
1647        /// Disabled. Input function is not inverted.
1648        DisabledInputFunctionIsNotInverted = 0,
1649        /// Enabled. Input is function inverted.
1650        EnabledInputIsFunctionInverted = 1
1651    ],
1652    /// Select Digital mode.
1653    DIGIMODE OFFSET(8) NUMBITS(1) [
1654        /// Disable digital mode. Digital input set to 0.
1655        DisableDigitalModeDigitalInputSetTo0 = 0,
1656        /// Enable Digital mode. Digital input is enabled.
1657        EnableDigitalModeDigitalInputIsEnabled = 1
1658    ],
1659    /// Controls open-drain mode.
1660    OD OFFSET(9) NUMBITS(1) [
1661        /// Normal. Normal push-pull output
1662        NormalNormalPushPullOutput = 0,
1663        /// Open-drain. Simulated open-drain output (high drive disabled).
1664        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1665    ]
1666],
1667PIO0_23 [
1668    /// Selects pin function.
1669    FUNC OFFSET(0) NUMBITS(4) [
1670        /// Alternative connection 0.
1671        AlternativeConnection0 = 0,
1672        /// Alternative connection 1.
1673        AlternativeConnection1 = 1,
1674        /// Alternative connection 2.
1675        AlternativeConnection2 = 2,
1676        /// Alternative connection 3.
1677        AlternativeConnection3 = 3,
1678        /// Alternative connection 4.
1679        AlternativeConnection4 = 4,
1680        /// Alternative connection 5.
1681        AlternativeConnection5 = 5,
1682        /// Alternative connection 6.
1683        AlternativeConnection6 = 6,
1684        /// Alternative connection 7.
1685        AlternativeConnection7 = 7
1686    ],
1687    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1688    MODE OFFSET(4) NUMBITS(2) [
1689        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1690        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1691        /// Pull-down. Pull-down resistor enabled.
1692        PullDownPullDownResistorEnabled = 1,
1693        /// Pull-up. Pull-up resistor enabled.
1694        PullUpPullUpResistorEnabled = 2,
1695        /// Repeater. Repeater mode.
1696        RepeaterRepeaterMode = 3
1697    ],
1698    /// Driver slew rate.
1699    SLEW OFFSET(6) NUMBITS(1) [
1700        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1701        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1702        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1703        FAST = 1
1704    ],
1705    /// Input polarity.
1706    INVERT OFFSET(7) NUMBITS(1) [
1707        /// Disabled. Input function is not inverted.
1708        DisabledInputFunctionIsNotInverted = 0,
1709        /// Enabled. Input is function inverted.
1710        EnabledInputIsFunctionInverted = 1
1711    ],
1712    /// Select Digital mode.
1713    DIGIMODE OFFSET(8) NUMBITS(1) [
1714        /// Disable digital mode. Digital input set to 0.
1715        DisableDigitalModeDigitalInputSetTo0 = 0,
1716        /// Enable Digital mode. Digital input is enabled.
1717        EnableDigitalModeDigitalInputIsEnabled = 1
1718    ],
1719    /// Controls open-drain mode.
1720    OD OFFSET(9) NUMBITS(1) [
1721        /// Normal. Normal push-pull output
1722        NormalNormalPushPullOutput = 0,
1723        /// Open-drain. Simulated open-drain output (high drive disabled).
1724        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1725    ],
1726    /// Analog switch input control.
1727    ASW OFFSET(10) NUMBITS(1) [
1728        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
1729        VALUE0 = 0,
1730        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
1731        VALUE1 = 1
1732    ]
1733],
1734PIO0_24 [
1735    /// Selects pin function.
1736    FUNC OFFSET(0) NUMBITS(4) [
1737        /// Alternative connection 0.
1738        AlternativeConnection0 = 0,
1739        /// Alternative connection 1.
1740        AlternativeConnection1 = 1,
1741        /// Alternative connection 2.
1742        AlternativeConnection2 = 2,
1743        /// Alternative connection 3.
1744        AlternativeConnection3 = 3,
1745        /// Alternative connection 4.
1746        AlternativeConnection4 = 4,
1747        /// Alternative connection 5.
1748        AlternativeConnection5 = 5,
1749        /// Alternative connection 6.
1750        AlternativeConnection6 = 6,
1751        /// Alternative connection 7.
1752        AlternativeConnection7 = 7
1753    ],
1754    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1755    MODE OFFSET(4) NUMBITS(2) [
1756        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1757        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1758        /// Pull-down. Pull-down resistor enabled.
1759        PullDownPullDownResistorEnabled = 1,
1760        /// Pull-up. Pull-up resistor enabled.
1761        PullUpPullUpResistorEnabled = 2,
1762        /// Repeater. Repeater mode.
1763        RepeaterRepeaterMode = 3
1764    ],
1765    /// Driver slew rate.
1766    SLEW OFFSET(6) NUMBITS(1) [
1767        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1768        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1769        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1770        FAST = 1
1771    ],
1772    /// Input polarity.
1773    INVERT OFFSET(7) NUMBITS(1) [
1774        /// Disabled. Input function is not inverted.
1775        DisabledInputFunctionIsNotInverted = 0,
1776        /// Enabled. Input is function inverted.
1777        EnabledInputIsFunctionInverted = 1
1778    ],
1779    /// Select Digital mode.
1780    DIGIMODE OFFSET(8) NUMBITS(1) [
1781        /// Disable digital mode. Digital input set to 0.
1782        DisableDigitalModeDigitalInputSetTo0 = 0,
1783        /// Enable Digital mode. Digital input is enabled.
1784        EnableDigitalModeDigitalInputIsEnabled = 1
1785    ],
1786    /// Controls open-drain mode.
1787    OD OFFSET(9) NUMBITS(1) [
1788        /// Normal. Normal push-pull output
1789        NormalNormalPushPullOutput = 0,
1790        /// Open-drain. Simulated open-drain output (high drive disabled).
1791        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1792    ]
1793],
1794PIO0_25 [
1795    /// Selects pin function.
1796    FUNC OFFSET(0) NUMBITS(4) [
1797        /// Alternative connection 0.
1798        AlternativeConnection0 = 0,
1799        /// Alternative connection 1.
1800        AlternativeConnection1 = 1,
1801        /// Alternative connection 2.
1802        AlternativeConnection2 = 2,
1803        /// Alternative connection 3.
1804        AlternativeConnection3 = 3,
1805        /// Alternative connection 4.
1806        AlternativeConnection4 = 4,
1807        /// Alternative connection 5.
1808        AlternativeConnection5 = 5,
1809        /// Alternative connection 6.
1810        AlternativeConnection6 = 6,
1811        /// Alternative connection 7.
1812        AlternativeConnection7 = 7
1813    ],
1814    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1815    MODE OFFSET(4) NUMBITS(2) [
1816        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1817        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1818        /// Pull-down. Pull-down resistor enabled.
1819        PullDownPullDownResistorEnabled = 1,
1820        /// Pull-up. Pull-up resistor enabled.
1821        PullUpPullUpResistorEnabled = 2,
1822        /// Repeater. Repeater mode.
1823        RepeaterRepeaterMode = 3
1824    ],
1825    /// Driver slew rate.
1826    SLEW OFFSET(6) NUMBITS(1) [
1827        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1828        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1829        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1830        FAST = 1
1831    ],
1832    /// Input polarity.
1833    INVERT OFFSET(7) NUMBITS(1) [
1834        /// Disabled. Input function is not inverted.
1835        DisabledInputFunctionIsNotInverted = 0,
1836        /// Enabled. Input is function inverted.
1837        EnabledInputIsFunctionInverted = 1
1838    ],
1839    /// Select Digital mode.
1840    DIGIMODE OFFSET(8) NUMBITS(1) [
1841        /// Disable digital mode. Digital input set to 0.
1842        DisableDigitalModeDigitalInputSetTo0 = 0,
1843        /// Enable Digital mode. Digital input is enabled.
1844        EnableDigitalModeDigitalInputIsEnabled = 1
1845    ],
1846    /// Controls open-drain mode.
1847    OD OFFSET(9) NUMBITS(1) [
1848        /// Normal. Normal push-pull output
1849        NormalNormalPushPullOutput = 0,
1850        /// Open-drain. Simulated open-drain output (high drive disabled).
1851        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1852    ]
1853],
1854PIO0_26 [
1855    /// Selects pin function.
1856    FUNC OFFSET(0) NUMBITS(4) [
1857        /// Alternative connection 0.
1858        AlternativeConnection0 = 0,
1859        /// Alternative connection 1.
1860        AlternativeConnection1 = 1,
1861        /// Alternative connection 2.
1862        AlternativeConnection2 = 2,
1863        /// Alternative connection 3.
1864        AlternativeConnection3 = 3,
1865        /// Alternative connection 4.
1866        AlternativeConnection4 = 4,
1867        /// Alternative connection 5.
1868        AlternativeConnection5 = 5,
1869        /// Alternative connection 6.
1870        AlternativeConnection6 = 6,
1871        /// Alternative connection 7.
1872        AlternativeConnection7 = 7
1873    ],
1874    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1875    MODE OFFSET(4) NUMBITS(2) [
1876        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1877        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1878        /// Pull-down. Pull-down resistor enabled.
1879        PullDownPullDownResistorEnabled = 1,
1880        /// Pull-up. Pull-up resistor enabled.
1881        PullUpPullUpResistorEnabled = 2,
1882        /// Repeater. Repeater mode.
1883        RepeaterRepeaterMode = 3
1884    ],
1885    /// Driver slew rate.
1886    SLEW OFFSET(6) NUMBITS(1) [
1887        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1888        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1889        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1890        FAST = 1
1891    ],
1892    /// Input polarity.
1893    INVERT OFFSET(7) NUMBITS(1) [
1894        /// Disabled. Input function is not inverted.
1895        DisabledInputFunctionIsNotInverted = 0,
1896        /// Enabled. Input is function inverted.
1897        EnabledInputIsFunctionInverted = 1
1898    ],
1899    /// Select Digital mode.
1900    DIGIMODE OFFSET(8) NUMBITS(1) [
1901        /// Disable digital mode. Digital input set to 0.
1902        DisableDigitalModeDigitalInputSetTo0 = 0,
1903        /// Enable Digital mode. Digital input is enabled.
1904        EnableDigitalModeDigitalInputIsEnabled = 1
1905    ],
1906    /// Controls open-drain mode.
1907    OD OFFSET(9) NUMBITS(1) [
1908        /// Normal. Normal push-pull output
1909        NormalNormalPushPullOutput = 0,
1910        /// Open-drain. Simulated open-drain output (high drive disabled).
1911        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1912    ]
1913],
1914PIO0_27 [
1915    /// Selects pin function.
1916    FUNC OFFSET(0) NUMBITS(4) [
1917        /// Alternative connection 0.
1918        AlternativeConnection0 = 0,
1919        /// Alternative connection 1.
1920        AlternativeConnection1 = 1,
1921        /// Alternative connection 2.
1922        AlternativeConnection2 = 2,
1923        /// Alternative connection 3.
1924        AlternativeConnection3 = 3,
1925        /// Alternative connection 4.
1926        AlternativeConnection4 = 4,
1927        /// Alternative connection 5.
1928        AlternativeConnection5 = 5,
1929        /// Alternative connection 6.
1930        AlternativeConnection6 = 6,
1931        /// Alternative connection 7.
1932        AlternativeConnection7 = 7
1933    ],
1934    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1935    MODE OFFSET(4) NUMBITS(2) [
1936        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1937        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1938        /// Pull-down. Pull-down resistor enabled.
1939        PullDownPullDownResistorEnabled = 1,
1940        /// Pull-up. Pull-up resistor enabled.
1941        PullUpPullUpResistorEnabled = 2,
1942        /// Repeater. Repeater mode.
1943        RepeaterRepeaterMode = 3
1944    ],
1945    /// Driver slew rate.
1946    SLEW OFFSET(6) NUMBITS(1) [
1947        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
1948        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
1949        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
1950        FAST = 1
1951    ],
1952    /// Input polarity.
1953    INVERT OFFSET(7) NUMBITS(1) [
1954        /// Disabled. Input function is not inverted.
1955        DisabledInputFunctionIsNotInverted = 0,
1956        /// Enabled. Input is function inverted.
1957        EnabledInputIsFunctionInverted = 1
1958    ],
1959    /// Select Digital mode.
1960    DIGIMODE OFFSET(8) NUMBITS(1) [
1961        /// Disable digital mode. Digital input set to 0.
1962        DisableDigitalModeDigitalInputSetTo0 = 0,
1963        /// Enable Digital mode. Digital input is enabled.
1964        EnableDigitalModeDigitalInputIsEnabled = 1
1965    ],
1966    /// Controls open-drain mode.
1967    OD OFFSET(9) NUMBITS(1) [
1968        /// Normal. Normal push-pull output
1969        NormalNormalPushPullOutput = 0,
1970        /// Open-drain. Simulated open-drain output (high drive disabled).
1971        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
1972    ]
1973],
1974PIO0_28 [
1975    /// Selects pin function.
1976    FUNC OFFSET(0) NUMBITS(4) [
1977        /// Alternative connection 0.
1978        AlternativeConnection0 = 0,
1979        /// Alternative connection 1.
1980        AlternativeConnection1 = 1,
1981        /// Alternative connection 2.
1982        AlternativeConnection2 = 2,
1983        /// Alternative connection 3.
1984        AlternativeConnection3 = 3,
1985        /// Alternative connection 4.
1986        AlternativeConnection4 = 4,
1987        /// Alternative connection 5.
1988        AlternativeConnection5 = 5,
1989        /// Alternative connection 6.
1990        AlternativeConnection6 = 6,
1991        /// Alternative connection 7.
1992        AlternativeConnection7 = 7
1993    ],
1994    /// Selects function mode (on-chip pull-up/pull-down resistor control).
1995    MODE OFFSET(4) NUMBITS(2) [
1996        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
1997        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
1998        /// Pull-down. Pull-down resistor enabled.
1999        PullDownPullDownResistorEnabled = 1,
2000        /// Pull-up. Pull-up resistor enabled.
2001        PullUpPullUpResistorEnabled = 2,
2002        /// Repeater. Repeater mode.
2003        RepeaterRepeaterMode = 3
2004    ],
2005    /// Driver slew rate.
2006    SLEW OFFSET(6) NUMBITS(1) [
2007        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2008        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2009        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2010        FAST = 1
2011    ],
2012    /// Input polarity.
2013    INVERT OFFSET(7) NUMBITS(1) [
2014        /// Disabled. Input function is not inverted.
2015        DisabledInputFunctionIsNotInverted = 0,
2016        /// Enabled. Input is function inverted.
2017        EnabledInputIsFunctionInverted = 1
2018    ],
2019    /// Select Digital mode.
2020    DIGIMODE OFFSET(8) NUMBITS(1) [
2021        /// Disable digital mode. Digital input set to 0.
2022        DisableDigitalModeDigitalInputSetTo0 = 0,
2023        /// Enable Digital mode. Digital input is enabled.
2024        EnableDigitalModeDigitalInputIsEnabled = 1
2025    ],
2026    /// Controls open-drain mode.
2027    OD OFFSET(9) NUMBITS(1) [
2028        /// Normal. Normal push-pull output
2029        NormalNormalPushPullOutput = 0,
2030        /// Open-drain. Simulated open-drain output (high drive disabled).
2031        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2032    ]
2033],
2034PIO0_29 [
2035    /// Selects pin function.
2036    FUNC OFFSET(0) NUMBITS(4) [
2037        /// Alternative connection 0.
2038        AlternativeConnection0 = 0,
2039        /// Alternative connection 1.
2040        AlternativeConnection1 = 1,
2041        /// Alternative connection 2.
2042        AlternativeConnection2 = 2,
2043        /// Alternative connection 3.
2044        AlternativeConnection3 = 3,
2045        /// Alternative connection 4.
2046        AlternativeConnection4 = 4,
2047        /// Alternative connection 5.
2048        AlternativeConnection5 = 5,
2049        /// Alternative connection 6.
2050        AlternativeConnection6 = 6,
2051        /// Alternative connection 7.
2052        AlternativeConnection7 = 7
2053    ],
2054    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2055    MODE OFFSET(4) NUMBITS(2) [
2056        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2057        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2058        /// Pull-down. Pull-down resistor enabled.
2059        PullDownPullDownResistorEnabled = 1,
2060        /// Pull-up. Pull-up resistor enabled.
2061        PullUpPullUpResistorEnabled = 2,
2062        /// Repeater. Repeater mode.
2063        RepeaterRepeaterMode = 3
2064    ],
2065    /// Driver slew rate.
2066    SLEW OFFSET(6) NUMBITS(1) [
2067        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2068        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2069        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2070        FAST = 1
2071    ],
2072    /// Input polarity.
2073    INVERT OFFSET(7) NUMBITS(1) [
2074        /// Disabled. Input function is not inverted.
2075        DisabledInputFunctionIsNotInverted = 0,
2076        /// Enabled. Input is function inverted.
2077        EnabledInputIsFunctionInverted = 1
2078    ],
2079    /// Select Digital mode.
2080    DIGIMODE OFFSET(8) NUMBITS(1) [
2081        /// Disable digital mode. Digital input set to 0.
2082        DisableDigitalModeDigitalInputSetTo0 = 0,
2083        /// Enable Digital mode. Digital input is enabled.
2084        EnableDigitalModeDigitalInputIsEnabled = 1
2085    ],
2086    /// Controls open-drain mode.
2087    OD OFFSET(9) NUMBITS(1) [
2088        /// Normal. Normal push-pull output
2089        NormalNormalPushPullOutput = 0,
2090        /// Open-drain. Simulated open-drain output (high drive disabled).
2091        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2092    ]
2093],
2094PIO0_30 [
2095    /// Selects pin function.
2096    FUNC OFFSET(0) NUMBITS(4) [
2097        /// Alternative connection 0.
2098        AlternativeConnection0 = 0,
2099        /// Alternative connection 1.
2100        AlternativeConnection1 = 1,
2101        /// Alternative connection 2.
2102        AlternativeConnection2 = 2,
2103        /// Alternative connection 3.
2104        AlternativeConnection3 = 3,
2105        /// Alternative connection 4.
2106        AlternativeConnection4 = 4,
2107        /// Alternative connection 5.
2108        AlternativeConnection5 = 5,
2109        /// Alternative connection 6.
2110        AlternativeConnection6 = 6,
2111        /// Alternative connection 7.
2112        AlternativeConnection7 = 7
2113    ],
2114    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2115    MODE OFFSET(4) NUMBITS(2) [
2116        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2117        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2118        /// Pull-down. Pull-down resistor enabled.
2119        PullDownPullDownResistorEnabled = 1,
2120        /// Pull-up. Pull-up resistor enabled.
2121        PullUpPullUpResistorEnabled = 2,
2122        /// Repeater. Repeater mode.
2123        RepeaterRepeaterMode = 3
2124    ],
2125    /// Driver slew rate.
2126    SLEW OFFSET(6) NUMBITS(1) [
2127        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2128        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2129        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2130        FAST = 1
2131    ],
2132    /// Input polarity.
2133    INVERT OFFSET(7) NUMBITS(1) [
2134        /// Disabled. Input function is not inverted.
2135        DisabledInputFunctionIsNotInverted = 0,
2136        /// Enabled. Input is function inverted.
2137        EnabledInputIsFunctionInverted = 1
2138    ],
2139    /// Select Digital mode.
2140    DIGIMODE OFFSET(8) NUMBITS(1) [
2141        /// Disable digital mode. Digital input set to 0.
2142        DisableDigitalModeDigitalInputSetTo0 = 0,
2143        /// Enable Digital mode. Digital input is enabled.
2144        EnableDigitalModeDigitalInputIsEnabled = 1
2145    ],
2146    /// Controls open-drain mode.
2147    OD OFFSET(9) NUMBITS(1) [
2148        /// Normal. Normal push-pull output
2149        NormalNormalPushPullOutput = 0,
2150        /// Open-drain. Simulated open-drain output (high drive disabled).
2151        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2152    ]
2153],
2154PIO0_31 [
2155    /// Selects pin function.
2156    FUNC OFFSET(0) NUMBITS(4) [
2157        /// Alternative connection 0.
2158        AlternativeConnection0 = 0,
2159        /// Alternative connection 1.
2160        AlternativeConnection1 = 1,
2161        /// Alternative connection 2.
2162        AlternativeConnection2 = 2,
2163        /// Alternative connection 3.
2164        AlternativeConnection3 = 3,
2165        /// Alternative connection 4.
2166        AlternativeConnection4 = 4,
2167        /// Alternative connection 5.
2168        AlternativeConnection5 = 5,
2169        /// Alternative connection 6.
2170        AlternativeConnection6 = 6,
2171        /// Alternative connection 7.
2172        AlternativeConnection7 = 7
2173    ],
2174    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2175    MODE OFFSET(4) NUMBITS(2) [
2176        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2177        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2178        /// Pull-down. Pull-down resistor enabled.
2179        PullDownPullDownResistorEnabled = 1,
2180        /// Pull-up. Pull-up resistor enabled.
2181        PullUpPullUpResistorEnabled = 2,
2182        /// Repeater. Repeater mode.
2183        RepeaterRepeaterMode = 3
2184    ],
2185    /// Driver slew rate.
2186    SLEW OFFSET(6) NUMBITS(1) [
2187        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2188        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2189        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2190        FAST = 1
2191    ],
2192    /// Input polarity.
2193    INVERT OFFSET(7) NUMBITS(1) [
2194        /// Disabled. Input function is not inverted.
2195        DisabledInputFunctionIsNotInverted = 0,
2196        /// Enabled. Input is function inverted.
2197        EnabledInputIsFunctionInverted = 1
2198    ],
2199    /// Select Digital mode.
2200    DIGIMODE OFFSET(8) NUMBITS(1) [
2201        /// Disable digital mode. Digital input set to 0.
2202        DisableDigitalModeDigitalInputSetTo0 = 0,
2203        /// Enable Digital mode. Digital input is enabled.
2204        EnableDigitalModeDigitalInputIsEnabled = 1
2205    ],
2206    /// Controls open-drain mode.
2207    OD OFFSET(9) NUMBITS(1) [
2208        /// Normal. Normal push-pull output
2209        NormalNormalPushPullOutput = 0,
2210        /// Open-drain. Simulated open-drain output (high drive disabled).
2211        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2212    ],
2213    /// Analog switch input control.
2214    ASW OFFSET(10) NUMBITS(1) [
2215        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
2216        VALUE0 = 0,
2217        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
2218        VALUE1 = 1
2219    ]
2220],
2221PIO1_0 [
2222    /// Selects pin function.
2223    FUNC OFFSET(0) NUMBITS(4) [
2224        /// Alternative connection 0.
2225        AlternativeConnection0 = 0,
2226        /// Alternative connection 1.
2227        AlternativeConnection1 = 1,
2228        /// Alternative connection 2.
2229        AlternativeConnection2 = 2,
2230        /// Alternative connection 3.
2231        AlternativeConnection3 = 3,
2232        /// Alternative connection 4.
2233        AlternativeConnection4 = 4,
2234        /// Alternative connection 5.
2235        AlternativeConnection5 = 5,
2236        /// Alternative connection 6.
2237        AlternativeConnection6 = 6,
2238        /// Alternative connection 7.
2239        AlternativeConnection7 = 7
2240    ],
2241    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2242    MODE OFFSET(4) NUMBITS(2) [
2243        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2244        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2245        /// Pull-down. Pull-down resistor enabled.
2246        PullDownPullDownResistorEnabled = 1,
2247        /// Pull-up. Pull-up resistor enabled.
2248        PullUpPullUpResistorEnabled = 2,
2249        /// Repeater. Repeater mode.
2250        RepeaterRepeaterMode = 3
2251    ],
2252    /// Driver slew rate.
2253    SLEW OFFSET(6) NUMBITS(1) [
2254        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2255        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2256        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2257        FAST = 1
2258    ],
2259    /// Input polarity.
2260    INVERT OFFSET(7) NUMBITS(1) [
2261        /// Disabled. Input function is not inverted.
2262        DisabledInputFunctionIsNotInverted = 0,
2263        /// Enabled. Input is function inverted.
2264        EnabledInputIsFunctionInverted = 1
2265    ],
2266    /// Select Digital mode.
2267    DIGIMODE OFFSET(8) NUMBITS(1) [
2268        /// Disable digital mode. Digital input set to 0.
2269        DisableDigitalModeDigitalInputSetTo0 = 0,
2270        /// Enable Digital mode. Digital input is enabled.
2271        EnableDigitalModeDigitalInputIsEnabled = 1
2272    ],
2273    /// Controls open-drain mode.
2274    OD OFFSET(9) NUMBITS(1) [
2275        /// Normal. Normal push-pull output
2276        NormalNormalPushPullOutput = 0,
2277        /// Open-drain. Simulated open-drain output (high drive disabled).
2278        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2279    ],
2280    /// Analog switch input control.
2281    ASW OFFSET(10) NUMBITS(1) [
2282        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
2283        VALUE0 = 0,
2284        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
2285        VALUE1 = 1
2286    ]
2287],
2288PIO1_1 [
2289    /// Selects pin function.
2290    FUNC OFFSET(0) NUMBITS(4) [
2291        /// Alternative connection 0.
2292        AlternativeConnection0 = 0,
2293        /// Alternative connection 1.
2294        AlternativeConnection1 = 1,
2295        /// Alternative connection 2.
2296        AlternativeConnection2 = 2,
2297        /// Alternative connection 3.
2298        AlternativeConnection3 = 3,
2299        /// Alternative connection 4.
2300        AlternativeConnection4 = 4,
2301        /// Alternative connection 5.
2302        AlternativeConnection5 = 5,
2303        /// Alternative connection 6.
2304        AlternativeConnection6 = 6,
2305        /// Alternative connection 7.
2306        AlternativeConnection7 = 7
2307    ],
2308    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2309    MODE OFFSET(4) NUMBITS(2) [
2310        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2311        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2312        /// Pull-down. Pull-down resistor enabled.
2313        PullDownPullDownResistorEnabled = 1,
2314        /// Pull-up. Pull-up resistor enabled.
2315        PullUpPullUpResistorEnabled = 2,
2316        /// Repeater. Repeater mode.
2317        RepeaterRepeaterMode = 3
2318    ],
2319    /// Driver slew rate.
2320    SLEW OFFSET(6) NUMBITS(1) [
2321        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2322        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2323        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2324        FAST = 1
2325    ],
2326    /// Input polarity.
2327    INVERT OFFSET(7) NUMBITS(1) [
2328        /// Disabled. Input function is not inverted.
2329        DisabledInputFunctionIsNotInverted = 0,
2330        /// Enabled. Input is function inverted.
2331        EnabledInputIsFunctionInverted = 1
2332    ],
2333    /// Select Digital mode.
2334    DIGIMODE OFFSET(8) NUMBITS(1) [
2335        /// Disable digital mode. Digital input set to 0.
2336        DisableDigitalModeDigitalInputSetTo0 = 0,
2337        /// Enable Digital mode. Digital input is enabled.
2338        EnableDigitalModeDigitalInputIsEnabled = 1
2339    ],
2340    /// Controls open-drain mode.
2341    OD OFFSET(9) NUMBITS(1) [
2342        /// Normal. Normal push-pull output
2343        NormalNormalPushPullOutput = 0,
2344        /// Open-drain. Simulated open-drain output (high drive disabled).
2345        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2346    ]
2347],
2348PIO1_2 [
2349    /// Selects pin function.
2350    FUNC OFFSET(0) NUMBITS(4) [
2351        /// Alternative connection 0.
2352        AlternativeConnection0 = 0,
2353        /// Alternative connection 1.
2354        AlternativeConnection1 = 1,
2355        /// Alternative connection 2.
2356        AlternativeConnection2 = 2,
2357        /// Alternative connection 3.
2358        AlternativeConnection3 = 3,
2359        /// Alternative connection 4.
2360        AlternativeConnection4 = 4,
2361        /// Alternative connection 5.
2362        AlternativeConnection5 = 5,
2363        /// Alternative connection 6.
2364        AlternativeConnection6 = 6,
2365        /// Alternative connection 7.
2366        AlternativeConnection7 = 7
2367    ],
2368    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2369    MODE OFFSET(4) NUMBITS(2) [
2370        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2371        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2372        /// Pull-down. Pull-down resistor enabled.
2373        PullDownPullDownResistorEnabled = 1,
2374        /// Pull-up. Pull-up resistor enabled.
2375        PullUpPullUpResistorEnabled = 2,
2376        /// Repeater. Repeater mode.
2377        RepeaterRepeaterMode = 3
2378    ],
2379    /// Driver slew rate.
2380    SLEW OFFSET(6) NUMBITS(1) [
2381        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2382        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2383        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2384        FAST = 1
2385    ],
2386    /// Input polarity.
2387    INVERT OFFSET(7) NUMBITS(1) [
2388        /// Disabled. Input function is not inverted.
2389        DisabledInputFunctionIsNotInverted = 0,
2390        /// Enabled. Input is function inverted.
2391        EnabledInputIsFunctionInverted = 1
2392    ],
2393    /// Select Digital mode.
2394    DIGIMODE OFFSET(8) NUMBITS(1) [
2395        /// Disable digital mode. Digital input set to 0.
2396        DisableDigitalModeDigitalInputSetTo0 = 0,
2397        /// Enable Digital mode. Digital input is enabled.
2398        EnableDigitalModeDigitalInputIsEnabled = 1
2399    ],
2400    /// Controls open-drain mode.
2401    OD OFFSET(9) NUMBITS(1) [
2402        /// Normal. Normal push-pull output
2403        NormalNormalPushPullOutput = 0,
2404        /// Open-drain. Simulated open-drain output (high drive disabled).
2405        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2406    ]
2407],
2408PIO1_3 [
2409    /// Selects pin function.
2410    FUNC OFFSET(0) NUMBITS(4) [
2411        /// Alternative connection 0.
2412        AlternativeConnection0 = 0,
2413        /// Alternative connection 1.
2414        AlternativeConnection1 = 1,
2415        /// Alternative connection 2.
2416        AlternativeConnection2 = 2,
2417        /// Alternative connection 3.
2418        AlternativeConnection3 = 3,
2419        /// Alternative connection 4.
2420        AlternativeConnection4 = 4,
2421        /// Alternative connection 5.
2422        AlternativeConnection5 = 5,
2423        /// Alternative connection 6.
2424        AlternativeConnection6 = 6,
2425        /// Alternative connection 7.
2426        AlternativeConnection7 = 7
2427    ],
2428    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2429    MODE OFFSET(4) NUMBITS(2) [
2430        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2431        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2432        /// Pull-down. Pull-down resistor enabled.
2433        PullDownPullDownResistorEnabled = 1,
2434        /// Pull-up. Pull-up resistor enabled.
2435        PullUpPullUpResistorEnabled = 2,
2436        /// Repeater. Repeater mode.
2437        RepeaterRepeaterMode = 3
2438    ],
2439    /// Driver slew rate.
2440    SLEW OFFSET(6) NUMBITS(1) [
2441        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2442        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2443        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2444        FAST = 1
2445    ],
2446    /// Input polarity.
2447    INVERT OFFSET(7) NUMBITS(1) [
2448        /// Disabled. Input function is not inverted.
2449        DisabledInputFunctionIsNotInverted = 0,
2450        /// Enabled. Input is function inverted.
2451        EnabledInputIsFunctionInverted = 1
2452    ],
2453    /// Select Digital mode.
2454    DIGIMODE OFFSET(8) NUMBITS(1) [
2455        /// Disable digital mode. Digital input set to 0.
2456        DisableDigitalModeDigitalInputSetTo0 = 0,
2457        /// Enable Digital mode. Digital input is enabled.
2458        EnableDigitalModeDigitalInputIsEnabled = 1
2459    ],
2460    /// Controls open-drain mode.
2461    OD OFFSET(9) NUMBITS(1) [
2462        /// Normal. Normal push-pull output
2463        NormalNormalPushPullOutput = 0,
2464        /// Open-drain. Simulated open-drain output (high drive disabled).
2465        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2466    ]
2467],
2468PIO1_4 [
2469    /// Selects pin function.
2470    FUNC OFFSET(0) NUMBITS(4) [
2471        /// Alternative connection 0.
2472        AlternativeConnection0 = 0,
2473        /// Alternative connection 1.
2474        AlternativeConnection1 = 1,
2475        /// Alternative connection 2.
2476        AlternativeConnection2 = 2,
2477        /// Alternative connection 3.
2478        AlternativeConnection3 = 3,
2479        /// Alternative connection 4.
2480        AlternativeConnection4 = 4,
2481        /// Alternative connection 5.
2482        AlternativeConnection5 = 5,
2483        /// Alternative connection 6.
2484        AlternativeConnection6 = 6,
2485        /// Alternative connection 7.
2486        AlternativeConnection7 = 7
2487    ],
2488    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2489    MODE OFFSET(4) NUMBITS(2) [
2490        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2491        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2492        /// Pull-down. Pull-down resistor enabled.
2493        PullDownPullDownResistorEnabled = 1,
2494        /// Pull-up. Pull-up resistor enabled.
2495        PullUpPullUpResistorEnabled = 2,
2496        /// Repeater. Repeater mode.
2497        RepeaterRepeaterMode = 3
2498    ],
2499    /// Driver slew rate.
2500    SLEW OFFSET(6) NUMBITS(1) [
2501        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2502        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2503        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2504        FAST = 1
2505    ],
2506    /// Input polarity.
2507    INVERT OFFSET(7) NUMBITS(1) [
2508        /// Disabled. Input function is not inverted.
2509        DisabledInputFunctionIsNotInverted = 0,
2510        /// Enabled. Input is function inverted.
2511        EnabledInputIsFunctionInverted = 1
2512    ],
2513    /// Select Digital mode.
2514    DIGIMODE OFFSET(8) NUMBITS(1) [
2515        /// Disable digital mode. Digital input set to 0.
2516        DisableDigitalModeDigitalInputSetTo0 = 0,
2517        /// Enable Digital mode. Digital input is enabled.
2518        EnableDigitalModeDigitalInputIsEnabled = 1
2519    ],
2520    /// Controls open-drain mode.
2521    OD OFFSET(9) NUMBITS(1) [
2522        /// Normal. Normal push-pull output
2523        NormalNormalPushPullOutput = 0,
2524        /// Open-drain. Simulated open-drain output (high drive disabled).
2525        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2526    ]
2527],
2528PIO1_5 [
2529    /// Selects pin function.
2530    FUNC OFFSET(0) NUMBITS(4) [
2531        /// Alternative connection 0.
2532        AlternativeConnection0 = 0,
2533        /// Alternative connection 1.
2534        AlternativeConnection1 = 1,
2535        /// Alternative connection 2.
2536        AlternativeConnection2 = 2,
2537        /// Alternative connection 3.
2538        AlternativeConnection3 = 3,
2539        /// Alternative connection 4.
2540        AlternativeConnection4 = 4,
2541        /// Alternative connection 5.
2542        AlternativeConnection5 = 5,
2543        /// Alternative connection 6.
2544        AlternativeConnection6 = 6,
2545        /// Alternative connection 7.
2546        AlternativeConnection7 = 7
2547    ],
2548    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2549    MODE OFFSET(4) NUMBITS(2) [
2550        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2551        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2552        /// Pull-down. Pull-down resistor enabled.
2553        PullDownPullDownResistorEnabled = 1,
2554        /// Pull-up. Pull-up resistor enabled.
2555        PullUpPullUpResistorEnabled = 2,
2556        /// Repeater. Repeater mode.
2557        RepeaterRepeaterMode = 3
2558    ],
2559    /// Driver slew rate.
2560    SLEW OFFSET(6) NUMBITS(1) [
2561        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2562        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2563        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2564        FAST = 1
2565    ],
2566    /// Input polarity.
2567    INVERT OFFSET(7) NUMBITS(1) [
2568        /// Disabled. Input function is not inverted.
2569        DisabledInputFunctionIsNotInverted = 0,
2570        /// Enabled. Input is function inverted.
2571        EnabledInputIsFunctionInverted = 1
2572    ],
2573    /// Select Digital mode.
2574    DIGIMODE OFFSET(8) NUMBITS(1) [
2575        /// Disable digital mode. Digital input set to 0.
2576        DisableDigitalModeDigitalInputSetTo0 = 0,
2577        /// Enable Digital mode. Digital input is enabled.
2578        EnableDigitalModeDigitalInputIsEnabled = 1
2579    ],
2580    /// Controls open-drain mode.
2581    OD OFFSET(9) NUMBITS(1) [
2582        /// Normal. Normal push-pull output
2583        NormalNormalPushPullOutput = 0,
2584        /// Open-drain. Simulated open-drain output (high drive disabled).
2585        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2586    ]
2587],
2588PIO1_6 [
2589    /// Selects pin function.
2590    FUNC OFFSET(0) NUMBITS(4) [
2591        /// Alternative connection 0.
2592        AlternativeConnection0 = 0,
2593        /// Alternative connection 1.
2594        AlternativeConnection1 = 1,
2595        /// Alternative connection 2.
2596        AlternativeConnection2 = 2,
2597        /// Alternative connection 3.
2598        AlternativeConnection3 = 3,
2599        /// Alternative connection 4.
2600        AlternativeConnection4 = 4,
2601        /// Alternative connection 5.
2602        AlternativeConnection5 = 5,
2603        /// Alternative connection 6.
2604        AlternativeConnection6 = 6,
2605        /// Alternative connection 7.
2606        AlternativeConnection7 = 7
2607    ],
2608    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2609    MODE OFFSET(4) NUMBITS(2) [
2610        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2611        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2612        /// Pull-down. Pull-down resistor enabled.
2613        PullDownPullDownResistorEnabled = 1,
2614        /// Pull-up. Pull-up resistor enabled.
2615        PullUpPullUpResistorEnabled = 2,
2616        /// Repeater. Repeater mode.
2617        RepeaterRepeaterMode = 3
2618    ],
2619    /// Driver slew rate.
2620    SLEW OFFSET(6) NUMBITS(1) [
2621        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2622        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2623        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2624        FAST = 1
2625    ],
2626    /// Input polarity.
2627    INVERT OFFSET(7) NUMBITS(1) [
2628        /// Disabled. Input function is not inverted.
2629        DisabledInputFunctionIsNotInverted = 0,
2630        /// Enabled. Input is function inverted.
2631        EnabledInputIsFunctionInverted = 1
2632    ],
2633    /// Select Digital mode.
2634    DIGIMODE OFFSET(8) NUMBITS(1) [
2635        /// Disable digital mode. Digital input set to 0.
2636        DisableDigitalModeDigitalInputSetTo0 = 0,
2637        /// Enable Digital mode. Digital input is enabled.
2638        EnableDigitalModeDigitalInputIsEnabled = 1
2639    ],
2640    /// Controls open-drain mode.
2641    OD OFFSET(9) NUMBITS(1) [
2642        /// Normal. Normal push-pull output
2643        NormalNormalPushPullOutput = 0,
2644        /// Open-drain. Simulated open-drain output (high drive disabled).
2645        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2646    ]
2647],
2648PIO1_7 [
2649    /// Selects pin function.
2650    FUNC OFFSET(0) NUMBITS(4) [
2651        /// Alternative connection 0.
2652        AlternativeConnection0 = 0,
2653        /// Alternative connection 1.
2654        AlternativeConnection1 = 1,
2655        /// Alternative connection 2.
2656        AlternativeConnection2 = 2,
2657        /// Alternative connection 3.
2658        AlternativeConnection3 = 3,
2659        /// Alternative connection 4.
2660        AlternativeConnection4 = 4,
2661        /// Alternative connection 5.
2662        AlternativeConnection5 = 5,
2663        /// Alternative connection 6.
2664        AlternativeConnection6 = 6,
2665        /// Alternative connection 7.
2666        AlternativeConnection7 = 7
2667    ],
2668    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2669    MODE OFFSET(4) NUMBITS(2) [
2670        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2671        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2672        /// Pull-down. Pull-down resistor enabled.
2673        PullDownPullDownResistorEnabled = 1,
2674        /// Pull-up. Pull-up resistor enabled.
2675        PullUpPullUpResistorEnabled = 2,
2676        /// Repeater. Repeater mode.
2677        RepeaterRepeaterMode = 3
2678    ],
2679    /// Driver slew rate.
2680    SLEW OFFSET(6) NUMBITS(1) [
2681        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2682        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2683        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2684        FAST = 1
2685    ],
2686    /// Input polarity.
2687    INVERT OFFSET(7) NUMBITS(1) [
2688        /// Disabled. Input function is not inverted.
2689        DisabledInputFunctionIsNotInverted = 0,
2690        /// Enabled. Input is function inverted.
2691        EnabledInputIsFunctionInverted = 1
2692    ],
2693    /// Select Digital mode.
2694    DIGIMODE OFFSET(8) NUMBITS(1) [
2695        /// Disable digital mode. Digital input set to 0.
2696        DisableDigitalModeDigitalInputSetTo0 = 0,
2697        /// Enable Digital mode. Digital input is enabled.
2698        EnableDigitalModeDigitalInputIsEnabled = 1
2699    ],
2700    /// Controls open-drain mode.
2701    OD OFFSET(9) NUMBITS(1) [
2702        /// Normal. Normal push-pull output
2703        NormalNormalPushPullOutput = 0,
2704        /// Open-drain. Simulated open-drain output (high drive disabled).
2705        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2706    ]
2707],
2708PIO1_8 [
2709    /// Selects pin function.
2710    FUNC OFFSET(0) NUMBITS(4) [
2711        /// Alternative connection 0.
2712        AlternativeConnection0 = 0,
2713        /// Alternative connection 1.
2714        AlternativeConnection1 = 1,
2715        /// Alternative connection 2.
2716        AlternativeConnection2 = 2,
2717        /// Alternative connection 3.
2718        AlternativeConnection3 = 3,
2719        /// Alternative connection 4.
2720        AlternativeConnection4 = 4,
2721        /// Alternative connection 5.
2722        AlternativeConnection5 = 5,
2723        /// Alternative connection 6.
2724        AlternativeConnection6 = 6,
2725        /// Alternative connection 7.
2726        AlternativeConnection7 = 7
2727    ],
2728    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2729    MODE OFFSET(4) NUMBITS(2) [
2730        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2731        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2732        /// Pull-down. Pull-down resistor enabled.
2733        PullDownPullDownResistorEnabled = 1,
2734        /// Pull-up. Pull-up resistor enabled.
2735        PullUpPullUpResistorEnabled = 2,
2736        /// Repeater. Repeater mode.
2737        RepeaterRepeaterMode = 3
2738    ],
2739    /// Driver slew rate.
2740    SLEW OFFSET(6) NUMBITS(1) [
2741        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2742        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2743        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2744        FAST = 1
2745    ],
2746    /// Input polarity.
2747    INVERT OFFSET(7) NUMBITS(1) [
2748        /// Disabled. Input function is not inverted.
2749        DisabledInputFunctionIsNotInverted = 0,
2750        /// Enabled. Input is function inverted.
2751        EnabledInputIsFunctionInverted = 1
2752    ],
2753    /// Select Digital mode.
2754    DIGIMODE OFFSET(8) NUMBITS(1) [
2755        /// Disable digital mode. Digital input set to 0.
2756        DisableDigitalModeDigitalInputSetTo0 = 0,
2757        /// Enable Digital mode. Digital input is enabled.
2758        EnableDigitalModeDigitalInputIsEnabled = 1
2759    ],
2760    /// Controls open-drain mode.
2761    OD OFFSET(9) NUMBITS(1) [
2762        /// Normal. Normal push-pull output
2763        NormalNormalPushPullOutput = 0,
2764        /// Open-drain. Simulated open-drain output (high drive disabled).
2765        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2766    ],
2767    /// Analog switch input control.
2768    ASW OFFSET(10) NUMBITS(1) [
2769        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
2770        VALUE0 = 0,
2771        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
2772        VALUE1 = 1
2773    ]
2774],
2775PIO1_9 [
2776    /// Selects pin function.
2777    FUNC OFFSET(0) NUMBITS(4) [
2778        /// Alternative connection 0.
2779        AlternativeConnection0 = 0,
2780        /// Alternative connection 1.
2781        AlternativeConnection1 = 1,
2782        /// Alternative connection 2.
2783        AlternativeConnection2 = 2,
2784        /// Alternative connection 3.
2785        AlternativeConnection3 = 3,
2786        /// Alternative connection 4.
2787        AlternativeConnection4 = 4,
2788        /// Alternative connection 5.
2789        AlternativeConnection5 = 5,
2790        /// Alternative connection 6.
2791        AlternativeConnection6 = 6,
2792        /// Alternative connection 7.
2793        AlternativeConnection7 = 7
2794    ],
2795    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2796    MODE OFFSET(4) NUMBITS(2) [
2797        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2798        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2799        /// Pull-down. Pull-down resistor enabled.
2800        PullDownPullDownResistorEnabled = 1,
2801        /// Pull-up. Pull-up resistor enabled.
2802        PullUpPullUpResistorEnabled = 2,
2803        /// Repeater. Repeater mode.
2804        RepeaterRepeaterMode = 3
2805    ],
2806    /// Driver slew rate.
2807    SLEW OFFSET(6) NUMBITS(1) [
2808        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2809        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2810        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2811        FAST = 1
2812    ],
2813    /// Input polarity.
2814    INVERT OFFSET(7) NUMBITS(1) [
2815        /// Disabled. Input function is not inverted.
2816        DisabledInputFunctionIsNotInverted = 0,
2817        /// Enabled. Input is function inverted.
2818        EnabledInputIsFunctionInverted = 1
2819    ],
2820    /// Select Digital mode.
2821    DIGIMODE OFFSET(8) NUMBITS(1) [
2822        /// Disable digital mode. Digital input set to 0.
2823        DisableDigitalModeDigitalInputSetTo0 = 0,
2824        /// Enable Digital mode. Digital input is enabled.
2825        EnableDigitalModeDigitalInputIsEnabled = 1
2826    ],
2827    /// Controls open-drain mode.
2828    OD OFFSET(9) NUMBITS(1) [
2829        /// Normal. Normal push-pull output
2830        NormalNormalPushPullOutput = 0,
2831        /// Open-drain. Simulated open-drain output (high drive disabled).
2832        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2833    ],
2834    /// Analog switch input control.
2835    ASW OFFSET(10) NUMBITS(1) [
2836        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
2837        VALUE0 = 0,
2838        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
2839        VALUE1 = 1
2840    ]
2841],
2842PIO1_10 [
2843    /// Selects pin function.
2844    FUNC OFFSET(0) NUMBITS(4) [
2845        /// Alternative connection 0.
2846        AlternativeConnection0 = 0,
2847        /// Alternative connection 1.
2848        AlternativeConnection1 = 1,
2849        /// Alternative connection 2.
2850        AlternativeConnection2 = 2,
2851        /// Alternative connection 3.
2852        AlternativeConnection3 = 3,
2853        /// Alternative connection 4.
2854        AlternativeConnection4 = 4,
2855        /// Alternative connection 5.
2856        AlternativeConnection5 = 5,
2857        /// Alternative connection 6.
2858        AlternativeConnection6 = 6,
2859        /// Alternative connection 7.
2860        AlternativeConnection7 = 7
2861    ],
2862    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2863    MODE OFFSET(4) NUMBITS(2) [
2864        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2865        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2866        /// Pull-down. Pull-down resistor enabled.
2867        PullDownPullDownResistorEnabled = 1,
2868        /// Pull-up. Pull-up resistor enabled.
2869        PullUpPullUpResistorEnabled = 2,
2870        /// Repeater. Repeater mode.
2871        RepeaterRepeaterMode = 3
2872    ],
2873    /// Driver slew rate.
2874    SLEW OFFSET(6) NUMBITS(1) [
2875        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2876        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2877        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2878        FAST = 1
2879    ],
2880    /// Input polarity.
2881    INVERT OFFSET(7) NUMBITS(1) [
2882        /// Disabled. Input function is not inverted.
2883        DisabledInputFunctionIsNotInverted = 0,
2884        /// Enabled. Input is function inverted.
2885        EnabledInputIsFunctionInverted = 1
2886    ],
2887    /// Select Digital mode.
2888    DIGIMODE OFFSET(8) NUMBITS(1) [
2889        /// Disable digital mode. Digital input set to 0.
2890        DisableDigitalModeDigitalInputSetTo0 = 0,
2891        /// Enable Digital mode. Digital input is enabled.
2892        EnableDigitalModeDigitalInputIsEnabled = 1
2893    ],
2894    /// Controls open-drain mode.
2895    OD OFFSET(9) NUMBITS(1) [
2896        /// Normal. Normal push-pull output
2897        NormalNormalPushPullOutput = 0,
2898        /// Open-drain. Simulated open-drain output (high drive disabled).
2899        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2900    ]
2901],
2902PIO1_11 [
2903    /// Selects pin function.
2904    FUNC OFFSET(0) NUMBITS(4) [
2905        /// Alternative connection 0.
2906        AlternativeConnection0 = 0,
2907        /// Alternative connection 1.
2908        AlternativeConnection1 = 1,
2909        /// Alternative connection 2.
2910        AlternativeConnection2 = 2,
2911        /// Alternative connection 3.
2912        AlternativeConnection3 = 3,
2913        /// Alternative connection 4.
2914        AlternativeConnection4 = 4,
2915        /// Alternative connection 5.
2916        AlternativeConnection5 = 5,
2917        /// Alternative connection 6.
2918        AlternativeConnection6 = 6,
2919        /// Alternative connection 7.
2920        AlternativeConnection7 = 7
2921    ],
2922    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2923    MODE OFFSET(4) NUMBITS(2) [
2924        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2925        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2926        /// Pull-down. Pull-down resistor enabled.
2927        PullDownPullDownResistorEnabled = 1,
2928        /// Pull-up. Pull-up resistor enabled.
2929        PullUpPullUpResistorEnabled = 2,
2930        /// Repeater. Repeater mode.
2931        RepeaterRepeaterMode = 3
2932    ],
2933    /// Driver slew rate.
2934    SLEW OFFSET(6) NUMBITS(1) [
2935        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2936        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2937        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2938        FAST = 1
2939    ],
2940    /// Input polarity.
2941    INVERT OFFSET(7) NUMBITS(1) [
2942        /// Disabled. Input function is not inverted.
2943        DisabledInputFunctionIsNotInverted = 0,
2944        /// Enabled. Input is function inverted.
2945        EnabledInputIsFunctionInverted = 1
2946    ],
2947    /// Select Digital mode.
2948    DIGIMODE OFFSET(8) NUMBITS(1) [
2949        /// Disable digital mode. Digital input set to 0.
2950        DisableDigitalModeDigitalInputSetTo0 = 0,
2951        /// Enable Digital mode. Digital input is enabled.
2952        EnableDigitalModeDigitalInputIsEnabled = 1
2953    ],
2954    /// Controls open-drain mode.
2955    OD OFFSET(9) NUMBITS(1) [
2956        /// Normal. Normal push-pull output
2957        NormalNormalPushPullOutput = 0,
2958        /// Open-drain. Simulated open-drain output (high drive disabled).
2959        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
2960    ]
2961],
2962PIO1_12 [
2963    /// Selects pin function.
2964    FUNC OFFSET(0) NUMBITS(4) [
2965        /// Alternative connection 0.
2966        AlternativeConnection0 = 0,
2967        /// Alternative connection 1.
2968        AlternativeConnection1 = 1,
2969        /// Alternative connection 2.
2970        AlternativeConnection2 = 2,
2971        /// Alternative connection 3.
2972        AlternativeConnection3 = 3,
2973        /// Alternative connection 4.
2974        AlternativeConnection4 = 4,
2975        /// Alternative connection 5.
2976        AlternativeConnection5 = 5,
2977        /// Alternative connection 6.
2978        AlternativeConnection6 = 6,
2979        /// Alternative connection 7.
2980        AlternativeConnection7 = 7
2981    ],
2982    /// Selects function mode (on-chip pull-up/pull-down resistor control).
2983    MODE OFFSET(4) NUMBITS(2) [
2984        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
2985        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
2986        /// Pull-down. Pull-down resistor enabled.
2987        PullDownPullDownResistorEnabled = 1,
2988        /// Pull-up. Pull-up resistor enabled.
2989        PullUpPullUpResistorEnabled = 2,
2990        /// Repeater. Repeater mode.
2991        RepeaterRepeaterMode = 3
2992    ],
2993    /// Driver slew rate.
2994    SLEW OFFSET(6) NUMBITS(1) [
2995        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
2996        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
2997        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
2998        FAST = 1
2999    ],
3000    /// Input polarity.
3001    INVERT OFFSET(7) NUMBITS(1) [
3002        /// Disabled. Input function is not inverted.
3003        DisabledInputFunctionIsNotInverted = 0,
3004        /// Enabled. Input is function inverted.
3005        EnabledInputIsFunctionInverted = 1
3006    ],
3007    /// Select Digital mode.
3008    DIGIMODE OFFSET(8) NUMBITS(1) [
3009        /// Disable digital mode. Digital input set to 0.
3010        DisableDigitalModeDigitalInputSetTo0 = 0,
3011        /// Enable Digital mode. Digital input is enabled.
3012        EnableDigitalModeDigitalInputIsEnabled = 1
3013    ],
3014    /// Controls open-drain mode.
3015    OD OFFSET(9) NUMBITS(1) [
3016        /// Normal. Normal push-pull output
3017        NormalNormalPushPullOutput = 0,
3018        /// Open-drain. Simulated open-drain output (high drive disabled).
3019        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3020    ]
3021],
3022PIO1_13 [
3023    /// Selects pin function.
3024    FUNC OFFSET(0) NUMBITS(4) [
3025        /// Alternative connection 0.
3026        AlternativeConnection0 = 0,
3027        /// Alternative connection 1.
3028        AlternativeConnection1 = 1,
3029        /// Alternative connection 2.
3030        AlternativeConnection2 = 2,
3031        /// Alternative connection 3.
3032        AlternativeConnection3 = 3,
3033        /// Alternative connection 4.
3034        AlternativeConnection4 = 4,
3035        /// Alternative connection 5.
3036        AlternativeConnection5 = 5,
3037        /// Alternative connection 6.
3038        AlternativeConnection6 = 6,
3039        /// Alternative connection 7.
3040        AlternativeConnection7 = 7
3041    ],
3042    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3043    MODE OFFSET(4) NUMBITS(2) [
3044        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3045        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3046        /// Pull-down. Pull-down resistor enabled.
3047        PullDownPullDownResistorEnabled = 1,
3048        /// Pull-up. Pull-up resistor enabled.
3049        PullUpPullUpResistorEnabled = 2,
3050        /// Repeater. Repeater mode.
3051        RepeaterRepeaterMode = 3
3052    ],
3053    /// Driver slew rate.
3054    SLEW OFFSET(6) NUMBITS(1) [
3055        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3056        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3057        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3058        FAST = 1
3059    ],
3060    /// Input polarity.
3061    INVERT OFFSET(7) NUMBITS(1) [
3062        /// Disabled. Input function is not inverted.
3063        DisabledInputFunctionIsNotInverted = 0,
3064        /// Enabled. Input is function inverted.
3065        EnabledInputIsFunctionInverted = 1
3066    ],
3067    /// Select Digital mode.
3068    DIGIMODE OFFSET(8) NUMBITS(1) [
3069        /// Disable digital mode. Digital input set to 0.
3070        DisableDigitalModeDigitalInputSetTo0 = 0,
3071        /// Enable Digital mode. Digital input is enabled.
3072        EnableDigitalModeDigitalInputIsEnabled = 1
3073    ],
3074    /// Controls open-drain mode.
3075    OD OFFSET(9) NUMBITS(1) [
3076        /// Normal. Normal push-pull output
3077        NormalNormalPushPullOutput = 0,
3078        /// Open-drain. Simulated open-drain output (high drive disabled).
3079        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3080    ]
3081],
3082PIO1_14 [
3083    /// Selects pin function.
3084    FUNC OFFSET(0) NUMBITS(4) [
3085        /// Alternative connection 0.
3086        AlternativeConnection0 = 0,
3087        /// Alternative connection 1.
3088        AlternativeConnection1 = 1,
3089        /// Alternative connection 2.
3090        AlternativeConnection2 = 2,
3091        /// Alternative connection 3.
3092        AlternativeConnection3 = 3,
3093        /// Alternative connection 4.
3094        AlternativeConnection4 = 4,
3095        /// Alternative connection 5.
3096        AlternativeConnection5 = 5,
3097        /// Alternative connection 6.
3098        AlternativeConnection6 = 6,
3099        /// Alternative connection 7.
3100        AlternativeConnection7 = 7
3101    ],
3102    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3103    MODE OFFSET(4) NUMBITS(2) [
3104        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3105        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3106        /// Pull-down. Pull-down resistor enabled.
3107        PullDownPullDownResistorEnabled = 1,
3108        /// Pull-up. Pull-up resistor enabled.
3109        PullUpPullUpResistorEnabled = 2,
3110        /// Repeater. Repeater mode.
3111        RepeaterRepeaterMode = 3
3112    ],
3113    /// Driver slew rate.
3114    SLEW OFFSET(6) NUMBITS(1) [
3115        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3116        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3117        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3118        FAST = 1
3119    ],
3120    /// Input polarity.
3121    INVERT OFFSET(7) NUMBITS(1) [
3122        /// Disabled. Input function is not inverted.
3123        DisabledInputFunctionIsNotInverted = 0,
3124        /// Enabled. Input is function inverted.
3125        EnabledInputIsFunctionInverted = 1
3126    ],
3127    /// Select Digital mode.
3128    DIGIMODE OFFSET(8) NUMBITS(1) [
3129        /// Disable digital mode. Digital input set to 0.
3130        DisableDigitalModeDigitalInputSetTo0 = 0,
3131        /// Enable Digital mode. Digital input is enabled.
3132        EnableDigitalModeDigitalInputIsEnabled = 1
3133    ],
3134    /// Controls open-drain mode.
3135    OD OFFSET(9) NUMBITS(1) [
3136        /// Normal. Normal push-pull output
3137        NormalNormalPushPullOutput = 0,
3138        /// Open-drain. Simulated open-drain output (high drive disabled).
3139        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3140    ],
3141    /// Analog switch input control.
3142    ASW OFFSET(10) NUMBITS(1) [
3143        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
3144        VALUE0 = 0,
3145        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
3146        VALUE1 = 1
3147    ]
3148],
3149PIO1_15 [
3150    /// Selects pin function.
3151    FUNC OFFSET(0) NUMBITS(4) [
3152        /// Alternative connection 0.
3153        AlternativeConnection0 = 0,
3154        /// Alternative connection 1.
3155        AlternativeConnection1 = 1,
3156        /// Alternative connection 2.
3157        AlternativeConnection2 = 2,
3158        /// Alternative connection 3.
3159        AlternativeConnection3 = 3,
3160        /// Alternative connection 4.
3161        AlternativeConnection4 = 4,
3162        /// Alternative connection 5.
3163        AlternativeConnection5 = 5,
3164        /// Alternative connection 6.
3165        AlternativeConnection6 = 6,
3166        /// Alternative connection 7.
3167        AlternativeConnection7 = 7
3168    ],
3169    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3170    MODE OFFSET(4) NUMBITS(2) [
3171        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3172        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3173        /// Pull-down. Pull-down resistor enabled.
3174        PullDownPullDownResistorEnabled = 1,
3175        /// Pull-up. Pull-up resistor enabled.
3176        PullUpPullUpResistorEnabled = 2,
3177        /// Repeater. Repeater mode.
3178        RepeaterRepeaterMode = 3
3179    ],
3180    /// Driver slew rate.
3181    SLEW OFFSET(6) NUMBITS(1) [
3182        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3183        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3184        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3185        FAST = 1
3186    ],
3187    /// Input polarity.
3188    INVERT OFFSET(7) NUMBITS(1) [
3189        /// Disabled. Input function is not inverted.
3190        DisabledInputFunctionIsNotInverted = 0,
3191        /// Enabled. Input is function inverted.
3192        EnabledInputIsFunctionInverted = 1
3193    ],
3194    /// Select Digital mode.
3195    DIGIMODE OFFSET(8) NUMBITS(1) [
3196        /// Disable digital mode. Digital input set to 0.
3197        DisableDigitalModeDigitalInputSetTo0 = 0,
3198        /// Enable Digital mode. Digital input is enabled.
3199        EnableDigitalModeDigitalInputIsEnabled = 1
3200    ],
3201    /// Controls open-drain mode.
3202    OD OFFSET(9) NUMBITS(1) [
3203        /// Normal. Normal push-pull output
3204        NormalNormalPushPullOutput = 0,
3205        /// Open-drain. Simulated open-drain output (high drive disabled).
3206        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3207    ]
3208],
3209PIO1_16 [
3210    /// Selects pin function.
3211    FUNC OFFSET(0) NUMBITS(4) [
3212        /// Alternative connection 0.
3213        AlternativeConnection0 = 0,
3214        /// Alternative connection 1.
3215        AlternativeConnection1 = 1,
3216        /// Alternative connection 2.
3217        AlternativeConnection2 = 2,
3218        /// Alternative connection 3.
3219        AlternativeConnection3 = 3,
3220        /// Alternative connection 4.
3221        AlternativeConnection4 = 4,
3222        /// Alternative connection 5.
3223        AlternativeConnection5 = 5,
3224        /// Alternative connection 6.
3225        AlternativeConnection6 = 6,
3226        /// Alternative connection 7.
3227        AlternativeConnection7 = 7
3228    ],
3229    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3230    MODE OFFSET(4) NUMBITS(2) [
3231        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3232        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3233        /// Pull-down. Pull-down resistor enabled.
3234        PullDownPullDownResistorEnabled = 1,
3235        /// Pull-up. Pull-up resistor enabled.
3236        PullUpPullUpResistorEnabled = 2,
3237        /// Repeater. Repeater mode.
3238        RepeaterRepeaterMode = 3
3239    ],
3240    /// Driver slew rate.
3241    SLEW OFFSET(6) NUMBITS(1) [
3242        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3243        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3244        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3245        FAST = 1
3246    ],
3247    /// Input polarity.
3248    INVERT OFFSET(7) NUMBITS(1) [
3249        /// Disabled. Input function is not inverted.
3250        DisabledInputFunctionIsNotInverted = 0,
3251        /// Enabled. Input is function inverted.
3252        EnabledInputIsFunctionInverted = 1
3253    ],
3254    /// Select Digital mode.
3255    DIGIMODE OFFSET(8) NUMBITS(1) [
3256        /// Disable digital mode. Digital input set to 0.
3257        DisableDigitalModeDigitalInputSetTo0 = 0,
3258        /// Enable Digital mode. Digital input is enabled.
3259        EnableDigitalModeDigitalInputIsEnabled = 1
3260    ],
3261    /// Controls open-drain mode.
3262    OD OFFSET(9) NUMBITS(1) [
3263        /// Normal. Normal push-pull output
3264        NormalNormalPushPullOutput = 0,
3265        /// Open-drain. Simulated open-drain output (high drive disabled).
3266        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3267    ]
3268],
3269PIO1_17 [
3270    /// Selects pin function.
3271    FUNC OFFSET(0) NUMBITS(4) [
3272        /// Alternative connection 0.
3273        AlternativeConnection0 = 0,
3274        /// Alternative connection 1.
3275        AlternativeConnection1 = 1,
3276        /// Alternative connection 2.
3277        AlternativeConnection2 = 2,
3278        /// Alternative connection 3.
3279        AlternativeConnection3 = 3,
3280        /// Alternative connection 4.
3281        AlternativeConnection4 = 4,
3282        /// Alternative connection 5.
3283        AlternativeConnection5 = 5,
3284        /// Alternative connection 6.
3285        AlternativeConnection6 = 6,
3286        /// Alternative connection 7.
3287        AlternativeConnection7 = 7
3288    ],
3289    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3290    MODE OFFSET(4) NUMBITS(2) [
3291        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3292        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3293        /// Pull-down. Pull-down resistor enabled.
3294        PullDownPullDownResistorEnabled = 1,
3295        /// Pull-up. Pull-up resistor enabled.
3296        PullUpPullUpResistorEnabled = 2,
3297        /// Repeater. Repeater mode.
3298        RepeaterRepeaterMode = 3
3299    ],
3300    /// Driver slew rate.
3301    SLEW OFFSET(6) NUMBITS(1) [
3302        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3303        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3304        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3305        FAST = 1
3306    ],
3307    /// Input polarity.
3308    INVERT OFFSET(7) NUMBITS(1) [
3309        /// Disabled. Input function is not inverted.
3310        DisabledInputFunctionIsNotInverted = 0,
3311        /// Enabled. Input is function inverted.
3312        EnabledInputIsFunctionInverted = 1
3313    ],
3314    /// Select Digital mode.
3315    DIGIMODE OFFSET(8) NUMBITS(1) [
3316        /// Disable digital mode. Digital input set to 0.
3317        DisableDigitalModeDigitalInputSetTo0 = 0,
3318        /// Enable Digital mode. Digital input is enabled.
3319        EnableDigitalModeDigitalInputIsEnabled = 1
3320    ],
3321    /// Controls open-drain mode.
3322    OD OFFSET(9) NUMBITS(1) [
3323        /// Normal. Normal push-pull output
3324        NormalNormalPushPullOutput = 0,
3325        /// Open-drain. Simulated open-drain output (high drive disabled).
3326        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3327    ]
3328],
3329PIO1_18 [
3330    /// Selects pin function.
3331    FUNC OFFSET(0) NUMBITS(4) [
3332        /// Alternative connection 0.
3333        AlternativeConnection0 = 0,
3334        /// Alternative connection 1.
3335        AlternativeConnection1 = 1,
3336        /// Alternative connection 2.
3337        AlternativeConnection2 = 2,
3338        /// Alternative connection 3.
3339        AlternativeConnection3 = 3,
3340        /// Alternative connection 4.
3341        AlternativeConnection4 = 4,
3342        /// Alternative connection 5.
3343        AlternativeConnection5 = 5,
3344        /// Alternative connection 6.
3345        AlternativeConnection6 = 6,
3346        /// Alternative connection 7.
3347        AlternativeConnection7 = 7
3348    ],
3349    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3350    MODE OFFSET(4) NUMBITS(2) [
3351        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3352        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3353        /// Pull-down. Pull-down resistor enabled.
3354        PullDownPullDownResistorEnabled = 1,
3355        /// Pull-up. Pull-up resistor enabled.
3356        PullUpPullUpResistorEnabled = 2,
3357        /// Repeater. Repeater mode.
3358        RepeaterRepeaterMode = 3
3359    ],
3360    /// Driver slew rate.
3361    SLEW OFFSET(6) NUMBITS(1) [
3362        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3363        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3364        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3365        FAST = 1
3366    ],
3367    /// Input polarity.
3368    INVERT OFFSET(7) NUMBITS(1) [
3369        /// Disabled. Input function is not inverted.
3370        DisabledInputFunctionIsNotInverted = 0,
3371        /// Enabled. Input is function inverted.
3372        EnabledInputIsFunctionInverted = 1
3373    ],
3374    /// Select Digital mode.
3375    DIGIMODE OFFSET(8) NUMBITS(1) [
3376        /// Disable digital mode. Digital input set to 0.
3377        DisableDigitalModeDigitalInputSetTo0 = 0,
3378        /// Enable Digital mode. Digital input is enabled.
3379        EnableDigitalModeDigitalInputIsEnabled = 1
3380    ],
3381    /// Controls open-drain mode.
3382    OD OFFSET(9) NUMBITS(1) [
3383        /// Normal. Normal push-pull output
3384        NormalNormalPushPullOutput = 0,
3385        /// Open-drain. Simulated open-drain output (high drive disabled).
3386        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3387    ]
3388],
3389PIO1_19 [
3390    /// Selects pin function.
3391    FUNC OFFSET(0) NUMBITS(4) [
3392        /// Alternative connection 0.
3393        AlternativeConnection0 = 0,
3394        /// Alternative connection 1.
3395        AlternativeConnection1 = 1,
3396        /// Alternative connection 2.
3397        AlternativeConnection2 = 2,
3398        /// Alternative connection 3.
3399        AlternativeConnection3 = 3,
3400        /// Alternative connection 4.
3401        AlternativeConnection4 = 4,
3402        /// Alternative connection 5.
3403        AlternativeConnection5 = 5,
3404        /// Alternative connection 6.
3405        AlternativeConnection6 = 6,
3406        /// Alternative connection 7.
3407        AlternativeConnection7 = 7
3408    ],
3409    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3410    MODE OFFSET(4) NUMBITS(2) [
3411        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3412        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3413        /// Pull-down. Pull-down resistor enabled.
3414        PullDownPullDownResistorEnabled = 1,
3415        /// Pull-up. Pull-up resistor enabled.
3416        PullUpPullUpResistorEnabled = 2,
3417        /// Repeater. Repeater mode.
3418        RepeaterRepeaterMode = 3
3419    ],
3420    /// Driver slew rate.
3421    SLEW OFFSET(6) NUMBITS(1) [
3422        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3423        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3424        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3425        FAST = 1
3426    ],
3427    /// Input polarity.
3428    INVERT OFFSET(7) NUMBITS(1) [
3429        /// Disabled. Input function is not inverted.
3430        DisabledInputFunctionIsNotInverted = 0,
3431        /// Enabled. Input is function inverted.
3432        EnabledInputIsFunctionInverted = 1
3433    ],
3434    /// Select Digital mode.
3435    DIGIMODE OFFSET(8) NUMBITS(1) [
3436        /// Disable digital mode. Digital input set to 0.
3437        DisableDigitalModeDigitalInputSetTo0 = 0,
3438        /// Enable Digital mode. Digital input is enabled.
3439        EnableDigitalModeDigitalInputIsEnabled = 1
3440    ],
3441    /// Controls open-drain mode.
3442    OD OFFSET(9) NUMBITS(1) [
3443        /// Normal. Normal push-pull output
3444        NormalNormalPushPullOutput = 0,
3445        /// Open-drain. Simulated open-drain output (high drive disabled).
3446        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3447    ],
3448    /// Analog switch input control.
3449    ASW OFFSET(10) NUMBITS(1) [
3450        /// For pins PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9,
3451        VALUE0 = 0,
3452        /// For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0
3453        VALUE1 = 1
3454    ]
3455],
3456PIO1_20 [
3457    /// Selects pin function.
3458    FUNC OFFSET(0) NUMBITS(4) [
3459        /// Alternative connection 0.
3460        AlternativeConnection0 = 0,
3461        /// Alternative connection 1.
3462        AlternativeConnection1 = 1,
3463        /// Alternative connection 2.
3464        AlternativeConnection2 = 2,
3465        /// Alternative connection 3.
3466        AlternativeConnection3 = 3,
3467        /// Alternative connection 4.
3468        AlternativeConnection4 = 4,
3469        /// Alternative connection 5.
3470        AlternativeConnection5 = 5,
3471        /// Alternative connection 6.
3472        AlternativeConnection6 = 6,
3473        /// Alternative connection 7.
3474        AlternativeConnection7 = 7
3475    ],
3476    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3477    MODE OFFSET(4) NUMBITS(2) [
3478        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3479        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3480        /// Pull-down. Pull-down resistor enabled.
3481        PullDownPullDownResistorEnabled = 1,
3482        /// Pull-up. Pull-up resistor enabled.
3483        PullUpPullUpResistorEnabled = 2,
3484        /// Repeater. Repeater mode.
3485        RepeaterRepeaterMode = 3
3486    ],
3487    /// Driver slew rate.
3488    SLEW OFFSET(6) NUMBITS(1) [
3489        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3490        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3491        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3492        FAST = 1
3493    ],
3494    /// Input polarity.
3495    INVERT OFFSET(7) NUMBITS(1) [
3496        /// Disabled. Input function is not inverted.
3497        DisabledInputFunctionIsNotInverted = 0,
3498        /// Enabled. Input is function inverted.
3499        EnabledInputIsFunctionInverted = 1
3500    ],
3501    /// Select Digital mode.
3502    DIGIMODE OFFSET(8) NUMBITS(1) [
3503        /// Disable digital mode. Digital input set to 0.
3504        DisableDigitalModeDigitalInputSetTo0 = 0,
3505        /// Enable Digital mode. Digital input is enabled.
3506        EnableDigitalModeDigitalInputIsEnabled = 1
3507    ],
3508    /// Controls open-drain mode.
3509    OD OFFSET(9) NUMBITS(1) [
3510        /// Normal. Normal push-pull output
3511        NormalNormalPushPullOutput = 0,
3512        /// Open-drain. Simulated open-drain output (high drive disabled).
3513        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3514    ]
3515],
3516PIO1_21 [
3517    /// Selects pin function.
3518    FUNC OFFSET(0) NUMBITS(4) [
3519        /// Alternative connection 0.
3520        AlternativeConnection0 = 0,
3521        /// Alternative connection 1.
3522        AlternativeConnection1 = 1,
3523        /// Alternative connection 2.
3524        AlternativeConnection2 = 2,
3525        /// Alternative connection 3.
3526        AlternativeConnection3 = 3,
3527        /// Alternative connection 4.
3528        AlternativeConnection4 = 4,
3529        /// Alternative connection 5.
3530        AlternativeConnection5 = 5,
3531        /// Alternative connection 6.
3532        AlternativeConnection6 = 6,
3533        /// Alternative connection 7.
3534        AlternativeConnection7 = 7
3535    ],
3536    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3537    MODE OFFSET(4) NUMBITS(2) [
3538        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3539        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3540        /// Pull-down. Pull-down resistor enabled.
3541        PullDownPullDownResistorEnabled = 1,
3542        /// Pull-up. Pull-up resistor enabled.
3543        PullUpPullUpResistorEnabled = 2,
3544        /// Repeater. Repeater mode.
3545        RepeaterRepeaterMode = 3
3546    ],
3547    /// Driver slew rate.
3548    SLEW OFFSET(6) NUMBITS(1) [
3549        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3550        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3551        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3552        FAST = 1
3553    ],
3554    /// Input polarity.
3555    INVERT OFFSET(7) NUMBITS(1) [
3556        /// Disabled. Input function is not inverted.
3557        DisabledInputFunctionIsNotInverted = 0,
3558        /// Enabled. Input is function inverted.
3559        EnabledInputIsFunctionInverted = 1
3560    ],
3561    /// Select Digital mode.
3562    DIGIMODE OFFSET(8) NUMBITS(1) [
3563        /// Disable digital mode. Digital input set to 0.
3564        DisableDigitalModeDigitalInputSetTo0 = 0,
3565        /// Enable Digital mode. Digital input is enabled.
3566        EnableDigitalModeDigitalInputIsEnabled = 1
3567    ],
3568    /// Controls open-drain mode.
3569    OD OFFSET(9) NUMBITS(1) [
3570        /// Normal. Normal push-pull output
3571        NormalNormalPushPullOutput = 0,
3572        /// Open-drain. Simulated open-drain output (high drive disabled).
3573        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3574    ]
3575],
3576PIO1_22 [
3577    /// Selects pin function.
3578    FUNC OFFSET(0) NUMBITS(4) [
3579        /// Alternative connection 0.
3580        AlternativeConnection0 = 0,
3581        /// Alternative connection 1.
3582        AlternativeConnection1 = 1,
3583        /// Alternative connection 2.
3584        AlternativeConnection2 = 2,
3585        /// Alternative connection 3.
3586        AlternativeConnection3 = 3,
3587        /// Alternative connection 4.
3588        AlternativeConnection4 = 4,
3589        /// Alternative connection 5.
3590        AlternativeConnection5 = 5,
3591        /// Alternative connection 6.
3592        AlternativeConnection6 = 6,
3593        /// Alternative connection 7.
3594        AlternativeConnection7 = 7
3595    ],
3596    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3597    MODE OFFSET(4) NUMBITS(2) [
3598        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3599        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3600        /// Pull-down. Pull-down resistor enabled.
3601        PullDownPullDownResistorEnabled = 1,
3602        /// Pull-up. Pull-up resistor enabled.
3603        PullUpPullUpResistorEnabled = 2,
3604        /// Repeater. Repeater mode.
3605        RepeaterRepeaterMode = 3
3606    ],
3607    /// Driver slew rate.
3608    SLEW OFFSET(6) NUMBITS(1) [
3609        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3610        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3611        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3612        FAST = 1
3613    ],
3614    /// Input polarity.
3615    INVERT OFFSET(7) NUMBITS(1) [
3616        /// Disabled. Input function is not inverted.
3617        DisabledInputFunctionIsNotInverted = 0,
3618        /// Enabled. Input is function inverted.
3619        EnabledInputIsFunctionInverted = 1
3620    ],
3621    /// Select Digital mode.
3622    DIGIMODE OFFSET(8) NUMBITS(1) [
3623        /// Disable digital mode. Digital input set to 0.
3624        DisableDigitalModeDigitalInputSetTo0 = 0,
3625        /// Enable Digital mode. Digital input is enabled.
3626        EnableDigitalModeDigitalInputIsEnabled = 1
3627    ],
3628    /// Controls open-drain mode.
3629    OD OFFSET(9) NUMBITS(1) [
3630        /// Normal. Normal push-pull output
3631        NormalNormalPushPullOutput = 0,
3632        /// Open-drain. Simulated open-drain output (high drive disabled).
3633        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3634    ]
3635],
3636PIO1_23 [
3637    /// Selects pin function.
3638    FUNC OFFSET(0) NUMBITS(4) [
3639        /// Alternative connection 0.
3640        AlternativeConnection0 = 0,
3641        /// Alternative connection 1.
3642        AlternativeConnection1 = 1,
3643        /// Alternative connection 2.
3644        AlternativeConnection2 = 2,
3645        /// Alternative connection 3.
3646        AlternativeConnection3 = 3,
3647        /// Alternative connection 4.
3648        AlternativeConnection4 = 4,
3649        /// Alternative connection 5.
3650        AlternativeConnection5 = 5,
3651        /// Alternative connection 6.
3652        AlternativeConnection6 = 6,
3653        /// Alternative connection 7.
3654        AlternativeConnection7 = 7
3655    ],
3656    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3657    MODE OFFSET(4) NUMBITS(2) [
3658        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3659        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3660        /// Pull-down. Pull-down resistor enabled.
3661        PullDownPullDownResistorEnabled = 1,
3662        /// Pull-up. Pull-up resistor enabled.
3663        PullUpPullUpResistorEnabled = 2,
3664        /// Repeater. Repeater mode.
3665        RepeaterRepeaterMode = 3
3666    ],
3667    /// Driver slew rate.
3668    SLEW OFFSET(6) NUMBITS(1) [
3669        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3670        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3671        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3672        FAST = 1
3673    ],
3674    /// Input polarity.
3675    INVERT OFFSET(7) NUMBITS(1) [
3676        /// Disabled. Input function is not inverted.
3677        DisabledInputFunctionIsNotInverted = 0,
3678        /// Enabled. Input is function inverted.
3679        EnabledInputIsFunctionInverted = 1
3680    ],
3681    /// Select Digital mode.
3682    DIGIMODE OFFSET(8) NUMBITS(1) [
3683        /// Disable digital mode. Digital input set to 0.
3684        DisableDigitalModeDigitalInputSetTo0 = 0,
3685        /// Enable Digital mode. Digital input is enabled.
3686        EnableDigitalModeDigitalInputIsEnabled = 1
3687    ],
3688    /// Controls open-drain mode.
3689    OD OFFSET(9) NUMBITS(1) [
3690        /// Normal. Normal push-pull output
3691        NormalNormalPushPullOutput = 0,
3692        /// Open-drain. Simulated open-drain output (high drive disabled).
3693        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3694    ]
3695],
3696PIO1_24 [
3697    /// Selects pin function.
3698    FUNC OFFSET(0) NUMBITS(4) [
3699        /// Alternative connection 0.
3700        AlternativeConnection0 = 0,
3701        /// Alternative connection 1.
3702        AlternativeConnection1 = 1,
3703        /// Alternative connection 2.
3704        AlternativeConnection2 = 2,
3705        /// Alternative connection 3.
3706        AlternativeConnection3 = 3,
3707        /// Alternative connection 4.
3708        AlternativeConnection4 = 4,
3709        /// Alternative connection 5.
3710        AlternativeConnection5 = 5,
3711        /// Alternative connection 6.
3712        AlternativeConnection6 = 6,
3713        /// Alternative connection 7.
3714        AlternativeConnection7 = 7
3715    ],
3716    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3717    MODE OFFSET(4) NUMBITS(2) [
3718        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3719        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3720        /// Pull-down. Pull-down resistor enabled.
3721        PullDownPullDownResistorEnabled = 1,
3722        /// Pull-up. Pull-up resistor enabled.
3723        PullUpPullUpResistorEnabled = 2,
3724        /// Repeater. Repeater mode.
3725        RepeaterRepeaterMode = 3
3726    ],
3727    /// Driver slew rate.
3728    SLEW OFFSET(6) NUMBITS(1) [
3729        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3730        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3731        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3732        FAST = 1
3733    ],
3734    /// Input polarity.
3735    INVERT OFFSET(7) NUMBITS(1) [
3736        /// Disabled. Input function is not inverted.
3737        DisabledInputFunctionIsNotInverted = 0,
3738        /// Enabled. Input is function inverted.
3739        EnabledInputIsFunctionInverted = 1
3740    ],
3741    /// Select Digital mode.
3742    DIGIMODE OFFSET(8) NUMBITS(1) [
3743        /// Disable digital mode. Digital input set to 0.
3744        DisableDigitalModeDigitalInputSetTo0 = 0,
3745        /// Enable Digital mode. Digital input is enabled.
3746        EnableDigitalModeDigitalInputIsEnabled = 1
3747    ],
3748    /// Controls open-drain mode.
3749    OD OFFSET(9) NUMBITS(1) [
3750        /// Normal. Normal push-pull output
3751        NormalNormalPushPullOutput = 0,
3752        /// Open-drain. Simulated open-drain output (high drive disabled).
3753        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3754    ]
3755],
3756PIO1_25 [
3757    /// Selects pin function.
3758    FUNC OFFSET(0) NUMBITS(4) [
3759        /// Alternative connection 0.
3760        AlternativeConnection0 = 0,
3761        /// Alternative connection 1.
3762        AlternativeConnection1 = 1,
3763        /// Alternative connection 2.
3764        AlternativeConnection2 = 2,
3765        /// Alternative connection 3.
3766        AlternativeConnection3 = 3,
3767        /// Alternative connection 4.
3768        AlternativeConnection4 = 4,
3769        /// Alternative connection 5.
3770        AlternativeConnection5 = 5,
3771        /// Alternative connection 6.
3772        AlternativeConnection6 = 6,
3773        /// Alternative connection 7.
3774        AlternativeConnection7 = 7
3775    ],
3776    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3777    MODE OFFSET(4) NUMBITS(2) [
3778        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3779        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3780        /// Pull-down. Pull-down resistor enabled.
3781        PullDownPullDownResistorEnabled = 1,
3782        /// Pull-up. Pull-up resistor enabled.
3783        PullUpPullUpResistorEnabled = 2,
3784        /// Repeater. Repeater mode.
3785        RepeaterRepeaterMode = 3
3786    ],
3787    /// Driver slew rate.
3788    SLEW OFFSET(6) NUMBITS(1) [
3789        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3790        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3791        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3792        FAST = 1
3793    ],
3794    /// Input polarity.
3795    INVERT OFFSET(7) NUMBITS(1) [
3796        /// Disabled. Input function is not inverted.
3797        DisabledInputFunctionIsNotInverted = 0,
3798        /// Enabled. Input is function inverted.
3799        EnabledInputIsFunctionInverted = 1
3800    ],
3801    /// Select Digital mode.
3802    DIGIMODE OFFSET(8) NUMBITS(1) [
3803        /// Disable digital mode. Digital input set to 0.
3804        DisableDigitalModeDigitalInputSetTo0 = 0,
3805        /// Enable Digital mode. Digital input is enabled.
3806        EnableDigitalModeDigitalInputIsEnabled = 1
3807    ],
3808    /// Controls open-drain mode.
3809    OD OFFSET(9) NUMBITS(1) [
3810        /// Normal. Normal push-pull output
3811        NormalNormalPushPullOutput = 0,
3812        /// Open-drain. Simulated open-drain output (high drive disabled).
3813        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3814    ]
3815],
3816PIO1_26 [
3817    /// Selects pin function.
3818    FUNC OFFSET(0) NUMBITS(4) [
3819        /// Alternative connection 0.
3820        AlternativeConnection0 = 0,
3821        /// Alternative connection 1.
3822        AlternativeConnection1 = 1,
3823        /// Alternative connection 2.
3824        AlternativeConnection2 = 2,
3825        /// Alternative connection 3.
3826        AlternativeConnection3 = 3,
3827        /// Alternative connection 4.
3828        AlternativeConnection4 = 4,
3829        /// Alternative connection 5.
3830        AlternativeConnection5 = 5,
3831        /// Alternative connection 6.
3832        AlternativeConnection6 = 6,
3833        /// Alternative connection 7.
3834        AlternativeConnection7 = 7
3835    ],
3836    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3837    MODE OFFSET(4) NUMBITS(2) [
3838        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3839        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3840        /// Pull-down. Pull-down resistor enabled.
3841        PullDownPullDownResistorEnabled = 1,
3842        /// Pull-up. Pull-up resistor enabled.
3843        PullUpPullUpResistorEnabled = 2,
3844        /// Repeater. Repeater mode.
3845        RepeaterRepeaterMode = 3
3846    ],
3847    /// Driver slew rate.
3848    SLEW OFFSET(6) NUMBITS(1) [
3849        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3850        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3851        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3852        FAST = 1
3853    ],
3854    /// Input polarity.
3855    INVERT OFFSET(7) NUMBITS(1) [
3856        /// Disabled. Input function is not inverted.
3857        DisabledInputFunctionIsNotInverted = 0,
3858        /// Enabled. Input is function inverted.
3859        EnabledInputIsFunctionInverted = 1
3860    ],
3861    /// Select Digital mode.
3862    DIGIMODE OFFSET(8) NUMBITS(1) [
3863        /// Disable digital mode. Digital input set to 0.
3864        DisableDigitalModeDigitalInputSetTo0 = 0,
3865        /// Enable Digital mode. Digital input is enabled.
3866        EnableDigitalModeDigitalInputIsEnabled = 1
3867    ],
3868    /// Controls open-drain mode.
3869    OD OFFSET(9) NUMBITS(1) [
3870        /// Normal. Normal push-pull output
3871        NormalNormalPushPullOutput = 0,
3872        /// Open-drain. Simulated open-drain output (high drive disabled).
3873        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3874    ]
3875],
3876PIO1_27 [
3877    /// Selects pin function.
3878    FUNC OFFSET(0) NUMBITS(4) [
3879        /// Alternative connection 0.
3880        AlternativeConnection0 = 0,
3881        /// Alternative connection 1.
3882        AlternativeConnection1 = 1,
3883        /// Alternative connection 2.
3884        AlternativeConnection2 = 2,
3885        /// Alternative connection 3.
3886        AlternativeConnection3 = 3,
3887        /// Alternative connection 4.
3888        AlternativeConnection4 = 4,
3889        /// Alternative connection 5.
3890        AlternativeConnection5 = 5,
3891        /// Alternative connection 6.
3892        AlternativeConnection6 = 6,
3893        /// Alternative connection 7.
3894        AlternativeConnection7 = 7
3895    ],
3896    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3897    MODE OFFSET(4) NUMBITS(2) [
3898        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3899        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3900        /// Pull-down. Pull-down resistor enabled.
3901        PullDownPullDownResistorEnabled = 1,
3902        /// Pull-up. Pull-up resistor enabled.
3903        PullUpPullUpResistorEnabled = 2,
3904        /// Repeater. Repeater mode.
3905        RepeaterRepeaterMode = 3
3906    ],
3907    /// Driver slew rate.
3908    SLEW OFFSET(6) NUMBITS(1) [
3909        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3910        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3911        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3912        FAST = 1
3913    ],
3914    /// Input polarity.
3915    INVERT OFFSET(7) NUMBITS(1) [
3916        /// Disabled. Input function is not inverted.
3917        DisabledInputFunctionIsNotInverted = 0,
3918        /// Enabled. Input is function inverted.
3919        EnabledInputIsFunctionInverted = 1
3920    ],
3921    /// Select Digital mode.
3922    DIGIMODE OFFSET(8) NUMBITS(1) [
3923        /// Disable digital mode. Digital input set to 0.
3924        DisableDigitalModeDigitalInputSetTo0 = 0,
3925        /// Enable Digital mode. Digital input is enabled.
3926        EnableDigitalModeDigitalInputIsEnabled = 1
3927    ],
3928    /// Controls open-drain mode.
3929    OD OFFSET(9) NUMBITS(1) [
3930        /// Normal. Normal push-pull output
3931        NormalNormalPushPullOutput = 0,
3932        /// Open-drain. Simulated open-drain output (high drive disabled).
3933        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3934    ]
3935],
3936PIO1_28 [
3937    /// Selects pin function.
3938    FUNC OFFSET(0) NUMBITS(4) [
3939        /// Alternative connection 0.
3940        AlternativeConnection0 = 0,
3941        /// Alternative connection 1.
3942        AlternativeConnection1 = 1,
3943        /// Alternative connection 2.
3944        AlternativeConnection2 = 2,
3945        /// Alternative connection 3.
3946        AlternativeConnection3 = 3,
3947        /// Alternative connection 4.
3948        AlternativeConnection4 = 4,
3949        /// Alternative connection 5.
3950        AlternativeConnection5 = 5,
3951        /// Alternative connection 6.
3952        AlternativeConnection6 = 6,
3953        /// Alternative connection 7.
3954        AlternativeConnection7 = 7
3955    ],
3956    /// Selects function mode (on-chip pull-up/pull-down resistor control).
3957    MODE OFFSET(4) NUMBITS(2) [
3958        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
3959        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
3960        /// Pull-down. Pull-down resistor enabled.
3961        PullDownPullDownResistorEnabled = 1,
3962        /// Pull-up. Pull-up resistor enabled.
3963        PullUpPullUpResistorEnabled = 2,
3964        /// Repeater. Repeater mode.
3965        RepeaterRepeaterMode = 3
3966    ],
3967    /// Driver slew rate.
3968    SLEW OFFSET(6) NUMBITS(1) [
3969        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
3970        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
3971        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
3972        FAST = 1
3973    ],
3974    /// Input polarity.
3975    INVERT OFFSET(7) NUMBITS(1) [
3976        /// Disabled. Input function is not inverted.
3977        DisabledInputFunctionIsNotInverted = 0,
3978        /// Enabled. Input is function inverted.
3979        EnabledInputIsFunctionInverted = 1
3980    ],
3981    /// Select Digital mode.
3982    DIGIMODE OFFSET(8) NUMBITS(1) [
3983        /// Disable digital mode. Digital input set to 0.
3984        DisableDigitalModeDigitalInputSetTo0 = 0,
3985        /// Enable Digital mode. Digital input is enabled.
3986        EnableDigitalModeDigitalInputIsEnabled = 1
3987    ],
3988    /// Controls open-drain mode.
3989    OD OFFSET(9) NUMBITS(1) [
3990        /// Normal. Normal push-pull output
3991        NormalNormalPushPullOutput = 0,
3992        /// Open-drain. Simulated open-drain output (high drive disabled).
3993        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
3994    ]
3995],
3996PIO1_29 [
3997    /// Selects pin function.
3998    FUNC OFFSET(0) NUMBITS(4) [
3999        /// Alternative connection 0.
4000        AlternativeConnection0 = 0,
4001        /// Alternative connection 1.
4002        AlternativeConnection1 = 1,
4003        /// Alternative connection 2.
4004        AlternativeConnection2 = 2,
4005        /// Alternative connection 3.
4006        AlternativeConnection3 = 3,
4007        /// Alternative connection 4.
4008        AlternativeConnection4 = 4,
4009        /// Alternative connection 5.
4010        AlternativeConnection5 = 5,
4011        /// Alternative connection 6.
4012        AlternativeConnection6 = 6,
4013        /// Alternative connection 7.
4014        AlternativeConnection7 = 7
4015    ],
4016    /// Selects function mode (on-chip pull-up/pull-down resistor control).
4017    MODE OFFSET(4) NUMBITS(2) [
4018        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
4019        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
4020        /// Pull-down. Pull-down resistor enabled.
4021        PullDownPullDownResistorEnabled = 1,
4022        /// Pull-up. Pull-up resistor enabled.
4023        PullUpPullUpResistorEnabled = 2,
4024        /// Repeater. Repeater mode.
4025        RepeaterRepeaterMode = 3
4026    ],
4027    /// Driver slew rate.
4028    SLEW OFFSET(6) NUMBITS(1) [
4029        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
4030        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
4031        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
4032        FAST = 1
4033    ],
4034    /// Input polarity.
4035    INVERT OFFSET(7) NUMBITS(1) [
4036        /// Disabled. Input function is not inverted.
4037        DisabledInputFunctionIsNotInverted = 0,
4038        /// Enabled. Input is function inverted.
4039        EnabledInputIsFunctionInverted = 1
4040    ],
4041    /// Select Digital mode.
4042    DIGIMODE OFFSET(8) NUMBITS(1) [
4043        /// Disable digital mode. Digital input set to 0.
4044        DisableDigitalModeDigitalInputSetTo0 = 0,
4045        /// Enable Digital mode. Digital input is enabled.
4046        EnableDigitalModeDigitalInputIsEnabled = 1
4047    ],
4048    /// Controls open-drain mode.
4049    OD OFFSET(9) NUMBITS(1) [
4050        /// Normal. Normal push-pull output
4051        NormalNormalPushPullOutput = 0,
4052        /// Open-drain. Simulated open-drain output (high drive disabled).
4053        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
4054    ]
4055],
4056PIO1_30 [
4057    /// Selects pin function.
4058    FUNC OFFSET(0) NUMBITS(4) [
4059        /// Alternative connection 0.
4060        AlternativeConnection0 = 0,
4061        /// Alternative connection 1.
4062        AlternativeConnection1 = 1,
4063        /// Alternative connection 2.
4064        AlternativeConnection2 = 2,
4065        /// Alternative connection 3.
4066        AlternativeConnection3 = 3,
4067        /// Alternative connection 4.
4068        AlternativeConnection4 = 4,
4069        /// Alternative connection 5.
4070        AlternativeConnection5 = 5,
4071        /// Alternative connection 6.
4072        AlternativeConnection6 = 6,
4073        /// Alternative connection 7.
4074        AlternativeConnection7 = 7
4075    ],
4076    /// Selects function mode (on-chip pull-up/pull-down resistor control).
4077    MODE OFFSET(4) NUMBITS(2) [
4078        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
4079        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
4080        /// Pull-down. Pull-down resistor enabled.
4081        PullDownPullDownResistorEnabled = 1,
4082        /// Pull-up. Pull-up resistor enabled.
4083        PullUpPullUpResistorEnabled = 2,
4084        /// Repeater. Repeater mode.
4085        RepeaterRepeaterMode = 3
4086    ],
4087    /// Driver slew rate.
4088    SLEW OFFSET(6) NUMBITS(1) [
4089        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
4090        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
4091        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
4092        FAST = 1
4093    ],
4094    /// Input polarity.
4095    INVERT OFFSET(7) NUMBITS(1) [
4096        /// Disabled. Input function is not inverted.
4097        DisabledInputFunctionIsNotInverted = 0,
4098        /// Enabled. Input is function inverted.
4099        EnabledInputIsFunctionInverted = 1
4100    ],
4101    /// Select Digital mode.
4102    DIGIMODE OFFSET(8) NUMBITS(1) [
4103        /// Disable digital mode. Digital input set to 0.
4104        DisableDigitalModeDigitalInputSetTo0 = 0,
4105        /// Enable Digital mode. Digital input is enabled.
4106        EnableDigitalModeDigitalInputIsEnabled = 1
4107    ],
4108    /// Controls open-drain mode.
4109    OD OFFSET(9) NUMBITS(1) [
4110        /// Normal. Normal push-pull output
4111        NormalNormalPushPullOutput = 0,
4112        /// Open-drain. Simulated open-drain output (high drive disabled).
4113        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
4114    ]
4115],
4116PIO1_31 [
4117    /// Selects pin function.
4118    FUNC OFFSET(0) NUMBITS(4) [
4119        /// Alternative connection 0.
4120        AlternativeConnection0 = 0,
4121        /// Alternative connection 1.
4122        AlternativeConnection1 = 1,
4123        /// Alternative connection 2.
4124        AlternativeConnection2 = 2,
4125        /// Alternative connection 3.
4126        AlternativeConnection3 = 3,
4127        /// Alternative connection 4.
4128        AlternativeConnection4 = 4,
4129        /// Alternative connection 5.
4130        AlternativeConnection5 = 5,
4131        /// Alternative connection 6.
4132        AlternativeConnection6 = 6,
4133        /// Alternative connection 7.
4134        AlternativeConnection7 = 7
4135    ],
4136    /// Selects function mode (on-chip pull-up/pull-down resistor control).
4137    MODE OFFSET(4) NUMBITS(2) [
4138        /// Inactive. Inactive (no pull-down/pull-up resistor enabled).
4139        InactiveInactiveNoPullDownPullUpResistorEnabled = 0,
4140        /// Pull-down. Pull-down resistor enabled.
4141        PullDownPullDownResistorEnabled = 1,
4142        /// Pull-up. Pull-up resistor enabled.
4143        PullUpPullUpResistorEnabled = 2,
4144        /// Repeater. Repeater mode.
4145        RepeaterRepeaterMode = 3
4146    ],
4147    /// Driver slew rate.
4148    SLEW OFFSET(6) NUMBITS(1) [
4149        /// Standard-mode, output slew rate is slower. More outputs can be switched simultan
4150        StandardModeOutputSlewRateIsSlowerMoreOutputsCanBeSwitchedSimultaneously = 0,
4151        /// Fast-mode, output slew rate is faster. Refer to the appropriate specific device
4152        FAST = 1
4153    ],
4154    /// Input polarity.
4155    INVERT OFFSET(7) NUMBITS(1) [
4156        /// Disabled. Input function is not inverted.
4157        DisabledInputFunctionIsNotInverted = 0,
4158        /// Enabled. Input is function inverted.
4159        EnabledInputIsFunctionInverted = 1
4160    ],
4161    /// Select Digital mode.
4162    DIGIMODE OFFSET(8) NUMBITS(1) [
4163        /// Disable digital mode. Digital input set to 0.
4164        DisableDigitalModeDigitalInputSetTo0 = 0,
4165        /// Enable Digital mode. Digital input is enabled.
4166        EnableDigitalModeDigitalInputIsEnabled = 1
4167    ],
4168    /// Controls open-drain mode.
4169    OD OFFSET(9) NUMBITS(1) [
4170        /// Normal. Normal push-pull output
4171        NormalNormalPushPullOutput = 0,
4172        /// Open-drain. Simulated open-drain output (high drive disabled).
4173        OpenDrainSimulatedOpenDrainOutputHighDriveDisabled = 1
4174    ]
4175]
4176];
4177pub(crate) const IOCON_BASE: StaticRef<IoconRegisters> =
4178    unsafe { StaticRef::new(0x50001000 as *const IoconRegisters) };
4179
4180#[allow(dead_code)]
4181#[derive(Clone, Copy)]
4182pub enum Function {
4183    GPIO = 0,
4184    Alt1 = 1,
4185    Alt2 = 2,
4186    Alt3 = 3,
4187    Alt4 = 4,
4188    Alt5 = 5,
4189    Alt6 = 6,
4190    Alt7 = 7,
4191}
4192
4193#[allow(dead_code)]
4194#[derive(Clone, Copy)]
4195pub enum Pull {
4196    None = 0b00,
4197    Down = 0b01,
4198    Up = 0b10,
4199    Repeater = 0b11,
4200}
4201
4202#[allow(dead_code)]
4203#[derive(Clone, Copy)]
4204pub enum Slew {
4205    Standard = 0,
4206    Fast = 1,
4207}
4208
4209pub struct Config {
4210    pub function: Function,
4211    pub pull: Pull,
4212    pub slew: Slew,
4213    pub invert: bool,
4214    pub digital_mode: bool,
4215    pub open_drain: bool,
4216}
4217
4218pub struct Iocon {
4219    registers: StaticRef<IoconRegisters>,
4220}
4221
4222impl Iocon {
4223    pub const fn new() -> Self {
4224        Self {
4225            registers: IOCON_BASE,
4226        }
4227    }
4228
4229    /// Configures the function, pull mode, and digital mode of a given pin.
4230    ///
4231    /// # Overview
4232    /// This function applies a standard configuration value to the selected pin,
4233    /// based on the provided [`Config`] settings:
4234    /// - `function`: the peripheral function assigned to the pin
4235    /// - `pull`: the pull-up/pull-down resistor configuration
4236    /// - `digital_mode`: whether the pin is used in digital mode
4237    ///
4238    /// # Current Limitations
4239    /// At the moment, only **GPIO** and **alarm** functionality are supported.
4240    /// Many pins are commented out in the `match` statement because they belong
4241    /// to peripherals (e.g., UART, SPI, I2C, etc.) that are not yet implemented.
4242    /// These pins will require additional configuration logic once their
4243    /// corresponding peripheral drivers are added.
4244    ///
4245    /// # Notes
4246    /// - Pins such as `P1_4` (on-board blue LED) and `P1_9` (user button) are
4247    ///   already supported for basic GPIO usage.
4248    /// - Attempting to configure a pin that is not yet implemented will result
4249    ///   in no action (`_ => {}` branch).
4250    ///
4251    /// # Future Work
4252    /// As new peripherals are implemented for the lpc55sx, the commented-out pin
4253    /// entries will be enabled and configured accordingly.
4254    ///
4255    /// # Example
4256    /// ```ignore
4257    /// // Configure P0_0 as a GPIO output with pull-up enabled
4258    /// device.configure_pin(LPCPin::P0_0, Config {
4259    ///     function: Function::Gpio,
4260    ///     pull: Pull::Up,
4261    ///     digital_mode: DigitalMode::Enabled,
4262    /// });
4263    /// ```
4264    pub fn configure_pin(&self, pin: LPCPin, config: Config) {
4265        let standard_value = PIO0_0::FUNC.val(config.function as u32)
4266            + PIO0_0::MODE.val(config.pull as u32)
4267            + PIO0_0::DIGIMODE.val(config.digital_mode as u32);
4268
4269        match pin {
4270            LPCPin::P0_0 => self.registers.pio0_0.set(standard_value.into()),
4271            LPCPin::P0_1 => self.registers.pio0_1.set(standard_value.into()),
4272            LPCPin::P0_2 => self.registers.pio0_2.set(standard_value.into()),
4273            LPCPin::P0_3 => self.registers.pio0_3.set(standard_value.into()),
4274            LPCPin::P0_4 => self.registers.pio0_4.set(standard_value.into()),
4275            // LPCPin::P0_5 => self.registers.pio0_5.set(standard_value.into()),
4276            // LPCPin::P0_6 => self.registers.pio0_6.set(standard_value.into()),
4277            LPCPin::P0_7 => self.registers.pio0_7.set(standard_value.into()),
4278            // LPCPin::P0_8 => self.registers.pio0_8.set(standard_value.into()),
4279            // LPCPin::P0_9 => self.registers.pio0_9.set(standard_value.into()),
4280            // LPCPin::P0_10 => self.registers.pio0_10.set(standard_value.into()),
4281            // LPCPin::P0_11 => self.registers.pio0_11.set(standard_value.into()),
4282            // LPCPin::P0_12 => self.registers.pio0_12.set(standard_value.into()),
4283            // LPCPin::P0_13 => self.registers.pio0_13.set(standard_value.into()),
4284            LPCPin::P0_14 => self.registers.pio0_14.set(standard_value.into()),
4285            LPCPin::P0_15 => self.registers.pio0_15.set(standard_value.into()),
4286            LPCPin::P0_16 => self.registers.pio0_16.set(standard_value.into()),
4287            LPCPin::P0_17 => self.registers.pio0_17.set(standard_value.into()),
4288            LPCPin::P0_18 => self.registers.pio0_18.set(standard_value.into()),
4289            LPCPin::P0_19 => self.registers.pio0_19.set(standard_value.into()),
4290            LPCPin::P0_20 => self.registers.pio0_20.set(standard_value.into()),
4291            LPCPin::P0_21 => self.registers.pio0_21.set(standard_value.into()),
4292            LPCPin::P0_22 => self.registers.pio0_22.set(standard_value.into()),
4293            LPCPin::P0_23 => self.registers.pio0_23.set(standard_value.into()),
4294            LPCPin::P0_24 => self.registers.pio0_24.set(standard_value.into()),
4295            LPCPin::P0_25 => self.registers.pio0_25.set(standard_value.into()),
4296            LPCPin::P0_26 => self.registers.pio0_26.set(standard_value.into()),
4297            LPCPin::P0_27 => self.registers.pio0_27.set(standard_value.into()),
4298            LPCPin::P0_28 => self.registers.pio0_28.set(standard_value.into()),
4299            LPCPin::P0_29 => self.registers.pio0_29.set(standard_value.into()),
4300            LPCPin::P0_30 => self.registers.pio0_30.set(standard_value.into()),
4301            LPCPin::P0_31 => self.registers.pio0_31.set(standard_value.into()),
4302            LPCPin::P1_0 => self.registers.pio1_0.set(standard_value.into()),
4303            LPCPin::P1_1 => self.registers.pio1_1.set(standard_value.into()),
4304            LPCPin::P1_2 => self.registers.pio1_2.set(standard_value.into()),
4305            LPCPin::P1_3 => self.registers.pio1_3.set(standard_value.into()),
4306            LPCPin::P1_4 => self.registers.pio1_4.set(standard_value.into()), //BLUE LED ON THE BOARD
4307            LPCPin::P1_5 => self.registers.pio1_5.set(standard_value.into()),
4308            LPCPin::P1_6 => self.registers.pio1_6.set(standard_value.into()),
4309            LPCPin::P1_7 => self.registers.pio1_7.set(standard_value.into()),
4310            LPCPin::P1_8 => self.registers.pio1_8.set(standard_value.into()),
4311            LPCPin::P1_9 => self.registers.pio1_9.set(standard_value.into()), //USER BUTTON ON THE BOARD
4312            LPCPin::P1_10 => self.registers.pio1_10.set(standard_value.into()),
4313            LPCPin::P1_11 => self.registers.pio1_11.set(standard_value.into()),
4314            LPCPin::P1_12 => self.registers.pio1_12.set(standard_value.into()),
4315            LPCPin::P1_13 => self.registers.pio1_13.set(standard_value.into()),
4316            LPCPin::P1_14 => self.registers.pio1_14.set(standard_value.into()),
4317            LPCPin::P1_15 => self.registers.pio1_15.set(standard_value.into()),
4318            LPCPin::P1_16 => self.registers.pio1_16.set(standard_value.into()),
4319            LPCPin::P1_17 => self.registers.pio1_17.set(standard_value.into()),
4320            LPCPin::P1_18 => self.registers.pio1_18.set(standard_value.into()),
4321            LPCPin::P1_19 => self.registers.pio1_19.set(standard_value.into()),
4322            LPCPin::P1_20 => self.registers.pio1_20.set(standard_value.into()),
4323            LPCPin::P1_21 => self.registers.pio1_21.set(standard_value.into()),
4324            LPCPin::P1_22 => self.registers.pio1_22.set(standard_value.into()),
4325            LPCPin::P1_23 => self.registers.pio1_23.set(standard_value.into()),
4326            LPCPin::P1_24 => self.registers.pio1_24.set(standard_value.into()),
4327            LPCPin::P1_25 => self.registers.pio1_25.set(standard_value.into()),
4328            LPCPin::P1_26 => self.registers.pio1_26.set(standard_value.into()),
4329            LPCPin::P1_27 => self.registers.pio1_27.set(standard_value.into()),
4330            LPCPin::P1_28 => self.registers.pio1_28.set(standard_value.into()),
4331            LPCPin::P1_29 => self.registers.pio1_29.set(standard_value.into()),
4332            LPCPin::P1_30 => self.registers.pio1_30.set(standard_value.into()),
4333            LPCPin::P1_31 => self.registers.pio1_31.set(standard_value.into()),
4334            _ => {}
4335        }
4336    }
4337
4338    pub fn set_pull_none(&self, pin: LPCPin) {
4339        let config = Config {
4340            function: Function::GPIO,
4341            pull: Pull::None,
4342            slew: Slew::Standard,
4343            invert: false,
4344            digital_mode: true,
4345            open_drain: false,
4346        };
4347        self.configure_pin(pin, config);
4348    }
4349
4350    pub fn set_pull_up(&self, pin: LPCPin) {
4351        let config = Config {
4352            function: Function::GPIO,
4353            pull: Pull::Up,
4354            slew: Slew::Standard,
4355            invert: false,
4356            digital_mode: true,
4357            open_drain: false,
4358        };
4359        self.configure_pin(pin, config);
4360    }
4361
4362    pub fn set_pull_down(&self, pin: LPCPin) {
4363        let config = Config {
4364            function: Function::GPIO,
4365            pull: Pull::Down,
4366            slew: Slew::Standard,
4367            invert: false,
4368            digital_mode: true,
4369            open_drain: false,
4370        };
4371        self.configure_pin(pin, config);
4372    }
4373}