RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
altera-cyclone-v
include
bsp
socal
alt_gpio.h
Go to the documentation of this file.
1
6
7
/*******************************************************************************
8
* *
9
* Copyright 2013 Altera Corporation. All Rights Reserved. *
10
* *
11
* Redistribution and use in source and binary forms, with or without *
12
* modification, are permitted provided that the following conditions are met: *
13
* *
14
* 1. Redistributions of source code must retain the above copyright notice, *
15
* this list of conditions and the following disclaimer. *
16
* *
17
* 2. Redistributions in binary form must reproduce the above copyright notice, *
18
* this list of conditions and the following disclaimer in the documentation *
19
* and/or other materials provided with the distribution. *
20
* *
21
* 3. The name of the author may not be used to endorse or promote products *
22
* derived from this software without specific prior written permission. *
23
* *
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR *
25
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
26
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO *
27
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
29
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
30
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, *
31
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR *
32
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
33
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
34
* *
35
*******************************************************************************/
36
37
/* Altera - ALT_GPIO */
38
39
#ifndef __ALTERA_ALT_GPIO_H__
40
#define __ALTERA_ALT_GPIO_H__
41
42
#ifdef __cplusplus
43
extern
"C"
44
{
45
#endif
/* __cplusplus */
46
47
/*
48
* Component : GPIO Module - ALT_GPIO
49
* GPIO Module
50
*
51
* Registers in the GPIO module
52
*
53
*/
54
/*
55
* Register : Port A Data Register - gpio_swporta_dr
56
*
57
* This GPIO Data register is used to input or output data
58
*
59
* Check the GPIO chapter in the handbook for details on how GPIO2 is implemented.
60
*
61
* Register Layout
62
*
63
* Bits | Access | Reset | Description
64
* :--------|:-------|:------|:------------
65
* [28:0] | RW | 0x0 | Port A Data
66
* [31:29] | ??? | 0x0 | *UNDEFINED*
67
*
68
*/
69
/*
70
* Field : Port A Data - gpio_swporta_dr
71
*
72
* Values written to this register are output on the I/O signals of the GPIO Data
73
* Register, if the corresponding data direction bits for GPIO Data Direction Field
74
* are set to Output mode. The value read back is equal to the last value written
75
* to this register.
76
*
77
* Check the GPIO chapter in the handbook for details on how GPIO2 is implemented.
78
*
79
* Field Access Macros:
80
*
81
*/
82
/* The Least Significant Bit (LSB) position of the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field. */
83
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_LSB 0
84
/* The Most Significant Bit (MSB) position of the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field. */
85
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_MSB 28
86
/* The width in bits of the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field. */
87
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_WIDTH 29
88
/* The mask used to set the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field value. */
89
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_SET_MSK 0x1fffffff
90
/* The mask used to clear the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field value. */
91
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_CLR_MSK 0xe0000000
92
/* The reset value of the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field. */
93
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_RESET 0x0
94
/* Extracts the ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR field value from a register. */
95
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_GET(value) (((value) & 0x1fffffff) >> 0)
96
/* Produces a ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR register field value suitable for setting the register. */
97
#define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_SET(value) (((value) << 0) & 0x1fffffff)
98
99
#ifndef __ASSEMBLY__
100
/*
101
* WARNING: The C register and register group struct declarations are provided for
102
* convenience and illustrative purposes. They should, however, be used with
103
* caution as the C language standard provides no guarantees about the alignment or
104
* atomicity of device memory accesses. The recommended practice for writing
105
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
106
* alt_write_word() functions.
107
*
108
* The struct declaration for register ALT_GPIO_SWPORTA_DR.
109
*/
110
struct
ALT_GPIO_SWPORTA_DR_s
111
{
112
uint32_t gpio_swporta_dr : 29;
/* Port A Data */
113
uint32_t : 3;
/* *UNDEFINED* */
114
};
115
116
/* The typedef declaration for register ALT_GPIO_SWPORTA_DR. */
117
typedef
volatile
struct
ALT_GPIO_SWPORTA_DR_s
ALT_GPIO_SWPORTA_DR_t;
118
#endif
/* __ASSEMBLY__ */
119
120
/* The byte offset of the ALT_GPIO_SWPORTA_DR register from the beginning of the component. */
121
#define ALT_GPIO_SWPORTA_DR_OFST 0x0
122
/* The address of the ALT_GPIO_SWPORTA_DR register. */
123
#define ALT_GPIO_SWPORTA_DR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_SWPORTA_DR_OFST))
124
125
/*
126
* Register : Port A Data Direction Register - gpio_swporta_ddr
127
*
128
* This register establishes the direction of each corresponding GPIO Data Field
129
* Bit.
130
*
131
* Check the GPIO chapter in the handbook for details on how GPIO2 is implemented.
132
*
133
* Register Layout
134
*
135
* Bits | Access | Reset | Description
136
* :--------|:-------|:------|:----------------------------
137
* [28:0] | RW | 0x0 | Port A Data Direction Field
138
* [31:29] | ??? | 0x0 | *UNDEFINED*
139
*
140
*/
141
/*
142
* Field : Port A Data Direction Field - gpio_swporta_ddr
143
*
144
* Values written to this register independently control the direction of the
145
* corresponding data bit in the Port A Data Register.
146
*
147
* Check the GPIO chapter in the handbook for details on how GPIO2 is implemented.
148
*
149
* Field Enumeration Values:
150
*
151
* Enum | Value | Description
152
* :--------------------------------------------|:------|:-----------------
153
* ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_E_IN | 0x0 | Input Direction
154
* ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_E_OUT | 0x1 | Output Direction
155
*
156
* Field Access Macros:
157
*
158
*/
159
/*
160
* Enumerated value for register field ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR
161
*
162
* Input Direction
163
*/
164
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_E_IN 0x0
165
/*
166
* Enumerated value for register field ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR
167
*
168
* Output Direction
169
*/
170
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_E_OUT 0x1
171
172
/* The Least Significant Bit (LSB) position of the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field. */
173
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_LSB 0
174
/* The Most Significant Bit (MSB) position of the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field. */
175
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_MSB 28
176
/* The width in bits of the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field. */
177
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_WIDTH 29
178
/* The mask used to set the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field value. */
179
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_SET_MSK 0x1fffffff
180
/* The mask used to clear the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field value. */
181
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_CLR_MSK 0xe0000000
182
/* The reset value of the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field. */
183
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_RESET 0x0
184
/* Extracts the ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR field value from a register. */
185
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_GET(value) (((value) & 0x1fffffff) >> 0)
186
/* Produces a ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR register field value suitable for setting the register. */
187
#define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_SET(value) (((value) << 0) & 0x1fffffff)
188
189
#ifndef __ASSEMBLY__
190
/*
191
* WARNING: The C register and register group struct declarations are provided for
192
* convenience and illustrative purposes. They should, however, be used with
193
* caution as the C language standard provides no guarantees about the alignment or
194
* atomicity of device memory accesses. The recommended practice for writing
195
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
196
* alt_write_word() functions.
197
*
198
* The struct declaration for register ALT_GPIO_SWPORTA_DDR.
199
*/
200
struct
ALT_GPIO_SWPORTA_DDR_s
201
{
202
uint32_t gpio_swporta_ddr : 29;
/* Port A Data Direction Field */
203
uint32_t : 3;
/* *UNDEFINED* */
204
};
205
206
/* The typedef declaration for register ALT_GPIO_SWPORTA_DDR. */
207
typedef
volatile
struct
ALT_GPIO_SWPORTA_DDR_s
ALT_GPIO_SWPORTA_DDR_t;
208
#endif
/* __ASSEMBLY__ */
209
210
/* The byte offset of the ALT_GPIO_SWPORTA_DDR register from the beginning of the component. */
211
#define ALT_GPIO_SWPORTA_DDR_OFST 0x4
212
/* The address of the ALT_GPIO_SWPORTA_DDR register. */
213
#define ALT_GPIO_SWPORTA_DDR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_SWPORTA_DDR_OFST))
214
215
/*
216
* Register : Interrupt Enable Register - gpio_inten
217
*
218
* The Interrupt enable register allows interrupts for each bit of the Port A data
219
* register.
220
*
221
* Register Layout
222
*
223
* Bits | Access | Reset | Description
224
* :--------|:-------|:------|:-----------------------
225
* [28:0] | RW | 0x0 | Interrupt Enable Field
226
* [31:29] | ??? | 0x0 | *UNDEFINED*
227
*
228
*/
229
/*
230
* Field : Interrupt Enable Field - gpio_inten
231
*
232
* Allows each bit of Port A Data Register to be configured for interrupt
233
* capability. Interrupts are disabled on the corresponding bits of Port A Data
234
* Register if the corresponding data direction register is set to Output.
235
*
236
* Field Enumeration Values:
237
*
238
* Enum | Value | Description
239
* :--------------------------------|:------|:----------------------------
240
* ALT_GPIO_INTEN_GPIO_INTEN_E_DIS | 0x0 | Disable Interrupt on Port A
241
* ALT_GPIO_INTEN_GPIO_INTEN_E_EN | 0x1 | Enable Interrupt on Port A
242
*
243
* Field Access Macros:
244
*
245
*/
246
/*
247
* Enumerated value for register field ALT_GPIO_INTEN_GPIO_INTEN
248
*
249
* Disable Interrupt on Port A
250
*/
251
#define ALT_GPIO_INTEN_GPIO_INTEN_E_DIS 0x0
252
/*
253
* Enumerated value for register field ALT_GPIO_INTEN_GPIO_INTEN
254
*
255
* Enable Interrupt on Port A
256
*/
257
#define ALT_GPIO_INTEN_GPIO_INTEN_E_EN 0x1
258
259
/* The Least Significant Bit (LSB) position of the ALT_GPIO_INTEN_GPIO_INTEN register field. */
260
#define ALT_GPIO_INTEN_GPIO_INTEN_LSB 0
261
/* The Most Significant Bit (MSB) position of the ALT_GPIO_INTEN_GPIO_INTEN register field. */
262
#define ALT_GPIO_INTEN_GPIO_INTEN_MSB 28
263
/* The width in bits of the ALT_GPIO_INTEN_GPIO_INTEN register field. */
264
#define ALT_GPIO_INTEN_GPIO_INTEN_WIDTH 29
265
/* The mask used to set the ALT_GPIO_INTEN_GPIO_INTEN register field value. */
266
#define ALT_GPIO_INTEN_GPIO_INTEN_SET_MSK 0x1fffffff
267
/* The mask used to clear the ALT_GPIO_INTEN_GPIO_INTEN register field value. */
268
#define ALT_GPIO_INTEN_GPIO_INTEN_CLR_MSK 0xe0000000
269
/* The reset value of the ALT_GPIO_INTEN_GPIO_INTEN register field. */
270
#define ALT_GPIO_INTEN_GPIO_INTEN_RESET 0x0
271
/* Extracts the ALT_GPIO_INTEN_GPIO_INTEN field value from a register. */
272
#define ALT_GPIO_INTEN_GPIO_INTEN_GET(value) (((value) & 0x1fffffff) >> 0)
273
/* Produces a ALT_GPIO_INTEN_GPIO_INTEN register field value suitable for setting the register. */
274
#define ALT_GPIO_INTEN_GPIO_INTEN_SET(value) (((value) << 0) & 0x1fffffff)
275
276
#ifndef __ASSEMBLY__
277
/*
278
* WARNING: The C register and register group struct declarations are provided for
279
* convenience and illustrative purposes. They should, however, be used with
280
* caution as the C language standard provides no guarantees about the alignment or
281
* atomicity of device memory accesses. The recommended practice for writing
282
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
283
* alt_write_word() functions.
284
*
285
* The struct declaration for register ALT_GPIO_INTEN.
286
*/
287
struct
ALT_GPIO_INTEN_s
288
{
289
uint32_t gpio_inten : 29;
/* Interrupt Enable Field */
290
uint32_t : 3;
/* *UNDEFINED* */
291
};
292
293
/* The typedef declaration for register ALT_GPIO_INTEN. */
294
typedef
volatile
struct
ALT_GPIO_INTEN_s
ALT_GPIO_INTEN_t;
295
#endif
/* __ASSEMBLY__ */
296
297
/* The byte offset of the ALT_GPIO_INTEN register from the beginning of the component. */
298
#define ALT_GPIO_INTEN_OFST 0x30
299
/* The address of the ALT_GPIO_INTEN register. */
300
#define ALT_GPIO_INTEN_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTEN_OFST))
301
302
/*
303
* Register : Interrupt Mask Register - gpio_intmask
304
*
305
* Controls which pins cause interrupts on Port A Data Register inputs.
306
*
307
* Register Layout
308
*
309
* Bits | Access | Reset | Description
310
* :--------|:-------|:------|:---------------------
311
* [28:0] | RW | 0x0 | Interrupt Mask Field
312
* [31:29] | ??? | 0x0 | *UNDEFINED*
313
*
314
*/
315
/*
316
* Field : Interrupt Mask Field - gpio_intmask
317
*
318
* Controls whether an interrupt on Port A Data Register can generate an interrupt
319
* to the interrupt controller by not masking it. The unmasked status can be read
320
* as well as the resultant status after masking.
321
*
322
* Field Enumeration Values:
323
*
324
* Enum | Value | Description
325
* :----------------------------------|:------|:----------------------------
326
* ALT_GPIO_INTMSK_GPIO_INTMSK_E_DIS | 0x0 | Interrupt bits are unmasked
327
* ALT_GPIO_INTMSK_GPIO_INTMSK_E_EN | 0x1 | Mask Interrupt
328
*
329
* Field Access Macros:
330
*
331
*/
332
/*
333
* Enumerated value for register field ALT_GPIO_INTMSK_GPIO_INTMSK
334
*
335
* Interrupt bits are unmasked
336
*/
337
#define ALT_GPIO_INTMSK_GPIO_INTMSK_E_DIS 0x0
338
/*
339
* Enumerated value for register field ALT_GPIO_INTMSK_GPIO_INTMSK
340
*
341
* Mask Interrupt
342
*/
343
#define ALT_GPIO_INTMSK_GPIO_INTMSK_E_EN 0x1
344
345
/* The Least Significant Bit (LSB) position of the ALT_GPIO_INTMSK_GPIO_INTMSK register field. */
346
#define ALT_GPIO_INTMSK_GPIO_INTMSK_LSB 0
347
/* The Most Significant Bit (MSB) position of the ALT_GPIO_INTMSK_GPIO_INTMSK register field. */
348
#define ALT_GPIO_INTMSK_GPIO_INTMSK_MSB 28
349
/* The width in bits of the ALT_GPIO_INTMSK_GPIO_INTMSK register field. */
350
#define ALT_GPIO_INTMSK_GPIO_INTMSK_WIDTH 29
351
/* The mask used to set the ALT_GPIO_INTMSK_GPIO_INTMSK register field value. */
352
#define ALT_GPIO_INTMSK_GPIO_INTMSK_SET_MSK 0x1fffffff
353
/* The mask used to clear the ALT_GPIO_INTMSK_GPIO_INTMSK register field value. */
354
#define ALT_GPIO_INTMSK_GPIO_INTMSK_CLR_MSK 0xe0000000
355
/* The reset value of the ALT_GPIO_INTMSK_GPIO_INTMSK register field. */
356
#define ALT_GPIO_INTMSK_GPIO_INTMSK_RESET 0x0
357
/* Extracts the ALT_GPIO_INTMSK_GPIO_INTMSK field value from a register. */
358
#define ALT_GPIO_INTMSK_GPIO_INTMSK_GET(value) (((value) & 0x1fffffff) >> 0)
359
/* Produces a ALT_GPIO_INTMSK_GPIO_INTMSK register field value suitable for setting the register. */
360
#define ALT_GPIO_INTMSK_GPIO_INTMSK_SET(value) (((value) << 0) & 0x1fffffff)
361
362
#ifndef __ASSEMBLY__
363
/*
364
* WARNING: The C register and register group struct declarations are provided for
365
* convenience and illustrative purposes. They should, however, be used with
366
* caution as the C language standard provides no guarantees about the alignment or
367
* atomicity of device memory accesses. The recommended practice for writing
368
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
369
* alt_write_word() functions.
370
*
371
* The struct declaration for register ALT_GPIO_INTMSK.
372
*/
373
struct
ALT_GPIO_INTMSK_s
374
{
375
uint32_t gpio_intmask : 29;
/* Interrupt Mask Field */
376
uint32_t : 3;
/* *UNDEFINED* */
377
};
378
379
/* The typedef declaration for register ALT_GPIO_INTMSK. */
380
typedef
volatile
struct
ALT_GPIO_INTMSK_s
ALT_GPIO_INTMSK_t;
381
#endif
/* __ASSEMBLY__ */
382
383
/* The byte offset of the ALT_GPIO_INTMSK register from the beginning of the component. */
384
#define ALT_GPIO_INTMSK_OFST 0x34
385
/* The address of the ALT_GPIO_INTMSK register. */
386
#define ALT_GPIO_INTMSK_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTMSK_OFST))
387
388
/*
389
* Register : Interrupt Level Register - gpio_inttype_level
390
*
391
* The interrupt level register defines the type of interrupt (edge or level).
392
*
393
* Register Layout
394
*
395
* Bits | Access | Reset | Description
396
* :--------|:-------|:------|:----------------------
397
* [28:0] | RW | 0x0 | Interrupt Level Field
398
* [31:29] | ??? | 0x0 | *UNDEFINED*
399
*
400
*/
401
/*
402
* Field : Interrupt Level Field - gpio_inttype_level
403
*
404
* This field controls the type of interrupt that can occur on the Port A Data
405
* Register.
406
*
407
* Field Enumeration Values:
408
*
409
* Enum | Value | Description
410
* :--------------------------------------------------|:------|:----------------
411
* ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_E_LEVEL | 0x0 | Level-sensitive
412
* ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_E_EDGE | 0x1 | Edge-sensitive
413
*
414
* Field Access Macros:
415
*
416
*/
417
/*
418
* Enumerated value for register field ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL
419
*
420
* Level-sensitive
421
*/
422
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_E_LEVEL 0x0
423
/*
424
* Enumerated value for register field ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL
425
*
426
* Edge-sensitive
427
*/
428
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_E_EDGE 0x1
429
430
/* The Least Significant Bit (LSB) position of the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field. */
431
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_LSB 0
432
/* The Most Significant Bit (MSB) position of the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field. */
433
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_MSB 28
434
/* The width in bits of the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field. */
435
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_WIDTH 29
436
/* The mask used to set the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field value. */
437
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_SET_MSK 0x1fffffff
438
/* The mask used to clear the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field value. */
439
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_CLR_MSK 0xe0000000
440
/* The reset value of the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field. */
441
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_RESET 0x0
442
/* Extracts the ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL field value from a register. */
443
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_GET(value) (((value) & 0x1fffffff) >> 0)
444
/* Produces a ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL register field value suitable for setting the register. */
445
#define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_SET(value) (((value) << 0) & 0x1fffffff)
446
447
#ifndef __ASSEMBLY__
448
/*
449
* WARNING: The C register and register group struct declarations are provided for
450
* convenience and illustrative purposes. They should, however, be used with
451
* caution as the C language standard provides no guarantees about the alignment or
452
* atomicity of device memory accesses. The recommended practice for writing
453
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
454
* alt_write_word() functions.
455
*
456
* The struct declaration for register ALT_GPIO_INTTYPE_LEVEL.
457
*/
458
struct
ALT_GPIO_INTTYPE_LEVEL_s
459
{
460
uint32_t gpio_inttype_level : 29;
/* Interrupt Level Field */
461
uint32_t : 3;
/* *UNDEFINED* */
462
};
463
464
/* The typedef declaration for register ALT_GPIO_INTTYPE_LEVEL. */
465
typedef
volatile
struct
ALT_GPIO_INTTYPE_LEVEL_s
ALT_GPIO_INTTYPE_LEVEL_t;
466
#endif
/* __ASSEMBLY__ */
467
468
/* The byte offset of the ALT_GPIO_INTTYPE_LEVEL register from the beginning of the component. */
469
#define ALT_GPIO_INTTYPE_LEVEL_OFST 0x38
470
/* The address of the ALT_GPIO_INTTYPE_LEVEL register. */
471
#define ALT_GPIO_INTTYPE_LEVEL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTTYPE_LEVEL_OFST))
472
473
/*
474
* Register : Interrupt Polarity Register - gpio_int_polarity
475
*
476
* Controls the Polarity of Interrupts that can occur on inputs of Port A Data
477
* Register
478
*
479
* Register Layout
480
*
481
* Bits | Access | Reset | Description
482
* :--------|:-------|:------|:-----------------------
483
* [28:0] | RW | 0x0 | Polarity Control Field
484
* [31:29] | ??? | 0x0 | *UNDEFINED*
485
*
486
*/
487
/*
488
* Field : Polarity Control Field - gpio_int_polarity
489
*
490
* Controls the polarity of edge or level sensitivity that can occur on input of
491
* Port A Data Register.
492
*
493
* Field Enumeration Values:
494
*
495
* Enum | Value | Description
496
* :----------------------------------------|:------|:------------
497
* ALT_GPIO_INT_POL_GPIO_INT_POL_E_ACTLOW | 0x0 | Active low
498
* ALT_GPIO_INT_POL_GPIO_INT_POL_E_ACTHIGH | 0x1 | Active high
499
*
500
* Field Access Macros:
501
*
502
*/
503
/*
504
* Enumerated value for register field ALT_GPIO_INT_POL_GPIO_INT_POL
505
*
506
* Active low
507
*/
508
#define ALT_GPIO_INT_POL_GPIO_INT_POL_E_ACTLOW 0x0
509
/*
510
* Enumerated value for register field ALT_GPIO_INT_POL_GPIO_INT_POL
511
*
512
* Active high
513
*/
514
#define ALT_GPIO_INT_POL_GPIO_INT_POL_E_ACTHIGH 0x1
515
516
/* The Least Significant Bit (LSB) position of the ALT_GPIO_INT_POL_GPIO_INT_POL register field. */
517
#define ALT_GPIO_INT_POL_GPIO_INT_POL_LSB 0
518
/* The Most Significant Bit (MSB) position of the ALT_GPIO_INT_POL_GPIO_INT_POL register field. */
519
#define ALT_GPIO_INT_POL_GPIO_INT_POL_MSB 28
520
/* The width in bits of the ALT_GPIO_INT_POL_GPIO_INT_POL register field. */
521
#define ALT_GPIO_INT_POL_GPIO_INT_POL_WIDTH 29
522
/* The mask used to set the ALT_GPIO_INT_POL_GPIO_INT_POL register field value. */
523
#define ALT_GPIO_INT_POL_GPIO_INT_POL_SET_MSK 0x1fffffff
524
/* The mask used to clear the ALT_GPIO_INT_POL_GPIO_INT_POL register field value. */
525
#define ALT_GPIO_INT_POL_GPIO_INT_POL_CLR_MSK 0xe0000000
526
/* The reset value of the ALT_GPIO_INT_POL_GPIO_INT_POL register field. */
527
#define ALT_GPIO_INT_POL_GPIO_INT_POL_RESET 0x0
528
/* Extracts the ALT_GPIO_INT_POL_GPIO_INT_POL field value from a register. */
529
#define ALT_GPIO_INT_POL_GPIO_INT_POL_GET(value) (((value) & 0x1fffffff) >> 0)
530
/* Produces a ALT_GPIO_INT_POL_GPIO_INT_POL register field value suitable for setting the register. */
531
#define ALT_GPIO_INT_POL_GPIO_INT_POL_SET(value) (((value) << 0) & 0x1fffffff)
532
533
#ifndef __ASSEMBLY__
534
/*
535
* WARNING: The C register and register group struct declarations are provided for
536
* convenience and illustrative purposes. They should, however, be used with
537
* caution as the C language standard provides no guarantees about the alignment or
538
* atomicity of device memory accesses. The recommended practice for writing
539
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
540
* alt_write_word() functions.
541
*
542
* The struct declaration for register ALT_GPIO_INT_POL.
543
*/
544
struct
ALT_GPIO_INT_POL_s
545
{
546
uint32_t gpio_int_polarity : 29;
/* Polarity Control Field */
547
uint32_t : 3;
/* *UNDEFINED* */
548
};
549
550
/* The typedef declaration for register ALT_GPIO_INT_POL. */
551
typedef
volatile
struct
ALT_GPIO_INT_POL_s
ALT_GPIO_INT_POL_t;
552
#endif
/* __ASSEMBLY__ */
553
554
/* The byte offset of the ALT_GPIO_INT_POL register from the beginning of the component. */
555
#define ALT_GPIO_INT_POL_OFST 0x3c
556
/* The address of the ALT_GPIO_INT_POL register. */
557
#define ALT_GPIO_INT_POL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INT_POL_OFST))
558
559
/*
560
* Register : Interrupt Status Register - gpio_intstatus
561
*
562
* The Interrupt status is reported for all Port A Data Register Bits.
563
*
564
* Register Layout
565
*
566
* Bits | Access | Reset | Description
567
* :--------|:-------|:------|:-----------------------
568
* [28:0] | RW | 0x0 | Interrupt Status Field
569
* [31:29] | ??? | 0x0 | *UNDEFINED*
570
*
571
*/
572
/*
573
* Field : Interrupt Status Field - gpio_intstatus
574
*
575
* Interrupt status of Port A Data Register.
576
*
577
* Field Enumeration Values:
578
*
579
* Enum | Value | Description
580
* :--------------------------------------|:------|:------------
581
* ALT_GPIO_INTSTAT_GPIO_INTSTAT_E_INACT | 0x0 | Inactive
582
* ALT_GPIO_INTSTAT_GPIO_INTSTAT_E_ACT | 0x1 | Active
583
*
584
* Field Access Macros:
585
*
586
*/
587
/*
588
* Enumerated value for register field ALT_GPIO_INTSTAT_GPIO_INTSTAT
589
*
590
* Inactive
591
*/
592
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_E_INACT 0x0
593
/*
594
* Enumerated value for register field ALT_GPIO_INTSTAT_GPIO_INTSTAT
595
*
596
* Active
597
*/
598
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_E_ACT 0x1
599
600
/* The Least Significant Bit (LSB) position of the ALT_GPIO_INTSTAT_GPIO_INTSTAT register field. */
601
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_LSB 0
602
/* The Most Significant Bit (MSB) position of the ALT_GPIO_INTSTAT_GPIO_INTSTAT register field. */
603
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_MSB 28
604
/* The width in bits of the ALT_GPIO_INTSTAT_GPIO_INTSTAT register field. */
605
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_WIDTH 29
606
/* The mask used to set the ALT_GPIO_INTSTAT_GPIO_INTSTAT register field value. */
607
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_SET_MSK 0x1fffffff
608
/* The mask used to clear the ALT_GPIO_INTSTAT_GPIO_INTSTAT register field value. */
609
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_CLR_MSK 0xe0000000
610
/* The reset value of the ALT_GPIO_INTSTAT_GPIO_INTSTAT register field. */
611
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_RESET 0x0
612
/* Extracts the ALT_GPIO_INTSTAT_GPIO_INTSTAT field value from a register. */
613
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_GET(value) (((value) & 0x1fffffff) >> 0)
614
/* Produces a ALT_GPIO_INTSTAT_GPIO_INTSTAT register field value suitable for setting the register. */
615
#define ALT_GPIO_INTSTAT_GPIO_INTSTAT_SET(value) (((value) << 0) & 0x1fffffff)
616
617
#ifndef __ASSEMBLY__
618
/*
619
* WARNING: The C register and register group struct declarations are provided for
620
* convenience and illustrative purposes. They should, however, be used with
621
* caution as the C language standard provides no guarantees about the alignment or
622
* atomicity of device memory accesses. The recommended practice for writing
623
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
624
* alt_write_word() functions.
625
*
626
* The struct declaration for register ALT_GPIO_INTSTAT.
627
*/
628
struct
ALT_GPIO_INTSTAT_s
629
{
630
uint32_t gpio_intstatus : 29;
/* Interrupt Status Field */
631
uint32_t : 3;
/* *UNDEFINED* */
632
};
633
634
/* The typedef declaration for register ALT_GPIO_INTSTAT. */
635
typedef
volatile
struct
ALT_GPIO_INTSTAT_s
ALT_GPIO_INTSTAT_t;
636
#endif
/* __ASSEMBLY__ */
637
638
/* The byte offset of the ALT_GPIO_INTSTAT register from the beginning of the component. */
639
#define ALT_GPIO_INTSTAT_OFST 0x40
640
/* The address of the ALT_GPIO_INTSTAT register. */
641
#define ALT_GPIO_INTSTAT_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTSTAT_OFST))
642
643
/*
644
* Register : Raw Interrupt Status Register - gpio_raw_intstatus
645
*
646
* This is the Raw Interrupt Status Register for Port A Data Register. It is used
647
* with the Interrupt Mask Register to allow interrupts from the Port A Data
648
* Register.
649
*
650
* Register Layout
651
*
652
* Bits | Access | Reset | Description
653
* :--------|:-------|:------|:---------------------------
654
* [28:0] | RW | 0x0 | Raw Interrupt Status Field
655
* [31:29] | ??? | 0x0 | *UNDEFINED*
656
*
657
*/
658
/*
659
* Field : Raw Interrupt Status Field - gpio_raw_intstatus
660
*
661
* Raw interrupt of status of Port A Data Register (premasking bits)
662
*
663
* Field Enumeration Values:
664
*
665
* Enum | Value | Description
666
* :----------------------------------------------|:------|:------------
667
* ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_E_INACT | 0x0 | Inactive
668
* ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_E_ACT | 0x1 | Active
669
*
670
* Field Access Macros:
671
*
672
*/
673
/*
674
* Enumerated value for register field ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT
675
*
676
* Inactive
677
*/
678
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_E_INACT 0x0
679
/*
680
* Enumerated value for register field ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT
681
*
682
* Active
683
*/
684
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_E_ACT 0x1
685
686
/* The Least Significant Bit (LSB) position of the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field. */
687
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_LSB 0
688
/* The Most Significant Bit (MSB) position of the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field. */
689
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_MSB 28
690
/* The width in bits of the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field. */
691
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_WIDTH 29
692
/* The mask used to set the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field value. */
693
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_SET_MSK 0x1fffffff
694
/* The mask used to clear the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field value. */
695
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_CLR_MSK 0xe0000000
696
/* The reset value of the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field. */
697
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_RESET 0x0
698
/* Extracts the ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT field value from a register. */
699
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_GET(value) (((value) & 0x1fffffff) >> 0)
700
/* Produces a ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT register field value suitable for setting the register. */
701
#define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_SET(value) (((value) << 0) & 0x1fffffff)
702
703
#ifndef __ASSEMBLY__
704
/*
705
* WARNING: The C register and register group struct declarations are provided for
706
* convenience and illustrative purposes. They should, however, be used with
707
* caution as the C language standard provides no guarantees about the alignment or
708
* atomicity of device memory accesses. The recommended practice for writing
709
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
710
* alt_write_word() functions.
711
*
712
* The struct declaration for register ALT_GPIO_RAW_INTSTAT.
713
*/
714
struct
ALT_GPIO_RAW_INTSTAT_s
715
{
716
uint32_t gpio_raw_intstatus : 29;
/* Raw Interrupt Status Field */
717
uint32_t : 3;
/* *UNDEFINED* */
718
};
719
720
/* The typedef declaration for register ALT_GPIO_RAW_INTSTAT. */
721
typedef
volatile
struct
ALT_GPIO_RAW_INTSTAT_s
ALT_GPIO_RAW_INTSTAT_t;
722
#endif
/* __ASSEMBLY__ */
723
724
/* The byte offset of the ALT_GPIO_RAW_INTSTAT register from the beginning of the component. */
725
#define ALT_GPIO_RAW_INTSTAT_OFST 0x44
726
/* The address of the ALT_GPIO_RAW_INTSTAT register. */
727
#define ALT_GPIO_RAW_INTSTAT_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_RAW_INTSTAT_OFST))
728
729
/*
730
* Register : Debounce Enable Register - gpio_debounce
731
*
732
* Debounces each IO Pin
733
*
734
* Register Layout
735
*
736
* Bits | Access | Reset | Description
737
* :--------|:-------|:------|:--------------------------------
738
* [28:0] | RW | 0x0 | ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE
739
* [31:29] | ??? | 0x0 | *UNDEFINED*
740
*
741
*/
742
/*
743
* Field : gpio_debounce
744
*
745
* Controls whether an external signal that is the source of an interrupt needs to
746
* be debounced to remove any spurious glitches. A signal must be valid for two
747
* periods of an external clock (gpio_db_clk) before it is internally processed.
748
*
749
* Field Enumeration Values:
750
*
751
* Enum | Value | Description
752
* :--------------------------------------|:------|:----------------
753
* ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_E_DIS | 0x0 | No debounce
754
* ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_E_EN | 0x1 | Enable debounce
755
*
756
* Field Access Macros:
757
*
758
*/
759
/*
760
* Enumerated value for register field ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE
761
*
762
* No debounce
763
*/
764
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_E_DIS 0x0
765
/*
766
* Enumerated value for register field ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE
767
*
768
* Enable debounce
769
*/
770
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_E_EN 0x1
771
772
/* The Least Significant Bit (LSB) position of the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field. */
773
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_LSB 0
774
/* The Most Significant Bit (MSB) position of the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field. */
775
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_MSB 28
776
/* The width in bits of the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field. */
777
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_WIDTH 29
778
/* The mask used to set the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field value. */
779
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_SET_MSK 0x1fffffff
780
/* The mask used to clear the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field value. */
781
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_CLR_MSK 0xe0000000
782
/* The reset value of the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field. */
783
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_RESET 0x0
784
/* Extracts the ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE field value from a register. */
785
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_GET(value) (((value) & 0x1fffffff) >> 0)
786
/* Produces a ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE register field value suitable for setting the register. */
787
#define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_SET(value) (((value) << 0) & 0x1fffffff)
788
789
#ifndef __ASSEMBLY__
790
/*
791
* WARNING: The C register and register group struct declarations are provided for
792
* convenience and illustrative purposes. They should, however, be used with
793
* caution as the C language standard provides no guarantees about the alignment or
794
* atomicity of device memory accesses. The recommended practice for writing
795
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
796
* alt_write_word() functions.
797
*
798
* The struct declaration for register ALT_GPIO_DEBOUNCE.
799
*/
800
struct
ALT_GPIO_DEBOUNCE_s
801
{
802
uint32_t gpio_debounce : 29;
/* ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE */
803
uint32_t : 3;
/* *UNDEFINED* */
804
};
805
806
/* The typedef declaration for register ALT_GPIO_DEBOUNCE. */
807
typedef
volatile
struct
ALT_GPIO_DEBOUNCE_s
ALT_GPIO_DEBOUNCE_t;
808
#endif
/* __ASSEMBLY__ */
809
810
/* The byte offset of the ALT_GPIO_DEBOUNCE register from the beginning of the component. */
811
#define ALT_GPIO_DEBOUNCE_OFST 0x48
812
/* The address of the ALT_GPIO_DEBOUNCE register. */
813
#define ALT_GPIO_DEBOUNCE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_DEBOUNCE_OFST))
814
815
/*
816
* Register : Clear Interrupt Register - gpio_porta_eoi
817
*
818
* Port A Data Register interrupt handling.
819
*
820
* Register Layout
821
*
822
* Bits | Access | Reset | Description
823
* :--------|:-------|:------|:-----------------------------
824
* [28:0] | W | 0x0 | Clears Edge Interrupts Field
825
* [31:29] | ??? | 0x0 | *UNDEFINED*
826
*
827
*/
828
/*
829
* Field : Clears Edge Interrupts Field - gpio_porta_eoi
830
*
831
* Controls the clearing of edge type interrupts from the Port A Data Register.
832
*
833
* Field Enumeration Values:
834
*
835
* Enum | Value | Description
836
* :------------------------------------------|:------|:-------------------
837
* ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_E_NOCLR | 0x0 | No interrupt clear
838
* ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_E_CLR | 0x1 | Clear interrupt
839
*
840
* Field Access Macros:
841
*
842
*/
843
/*
844
* Enumerated value for register field ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI
845
*
846
* No interrupt clear
847
*/
848
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_E_NOCLR 0x0
849
/*
850
* Enumerated value for register field ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI
851
*
852
* Clear interrupt
853
*/
854
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_E_CLR 0x1
855
856
/* The Least Significant Bit (LSB) position of the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field. */
857
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_LSB 0
858
/* The Most Significant Bit (MSB) position of the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field. */
859
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_MSB 28
860
/* The width in bits of the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field. */
861
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_WIDTH 29
862
/* The mask used to set the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field value. */
863
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_SET_MSK 0x1fffffff
864
/* The mask used to clear the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field value. */
865
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_CLR_MSK 0xe0000000
866
/* The reset value of the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field. */
867
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_RESET 0x0
868
/* Extracts the ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI field value from a register. */
869
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_GET(value) (((value) & 0x1fffffff) >> 0)
870
/* Produces a ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI register field value suitable for setting the register. */
871
#define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_SET(value) (((value) << 0) & 0x1fffffff)
872
873
#ifndef __ASSEMBLY__
874
/*
875
* WARNING: The C register and register group struct declarations are provided for
876
* convenience and illustrative purposes. They should, however, be used with
877
* caution as the C language standard provides no guarantees about the alignment or
878
* atomicity of device memory accesses. The recommended practice for writing
879
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
880
* alt_write_word() functions.
881
*
882
* The struct declaration for register ALT_GPIO_PORTA_EOI.
883
*/
884
struct
ALT_GPIO_PORTA_EOI_s
885
{
886
uint32_t gpio_porta_eoi : 29;
/* Clears Edge Interrupts Field */
887
uint32_t : 3;
/* *UNDEFINED* */
888
};
889
890
/* The typedef declaration for register ALT_GPIO_PORTA_EOI. */
891
typedef
volatile
struct
ALT_GPIO_PORTA_EOI_s
ALT_GPIO_PORTA_EOI_t;
892
#endif
/* __ASSEMBLY__ */
893
894
/* The byte offset of the ALT_GPIO_PORTA_EOI register from the beginning of the component. */
895
#define ALT_GPIO_PORTA_EOI_OFST 0x4c
896
/* The address of the ALT_GPIO_PORTA_EOI register. */
897
#define ALT_GPIO_PORTA_EOI_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_PORTA_EOI_OFST))
898
899
/*
900
* Register : External Port A Register - gpio_ext_porta
901
*
902
* The external port register is used to input data to the metastability flops.
903
*
904
* Register Layout
905
*
906
* Bits | Access | Reset | Description
907
* :--------|:-------|:------|:--------------------
908
* [28:0] | R | 0x0 | External Port Field
909
* [31:29] | ??? | 0x0 | *UNDEFINED*
910
*
911
*/
912
/*
913
* Field : External Port Field - gpio_ext_porta
914
*
915
* When Port A Data Register is configured as Input, then reading this location
916
* reads the values on the signals. When the data direction of Port A Data Register
917
* is set as Output, reading this location reads Port A Data Register
918
*
919
* Field Access Macros:
920
*
921
*/
922
/* The Least Significant Bit (LSB) position of the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field. */
923
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_LSB 0
924
/* The Most Significant Bit (MSB) position of the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field. */
925
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_MSB 28
926
/* The width in bits of the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field. */
927
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_WIDTH 29
928
/* The mask used to set the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field value. */
929
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_SET_MSK 0x1fffffff
930
/* The mask used to clear the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field value. */
931
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_CLR_MSK 0xe0000000
932
/* The reset value of the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field. */
933
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_RESET 0x0
934
/* Extracts the ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA field value from a register. */
935
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_GET(value) (((value) & 0x1fffffff) >> 0)
936
/* Produces a ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA register field value suitable for setting the register. */
937
#define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_SET(value) (((value) << 0) & 0x1fffffff)
938
939
#ifndef __ASSEMBLY__
940
/*
941
* WARNING: The C register and register group struct declarations are provided for
942
* convenience and illustrative purposes. They should, however, be used with
943
* caution as the C language standard provides no guarantees about the alignment or
944
* atomicity of device memory accesses. The recommended practice for writing
945
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
946
* alt_write_word() functions.
947
*
948
* The struct declaration for register ALT_GPIO_EXT_PORTA.
949
*/
950
struct
ALT_GPIO_EXT_PORTA_s
951
{
952
const
uint32_t gpio_ext_porta : 29;
/* External Port Field */
953
uint32_t : 3;
/* *UNDEFINED* */
954
};
955
956
/* The typedef declaration for register ALT_GPIO_EXT_PORTA. */
957
typedef
volatile
struct
ALT_GPIO_EXT_PORTA_s
ALT_GPIO_EXT_PORTA_t;
958
#endif
/* __ASSEMBLY__ */
959
960
/* The byte offset of the ALT_GPIO_EXT_PORTA register from the beginning of the component. */
961
#define ALT_GPIO_EXT_PORTA_OFST 0x50
962
/* The address of the ALT_GPIO_EXT_PORTA register. */
963
#define ALT_GPIO_EXT_PORTA_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_EXT_PORTA_OFST))
964
965
/*
966
* Register : Synchronization Level Register - gpio_ls_sync
967
*
968
* The Synchronization level register is used to synchronize input with l4_mp_clk
969
*
970
* Register Layout
971
*
972
* Bits | Access | Reset | Description
973
* :-------|:-------|:------|:----------------------------
974
* [0] | RW | 0x0 | Synchronization Level Field
975
* [31:1] | ??? | 0x0 | *UNDEFINED*
976
*
977
*/
978
/*
979
* Field : Synchronization Level Field - gpio_ls_sync
980
*
981
* The level-sensitive interrupts is synchronized to l4_mp_clk.
982
*
983
* Field Enumeration Values:
984
*
985
* Enum | Value | Description
986
* :---------------------------------------|:------|:--------------------------------
987
* ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_E_NOSYNC | 0x0 | No synchronization to l4_mp_clk
988
* ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_E_SYNC | 0x1 | Synchronize to l4_mp_clk
989
*
990
* Field Access Macros:
991
*
992
*/
993
/*
994
* Enumerated value for register field ALT_GPIO_LS_SYNC_GPIO_LS_SYNC
995
*
996
* No synchronization to l4_mp_clk
997
*/
998
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_E_NOSYNC 0x0
999
/*
1000
* Enumerated value for register field ALT_GPIO_LS_SYNC_GPIO_LS_SYNC
1001
*
1002
* Synchronize to l4_mp_clk
1003
*/
1004
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_E_SYNC 0x1
1005
1006
/* The Least Significant Bit (LSB) position of the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field. */
1007
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_LSB 0
1008
/* The Most Significant Bit (MSB) position of the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field. */
1009
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_MSB 0
1010
/* The width in bits of the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field. */
1011
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_WIDTH 1
1012
/* The mask used to set the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field value. */
1013
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_SET_MSK 0x00000001
1014
/* The mask used to clear the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field value. */
1015
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_CLR_MSK 0xfffffffe
1016
/* The reset value of the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field. */
1017
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_RESET 0x0
1018
/* Extracts the ALT_GPIO_LS_SYNC_GPIO_LS_SYNC field value from a register. */
1019
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_GET(value) (((value) & 0x00000001) >> 0)
1020
/* Produces a ALT_GPIO_LS_SYNC_GPIO_LS_SYNC register field value suitable for setting the register. */
1021
#define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_SET(value) (((value) << 0) & 0x00000001)
1022
1023
#ifndef __ASSEMBLY__
1024
/*
1025
* WARNING: The C register and register group struct declarations are provided for
1026
* convenience and illustrative purposes. They should, however, be used with
1027
* caution as the C language standard provides no guarantees about the alignment or
1028
* atomicity of device memory accesses. The recommended practice for writing
1029
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
1030
* alt_write_word() functions.
1031
*
1032
* The struct declaration for register ALT_GPIO_LS_SYNC.
1033
*/
1034
struct
ALT_GPIO_LS_SYNC_s
1035
{
1036
uint32_t gpio_ls_sync : 1;
/* Synchronization Level Field */
1037
uint32_t : 31;
/* *UNDEFINED* */
1038
};
1039
1040
/* The typedef declaration for register ALT_GPIO_LS_SYNC. */
1041
typedef
volatile
struct
ALT_GPIO_LS_SYNC_s
ALT_GPIO_LS_SYNC_t;
1042
#endif
/* __ASSEMBLY__ */
1043
1044
/* The byte offset of the ALT_GPIO_LS_SYNC register from the beginning of the component. */
1045
#define ALT_GPIO_LS_SYNC_OFST 0x60
1046
/* The address of the ALT_GPIO_LS_SYNC register. */
1047
#define ALT_GPIO_LS_SYNC_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_LS_SYNC_OFST))
1048
1049
/*
1050
* Register : ID Code Register - gpio_id_code
1051
*
1052
* GPIO ID code.
1053
*
1054
* Register Layout
1055
*
1056
* Bits | Access | Reset | Description
1057
* :-------|:-------|:------|:--------------
1058
* [31:0] | R | 0x0 | ID Code Field
1059
*
1060
*/
1061
/*
1062
* Field : ID Code Field - gpio_id_code
1063
*
1064
* Chip identification
1065
*
1066
* Field Access Macros:
1067
*
1068
*/
1069
/* The Least Significant Bit (LSB) position of the ALT_GPIO_ID_CODE_GPIO_ID_CODE register field. */
1070
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_LSB 0
1071
/* The Most Significant Bit (MSB) position of the ALT_GPIO_ID_CODE_GPIO_ID_CODE register field. */
1072
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_MSB 31
1073
/* The width in bits of the ALT_GPIO_ID_CODE_GPIO_ID_CODE register field. */
1074
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_WIDTH 32
1075
/* The mask used to set the ALT_GPIO_ID_CODE_GPIO_ID_CODE register field value. */
1076
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_SET_MSK 0xffffffff
1077
/* The mask used to clear the ALT_GPIO_ID_CODE_GPIO_ID_CODE register field value. */
1078
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_CLR_MSK 0x00000000
1079
/* The reset value of the ALT_GPIO_ID_CODE_GPIO_ID_CODE register field. */
1080
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_RESET 0x0
1081
/* Extracts the ALT_GPIO_ID_CODE_GPIO_ID_CODE field value from a register. */
1082
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_GET(value) (((value) & 0xffffffff) >> 0)
1083
/* Produces a ALT_GPIO_ID_CODE_GPIO_ID_CODE register field value suitable for setting the register. */
1084
#define ALT_GPIO_ID_CODE_GPIO_ID_CODE_SET(value) (((value) << 0) & 0xffffffff)
1085
1086
#ifndef __ASSEMBLY__
1087
/*
1088
* WARNING: The C register and register group struct declarations are provided for
1089
* convenience and illustrative purposes. They should, however, be used with
1090
* caution as the C language standard provides no guarantees about the alignment or
1091
* atomicity of device memory accesses. The recommended practice for writing
1092
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
1093
* alt_write_word() functions.
1094
*
1095
* The struct declaration for register ALT_GPIO_ID_CODE.
1096
*/
1097
struct
ALT_GPIO_ID_CODE_s
1098
{
1099
const
uint32_t gpio_id_code : 32;
/* ID Code Field */
1100
};
1101
1102
/* The typedef declaration for register ALT_GPIO_ID_CODE. */
1103
typedef
volatile
struct
ALT_GPIO_ID_CODE_s
ALT_GPIO_ID_CODE_t;
1104
#endif
/* __ASSEMBLY__ */
1105
1106
/* The byte offset of the ALT_GPIO_ID_CODE register from the beginning of the component. */
1107
#define ALT_GPIO_ID_CODE_OFST 0x64
1108
/* The address of the ALT_GPIO_ID_CODE register. */
1109
#define ALT_GPIO_ID_CODE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_ID_CODE_OFST))
1110
1111
/*
1112
* Register : GPIO Version Register - gpio_ver_id_code
1113
*
1114
* GPIO Component Version
1115
*
1116
* Register Layout
1117
*
1118
* Bits | Access | Reset | Description
1119
* :-------|:-------|:-----------|:------------------------------
1120
* [31:0] | R | 0x3230382a | ASCII Component Version Field
1121
*
1122
*/
1123
/*
1124
* Field : ASCII Component Version Field - gpio_ver_id_code
1125
*
1126
* ASCII value for each number in the version, followed by *. For example.
1127
* 32_30_31_2A represents the version 2.01
1128
*
1129
* Field Access Macros:
1130
*
1131
*/
1132
/* The Least Significant Bit (LSB) position of the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field. */
1133
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_LSB 0
1134
/* The Most Significant Bit (MSB) position of the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field. */
1135
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_MSB 31
1136
/* The width in bits of the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field. */
1137
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_WIDTH 32
1138
/* The mask used to set the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field value. */
1139
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_SET_MSK 0xffffffff
1140
/* The mask used to clear the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field value. */
1141
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_CLR_MSK 0x00000000
1142
/* The reset value of the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field. */
1143
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_RESET 0x3230382a
1144
/* Extracts the ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE field value from a register. */
1145
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_GET(value) (((value) & 0xffffffff) >> 0)
1146
/* Produces a ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE register field value suitable for setting the register. */
1147
#define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_SET(value) (((value) << 0) & 0xffffffff)
1148
1149
#ifndef __ASSEMBLY__
1150
/*
1151
* WARNING: The C register and register group struct declarations are provided for
1152
* convenience and illustrative purposes. They should, however, be used with
1153
* caution as the C language standard provides no guarantees about the alignment or
1154
* atomicity of device memory accesses. The recommended practice for writing
1155
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
1156
* alt_write_word() functions.
1157
*
1158
* The struct declaration for register ALT_GPIO_VER_ID_CODE.
1159
*/
1160
struct
ALT_GPIO_VER_ID_CODE_s
1161
{
1162
const
uint32_t gpio_ver_id_code : 32;
/* ASCII Component Version Field */
1163
};
1164
1165
/* The typedef declaration for register ALT_GPIO_VER_ID_CODE. */
1166
typedef
volatile
struct
ALT_GPIO_VER_ID_CODE_s
ALT_GPIO_VER_ID_CODE_t;
1167
#endif
/* __ASSEMBLY__ */
1168
1169
/* The byte offset of the ALT_GPIO_VER_ID_CODE register from the beginning of the component. */
1170
#define ALT_GPIO_VER_ID_CODE_OFST 0x6c
1171
/* The address of the ALT_GPIO_VER_ID_CODE register. */
1172
#define ALT_GPIO_VER_ID_CODE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_VER_ID_CODE_OFST))
1173
1174
/*
1175
* Register : Configuration Register 2 - gpio_config_reg2
1176
*
1177
* Specifies the bit width of port A.
1178
*
1179
* Register Layout
1180
*
1181
* Bits | Access | Reset | Description
1182
* :--------|:-------|:------|:----------------------
1183
* [4:0] | R | 0x1c | Port A Width (less 1)
1184
* [9:5] | R | 0x7 | Port B Width (less 1)
1185
* [14:10] | R | 0x7 | Port C Width (less 1)
1186
* [19:15] | R | 0x7 | Port D Width (less 1)
1187
* [31:20] | ??? | 0x0 | *UNDEFINED*
1188
*
1189
*/
1190
/*
1191
* Field : Port A Width (less 1) - encoded_id_pwidth_a
1192
*
1193
* Specifies the width of GPIO Port A. The value 28 represents the 29-bit width
1194
* less one.
1195
*
1196
* Field Enumeration Values:
1197
*
1198
* Enum | Value | Description
1199
* :-------------------------------------------------------|:------|:--------------------------
1200
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_E_WIDTHLESSONE8BITS | 0x7 | Width (less 1) of 8 bits
1201
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_E_WIDTHLESSONE29BITS | 0x1c | Width (less 1) of 29 bits
1202
*
1203
* Field Access Macros:
1204
*
1205
*/
1206
/*
1207
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A
1208
*
1209
* Width (less 1) of 8 bits
1210
*/
1211
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_E_WIDTHLESSONE8BITS 0x7
1212
/*
1213
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A
1214
*
1215
* Width (less 1) of 29 bits
1216
*/
1217
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_E_WIDTHLESSONE29BITS 0x1c
1218
1219
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field. */
1220
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_LSB 0
1221
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field. */
1222
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_MSB 4
1223
/* The width in bits of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field. */
1224
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_WIDTH 5
1225
/* The mask used to set the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field value. */
1226
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_SET_MSK 0x0000001f
1227
/* The mask used to clear the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field value. */
1228
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_CLR_MSK 0xffffffe0
1229
/* The reset value of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field. */
1230
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_RESET 0x1c
1231
/* Extracts the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A field value from a register. */
1232
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_GET(value) (((value) & 0x0000001f) >> 0)
1233
/* Produces a ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A register field value suitable for setting the register. */
1234
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_SET(value) (((value) << 0) & 0x0000001f)
1235
1236
/*
1237
* Field : Port B Width (less 1) - encoded_id_pwidth_b
1238
*
1239
* Specifies the width of GPIO Port B. Ignored because there is no Port B in the
1240
* GPIO.
1241
*
1242
* Field Enumeration Values:
1243
*
1244
* Enum | Value | Description
1245
* :-------------------------------------------------------|:------|:--------------------------
1246
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_E_WIDTHLESSONE8BITS | 0x7 | Width (less 1) of 8 bits
1247
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_E_WIDTHLESSONE29BITS | 0x1c | Width (less 1) of 29 bits
1248
*
1249
* Field Access Macros:
1250
*
1251
*/
1252
/*
1253
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B
1254
*
1255
* Width (less 1) of 8 bits
1256
*/
1257
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_E_WIDTHLESSONE8BITS 0x7
1258
/*
1259
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B
1260
*
1261
* Width (less 1) of 29 bits
1262
*/
1263
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_E_WIDTHLESSONE29BITS 0x1c
1264
1265
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field. */
1266
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_LSB 5
1267
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field. */
1268
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_MSB 9
1269
/* The width in bits of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field. */
1270
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_WIDTH 5
1271
/* The mask used to set the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field value. */
1272
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_SET_MSK 0x000003e0
1273
/* The mask used to clear the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field value. */
1274
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_CLR_MSK 0xfffffc1f
1275
/* The reset value of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field. */
1276
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_RESET 0x7
1277
/* Extracts the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B field value from a register. */
1278
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_GET(value) (((value) & 0x000003e0) >> 5)
1279
/* Produces a ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B register field value suitable for setting the register. */
1280
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_SET(value) (((value) << 5) & 0x000003e0)
1281
1282
/*
1283
* Field : Port C Width (less 1) - encoded_id_pwidth_c
1284
*
1285
* Specifies the width of GPIO Port C. Ignored because there is no Port C in the
1286
* GPIO.
1287
*
1288
* Field Enumeration Values:
1289
*
1290
* Enum | Value | Description
1291
* :-------------------------------------------------------|:------|:--------------------------
1292
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_E_WIDTHLESSONE8BITS | 0x7 | Width (less 1) of 8 bits
1293
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_E_WIDTHLESSONE29BITS | 0x1c | Width (less 1) of 29 bits
1294
*
1295
* Field Access Macros:
1296
*
1297
*/
1298
/*
1299
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C
1300
*
1301
* Width (less 1) of 8 bits
1302
*/
1303
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_E_WIDTHLESSONE8BITS 0x7
1304
/*
1305
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C
1306
*
1307
* Width (less 1) of 29 bits
1308
*/
1309
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_E_WIDTHLESSONE29BITS 0x1c
1310
1311
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field. */
1312
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_LSB 10
1313
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field. */
1314
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_MSB 14
1315
/* The width in bits of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field. */
1316
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_WIDTH 5
1317
/* The mask used to set the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field value. */
1318
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_SET_MSK 0x00007c00
1319
/* The mask used to clear the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field value. */
1320
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_CLR_MSK 0xffff83ff
1321
/* The reset value of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field. */
1322
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_RESET 0x7
1323
/* Extracts the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C field value from a register. */
1324
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_GET(value) (((value) & 0x00007c00) >> 10)
1325
/* Produces a ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C register field value suitable for setting the register. */
1326
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_SET(value) (((value) << 10) & 0x00007c00)
1327
1328
/*
1329
* Field : Port D Width (less 1) - encoded_id_pwidth_d
1330
*
1331
* Specifies the width of GPIO Port D. Ignored because there is no Port D in the
1332
* GPIO.
1333
*
1334
* Field Enumeration Values:
1335
*
1336
* Enum | Value | Description
1337
* :-------------------------------------------------------|:------|:--------------------------
1338
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_E_WIDTHLESSONE8BITS | 0x7 | Width (less 1) of 8 bits
1339
* ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_E_WIDTHLESSONE29BITS | 0x1c | Width (less 1) of 29 bits
1340
*
1341
* Field Access Macros:
1342
*
1343
*/
1344
/*
1345
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D
1346
*
1347
* Width (less 1) of 8 bits
1348
*/
1349
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_E_WIDTHLESSONE8BITS 0x7
1350
/*
1351
* Enumerated value for register field ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D
1352
*
1353
* Width (less 1) of 29 bits
1354
*/
1355
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_E_WIDTHLESSONE29BITS 0x1c
1356
1357
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field. */
1358
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_LSB 15
1359
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field. */
1360
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_MSB 19
1361
/* The width in bits of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field. */
1362
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_WIDTH 5
1363
/* The mask used to set the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field value. */
1364
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_SET_MSK 0x000f8000
1365
/* The mask used to clear the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field value. */
1366
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_CLR_MSK 0xfff07fff
1367
/* The reset value of the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field. */
1368
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_RESET 0x7
1369
/* Extracts the ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D field value from a register. */
1370
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_GET(value) (((value) & 0x000f8000) >> 15)
1371
/* Produces a ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D register field value suitable for setting the register. */
1372
#define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_SET(value) (((value) << 15) & 0x000f8000)
1373
1374
#ifndef __ASSEMBLY__
1375
/*
1376
* WARNING: The C register and register group struct declarations are provided for
1377
* convenience and illustrative purposes. They should, however, be used with
1378
* caution as the C language standard provides no guarantees about the alignment or
1379
* atomicity of device memory accesses. The recommended practice for writing
1380
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
1381
* alt_write_word() functions.
1382
*
1383
* The struct declaration for register ALT_GPIO_CFG_REG2.
1384
*/
1385
struct
ALT_GPIO_CFG_REG2_s
1386
{
1387
const
uint32_t encoded_id_pwidth_a : 5;
/* Port A Width (less 1) */
1388
const
uint32_t encoded_id_pwidth_b : 5;
/* Port B Width (less 1) */
1389
const
uint32_t encoded_id_pwidth_c : 5;
/* Port C Width (less 1) */
1390
const
uint32_t encoded_id_pwidth_d : 5;
/* Port D Width (less 1) */
1391
uint32_t : 12;
/* *UNDEFINED* */
1392
};
1393
1394
/* The typedef declaration for register ALT_GPIO_CFG_REG2. */
1395
typedef
volatile
struct
ALT_GPIO_CFG_REG2_s
ALT_GPIO_CFG_REG2_t;
1396
#endif
/* __ASSEMBLY__ */
1397
1398
/* The byte offset of the ALT_GPIO_CFG_REG2 register from the beginning of the component. */
1399
#define ALT_GPIO_CFG_REG2_OFST 0x70
1400
/* The address of the ALT_GPIO_CFG_REG2 register. */
1401
#define ALT_GPIO_CFG_REG2_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_CFG_REG2_OFST))
1402
1403
/*
1404
* Register : Configuration Register 1 - gpio_config_reg1
1405
*
1406
* Reports settings of various GPIO configuration parameters
1407
*
1408
* Register Layout
1409
*
1410
* Bits | Access | Reset | Description
1411
* :--------|:-------|:------|:----------------------------------
1412
* [1:0] | R | 0x2 | APB DATA WIDTH
1413
* [3:2] | R | 0x0 | NUM PORTS
1414
* [4] | R | 0x1 | PORT A SINGLE CTL
1415
* [5] | R | 0x1 | PORT B SINGLE CTL
1416
* [6] | R | 0x1 | PORT C SINGLE CTL
1417
* [7] | R | 0x1 | PORT D SINGLE CTL
1418
* [8] | R | 0x0 | HW PORTA
1419
* [11:9] | ??? | 0x0 | *UNDEFINED*
1420
* [12] | R | 0x1 | Port A Interrupt Field
1421
* [13] | R | 0x1 | Debounce Field
1422
* [14] | R | 0x1 | Encoded GPIO Parameters Available
1423
* [15] | R | 0x1 | ID Field
1424
* [20:16] | R | 0x1f | Encoded ID Width Field
1425
* [31:21] | ??? | 0x0 | *UNDEFINED*
1426
*
1427
*/
1428
/*
1429
* Field : APB DATA WIDTH - apb_data_width
1430
*
1431
* Fixed to support an ABP data bus width of 32-bits.
1432
*
1433
* Field Enumeration Values:
1434
*
1435
* Enum | Value | Description
1436
* :-----------------------------------------------|:------|:-------------------------
1437
* ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_E_WIDTH32BITS | 0x2 | APB Data Width = 32-bits
1438
*
1439
* Field Access Macros:
1440
*
1441
*/
1442
/*
1443
* Enumerated value for register field ALT_GPIO_CFG_REG1_APB_DATA_WIDTH
1444
*
1445
* APB Data Width = 32-bits
1446
*/
1447
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_E_WIDTH32BITS 0x2
1448
1449
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field. */
1450
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_LSB 0
1451
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field. */
1452
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_MSB 1
1453
/* The width in bits of the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field. */
1454
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_WIDTH 2
1455
/* The mask used to set the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field value. */
1456
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_SET_MSK 0x00000003
1457
/* The mask used to clear the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field value. */
1458
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_CLR_MSK 0xfffffffc
1459
/* The reset value of the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field. */
1460
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_RESET 0x2
1461
/* Extracts the ALT_GPIO_CFG_REG1_APB_DATA_WIDTH field value from a register. */
1462
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_GET(value) (((value) & 0x00000003) >> 0)
1463
/* Produces a ALT_GPIO_CFG_REG1_APB_DATA_WIDTH register field value suitable for setting the register. */
1464
#define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_SET(value) (((value) << 0) & 0x00000003)
1465
1466
/*
1467
* Field : NUM PORTS - num_ports
1468
*
1469
* The value of this register is fixed at one port (Port A).
1470
*
1471
* Field Enumeration Values:
1472
*
1473
* Enum | Value | Description
1474
* :---------------------------------------|:------|:-------------------------
1475
* ALT_GPIO_CFG_REG1_NUM_PORTS_E_ONEPORTA | 0x0 | Number of GPIO Ports = 1
1476
*
1477
* Field Access Macros:
1478
*
1479
*/
1480
/*
1481
* Enumerated value for register field ALT_GPIO_CFG_REG1_NUM_PORTS
1482
*
1483
* Number of GPIO Ports = 1
1484
*/
1485
#define ALT_GPIO_CFG_REG1_NUM_PORTS_E_ONEPORTA 0x0
1486
1487
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_NUM_PORTS register field. */
1488
#define ALT_GPIO_CFG_REG1_NUM_PORTS_LSB 2
1489
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_NUM_PORTS register field. */
1490
#define ALT_GPIO_CFG_REG1_NUM_PORTS_MSB 3
1491
/* The width in bits of the ALT_GPIO_CFG_REG1_NUM_PORTS register field. */
1492
#define ALT_GPIO_CFG_REG1_NUM_PORTS_WIDTH 2
1493
/* The mask used to set the ALT_GPIO_CFG_REG1_NUM_PORTS register field value. */
1494
#define ALT_GPIO_CFG_REG1_NUM_PORTS_SET_MSK 0x0000000c
1495
/* The mask used to clear the ALT_GPIO_CFG_REG1_NUM_PORTS register field value. */
1496
#define ALT_GPIO_CFG_REG1_NUM_PORTS_CLR_MSK 0xfffffff3
1497
/* The reset value of the ALT_GPIO_CFG_REG1_NUM_PORTS register field. */
1498
#define ALT_GPIO_CFG_REG1_NUM_PORTS_RESET 0x0
1499
/* Extracts the ALT_GPIO_CFG_REG1_NUM_PORTS field value from a register. */
1500
#define ALT_GPIO_CFG_REG1_NUM_PORTS_GET(value) (((value) & 0x0000000c) >> 2)
1501
/* Produces a ALT_GPIO_CFG_REG1_NUM_PORTS register field value suitable for setting the register. */
1502
#define ALT_GPIO_CFG_REG1_NUM_PORTS_SET(value) (((value) << 2) & 0x0000000c)
1503
1504
/*
1505
* Field : PORT A SINGLE CTL - porta_single_ctl
1506
*
1507
* Indicates the mode of operation of Port A to be software controlled only.
1508
*
1509
* Field Enumeration Values:
1510
*
1511
* Enum | Value | Description
1512
* :-------------------------------------------------|:------|:-----------------------------------------
1513
* ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_E_SOFTCTLONLY | 0x1 | Software Enabled Individual Port Control
1514
*
1515
* Field Access Macros:
1516
*
1517
*/
1518
/*
1519
* Enumerated value for register field ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL
1520
*
1521
* Software Enabled Individual Port Control
1522
*/
1523
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_E_SOFTCTLONLY 0x1
1524
1525
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field. */
1526
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_LSB 4
1527
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field. */
1528
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_MSB 4
1529
/* The width in bits of the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field. */
1530
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_WIDTH 1
1531
/* The mask used to set the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field value. */
1532
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_SET_MSK 0x00000010
1533
/* The mask used to clear the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field value. */
1534
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_CLR_MSK 0xffffffef
1535
/* The reset value of the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field. */
1536
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_RESET 0x1
1537
/* Extracts the ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL field value from a register. */
1538
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_GET(value) (((value) & 0x00000010) >> 4)
1539
/* Produces a ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL register field value suitable for setting the register. */
1540
#define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_SET(value) (((value) << 4) & 0x00000010)
1541
1542
/*
1543
* Field : PORT B SINGLE CTL - portb_single_ctl
1544
*
1545
* Indicates the mode of operation of Port B to be software controlled only.
1546
* Ignored because there is no Port B in the GPIO.
1547
*
1548
* Field Enumeration Values:
1549
*
1550
* Enum | Value | Description
1551
* :-------------------------------------------------|:------|:-----------------------------------------
1552
* ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_E_SOFTCTLONLY | 0x1 | Software Enabled Individual Port Control
1553
*
1554
* Field Access Macros:
1555
*
1556
*/
1557
/*
1558
* Enumerated value for register field ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL
1559
*
1560
* Software Enabled Individual Port Control
1561
*/
1562
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_E_SOFTCTLONLY 0x1
1563
1564
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field. */
1565
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_LSB 5
1566
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field. */
1567
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_MSB 5
1568
/* The width in bits of the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field. */
1569
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_WIDTH 1
1570
/* The mask used to set the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field value. */
1571
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_SET_MSK 0x00000020
1572
/* The mask used to clear the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field value. */
1573
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_CLR_MSK 0xffffffdf
1574
/* The reset value of the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field. */
1575
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_RESET 0x1
1576
/* Extracts the ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL field value from a register. */
1577
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_GET(value) (((value) & 0x00000020) >> 5)
1578
/* Produces a ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL register field value suitable for setting the register. */
1579
#define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_SET(value) (((value) << 5) & 0x00000020)
1580
1581
/*
1582
* Field : PORT C SINGLE CTL - portc_single_ctl
1583
*
1584
* Indicates the mode of operation of Port C to be software controlled only.
1585
* Ignored because there is no Port C in the GPIO.
1586
*
1587
* Field Enumeration Values:
1588
*
1589
* Enum | Value | Description
1590
* :-------------------------------------------------|:------|:-----------------------------------------
1591
* ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_E_SOFTCTLONLY | 0x1 | Software Enabled Individual Port Control
1592
*
1593
* Field Access Macros:
1594
*
1595
*/
1596
/*
1597
* Enumerated value for register field ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL
1598
*
1599
* Software Enabled Individual Port Control
1600
*/
1601
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_E_SOFTCTLONLY 0x1
1602
1603
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field. */
1604
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_LSB 6
1605
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field. */
1606
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_MSB 6
1607
/* The width in bits of the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field. */
1608
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_WIDTH 1
1609
/* The mask used to set the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field value. */
1610
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_SET_MSK 0x00000040
1611
/* The mask used to clear the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field value. */
1612
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_CLR_MSK 0xffffffbf
1613
/* The reset value of the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field. */
1614
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_RESET 0x1
1615
/* Extracts the ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL field value from a register. */
1616
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_GET(value) (((value) & 0x00000040) >> 6)
1617
/* Produces a ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL register field value suitable for setting the register. */
1618
#define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_SET(value) (((value) << 6) & 0x00000040)
1619
1620
/*
1621
* Field : PORT D SINGLE CTL - portd_single_ctl
1622
*
1623
* Indicates the mode of operation of Port D to be software controlled only.
1624
* Ignored because there is no Port D in the GPIO.
1625
*
1626
* Field Enumeration Values:
1627
*
1628
* Enum | Value | Description
1629
* :-------------------------------------------------|:------|:-----------------------------------------
1630
* ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_E_SOFTCTLONLY | 0x1 | Software Enabled Individual Port Control
1631
*
1632
* Field Access Macros:
1633
*
1634
*/
1635
/*
1636
* Enumerated value for register field ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL
1637
*
1638
* Software Enabled Individual Port Control
1639
*/
1640
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_E_SOFTCTLONLY 0x1
1641
1642
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field. */
1643
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_LSB 7
1644
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field. */
1645
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_MSB 7
1646
/* The width in bits of the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field. */
1647
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_WIDTH 1
1648
/* The mask used to set the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field value. */
1649
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_SET_MSK 0x00000080
1650
/* The mask used to clear the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field value. */
1651
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_CLR_MSK 0xffffff7f
1652
/* The reset value of the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field. */
1653
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_RESET 0x1
1654
/* Extracts the ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL field value from a register. */
1655
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_GET(value) (((value) & 0x00000080) >> 7)
1656
/* Produces a ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL register field value suitable for setting the register. */
1657
#define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_SET(value) (((value) << 7) & 0x00000080)
1658
1659
/*
1660
* Field : HW PORTA - hw_porta
1661
*
1662
* The value is fixed to enable Port A configuration to be controlled by software
1663
* only.
1664
*
1665
* Field Enumeration Values:
1666
*
1667
* Enum | Value | Description
1668
* :-----------------------------------------|:------|:---------------------------------------
1669
* ALT_GPIO_CFG_REG1_HW_PORTA_E_PORTANOHARD | 0x0 | Software Configuration Control Enabled
1670
*
1671
* Field Access Macros:
1672
*
1673
*/
1674
/*
1675
* Enumerated value for register field ALT_GPIO_CFG_REG1_HW_PORTA
1676
*
1677
* Software Configuration Control Enabled
1678
*/
1679
#define ALT_GPIO_CFG_REG1_HW_PORTA_E_PORTANOHARD 0x0
1680
1681
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_HW_PORTA register field. */
1682
#define ALT_GPIO_CFG_REG1_HW_PORTA_LSB 8
1683
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_HW_PORTA register field. */
1684
#define ALT_GPIO_CFG_REG1_HW_PORTA_MSB 8
1685
/* The width in bits of the ALT_GPIO_CFG_REG1_HW_PORTA register field. */
1686
#define ALT_GPIO_CFG_REG1_HW_PORTA_WIDTH 1
1687
/* The mask used to set the ALT_GPIO_CFG_REG1_HW_PORTA register field value. */
1688
#define ALT_GPIO_CFG_REG1_HW_PORTA_SET_MSK 0x00000100
1689
/* The mask used to clear the ALT_GPIO_CFG_REG1_HW_PORTA register field value. */
1690
#define ALT_GPIO_CFG_REG1_HW_PORTA_CLR_MSK 0xfffffeff
1691
/* The reset value of the ALT_GPIO_CFG_REG1_HW_PORTA register field. */
1692
#define ALT_GPIO_CFG_REG1_HW_PORTA_RESET 0x0
1693
/* Extracts the ALT_GPIO_CFG_REG1_HW_PORTA field value from a register. */
1694
#define ALT_GPIO_CFG_REG1_HW_PORTA_GET(value) (((value) & 0x00000100) >> 8)
1695
/* Produces a ALT_GPIO_CFG_REG1_HW_PORTA register field value suitable for setting the register. */
1696
#define ALT_GPIO_CFG_REG1_HW_PORTA_SET(value) (((value) << 8) & 0x00000100)
1697
1698
/*
1699
* Field : Port A Interrupt Field - porta_intr
1700
*
1701
* The value of this field is fixed to allow interrupts on Port A.
1702
*
1703
* Field Enumeration Values:
1704
*
1705
* Enum | Value | Description
1706
* :-------------------------------------------|:------|:--------------------------
1707
* ALT_GPIO_CFG_REG1_PORTA_INTR_E_PORTAINTERR | 0x1 | Port A Interrupts Enabled
1708
*
1709
* Field Access Macros:
1710
*
1711
*/
1712
/*
1713
* Enumerated value for register field ALT_GPIO_CFG_REG1_PORTA_INTR
1714
*
1715
* Port A Interrupts Enabled
1716
*/
1717
#define ALT_GPIO_CFG_REG1_PORTA_INTR_E_PORTAINTERR 0x1
1718
1719
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_PORTA_INTR register field. */
1720
#define ALT_GPIO_CFG_REG1_PORTA_INTR_LSB 12
1721
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_PORTA_INTR register field. */
1722
#define ALT_GPIO_CFG_REG1_PORTA_INTR_MSB 12
1723
/* The width in bits of the ALT_GPIO_CFG_REG1_PORTA_INTR register field. */
1724
#define ALT_GPIO_CFG_REG1_PORTA_INTR_WIDTH 1
1725
/* The mask used to set the ALT_GPIO_CFG_REG1_PORTA_INTR register field value. */
1726
#define ALT_GPIO_CFG_REG1_PORTA_INTR_SET_MSK 0x00001000
1727
/* The mask used to clear the ALT_GPIO_CFG_REG1_PORTA_INTR register field value. */
1728
#define ALT_GPIO_CFG_REG1_PORTA_INTR_CLR_MSK 0xffffefff
1729
/* The reset value of the ALT_GPIO_CFG_REG1_PORTA_INTR register field. */
1730
#define ALT_GPIO_CFG_REG1_PORTA_INTR_RESET 0x1
1731
/* Extracts the ALT_GPIO_CFG_REG1_PORTA_INTR field value from a register. */
1732
#define ALT_GPIO_CFG_REG1_PORTA_INTR_GET(value) (((value) & 0x00001000) >> 12)
1733
/* Produces a ALT_GPIO_CFG_REG1_PORTA_INTR register field value suitable for setting the register. */
1734
#define ALT_GPIO_CFG_REG1_PORTA_INTR_SET(value) (((value) << 12) & 0x00001000)
1735
1736
/*
1737
* Field : Debounce Field - debounce
1738
*
1739
* The value of this field is fixed to allow debouncing of the Port A signals.
1740
*
1741
* Field Enumeration Values:
1742
*
1743
* Enum | Value | Description
1744
* :---------------------------------------|:------|:--------------------
1745
* ALT_GPIO_CFG_REG1_DEBOUNCE_E_DEBOUNCEA | 0x1 | Debounce is Enabled
1746
*
1747
* Field Access Macros:
1748
*
1749
*/
1750
/*
1751
* Enumerated value for register field ALT_GPIO_CFG_REG1_DEBOUNCE
1752
*
1753
* Debounce is Enabled
1754
*/
1755
#define ALT_GPIO_CFG_REG1_DEBOUNCE_E_DEBOUNCEA 0x1
1756
1757
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_DEBOUNCE register field. */
1758
#define ALT_GPIO_CFG_REG1_DEBOUNCE_LSB 13
1759
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_DEBOUNCE register field. */
1760
#define ALT_GPIO_CFG_REG1_DEBOUNCE_MSB 13
1761
/* The width in bits of the ALT_GPIO_CFG_REG1_DEBOUNCE register field. */
1762
#define ALT_GPIO_CFG_REG1_DEBOUNCE_WIDTH 1
1763
/* The mask used to set the ALT_GPIO_CFG_REG1_DEBOUNCE register field value. */
1764
#define ALT_GPIO_CFG_REG1_DEBOUNCE_SET_MSK 0x00002000
1765
/* The mask used to clear the ALT_GPIO_CFG_REG1_DEBOUNCE register field value. */
1766
#define ALT_GPIO_CFG_REG1_DEBOUNCE_CLR_MSK 0xffffdfff
1767
/* The reset value of the ALT_GPIO_CFG_REG1_DEBOUNCE register field. */
1768
#define ALT_GPIO_CFG_REG1_DEBOUNCE_RESET 0x1
1769
/* Extracts the ALT_GPIO_CFG_REG1_DEBOUNCE field value from a register. */
1770
#define ALT_GPIO_CFG_REG1_DEBOUNCE_GET(value) (((value) & 0x00002000) >> 13)
1771
/* Produces a ALT_GPIO_CFG_REG1_DEBOUNCE register field value suitable for setting the register. */
1772
#define ALT_GPIO_CFG_REG1_DEBOUNCE_SET(value) (((value) << 13) & 0x00002000)
1773
1774
/*
1775
* Field : Encoded GPIO Parameters Available - add_encoded_params
1776
*
1777
* Fixed to allow the indentification of the Designware IP component.
1778
*
1779
* Field Enumeration Values:
1780
*
1781
* Enum | Value | Description
1782
* :------------------------------------------------|:------|:--------------------------
1783
* ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_E_ADDENCPARAMS | 0x1 | Enable IP indentification
1784
*
1785
* Field Access Macros:
1786
*
1787
*/
1788
/*
1789
* Enumerated value for register field ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS
1790
*
1791
* Enable IP indentification
1792
*/
1793
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_E_ADDENCPARAMS 0x1
1794
1795
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field. */
1796
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_LSB 14
1797
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field. */
1798
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_MSB 14
1799
/* The width in bits of the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field. */
1800
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_WIDTH 1
1801
/* The mask used to set the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field value. */
1802
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_SET_MSK 0x00004000
1803
/* The mask used to clear the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field value. */
1804
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_CLR_MSK 0xffffbfff
1805
/* The reset value of the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field. */
1806
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_RESET 0x1
1807
/* Extracts the ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS field value from a register. */
1808
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_GET(value) (((value) & 0x00004000) >> 14)
1809
/* Produces a ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS register field value suitable for setting the register. */
1810
#define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_SET(value) (((value) << 14) & 0x00004000)
1811
1812
/*
1813
* Field : ID Field - gpio_id
1814
*
1815
* Provides an ID code value
1816
*
1817
* Field Enumeration Values:
1818
*
1819
* Enum | Value | Description
1820
* :-----------------------------------|:------|:-------------
1821
* ALT_GPIO_CFG_REG1_GPIO_ID_E_IDCODE | 0x1 | GPIO ID Code
1822
*
1823
* Field Access Macros:
1824
*
1825
*/
1826
/*
1827
* Enumerated value for register field ALT_GPIO_CFG_REG1_GPIO_ID
1828
*
1829
* GPIO ID Code
1830
*/
1831
#define ALT_GPIO_CFG_REG1_GPIO_ID_E_IDCODE 0x1
1832
1833
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_GPIO_ID register field. */
1834
#define ALT_GPIO_CFG_REG1_GPIO_ID_LSB 15
1835
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_GPIO_ID register field. */
1836
#define ALT_GPIO_CFG_REG1_GPIO_ID_MSB 15
1837
/* The width in bits of the ALT_GPIO_CFG_REG1_GPIO_ID register field. */
1838
#define ALT_GPIO_CFG_REG1_GPIO_ID_WIDTH 1
1839
/* The mask used to set the ALT_GPIO_CFG_REG1_GPIO_ID register field value. */
1840
#define ALT_GPIO_CFG_REG1_GPIO_ID_SET_MSK 0x00008000
1841
/* The mask used to clear the ALT_GPIO_CFG_REG1_GPIO_ID register field value. */
1842
#define ALT_GPIO_CFG_REG1_GPIO_ID_CLR_MSK 0xffff7fff
1843
/* The reset value of the ALT_GPIO_CFG_REG1_GPIO_ID register field. */
1844
#define ALT_GPIO_CFG_REG1_GPIO_ID_RESET 0x1
1845
/* Extracts the ALT_GPIO_CFG_REG1_GPIO_ID field value from a register. */
1846
#define ALT_GPIO_CFG_REG1_GPIO_ID_GET(value) (((value) & 0x00008000) >> 15)
1847
/* Produces a ALT_GPIO_CFG_REG1_GPIO_ID register field value suitable for setting the register. */
1848
#define ALT_GPIO_CFG_REG1_GPIO_ID_SET(value) (((value) << 15) & 0x00008000)
1849
1850
/*
1851
* Field : Encoded ID Width Field - encoded_id_width
1852
*
1853
* This value is fixed at 32 bits.
1854
*
1855
* Field Enumeration Values:
1856
*
1857
* Enum | Value | Description
1858
* :--------------------------------------------|:------|:------------------
1859
* ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_E_ENCIDWIDTH | 0x1f | Width of ID Field
1860
*
1861
* Field Access Macros:
1862
*
1863
*/
1864
/*
1865
* Enumerated value for register field ALT_GPIO_CFG_REG1_ENC_ID_WIDTH
1866
*
1867
* Width of ID Field
1868
*/
1869
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_E_ENCIDWIDTH 0x1f
1870
1871
/* The Least Significant Bit (LSB) position of the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field. */
1872
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_LSB 16
1873
/* The Most Significant Bit (MSB) position of the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field. */
1874
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_MSB 20
1875
/* The width in bits of the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field. */
1876
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_WIDTH 5
1877
/* The mask used to set the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field value. */
1878
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_SET_MSK 0x001f0000
1879
/* The mask used to clear the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field value. */
1880
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_CLR_MSK 0xffe0ffff
1881
/* The reset value of the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field. */
1882
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_RESET 0x1f
1883
/* Extracts the ALT_GPIO_CFG_REG1_ENC_ID_WIDTH field value from a register. */
1884
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_GET(value) (((value) & 0x001f0000) >> 16)
1885
/* Produces a ALT_GPIO_CFG_REG1_ENC_ID_WIDTH register field value suitable for setting the register. */
1886
#define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_SET(value) (((value) << 16) & 0x001f0000)
1887
1888
#ifndef __ASSEMBLY__
1889
/*
1890
* WARNING: The C register and register group struct declarations are provided for
1891
* convenience and illustrative purposes. They should, however, be used with
1892
* caution as the C language standard provides no guarantees about the alignment or
1893
* atomicity of device memory accesses. The recommended practice for writing
1894
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
1895
* alt_write_word() functions.
1896
*
1897
* The struct declaration for register ALT_GPIO_CFG_REG1.
1898
*/
1899
struct
ALT_GPIO_CFG_REG1_s
1900
{
1901
const
uint32_t apb_data_width : 2;
/* APB DATA WIDTH */
1902
const
uint32_t num_ports : 2;
/* NUM PORTS */
1903
const
uint32_t porta_single_ctl : 1;
/* PORT A SINGLE CTL */
1904
const
uint32_t portb_single_ctl : 1;
/* PORT B SINGLE CTL */
1905
const
uint32_t portc_single_ctl : 1;
/* PORT C SINGLE CTL */
1906
const
uint32_t portd_single_ctl : 1;
/* PORT D SINGLE CTL */
1907
const
uint32_t hw_porta : 1;
/* HW PORTA */
1908
uint32_t : 3;
/* *UNDEFINED* */
1909
const
uint32_t porta_intr : 1;
/* Port A Interrupt Field */
1910
const
uint32_t debounce : 1;
/* Debounce Field */
1911
const
uint32_t add_encoded_params : 1;
/* Encoded GPIO Parameters Available */
1912
const
uint32_t gpio_id : 1;
/* ID Field */
1913
const
uint32_t encoded_id_width : 5;
/* Encoded ID Width Field */
1914
uint32_t : 11;
/* *UNDEFINED* */
1915
};
1916
1917
/* The typedef declaration for register ALT_GPIO_CFG_REG1. */
1918
typedef
volatile
struct
ALT_GPIO_CFG_REG1_s
ALT_GPIO_CFG_REG1_t;
1919
#endif
/* __ASSEMBLY__ */
1920
1921
/* The byte offset of the ALT_GPIO_CFG_REG1 register from the beginning of the component. */
1922
#define ALT_GPIO_CFG_REG1_OFST 0x74
1923
/* The address of the ALT_GPIO_CFG_REG1 register. */
1924
#define ALT_GPIO_CFG_REG1_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_CFG_REG1_OFST))
1925
1926
#ifndef __ASSEMBLY__
1927
/*
1928
* WARNING: The C register and register group struct declarations are provided for
1929
* convenience and illustrative purposes. They should, however, be used with
1930
* caution as the C language standard provides no guarantees about the alignment or
1931
* atomicity of device memory accesses. The recommended practice for writing
1932
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
1933
* alt_write_word() functions.
1934
*
1935
* The struct declaration for register group ALT_GPIO.
1936
*/
1937
struct
ALT_GPIO_s
1938
{
1939
volatile
ALT_GPIO_SWPORTA_DR_t gpio_swporta_dr;
/* ALT_GPIO_SWPORTA_DR */
1940
volatile
ALT_GPIO_SWPORTA_DDR_t gpio_swporta_ddr;
/* ALT_GPIO_SWPORTA_DDR */
1941
volatile
uint32_t _pad_0x8_0x2f[10];
/* *UNDEFINED* */
1942
volatile
ALT_GPIO_INTEN_t gpio_inten;
/* ALT_GPIO_INTEN */
1943
volatile
ALT_GPIO_INTMSK_t gpio_intmask;
/* ALT_GPIO_INTMSK */
1944
volatile
ALT_GPIO_INTTYPE_LEVEL_t gpio_inttype_level;
/* ALT_GPIO_INTTYPE_LEVEL */
1945
volatile
ALT_GPIO_INT_POL_t gpio_int_polarity;
/* ALT_GPIO_INT_POL */
1946
volatile
ALT_GPIO_INTSTAT_t gpio_intstatus;
/* ALT_GPIO_INTSTAT */
1947
volatile
ALT_GPIO_RAW_INTSTAT_t gpio_raw_intstatus;
/* ALT_GPIO_RAW_INTSTAT */
1948
volatile
ALT_GPIO_DEBOUNCE_t gpio_debounce;
/* ALT_GPIO_DEBOUNCE */
1949
volatile
ALT_GPIO_PORTA_EOI_t gpio_porta_eoi;
/* ALT_GPIO_PORTA_EOI */
1950
volatile
ALT_GPIO_EXT_PORTA_t gpio_ext_porta;
/* ALT_GPIO_EXT_PORTA */
1951
volatile
uint32_t _pad_0x54_0x5f[3];
/* *UNDEFINED* */
1952
volatile
ALT_GPIO_LS_SYNC_t gpio_ls_sync;
/* ALT_GPIO_LS_SYNC */
1953
volatile
ALT_GPIO_ID_CODE_t gpio_id_code;
/* ALT_GPIO_ID_CODE */
1954
volatile
uint32_t _pad_0x68_0x6b;
/* *UNDEFINED* */
1955
volatile
ALT_GPIO_VER_ID_CODE_t gpio_ver_id_code;
/* ALT_GPIO_VER_ID_CODE */
1956
volatile
ALT_GPIO_CFG_REG2_t gpio_config_reg2;
/* ALT_GPIO_CFG_REG2 */
1957
volatile
ALT_GPIO_CFG_REG1_t gpio_config_reg1;
/* ALT_GPIO_CFG_REG1 */
1958
volatile
uint32_t _pad_0x78_0x80[2];
/* *UNDEFINED* */
1959
};
1960
1961
/* The typedef declaration for register group ALT_GPIO. */
1962
typedef
volatile
struct
ALT_GPIO_s
ALT_GPIO_t;
1963
/* The struct declaration for the raw register contents of register group ALT_GPIO. */
1964
struct
ALT_GPIO_raw_s
1965
{
1966
volatile
uint32_t gpio_swporta_dr;
/* ALT_GPIO_SWPORTA_DR */
1967
volatile
uint32_t gpio_swporta_ddr;
/* ALT_GPIO_SWPORTA_DDR */
1968
volatile
uint32_t _pad_0x8_0x2f[10];
/* *UNDEFINED* */
1969
volatile
uint32_t gpio_inten;
/* ALT_GPIO_INTEN */
1970
volatile
uint32_t gpio_intmask;
/* ALT_GPIO_INTMSK */
1971
volatile
uint32_t gpio_inttype_level;
/* ALT_GPIO_INTTYPE_LEVEL */
1972
volatile
uint32_t gpio_int_polarity;
/* ALT_GPIO_INT_POL */
1973
volatile
uint32_t gpio_intstatus;
/* ALT_GPIO_INTSTAT */
1974
volatile
uint32_t gpio_raw_intstatus;
/* ALT_GPIO_RAW_INTSTAT */
1975
volatile
uint32_t gpio_debounce;
/* ALT_GPIO_DEBOUNCE */
1976
volatile
uint32_t gpio_porta_eoi;
/* ALT_GPIO_PORTA_EOI */
1977
volatile
uint32_t gpio_ext_porta;
/* ALT_GPIO_EXT_PORTA */
1978
volatile
uint32_t _pad_0x54_0x5f[3];
/* *UNDEFINED* */
1979
volatile
uint32_t gpio_ls_sync;
/* ALT_GPIO_LS_SYNC */
1980
volatile
uint32_t gpio_id_code;
/* ALT_GPIO_ID_CODE */
1981
volatile
uint32_t _pad_0x68_0x6b;
/* *UNDEFINED* */
1982
volatile
uint32_t gpio_ver_id_code;
/* ALT_GPIO_VER_ID_CODE */
1983
volatile
uint32_t gpio_config_reg2;
/* ALT_GPIO_CFG_REG2 */
1984
volatile
uint32_t gpio_config_reg1;
/* ALT_GPIO_CFG_REG1 */
1985
volatile
uint32_t _pad_0x78_0x80[2];
/* *UNDEFINED* */
1986
};
1987
1988
/* The typedef declaration for the raw register contents of register group ALT_GPIO. */
1989
typedef
volatile
struct
ALT_GPIO_raw_s
ALT_GPIO_raw_t;
1990
#endif
/* __ASSEMBLY__ */
1991
1992
1993
#ifdef __cplusplus
1994
}
1995
#endif
/* __cplusplus */
1996
#endif
/* __ALTERA_ALT_GPIO_H__ */
1997
ALT_GPIO_CFG_REG1_s
Definition
alt_gpio.h:1900
ALT_GPIO_CFG_REG2_s
Definition
alt_gpio.h:1386
ALT_GPIO_DEBOUNCE_s
Definition
alt_gpio.h:801
ALT_GPIO_EXT_PORTA_s
Definition
alt_gpio.h:951
ALT_GPIO_ID_CODE_s
Definition
alt_gpio.h:1098
ALT_GPIO_INTEN_s
Definition
alt_gpio.h:288
ALT_GPIO_INTMSK_s
Definition
alt_gpio.h:374
ALT_GPIO_INTSTAT_s
Definition
alt_gpio.h:629
ALT_GPIO_INTTYPE_LEVEL_s
Definition
alt_gpio.h:459
ALT_GPIO_INT_POL_s
Definition
alt_gpio.h:545
ALT_GPIO_LS_SYNC_s
Definition
alt_gpio.h:1035
ALT_GPIO_PORTA_EOI_s
Definition
alt_gpio.h:885
ALT_GPIO_RAW_INTSTAT_s
Definition
alt_gpio.h:715
ALT_GPIO_SWPORTA_DDR_s
Definition
alt_gpio.h:201
ALT_GPIO_SWPORTA_DR_s
Definition
alt_gpio.h:111
ALT_GPIO_VER_ID_CODE_s
Definition
alt_gpio.h:1161
ALT_GPIO_raw_s
Definition
alt_gpio.h:1965
ALT_GPIO_s
Definition
alt_gpio.h:1938
Generated by
1.18.0