summaryrefslogtreecommitdiff
path: root/nuttx/arch/mips/src/pic32mz/chip/pic32mz-ioport.h
blob: 905bf9213f6661bd399b12ae2cf53393aa2d310e (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
/********************************************************************************************
 * arch/mips/src/pic32mz/pic32mz-ioport.h
 *
 *   Copyright (C) 2015 Gregory Nutt. All rights reserved.
 *   Author: Gregory Nutt <gnutt@nuttx.org>
 *
 * 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_MIPS_SRC_PIC32MZ_CHIP_PIC32MZ_IOPORT_H
#define __ARCH_MIPS_SRC_PIC32MZ_CHIP_PIC32MZ_IOPORT_H

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

#include <nuttx/config.h>
#include <arch/pic32mz/chip.h>
#include "pic32mz-memorymap.h"

#if CHIP_NPORTS > 0

/********************************************************************************************
 * Pre-processor Definitions
 ********************************************************************************************/
/* IOPort Peripheral Offsets ****************************************************************/

#define PI32MZ_IOPORTA                 0
#define PI32MZ_IOPORTB                 1
#define PI32MZ_IOPORTC                 2
#define PI32MZ_IOPORTD                 3
#define PI32MZ_IOPORTE                 4
#define PI32MZ_IOPORTF                 5
#define PI32MZ_IOPORTG                 6
#define PI32MZ_IOPORTH                 7
#define PI32MZ_IOPORTJ                 8
#define PI32MZ_IOPORTK                 9

#define PIC32MZ_IOPORTn_OFFSET(n)      ((n)<<8)
#  define PIC32MZ_IOPORTA_OFFSET       0x0000
#  define PIC32MZ_IOPORTB_OFFSET       0x0100
#  define PIC32MZ_IOPORTC_OFFSET       0x0200
#  define PIC32MZ_IOPORTD_OFFSET       0x0300
#  define PIC32MZ_IOPORTE_OFFSET       0x0400
#  define PIC32MZ_IOPORTF_OFFSET       0x0500
#  define PIC32MZ_IOPORTG_OFFSET       0x0600
#  define PIC32MZ_IOPORTH_OFFSET       0x0700
#  define PIC32MZ_IOPORTJ_OFFSET       0x0800
#  define PIC32MZ_IOPORTK_OFFSET       0x0900

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

#define PIC32MZ_IOPORT_ANSEL_OFFSET     0x0000 /* Analog select register */
#define PIC32MZ_IOPORT_ANSELCLR_OFFSET  0x0004 /* Analog select clear register */
#define PIC32MZ_IOPORT_ANSELSET_OFFSET  0x0008 /* Analog select set register */
#define PIC32MZ_IOPORT_ANSELINV_OFFSET  0x000c /* Analog select invert register */

#define PIC32MZ_IOPORT_TRIS_OFFSET      0x0010 /* Tri-state register */
#define PIC32MZ_IOPORT_TRISCLR_OFFSET   0x0014 /* Tri-state clear register */
#define PIC32MZ_IOPORT_TRISSET_OFFSET   0x0018 /* Tri-state set register */
#define PIC32MZ_IOPORT_TRISINV_OFFSET   0x001c /* Tri-state invert register */

#define PIC32MZ_IOPORT_PORT_OFFSET      0x0020 /* Port register */
#define PIC32MZ_IOPORT_PORTCLR_OFFSET   0x0024 /* Port clear register */
#define PIC32MZ_IOPORT_PORTSET_OFFSET   0x0028 /* Port set register */
#define PIC32MZ_IOPORT_PORTINV_OFFSET   0x002c /* Port invert register */

#define PIC32MZ_IOPORT_LAT_OFFSET       0x0030 /* Port data latch register */
#define PIC32MZ_IOPORT_LATCLR_OFFSET    0x0034 /* Port data latch clear register */
#define PIC32MZ_IOPORT_LATSET_OFFSET    0x0038 /* Port data latch set register */
#define PIC32MZ_IOPORT_LATINV_OFFSET    0x003c /* Port data latch invert register */

#define PIC32MZ_IOPORT_ODC_OFFSET       0x0040 /* Open drain control register */
#define PIC32MZ_IOPORT_ODCCLR_OFFSET    0x0044 /* Open drain control clear register */
#define PIC32MZ_IOPORT_ODCSET_OFFSET    0x0048 /* Open drain control set register */
#define PIC32MZ_IOPORT_ODCINV_OFFSET    0x004c /* Open drain control invert register */

#define PIC32MZ_IOPORT_CNPU_OFFSET      0x0050 /* Change Notice Pull-up register */
#define PIC32MZ_IOPORT_CNPUCLR_OFFSET   0x0054 /* Change Notice Pull-up clear register */
#define PIC32MZ_IOPORT_CNPUSET_OFFSET   0x0058 /* Change Notice Pull-up set register */
#define PIC32MZ_IOPORT_CNPUINV_OFFSET   0x005c /* Change Notice Pull-up invert register */

#define PIC32MZ_IOPORT_CNPD_OFFSET      0x0060 /* Change Notice Pull-down register */
#define PIC32MZ_IOPORT_CNPDCLR_OFFSET   0x0064 /* Change Notice Pull-down clear register */
#define PIC32MZ_IOPORT_CNPDSET_OFFSET   0x0068 /* Change Notice Pull-down set register */
#define PIC32MZ_IOPORT_CNPDINV_OFFSET   0x006c /* Change Notice Pull-down invert register */

#define PIC32MZ_IOPORT_CNCON_OFFSET     0x0070 /* Change Notice Control register */
#define PIC32MZ_IOPORT_CNCONCLR_OFFSET  0x0074 /* Change Notice Control clear register */
#define PIC32MZ_IOPORT_CNCONSET_OFFSET  0x0078 /* Change Notice Control set register */
#define PIC32MZ_IOPORT_CNCONINV_OFFSET  0x007c /* Change Notice Control invert register */

#define PIC32MZ_IOPORT_CNEN_OFFSET      0x0080 /* Change Notice Interrupt Enable register */
#define PIC32MZ_IOPORT_CNENCLR_OFFSET   0x0084 /* Change Notice Interrupt Enable clear register */
#define PIC32MZ_IOPORT_CNENSET_OFFSET   0x0088 /* Change Notice Interrupt Enable set register */
#define PIC32MZ_IOPORT_CNENINV_OFFSET   0x008c /* Change Notice Interrupt Enable invert register */

#define PIC32MZ_IOPORT_CNSTAT_OFFSET    0x0080 /* Change Notice Control register */
#define PIC32MZ_IOPORT_CNSTATCLR_OFFSET 0x0084 /* Change Notice Control clear register*/
#define PIC32MZ_IOPORT_CNSTATSET_OFFSET 0x0088 /* Change Notice Control set register */
#define PIC32MZ_IOPORT_CNSTATINV_OFFSET 0x008c /* Change Notice Control invert register */

/* IOPort Peripheral Addresses **************************************************************/

#define PIC32MZ_IOPORTn_K1BASE(n)      (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTn_OFFSET(n))
#  define PIC32MZ_IOPORTA_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTA_OFFSET)
#  define PIC32MZ_IOPORTB_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTB_OFFSET)
#  define PIC32MZ_IOPORTC_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTC_OFFSET)
#  define PIC32MZ_IOPORTD_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTD_OFFSET)
#  define PIC32MZ_IOPORTE_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTE_OFFSET)
#  define PIC32MZ_IOPORTF_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTF_OFFSET)
#  define PIC32MZ_IOPORTG_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTG_OFFSET)
#  define PIC32MZ_IOPORTH_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTH_OFFSET)
#  define PIC32MZ_IOPORTJ_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTJ_OFFSET)
#  define PIC32MZ_IOPORTK_K1BASE       (PIC32MZ_IOPORT_K1BASE+PIC32MZ_IOPORTK_OFFSET)

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

#define PIC32MZ_IOPORT_ANSEL(n)         (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ANSEL_OFFSET)
#define PIC32MZ_IOPORT_ANSELCLR(n)      (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#define PIC32MZ_IOPORT_ANSELSET(n)      (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#define PIC32MZ_IOPORT_ANSELINV(n)      (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#define PIC32MZ_IOPORT_TRIS(n)          (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_TRIS_OFFSET)
#define PIC32MZ_IOPORT_TRISCLR(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#define PIC32MZ_IOPORT_TRISSET(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_TRISSET_OFFSET)
#define PIC32MZ_IOPORT_TRISINV(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_TRISINV_OFFSET)

#define PIC32MZ_IOPORT_PORT(n)          (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_PORT_OFFSET)
#define PIC32MZ_IOPORT_PORTCLR(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#define PIC32MZ_IOPORT_PORTSET(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_PORTSET_OFFSET)
#define PIC32MZ_IOPORT_PORTINV(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_PORTINV_OFFSET)

#define PIC32MZ_IOPORT_LAT(n)           (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_LAT_OFFSET)
#define PIC32MZ_IOPORT_LATCLR(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_LATCLR_OFFSET)
#define PIC32MZ_IOPORT_LATSET(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_LATSET_OFFSET)
#define PIC32MZ_IOPORT_LATINV(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_LATINV_OFFSET)

#define PIC32MZ_IOPORT_ODC(n)           (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ODC_OFFSET)
#define PIC32MZ_IOPORT_ODCCLR(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#define PIC32MZ_IOPORT_ODCSET(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ODCSET_OFFSET)
#define PIC32MZ_IOPORT_ODCINV(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_ODCINV_OFFSET)

#define PIC32MZ_IOPORT_CNPU(n)          (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPU_OFFSET)
#define PIC32MZ_IOPORT_CNPUCLR(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#define PIC32MZ_IOPORT_CNPUSET(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#define PIC32MZ_IOPORT_CNPUINV(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#define PIC32MZ_IOPORT_CNPD(n)          (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPD_OFFSET)
#define PIC32MZ_IOPORT_CNPDCLR(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#define PIC32MZ_IOPORT_CNPDSET(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#define PIC32MZ_IOPORT_CNPDINV(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#define PIC32MZ_IOPORT_CNCON(n)         (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNCON_OFFSET)
#define PIC32MZ_IOPORT_CNCONCLR(n)      (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#define PIC32MZ_IOPORT_CNCONSET(n)      (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#define PIC32MZ_IOPORT_CNCONINV(n)      (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#define PIC32MZ_IOPORT_CNEN(n)          (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNEN_OFFSET)
#define PIC32MZ_IOPORT_CNENCLR(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#define PIC32MZ_IOPORT_CNENSET(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNENSET_OFFSET)
#define PIC32MZ_IOPORT_CNENINV(n)       (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNENINV_OFFSET)

#define PIC32MZ_IOPORT_CNSTAT(n)        (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#define PIC32MZ_IOPORT_CNSTATCLR(n)     (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#define PIC32MZ_IOPORT_CNSTATSET(n)     (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#define PIC32MZ_IOPORT_CNSTATINV(n)     (PIC32MZ_IOPORTn_K1BASE(n)+PIC32MZ_IOPORT_CNSTATINV_OFFSET)

/* Port A addresses */

#define PIC32MZ_IOPORTA_ANSEL           (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#define PIC32MZ_IOPORTA_ANSELCLR        (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#define PIC32MZ_IOPORTA_ANSELSET        (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#define PIC32MZ_IOPORTA_ANSELINV        (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#define PIC32MZ_IOPORTA_TRIS            (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#define PIC32MZ_IOPORTA_TRISCLR         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#define PIC32MZ_IOPORTA_TRISSET         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#define PIC32MZ_IOPORTA_TRISINV         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#define PIC32MZ_IOPORTA_PORT            (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#define PIC32MZ_IOPORTA_PORTCLR         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#define PIC32MZ_IOPORTA_PORTSET         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#define PIC32MZ_IOPORTA_PORTINV         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#define PIC32MZ_IOPORTA_LAT             (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#define PIC32MZ_IOPORTA_LATCLR          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#define PIC32MZ_IOPORTA_LATSET          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#define PIC32MZ_IOPORTA_LATINV          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#define PIC32MZ_IOPORTA_ODC             (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#define PIC32MZ_IOPORTA_ODCCLR          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#define PIC32MZ_IOPORTA_ODCSET          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#define PIC32MZ_IOPORTA_ODCINV          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#define PIC32MZ_IOPORTA_CNPU            (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#define PIC32MZ_IOPORTA_CNPUCLR         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#define PIC32MZ_IOPORTA_CNPUSET         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#define PIC32MZ_IOPORTA_CNPUINV         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#define PIC32MZ_IOPORTA_CNPD            (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#define PIC32MZ_IOPORTA_CNPDCLR         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#define PIC32MZ_IOPORTA_CNPDSET         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#define PIC32MZ_IOPORTA_CNPDINV         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#define PIC32MZ_IOPORTA_CNCON           (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#define PIC32MZ_IOPORTA_CNCONCLR        (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#define PIC32MZ_IOPORTA_CNCONSET        (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#define PIC32MZ_IOPORTA_CNCONINV        (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#define PIC32MZ_IOPORTA_CNEN            (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#define PIC32MZ_IOPORTA_CNENCLR         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#define PIC32MZ_IOPORTA_CNENSET         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#define PIC32MZ_IOPORTA_CNENINV         (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#define PIC32MZ_IOPORTA_CNSTAT          (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#define PIC32MZ_IOPORTA_CNSTATCLR       (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#define PIC32MZ_IOPORTA_CNSTATSET       (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#define PIC32MZ_IOPORTA_CNSTATINV       (PIC32MZ_IOPORTA_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)

#if CHIP_NPORTS > 0
/* Port B addresses */

#  define PIC32MZ_IOPORTB_ANSEL         (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTB_ANSELCLR      (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTB_ANSELSET      (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTB_ANSELINV      (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTB_TRIS          (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTB_TRISCLR       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTB_TRISSET       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTB_TRISINV       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTB_PORT          (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTB_PORTCLR       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTB_PORTSET       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTB_PORTINV       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTB_LAT           (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTB_LATCLR        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTB_LATSET        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTB_LATINV        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTB_ODC           (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTB_ODCCLR        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTB_ODCSET        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTB_ODCINV        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTB_CNPU          (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTB_CNPUCLR       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTB_CNPUSET       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTB_CNPUINV       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTB_CNPD          (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTB_CNPDCLR       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTB_CNPDSET       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTB_CNPDINV       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTB_CNCON         (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTB_CNCONCLR      (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTB_CNCONSET      (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTB_CNCONINV      (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTB_CNEN          (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTB_CNENCLR       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTB_CNENSET       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTB_CNENINV       (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTB_CNSTAT        (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTB_CNSTATCLR     (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTB_CNSTATSET     (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTB_CNSTATINV     (PIC32MZ_IOPORTB_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 1
/* Port C addresses */

#  define PIC32MZ_IOPORTC_ANSEL         (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTC_ANSELCLR      (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTC_ANSELSET      (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTC_ANSELINV      (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTC_TRIS          (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTC_TRISCLR       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTC_TRISSET       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTC_TRISINV       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTC_PORT          (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTC_PORTCLR       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTC_PORTSET       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTC_PORTINV       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTC_LAT           (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTC_LATCLR        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTC_LATSET        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTC_LATINV        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTC_ODC           (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTC_ODCCLR        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTC_ODCSET        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTC_ODCINV        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTC_CNPU          (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTC_CNPUCLR       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTC_CNPUSET       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTC_CNPUINV       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTC_CNPD          (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTC_CNPDCLR       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTC_CNPDSET       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTC_CNPDINV       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTC_CNCON         (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTC_CNCONCLR      (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTC_CNCONSET      (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTC_CNCONINV      (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTC_CNEN          (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTC_CNENCLR       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTC_CNENSET       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTC_CNENINV       (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTC_CNSTAT        (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTC_CNSTATCLR     (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTC_CNSTATSET     (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTC_CNSTATINV     (PIC32MZ_IOPORTC_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 2
/* Port D addresses */

#  define PIC32MZ_IOPORTD_ANSEL         (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTD_ANSELCLR      (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTD_ANSELSET      (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTD_ANSELINV      (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTD_TRIS          (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTD_TRISCLR       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTD_TRISSET       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTD_TRISINV       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTD_PORT          (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTD_PORTCLR       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTD_PORTSET       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTD_PORTINV       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTD_LAT           (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTD_LATCLR        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTD_LATSET        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTD_LATINV        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTD_ODC           (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTD_ODCCLR        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTD_ODCSET        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTD_ODCINV        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTD_CNPU          (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTD_CNPUCLR       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTD_CNPUSET       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTD_CNPUINV       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTD_CNPD          (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTD_CNPDCLR       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTD_CNPDSET       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTD_CNPDINV       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTD_CNCON         (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTD_CNCONCLR      (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTD_CNCONSET      (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTD_CNCONINV      (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTD_CNEN          (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTD_CNENCLR       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTD_CNENSET       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTD_CNENINV       (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTD_CNSTAT        (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTD_CNSTATCLR     (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTD_CNSTATSET     (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTD_CNSTATINV     (PIC32MZ_IOPORTD_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 3
/* Port E addresses */

#  define PIC32MZ_IOPORTE_ANSEL         (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTE_ANSELCLR      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTE_ANSELSET      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTE_ANSELINV      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTE_TRIS          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTE_TRISCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTE_TRISSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTE_TRISINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTE_PORT          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTE_PORTCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTE_PORTSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTE_PORTINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTE_LAT           (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTE_LATCLR        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTE_LATSET        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTE_LATINV        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTE_ODC           (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTE_ODCCLR        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTE_ODCSET        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTE_ODCINV        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNPU          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTE_CNPUCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNPUSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNPUINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNPD          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTE_CNPDCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNPDSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNPDINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNCON         (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTE_CNCONCLR      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNCONSET      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNCONINV      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNEN          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTE_CNENCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNENSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNENINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNSTAT        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTE_CNSTATCLR     (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNSTATSET     (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNSTATINV     (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 4
/* Port F addresses */

#  define PIC32MZ_IOPORTE_ANSEL         (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTE_ANSELCLR      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTE_ANSELSET      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTE_ANSELINV      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTE_TRIS          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTE_TRISCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTE_TRISSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTE_TRISINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTE_PORT          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTE_PORTCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTE_PORTSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTE_PORTINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTE_LAT           (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTE_LATCLR        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTE_LATSET        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTE_LATINV        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTE_ODC           (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTE_ODCCLR        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTE_ODCSET        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTE_ODCINV        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNPU          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTE_CNPUCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNPUSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNPUINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNPD          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTE_CNPDCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNPDSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNPDINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNCON         (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTE_CNCONCLR      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNCONSET      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNCONINV      (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNEN          (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTE_CNENCLR       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNENSET       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNENINV       (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTE_CNSTAT        (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTE_CNSTATCLR     (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTE_CNSTATSET     (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTE_CNSTATINV     (PIC32MZ_IOPORTE_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 5
/* Port F addresses */

#  define PIC32MZ_IOPORTF_ANSEL         (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTF_ANSELCLR      (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTF_ANSELSET      (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTF_ANSELINV      (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTF_TRIS          (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTF_TRISCLR       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTF_TRISSET       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTF_TRISINV       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTF_PORT          (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTF_PORTCLR       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTF_PORTSET       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTF_PORTINV       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTF_LAT           (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTF_LATCLR        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTF_LATSET        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTF_LATINV        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTF_ODC           (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTF_ODCCLR        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTF_ODCSET        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTF_ODCINV        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTF_CNPU          (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTF_CNPUCLR       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTF_CNPUSET       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTF_CNPUINV       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTF_CNPD          (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTF_CNPDCLR       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTF_CNPDSET       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTF_CNPDINV       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTF_CNCON         (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTF_CNCONCLR      (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTF_CNCONSET      (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTF_CNCONINV      (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTF_CNEN          (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTF_CNENCLR       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTF_CNENSET       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTF_CNENINV       (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTF_CNSTAT        (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTF_CNSTATCLR     (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTF_CNSTATSET     (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTF_CNSTATINV     (PIC32MZ_IOPORTF_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 6
/* Port G addresses */

#  define PIC32MZ_IOPORTG_ANSEL         (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTG_ANSELCLR      (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTG_ANSELSET      (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTG_ANSELINV      (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTG_TRIS          (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTG_TRISCLR       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTG_TRISSET       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTG_TRISINV       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTG_PORT          (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTG_PORTCLR       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTG_PORTSET       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTG_PORTINV       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTG_LAT           (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTG_LATCLR        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTG_LATSET        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTG_LATINV        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTG_ODC           (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTG_ODCCLR        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTG_ODCSET        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTG_ODCINV        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTG_CNPU          (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTG_CNPUCLR       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTG_CNPUSET       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTG_CNPUINV       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTG_CNPD          (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTG_CNPDCLR       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTG_CNPDSET       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTG_CNPDINV       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTG_CNCON         (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTG_CNCONCLR      (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTG_CNCONSET      (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTG_CNCONINV      (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTG_CNEN          (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTG_CNENCLR       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTG_CNENSET       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTG_CNENINV       (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTG_CNSTAT        (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTG_CNSTATCLR     (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTG_CNSTATSET     (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTG_CNSTATINV     (PIC32MZ_IOPORTG_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 7
/* Port H addresses */

#  define PIC32MZ_IOPORTH_ANSEL         (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTH_ANSELCLR      (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTH_ANSELSET      (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTH_ANSELINV      (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTH_TRIS          (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTH_TRISCLR       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTH_TRISSET       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTH_TRISINV       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTH_PORT          (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTH_PORTCLR       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTH_PORTSET       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTH_PORTINV       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTH_LAT           (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTH_LATCLR        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTH_LATSET        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTH_LATINV        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTH_ODC           (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTH_ODCCLR        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTH_ODCSET        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTH_ODCINV        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTH_CNPU          (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTH_CNPUCLR       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTH_CNPUSET       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTH_CNPUINV       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTH_CNPD          (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTH_CNPDCLR       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTH_CNPDSET       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTH_CNPDINV       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTH_CNCON         (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTH_CNCONCLR      (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTH_CNCONSET      (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTH_CNCONINV      (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTH_CNEN          (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTH_CNENCLR       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTH_CNENSET       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTH_CNENINV       (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTH_CNSTAT        (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTH_CNSTATCLR     (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTH_CNSTATSET     (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTH_CNSTATINV     (PIC32MZ_IOPORTH_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 8
/* Port J addresses */

#  define PIC32MZ_IOPORTJ_ANSEL         (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTJ_ANSELCLR      (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_ANSELSET      (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTJ_ANSELINV      (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTJ_TRIS          (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTJ_TRISCLR       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_TRISSET       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTJ_TRISINV       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTJ_PORT          (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTJ_PORTCLR       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_PORTSET       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTJ_PORTINV       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTJ_LAT           (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTJ_LATCLR        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_LATSET        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTJ_LATINV        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTJ_ODC           (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTJ_ODCCLR        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_ODCSET        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTJ_ODCINV        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTJ_CNPU          (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTJ_CNPUCLR       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_CNPUSET       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTJ_CNPUINV       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTJ_CNPD          (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTJ_CNPDCLR       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_CNPDSET       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTJ_CNPDINV       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTJ_CNCON         (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTJ_CNCONCLR      (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_CNCONSET      (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTJ_CNCONINV      (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTJ_CNEN          (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTJ_CNENCLR       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_CNENSET       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTJ_CNENINV       (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTJ_CNSTAT        (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTJ_CNSTATCLR     (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTJ_CNSTATSET     (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTJ_CNSTATINV     (PIC32MZ_IOPORTJ_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

#if CHIP_NPORTS > 9
/* Port K addresses */

#  define PIC32MZ_IOPORTK_ANSEL         (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ANSEL_OFFSET)
#  define PIC32MZ_IOPORTK_ANSELCLR      (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ANSELCLR_OFFSET)
#  define PIC32MZ_IOPORTK_ANSELSET      (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ANSELSET_OFFSET)
#  define PIC32MZ_IOPORTK_ANSELINV      (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ANSELINV_OFFSET)

#  define PIC32MZ_IOPORTK_TRIS          (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_TRIS_OFFSET)
#  define PIC32MZ_IOPORTK_TRISCLR       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_TRISCLR_OFFSET)
#  define PIC32MZ_IOPORTK_TRISSET       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_TRISSET_OFFSET)
#  define PIC32MZ_IOPORTK_TRISINV       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_TRISINV_OFFSET)

#  define PIC32MZ_IOPORTK_PORT          (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_PORT_OFFSET)
#  define PIC32MZ_IOPORTK_PORTCLR       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_PORTCLR_OFFSET)
#  define PIC32MZ_IOPORTK_PORTSET       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_PORTSET_OFFSET)
#  define PIC32MZ_IOPORTK_PORTINV       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_PORTINV_OFFSET)

#  define PIC32MZ_IOPORTK_LAT           (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_LAT_OFFSET)
#  define PIC32MZ_IOPORTK_LATCLR        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_LATCLR_OFFSET)
#  define PIC32MZ_IOPORTK_LATSET        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_LATSET_OFFSET)
#  define PIC32MZ_IOPORTK_LATINV        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_LATINV_OFFSET)

#  define PIC32MZ_IOPORTK_ODC           (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ODC_OFFSET)
#  define PIC32MZ_IOPORTK_ODCCLR        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ODCCLR_OFFSET)
#  define PIC32MZ_IOPORTK_ODCSET        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ODCSET_OFFSET)
#  define PIC32MZ_IOPORTK_ODCINV        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_ODCINV_OFFSET)

#  define PIC32MZ_IOPORTK_CNPU          (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPU_OFFSET)
#  define PIC32MZ_IOPORTK_CNPUCLR       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPUCLR_OFFSET)
#  define PIC32MZ_IOPORTK_CNPUSET       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPUSET_OFFSET)
#  define PIC32MZ_IOPORTK_CNPUINV       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPUINV_OFFSET)

#  define PIC32MZ_IOPORTK_CNPD          (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPD_OFFSET)
#  define PIC32MZ_IOPORTK_CNPDCLR       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPDCLR_OFFSET)
#  define PIC32MZ_IOPORTK_CNPDSET       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPDSET_OFFSET)
#  define PIC32MZ_IOPORTK_CNPDINV       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNPDINV_OFFSET)

#  define PIC32MZ_IOPORTK_CNCON         (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNCON_OFFSET)
#  define PIC32MZ_IOPORTK_CNCONCLR      (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNCONCLR_OFFSET)
#  define PIC32MZ_IOPORTK_CNCONSET      (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNCONSET_OFFSET)
#  define PIC32MZ_IOPORTK_CNCONINV      (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNCONINV_OFFSET)

#  define PIC32MZ_IOPORTK_CNEN          (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNEN_OFFSET)
#  define PIC32MZ_IOPORTK_CNENCLR       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNENCLR_OFFSET)
#  define PIC32MZ_IOPORTK_CNENSET       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNENSET_OFFSET)
#  define PIC32MZ_IOPORTK_CNENINV       (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNENINV_OFFSET)

#  define PIC32MZ_IOPORTK_CNSTAT        (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNSTAT_OFFSET)
#  define PIC32MZ_IOPORTK_CNSTATCLR     (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNSTATCLR_OFFSET)
#  define PIC32MZ_IOPORTK_CNSTATSET     (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNSTATSET_OFFSET)
#  define PIC32MZ_IOPORTK_CNSTATINV     (PIC32MZ_IOPORTK_K1BASE+PIC32MZ_IOPORT_CNSTATINV_OFFSET)
#endif

/* Register Bit-Field Definitions ***********************************************************/

/* Analog select register */

#define IOPORT_ANSEL(n)                (1 << (n)) /* Bits 0-15: Analog select */

/* Tri-state register */

#define IOPORT_TRIS(n)                 (1 << (n)) /* Bits 0-15: 1: Input 0: Output */

/* Port register */

#define IOPORT_PORT(n)                 (1 << (n)) /* Bits 0-15: Pin value */

/* Port data latch register */

#define IOPORT_LAT(n)                  (1 << (n)) /* Bits 0-15: Port latch value */

/* Open drain control register */

#define IOPORT_ODC(n)                  (1 << (n)) /* Bits 0-15: 1: OD output enabled, 0: Disabled */

/* Change Notice Pull-up register */

#define IOPORT_CNPU(n)                 (1 << (n)) /* Bits 0:15: 1=Pull-up enabled */

/* Change Notice Pull-down register */

#define IOPORT_CNPD(n)                 (1 << (n)) /* Bits 0:15: 1=Pull-down enabled */

/* Change Notice Control register */

#define IOPORT_CNCON_SIDL              (1 << 13) /* Bit 13: Stop in idle mode */
#define IOPORT_CNCON_ON                (1 << 15) /* Bit 15: Change notice module enable */

/* Change Notice Interrupt Enable register */

#define IOPORT_CNEN(n)                 (1 << (n)) /* Bits 0-15: 1=Interrupt enabled */

/* Change Notice Control register */

#define IOPORT_CNSTAT(n)               (1 << (n)  /* Bits 0-15: Change notice control pin n */

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

#ifndef __ASSEMBLY__

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

#ifdef __cplusplus
#define EXTERN extern "C"
extern "C"
{
#else
#define EXTERN extern
#endif

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

#undef EXTERN
#ifdef __cplusplus
}
#endif

#endif /* __ASSEMBLY__ */
#endif /* CHIP_NPORTS > 0 */
#endif /* __ARCH_MIPS_SRC_PIC32MZ_CHIP_PIC32MZ_IOPORT_H */