1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    _reserved0: [u8; 1020usize],
    #[doc = "0x3fc - GPIO Data"]
    pub data: DATA,
    #[doc = "0x400 - GPIO Direction"]
    pub dir: DIR,
    #[doc = "0x404 - GPIO Interrupt Sense"]
    pub is: IS,
    #[doc = "0x408 - GPIO Interrupt Both Edges"]
    pub ibe: IBE,
    #[doc = "0x40c - GPIO Interrupt Event"]
    pub iev: IEV,
    #[doc = "0x410 - GPIO Interrupt Mask"]
    pub im: IM,
    #[doc = "0x414 - GPIO Raw Interrupt Status"]
    pub ris: RIS,
    #[doc = "0x418 - GPIO Masked Interrupt Status"]
    pub mis: MIS,
    #[doc = "0x41c - GPIO Interrupt Clear"]
    pub icr: ICR,
    #[doc = "0x420 - GPIO Alternate Function Select"]
    pub afsel: AFSEL,
    _reserved10: [u8; 220usize],
    #[doc = "0x500 - GPIO 2-mA Drive Select"]
    pub dr2r: DR2R,
    #[doc = "0x504 - GPIO 4-mA Drive Select"]
    pub dr4r: DR4R,
    #[doc = "0x508 - GPIO 8-mA Drive Select"]
    pub dr8r: DR8R,
    #[doc = "0x50c - GPIO Open Drain Select"]
    pub odr: ODR,
    #[doc = "0x510 - GPIO Pull-Up Select"]
    pub pur: PUR,
    #[doc = "0x514 - GPIO Pull-Down Select"]
    pub pdr: PDR,
    #[doc = "0x518 - GPIO Slew Rate Control Select"]
    pub slr: SLR,
    #[doc = "0x51c - GPIO Digital Enable"]
    pub den: DEN,
    #[doc = "0x520 - GPIO Lock"]
    pub lock: LOCK,
    #[doc = "0x524 - GPIO Commit"]
    pub cr: CR,
    #[doc = "0x528 - GPIO Analog Mode Select"]
    pub amsel: AMSEL,
    #[doc = "0x52c - GPIO Port Control"]
    pub pctl: PCTL,
    #[doc = "0x530 - GPIO ADC Control"]
    pub adcctl: ADCCTL,
    #[doc = "0x534 - GPIO DMA Control"]
    pub dmactl: DMACTL,
    #[doc = "0x538 - GPIO Select Interrupt"]
    pub si: SI,
    #[doc = "0x53c - GPIO 12-mA Drive Select"]
    pub dr12r: DR12R,
    #[doc = "0x540 - GPIO Wake Pin Enable"]
    pub wakepen: WAKEPEN,
    #[doc = "0x544 - GPIO Wake Level"]
    pub wakelvl: WAKELVL,
    #[doc = "0x548 - GPIO Wake Status"]
    pub wakestat: WAKESTAT,
    _reserved29: [u8; 2676usize],
    #[doc = "0xfc0 - GPIO Peripheral Property"]
    pub pp: PP,
    #[doc = "0xfc4 - GPIO Peripheral Configuration"]
    pub pc: PC,
}
#[doc = "GPIO Data"]
pub struct DATA {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Data"]
pub mod data;
#[doc = "GPIO Direction"]
pub struct DIR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Direction"]
pub mod dir;
#[doc = "GPIO Interrupt Sense"]
pub struct IS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Interrupt Sense"]
pub mod is;
#[doc = "GPIO Interrupt Both Edges"]
pub struct IBE {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Interrupt Both Edges"]
pub mod ibe;
#[doc = "GPIO Interrupt Event"]
pub struct IEV {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Interrupt Event"]
pub mod iev;
#[doc = "GPIO Interrupt Mask"]
pub struct IM {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Interrupt Mask"]
pub mod im;
#[doc = "GPIO Raw Interrupt Status"]
pub struct RIS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Raw Interrupt Status"]
pub mod ris;
#[doc = "GPIO Masked Interrupt Status"]
pub struct MIS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Masked Interrupt Status"]
pub mod mis;
#[doc = "GPIO Interrupt Clear"]
pub struct ICR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Interrupt Clear"]
pub mod icr;
#[doc = "GPIO Alternate Function Select"]
pub struct AFSEL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Alternate Function Select"]
pub mod afsel;
#[doc = "GPIO 2-mA Drive Select"]
pub struct DR2R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO 2-mA Drive Select"]
pub mod dr2r;
#[doc = "GPIO 4-mA Drive Select"]
pub struct DR4R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO 4-mA Drive Select"]
pub mod dr4r;
#[doc = "GPIO 8-mA Drive Select"]
pub struct DR8R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO 8-mA Drive Select"]
pub mod dr8r;
#[doc = "GPIO Open Drain Select"]
pub struct ODR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Open Drain Select"]
pub mod odr;
#[doc = "GPIO Pull-Up Select"]
pub struct PUR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Pull-Up Select"]
pub mod pur;
#[doc = "GPIO Pull-Down Select"]
pub struct PDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Pull-Down Select"]
pub mod pdr;
#[doc = "GPIO Slew Rate Control Select"]
pub struct SLR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Slew Rate Control Select"]
pub mod slr;
#[doc = "GPIO Digital Enable"]
pub struct DEN {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Digital Enable"]
pub mod den;
#[doc = "GPIO Lock"]
pub struct LOCK {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Lock"]
pub mod lock;
#[doc = "GPIO Commit"]
pub struct CR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Commit"]
pub mod cr;
#[doc = "GPIO Analog Mode Select"]
pub struct AMSEL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Analog Mode Select"]
pub mod amsel;
#[doc = "GPIO Port Control"]
pub struct PCTL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Port Control"]
pub mod pctl;
#[doc = "GPIO ADC Control"]
pub struct ADCCTL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO ADC Control"]
pub mod adcctl;
#[doc = "GPIO DMA Control"]
pub struct DMACTL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO DMA Control"]
pub mod dmactl;
#[doc = "GPIO Select Interrupt"]
pub struct SI {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Select Interrupt"]
pub mod si;
#[doc = "GPIO 12-mA Drive Select"]
pub struct DR12R {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO 12-mA Drive Select"]
pub mod dr12r;
#[doc = "GPIO Wake Pin Enable"]
pub struct WAKEPEN {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Wake Pin Enable"]
pub mod wakepen;
#[doc = "GPIO Wake Level"]
pub struct WAKELVL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Wake Level"]
pub mod wakelvl;
#[doc = "GPIO Wake Status"]
pub struct WAKESTAT {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Wake Status"]
pub mod wakestat;
#[doc = "GPIO Peripheral Property"]
pub struct PP {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Peripheral Property"]
pub mod pp;
#[doc = "GPIO Peripheral Configuration"]
pub struct PC {
    register: vcell::VolatileCell<u32>,
}
#[doc = "GPIO Peripheral Configuration"]
pub mod pc;