Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
alt_gpio.h
1 /***********************************************************************************
2 * *
3 * Copyright 2013-2015 Altera Corporation. All Rights Reserved. *
4 * *
5 * Redistribution and use in source and binary forms, with or without *
6 * modification, are permitted provided that the following conditions are met: *
7 * *
8 * 1. Redistributions of source code must retain the above copyright notice, *
9 * this list of conditions and the following disclaimer. *
10 * *
11 * 2. Redistributions in binary form must reproduce the above copyright notice, *
12 * this list of conditions and the following disclaimer in the documentation *
13 * and/or other materials provided with the distribution. *
14 * *
15 * 3. Neither the name of the copyright holder nor the names of its contributors *
16 * may be used to endorse or promote products derived from this software without *
17 * specific prior written permission. *
18 * *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" *
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE *
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE *
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE *
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF *
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN *
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE *
29 * POSSIBILITY OF SUCH DAMAGE. *
30 * *
31 ***********************************************************************************/
32 
35 #ifndef __ALTERA_ALT_GPIO_H__
36 #define __ALTERA_ALT_GPIO_H__
37 
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif /* __cplusplus */
42 
79 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_LSB 0
80 
81 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_MSB 28
82 
83 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_WIDTH 29
84 
85 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_SET_MSK 0x1fffffff
86 
87 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_CLR_MSK 0xe0000000
88 
89 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_RESET 0x0
90 
91 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_GET(value) (((value) & 0x1fffffff) >> 0)
92 
93 #define ALT_GPIO_SWPORTA_DR_GPIO_SWPORTA_DR_SET(value) (((value) << 0) & 0x1fffffff)
94 
95 #ifndef __ASSEMBLY__
96 
107 {
108  uint32_t gpio_swporta_dr : 29;
109  uint32_t : 3;
110 };
111 
114 #endif /* __ASSEMBLY__ */
115 
117 #define ALT_GPIO_SWPORTA_DR_OFST 0x0
118 
119 #define ALT_GPIO_SWPORTA_DR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_SWPORTA_DR_OFST))
120 
160 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_E_IN 0x0
161 
166 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_E_OUT 0x1
167 
169 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_LSB 0
170 
171 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_MSB 28
172 
173 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_WIDTH 29
174 
175 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_SET_MSK 0x1fffffff
176 
177 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_CLR_MSK 0xe0000000
178 
179 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_RESET 0x0
180 
181 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_GET(value) (((value) & 0x1fffffff) >> 0)
182 
183 #define ALT_GPIO_SWPORTA_DDR_GPIO_SWPORTA_DDR_SET(value) (((value) << 0) & 0x1fffffff)
184 
185 #ifndef __ASSEMBLY__
186 
197 {
198  uint32_t gpio_swporta_ddr : 29;
199  uint32_t : 3;
200 };
201 
204 #endif /* __ASSEMBLY__ */
205 
207 #define ALT_GPIO_SWPORTA_DDR_OFST 0x4
208 
209 #define ALT_GPIO_SWPORTA_DDR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_SWPORTA_DDR_OFST))
210 
247 #define ALT_GPIO_INTEN_GPIO_INTEN_E_DIS 0x0
248 
253 #define ALT_GPIO_INTEN_GPIO_INTEN_E_EN 0x1
254 
256 #define ALT_GPIO_INTEN_GPIO_INTEN_LSB 0
257 
258 #define ALT_GPIO_INTEN_GPIO_INTEN_MSB 28
259 
260 #define ALT_GPIO_INTEN_GPIO_INTEN_WIDTH 29
261 
262 #define ALT_GPIO_INTEN_GPIO_INTEN_SET_MSK 0x1fffffff
263 
264 #define ALT_GPIO_INTEN_GPIO_INTEN_CLR_MSK 0xe0000000
265 
266 #define ALT_GPIO_INTEN_GPIO_INTEN_RESET 0x0
267 
268 #define ALT_GPIO_INTEN_GPIO_INTEN_GET(value) (((value) & 0x1fffffff) >> 0)
269 
270 #define ALT_GPIO_INTEN_GPIO_INTEN_SET(value) (((value) << 0) & 0x1fffffff)
271 
272 #ifndef __ASSEMBLY__
273 
284 {
285  uint32_t gpio_inten : 29;
286  uint32_t : 3;
287 };
288 
290 typedef volatile struct ALT_GPIO_INTEN_s ALT_GPIO_INTEN_t;
291 #endif /* __ASSEMBLY__ */
292 
294 #define ALT_GPIO_INTEN_OFST 0x30
295 
296 #define ALT_GPIO_INTEN_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTEN_OFST))
297 
333 #define ALT_GPIO_INTMSK_GPIO_INTMSK_E_DIS 0x0
334 
339 #define ALT_GPIO_INTMSK_GPIO_INTMSK_E_EN 0x1
340 
342 #define ALT_GPIO_INTMSK_GPIO_INTMSK_LSB 0
343 
344 #define ALT_GPIO_INTMSK_GPIO_INTMSK_MSB 28
345 
346 #define ALT_GPIO_INTMSK_GPIO_INTMSK_WIDTH 29
347 
348 #define ALT_GPIO_INTMSK_GPIO_INTMSK_SET_MSK 0x1fffffff
349 
350 #define ALT_GPIO_INTMSK_GPIO_INTMSK_CLR_MSK 0xe0000000
351 
352 #define ALT_GPIO_INTMSK_GPIO_INTMSK_RESET 0x0
353 
354 #define ALT_GPIO_INTMSK_GPIO_INTMSK_GET(value) (((value) & 0x1fffffff) >> 0)
355 
356 #define ALT_GPIO_INTMSK_GPIO_INTMSK_SET(value) (((value) << 0) & 0x1fffffff)
357 
358 #ifndef __ASSEMBLY__
359 
370 {
371  uint32_t gpio_intmask : 29;
372  uint32_t : 3;
373 };
374 
376 typedef volatile struct ALT_GPIO_INTMSK_s ALT_GPIO_INTMSK_t;
377 #endif /* __ASSEMBLY__ */
378 
380 #define ALT_GPIO_INTMSK_OFST 0x34
381 
382 #define ALT_GPIO_INTMSK_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTMSK_OFST))
383 
418 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_E_LEVEL 0x0
419 
424 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_E_EDGE 0x1
425 
427 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_LSB 0
428 
429 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_MSB 28
430 
431 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_WIDTH 29
432 
433 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_SET_MSK 0x1fffffff
434 
435 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_CLR_MSK 0xe0000000
436 
437 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_RESET 0x0
438 
439 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_GET(value) (((value) & 0x1fffffff) >> 0)
440 
441 #define ALT_GPIO_INTTYPE_LEVEL_GPIO_INTTYPE_LEVEL_SET(value) (((value) << 0) & 0x1fffffff)
442 
443 #ifndef __ASSEMBLY__
444 
455 {
456  uint32_t gpio_inttype_level : 29;
457  uint32_t : 3;
458 };
459 
462 #endif /* __ASSEMBLY__ */
463 
465 #define ALT_GPIO_INTTYPE_LEVEL_OFST 0x38
466 
467 #define ALT_GPIO_INTTYPE_LEVEL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTTYPE_LEVEL_OFST))
468 
504 #define ALT_GPIO_INT_POL_GPIO_INT_POL_E_ACTLOW 0x0
505 
510 #define ALT_GPIO_INT_POL_GPIO_INT_POL_E_ACTHIGH 0x1
511 
513 #define ALT_GPIO_INT_POL_GPIO_INT_POL_LSB 0
514 
515 #define ALT_GPIO_INT_POL_GPIO_INT_POL_MSB 28
516 
517 #define ALT_GPIO_INT_POL_GPIO_INT_POL_WIDTH 29
518 
519 #define ALT_GPIO_INT_POL_GPIO_INT_POL_SET_MSK 0x1fffffff
520 
521 #define ALT_GPIO_INT_POL_GPIO_INT_POL_CLR_MSK 0xe0000000
522 
523 #define ALT_GPIO_INT_POL_GPIO_INT_POL_RESET 0x0
524 
525 #define ALT_GPIO_INT_POL_GPIO_INT_POL_GET(value) (((value) & 0x1fffffff) >> 0)
526 
527 #define ALT_GPIO_INT_POL_GPIO_INT_POL_SET(value) (((value) << 0) & 0x1fffffff)
528 
529 #ifndef __ASSEMBLY__
530 
541 {
542  uint32_t gpio_int_polarity : 29;
543  uint32_t : 3;
544 };
545 
547 typedef volatile struct ALT_GPIO_INT_POL_s ALT_GPIO_INT_POL_t;
548 #endif /* __ASSEMBLY__ */
549 
551 #define ALT_GPIO_INT_POL_OFST 0x3c
552 
553 #define ALT_GPIO_INT_POL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INT_POL_OFST))
554 
588 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_E_INACT 0x0
589 
594 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_E_ACT 0x1
595 
597 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_LSB 0
598 
599 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_MSB 28
600 
601 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_WIDTH 29
602 
603 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_SET_MSK 0x1fffffff
604 
605 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_CLR_MSK 0xe0000000
606 
607 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_RESET 0x0
608 
609 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_GET(value) (((value) & 0x1fffffff) >> 0)
610 
611 #define ALT_GPIO_INTSTAT_GPIO_INTSTAT_SET(value) (((value) << 0) & 0x1fffffff)
612 
613 #ifndef __ASSEMBLY__
614 
625 {
626  uint32_t gpio_intstatus : 29;
627  uint32_t : 3;
628 };
629 
631 typedef volatile struct ALT_GPIO_INTSTAT_s ALT_GPIO_INTSTAT_t;
632 #endif /* __ASSEMBLY__ */
633 
635 #define ALT_GPIO_INTSTAT_OFST 0x40
636 
637 #define ALT_GPIO_INTSTAT_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_INTSTAT_OFST))
638 
674 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_E_INACT 0x0
675 
680 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_E_ACT 0x1
681 
683 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_LSB 0
684 
685 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_MSB 28
686 
687 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_WIDTH 29
688 
689 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_SET_MSK 0x1fffffff
690 
691 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_CLR_MSK 0xe0000000
692 
693 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_RESET 0x0
694 
695 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_GET(value) (((value) & 0x1fffffff) >> 0)
696 
697 #define ALT_GPIO_RAW_INTSTAT_GPIO_RAW_INTSTAT_SET(value) (((value) << 0) & 0x1fffffff)
698 
699 #ifndef __ASSEMBLY__
700 
711 {
712  uint32_t gpio_raw_intstatus : 29;
713  uint32_t : 3;
714 };
715 
718 #endif /* __ASSEMBLY__ */
719 
721 #define ALT_GPIO_RAW_INTSTAT_OFST 0x44
722 
723 #define ALT_GPIO_RAW_INTSTAT_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_RAW_INTSTAT_OFST))
724 
760 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_E_DIS 0x0
761 
766 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_E_EN 0x1
767 
769 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_LSB 0
770 
771 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_MSB 28
772 
773 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_WIDTH 29
774 
775 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_SET_MSK 0x1fffffff
776 
777 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_CLR_MSK 0xe0000000
778 
779 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_RESET 0x0
780 
781 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_GET(value) (((value) & 0x1fffffff) >> 0)
782 
783 #define ALT_GPIO_DEBOUNCE_GPIO_DEBOUNCE_SET(value) (((value) << 0) & 0x1fffffff)
784 
785 #ifndef __ASSEMBLY__
786 
797 {
798  uint32_t gpio_debounce : 29;
799  uint32_t : 3;
800 };
801 
803 typedef volatile struct ALT_GPIO_DEBOUNCE_s ALT_GPIO_DEBOUNCE_t;
804 #endif /* __ASSEMBLY__ */
805 
807 #define ALT_GPIO_DEBOUNCE_OFST 0x48
808 
809 #define ALT_GPIO_DEBOUNCE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_DEBOUNCE_OFST))
810 
844 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_E_NOCLR 0x0
845 
850 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_E_CLR 0x1
851 
853 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_LSB 0
854 
855 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_MSB 28
856 
857 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_WIDTH 29
858 
859 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_SET_MSK 0x1fffffff
860 
861 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_CLR_MSK 0xe0000000
862 
863 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_RESET 0x0
864 
865 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_GET(value) (((value) & 0x1fffffff) >> 0)
866 
867 #define ALT_GPIO_PORTA_EOI_GPIO_PORTA_EOI_SET(value) (((value) << 0) & 0x1fffffff)
868 
869 #ifndef __ASSEMBLY__
870 
881 {
882  uint32_t gpio_porta_eoi : 29;
883  uint32_t : 3;
884 };
885 
888 #endif /* __ASSEMBLY__ */
889 
891 #define ALT_GPIO_PORTA_EOI_OFST 0x4c
892 
893 #define ALT_GPIO_PORTA_EOI_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_PORTA_EOI_OFST))
894 
919 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_LSB 0
920 
921 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_MSB 28
922 
923 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_WIDTH 29
924 
925 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_SET_MSK 0x1fffffff
926 
927 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_CLR_MSK 0xe0000000
928 
929 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_RESET 0x0
930 
931 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_GET(value) (((value) & 0x1fffffff) >> 0)
932 
933 #define ALT_GPIO_EXT_PORTA_GPIO_EXT_PORTA_SET(value) (((value) << 0) & 0x1fffffff)
934 
935 #ifndef __ASSEMBLY__
936 
947 {
948  const uint32_t gpio_ext_porta : 29;
949  uint32_t : 3;
950 };
951 
954 #endif /* __ASSEMBLY__ */
955 
957 #define ALT_GPIO_EXT_PORTA_OFST 0x50
958 
959 #define ALT_GPIO_EXT_PORTA_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_EXT_PORTA_OFST))
960 
994 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_E_NOSYNC 0x0
995 
1000 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_E_SYNC 0x1
1001 
1003 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_LSB 0
1004 
1005 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_MSB 0
1006 
1007 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_WIDTH 1
1008 
1009 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_SET_MSK 0x00000001
1010 
1011 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_CLR_MSK 0xfffffffe
1012 
1013 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_RESET 0x0
1014 
1015 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_GET(value) (((value) & 0x00000001) >> 0)
1016 
1017 #define ALT_GPIO_LS_SYNC_GPIO_LS_SYNC_SET(value) (((value) << 0) & 0x00000001)
1018 
1019 #ifndef __ASSEMBLY__
1020 
1031 {
1032  uint32_t gpio_ls_sync : 1;
1033  uint32_t : 31;
1034 };
1035 
1037 typedef volatile struct ALT_GPIO_LS_SYNC_s ALT_GPIO_LS_SYNC_t;
1038 #endif /* __ASSEMBLY__ */
1039 
1041 #define ALT_GPIO_LS_SYNC_OFST 0x60
1042 
1043 #define ALT_GPIO_LS_SYNC_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_LS_SYNC_OFST))
1044 
1066 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_LSB 0
1067 
1068 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_MSB 31
1069 
1070 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_WIDTH 32
1071 
1072 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_SET_MSK 0xffffffff
1073 
1074 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_CLR_MSK 0x00000000
1075 
1076 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_RESET 0x0
1077 
1078 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_GET(value) (((value) & 0xffffffff) >> 0)
1079 
1080 #define ALT_GPIO_ID_CODE_GPIO_ID_CODE_SET(value) (((value) << 0) & 0xffffffff)
1081 
1082 #ifndef __ASSEMBLY__
1083 
1094 {
1095  const uint32_t gpio_id_code : 32;
1096 };
1097 
1099 typedef volatile struct ALT_GPIO_ID_CODE_s ALT_GPIO_ID_CODE_t;
1100 #endif /* __ASSEMBLY__ */
1101 
1103 #define ALT_GPIO_ID_CODE_OFST 0x64
1104 
1105 #define ALT_GPIO_ID_CODE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_ID_CODE_OFST))
1106 
1129 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_LSB 0
1130 
1131 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_MSB 31
1132 
1133 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_WIDTH 32
1134 
1135 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_SET_MSK 0xffffffff
1136 
1137 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_CLR_MSK 0x00000000
1138 
1139 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_RESET 0x3230382a
1140 
1141 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_GET(value) (((value) & 0xffffffff) >> 0)
1142 
1143 #define ALT_GPIO_VER_ID_CODE_GPIO_VER_ID_CODE_SET(value) (((value) << 0) & 0xffffffff)
1144 
1145 #ifndef __ASSEMBLY__
1146 
1157 {
1158  const uint32_t gpio_ver_id_code : 32;
1159 };
1160 
1163 #endif /* __ASSEMBLY__ */
1164 
1166 #define ALT_GPIO_VER_ID_CODE_OFST 0x6c
1167 
1168 #define ALT_GPIO_VER_ID_CODE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_VER_ID_CODE_OFST))
1169 
1207 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_E_WIDTHLESSONE8BITS 0x7
1208 
1213 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_E_WIDTHLESSONE29BITS 0x1c
1214 
1216 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_LSB 0
1217 
1218 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_MSB 4
1219 
1220 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_WIDTH 5
1221 
1222 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_SET_MSK 0x0000001f
1223 
1224 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_CLR_MSK 0xffffffe0
1225 
1226 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_RESET 0x1c
1227 
1228 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_GET(value) (((value) & 0x0000001f) >> 0)
1229 
1230 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_A_SET(value) (((value) << 0) & 0x0000001f)
1231 
1253 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_E_WIDTHLESSONE8BITS 0x7
1254 
1259 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_E_WIDTHLESSONE29BITS 0x1c
1260 
1262 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_LSB 5
1263 
1264 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_MSB 9
1265 
1266 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_WIDTH 5
1267 
1268 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_SET_MSK 0x000003e0
1269 
1270 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_CLR_MSK 0xfffffc1f
1271 
1272 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_RESET 0x7
1273 
1274 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_GET(value) (((value) & 0x000003e0) >> 5)
1275 
1276 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_B_SET(value) (((value) << 5) & 0x000003e0)
1277 
1299 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_E_WIDTHLESSONE8BITS 0x7
1300 
1305 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_E_WIDTHLESSONE29BITS 0x1c
1306 
1308 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_LSB 10
1309 
1310 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_MSB 14
1311 
1312 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_WIDTH 5
1313 
1314 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_SET_MSK 0x00007c00
1315 
1316 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_CLR_MSK 0xffff83ff
1317 
1318 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_RESET 0x7
1319 
1320 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_GET(value) (((value) & 0x00007c00) >> 10)
1321 
1322 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_C_SET(value) (((value) << 10) & 0x00007c00)
1323 
1345 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_E_WIDTHLESSONE8BITS 0x7
1346 
1351 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_E_WIDTHLESSONE29BITS 0x1c
1352 
1354 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_LSB 15
1355 
1356 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_MSB 19
1357 
1358 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_WIDTH 5
1359 
1360 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_SET_MSK 0x000f8000
1361 
1362 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_CLR_MSK 0xfff07fff
1363 
1364 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_RESET 0x7
1365 
1366 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_GET(value) (((value) & 0x000f8000) >> 15)
1367 
1368 #define ALT_GPIO_CFG_REG2_ENC_ID_PWIDTH_D_SET(value) (((value) << 15) & 0x000f8000)
1369 
1370 #ifndef __ASSEMBLY__
1371 
1382 {
1383  const uint32_t encoded_id_pwidth_a : 5;
1384  const uint32_t encoded_id_pwidth_b : 5;
1385  const uint32_t encoded_id_pwidth_c : 5;
1386  const uint32_t encoded_id_pwidth_d : 5;
1387  uint32_t : 12;
1388 };
1389 
1392 #endif /* __ASSEMBLY__ */
1393 
1395 #define ALT_GPIO_CFG_REG2_OFST 0x70
1396 
1397 #define ALT_GPIO_CFG_REG2_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_CFG_REG2_OFST))
1398 
1443 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_E_WIDTH32BITS 0x2
1444 
1446 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_LSB 0
1447 
1448 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_MSB 1
1449 
1450 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_WIDTH 2
1451 
1452 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_SET_MSK 0x00000003
1453 
1454 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_CLR_MSK 0xfffffffc
1455 
1456 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_RESET 0x2
1457 
1458 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_GET(value) (((value) & 0x00000003) >> 0)
1459 
1460 #define ALT_GPIO_CFG_REG1_APB_DATA_WIDTH_SET(value) (((value) << 0) & 0x00000003)
1461 
1481 #define ALT_GPIO_CFG_REG1_NUM_PORTS_E_ONEPORTA 0x0
1482 
1484 #define ALT_GPIO_CFG_REG1_NUM_PORTS_LSB 2
1485 
1486 #define ALT_GPIO_CFG_REG1_NUM_PORTS_MSB 3
1487 
1488 #define ALT_GPIO_CFG_REG1_NUM_PORTS_WIDTH 2
1489 
1490 #define ALT_GPIO_CFG_REG1_NUM_PORTS_SET_MSK 0x0000000c
1491 
1492 #define ALT_GPIO_CFG_REG1_NUM_PORTS_CLR_MSK 0xfffffff3
1493 
1494 #define ALT_GPIO_CFG_REG1_NUM_PORTS_RESET 0x0
1495 
1496 #define ALT_GPIO_CFG_REG1_NUM_PORTS_GET(value) (((value) & 0x0000000c) >> 2)
1497 
1498 #define ALT_GPIO_CFG_REG1_NUM_PORTS_SET(value) (((value) << 2) & 0x0000000c)
1499 
1519 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_E_SOFTCTLONLY 0x1
1520 
1522 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_LSB 4
1523 
1524 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_MSB 4
1525 
1526 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_WIDTH 1
1527 
1528 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_SET_MSK 0x00000010
1529 
1530 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_CLR_MSK 0xffffffef
1531 
1532 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_RESET 0x1
1533 
1534 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_GET(value) (((value) & 0x00000010) >> 4)
1535 
1536 #define ALT_GPIO_CFG_REG1_PORTA_SINGLE_CTL_SET(value) (((value) << 4) & 0x00000010)
1537 
1558 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_E_SOFTCTLONLY 0x1
1559 
1561 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_LSB 5
1562 
1563 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_MSB 5
1564 
1565 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_WIDTH 1
1566 
1567 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_SET_MSK 0x00000020
1568 
1569 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_CLR_MSK 0xffffffdf
1570 
1571 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_RESET 0x1
1572 
1573 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_GET(value) (((value) & 0x00000020) >> 5)
1574 
1575 #define ALT_GPIO_CFG_REG1_PORTB_SINGLE_CTL_SET(value) (((value) << 5) & 0x00000020)
1576 
1597 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_E_SOFTCTLONLY 0x1
1598 
1600 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_LSB 6
1601 
1602 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_MSB 6
1603 
1604 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_WIDTH 1
1605 
1606 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_SET_MSK 0x00000040
1607 
1608 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_CLR_MSK 0xffffffbf
1609 
1610 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_RESET 0x1
1611 
1612 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_GET(value) (((value) & 0x00000040) >> 6)
1613 
1614 #define ALT_GPIO_CFG_REG1_PORTC_SINGLE_CTL_SET(value) (((value) << 6) & 0x00000040)
1615 
1636 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_E_SOFTCTLONLY 0x1
1637 
1639 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_LSB 7
1640 
1641 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_MSB 7
1642 
1643 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_WIDTH 1
1644 
1645 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_SET_MSK 0x00000080
1646 
1647 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_CLR_MSK 0xffffff7f
1648 
1649 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_RESET 0x1
1650 
1651 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_GET(value) (((value) & 0x00000080) >> 7)
1652 
1653 #define ALT_GPIO_CFG_REG1_PORTD_SINGLE_CTL_SET(value) (((value) << 7) & 0x00000080)
1654 
1675 #define ALT_GPIO_CFG_REG1_HW_PORTA_E_PORTANOHARD 0x0
1676 
1678 #define ALT_GPIO_CFG_REG1_HW_PORTA_LSB 8
1679 
1680 #define ALT_GPIO_CFG_REG1_HW_PORTA_MSB 8
1681 
1682 #define ALT_GPIO_CFG_REG1_HW_PORTA_WIDTH 1
1683 
1684 #define ALT_GPIO_CFG_REG1_HW_PORTA_SET_MSK 0x00000100
1685 
1686 #define ALT_GPIO_CFG_REG1_HW_PORTA_CLR_MSK 0xfffffeff
1687 
1688 #define ALT_GPIO_CFG_REG1_HW_PORTA_RESET 0x0
1689 
1690 #define ALT_GPIO_CFG_REG1_HW_PORTA_GET(value) (((value) & 0x00000100) >> 8)
1691 
1692 #define ALT_GPIO_CFG_REG1_HW_PORTA_SET(value) (((value) << 8) & 0x00000100)
1693 
1713 #define ALT_GPIO_CFG_REG1_PORTA_INTR_E_PORTAINTERR 0x1
1714 
1716 #define ALT_GPIO_CFG_REG1_PORTA_INTR_LSB 12
1717 
1718 #define ALT_GPIO_CFG_REG1_PORTA_INTR_MSB 12
1719 
1720 #define ALT_GPIO_CFG_REG1_PORTA_INTR_WIDTH 1
1721 
1722 #define ALT_GPIO_CFG_REG1_PORTA_INTR_SET_MSK 0x00001000
1723 
1724 #define ALT_GPIO_CFG_REG1_PORTA_INTR_CLR_MSK 0xffffefff
1725 
1726 #define ALT_GPIO_CFG_REG1_PORTA_INTR_RESET 0x1
1727 
1728 #define ALT_GPIO_CFG_REG1_PORTA_INTR_GET(value) (((value) & 0x00001000) >> 12)
1729 
1730 #define ALT_GPIO_CFG_REG1_PORTA_INTR_SET(value) (((value) << 12) & 0x00001000)
1731 
1751 #define ALT_GPIO_CFG_REG1_DEBOUNCE_E_DEBOUNCEA 0x1
1752 
1754 #define ALT_GPIO_CFG_REG1_DEBOUNCE_LSB 13
1755 
1756 #define ALT_GPIO_CFG_REG1_DEBOUNCE_MSB 13
1757 
1758 #define ALT_GPIO_CFG_REG1_DEBOUNCE_WIDTH 1
1759 
1760 #define ALT_GPIO_CFG_REG1_DEBOUNCE_SET_MSK 0x00002000
1761 
1762 #define ALT_GPIO_CFG_REG1_DEBOUNCE_CLR_MSK 0xffffdfff
1763 
1764 #define ALT_GPIO_CFG_REG1_DEBOUNCE_RESET 0x1
1765 
1766 #define ALT_GPIO_CFG_REG1_DEBOUNCE_GET(value) (((value) & 0x00002000) >> 13)
1767 
1768 #define ALT_GPIO_CFG_REG1_DEBOUNCE_SET(value) (((value) << 13) & 0x00002000)
1769 
1789 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_E_ADDENCPARAMS 0x1
1790 
1792 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_LSB 14
1793 
1794 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_MSB 14
1795 
1796 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_WIDTH 1
1797 
1798 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_SET_MSK 0x00004000
1799 
1800 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_CLR_MSK 0xffffbfff
1801 
1802 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_RESET 0x1
1803 
1804 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_GET(value) (((value) & 0x00004000) >> 14)
1805 
1806 #define ALT_GPIO_CFG_REG1_ADD_ENC_PARAMS_SET(value) (((value) << 14) & 0x00004000)
1807 
1827 #define ALT_GPIO_CFG_REG1_GPIO_ID_E_IDCODE 0x1
1828 
1830 #define ALT_GPIO_CFG_REG1_GPIO_ID_LSB 15
1831 
1832 #define ALT_GPIO_CFG_REG1_GPIO_ID_MSB 15
1833 
1834 #define ALT_GPIO_CFG_REG1_GPIO_ID_WIDTH 1
1835 
1836 #define ALT_GPIO_CFG_REG1_GPIO_ID_SET_MSK 0x00008000
1837 
1838 #define ALT_GPIO_CFG_REG1_GPIO_ID_CLR_MSK 0xffff7fff
1839 
1840 #define ALT_GPIO_CFG_REG1_GPIO_ID_RESET 0x1
1841 
1842 #define ALT_GPIO_CFG_REG1_GPIO_ID_GET(value) (((value) & 0x00008000) >> 15)
1843 
1844 #define ALT_GPIO_CFG_REG1_GPIO_ID_SET(value) (((value) << 15) & 0x00008000)
1845 
1865 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_E_ENCIDWIDTH 0x1f
1866 
1868 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_LSB 16
1869 
1870 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_MSB 20
1871 
1872 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_WIDTH 5
1873 
1874 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_SET_MSK 0x001f0000
1875 
1876 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_CLR_MSK 0xffe0ffff
1877 
1878 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_RESET 0x1f
1879 
1880 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_GET(value) (((value) & 0x001f0000) >> 16)
1881 
1882 #define ALT_GPIO_CFG_REG1_ENC_ID_WIDTH_SET(value) (((value) << 16) & 0x001f0000)
1883 
1884 #ifndef __ASSEMBLY__
1885 
1896 {
1897  const uint32_t apb_data_width : 2;
1898  const uint32_t num_ports : 2;
1899  const uint32_t porta_single_ctl : 1;
1900  const uint32_t portb_single_ctl : 1;
1901  const uint32_t portc_single_ctl : 1;
1902  const uint32_t portd_single_ctl : 1;
1903  const uint32_t hw_porta : 1;
1904  uint32_t : 3;
1905  const uint32_t porta_intr : 1;
1906  const uint32_t debounce : 1;
1907  const uint32_t add_encoded_params : 1;
1908  const uint32_t gpio_id : 1;
1909  const uint32_t encoded_id_width : 5;
1910  uint32_t : 11;
1911 };
1912 
1915 #endif /* __ASSEMBLY__ */
1916 
1918 #define ALT_GPIO_CFG_REG1_OFST 0x74
1919 
1920 #define ALT_GPIO_CFG_REG1_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_GPIO_CFG_REG1_OFST))
1921 
1922 #ifndef __ASSEMBLY__
1923 
1934 {
1937  volatile uint32_t _pad_0x8_0x2f[10];
1947  volatile uint32_t _pad_0x54_0x5f[3];
1950  volatile uint32_t _pad_0x68_0x6b;
1954  volatile uint32_t _pad_0x78_0x80[2];
1955 };
1956 
1958 typedef volatile struct ALT_GPIO_s ALT_GPIO_t;
1961 {
1962  volatile uint32_t gpio_swporta_dr;
1963  volatile uint32_t gpio_swporta_ddr;
1964  volatile uint32_t _pad_0x8_0x2f[10];
1965  volatile uint32_t gpio_inten;
1966  volatile uint32_t gpio_intmask;
1967  volatile uint32_t gpio_inttype_level;
1968  volatile uint32_t gpio_int_polarity;
1969  volatile uint32_t gpio_intstatus;
1970  volatile uint32_t gpio_raw_intstatus;
1971  volatile uint32_t gpio_debounce;
1972  volatile uint32_t gpio_porta_eoi;
1973  volatile uint32_t gpio_ext_porta;
1974  volatile uint32_t _pad_0x54_0x5f[3];
1975  volatile uint32_t gpio_ls_sync;
1976  volatile uint32_t gpio_id_code;
1977  volatile uint32_t _pad_0x68_0x6b;
1978  volatile uint32_t gpio_ver_id_code;
1979  volatile uint32_t gpio_config_reg2;
1980  volatile uint32_t gpio_config_reg1;
1981  volatile uint32_t _pad_0x78_0x80[2];
1982 };
1983 
1985 typedef volatile struct ALT_GPIO_raw_s ALT_GPIO_raw_t;
1986 #endif /* __ASSEMBLY__ */
1987 
1989 #ifdef __cplusplus
1990 }
1991 #endif /* __cplusplus */
1992 #endif /* __ALTERA_ALT_GPIO_H__ */
1993