// 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/of_device.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;
	struct resource *res;
	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);

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	pctl->reg_base = devm_ioremap_resource(&pdev->dev, res);
	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);
