// SPDX-License-Identifier: GPL-2.0-only
/*
 * PIC32 pinctrl driver
 *
 * Joshua Henderson, <joshua.henderson@microchip.com>
 * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
 */
#include <linux/clk.h>
#include <linux/gpio/driver.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/of.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/platform_device.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/spinlock.h>

#include <asm/mach-pic32/pic32.h>

#include "pinctrl-utils.h"
#include "pinctrl-pic32.h"

#define PINS_PER_BANK		16

#define PIC32_CNCON_EDGE	11
#define PIC32_CNCON_ON		15

#define PIN_CONFIG_MICROCHIP_DIGITAL	(PIN_CONFIG_END + 1)
#define PIN_CONFIG_MICROCHIP_ANALOG	(PIN_CONFIG_END + 2)

static const struct pinconf_generic_params pic32_mpp_bindings[] = {
	{"microchip,digital",	PIN_CONFIG_MICROCHIP_DIGITAL,	0},
	{"microchip,analog",	PIN_CONFIG_MICROCHIP_ANALOG,	0},
};

#define GPIO_BANK_START(bank)		((bank) * PINS_PER_BANK)

struct pic32_function {
	const char *name;
	const char * const *groups;
	unsigned int ngroups;
};

struct pic32_pin_group {
	const char *name;
	unsigned int pin;
	struct pic32_desc_function *functions;
};

struct pic32_desc_function {
	const char *name;
	u32 muxreg;
	u32 muxval;
};

struct pic32_gpio_bank {
	void __iomem *reg_base;
	int instance;
	struct gpio_chip gpio_chip;
	struct clk *clk;
};

struct pic32_pinctrl {
	void __iomem *reg_base;
	struct device *dev;
	struct pinctrl_dev *pctldev;
	const struct pinctrl_pin_desc *pins;
	unsigned int npins;
	const struct pic32_function *functions;
	unsigned int nfunctions;
	const struct pic32_pin_group *groups;
	unsigned int ngroups;
	struct pic32_gpio_bank *gpio_banks;
	unsigned int nbanks;
	struct clk *clk;
};

static const struct pinctrl_pin_desc pic32_pins[] = {
	PINCTRL_PIN(0, "A0"),
	PINCTRL_PIN(1, "A1"),
	PINCTRL_PIN(2, "A2"),
	PINCTRL_PIN(3, "A3"),
	PINCTRL_PIN(4, "A4"),
	PINCTRL_PIN(5, "A5"),
	PINCTRL_PIN(6, "A6"),
	PINCTRL_PIN(7, "A7"),
	PINCTRL_PIN(8, "A8"),
	PINCTRL_PIN(9, "A9"),
	PINCTRL_PIN(10, "A10"),
	PINCTRL_PIN(11, "A11"),
	PINCTRL_PIN(12, "A12"),
	PINCTRL_PIN(13, "A13"),
	PINCTRL_PIN(14, "A14"),
	PINCTRL_PIN(15, "A15"),
	PINCTRL_PIN(16, "B0"),
	PINCTRL_PIN(17, "B1"),
	PINCTRL_PIN(18, "B2"),
	PINCTRL_PIN(19, "B3"),
	PINCTRL_PIN(20, "B4"),
	PINCTRL_PIN(21, "B5"),
	PINCTRL_PIN(22, "B6"),
	PINCTRL_PIN(23, "B7"),
	PINCTRL_PIN(24, "B8"),
	PINCTRL_PIN(25, "B9"),
	PINCTRL_PIN(26, "B10"),
	PINCTRL_PIN(27, "B11"),
	PINCTRL_PIN(28, "B12"),
	PINCTRL_PIN(29, "B13"),
	PINCTRL_PIN(30, "B14"),
	PINCTRL_PIN(31, "B15"),
	PINCTRL_PIN(33, "C1"),
	PINCTRL_PIN(34, "C2"),
	PINCTRL_PIN(35, "C3"),
	PINCTRL_PIN(36, "C4"),
	PINCTRL_PIN(44, "C12"),
	PINCTRL_PIN(45, "C13"),
	PINCTRL_PIN(46, "C14"),
	PINCTRL_PIN(47, "C15"),
	PINCTRL_PIN(48, "D0"),
	PINCTRL_PIN(49, "D1"),
	PINCTRL_PIN(50, "D2"),
	PINCTRL_PIN(51, "D3"),
	PINCTRL_PIN(52, "D4"),
	PINCTRL_PIN(53, "D5"),
	PINCTRL_PIN(54, "D6"),
	PINCTRL_PIN(55, "D7"),
	PINCTRL_PIN(57, "D9"),
	PINCTRL_PIN(58, "D10"),
	PINCTRL_PIN(59, "D11"),
	PINCTRL_PIN(60, "D12"),
	PINCTRL_PIN(61, "D13"),
	PINCTRL_PIN(62, "D14"),
	PINCTRL_PIN(63, "D15"),
	PINCTRL_PIN(64, "E0"),
	PINCTRL_PIN(65, "E1"),
	PINCTRL_PIN(66, "E2"),
	PINCTRL_PIN(67, "E3"),
	PINCTRL_PIN(68, "E4"),
	PINCTRL_PIN(69, "E5"),
	PINCTRL_PIN(70, "E6"),
	PINCTRL_PIN(71, "E7"),
	PINCTRL_PIN(72, "E8"),
	PINCTRL_PIN(73, "E9"),
	PINCTRL_PIN(80, "F0"),
	PINCTRL_PIN(81, "F1"),
	PINCTRL_PIN(82, "F2"),
	PINCTRL_PIN(83, "F3"),
	PINCTRL_PIN(84, "F4"),
	PINCTRL_PIN(85, "F5"),
	PINCTRL_PIN(88, "F8"),
	PINCTRL_PIN(92, "F12"),
	PINCTRL_PIN(93, "F13"),
	PINCTRL_PIN(96, "G0"),
	PINCTRL_PIN(97, "G1"),
	PINCTRL_PIN(102, "G6"),
	PINCTRL_PIN(103, "G7"),
	PINCTRL_PIN(104, "G8"),
	PINCTRL_PIN(105, "G9"),
	PINCTRL_PIN(108, "G12"),
	PINCTRL_PIN(109, "G13"),
	PINCTRL_PIN(110, "G14"),
	PINCTRL_PIN(111, "G15"),
	PINCTRL_PIN(112, "H0"),
	PINCTRL_PIN(113, "H1"),
	PINCTRL_PIN(114, "H2"),
	PINCTRL_PIN(115, "H3"),
	PINCTRL_PIN(116, "H4"),
	PINCTRL_PIN(117, "H5"),
	PINCTRL_PIN(118, "H6"),
	PINCTRL_PIN(119, "H7"),
	PINCTRL_PIN(120, "H8"),
	PINCTRL_PIN(121, "H9"),
	PINCTRL_PIN(122, "H10"),
	PINCTRL_PIN(123, "H11"),
	PINCTRL_PIN(124, "H12"),
	PINCTRL_PIN(125, "H13"),
	PINCTRL_PIN(126, "H14"),
	PINCTRL_PIN(127, "H15"),
	PINCTRL_PIN(128, "J0"),
	PINCTRL_PIN(129, "J1"),
	PINCTRL_PIN(130, "J2"),
	PINCTRL_PIN(131, "J3"),
	PINCTRL_PIN(132, "J4"),
	PINCTRL_PIN(133, "J5"),
	PINCTRL_PIN(134, "J6"),
	PINCTRL_PIN(135, "J7"),
	PINCTRL_PIN(136, "J8"),
	PINCTRL_PIN(137, "J9"),
	PINCTRL_PIN(138, "J10"),
	PINCTRL_PIN(139, "J11"),
	PINCTRL_PIN(140, "J12"),
	PINCTRL_PIN(141, "J13"),
	PINCTRL_PIN(142, "J14"),
	PINCTRL_PIN(143, "J15"),
	PINCTRL_PIN(144, "K0"),
	PINCTRL_PIN(145, "K1"),
	PINCTRL_PIN(146, "K2"),
	PINCTRL_PIN(147, "K3"),
	PINCTRL_PIN(148, "K4"),
	PINCTRL_PIN(149, "K5"),
	PINCTRL_PIN(150, "K6"),
	PINCTRL_PIN(151, "K7"),
};

static const char * const pic32_input0_group[] = {
	"D2", "G8", "F4", "F1", "B9", "B10", "C14", "B5",
	"C1", "D14", "G1", "A14", "D6",
};

static const char * const pic32_input1_group[] = {
	"D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13",
	"B3", "C4", "G0", "A15", "D7",
};

static const char * const pic32_input2_group[] = {
	"D9", "G6", "B8", "B15", "D4", "B0", "E3", "B7",
	"F12", "D12", "F8", "C3", "E9",
};

static const char * const pic32_input3_group[] = {
	"G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13",
	"F2", "C2", "E8",
};

static const char * const pic32_output0_group[] = {
	"D2", "G8", "F4", "D10", "F1", "B9", "B10", "C14",
	"B5", "C1", "D14", "G1", "A14", "D6",
};

static const char * const pic32_output0_1_group[] = {
	"D2", "G8", "F4", "D10", "F1", "B9", "B10", "C14",
	"B5", "C1", "D14", "G1", "A14", "D6",
	"D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13",
	"B3", "C4", "D15", "G0", "A15", "D7",
};

static const char *const pic32_output1_group[] = {
	"D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13",
	"B3", "C4", "D15", "G0", "A15", "D7",
};

static const char *const pic32_output1_3_group[] = {
	"D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13",
	"B3", "C4", "D15", "G0", "A15", "D7",
	"G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13",
	"C2", "E8", "F2",
};

static const char * const pic32_output2_group[] = {
	"D9", "G6", "B8", "B15", "D4", "B0", "E3", "B7",
	"F12", "D12", "F8", "C3", "E9",
};

static const char * const pic32_output2_3_group[] = {
	"D9", "G6", "B8", "B15", "D4", "B0", "E3", "B7",
	"F12", "D12", "F8", "C3", "E9",
	"G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13",
	"C2", "E8", "F2",
};

static const char * const pic32_output3_group[] = {
	"G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13",
	"C2", "E8", "F2",
};

#define FUNCTION(_name, _gr)					\
	{							\
		.name = #_name,					\
		.groups = pic32_##_gr##_group,			\
		.ngroups = ARRAY_SIZE(pic32_##_gr##_group),	\
	}

static const struct pic32_function pic32_functions[] = {
	FUNCTION(INT3, input0),
	FUNCTION(T2CK, input0),
	FUNCTION(T6CK, input0),
	FUNCTION(IC3, input0),
	FUNCTION(IC7, input0),
	FUNCTION(U1RX, input0),
	FUNCTION(U2CTS, input0),
	FUNCTION(U5RX, input0),
	FUNCTION(U6CTS, input0),
	FUNCTION(SDI1, input0),
	FUNCTION(SDI3, input0),
	FUNCTION(SDI5, input0),
	FUNCTION(SS6IN, input0),
	FUNCTION(REFCLKI1, input0),
	FUNCTION(INT4, input1),
	FUNCTION(T5CK, input1),
	FUNCTION(T7CK, input1),
	FUNCTION(IC4, input1),
	FUNCTION(IC8, input1),
	FUNCTION(U3RX, input1),
	FUNCTION(U4CTS, input1),
	FUNCTION(SDI2, input1),
	FUNCTION(SDI4, input1),
	FUNCTION(C1RX, input1),
	FUNCTION(REFCLKI4, input1),
	FUNCTION(INT2, input2),
	FUNCTION(T3CK, input2),
	FUNCTION(T8CK, input2),
	FUNCTION(IC2, input2),
	FUNCTION(IC5, input2),
	FUNCTION(IC9, input2),
	FUNCTION(U1CTS, input2),
	FUNCTION(U2RX, input2),
	FUNCTION(U5CTS, input2),
	FUNCTION(SS1IN, input2),
	FUNCTION(SS3IN, input2),
	FUNCTION(SS4IN, input2),
	FUNCTION(SS5IN, input2),
	FUNCTION(C2RX, input2),
	FUNCTION(INT1, input3),
	FUNCTION(T4CK, input3),
	FUNCTION(T9CK, input3),
	FUNCTION(IC1, input3),
	FUNCTION(IC6, input3),
	FUNCTION(U3CTS, input3),
	FUNCTION(U4RX, input3),
	FUNCTION(U6RX, input3),
	FUNCTION(SS2IN, input3),
	FUNCTION(SDI6, input3),
	FUNCTION(OCFA, input3),
	FUNCTION(REFCLKI3, input3),
	FUNCTION(U3TX, output0),
	FUNCTION(U4RTS, output0),
	FUNCTION(SDO1, output0_1),
	FUNCTION(SDO2, output0_1),
	FUNCTION(SDO3, output0_1),
	FUNCTION(SDO5, output0_1),
	FUNCTION(SS6OUT, output0),
	FUNCTION(OC3, output0),
	FUNCTION(OC6, output0),
	FUNCTION(REFCLKO4, output0),
	FUNCTION(C2OUT, output0),
	FUNCTION(C1TX, output0),
	FUNCTION(U1TX, output1),
	FUNCTION(U2RTS, output1),
	FUNCTION(U5TX, output1),
	FUNCTION(U6RTS, output1),
	FUNCTION(SDO4, output1_3),
	FUNCTION(OC4, output1),
	FUNCTION(OC7, output1),
	FUNCTION(REFCLKO1, output1),
	FUNCTION(U3RTS, output2),
	FUNCTION(U4TX, output2),
	FUNCTION(U6TX, output2_3),
	FUNCTION(SS1OUT, output2),
	FUNCTION(SS3OUT, output2),
	FUNCTION(SS4OUT, output2),
	FUNCTION(SS5OUT, output2),
	FUNCTION(SDO6, output2_3),
	FUNCTION(OC5, output2),
	FUNCTION(OC8, output2),
	FUNCTION(C1OUT, output2),
	FUNCTION(REFCLKO3, output2),
	FUNCTION(U1RTS, output3),
	FUNCTION(U2TX, output3),
	FUNCTION(U5RTS, output3),
	FUNCTION(SS2OUT, output3),
	FUNCTION(OC2, output3),
	FUNCTION(OC1, output3),
	FUNCTION(OC9, output3),
	FUNCTION(C2TX, output3),
};

#define PIC32_PINCTRL_GROUP(_pin, _name, ...)				\
	{								\
		.name = #_name,						\
		.pin = _pin,						\
		.functions = (struct pic32_desc_function[]){		\
			__VA_ARGS__, { } },				\
	}

#define PIC32_PINCTRL_FUNCTION(_name, _muxreg, _muxval)	\
	{						\
		.name = #_name,				\
		.muxreg = _muxreg,			\
		.muxval = _muxval,			\
	}

static const struct pic32_pin_group pic32_groups[] = {
	PIC32_PINCTRL_GROUP(14, A14,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 13),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 13),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 13),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 13),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 13),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 13),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 13),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 13),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 13),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 13),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 13),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 13),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 13),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 13),
			PIC32_PINCTRL_FUNCTION(U3TX, RPA14R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPA14R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPA14R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPA14R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPA14R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPA14R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPA14R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPA14R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPA14R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPA14R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPA14R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPA14R, 15)),
	PIC32_PINCTRL_GROUP(15, A15,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 13),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 13),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 13),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 13),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 13),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 13),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 13),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 13),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 13),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 13),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 13),
			PIC32_PINCTRL_FUNCTION(U1TX, RPA15R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPA15R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPA15R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPA15R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPA15R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPA15R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPA15R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPA15R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPA15R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPA15R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPA15R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPA15R, 15)),
	PIC32_PINCTRL_GROUP(16, B0,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 5),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 5),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 5),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 5),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 5),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 5),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 5),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 5),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 5),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 5),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 5),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 5),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 5),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 5),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPB0R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPB0R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB0R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPB0R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPB0R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPB0R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPB0R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB0R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPB0R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPB0R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPB0R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB0R, 15)),
	PIC32_PINCTRL_GROUP(17, B1,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 5),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 5),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 5),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 5),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 5),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 5),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 5),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 5),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 5),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 5),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 5),
			PIC32_PINCTRL_FUNCTION(U1TX, RPB1R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPB1R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPB1R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPB1R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPB1R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPB1R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPB1R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPB1R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPB1R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPB1R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPB1R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPB1R, 15)),
	PIC32_PINCTRL_GROUP(18, B2,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 7),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 7),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 7),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 7),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 7),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 7),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 7),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 7),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 7),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 7),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 7),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 7),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPB2R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPB2R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPB2R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB2R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPB2R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPB2R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB2R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPB2R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPB2R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPB2R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPB2R, 15)),
	PIC32_PINCTRL_GROUP(19, B3,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 8),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 8),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 8),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 8),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 8),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 8),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 8),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 8),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 8),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 8),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 8),
			PIC32_PINCTRL_FUNCTION(U1TX, RPB3R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPB3R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPB3R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPB3R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPB3R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPB3R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPB3R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPB3R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPB3R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPB3R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPB3R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPB3R, 15)),
	PIC32_PINCTRL_GROUP(21, B5,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 8),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 8),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 8),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 8),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 8),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 8),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 8),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 8),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 8),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 8),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 8),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 8),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 8),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 8),
			PIC32_PINCTRL_FUNCTION(U3TX, RPB5R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPB5R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPB5R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPB5R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPB5R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPB5R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPB5R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPB5R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPB5R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPB5R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPB5R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPB5R, 15)),
	PIC32_PINCTRL_GROUP(22, B6,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 4),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 4),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 4),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 4),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 4),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 4),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 4),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 4),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 4),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 4),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 4),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 4),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPB6R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPB6R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPB6R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB6R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPB6R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPB6R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB6R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPB6R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPB6R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPB6R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPB6R, 15)),
	PIC32_PINCTRL_GROUP(23, B7,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 7),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 7),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 7),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 7),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 7),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 7),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 7),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 7),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 7),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 7),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 7),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 7),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 7),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 7),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPB7R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPB7R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB7R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPB7R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPB7R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPB7R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPB7R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB7R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPB7R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPB7R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPB7R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB7R, 15)),
	PIC32_PINCTRL_GROUP(24, B8,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 2),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 2),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 2),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 2),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 2),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 2),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 2),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 2),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 2),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 2),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 2),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 2),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 2),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 2),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPB8R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPB8R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB8R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPB8R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPB8R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPB8R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPB8R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB8R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPB8R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPB8R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPB8R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB8R, 15)),
	PIC32_PINCTRL_GROUP(25, B9,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 5),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 5),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 5),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 5),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 5),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 5),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 5),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 5),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 5),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 5),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 5),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 5),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 5),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 5),
			PIC32_PINCTRL_FUNCTION(U3TX, RPB9R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPB9R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPB9R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPB9R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPB9R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPB9R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPB9R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPB9R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPB9R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPB9R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPB9R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPB9R, 15)),
	PIC32_PINCTRL_GROUP(26, B10,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 6),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 6),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 6),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 6),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 6),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 6),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 6),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 6),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 6),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 6),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 6),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 6),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 6),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 6),
			PIC32_PINCTRL_FUNCTION(U3TX, RPB10R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPB10R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPB10R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPB10R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPB10R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPB10R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPB10R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPB10R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPB10R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPB10R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPB10R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPB10R, 15)),
	PIC32_PINCTRL_GROUP(30, B14,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 2),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 2),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 2),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 2),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 2),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 2),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 2),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 2),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 2),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 2),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 2),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 2),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPB14R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPB14R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPB14R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB14R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPB14R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPB14R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB14R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPB14R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPB14R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPB14R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPB14R, 15)),
	PIC32_PINCTRL_GROUP(31, B15,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 3),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 3),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 3),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 3),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 3),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 3),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 3),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 3),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 3),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 3),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 3),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 3),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 3),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 3),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPB15R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPB15R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPB15R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPB15R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPB15R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPB15R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPB15R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPB15R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPB15R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPB15R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPB15R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB15R, 15)),
	PIC32_PINCTRL_GROUP(33, C1,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 10),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 10),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 10),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 10),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 10),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 10),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 10),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 10),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 10),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 10),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 10),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 10),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 10),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 10),
			PIC32_PINCTRL_FUNCTION(U3TX, RPC1R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPC1R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPC1R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPC1R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPC1R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPC1R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPC1R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPC1R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPC1R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPC1R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPC1R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPC1R, 15)),
	PIC32_PINCTRL_GROUP(34, C2,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 12),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 12),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 12),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 12),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 12),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 12),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 12),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 12),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 12),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 12),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 12),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPC2R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPC2R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPC2R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPC2R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPC2R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPC2R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPC2R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPC2R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPC2R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPC2R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPC2R, 15)),
	PIC32_PINCTRL_GROUP(35, C3,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 12),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 12),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 12),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 12),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 12),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 12),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 12),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 12),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 12),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 12),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 12),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 12),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 12),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 12),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPC3R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPC3R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPC3R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPC3R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPC3R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPC3R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPC3R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPC3R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPC3R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPC3R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPC3R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPC3R, 15)),
	PIC32_PINCTRL_GROUP(36, C4,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 10),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 10),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 10),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 10),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 10),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 10),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 10),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 10),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 10),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 10),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 10),
			PIC32_PINCTRL_FUNCTION(U1TX, RPC4R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPC4R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPC4R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPC4R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPC4R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPC4R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPC4R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPC4R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPC4R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPC4R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPC4R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPC4R, 15)),
	PIC32_PINCTRL_GROUP(45, C13,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 7),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 7),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 7),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 7),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 7),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 7),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 7),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 7),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 7),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 7),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 7),
			PIC32_PINCTRL_FUNCTION(U1TX, RPC13R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPC13R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPC13R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPC13R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPC13R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPC13R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPC13R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPC13R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPC13R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPC13R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPC13R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPC13R, 15)),
	PIC32_PINCTRL_GROUP(46, C14,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 7),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 7),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 7),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 7),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 7),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 7),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 7),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 7),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 7),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 7),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 7),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 7),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 7),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 7),
			PIC32_PINCTRL_FUNCTION(U3TX, RPC14R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPC14R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPC14R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPC14R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPC14R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPC14R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPC14R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPC14R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPC14R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPC14R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPC14R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPC14R, 15)),
	PIC32_PINCTRL_GROUP(48, D0,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 3),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 3),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 3),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 3),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 3),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 3),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 3),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 3),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 3),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 3),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 3),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 3),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPD0R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPD0R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPD0R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPD0R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPD0R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPD0R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPD0R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPD0R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPD0R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPD0R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPD0R, 15)),
	PIC32_PINCTRL_GROUP(50, D2,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 0),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 0),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 0),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 0),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 0),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 0),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 0),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 0),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 0),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 0),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 0),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 0),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 0),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 0),
			PIC32_PINCTRL_FUNCTION(U3TX, RPD2R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPD2R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD2R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD2R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD2R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD2R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPD2R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPD2R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPD2R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD2R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPD2R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPD2R, 15)),
	PIC32_PINCTRL_GROUP(51, D3,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 0),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 0),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 0),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 0),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 0),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 0),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 0),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 0),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 0),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 0),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 0),
			PIC32_PINCTRL_FUNCTION(U1TX, RPD3R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPD3R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPD3R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPD3R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD3R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD3R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD3R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPD3R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD3R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPD3R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPD3R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD3R, 15)),
	PIC32_PINCTRL_GROUP(52, D4,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 4),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 4),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 4),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 4),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 4),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 4),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 4),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 4),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 4),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 4),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 4),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 4),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 4),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 4),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPD4R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPD4R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPD4R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPD4R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPD4R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPD4R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPD4R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPD4R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPD4R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPD4R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPD4R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPD4R, 15)),
	PIC32_PINCTRL_GROUP(53, D5,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 6),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 6),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 6),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 6),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 6),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 6),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 6),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 6),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 6),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 6),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 6),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 6),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPD5R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPD5R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPD5R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPD5R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPD5R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPD5R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPD5R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPD5R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPD5R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPD5R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPD5R, 15)),
	PIC32_PINCTRL_GROUP(54, D6,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 14),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 14),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 14),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 14),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 14),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 14),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 14),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 14),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 14),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 14),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 14),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 14),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 14),
			PIC32_PINCTRL_FUNCTION(U3TX, RPD6R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPD6R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD6R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD6R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD6R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD6R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPD6R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPD6R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPD6R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD6R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPD6R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPD6R, 15)),
	PIC32_PINCTRL_GROUP(55, D7,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 14),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 14),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 14),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 14),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 14),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 14),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 14),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 14),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 14),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 14),
			PIC32_PINCTRL_FUNCTION(U1TX, RPD7R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPD7R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPD7R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPD7R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD7R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD7R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD7R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPD7R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD7R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPD7R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPD7R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD7R, 15)),
	PIC32_PINCTRL_GROUP(57, D9,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 0),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 0),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 0),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 0),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 0),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 0),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 0),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 0),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 0),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 0),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 0),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 0),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 0),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 0),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPD9R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPD9R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPD9R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPD9R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPD9R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPD9R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPD9R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPD9R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPD9R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPD9R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPD9R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPD9R, 15)),
	PIC32_PINCTRL_GROUP(58, D10,
			PIC32_PINCTRL_FUNCTION(U3TX, RPD10R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPD10R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD10R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD10R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD10R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD10R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPD10R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPD10R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPD10R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD10R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPD10R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPD10R, 15)),
	PIC32_PINCTRL_GROUP(59, D11,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 3),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 3),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 3),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 3),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 3),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 3),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 3),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 3),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 3),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 3),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 3),
			PIC32_PINCTRL_FUNCTION(U1TX, RPD11R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPD11R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPD11R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPD11R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD11R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD11R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD11R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPD11R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD11R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPD11R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPD11R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD11R, 15)),
	PIC32_PINCTRL_GROUP(60, D12,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 10),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 10),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 10),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 10),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 10),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 10),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 10),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 10),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 10),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 10),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 10),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 10),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 10),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 10),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPD12R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPD12R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPD12R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPD12R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPD12R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPD12R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPD12R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPD12R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPD12R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPD12R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPD12R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPD12R, 15)),
	PIC32_PINCTRL_GROUP(62, D14,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 11),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 11),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 11),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 11),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 11),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 11),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 11),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 11),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 11),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 11),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 11),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 11),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 11),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 11),
			PIC32_PINCTRL_FUNCTION(U3TX, RPD14R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPD14R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD14R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD14R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD14R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD14R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPD14R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPD14R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPD14R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD14R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPD14R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPD14R, 15)),
	PIC32_PINCTRL_GROUP(63, D15,
			PIC32_PINCTRL_FUNCTION(U1TX, RPD15R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPD15R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPD15R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPD15R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPD15R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPD15R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPD15R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPD15R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPD15R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPD15R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPD15R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD15R, 15)),
	PIC32_PINCTRL_GROUP(67, E3,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 6),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 6),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 6),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 6),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 6),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 6),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 6),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 6),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 6),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 6),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 6),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 6),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 6),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 6),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPE3R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPE3R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPE3R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPE3R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPE3R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPE3R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPE3R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPE3R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPE3R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPE3R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPE3R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPE3R, 15)),
	PIC32_PINCTRL_GROUP(69, E5,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 6),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 6),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 6),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 6),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 6),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 6),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 6),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 6),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 6),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 6),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 6),
			PIC32_PINCTRL_FUNCTION(U1TX, RPE5R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPE5R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPE5R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPE5R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPE5R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPE5R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPE5R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPE5R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPE5R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPE5R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPE5R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPE5R, 15)),
	PIC32_PINCTRL_GROUP(72, E8,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 13),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 13),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 13),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 13),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 13),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 13),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 13),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 13),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 13),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 13),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 13),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 13),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPE8R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPE8R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPE8R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPE8R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPE8R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPE8R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPE8R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPE8R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPE8R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPE8R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPE8R, 15)),
	PIC32_PINCTRL_GROUP(73, E9,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 13),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 13),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 13),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 13),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 13),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 13),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 13),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 13),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 13),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 13),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 13),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 13),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 13),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 13),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPE9R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPE9R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPE9R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPE9R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPE9R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPE9R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPE9R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPE9R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPE9R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPE9R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPE9R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPE9R, 15)),
	PIC32_PINCTRL_GROUP(80, F0,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 4),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 4),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 4),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 4),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 4),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 4),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 4),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 4),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 4),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 4),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 4),
			PIC32_PINCTRL_FUNCTION(U1TX, RPF0R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPF0R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPF0R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPF0R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPF0R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPF0R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPF0R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPF0R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPF0R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPF0R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPF0R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPF0R, 15)),
	PIC32_PINCTRL_GROUP(81, F1,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 4),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 4),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 4),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 4),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 4),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 4),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 4),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 4),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 4),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 4),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 4),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 4),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 4),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 4),
			PIC32_PINCTRL_FUNCTION(U3TX, RPF1R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPF1R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPF1R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPF1R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPF1R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPF1R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPF1R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPF1R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPF1R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPF1R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPF1R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPF1R, 15)),
	PIC32_PINCTRL_GROUP(82, F2,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 11),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 11),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 11),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 11),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 11),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 11),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 11),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 11),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 11),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 11),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 11),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 11),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPF2R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPF2R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPF2R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPF2R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPF2R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPF2R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPF2R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPF2R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPF2R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPF2R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPF2R, 15)),
	PIC32_PINCTRL_GROUP(83, F3,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 8),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 8),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 8),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 8),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 8),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 8),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 8),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 8),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 8),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 8),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 8),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 8),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPF3R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPF3R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPF3R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPF3R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPF3R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPF3R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPF3R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPF3R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPF3R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPF3R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPF3R, 15)),
	PIC32_PINCTRL_GROUP(84, F4,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 2),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 2),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 2),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 2),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 2),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 2),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 2),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 2),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 2),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 2),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 2),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 2),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 2),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 2),
			PIC32_PINCTRL_FUNCTION(U3TX, RPF4R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPF4R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPF4R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPF4R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPF4R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPF4R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPF4R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPF4R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPF4R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPF4R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPF4R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPF4R, 15)),
	PIC32_PINCTRL_GROUP(85, F5,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 2),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 2),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 2),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 2),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 2),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 2),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 2),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 2),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 2),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 2),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 2),
			PIC32_PINCTRL_FUNCTION(U1TX, RPF5R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPF5R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPF5R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPF5R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPF5R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPF5R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPF5R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPF5R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPF5R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPF5R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPF5R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPF5R, 15)),
	PIC32_PINCTRL_GROUP(88, F8,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 11),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 11),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 11),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 11),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 11),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 11),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 11),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 11),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 11),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 11),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 11),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 11),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 11),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 11),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPF8R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPF8R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPF8R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPF8R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPF8R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPF8R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPF8R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPF8R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPF8R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPF8R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPF8R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPF8R, 15)),
	PIC32_PINCTRL_GROUP(92, F12,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 9),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 9),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 9),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 9),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 9),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 9),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 9),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 9),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 9),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 9),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 9),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 9),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 9),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 9),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPF12R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPF12R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPF12R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPF12R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPF12R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPF12R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPF12R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPF12R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPF12R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPF12R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPF12R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPF12R, 15)),
	PIC32_PINCTRL_GROUP(93, F13,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 9),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 9),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 9),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 9),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 9),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 9),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 9),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 9),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 9),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 9),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 9),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 9),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPF13R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPF13R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPF13R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPF13R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPF13R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPF13R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPF13R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPF13R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPF13R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPF13R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPF13R, 15)),
	PIC32_PINCTRL_GROUP(96, G0,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 12),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 12),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 12),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 12),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 12),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 12),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 12),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 12),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 12),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 12),
			PIC32_PINCTRL_FUNCTION(U1TX, RPG0R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPG0R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPG0R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPG0R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPG0R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPG0R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPG0R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPG0R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPG0R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPG0R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPG0R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPG0R, 15)),
	PIC32_PINCTRL_GROUP(97, G1,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 12),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 12),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 12),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 12),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 12),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 12),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 12),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 12),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 12),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 12),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 12),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 12),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 12),
			PIC32_PINCTRL_FUNCTION(U3TX, RPG1R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPG1R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPG1R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPG1R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPG1R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPG1R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPG1R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPG1R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPG1R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPG1R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPG1R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPG1R, 15)),
	PIC32_PINCTRL_GROUP(102, G6,
			PIC32_PINCTRL_FUNCTION(INT2, INT2R, 1),
			PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 1),
			PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 1),
			PIC32_PINCTRL_FUNCTION(IC2, IC2R, 1),
			PIC32_PINCTRL_FUNCTION(IC5, IC5R, 1),
			PIC32_PINCTRL_FUNCTION(IC9, IC9R, 1),
			PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 1),
			PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 1),
			PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 1),
			PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 1),
			PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 1),
			PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 1),
			PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 1),
			PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 1),
			PIC32_PINCTRL_FUNCTION(U3RTS, RPG6R, 1),
			PIC32_PINCTRL_FUNCTION(U4TX, RPG6R, 2),
			PIC32_PINCTRL_FUNCTION(U6TX, RPG6R, 4),
			PIC32_PINCTRL_FUNCTION(SS1OUT, RPG6R, 5),
			PIC32_PINCTRL_FUNCTION(SS3OUT, RPG6R, 7),
			PIC32_PINCTRL_FUNCTION(SS4OUT, RPG6R, 8),
			PIC32_PINCTRL_FUNCTION(SS5OUT, RPG6R, 9),
			PIC32_PINCTRL_FUNCTION(SDO6, RPG6R, 10),
			PIC32_PINCTRL_FUNCTION(OC5, RPG6R, 11),
			PIC32_PINCTRL_FUNCTION(OC8, RPG6R, 12),
			PIC32_PINCTRL_FUNCTION(C1OUT, RPG6R, 14),
			PIC32_PINCTRL_FUNCTION(REFCLKO3, RPG6R, 15)),
	PIC32_PINCTRL_GROUP(103, G7,
			PIC32_PINCTRL_FUNCTION(INT4, INT4R, 1),
			PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 1),
			PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 1),
			PIC32_PINCTRL_FUNCTION(IC4, IC4R, 1),
			PIC32_PINCTRL_FUNCTION(IC8, IC8R, 1),
			PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 1),
			PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 1),
			PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 1),
			PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 1),
			PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 1),
			PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 1),
			PIC32_PINCTRL_FUNCTION(U1TX, RPG7R, 1),
			PIC32_PINCTRL_FUNCTION(U2RTS, RPG7R, 2),
			PIC32_PINCTRL_FUNCTION(U5TX, RPG7R, 3),
			PIC32_PINCTRL_FUNCTION(U6RTS, RPG7R, 4),
			PIC32_PINCTRL_FUNCTION(SDO1, RPG7R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPG7R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPG7R, 7),
			PIC32_PINCTRL_FUNCTION(SDO4, RPG7R, 8),
			PIC32_PINCTRL_FUNCTION(SDO5, RPG7R, 9),
			PIC32_PINCTRL_FUNCTION(OC4, RPG7R, 11),
			PIC32_PINCTRL_FUNCTION(OC7, RPG7R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO1, RPG7R, 15)),
	PIC32_PINCTRL_GROUP(104, G8,
			PIC32_PINCTRL_FUNCTION(INT3, INT3R, 1),
			PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 1),
			PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 1),
			PIC32_PINCTRL_FUNCTION(IC3, IC3R, 1),
			PIC32_PINCTRL_FUNCTION(IC7, IC7R, 1),
			PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 1),
			PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 1),
			PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 1),
			PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 1),
			PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 1),
			PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 1),
			PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 1),
			PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 1),
			PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 1),
			PIC32_PINCTRL_FUNCTION(U3TX, RPG8R, 1),
			PIC32_PINCTRL_FUNCTION(U4RTS, RPG8R, 2),
			PIC32_PINCTRL_FUNCTION(SDO1, RPG8R, 5),
			PIC32_PINCTRL_FUNCTION(SDO2, RPG8R, 6),
			PIC32_PINCTRL_FUNCTION(SDO3, RPG8R, 7),
			PIC32_PINCTRL_FUNCTION(SDO5, RPG8R, 9),
			PIC32_PINCTRL_FUNCTION(SS6OUT, RPG8R, 10),
			PIC32_PINCTRL_FUNCTION(OC3, RPG8R, 11),
			PIC32_PINCTRL_FUNCTION(OC6, RPG8R, 12),
			PIC32_PINCTRL_FUNCTION(REFCLKO4, RPG8R, 13),
			PIC32_PINCTRL_FUNCTION(C2OUT, RPG8R, 14),
			PIC32_PINCTRL_FUNCTION(C1TX, RPG8R, 15)),
	PIC32_PINCTRL_GROUP(105, G9,
			PIC32_PINCTRL_FUNCTION(INT1, INT1R, 1),
			PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 1),
			PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 1),
			PIC32_PINCTRL_FUNCTION(IC1, IC1R, 1),
			PIC32_PINCTRL_FUNCTION(IC6, IC6R, 1),
			PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 1),
			PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 1),
			PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 1),
			PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 1),
			PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 1),
			PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 1),
			PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 1),
			PIC32_PINCTRL_FUNCTION(U1RTS, RPG9R, 1),
			PIC32_PINCTRL_FUNCTION(U2TX, RPG9R, 2),
			PIC32_PINCTRL_FUNCTION(U5RTS, RPG9R, 3),
			PIC32_PINCTRL_FUNCTION(U6TX, RPG9R, 4),
			PIC32_PINCTRL_FUNCTION(SS2OUT, RPG9R, 6),
			PIC32_PINCTRL_FUNCTION(SDO4, RPG9R, 8),
			PIC32_PINCTRL_FUNCTION(SDO6, RPG9R, 10),
			PIC32_PINCTRL_FUNCTION(OC2, RPG9R, 11),
			PIC32_PINCTRL_FUNCTION(OC1, RPG9R, 12),
			PIC32_PINCTRL_FUNCTION(OC9, RPG9R, 13),
			PIC32_PINCTRL_FUNCTION(C2TX, RPG9R, 15)),
};

static inline struct pic32_gpio_bank *irqd_to_bank(struct irq_data *d)
{
	return gpiochip_get_data(irq_data_get_irq_chip_data(d));
}

static inline struct pic32_gpio_bank *pctl_to_bank(struct pic32_pinctrl *pctl,
						unsigned pin)
{
	return &pctl->gpio_banks[pin / PINS_PER_BANK];
}

static int pic32_pinctrl_get_groups_count(struct pinctrl_dev *pctldev)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);

	return pctl->ngroups;
}

static const char *pic32_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
						    unsigned group)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);

	return pctl->groups[group].name;
}

static int pic32_pinctrl_get_group_pins(struct pinctrl_dev *pctldev,
					    unsigned group,
					    const unsigned **pins,
					    unsigned *num_pins)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);

	*pins = &pctl->groups[group].pin;
	*num_pins = 1;

	return 0;
}

static const struct pinctrl_ops pic32_pinctrl_ops = {
	.get_groups_count = pic32_pinctrl_get_groups_count,
	.get_group_name = pic32_pinctrl_get_group_name,
	.get_group_pins = pic32_pinctrl_get_group_pins,
	.dt_node_to_map = pinconf_generic_dt_node_to_map_pin,
	.dt_free_map = pinctrl_utils_free_map,
};

static int pic32_pinmux_get_functions_count(struct pinctrl_dev *pctldev)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);

	return pctl->nfunctions;
}

static const char *
pic32_pinmux_get_function_name(struct pinctrl_dev *pctldev, unsigned func)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);

	return pctl->functions[func].name;
}

static int pic32_pinmux_get_function_groups(struct pinctrl_dev *pctldev,
						unsigned func,
						const char * const **groups,
						unsigned * const num_groups)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);

	*groups = pctl->functions[func].groups;
	*num_groups = pctl->functions[func].ngroups;

	return 0;
}

static int pic32_pinmux_enable(struct pinctrl_dev *pctldev,
				   unsigned func, unsigned group)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
	const struct pic32_pin_group *pg = &pctl->groups[group];
	const struct pic32_function *pf = &pctl->functions[func];
	const char *fname = pf->name;
	struct pic32_desc_function *functions = pg->functions;

	while (functions->name) {
		if (!strcmp(functions->name, fname)) {
			dev_dbg(pctl->dev,
				"setting function %s reg 0x%x = %d\n",
				fname, functions->muxreg, functions->muxval);

			writel(functions->muxval, pctl->reg_base + functions->muxreg);

			return 0;
		}

		functions++;
	}

	dev_err(pctl->dev, "cannot mux pin %u to function %u\n", group, func);

	return -EINVAL;
}

static int pic32_gpio_request_enable(struct pinctrl_dev *pctldev,
				     struct pinctrl_gpio_range *range,
				     unsigned offset)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
	struct pic32_gpio_bank *bank = gpiochip_get_data(range->gc);
	u32 mask = BIT(offset - bank->gpio_chip.base);

	dev_dbg(pctl->dev, "requesting gpio %d in bank %d with mask 0x%x\n",
		offset, bank->gpio_chip.base, mask);

	writel(mask, bank->reg_base + PIC32_CLR(ANSEL_REG));

	return 0;
}

static int pic32_gpio_direction_input(struct gpio_chip *chip,
					  unsigned offset)
{
	struct pic32_gpio_bank *bank = gpiochip_get_data(chip);
	u32 mask = BIT(offset);

	writel(mask, bank->reg_base + PIC32_SET(TRIS_REG));

	return 0;
}

static int pic32_gpio_get(struct gpio_chip *chip, unsigned offset)
{
	struct pic32_gpio_bank *bank = gpiochip_get_data(chip);

	return !!(readl(bank->reg_base + PORT_REG) & BIT(offset));
}

static void pic32_gpio_set(struct gpio_chip *chip, unsigned offset,
			       int value)
{
	struct pic32_gpio_bank *bank = gpiochip_get_data(chip);
	u32 mask = BIT(offset);

	if (value)
		writel(mask, bank->reg_base + PIC32_SET(PORT_REG));
	else
		writel(mask, bank->reg_base + PIC32_CLR(PORT_REG));
}

static int pic32_gpio_direction_output(struct gpio_chip *chip,
					   unsigned offset, int value)
{
	struct pic32_gpio_bank *bank = gpiochip_get_data(chip);
	u32 mask = BIT(offset);

	pic32_gpio_set(chip, offset, value);
	writel(mask, bank->reg_base + PIC32_CLR(TRIS_REG));

	return 0;
}

static int pic32_gpio_set_direction(struct pinctrl_dev *pctldev,
					      struct pinctrl_gpio_range *range,
					      unsigned offset, bool input)
{
	struct gpio_chip *chip = range->gc;

	if (input)
		pic32_gpio_direction_input(chip, offset);
	else
		pic32_gpio_direction_output(chip, offset, 0);

	return 0;
}

static const struct pinmux_ops pic32_pinmux_ops = {
	.get_functions_count = pic32_pinmux_get_functions_count,
	.get_function_name = pic32_pinmux_get_function_name,
	.get_function_groups = pic32_pinmux_get_function_groups,
	.set_mux = pic32_pinmux_enable,
	.gpio_request_enable = pic32_gpio_request_enable,
	.gpio_set_direction = pic32_gpio_set_direction,
};

static int pic32_pinconf_get(struct pinctrl_dev *pctldev, unsigned pin,
				 unsigned long *config)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
	struct pic32_gpio_bank *bank = pctl_to_bank(pctl, pin);
	unsigned param = pinconf_to_config_param(*config);
	u32 mask = BIT(pin - bank->gpio_chip.base);
	u32 arg;

	switch (param) {
	case PIN_CONFIG_BIAS_PULL_UP:
		arg = !!(readl(bank->reg_base + CNPU_REG) & mask);
		break;
	case PIN_CONFIG_BIAS_PULL_DOWN:
		arg = !!(readl(bank->reg_base + CNPD_REG) & mask);
		break;
	case PIN_CONFIG_MICROCHIP_DIGITAL:
		arg = !(readl(bank->reg_base + ANSEL_REG) & mask);
		break;
	case PIN_CONFIG_MICROCHIP_ANALOG:
		arg = !!(readl(bank->reg_base + ANSEL_REG) & mask);
		break;
	case PIN_CONFIG_DRIVE_OPEN_DRAIN:
		arg = !!(readl(bank->reg_base + ODCU_REG) & mask);
		break;
	case PIN_CONFIG_INPUT_ENABLE:
		arg = !!(readl(bank->reg_base + TRIS_REG) & mask);
		break;
	case PIN_CONFIG_OUTPUT:
		arg = !(readl(bank->reg_base + TRIS_REG) & mask);
		break;
	default:
		dev_err(pctl->dev, "Property %u not supported\n", param);
		return -ENOTSUPP;
	}

	*config = pinconf_to_config_packed(param, arg);

	return 0;
}

static int pic32_pinconf_set(struct pinctrl_dev *pctldev, unsigned pin,
				 unsigned long *configs, unsigned num_configs)
{
	struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
	struct pic32_gpio_bank *bank = pctl_to_bank(pctl, pin);
	unsigned param;
	u32 arg;
	unsigned int i;
	u32 offset = pin - bank->gpio_chip.base;
	u32 mask = BIT(offset);

	dev_dbg(pctl->dev, "setting pin %d bank %d mask 0x%x\n",
		pin, bank->gpio_chip.base, mask);

	for (i = 0; i < num_configs; i++) {
		param = pinconf_to_config_param(configs[i]);
		arg = pinconf_to_config_argument(configs[i]);

		switch (param) {
		case PIN_CONFIG_BIAS_PULL_UP:
			dev_dbg(pctl->dev, "   pullup\n");
			writel(mask, bank->reg_base +PIC32_SET(CNPU_REG));
			break;
		case PIN_CONFIG_BIAS_PULL_DOWN:
			dev_dbg(pctl->dev, "   pulldown\n");
			writel(mask, bank->reg_base + PIC32_SET(CNPD_REG));
			break;
		case PIN_CONFIG_MICROCHIP_DIGITAL:
			dev_dbg(pctl->dev, "   digital\n");
			writel(mask, bank->reg_base + PIC32_CLR(ANSEL_REG));
			break;
		case PIN_CONFIG_MICROCHIP_ANALOG:
			dev_dbg(pctl->dev, "   analog\n");
			writel(mask, bank->reg_base + PIC32_SET(ANSEL_REG));
			break;
		case PIN_CONFIG_DRIVE_OPEN_DRAIN:
			dev_dbg(pctl->dev, "   opendrain\n");
			writel(mask, bank->reg_base + PIC32_SET(ODCU_REG));
			break;
		case PIN_CONFIG_INPUT_ENABLE:
			pic32_gpio_direction_input(&bank->gpio_chip, offset);
			break;
		case PIN_CONFIG_OUTPUT:
			pic32_gpio_direction_output(&bank->gpio_chip,
						    offset, arg);
			break;
		default:
			dev_err(pctl->dev, "Property %u not supported\n",
				param);
			return -ENOTSUPP;
		}
	}

	return 0;
}

static const struct pinconf_ops pic32_pinconf_ops = {
	.pin_config_get = pic32_pinconf_get,
	.pin_config_set = pic32_pinconf_set,
	.is_generic = true,
};

static struct pinctrl_desc pic32_pinctrl_desc = {
	.name = "pic32-pinctrl",
	.pctlops = &pic32_pinctrl_ops,
	.pmxops = &pic32_pinmux_ops,
	.confops = &pic32_pinconf_ops,
	.owner = THIS_MODULE,
};

static int pic32_gpio_get_direction(struct gpio_chip *chip, unsigned offset)
{
	struct pic32_gpio_bank *bank = gpiochip_get_data(chip);

	if (readl(bank->reg_base + TRIS_REG) & BIT(offset))
		return GPIO_LINE_DIRECTION_IN;

	return GPIO_LINE_DIRECTION_OUT;
}

static void pic32_gpio_irq_ack(struct irq_data *data)
{
	struct pic32_gpio_bank *bank = irqd_to_bank(data);

	writel(0, bank->reg_base + CNF_REG);
}

static void pic32_gpio_irq_mask(struct irq_data *data)
{
	struct pic32_gpio_bank *bank = irqd_to_bank(data);

	writel(BIT(PIC32_CNCON_ON), bank->reg_base + PIC32_CLR(CNCON_REG));
	gpiochip_disable_irq(&bank->gpio_chip, irqd_to_hwirq(data));
}

static void pic32_gpio_irq_unmask(struct irq_data *data)
{
	struct pic32_gpio_bank *bank = irqd_to_bank(data);

	gpiochip_enable_irq(&bank->gpio_chip, irqd_to_hwirq(data));
	writel(BIT(PIC32_CNCON_ON), bank->reg_base + PIC32_SET(CNCON_REG));
}

static unsigned int pic32_gpio_irq_startup(struct irq_data *data)
{
	struct gpio_chip *chip = irq_data_get_irq_chip_data(data);

	pic32_gpio_direction_input(chip, data->hwirq);
	pic32_gpio_irq_unmask(data);

	return 0;
}

static int pic32_gpio_irq_set_type(struct irq_data *data, unsigned int type)
{
	struct pic32_gpio_bank *bank = irqd_to_bank(data);
	u32 mask = irqd_to_hwirq(data);

	switch (type & IRQ_TYPE_SENSE_MASK) {
	case IRQ_TYPE_EDGE_RISING:
		/* enable RISE */
		writel(mask, bank->reg_base + PIC32_SET(CNEN_REG));
		/* disable FALL */
		writel(mask, bank->reg_base + PIC32_CLR(CNNE_REG));
		/* enable EDGE */
		writel(BIT(PIC32_CNCON_EDGE), bank->reg_base + PIC32_SET(CNCON_REG));
		break;
	case IRQ_TYPE_EDGE_FALLING:
		/* disable RISE */
		writel(mask, bank->reg_base + PIC32_CLR(CNEN_REG));
		/* enable FALL */
		writel(mask, bank->reg_base + PIC32_SET(CNNE_REG));
		/* enable EDGE */
		writel(BIT(PIC32_CNCON_EDGE), bank->reg_base + PIC32_SET(CNCON_REG));
		break;
	case IRQ_TYPE_EDGE_BOTH:
		/* enable RISE */
		writel(mask, bank->reg_base + PIC32_SET(CNEN_REG));
		/* enable FALL */
		writel(mask, bank->reg_base + PIC32_SET(CNNE_REG));
		/* enable EDGE */
		writel(BIT(PIC32_CNCON_EDGE), bank->reg_base + PIC32_SET(CNCON_REG));
		break;
	default:
		return -EINVAL;
	}

	irq_set_handler_locked(data, handle_edge_irq);

	return 0;
}

static u32 pic32_gpio_get_pending(struct gpio_chip *gc, unsigned long status)
{
	struct pic32_gpio_bank *bank = gpiochip_get_data(gc);
	u32 pending = 0;
	u32 cnen_rise, cnne_fall;
	u32 pin;

	cnen_rise = readl(bank->reg_base + CNEN_REG);
	cnne_fall = readl(bank->reg_base + CNNE_REG);

	for_each_set_bit(pin, &status, BITS_PER_LONG) {
		u32 mask = BIT(pin);

		if ((mask & cnen_rise) || (mask && cnne_fall))
			pending |= mask;
	}

	return pending;
}

static void pic32_gpio_irq_handler(struct irq_desc *desc)
{
	struct gpio_chip *gc = irq_desc_get_handler_data(desc);
	struct pic32_gpio_bank *bank = gpiochip_get_data(gc);
	struct irq_chip *chip = irq_desc_get_chip(desc);
	unsigned long pending;
	unsigned int pin;
	u32 stat;

	chained_irq_enter(chip, desc);

	stat = readl(bank->reg_base + CNF_REG);
	pending = pic32_gpio_get_pending(gc, stat);

	for_each_set_bit(pin, &pending, BITS_PER_LONG)
		generic_handle_domain_irq(gc->irq.domain, pin);

	chained_irq_exit(chip, desc);
}

#define GPIO_BANK(_bank, _npins)					\
	{								\
		.gpio_chip = {						\
			.label = "GPIO" #_bank,				\
			.request = gpiochip_generic_request,		\
			.free = gpiochip_generic_free,			\
			.get_direction = pic32_gpio_get_direction,	\
			.direction_input = pic32_gpio_direction_input,	\
			.direction_output = pic32_gpio_direction_output, \
			.get = pic32_gpio_get,				\
			.set = pic32_gpio_set,				\
			.ngpio = _npins,				\
			.base = GPIO_BANK_START(_bank),			\
			.owner = THIS_MODULE,				\
			.can_sleep = 0,					\
		},							\
		.instance = (_bank),					\
	}

static struct pic32_gpio_bank pic32_gpio_banks[] = {
	GPIO_BANK(0, PINS_PER_BANK),
	GPIO_BANK(1, PINS_PER_BANK),
	GPIO_BANK(2, PINS_PER_BANK),
	GPIO_BANK(3, PINS_PER_BANK),
	GPIO_BANK(4, PINS_PER_BANK),
	GPIO_BANK(5, PINS_PER_BANK),
	GPIO_BANK(6, PINS_PER_BANK),
	GPIO_BANK(7, PINS_PER_BANK),
	GPIO_BANK(8, PINS_PER_BANK),
	GPIO_BANK(9, PINS_PER_BANK),
};

static void pic32_gpio_irq_print_chip(struct irq_data *data, struct seq_file *p)
{
	struct pic32_gpio_bank *bank = irqd_to_bank(data);

	seq_printf(p, "GPIO%d", bank->instance);
}

static const struct irq_chip pic32_gpio_irq_chip = {
	.irq_startup = pic32_gpio_irq_startup,
	.irq_ack = pic32_gpio_irq_ack,
	.irq_mask = pic32_gpio_irq_mask,
	.irq_unmask = pic32_gpio_irq_unmask,
	.irq_set_type = pic32_gpio_irq_set_type,
	.irq_print_chip = pic32_gpio_irq_print_chip,
	.flags = IRQCHIP_IMMUTABLE,
	GPIOCHIP_IRQ_RESOURCE_HELPERS,
};

static int pic32_pinctrl_probe(struct platform_device *pdev)
{
	struct pic32_pinctrl *pctl;
	int ret;

	pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL);
	if (!pctl)
		return -ENOMEM;
	pctl->dev = &pdev->dev;
	dev_set_drvdata(&pdev->dev, pctl);

	pctl->reg_base = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(pctl->reg_base))
		return PTR_ERR(pctl->reg_base);

	pctl->clk = devm_clk_get(&pdev->dev, NULL);
	if (IS_ERR(pctl->clk)) {
		ret = PTR_ERR(pctl->clk);
		dev_err(&pdev->dev, "clk get failed\n");
		return ret;
	}

	ret = clk_prepare_enable(pctl->clk);
	if (ret) {
		dev_err(&pdev->dev, "clk enable failed\n");
		return ret;
	}

	pctl->pins = pic32_pins;
	pctl->npins = ARRAY_SIZE(pic32_pins);
	pctl->functions = pic32_functions;
	pctl->nfunctions = ARRAY_SIZE(pic32_functions);
	pctl->groups = pic32_groups;
	pctl->ngroups = ARRAY_SIZE(pic32_groups);
	pctl->gpio_banks = pic32_gpio_banks;
	pctl->nbanks = ARRAY_SIZE(pic32_gpio_banks);

	pic32_pinctrl_desc.pins = pctl->pins;
	pic32_pinctrl_desc.npins = pctl->npins;
	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);

	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
					      pctl);
	if (IS_ERR(pctl->pctldev)) {
		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
		return PTR_ERR(pctl->pctldev);
	}

	return 0;
}

static int pic32_gpio_probe(struct platform_device *pdev)
{
	struct device_node *np = pdev->dev.of_node;
	struct pic32_gpio_bank *bank;
	u32 id;
	int irq, ret;
	struct gpio_irq_chip *girq;

	if (of_property_read_u32(np, "microchip,gpio-bank", &id)) {
		dev_err(&pdev->dev, "microchip,gpio-bank property not found\n");
		return -EINVAL;
	}

	if (id >= ARRAY_SIZE(pic32_gpio_banks)) {
		dev_err(&pdev->dev, "invalid microchip,gpio-bank property\n");
		return -EINVAL;
	}

	bank = &pic32_gpio_banks[id];

	bank->reg_base = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(bank->reg_base))
		return PTR_ERR(bank->reg_base);

	irq = platform_get_irq(pdev, 0);
	if (irq < 0)
		return irq;

	bank->clk = devm_clk_get(&pdev->dev, NULL);
	if (IS_ERR(bank->clk)) {
		ret = PTR_ERR(bank->clk);
		dev_err(&pdev->dev, "clk get failed\n");
		return ret;
	}

	ret = clk_prepare_enable(bank->clk);
	if (ret) {
		dev_err(&pdev->dev, "clk enable failed\n");
		return ret;
	}

	bank->gpio_chip.parent = &pdev->dev;

	girq = &bank->gpio_chip.irq;
	gpio_irq_chip_set_chip(girq, &pic32_gpio_irq_chip);
	girq->parent_handler = pic32_gpio_irq_handler;
	girq->num_parents = 1;
	girq->parents = devm_kcalloc(&pdev->dev, 1, sizeof(*girq->parents),
				     GFP_KERNEL);
	if (!girq->parents)
		return -ENOMEM;
	girq->default_type = IRQ_TYPE_NONE;
	girq->handler = handle_level_irq;
	girq->parents[0] = irq;
	ret = gpiochip_add_data(&bank->gpio_chip, bank);
	if (ret < 0) {
		dev_err(&pdev->dev, "Failed to add GPIO chip %u: %d\n",
			id, ret);
		return ret;
	}
	return 0;
}

static const struct of_device_id pic32_pinctrl_of_match[] = {
	{ .compatible = "microchip,pic32mzda-pinctrl", },
	{ },
};

static struct platform_driver pic32_pinctrl_driver = {
	.driver = {
		.name = "pic32-pinctrl",
		.of_match_table = pic32_pinctrl_of_match,
		.suppress_bind_attrs = true,
	},
	.probe = pic32_pinctrl_probe,
};

static const struct of_device_id pic32_gpio_of_match[] = {
	{ .compatible = "microchip,pic32mzda-gpio", },
	{ },
};

static struct platform_driver pic32_gpio_driver = {
	.driver = {
		.name = "pic32-gpio",
		.of_match_table = pic32_gpio_of_match,
		.suppress_bind_attrs = true,
	},
	.probe = pic32_gpio_probe,
};

static int __init pic32_gpio_register(void)
{
	return platform_driver_register(&pic32_gpio_driver);
}
arch_initcall(pic32_gpio_register);

static int __init pic32_pinctrl_register(void)
{
	return platform_driver_register(&pic32_pinctrl_driver);
}
arch_initcall(pic32_pinctrl_register);
