summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/tiva/chip/tiva_gpio.h
blob: c19856e4226231be8c5a490a7c8cf15cb567674e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
/************************************************************************************
 * arch/arm/src/tiva/chip/tiva_gpio.h
 *
 *   Copyright (C) 2009-2010, 2013 Gregory Nutt. All rights reserved.
 *   Authors: Gregory Nutt <gnutt@nuttx.org>
 *            Jose Pablo Carballo <jcarballo@nx-engineering.com>
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name NuttX nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ************************************************************************************/

#ifndef __ARCH_ARM_SRC_TIVA_CHIP_TIVA_GPIO_H
#define __ARCH_ARM_SRC_TIVA_CHIP_TIVA_GPIO_H

/************************************************************************************
 * Included Files
 ************************************************************************************/

#include <nuttx/config.h>

/************************************************************************************
 * Pre-processor Definitions
 ************************************************************************************/
/* REVISIT:  Why do we not use the AHB aperture for all GPIO accesses? */

#define TIVA_GPIOK_BASE             TIVA_GPIOKAHB_BASE
#define TIVA_GPIOL_BASE             TIVA_GPIOLAHB_BASE
#define TIVA_GPIOM_BASE             TIVA_GPIOMAHB_BASE
#define TIVA_GPION_BASE             TIVA_GPIONAHB_BASE
#define TIVA_GPIOP_BASE             TIVA_GPIOPAHB_BASE
#define TIVA_GPIOQ_BASE             TIVA_GPIOQAHB_BASE
#define TIVA_GPIOR_BASE             TIVA_GPIORAHB_BASE
#define TIVA_GPIOS_BASE             TIVA_GPIOSAHB_BASE
#define TIVA_GPIOT_BASE             TIVA_GPIOTAHB_BASE

/* GPIO Register Offsets ************************************************************/

#define TIVA_GPIO_DATA_OFFSET       0x0000 /* GPIO Data */
#define TIVA_GPIO_DIR_OFFSET        0x0400 /* GPIO Direction */
#define TIVA_GPIO_IS_OFFSET         0x0404 /* GPIO Interrupt Sense */
#define TIVA_GPIO_IBE_OFFSET        0x0408 /* GPIO Interrupt Both Edges */
#define TIVA_GPIO_IEV_OFFSET        0x040c /* GPIO Interrupt Event */
#define TIVA_GPIO_IM_OFFSET         0x0410 /* GPIO Interrupt Mask */
#define TIVA_GPIO_RIS_OFFSET        0x0414 /* GPIO Raw Interrupt Status */
#define TIVA_GPIO_MIS_OFFSET        0x0418 /* GPIO Masked Interrupt Status */
#define TIVA_GPIO_ICR_OFFSET        0x041c /* GPIO Interrupt Clear */
#define TIVA_GPIO_AFSEL_OFFSET      0x0420 /* GPIO Alternate Function */
#define TIVA_GPIO_DR2R_OFFSET       0x0500 /* Select GPIO 2-mA Drive Select */
#define TIVA_GPIO_DR4R_OFFSET       0x0504 /* GPIO 4-mA Drive Select */
#define TIVA_GPIO_DR8R_OFFSET       0x0508 /* GPIO 8-mA Drive Select */
#define TIVA_GPIO_ODR_OFFSET        0x050c /* GPIO Open Drain Select */
#define TIVA_GPIO_PUR_OFFSET        0x0510 /* GPIO Pull-Up Select */
#define TIVA_GPIO_PDR_OFFSET        0x0514 /* GPIO Pull-Down Select */
#define TIVA_GPIO_SLR_OFFSET        0x0518 /* GPIO Slew Rate Control Select */
#define TIVA_GPIO_DEN_OFFSET        0x051c /* GPIO Digital Enable */
#define TIVA_GPIO_LOCK_OFFSET       0x0520 /* GPIO Lock */
#define TIVA_GPIO_CR_OFFSET         0x0524 /* GPIO Commit */

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIO_AMSEL_OFFSET    0x0528 /* GPIO Analog Mode Select */
#  define TIVA_GPIO_PCTL_OFFSET     0x052c /* GPIO Port Control */
#  define TIVA_GPIO_ADCCTL_OFFSET   0x0530 /* GPIO ADC Control */
#  define TIVA_GPIO_DMACTL_OFFSET   0x0534 /* GPIO DMA Control */
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIO_SI_OFFSET       0x0538  /* GPIO Select Interrupt */
#  define TIVA_GPIO_DR12R_OFFSET    0x053c  /* GPIO 12-mA Drive Select */
#  define TIVA_GPIO_WAKEPEN_OFFSET  0x0540  /* GPIO Wake Pin Enable */
#  define TIVA_GPIO_WAKELVL_OFFSET  0x0544  /* GPIO Wake Level */
#  define TIVA_GPIO_WAKESTAT_OFFSET 0x0548  /* GPIO Wake Status */

#  define TIVA_GPIO_PP_OFFSET       0x0fc0  /* GPIO Peripheral Property */
#  define TIVA_GPIO_PC_OFFSET       0x0fc4  /* GPIO Peripheral Configuration */
#endif

#define TIVA_GPIO_PERIPHID4_OFFSET  0x0fd0 /* GPIO Peripheral Identification 4 */
#define TIVA_GPIO_PERIPHID5_OFFSET  0x0fd4 /* GPIO Peripheral Identification 5 */
#define TIVA_GPIO_PERIPHID6_OFFSET  0x0fd8 /* GPIO Peripheral Identification 6 */
#define TIVA_GPIO_PERIPHID7_OFFSET  0x0fdc /* GPIO Peripheral Identification 7 */
#define TIVA_GPIO_PERIPHID0_OFFSET  0x0fe0 /* GPIO Peripheral Identification 0 */
#define TIVA_GPIO_PERIPHID1_OFFSET  0x0fe4 /* GPIO Peripheral Identification 1 */
#define TIVA_GPIO_PERIPHID2_OFFSET  0x0fe8 /* GPIO Peripheral Identification 2 */
#define TIVA_GPIO_PERIPHID3_OFFSET  0x0fec /* GPIO Peripheral Identification 3 */
#define TIVA_GPIO_PCELLID0_OFFSET   0x0ff0 /* GPIO PrimeCell Identification 0 */
#define TIVA_GPIO_PCELLID1_OFFSET   0x0ff4 /* GPIO PrimeCell Identification 1 */
#define TIVA_GPIO_PCELLID2_OFFSET   0x0ff8 /* GPIO PrimeCell Identification 2 */
#define TIVA_GPIO_PCELLID3_OFFSET   0x0ffc /* GPIO PrimeCell Identification 3*/

/* GPIO Register Addresses **********************************************************/

#if TIVA_NPORTS > 0

#  define TIVA_GPIOA_DATA           (TIVA_GPIOA_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOA_DIR            (TIVA_GPIOA_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOA_IS             (TIVA_GPIOA_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOA_IBE            (TIVA_GPIOA_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOA_IEV            (TIVA_GPIOA_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOA_IM             (TIVA_GPIOA_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOA_RIS            (TIVA_GPIOA_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOA_MIS            (TIVA_GPIOA_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOA_ICR            (TIVA_GPIOA_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOA_AFSEL          (TIVA_GPIOA_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOA_DR2R           (TIVA_GPIOA_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOA_DR4R           (TIVA_GPIOA_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOA_DR8R           (TIVA_GPIOA_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOA_ODR            (TIVA_GPIOA_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOA_PUR            (TIVA_GPIOA_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOA_PDR            (TIVA_GPIOA_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOA_SLR            (TIVA_GPIOA_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOA_DEN            (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOA_LOCK           (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOA_CR             (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOA_AMSEL          (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOA_PCTL           (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOA_ADCCTL         (TIVA_GPIOA_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOA_DMACTL         (TIVA_GPIOA_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOA_SI             (TIVA_GPIOA_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOA_DR12R          (TIVA_GPIOA_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOA_WAKEPEN        (TIVA_GPIOA_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOA_WAKELVL        (TIVA_GPIOA_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOA_WAKESTAT       (TIVA_GPIOA_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOA_PP             (TIVA_GPIOA_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOA_PC             (TIVA_GPIOA_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOA_PERIPHID4      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOA_PERIPHID5      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOA_PERIPHID6      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOA_PERIPHID7      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOA_PERIPHID0      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOA_PERIPHID1      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOA_PERIPHID2      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOA_PERIPHID3      (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOA_PCELLID0       (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOA_PCELLID1       (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOA_PCELLID2       (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOA_PCELLID3       (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 1

#  define TIVA_GPIOB_DATA           (TIVA_GPIOB_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOB_DIR            (TIVA_GPIOB_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOB_IS             (TIVA_GPIOB_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOB_IBE            (TIVA_GPIOB_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOB_IEV            (TIVA_GPIOB_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOB_IM             (TIVA_GPIOB_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOB_RIS            (TIVA_GPIOB_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOB_MIS            (TIVA_GPIOB_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOB_ICR            (TIVA_GPIOB_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOB_AFSEL          (TIVA_GPIOB_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOB_DR2R           (TIVA_GPIOB_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOB_DR4R           (TIVA_GPIOB_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOB_DR8R           (TIVA_GPIOB_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOB_ODR            (TIVA_GPIOB_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOB_PUR            (TIVA_GPIOB_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOB_PDR            (TIVA_GPIOB_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOB_SLR            (TIVA_GPIOB_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOB_DEN            (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOB_LOCK           (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOB_CR             (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOB_AMSEL          (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOB_PCTL           (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOB_ADCCTL         (TIVA_GPIOB_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOB_DMACTL         (TIVA_GPIOB_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOB_SI             (TIVA_GPIOB_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOB_DR12R          (TIVA_GPIOB_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOB_WAKEPEN        (TIVA_GPIOB_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOB_WAKELVL        (TIVA_GPIOB_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOB_WAKESTAT       (TIVA_GPIOB_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOB_PP             (TIVA_GPIOB_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOB_PC             (TIVA_GPIOB_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOB_PERIPHID4      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOB_PERIPHID5      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOB_PERIPHID6      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOB_PERIPHID7      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOB_PERIPHID0      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOB_PERIPHID1      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOB_PERIPHID2      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOB_PERIPHID3      (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOB_PCELLID0       (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOB_PCELLID1       (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOB_PCELLID2       (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOB_PCELLID3       (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 2

#  define TIVA_GPIOC_DATA           (TIVA_GPIOC_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOC_DIR            (TIVA_GPIOC_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOC_IS             (TIVA_GPIOC_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOC_IBE            (TIVA_GPIOC_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOC_IEV            (TIVA_GPIOC_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOC_IM             (TIVA_GPIOC_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOC_RIS            (TIVA_GPIOC_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOC_MIS            (TIVA_GPIOC_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOC_ICR            (TIVA_GPIOC_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOC_AFSEL          (TIVA_GPIOC_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOC_DR2R           (TIVA_GPIOC_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOC_DR4R           (TIVA_GPIOC_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOC_DR8R           (TIVA_GPIOC_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOC_ODR            (TIVA_GPIOC_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOC_PUR            (TIVA_GPIOC_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOC_PDR            (TIVA_GPIOC_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOC_SLR            (TIVA_GPIOC_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOC_DEN            (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOC_LOCK           (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOC_CR             (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOC_AMSEL          (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOC_PCTL           (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOC_ADCCTL         (TIVA_GPIOC_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOC_DMACTL         (TIVA_GPIOC_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOC_SI             (TIVA_GPIOC_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOC_DR12R          (TIVA_GPIOC_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOC_WAKEPEN        (TIVA_GPIOC_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOC_WAKELVL        (TIVA_GPIOC_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOC_WAKESTAT       (TIVA_GPIOC_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOC_PP             (TIVA_GPIOC_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOC_PC             (TIVA_GPIOC_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOC_PERIPHID4      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOC_PERIPHID5      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOC_PERIPHID6      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOC_PERIPHID7      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOC_PERIPHID0      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOC_PERIPHID1      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOC_PERIPHID2      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOC_PERIPHID3      (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOC_PCELLID0       (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOC_PCELLID1       (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOC_PCELLID2       (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOC_PCELLID3       (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 3

#  define TIVA_GPIOD_DATA           (TIVA_GPIOD_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOD_DIR            (TIVA_GPIOD_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOD_IS             (TIVA_GPIOD_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOD_IBE            (TIVA_GPIOD_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOD_IEV            (TIVA_GPIOD_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOD_IM             (TIVA_GPIOD_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOD_RIS            (TIVA_GPIOD_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOD_MIS            (TIVA_GPIOD_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOD_ICR            (TIVA_GPIOD_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOD_AFSEL          (TIVA_GPIOD_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOD_DR2R           (TIVA_GPIOD_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOD_DR4R           (TIVA_GPIOD_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOD_DR8R           (TIVA_GPIOD_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOD_ODR            (TIVA_GPIOD_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOD_PUR            (TIVA_GPIOD_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOD_PDR            (TIVA_GPIOD_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOD_SLR            (TIVA_GPIOD_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOD_DEN            (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOD_LOCK           (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOD_CR             (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOD_AMSEL          (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOD_PCTL           (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOD_ADCCTL         (TIVA_GPIOD_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOD_DMACTL         (TIVA_GPIOD_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOD_SI             (TIVA_GPIOD_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOD_DR12R          (TIVA_GPIOD_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOD_WAKEPEN        (TIVA_GPIOD_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOD_WAKELVL        (TIVA_GPIOD_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOD_WAKESTAT       (TIVA_GPIOD_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOD_PP             (TIVA_GPIOD_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOD_PC             (TIVA_GPIOD_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOD_PERIPHID4      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOD_PERIPHID5      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOD_PERIPHID6      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOD_PERIPHID7      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOD_PERIPHID0      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOD_PERIPHID1      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOD_PERIPHID2      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOD_PERIPHID3      (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOD_PCELLID0       (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOD_PCELLID1       (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOD_PCELLID2       (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOD_PCELLID3       (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 4

#  define TIVA_GPIOE_DATA           (TIVA_GPIOE_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOE_DIR            (TIVA_GPIOE_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOE_IS             (TIVA_GPIOE_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOE_IBE            (TIVA_GPIOE_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOE_IEV            (TIVA_GPIOE_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOE_IM             (TIVA_GPIOE_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOE_RIS            (TIVA_GPIOE_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOE_MIS            (TIVA_GPIOE_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOE_ICR            (TIVA_GPIOE_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOE_AFSEL          (TIVA_GPIOE_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOE_DR2R           (TIVA_GPIOE_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOE_DR4R           (TIVA_GPIOE_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOE_DR8R           (TIVA_GPIOE_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOE_ODR            (TIVA_GPIOE_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOE_PUR            (TIVA_GPIOE_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOE_PDR            (TIVA_GPIOE_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOE_SLR            (TIVA_GPIOE_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOE_DEN            (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOE_LOCK           (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOE_CR             (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOE_AMSEL          (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOE_PCTL           (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOE_ADCCTL         (TIVA_GPIOE_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOE_DMACTL         (TIVA_GPIOE_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOE_SI             (TIVA_GPIOE_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOE_DR12R          (TIVA_GPIOE_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOE_WAKEPEN        (TIVA_GPIOE_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOE_WAKELVL        (TIVA_GPIOE_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOE_WAKESTAT       (TIVA_GPIOE_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOE_PP             (TIVA_GPIOE_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOE_PC             (TIVA_GPIOE_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOE_PERIPHID4      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOE_PERIPHID5      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOE_PERIPHID6      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOE_PERIPHID7      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOE_PERIPHID0      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOE_PERIPHID1      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOE_PERIPHID2      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOE_PERIPHID3      (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOE_PCELLID0       (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOE_PCELLID1       (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOE_PCELLID2       (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOE_PCELLID3       (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 5

#  define TIVA_GPIOF_DATA           (TIVA_GPIOF_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOF_DIR            (TIVA_GPIOF_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOF_IS             (TIVA_GPIOF_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOF_IBE            (TIVA_GPIOF_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOF_IEV            (TIVA_GPIOF_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOF_IM             (TIVA_GPIOF_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOF_RIS            (TIVA_GPIOF_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOF_MIS            (TIVA_GPIOF_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOF_ICR            (TIVA_GPIOF_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOF_AFSEL          (TIVA_GPIOF_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOF_DR2R           (TIVA_GPIOF_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOF_DR4R           (TIVA_GPIOF_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOF_DR8R           (TIVA_GPIOF_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOF_ODR            (TIVA_GPIOF_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOF_PUR            (TIVA_GPIOF_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOF_PDR            (TIVA_GPIOF_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOF_SLR            (TIVA_GPIOF_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOF_DEN            (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOF_LOCK           (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOF_CR             (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOF_AMSEL          (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOF_PCTL           (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOF_ADCCTL         (TIVA_GPIOF_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOF_DMACTL         (TIVA_GPIOF_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOF_SI             (TIVA_GPIOF_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOF_DR12R          (TIVA_GPIOF_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOF_WAKEPEN        (TIVA_GPIOF_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOF_WAKELVL        (TIVA_GPIOF_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOF_WAKESTAT       (TIVA_GPIOF_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOF_PP             (TIVA_GPIOF_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOF_PC             (TIVA_GPIOF_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOF_PERIPHID4      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOF_PERIPHID5      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOF_PERIPHID6      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOF_PERIPHID7      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOF_PERIPHID0      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOF_PERIPHID1      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOF_PERIPHID2      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOF_PERIPHID3      (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOF_PCELLID0       (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOF_PCELLID1       (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOF_PCELLID2       (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOF_PCELLID3       (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 6

#  define TIVA_GPIOG_DATA           (TIVA_GPIOG_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOG_DIR            (TIVA_GPIOG_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOG_IS             (TIVA_GPIOG_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOG_IBE            (TIVA_GPIOG_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOG_IEV            (TIVA_GPIOG_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOG_IM             (TIVA_GPIOG_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOG_RIS            (TIVA_GPIOG_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOG_MIS            (TIVA_GPIOG_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOG_ICR            (TIVA_GPIOG_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOG_AFSEL          (TIVA_GPIOG_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOG_DR2R           (TIVA_GPIOG_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOG_DR4R           (TIVA_GPIOG_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOG_DR8R           (TIVA_GPIOG_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOG_ODR            (TIVA_GPIOG_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOG_PUR            (TIVA_GPIOG_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOG_PDR            (TIVA_GPIOG_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOG_SLR            (TIVA_GPIOG_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOG_DEN            (TIVA_GPIOG_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOG_LOCK           (TIVA_GPIOG_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOG_CR             (TIVA_GPIOG_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOG_AMSEL          (TIVA_GPIOG_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOG_PCTL           (TIVA_GPIOG_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOG_ADCCTL         (TIVA_GPIOG_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOG_DMACTL         (TIVA_GPIOG_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOG_SI             (TIVA_GPIOG_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOG_DR12R          (TIVA_GPIOG_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOG_WAKEPEN        (TIVA_GPIOG_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOG_WAKELVL        (TIVA_GPIOG_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOG_WAKESTAT       (TIVA_GPIOG_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOG_PP             (TIVA_GPIOG_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOG_PC             (TIVA_GPIOG_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOG_PERIPHID4      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOG_PERIPHID5      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOG_PERIPHID6      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOG_PERIPHID7      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOG_PERIPHID0      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOG_PERIPHID1      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOG_PERIPHID2      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOG_PERIPHID3      (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOG_PCELLID0       (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOG_PCELLID1       (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOG_PCELLID2       (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOG_PCELLID3       (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 7

#  define TIVA_GPIOH_DATA           (TIVA_GPIOH_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOH_DIR            (TIVA_GPIOH_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOH_IS             (TIVA_GPIOH_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOH_IBE            (TIVA_GPIOH_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOH_IEV            (TIVA_GPIOH_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOH_IM             (TIVA_GPIOH_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOH_RIS            (TIVA_GPIOH_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOH_MIS            (TIVA_GPIOH_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOH_ICR            (TIVA_GPIOH_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOH_AFSEL          (TIVA_GPIOH_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOH_DR2R           (TIVA_GPIOH_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOH_DR4R           (TIVA_GPIOH_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOH_DR8R           (TIVA_GPIOH_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOH_ODR            (TIVA_GPIOH_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOH_PUR            (TIVA_GPIOH_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOH_PDR            (TIVA_GPIOH_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOH_SLR            (TIVA_GPIOH_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOH_DEN            (TIVA_GPIOH_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOH_LOCK           (TIVA_GPIOH_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOH_CR             (TIVA_GPIOH_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOH_AMSEL          (TIVA_GPIOH_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOH_PCTL           (TIVA_GPIOH_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOH_ADCCTL         (TIVA_GPIOH_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOH_DMACTL         (TIVA_GPIOH_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOH_SI             (TIVA_GPIOH_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOH_DR12R          (TIVA_GPIOH_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOH_WAKEPEN        (TIVA_GPIOH_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOH_WAKELVL        (TIVA_GPIOH_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOH_WAKESTAT       (TIVA_GPIOH_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOH_PP             (TIVA_GPIOH_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOH_PC             (TIVA_GPIOH_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOH_PERIPHID4      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOH_PERIPHID5      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOH_PERIPHID6      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOH_PERIPHID7      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOH_PERIPHID0      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOH_PERIPHID1      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOH_PERIPHID2      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOH_PERIPHID3      (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOH_PCELLID0       (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOH_PCELLID1       (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOH_PCELLID2       (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOH_PCELLID3       (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 8

#  define TIVA_GPIOJ_DATA           (TIVA_GPIOJ_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOJ_DIR            (TIVA_GPIOJ_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOJ_IS             (TIVA_GPIOJ_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOJ_IBE            (TIVA_GPIOJ_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOJ_IEV            (TIVA_GPIOJ_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOJ_IM             (TIVA_GPIOJ_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOJ_RIS            (TIVA_GPIOJ_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOJ_MIS            (TIVA_GPIOJ_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOJ_ICR            (TIVA_GPIOJ_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOJ_AFSEL          (TIVA_GPIOJ_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOJ_DR2R           (TIVA_GPIOJ_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOJ_DR4R           (TIVA_GPIOJ_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOJ_DR8R           (TIVA_GPIOJ_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOJ_ODR            (TIVA_GPIOJ_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOJ_PUR            (TIVA_GPIOJ_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOJ_PDR            (TIVA_GPIOJ_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOJ_SLR            (TIVA_GPIOJ_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOJ_DEN            (TIVA_GPIOJ_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOJ_LOCK           (TIVA_GPIOJ_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOJ_CR             (TIVA_GPIOJ_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOJ_AMSEL          (TIVA_GPIOJ_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOJ_PCTL           (TIVA_GPIOJ_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOJ_ADCCTL         (TIVA_GPIOJ_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOJ_DMACTL         (TIVA_GPIOJ_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOJ_SI             (TIVA_GPIOJ_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOJ_DR12R          (TIVA_GPIOJ_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOJ_WAKEPEN        (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOJ_WAKELVL        (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOJ_WAKESTAT       (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOJ_PP             (TIVA_GPIOJ_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOJ_PC             (TIVA_GPIOJ_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOJ_PERIPHID4      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOJ_PERIPHID5      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOJ_PERIPHID6      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOJ_PERIPHID7      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOJ_PERIPHID0      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOJ_PERIPHID1      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOJ_PERIPHID2      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOJ_PERIPHID3      (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOJ_PCELLID0       (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOJ_PCELLID1       (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOJ_PCELLID2       (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOJ_PCELLID3       (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 9

#  define TIVA_GPIOK_DATA           (TIVA_GPIOK_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOK_DIR            (TIVA_GPIOK_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOK_IS             (TIVA_GPIOK_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOK_IBE            (TIVA_GPIOK_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOK_IEV            (TIVA_GPIOK_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOK_IM             (TIVA_GPIOK_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOK_RIS            (TIVA_GPIOK_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOK_MIS            (TIVA_GPIOK_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOK_ICR            (TIVA_GPIOK_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOK_AFSEL          (TIVA_GPIOK_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOK_DR2R           (TIVA_GPIOK_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOK_DR4R           (TIVA_GPIOK_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOK_DR8R           (TIVA_GPIOK_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOK_ODR            (TIVA_GPIOK_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOK_PUR            (TIVA_GPIOK_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOK_PDR            (TIVA_GPIOK_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOK_SLR            (TIVA_GPIOK_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOK_DEN            (TIVA_GPIOK_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOK_LOCK           (TIVA_GPIOK_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOK_CR             (TIVA_GPIOK_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOK_AMSEL          (TIVA_GPIOK_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOK_PCTL           (TIVA_GPIOK_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOK_ADCCTL         (TIVA_GPIOK_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOK_DMACTL         (TIVA_GPIOK_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOK_SI             (TIVA_GPIOK_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOK_DR12R          (TIVA_GPIOK_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOK_WAKEPEN        (TIVA_GPIOK_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOK_WAKELVL        (TIVA_GPIOK_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOK_WAKESTAT       (TIVA_GPIOK_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOK_PP             (TIVA_GPIOK_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOK_PC             (TIVA_GPIOK_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOK_PERIPHID4      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOK_PERIPHID5      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOK_PERIPHID6      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOK_PERIPHID7      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOK_PERIPHID0      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOK_PERIPHID1      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOK_PERIPHID2      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOK_PERIPHID3      (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOK_PCELLID0       (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOK_PCELLID1       (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOK_PCELLID2       (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOK_PCELLID3       (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 10

#  define TIVA_GPIOL_DATA           (TIVA_GPIOL_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOL_DIR            (TIVA_GPIOL_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOL_IS             (TIVA_GPIOL_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOL_IBE            (TIVA_GPIOL_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOL_IEV            (TIVA_GPIOL_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOL_IM             (TIVA_GPIOL_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOL_RIS            (TIVA_GPIOL_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOL_MIS            (TIVA_GPIOL_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOL_ICR            (TIVA_GPIOL_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOL_AFSEL          (TIVA_GPIOL_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOL_DR2R           (TIVA_GPIOL_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOL_DR4R           (TIVA_GPIOL_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOL_DR8R           (TIVA_GPIOL_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOL_ODR            (TIVA_GPIOL_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOL_PUR            (TIVA_GPIOL_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOL_PDR            (TIVA_GPIOL_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOL_SLR            (TIVA_GPIOL_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOL_DEN            (TIVA_GPIOL_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOL_LOCK           (TIVA_GPIOL_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOL_CR             (TIVA_GPIOL_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOL_AMSEL          (TIVA_GPIOL_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOL_PCTL           (TIVA_GPIOL_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOL_ADCCTL         (TIVA_GPIOL_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOL_DMACTL         (TIVA_GPIOL_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOL_SI             (TIVA_GPIOL_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOL_DR12R          (TIVA_GPIOL_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOL_WAKEPEN        (TIVA_GPIOL_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOL_WAKELVL        (TIVA_GPIOL_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOL_WAKESTAT       (TIVA_GPIOL_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOL_PP             (TIVA_GPIOL_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOL_PC             (TIVA_GPIOL_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOL_PERIPHID4      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOL_PERIPHID5      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOL_PERIPHID6      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOL_PERIPHID7      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOL_PERIPHID0      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOL_PERIPHID1      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOL_PERIPHID2      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOL_PERIPHID3      (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOL_PCELLID0       (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOL_PCELLID1       (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOL_PCELLID2       (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOL_PCELLID3       (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 11

#  define TIVA_GPIOM_DATA           (TIVA_GPIOM_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOM_DIR            (TIVA_GPIOM_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOM_IS             (TIVA_GPIOM_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOM_IBE            (TIVA_GPIOM_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOM_IEV            (TIVA_GPIOM_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOM_IM             (TIVA_GPIOM_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOM_RIS            (TIVA_GPIOM_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOM_MIS            (TIVA_GPIOM_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOM_ICR            (TIVA_GPIOM_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOM_AFSEL          (TIVA_GPIOM_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOM_DR2R           (TIVA_GPIOM_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOM_DR4R           (TIVA_GPIOM_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOM_DR8R           (TIVA_GPIOM_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOM_ODR            (TIVA_GPIOM_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOM_PUR            (TIVA_GPIOM_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOM_PDR            (TIVA_GPIOM_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOM_SLR            (TIVA_GPIOM_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOM_DEN            (TIVA_GPIOM_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOM_LOCK           (TIVA_GPIOM_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOM_CR             (TIVA_GPIOM_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOM_AMSEL          (TIVA_GPIOM_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOM_PCTL           (TIVA_GPIOM_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOM_ADCCTL         (TIVA_GPIOM_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOM_DMACTL         (TIVA_GPIOM_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOM_SI             (TIVA_GPIOM_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOM_DR12R          (TIVA_GPIOM_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOM_WAKEPEN        (TIVA_GPIOM_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOM_WAKELVL        (TIVA_GPIOM_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOM_WAKESTAT       (TIVA_GPIOM_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOM_PP             (TIVA_GPIOM_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOM_PC             (TIVA_GPIOM_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOM_PERIPHID4      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOM_PERIPHID5      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOM_PERIPHID6      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOM_PERIPHID7      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOM_PERIPHID0      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOM_PERIPHID1      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOM_PERIPHID2      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOM_PERIPHID3      (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOM_PCELLID0       (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOM_PCELLID1       (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOM_PCELLID2       (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOM_PCELLID3       (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 12

#  define TIVA_GPION_DATA           (TIVA_GPION_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPION_DIR            (TIVA_GPION_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPION_IS             (TIVA_GPION_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPION_IBE            (TIVA_GPION_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPION_IEV            (TIVA_GPION_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPION_IM             (TIVA_GPION_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPION_RIS            (TIVA_GPION_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPION_MIS            (TIVA_GPION_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPION_ICR            (TIVA_GPION_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPION_AFSEL          (TIVA_GPION_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPION_DR2R           (TIVA_GPION_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPION_DR4R           (TIVA_GPION_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPION_DR8R           (TIVA_GPION_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPION_ODR            (TIVA_GPION_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPION_PUR            (TIVA_GPION_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPION_PDR            (TIVA_GPION_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPION_SLR            (TIVA_GPION_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPION_DEN            (TIVA_GPION_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPION_LOCK           (TIVA_GPION_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPION_CR             (TIVA_GPION_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPION_AMSEL          (TIVA_GPION_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPION_PCTL           (TIVA_GPION_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPION_ADCCTL         (TIVA_GPION_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPION_DMACTL         (TIVA_GPION_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPION_SI             (TIVA_GPION_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPION_DR12R          (TIVA_GPION_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPION_WAKEPEN        (TIVA_GPION_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPION_WAKELVL        (TIVA_GPION_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPION_WAKESTAT       (TIVA_GPION_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPION_PP             (TIVA_GPION_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPION_PC             (TIVA_GPION_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPION_PERIPHID4      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPION_PERIPHID5      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPION_PERIPHID6      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPION_PERIPHID7      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPION_PERIPHID0      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPION_PERIPHID1      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPION_PERIPHID2      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPION_PERIPHID3      (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPION_PCELLID0       (TIVA_GPION_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPION_PCELLID1       (TIVA_GPION_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPION_PCELLID2       (TIVA_GPION_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPION_PCELLID3       (TIVA_GPION_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 13

#  define TIVA_GPIOP_DATA           (TIVA_GPIOP_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOP_DIR            (TIVA_GPIOP_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOP_IS             (TIVA_GPIOP_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOP_IBE            (TIVA_GPIOP_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOP_IEV            (TIVA_GPIOP_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOP_IM             (TIVA_GPIOP_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOP_RIS            (TIVA_GPIOP_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOP_MIS            (TIVA_GPIOP_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOP_ICR            (TIVA_GPIOP_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOP_AFSEL          (TIVA_GPIOP_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOP_DR2R           (TIVA_GPIOP_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOP_DR4R           (TIVA_GPIOP_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOP_DR8R           (TIVA_GPIOP_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOP_ODR            (TIVA_GPIOP_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOP_PUR            (TIVA_GPIOP_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOP_PDR            (TIVA_GPIOP_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOP_SLR            (TIVA_GPIOP_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOP_DEN            (TIVA_GPIOP_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOP_LOCK           (TIVA_GPIOP_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOP_CR             (TIVA_GPIOP_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOP_AMSEL          (TIVA_GPIOP_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOP_PCTL           (TIVA_GPIOP_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOP_ADCCTL         (TIVA_GPIOP_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOP_DMACTL         (TIVA_GPIOP_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOP_SI             (TIVA_GPIOP_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOP_DR12R          (TIVA_GPIOP_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOP_WAKEPEN        (TIVA_GPIOP_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOP_WAKELVL        (TIVA_GPIOP_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOP_WAKESTAT       (TIVA_GPIOP_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOP_PP             (TIVA_GPIOP_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOP_PC             (TIVA_GPIOP_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOP_PERIPHID4      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOP_PERIPHID5      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOP_PERIPHID6      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOP_PERIPHID7      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOP_PERIPHID0      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOP_PERIPHID1      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOP_PERIPHID2      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOP_PERIPHID3      (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOP_PCELLID0       (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOP_PCELLID1       (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOP_PCELLID2       (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOP_PCELLID3       (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 14

#  define TIVA_GPIOQ_DATA           (TIVA_GPIOQ_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOQ_DIR            (TIVA_GPIOQ_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOQ_IS             (TIVA_GPIOQ_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOQ_IBE            (TIVA_GPIOQ_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOQ_IEV            (TIVA_GPIOQ_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOQ_IM             (TIVA_GPIOQ_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOQ_RIS            (TIVA_GPIOQ_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOQ_MIS            (TIVA_GPIOQ_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOQ_ICR            (TIVA_GPIOQ_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOQ_AFSEL          (TIVA_GPIOQ_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOQ_DR2R           (TIVA_GPIOQ_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOQ_DR4R           (TIVA_GPIOQ_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOQ_DR8R           (TIVA_GPIOQ_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOQ_ODR            (TIVA_GPIOQ_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOQ_PUR            (TIVA_GPIOQ_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOQ_PDR            (TIVA_GPIOQ_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOQ_SLR            (TIVA_GPIOQ_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOQ_DEN            (TIVA_GPIOQ_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOQ_LOCK           (TIVA_GPIOQ_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOQ_CR             (TIVA_GPIOQ_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOQ_AMSEL          (TIVA_GPIOQ_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOQ_PCTL           (TIVA_GPIOQ_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOQ_ADCCTL         (TIVA_GPIOQ_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOQ_DMACTL         (TIVA_GPIOQ_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOQ_SI             (TIVA_GPIOQ_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOQ_DR12R          (TIVA_GPIOQ_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOQ_WAKEPEN        (TIVA_GPIOQ_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOQ_WAKELVL        (TIVA_GPIOQ_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOQ_WAKESTAT       (TIVA_GPIOQ_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOQ_PP             (TIVA_GPIOQ_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOQ_PC             (TIVA_GPIOQ_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOQ_PERIPHID4      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOQ_PERIPHID5      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOQ_PERIPHID6      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOQ_PERIPHID7      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOQ_PERIPHID0      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOQ_PERIPHID1      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOQ_PERIPHID2      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOQ_PERIPHID3      (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOQ_PCELLID0       (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOQ_PCELLID1       (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOQ_PCELLID2       (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOQ_PCELLID3       (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 15

#  define TIVA_GPIOR_DATA           (TIVA_GPIOR_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOR_DIR            (TIVA_GPIOR_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOR_IS             (TIVA_GPIOR_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOR_IBE            (TIVA_GPIOR_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOR_IEV            (TIVA_GPIOR_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOR_IM             (TIVA_GPIOR_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOR_RIS            (TIVA_GPIOR_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOR_MIS            (TIVA_GPIOR_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOR_ICR            (TIVA_GPIOR_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOR_AFSEL          (TIVA_GPIOR_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOR_DR2R           (TIVA_GPIOR_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOR_DR4R           (TIVA_GPIOR_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOR_DR8R           (TIVA_GPIOR_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOR_ODR            (TIVA_GPIOR_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOR_PUR            (TIVA_GPIOR_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOR_PDR            (TIVA_GPIOR_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOR_SLR            (TIVA_GPIOR_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOR_DEN            (TIVA_GPIOR_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOR_LOCK           (TIVA_GPIOR_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOR_CR             (TIVA_GPIOR_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOR_AMSEL          (TIVA_GPIOR_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOR_PCTL           (TIVA_GPIOR_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOR_ADCCTL         (TIVA_GPIOR_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOR_DMACTL         (TIVA_GPIOR_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOR_SI             (TIVA_GPIOR_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOR_DR12R          (TIVA_GPIOR_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOR_WAKEPEN        (TIVA_GPIOR_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOR_WAKELVL        (TIVA_GPIOR_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOR_WAKESTAT       (TIVA_GPIOR_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOR_PP             (TIVA_GPIOR_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOR_PC             (TIVA_GPIOR_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOR_PERIPHID4      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOR_PERIPHID5      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOR_PERIPHID6      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOR_PERIPHID7      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOR_PERIPHID0      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOR_PERIPHID1      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOR_PERIPHID2      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOR_PERIPHID3      (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOR_PCELLID0       (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOR_PCELLID1       (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOR_PCELLID2       (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOR_PCELLID3       (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 16

#  define TIVA_GPIOS_DATA           (TIVA_GPIOS_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOS_DIR            (TIVA_GPIOS_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOS_IS             (TIVA_GPIOS_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOS_IBE            (TIVA_GPIOS_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOS_IEV            (TIVA_GPIOS_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOS_IM             (TIVA_GPIOS_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOS_RIS            (TIVA_GPIOS_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOS_MIS            (TIVA_GPIOS_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOS_ICR            (TIVA_GPIOS_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOS_AFSEL          (TIVA_GPIOS_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOS_DR2R           (TIVA_GPIOS_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOS_DR4R           (TIVA_GPIOS_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOS_DR8R           (TIVA_GPIOS_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOS_ODR            (TIVA_GPIOS_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOS_PUR            (TIVA_GPIOS_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOS_PDR            (TIVA_GPIOS_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOS_SLR            (TIVA_GPIOS_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOS_DEN            (TIVA_GPIOS_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOS_LOCK           (TIVA_GPIOS_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOS_CR             (TIVA_GPIOS_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOS_AMSEL          (TIVA_GPIOS_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOS_PCTL           (TIVA_GPIOS_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOS_ADCCTL         (TIVA_GPIOS_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOS_DMACTL         (TIVA_GPIOS_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOS_SI             (TIVA_GPIOS_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOS_DR12R          (TIVA_GPIOS_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOS_WAKEPEN        (TIVA_GPIOS_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOS_WAKELVL        (TIVA_GPIOS_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOS_WAKESTAT       (TIVA_GPIOS_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOS_PP             (TIVA_GPIOS_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOS_PC             (TIVA_GPIOS_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOS_PERIPHID4      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOS_PERIPHID5      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOS_PERIPHID6      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOS_PERIPHID7      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOS_PERIPHID0      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOS_PERIPHID1      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOS_PERIPHID2      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOS_PERIPHID3      (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOS_PCELLID0       (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOS_PCELLID1       (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOS_PCELLID2       (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOS_PCELLID3       (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

#if TIVA_NPORTS > 17

#  define TIVA_GPIOT_DATA           (TIVA_GPIOT_BASE + TIVA_GPIO_DATA_OFFSET)
#  define TIVA_GPIOT_DIR            (TIVA_GPIOT_BASE + TIVA_GPIO_DIR_OFFSET)
#  define TIVA_GPIOT_IS             (TIVA_GPIOT_BASE + TIVA_GPIO_IS_OFFSET)
#  define TIVA_GPIOT_IBE            (TIVA_GPIOT_BASE + TIVA_GPIO_IBE_OFFSET)
#  define TIVA_GPIOT_IEV            (TIVA_GPIOT_BASE + TIVA_GPIO_IEV_OFFSET)
#  define TIVA_GPIOT_IM             (TIVA_GPIOT_BASE + TIVA_GPIO_IM_OFFSET)
#  define TIVA_GPIOT_RIS            (TIVA_GPIOT_BASE + TIVA_GPIO_RIS_OFFSET)
#  define TIVA_GPIOT_MIS            (TIVA_GPIOT_BASE + TIVA_GPIO_MIS_OFFSET)
#  define TIVA_GPIOT_ICR            (TIVA_GPIOT_BASE + TIVA_GPIO_ICR_OFFSET)
#  define TIVA_GPIOT_AFSEL          (TIVA_GPIOT_BASE + TIVA_GPIO_AFSEL_OFFSET)
#  define TIVA_GPIOT_DR2R           (TIVA_GPIOT_BASE + TIVA_GPIO_DR2R_OFFSET)
#  define TIVA_GPIOT_DR4R           (TIVA_GPIOT_BASE + TIVA_GPIO_DR4R_OFFSET)
#  define TIVA_GPIOT_DR8R           (TIVA_GPIOT_BASE + TIVA_GPIO_DR8R_OFFSET)
#  define TIVA_GPIOT_ODR            (TIVA_GPIOT_BASE + TIVA_GPIO_ODR_OFFSET)
#  define TIVA_GPIOT_PUR            (TIVA_GPIOT_BASE + TIVA_GPIO_PUR_OFFSET)
#  define TIVA_GPIOT_PDR            (TIVA_GPIOT_BASE + TIVA_GPIO_PDR_OFFSET)
#  define TIVA_GPIOT_SLR            (TIVA_GPIOT_BASE + TIVA_GPIO_SLR_OFFSET)
#  define TIVA_GPIOT_DEN            (TIVA_GPIOT_BASE + TIVA_GPIO_DEN_OFFSET)
#  define TIVA_GPIOT_LOCK           (TIVA_GPIOT_BASE + TIVA_GPIO_LOCK_OFFSET)
#  define TIVA_GPIOT_CR             (TIVA_GPIOT_BASE + TIVA_GPIO_CR_OFFSET)

#if defined(LM4F) || defined(TM4C)
#  define TIVA_GPIOT_AMSEL          (TIVA_GPIOT_BASE + TIVA_GPIO_AMSEL_OFFSET)
#  define TIVA_GPIOT_PCTL           (TIVA_GPIOT_BASE + TIVA_GPIO_PCTL_OFFSET)
#  define TIVA_GPIOT_ADCCTL         (TIVA_GPIOT_BASE + TIVA_GPIO_ADCCTL_OFFSET)
#  define TIVA_GPIOT_DMACTL         (TIVA_GPIOT_BASE + TIVA_GPIO_DMACTL_OFFSET)
#endif

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define TIVA_GPIOT_SI             (TIVA_GPIOT_BASE + TIVA_GPIO_SI_OFFSET)
#  define TIVA_GPIOT_DR12R          (TIVA_GPIOT_BASE + TIVA_GPIO_DR12R_OFFSET)
#  define TIVA_GPIOT_WAKEPEN        (TIVA_GPIOT_BASE + TIVA_GPIO_WAKEPEN_OFFSET)
#  define TIVA_GPIOT_WAKELVL        (TIVA_GPIOT_BASE + TIVA_GPIO_WAKELVL_OFFSET)
#  define TIVA_GPIOT_WAKESTAT       (TIVA_GPIOT_BASE + TIVA_GPIO_WAKESTAT_OFFSET)

#  define TIVA_GPIOT_PP             (TIVA_GPIOT_BASE + TIVA_GPIO_PP_OFFSET)
#  define TIVA_GPIOT_PC             (TIVA_GPIOT_BASE + TIVA_GPIO_PC_OFFSET)
#endif

#  define TIVA_GPIOT_PERIPHID4      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID4_OFFSET)
#  define TIVA_GPIOT_PERIPHID5      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID5_OFFSET)
#  define TIVA_GPIOT_PERIPHID6      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID6_OFFSET)
#  define TIVA_GPIOT_PERIPHID7      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID7_OFFSET)
#  define TIVA_GPIOT_PERIPHID0      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID0_OFFSET)
#  define TIVA_GPIOT_PERIPHID1      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID1_OFFSET)
#  define TIVA_GPIOT_PERIPHID2      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID2_OFFSET)
#  define TIVA_GPIOT_PERIPHID3      (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID3_OFFSET)
#  define TIVA_GPIOT_PCELLID0       (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID0_OFFSET)
#  define TIVA_GPIOT_PCELLID1       (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID1_OFFSET)
#  define TIVA_GPIOT_PCELLID2       (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID2_OFFSET)
#  define TIVA_GPIOT_PCELLID3       (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID3_OFFSET)
#endif

/* GPIO Register Bitfield Definitions ***********************************************/

/* GPIO Interrupt Mask */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_IM_DMAIME            (1 << 8)  /* Bit 8: GPIO μDMA Done Interrupt Mask Enable */
#endif

/* GPIO Raw Interrupt Status */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_RIS_DMARIS           (1 << 8)  /* Bit 8: GPIO μDMA Done Interrupt Raw Status */
#endif

/* GPIO Masked Interrupt Status */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_MIS_DMAMIS           (1 << 8)  /* Bit 8: GPIO μDMA Done Masked Interrupt Status */
#endif

/* GPIO Interrupt Clear */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_ICR_DMAIC            (1 << 8)  /* Bit 8: GPIO μDMA Interrupt Clear */
#endif

/* GPIO Lock */

#define GPIO_LOCK_UNLOCK            0x4c4f434b
#define GPIO_LOCK_LOCKED            (1 << 0)  /* Bit 0: GPIOCR register is locked */

/* GPIO Port Control */

#if defined(LM4F) || defined(TM4C)
#  define GPIO_PCTL_PMC_SHIFT(n)    ((n) << 2)
#  define GPIO_PCTL_PMC_MASK(n)     (15 << GPIO_PCTL_PMC_SHIFT(n))

#  define GPIO_PCTL_PMC0_SHIFT      (0)     /* Bits 0-3: Port Mux Control 0 */
#  define GPIO_PCTL_PMC0_MASK       (15 << GPIO_PCTL_PMC0_SHIFT)
#  define GPIO_PCTL_PMC1_SHIFT      (4)     /* Bits 4-7: Port Mux Control 1 */
#  define GPIO_PCTL_PMC1_MASK       (15 << GPIO_PCTL_PMC1_SHIFT)
#  define GPIO_PCTL_PMC2_SHIFT      (8)     /* Bits 8-11: Port Mux Control 2 */
#  define GPIO_PCTL_PMC2_MASK       (15 << GPIO_PCTL_PMC2_SHIFT)
#  define GPIO_PCTL_PMC3_SHIFT      (12)    /* Bits 12-15: Port Mux Control 3 */
#  define GPIO_PCTL_PMC3_MASK       (15 << GPIO_PCTL_PMC3_SHIFT)
#  define GPIO_PCTL_PMC4_SHIFT      (16)    /* Bits 16-19: Port Mux Control 4 */
#  define GPIO_PCTL_PMC4_MASK       (15 << GPIO_PCTL_PMC4_SHIFT)
#  define GPIO_PCTL_PMC5_SHIFT      (20)    /* Bits 20-23: Port Mux Control 5 */
#  define GPIO_PCTL_PMC5_MASK       (15 << GPIO_PCTL_PMC5_SHIFT)
#  define GPIO_PCTL_PMC6_SHIFT      (24)    /* Bits 24-27: Port Mux Control 6 */
#  define GPIO_PCTL_PMC6_MASK       (15 << GPIO_PCTL_PMC6_SHIFT)
#  define GPIO_PCTL_PMC7_SHIFT      (28)    /* Bits 28-31: Port Mux Control 7 */
#  define GPIO_PCTL_PMC7_MASK       (15 << GPIO_PCTL_PMC7_SHIFT)
#endif

/* GPIO Select Interrupt */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_SI_SUM               (1 << 0)  /* Bit 0:  Summary Interrupt */
#endif

/* GPIO Peripheral Property */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_PP_EDE               (1 << 0)  /* Bit 0:  Extended Drive Enable */
#endif

/* GPIO Peripheral Configuration */

#if defined(CONFIG_ARCH_CHIP_TM4C129)
#  define GPIO_PC_
#  define GPIO_PC_EDM_SHIFT(n)    ((n) << 1)
#  define GPIO_PC_EDM_MASK(n)     (3 << GPIO_PC_EDM_SHIFT(n))

#  define GPIO_PC_EDM0_SHIFT      (0)     /* Bits 0-1: Extended Drive Mode Bit 0 */
#  define GPIO_PC_EDM0_MASK       (3 << GPIO_PC_EDM0_SHIFT)
#  define GPIO_PC_EDM1_SHIFT      (2)     /* Bits 2-3: Extended Drive Mode Bit 1 */
#  define GPIO_PC_EDM1_MASK       (3 << GPIO_PC_EDM1_SHIFT)
#  define GPIO_PC_EDM2_SHIFT      (4)     /* Bits 4-5: Extended Drive Mode Bit 2 */
#  define GPIO_PC_EDM2_MASK       (3 << GPIO_PC_EDM2_SHIFT)
#  define GPIO_PC_EDM3_SHIFT      (6)     /* Bits 6-7: Extended Drive Mode Bit 3 */
#  define GPIO_PC_EDM3_MASK       (3 << GPIO_PC_EDM3_SHIFT)
#  define GPIO_PC_EDM4_SHIFT      (8)     /* Bits 8-9: Extended Drive Mode Bit 4 */
#  define GPIO_PC_EDM4_MASK       (3 << GPIO_PC_EDM4_SHIFT)
#  define GPIO_PC_EDM5_SHIFT      (10)    /* Bits 10-11: Extended Drive Mode Bit 5 */
#  define GPIO_PC_EDM5_MASK       (3 << GPIO_PC_EDM5_SHIFT)
#  define GPIO_PC_EDM6_SHIFT      (12)    /* Bits 12-13: Extended Drive Mode Bit 6 */
#  define GPIO_PC_EDM6_MASK       (3 << GPIO_PC_EDM6_SHIFT)
#  define GPIO_PC_EDM7_SHIFT      (14)    /* Bits 14-15: Extended Drive Mode Bit 7 */
#  define GPIO_PC_EDM7_MASK       (3 << GPIO_PC_EDM7_SHIFT)
#endif

/************************************************************************************
 * Public Types
 ************************************************************************************/

/************************************************************************************
 * Public Data
 ************************************************************************************/

/************************************************************************************
 * Public Function Prototypes
 ************************************************************************************/

#endif /* __ARCH_ARM_SRC_TIVA_CHIP_TIVA_GPIO_H */