NUTOOL_PIN.g_cfg_chips = [
	//NUC100AN BN
	// { name: "NUC100VD2AN", pkg: "LQFP100" },
	// { name: "NUC100VD3AN", pkg: "LQFP100" },
	// { name: "NUC100VE3AN", pkg: "LQFP100" },
	// { name: "NUC120VD2AN", pkg: "LQFP100" },
	// { name: "NUC120VD3AN", pkg: "LQFP100" },
	// { name: "NUC120VE3AN", pkg: "LQFP100" },
	// { name: "NUC100RD3AN", pkg: "LQFP64" },
	// { name: "NUC100RE3AN", pkg: "LQFP64" },
	// { name: "NUC100RC1BN", pkg: "LQFP64" },
	// { name: "NUC100RD1BN", pkg: "LQFP64" },
	// { name: "NUC100RD2BN", pkg: "LQFP64" },
	// { name: "NUC120RD3AN", pkg: "LQFP64" },
	// { name: "NUC120RE3AN", pkg: "LQFP64" },
	// { name: "NUC120RC1BN", pkg: "LQFP64" },
	// { name: "NUC120RD1BN", pkg: "LQFP64" },
	// { name: "NUC120RD2BN", pkg: "LQFP64" },
	// { name: "NUC100LD3AN", pkg: "LQFP48" },
	// { name: "NUC100LE3AN", pkg: "LQFP48" },
	// { name: "NUC100LC1BN", pkg: "LQFP48" },
	// { name: "NUC100LD1BN", pkg: "LQFP48" },
	// { name: "NUC100LD2BN", pkg: "LQFP48" },
	// { name: "NUC120LD3AN", pkg: "LQFP48" },
	// { name: "NUC120LE3AN", pkg: "LQFP48" },
	// { name: "NUC120LC1BN", pkg: "LQFP48" },
	// { name: "NUC120LD1BN", pkg: "LQFP48" },
	// { name: "NUC120LD2BN", pkg: "LQFP48" },
	//NUC100CN
	{ name: "NUC130VE3CN", pkg: "LQFP100" },
	{ name: "NUC140VE3CN", pkg: "LQFP100" },
	{ name: "NUC130RC1CN", pkg: "LQFP64" },
	{ name: "NUC130RD2CN", pkg: "LQFP64" },
	{ name: "NUC130RE3CN", pkg: "LQFP64" },
	{ name: "NUC140RC1CN", pkg: "LQFP64" },
	{ name: "NUC140RD2CN", pkg: "LQFP64" },
	{ name: "NUC140RE3CN", pkg: "LQFP64" },
	{ name: "NUC130LC1CN", pkg: "LQFP48" },
	{ name: "NUC130LD2CN", pkg: "LQFP48" },
	{ name: "NUC130LE3CN", pkg: "LQFP48" },
	{ name: "NUC140LC1CN", pkg: "LQFP48" },
	{ name: "NUC140LD2CN", pkg: "LQFP48" },
	{ name: "NUC140LE3CN", pkg: "LQFP48" },
	//NUC100DN
	//{ name: "NUC100VD2DN", pkg: "LQFP100" },
	//{ name: "NUC100VD3DN", pkg: "LQFP100" },
	{ name: "NUC100VE3DN", pkg: "LQFP100" },
	{ name: "NUC100RC1DN", pkg: "LQFP64" },
	{ name: "NUC100RD1DN", pkg: "LQFP64" },
	{ name: "NUC100RD2DN", pkg: "LQFP64" },
	//{ name: "NUC100RD3DN", pkg: "LQFP64" },
	{ name: "NUC100RE3DN", pkg: "LQFP64" },
	{ name: "NUC100LC1DN", pkg: "LQFP48" },
	//{ name: "NUC100LD1DN", pkg: "LQFP48" },
	{ name: "NUC100LD2DN", pkg: "LQFP48" },
	//{ name: "NUC100LD3DN", pkg: "LQFP48" },
	{ name: "NUC100LE3DN", pkg: "LQFP48" },
	//{ name: "NUC120VD2DN", pkg: "LQFP100" },
	//{ name: "NUC120VD3DN", pkg: "LQFP100" },
	{ name: "NUC120VE3DN", pkg: "LQFP100" },
	{ name: "NUC120RC1DN", pkg: "LQFP64" },
	//{ name: "NUC120RD1DN", pkg: "LQFP64" },
	{ name: "NUC120RD2DN", pkg: "LQFP64" },
	//{ name: "NUC120RD3DN", pkg: "LQFP64" },
	{ name: "NUC120RE3DN", pkg: "LQFP64" },
	{ name: "NUC120LC1DN", pkg: "LQFP48" },
	//{ name: "NUC120LD1DN", pkg: "LQFP48" },
	{ name: "NUC120LD2DN", pkg: "LQFP48" },
	//{ name: "NUC120LD3DN", pkg: "LQFP48" },
	{ name: "NUC120LE3DN", pkg: "LQFP48" },
	//NUC131
	{ name: "NUC131SC2AE", pkg: "LQFP64" },
	{ name: "NUC131SD2AE", pkg: "LQFP64" },
	{ name: "NUC131LC2AE", pkg: "LQFP48" },
	{ name: "NUC131LD2AE", pkg: "LQFP48" },
	//NUC121AE
	{ name: "NUC121SC2AE", pkg: "LQFP64" },
	{ name: "NUC121LC2AE", pkg: "LQFP48" },
	{ name: "NUC121ZC2AE", pkg: "QFN33" },
	{ name: "NUC125SC2AE", pkg: "LQFP64" },
	{ name: "NUC125LC2AE", pkg: "LQFP48" },
	{ name: "NUC125ZC2AE", pkg: "QFN33" },
	//NUC122AN
	//{ name: "NUC122ZD2AN", pkg: "QFN33" },
	//{ name: "NUC122ZC1AN", pkg: "QFN33" },
	//{ name: "NUC122LD2AN", pkg: "LQFP48" },
	//{ name: "NUC122LC1AN", pkg: "LQFP48" },
	//{ name: "NUC122SD2AN", pkg: "LQFP64" },
	//{ name: "NUC122SC1AN", pkg: "LQFP64" },
	//NUC123AN
	{ name: "NUC123ZD4AN0", pkg: "QFN33" },
	{ name: "NUC123ZC2AN1", pkg: "QFN33" },
	{ name: "NUC123LD4AN0", pkg: "LQFP48" },
	{ name: "NUC123LC2AN1", pkg: "LQFP48" },
	{ name: "NUC123SD4AN0", pkg: "LQFP64" },
	{ name: "NUC123SC2AN1", pkg: "LQFP64" },
	//NUC123AE
	{ name: "NUC123ZD4AE0", pkg: "QFN33" },
	{ name: "NUC123ZC2AE1", pkg: "QFN33" },
	{ name: "NUC123SD4AE0", pkg: "LQFP64" },
	{ name: "NUC123SC2AE1", pkg: "LQFP64" },
	{ name: "NUC123LD4AE0", pkg: "LQFP48" },
	{ name: "NUC123LC2AE1", pkg: "LQFP48" },
	// NUC126
	{ name: "NUC126LE4AE", pkg: "LQFP48" },
	{ name: "NUC126LG4AE", pkg: "LQFP48" },
	{ name: "NUC126SE4AE", pkg: "LQFP64" },
	{ name: "NUC126SG4AE", pkg: "LQFP64" },
	{ name: "NUC126VG4AE", pkg: "LQFP100" },
	// NUC1261
	{ name: "NUC1261LG4AE", pkg: "LQFP48" },
	{ name: "NUC1261LE4AE", pkg: "LQFP48" },
	{ name: "NUC1261NE4AE", pkg: "LQFP48" },
	{ name: "NUC1261SG4AE", pkg: "LQFP64" },
	{ name: "NUC1261SE4AE", pkg: "LQFP64" }
];

NUTOOL_PIN.g_cfg_pkgs = {
	"LQFP100 (USB)": [
		'PE.15', 'PE.14', 'PE.13', 'PB.14', 'PB.13', 'PB.12', 'X32O', 'X32I', 'PA.11', 'PA.10',
		'PA.9', 'PA.8', 'PD.8', 'PD.9', 'PD.10', 'PD.11', 'PD.12', 'PD.13', 'PB.4', 'PB.5',
		'PB.6', 'PB.7', 'LDO', 'VDD', 'VSS',
		'PE.8', 'PE.7', 'VBUS', 'VDD33', 'D-', 'D+', 'PB.0', 'PB.1', 'PB.2', 'PB.3',
		'PD.6', 'PD.7', 'PD.14', 'PD.15', 'PC.5', 'PC.4', 'PC.3', 'PC.2', 'PC.1', 'PC.0',
		'PE.6', 'PE.5', 'PB.11', 'PB.10', 'PB.9',
		'PE.4', 'PE.3', 'PE.2', 'PE.1', 'PE.0', 'PC.13', 'PC.12', 'PC.11', 'PC.10', 'PC.9',
		'PC.8', 'PA.15', 'PA.14', 'PA.13', 'PA.12', 'ICE_DAT', 'ICE_CLK', 'VDD', 'VSS', 'AVSS',
		'PA.0', 'PA.1', 'PA.2', 'PA.3', 'PA.4',
		'PA.5', 'PA.6', 'PA.7', 'Vref', 'AVDD', 'PD.0', 'PD.1', 'PD.2', 'PD.3', 'PD.4',
		'PD.5', 'PC.7', 'PC.6', 'PC.15', 'PC.14', 'PB.15', 'XT1_OUT/PF.0', 'XT1_IN/PF.1', '/RESET', 'VSS',
		'VDD', 'PF.2', 'PF.3', 'PVSS', 'PB.8'
	],
	"LQFP100": [
		'PE.15', 'PE.14', 'PE.13', 'PB.14', 'PB.13', 'PB.12', 'X32O', 'X32I', 'PA.11', 'PA.10',
		'PA.9', 'PA.8', 'PD.8', 'PD.9', 'PD.10', 'PD.11', 'PD.12', 'PD.13', 'PB.4', 'PB.5',
		'PB.6', 'PB.7', 'LDO', 'VDD', 'VSS',
		'PE.12', 'PE.11', 'PE.10', 'PE.9', 'PE.8', 'PE.7', 'PB.0', 'PB.1', 'PB.2', 'PB.3',
		'PD.6', 'PD.7', 'PD.14', 'PD.15', 'PC.5', 'PC.4', 'PC.3', 'PC.2', 'PC.1', 'PC.0',
		'PE.6', 'PE.5', 'PB.11', 'PB.10', 'PB.9',
		'PE.4', 'PE.3', 'PE.2', 'PE.1', 'PE.0', 'PC.13', 'PC.12', 'PC.11', 'PC.10', 'PC.9',
		'PC.8', 'PA.15', 'PA.14', 'PA.13', 'PA.12', 'ICE_DAT', 'ICE_CLK', 'VDD', 'VSS', 'AVSS',
		'PA.0', 'PA.1', 'PA.2', 'PA.3', 'PA.4',
		'PA.5', 'PA.6', 'PA.7', 'Vref', 'AVDD', 'PD.0', 'PD.1', 'PD.2', 'PD.3', 'PD.4',
		'PD.5', 'PC.7', 'PC.6', 'PC.15', 'PC.14', 'PB.15', 'XT1_OUT/PF.0', 'XT1_IN/PF.1', '/RESET', 'VSS',
		'VDD', 'PF.2', 'PF.3', 'PVSS', 'PB.8'
	],
	"LQFP64 (USB)": [
		'PB.14', 'PB.13', 'PB.12', 'X32O', 'X32I', 'PA.11', 'PA.10', 'PA.9', 'PA.8', 'PB.4',
		'PB.5', 'PB.6', 'PB.7', 'LDO', 'VDD', 'VSS',
		'VBUS', 'VDD33', 'D-', 'D+', 'PB.0', 'PB.1', 'PB.2', 'PB.3', 'PC.3', 'PC.2',
		'PC.1', 'PC.0', 'PE.5', 'PB.11', 'PB.10', 'PB.9',
		'PC.11', 'PC.10', 'PC.9', 'PC.8', 'PA.15', 'PA.14', 'PA.13', 'PA.12', 'ICE_DAT', 'ICE_CLK',
		'AVSS', 'PA.0', 'PA.1', 'PA.2', 'PA.3', 'PA.4',
		'PA.5', 'PA.6', 'PA.7', 'AVDD', 'PC.7', 'PC.6', 'PC.15', 'PC.14', 'PB.15', 'XT1_OUT/PF.0',
		'XT1_IN/PF.1', '/RESET', 'VSS', 'VDD', 'PVSS', 'PB.8'
	],
	"LQFP64": [
		'PB.14', 'PB.13', 'PB.12', 'X32O', 'X32I', 'PA.11', 'PA.10', 'PA.9', 'PA.8', 'PB.4',
		'PB.5', 'PB.6', 'PB.7', 'LDO', 'VDD', 'VSS',
		'PB.0', 'PB.1', 'PB.2', 'PB.3', 'PD.6', 'PD.7', 'PD.14', 'PD.15', 'PC.3', 'PC.2',
		'PC.1', 'PC.0', 'PE.5', 'PB.11', 'PB.10', 'PB.9',
		'PC.11', 'PC.10', 'PC.9', 'PC.8', 'PA.15', 'PA.14', 'PA.13', 'PA.12', 'ICE_DAT', 'ICE_CLK',
		'AVSS', 'PA.0', 'PA.1', 'PA.2', 'PA.3', 'PA.4',
		'PA.5', 'PA.6', 'PA.7', 'AVDD', 'PC.7', 'PC.6', 'PC.15', 'PC.14', 'PB.15', 'XT1_OUT/PF.0',
		'XT1_IN/PF.1', '/RESET', 'VSS', 'VDD', 'PVSS', 'PB.8'
	],
	"LQFP48 (USB)": [
		'PB.12', 'X32O', 'X32I', 'PA.11', 'PA.10', 'PA.9', 'PA.8', 'PB.4', 'PB.5', 'LDO',
		'VDD', 'VSS',
		'VBUS', 'VDD33', 'D-', 'D+', 'PB.0', 'PB.1', 'PB.2', 'PB.3', 'PC.3', 'PC.2',
		'PC.1', 'PC.0',
		'PA.15', 'PA.14', 'PA.13', 'PA.12', 'ICE_DAT', 'ICE_CLK', 'AVSS', 'PA.0', 'PA.1', 'PA.2',
		'PA.3', 'PA.4',
		'PA.5', 'PA.6', 'PA.7', 'AVDD', 'PC.7', 'PC.6', 'PB.15', 'XT1_OUT/PF.0', 'XT1_IN/PF.1', '/RESET',
		'PVSS', 'PB.8'
	],
	"LQFP48": [
		'PB.12', 'X32O', 'X32I', 'PA.11', 'PA.10', 'PA.9', 'PA.8', 'PB.4', 'PB.5', 'LDO',
		'VDD', 'VSS',
		'PB.0', 'PB.1', 'PB.2', 'PB.3', 'PC.3', 'PC.2', 'PC.1', 'PC.0', 'PE.5', 'PB.11',
		'PB.10', 'PB.9',
		'PA.15', 'PA.14', 'PA.13', 'PA.12', 'ICE_DAT', 'ICE_CLK', 'AVSS', 'PA.0', 'PA.1', 'PA.2',
		'PA.3', 'PA.4',
		'PA.5', 'PA.6', 'PA.7', 'AVDD', 'PC.7', 'PC.6', 'PB.15', 'XT1_OUT/PF.0', 'XT1_IN/PF.1', '/RESET',
		'PVSS', 'PB.8'
	]
};

NUTOOL_PIN.g_cfg_gpios = [
	{ f: ['PA.0:0', 'ADC0:1', 'SC0PWR:3'] },
	{ f: ['PA.1:0', 'ADC1:1', 'SC0RST:3', 'AD12:13'] },
	{ f: ['PA.2:0', 'ADC2:1', 'SC0CLK:3', 'AD11:13'] },
	{ f: ['PA.3:0', 'ADC3:1', 'SC0DAT:3', 'AD10:13'] },
	{ f: ['PA.4:0', 'ADC4:1', 'SC1PWR:3', 'AD9:13'] },
	{ f: ['PA.5:0', 'ADC5:1', 'SC1RST:3', 'AD8:13'] },
	{ f: ['PA.6:0', 'ADC6:1', 'SC1CLK:3', 'AD7:5'] },
	{ f: ['PA.7:0', 'ADC7:1', 'SPISS21:3', 'SC1DAT:5', 'AD6:9'] },
	{ f: ['PA.8:0', 'I2C0SDA:1'] },
	{ f: ['PA.9:0', 'I2C0SCL:1'] },
	{ f: ['PA.10:0', 'I2C1SDA:1', 'nWR:3'] },
	{ f: ['PA.11:0', 'I2C1SCL:1', 'nRD:3'] },
	{ f: ['PA.12:0', 'PWM0:1', 'SC2DAT:3', 'AD13:13'] },
	{ f: ['PA.13:0', 'PWM1:1', 'SC2CLK:3', 'AD14:13'] },
	{ f: ['PA.14:0', 'PWM2:1', 'SC2RST:3', 'AD15:13'] },
	{ f: ['PA.15:0', 'PWM3:1', 'I2SMCLK:3', 'SC2PWR:5'] },

	{ f: ['PB.0:0', 'RXD0:1'] },
	{ f: ['PB.1:0', 'TXD0:1'] },
	{ f: ['PB.2:0', 'RTS0:1', 'T2EX:3', 'nWRL:13'] },
	{ f: ['PB.3:0', 'CTS0:1', 'T3EX:3', 'SC2CD:5', 'nWRH:15'] },
	{ f: ['PB.4:0', 'RXD1:1'] },
	{ f: ['PB.5:0', 'TXD1:1'] },
	{ f: ['PB.6:0', 'RTS1:1', 'ALE:3'] },
	{ f: ['PB.7:0', 'CTS1:1', 'nCS:3'] },
	{ f: ['PB.8:0', 'TM0:1', 'STADC:2'] },
	{ f: ['PB.9:0', 'TM1:1', 'SPISS11:3'] },
	{ f: ['PB.10:0', 'TM2:1', 'SPISS01:3'] },
	{ f: ['PB.11:0', 'TM3:1', 'PWM4:3'] },
	{ f: ['PB.12:0', 'CPO0:1', 'CLKO:3', 'AD0:5'] },
	{ f: ['PB.13:0', 'CPO1:1', 'AD1:3'] },
	{ f: ['PB.14:0', 'INT0:1', 'SPISS31:3'] },
	{ f: ['PB.15:0', 'INT1:1', 'T0EX:3'] },

	{ f: ['PC.0:0', 'SPISS00:1', 'I2SLRCLK:3'] },
	{ f: ['PC.1:0', 'SPICLK0:1', 'I2SBCLK:3'] },
	{ f: ['PC.2:0', 'MISO00:1', 'I2SDI:3'] },
	{ f: ['PC.3:0', 'MOSI00:1', 'I2SDO:3'] },
	{ f: ['PC.4:0', 'MISO01:1'] },
	{ f: ['PC.5:0', 'MOSI01:1'] },
	{ f: ['PC.6:0', 'CPP0:1', 'SC0CD:3', 'AD4:5'] },
	{ f: ['PC.7:0', 'CPN0:1', 'SC1CD:3', 'AD5:5'] },
	{ f: ['PC.8:0', 'SPISS10:1', 'MCLK:7'] },
	{ f: ['PC.9:0', 'SPICLK1:1'] },
	{ f: ['PC.10:0', 'MISO10:1'] },
	{ f: ['PC.11:0', 'MOSI10:1'] },
	{ f: ['PC.12:0', 'MISO11:1'] },
	{ f: ['PC.13:0', 'MOSI11:1'] },
	{ f: ['PC.14:0', 'CPP1:1', 'AD2:3'] },
	{ f: ['PC.15:0', 'CPN1:1', 'AD3:3'] },

	{ f: ['PD.0:0', 'SPISS20:1'] },
	{ f: ['PD.1:0', 'SPICLK2:1'] },
	{ f: ['PD.2:0', 'MISO20:1'] },
	{ f: ['PD.3:0', 'MOSI20:1'] },
	{ f: ['PD.4:0', 'MISO21:1'] },
	{ f: ['PD.5:0', 'MOSI21:1'] },
	{ f: ['PD.6:0'] },
	{ f: ['PD.7:0'] },
	{ f: ['PD.8:0', 'SPISS30:1'] },
	{ f: ['PD.9:0', 'SPICLK3:1'] },
	{ f: ['PD.10:0', 'MISO30:1'] },
	{ f: ['PD.11:0', 'MOSI30:1'] },
	{ f: ['PD.12:0', 'MISO31:1'] },
	{ f: ['PD.13:0', 'MOSI31:1'] },
	{ f: ['PD.14:0', 'RXD2:1'] },
	{ f: ['PD.15:0', 'TXD2:1'] },

	{ f: ['PE.0:0', 'PWM6:1'] },
	{ f: ['PE.1:0', 'PWM7:1'] },
	{ f: ['PE.2:0'] },
	{ f: ['PE.3:0'] },
	{ f: ['PE.4:0'] },
	{ f: ['PE.5:0', 'PWM5:1', 'T1EX:3'] },
	{ f: ['PE.6:0'] },
	{ f: ['PE.7:0'] },
	{ f: ['PE.8:0'] },
	{ f: ['PE.9:0'] },
	{ f: ['PE.10:0'] },
	{ f: ['PE.11:0'] },
	{ f: ['PE.12:0'] },
	{ f: ['PE.13:0'] },
	{ f: ['PE.14:0'] },
	{ f: ['PE.15:0'] },

	{ f: ['PF.0:0'] },
	{ f: ['PF.1:0'] },
	{ f: ['PF.2:0', 'PS2DAT:1'] },
	{ f: ['PF.3:0', 'PS2CLK:1'] }
];

NUTOOL_PIN.g_cfg_gpiosDefines = NUTOOL_PIN.g_cfg_gpiosDefines = [
	{ f: ['PA.0', 'ADC0:SYS_GPA_MFP_PA0_ADC0@GPA_MFP', 'SC0PWR:SYS_GPA_MFP_PA0_SC0_PWR@GPA_MFP/SYS_ALT_MFP1_PA0_SC0_PWR@ALT_MFP1'] },
	{ f: ['PA.1', 'ADC1:SYS_GPA_MFP_PA1_ADC1@GPA_MFP', 'SC0RST:SYS_GPA_MFP_PA1_SC0_RST@GPA_MFP/SYS_ALT_MFP1_PA1_SC0_RST@ALT_MFP1', 'AD12:SYS_GPA_MFP_PA1_EBI_AD12@GPA_MFP/SYS_ALT_MFP_PA1_EBI_AD12@ALT_MFP'] },
	{ f: ['PA.2', 'ADC2:SYS_GPA_MFP_PA2_ADC2@GPA_MFP', 'SC0CLK:SYS_GPA_MFP_PA2_SC0_CLK@GPA_MFP/SYS_ALT_MFP1_PA2_SC0_CLK@ALT_MFP1', 'AD11:SYS_GPA_MFP_PA2_EBI_AD11@GPA_MFP/SYS_ALT_MFP_PA2_EBI_AD11@ALT_MFP'] },
	{ f: ['PA.3', 'ADC3:SYS_GPA_MFP_PA3_ADC3@GPA_MFP', 'SC0DAT:SYS_GPA_MFP_PA3_SC0_DAT@GPA_MFP/SYS_ALT_MFP1_PA3_SC0_DAT@ALT_MFP1', 'AD10:SYS_GPA_MFP_PA3_EBI_AD10@GPA_MFP/SYS_ALT_MFP_PA3_EBI_AD10@ALT_MFP'] },
	{ f: ['PA.4', 'ADC4:SYS_GPA_MFP_PA4_ADC4@GPA_MFP', 'SC1PWR:SYS_GPA_MFP_PA4_SC1_PWR@GPA_MFP/SYS_ALT_MFP1_PA4_SC1_PWR@ALT_MFP1', 'AD9:SYS_GPA_MFP_PA4_EBI_AD9@GPA_MFP/SYS_ALT_MFP_PA4_EBI_AD9@ALT_MFP'] },
	{ f: ['PA.5', 'ADC5:SYS_GPA_MFP_PA5_ADC5@GPA_MFP', 'SC1RST:SYS_GPA_MFP_PA5_SC1_RST@GPA_MFP/SYS_ALT_MFP1_PA5_SC1_RST@ALT_MFP1', 'AD8:SYS_GPA_MFP_PA5_EBI_AD8@GPA_MFP/SYS_ALT_MFP_PA5_EBI_AD8@ALT_MFP'] },
	{ f: ['PA.6', 'ADC6:SYS_GPA_MFP_PA6_ADC6@GPA_MFP', 'SC1CLK:SYS_GPA_MFP_PA6_SC1_CLK@GPA_MFP/SYS_ALT_MFP1_PA6_SC1_CLK@ALT_MFP1', 'AD7:SYS_GPA_MFP_PA6_EBI_AD7@GPA_MFP/SYS_ALT_MFP_PA6_EBI_AD7@ALT_MFP'] },
	{ f: ['PA.7', 'ADC7:SYS_GPA_MFP_PA7_ADC7@GPA_MFP', 'SPISS21:SYS_GPA_MFP_PA7_SPI2_SS1@GPA_MFP/SYS_ALT_MFP_PA7_SPI2_SS1@ALT_MFP', 'SC1DAT:SYS_GPA_MFP_PA7_SC1_DAT@GPA_MFP/SYS_ALT_MFP1_PA7_SC1_DAT@ALT_MFP1', 'AD6:SYS_GPA_MFP_PA7_EBI_AD6@GPA_MFP/SYS_ALT_MFP_PA7_EBI_AD6@ALT_MFP'] },
	{ f: ['PA.8', 'I2C0SDA:SYS_GPA_MFP_PA8_I2C0_SDA@GPA_MFP'] },
	{ f: ['PA.9', 'I2C0SCL:SYS_GPA_MFP_PA9_I2C0_SCL@GPA_MFP'] },
	{ f: ['PA.10', 'I2C1SDA:SYS_GPA_MFP_PA10_I2C1_SDA@GPA_MFP', 'nWR:SYS_GPA_MFP_PA10_EBI_nWR@GPA_MFP/SYS_ALT_MFP_PA10_EBI_nWR@ALT_MFP'] },
	{ f: ['PA.11', 'I2C1SCL:SYS_GPA_MFP_PA11_I2C1_SCL@GPA_MFP', 'nRD:SYS_GPA_MFP_PA11_EBI_nRD@GPA_MFP/SYS_ALT_MFP_PA11_EBI_nRD@ALT_MFP'] },
	{ f: ['PA.12', 'PWM0:SYS_GPA_MFP_PA12_PWM0@GPA_MFP', 'SC2DAT:SYS_GPA_MFP_PA12_SC2_DAT@GPA_MFP/SYS_ALT_MFP1_PA12_SC2_DAT@ALT_MFP1', 'AD13:SYS_GPA_MFP_PA12_EBI_AD13@GPA_MFP/SYS_ALT_MFP_PA12_EBI_AD13@ALT_MFP'] },
	{ f: ['PA.13', 'PWM1:SYS_GPA_MFP_PA13_PWM1@GPA_MFP', 'SC2CLK:SYS_GPA_MFP_PA13_SC2_CLK@GPA_MFP/SYS_ALT_MFP1_PA13_SC2_CLK@ALT_MFP1', 'AD14:SYS_GPA_MFP_PA13_EBI_AD14@GPA_MFP/SYS_ALT_MFP_PA13_EBI_AD14@ALT_MFP'] },
	{ f: ['PA.14', 'PWM2:SYS_GPA_MFP_PA14_PWM2@GPA_MFP', 'SC2RST:SYS_GPA_MFP_PA14_SC2_RST@GPA_MFP/SYS_ALT_MFP1_PA14_SC2_RST@ALT_MFP1', 'AD15:SYS_GPA_MFP_PA14_EBI_AD15@GPA_MFP/SYS_ALT_MFP_PA14_EBI_AD15@ALT_MFP'] },
	{ f: ['PA.15', 'PWM3:SYS_GPA_MFP_PA15_PWM3@GPA_MFP', 'I2SMCLK:SYS_GPA_MFP_PA15_I2S_MCLK@GPA_MFP/SYS_ALT_MFP_PA15_I2S_MCLK@ALT_MFP', 'SC2PWR:SYS_GPA_MFP_PA15_SC2_PWR@GPA_MFP/SYS_ALT_MFP1_PA15_SC2_PWR@ALT_MFP1'] },

	{ f: ['PB.0', 'RXD0:SYS_GPB_MFP_PB0_UART0_RXD@GPB_MFP'] },
	{ f: ['PB.1', 'TXD0:SYS_GPB_MFP_PB1_UART0_TXD@GPB_MFP'] },
	{ f: ['PB.2', 'RTS0:SYS_GPB_MFP_PB2_UART0_nRTS@GPB_MFP', 'nWRL:SYS_GPB_MFP_PB2_EBI_nWRL@GPB_MFP/SYS_ALT_MFP_PB2_EBI_nWRL@ALT_MFP', 'T2EX:SYS_GPB_MFP_PB2_TM2_EXT@GPB_MFP/SYS_ALT_MFP_PB2_TM2_EXT@ALT_MFP'] },
	{ f: ['PB.3', 'CTS0:SYS_GPB_MFP_PB3_UART0_nCTS@GPB_MFP', 'T3EX:SYS_GPB_MFP_PB3_TM3_EXT@GPB_MFP/SYS_ALT_MFP_PB3_TM3_EXT@ALT_MFP', 'SC2CD:SYS_GPB_MFP_PB3_SC2_CD@GPB_MFP/SYS_ALT_MFP1_PB3_SC2_CD@ALT_MFP1', 'nWRH:SYS_GPB_MFP_PB3_EBI_nWRH@GPB_MFP/SYS_ALT_MFP_PB3_EBI_nWRH@ALT_MFP'] },
	{ f: ['PB.4', 'RXD1:SYS_GPB_MFP_PB4_UART1_RXD@GPB_MFP'] },
	{ f: ['PB.5', 'TXD1:SYS_GPB_MFP_PB5_UART1_TXD@GPB_MFP'] },
	{ f: ['PB.6', 'RTS1:SYS_GPB_MFP_PB6_UART1_nRTS@GPB_MFP', 'ALE:SYS_GPB_MFP_PB6_EBI_ALE@GPB_MFP/SYS_ALT_MFP_PB6_EBI_ALE@ALT_MFP'] },
	{ f: ['PB.7', 'CTS1:SYS_GPB_MFP_PB7_UART1_nCTS@GPB_MFP', 'nCS:SYS_GPB_MFP_PB7_EBI_nCS@GPB_MFP/SYS_ALT_MFP_PB7_EBI_nCS@ALT_MFP'] },
	{ f: ['PB.8', 'TM0:SYS_GPB_MFP_PB8_TM0@GPB_MFP'] },
	{ f: ['PB.9', 'TM1:SYS_GPB_MFP_PB9_TM1@GPB_MFP', 'SPISS11:SYS_GPB_MFP_PB9_SPI1_SS1@GPB_MFP/SYS_ALT_MFP_PB9_SPI1_SS1@ALT_MFP'] },
	{ f: ['PB.10', 'TM2:SYS_GPB_MFP_PB10_TM2@GPB_MFP', 'SPISS01:SYS_GPB_MFP_PB10_SPI0_SS1@GPB_MFP/SYS_ALT_MFP_PB10_SPI0_SS1@ALT_MFP'] },
	{ f: ['PB.11', 'TM3:SYS_GPB_MFP_PB11_TM3@GPB_MFP', 'PWM4:SYS_GPB_MFP_PB11_PWM4@GPB_MFP/SYS_ALT_MFP_PB11_PWM4@ALT_MFP'] },
	{ f: ['PB.12', 'CPO0:SYS_GPB_MFP_PB12_ACMP0_O@GPB_MFP', 'CLKO:SYS_GPB_MFP_PB12_CLKO@GPB_MFP/SYS_ALT_MFP_PB12_CLKO@ALT_MFP', 'AD0:SYS_GPB_MFP_PB12_EBI_AD0@GPB_MFP/SYS_ALT_MFP_PB12_EBI_AD0@ALT_MFP'] },
	{ f: ['PB.13', 'CPO1:SYS_GPB_MFP_PB13_ACMP1_O@GPB_MFP', 'AD1:SYS_GPB_MFP_PB13_EBI_AD1@GPB_MFP/SYS_ALT_MFP_PB13_EBI_AD1@ALT_MFP'] },
	{ f: ['PB.14', 'INT0:SYS_GPB_MFP_PB14_INT0@GPB_MFP', 'SPISS31:SYS_GPB_MFP_PB14_SPI3_SS1@GPB_MFP/SYS_ALT_MFP_PB14_SPI3_SS1@ALT_MFP'] },
	{ f: ['PB.15', 'INT1:SYS_GPB_MFP_PB15_INT1@GPB_MFP', 'T0EX:SYS_GPB_MFP_PB15_TM0_EXT@GPB_MFP/SYS_ALT_MFP_PB15_TM0_EXT@ALT_MFP'] },

	{ f: ['PC.0', 'SPISS00:SYS_GPC_MFP_PC0_SPI0_SS0@GPC_MFP', 'I2SLRCLK:SYS_GPC_MFP_PC0_I2S_LRCLK@GPC_MFP/SYS_ALT_MFP_PC0_I2S_LRCLK@ALT_MFP', 'I2SLRCK:SYS_GPC_MFP_PC0_I2S_LRCK@GPC_MFP/SYS_ALT_MFP_PC0_I2S_LRCK@ALT_MFP'] },
	{ f: ['PC.1', 'SPICLK0:SYS_GPC_MFP_PC1_SPI0_CLK@GPC_MFP', 'I2SBCLK:SYS_GPC_MFP_PC1_I2S_BCLK@GPC_MFP/SYS_ALT_MFP_PC1_I2S_BCLK@ALT_MFP'] },
	{ f: ['PC.2', 'MISO00:SYS_GPC_MFP_PC2_SPI0_MISO0@GPC_MFP', 'I2SDI:SYS_GPC_MFP_PC2_I2S_DI@GPC_MFP/SYS_ALT_MFP_PC2_I2S_DI@ALT_MFP'] },
	{ f: ['PC.3', 'MOSI00:SYS_GPC_MFP_PC3_SPI0_MOSI0@GPC_MFP', 'I2SDO:SYS_GPC_MFP_PC3_I2S_DO@GPC_MFP/SYS_ALT_MFP_PC3_I2S_DO@ALT_MFP'] },
	{ f: ['PC.4', 'MISO01:SYS_GPC_MFP_PC4_SPI0_MISO1@GPC_MFP'] },
	{ f: ['PC.5', 'MOSI01:SYS_GPC_MFP_PC5_SPI0_MOSI1@GPC_MFP'] },
	{ f: ['PC.6', 'CPP0:SYS_GPC_MFP_PC6_ACMP0_P@GPC_MFP', 'SC0CD:SYS_GPC_MFP_PC6_SC0_CD@GPC_MFP/SYS_ALT_MFP1_PC6_SC0_CD@ALT_MFP1', 'AD4:SYS_GPC_MFP_PC6_EBI_AD4@GPC_MFP/SYS_ALT_MFP_PC6_EBI_AD4@ALT_MFP'] },
	{ f: ['PC.7', 'CPN0:SYS_GPC_MFP_PC7_ACMP0_N@GPC_MFP', 'SC1CD:SYS_GPC_MFP_PC7_SC1_CD@GPC_MFP/SYS_ALT_MFP1_PC7_SC1_CD@ALT_MFP1', 'AD5:SYS_GPC_MFP_PC7_EBI_AD5@GPC_MFP/SYS_ALT_MFP_PC7_EBI_AD5@ALT_MFP'] },
	{ f: ['PC.8', 'SPISS10:SYS_GPC_MFP_PC8_SPI1_SS0@GPC_MFP', 'MCLK:SYS_GPC_MFP_PC8_EBI_MCLK@GPC_MFP/SYS_ALT_MFP_PC8_EBI_MCLK@ALT_MFP'] },
	{ f: ['PC.9', 'SPICLK1:SYS_GPC_MFP_PC9_SPI1_CLK@GPC_MFP'] },
	{ f: ['PC.10', 'MISO10:SYS_GPC_MFP_PC10_SPI1_MISO0@GPC_MFP'] },
	{ f: ['PC.11', 'MOSI10:SYS_GPC_MFP_PC11_SPI1_MOSI0@GPC_MFP'] },
	{ f: ['PC.12', 'MISO11:SYS_GPC_MFP_PC12_SPI1_MISO1@GPC_MFP'] },
	{ f: ['PC.13', 'MOSI11:SYS_GPC_MFP_PC13_SPI1_MOSI1@GPC_MFP'] },
	{ f: ['PC.14', 'CPP1:SYS_GPC_MFP_PC14_ACMP1_P@GPC_MFP', 'AD2:SYS_GPC_MFP_PC14_EBI_AD2@GPC_MFP/SYS_ALT_MFP_PC14_EBI_AD2@ALT_MFP'] },
	{ f: ['PC.15', 'CPN1:SYS_GPC_MFP_PC15_ACMP1_N@GPC_MFP', 'AD3:SYS_GPC_MFP_PC15_EBI_AD3@GPC_MFP/SYS_ALT_MFP_PC15_EBI_AD3@ALT_MFP'] },

	{ f: ['PD.0', 'SPISS20:SYS_GPD_MFP_PD0_SPI2_SS0@GPD_MFP'] },
	{ f: ['PD.1', 'SPICLK2:SYS_GPD_MFP_PD1_SPI2_CLK@GPD_MFP'] },
	{ f: ['PD.2', 'MISO20:SYS_GPD_MFP_PD2_SPI2_MISO0@GPD_MFP'] },
	{ f: ['PD.3', 'MOSI20:SYS_GPD_MFP_PD3_SPI2_MOSI0@GPD_MFP'] },
	{ f: ['PD.4', 'MISO21:SYS_GPD_MFP_PD4_SPI2_MISO1@GPD_MFP'] },
	{ f: ['PD.5', 'MOSI21:SYS_GPD_MFP_PD5_SPI2_MOSI1@GPD_MFP'] },
	{ f: ['PD.6'] },
	{ f: ['PD.7'] },
	{ f: ['PD.8', 'SPISS30:SYS_GPD_MFP_PD8_SPI3_SS0@GPD_MFP'] },
	{ f: ['PD.9', 'SPICLK3:SYS_GPD_MFP_PD9_SPI3_CLK@GPD_MFP'] },
	{ f: ['PD.10', 'MISO30:SYS_GPD_MFP_PD10_SPI3_MISO0@GPD_MFP'] },
	{ f: ['PD.11', 'MOSI30:SYS_GPD_MFP_PD11_SPI3_MOSI0@GPD_MFP'] },
	{ f: ['PD.12', 'MISO31:SYS_GPD_MFP_PD12_SPI3_MISO1@GPD_MFP'] },
	{ f: ['PD.13', 'MOSI31:SYS_GPD_MFP_PD13_SPI3_MOSI1@GPD_MFP'] },
	{ f: ['PD.14', 'RXD2:SYS_GPD_MFP_PD14_UART2_RXD@GPD_MFP'] },
	{ f: ['PD.15', 'TXD2:SYS_GPD_MFP_PD15_UART2_TXD@GPD_MFP'] },

	{ f: ['PE.0', 'PWM6:SYS_GPE_MFP_PE0_PWM6@GPE_MFP'] },
	{ f: ['PE.1', 'PWM7:SYS_GPE_MFP_PE1_PWM7@GPE_MFP'] },
	{ f: ['PE.2'] },
	{ f: ['PE.3'] },
	{ f: ['PE.4'] },
	{ f: ['PE.5', 'PWM5:SYS_GPE_MFP_PE5_PWM5@GPE_MFP', 'T1EX:SYS_GPE_MFP_PE5_TM1_EXT@GPE_MFP/SYS_ALT_MFP_PE5_TM1_EXT@ALT_MFP'] },
	{ f: ['PE.6'] },
	{ f: ['PE.7'] },
	{ f: ['PE.8'] },
	{ f: ['PE.9'] },
	{ f: ['PE.10'] },
	{ f: ['PE.11'] },
	{ f: ['PE.12'] },
	{ f: ['PE.13'] },
	{ f: ['PE.14'] },
	{ f: ['PE.15'] },

	{ f: ['PF.0', 'XT1_OUT:SYS_GPF_MFP_PF0_XT1_OUT@GPF_MFP'] },
	{ f: ['PF.1', 'XT1_IN:SYS_GPF_MFP_PF1_XT1_IN@GPF_MFP'] },
	{ f: ['PF.2', 'PS2DAT:SYS_GPF_MFP_PF2_PS2_DAT@GPF_MFP'] },
	{ f: ['PF.3', 'PS2CLK:SYS_GPF_MFP_PF3_PS2_CLK@GPF_MFP'] }
];

NUTOOL_PIN.g_cfg_gpiosDescriptions = [
	'/RESET:External reset input: active LOW, with an internal pull-up. Set this pin low reset chip to initial state',
	'AD0:EBI Address/Data bus bit0',
	'AD1:EBI Address/Data bus bit1',
	'AD2:EBI Address/Data bus bit2',
	'AD3:EBI Address/Data bus bit3',
	'AD4:EBI Address/Data bus bit4',
	'AD5:EBI Address/Data bus bit5',
	'AD6:EBI Address/Data bus bit6',
	'AD7:EBI Address/Data bus bit7',
	'AD8:EBI Address/Data bus bit8',
	'AD9:EBI Address/Data bus bit9',
	'AD10:EBI Address/Data bus bit10',
	'AD11:EBI Address/Data bus bit11',
	'AD12:EBI Address/Data bus bit12',
	'AD13:EBI Address/Data bus bit13',
	'AD14:EBI Address/Data bus bit14',
	'AD15:EBI Address/Data bus bit15',

	'ADC0:ADC0 analog input',
	'ADC1:ADC1 analog input',
	'ADC2:ADC2 analog input',
	'ADC3:ADC3 analog input',
	'ADC4:ADC4 analog input',
	'ADC5:ADC5 analog input',
	'ADC6:ADC6 analog input',
	'ADC7:ADC7 analog input',

	'ALE:EBI address latch enable output pin',
	'AVDD:Power supply for internal analog circuit',
	'AVSS:Ground pin for analog circuit',

	'CLKO:Frequency Divider output pin',
	'CPN0:Comparator0 negative input pin',
	'CPN1:Comparator1 negative input pin',
	'CPO0:Comparator0 output pin',
	'CPO1:Comparator1 output pin',
	'CPP0:Comparator0 positive input pin',
	'CPP1:Comparator1 positive input pin',
	'CTS0:Clear to Send input pin for UART0',
	'CTS1:Clear to Send input pin for UART1',

	'D-:USB differential signal D-',
	'D+:USB differential signal D+',

	'I2C0SCL:I2C0 clock pin',
	'I2C0SDA:I2C0 data input/output pin',
	'I2C1SCL:I2C1 clock pin',
	'I2C1SDA:I2C1 data input/output pin',

	'I2SBCLK:I2S bit clock pin',
	'I2SDI:I2S data input',
	'I2SDO:I2S data output',
	'I2SLRCLK:I2S left right channel clock',
	'I2SMCLK:I2S master clock output pin',

	'ICE_CLK:Serial Wire Debugger Clock pin',
	'ICE_DAT:Serial Wire Debugger Data pin',

	'INT0:External interrupt0 input pin',
	'INT1:External interrupt1 input pin',

	'LDO:LDO output pin',

	'MCLK:EBI external clock output pin',

	'MISO00:1st SPI0 MISO (Master In, Slave Out) pin',
	'MISO01:2nd SPI0 MISO (Master In, Slave Out) pin',
	'MISO10:1st SPI1 MISO (Master In, Slave Out) pin',
	'MISO11:2nd SPI1 MISO (Master In, Slave Out) pin',
	'MISO20:1st SPI2 MISO (Master In, Slave Out) pin',
	'MISO21:2nd SPI2 MISO (Master In, Slave Out) pin',
	'MISO30:1st SPI3 MISO (Master In, Slave Out) pin',
	'MISO31:2nd SPI3 MISO (Master In, Slave Out) pin',
	'MOSI00:1st SPI0 MOSI (Master Out, Slave In) pin',
	'MOSI01:2nd SPI0 MOSI (Master Out, Slave In) pin',
	'MOSI10:1st SPI1 MOSI (Master Out, Slave In) pin',
	'MOSI11:2nd SPI1 MOSI (Master Out, Slave In) pin',
	'MOSI20:1st SPI2 MOSI (Master Out, Slave In) pin',
	'MOSI21:2nd SPI2 MOSI (Master Out, Slave In) pin',
	'MOSI30:1st SPI3 MOSI (Master Out, Slave In) pin',
	'MOSI31:2nd SPI3 MOSI (Master Out, Slave In) pin',

	'nCS:EBI chip select enable output pin',
	'nRD:EBI read enable output pin',
	'nWR:EBI write enable output pin',
	'nWRH:EBI high byte write enable output pin',
	'nWRL:EBI low byte write enable output pin',

	'PS2CLK:PS/2 clock pin',
	'PS2DAT:PS/2 data pin',

	'PVSS:PLL ground',

	'PWM0:PWM0 output/Capture input',
	'PWM1:PWM1 output/Capture input',
	'PWM2:PWM2 output/Capture input',
	'PWM3:PWM output/Capture input',
	'PWM4:PWM4 output/Capture input',
	'PWM5:PWM5 output/Capture input',
	'PWM6:PWM6 output/Capture input',
	'PWM7:PWM7 output/Capture input',

	'RTS0:Request to Send output pin for UART0',
	'RTS1:Request to Send output pin for UART1',

	'RXD0:Data receiver input pin for UART0',
	'RXD1:Data receiver input pin for UART1',
	'RXD2:Data receiver input pin for UART2',

	'SC0CD:SmartCard0 card detect pin',
	'SC0CLK:SmartCard0 clock pin',
	'SC0DAT:SmartCard0 data pin',
	'SC0PWR:SmartCard0 power pin',
	'SC0RST:SmartCard0 reset pin',
	'SC1CD:SmartCard1 card detect pin',
	'SC1CLK:SmartCard1 clock pin',
	'SC1DAT:SmartCard1 data pin',
	'SC1PWR:SmartCard1 power pin',
	'SC1RST:SmartCard1 reset pin',
	'SC2CD:SmartCard2 card detect pin',
	'SC2CLK:SmartCard2 clock pin',
	'SC2DAT:SmartCard2 data pin',
	'SC2PWR:SmartCard2 power pin',
	'SC2RST:SmartCard2 reset pin',

	'SPICLK0:SPI0 serial clock pin',
	'SPICLK1:SPI1 serial clock pin',
	'SPICLK2:SPI2 serial clock pin',
	'SPICLK3:SPI3 serial clock pin',
	'SPISS00:1st SPI0 slave select pin',
	'SPISS01:2nd SPI0 slave select pin',
	'SPISS10:1st SPI1 slave select pin',
	'SPISS11:2nd SPI1 slave select pin',
	'SPISS20:1st SPI2 slave select pin',
	'SPISS21:2nd SPI2 slave select pin',
	'SPISS30:1st SPI3 slave select pin',
	'SPISS31:2nd SPI3 slave select pin',

	'STADC:ADC external trigger input',

	'T0EX:Timer0 external capture input pin',
	'T1EX:Timer1 external capture input pin',
	'T2EX:Timer2 external capture input pin',
	'T3EX:Timer3 external capture input pin',

	'TM0:Timer0 event counter input / toggle output',
	'TM1:Timer1 event counter input / toggle output',
	'TM2:Timer2 event counter input / toggle output',
	'TM3:Timer3 event counter input / toggle output',

	'TXD0:Data transmitter output pin for UART0',
	'TXD1:Data transmitter output pin for UART1',
	'TXD2:Data transmitter output pin for UART2',

	'VBUS:Power supply from USB host or HUB',
	'VDD:Power supply for I/O ports and LDO source for internal PLL and digital circuit',
	'VDD33:Internal power regulator output 3.3V decoupling pin',
	'VREF:Voltage reference input for ADC',
	'VSS :Ground pin for digital circuit',
	'VSS:Ground pin for digital circuit',

	'X32I:External 32.768 kHz low speed crystal input pin',
	'X32O:External 32.768 kHz low speed crystal output pin',

	'XT1_IN:External 4~24 MHz (high speed) crystal input pin',
	'XT1_OUT:External 4~24 MHz (high speed) crystal output pin'
];

NUTOOL_PIN.g_cfg_regDescriptions = {};
NUTOOL_PIN.g_cfg_regDescriptions.GPA_MFP = '0x50000030';
NUTOOL_PIN.g_cfg_regDescriptions.GPB_MFP = '0x50000034';
NUTOOL_PIN.g_cfg_regDescriptions.GPC_MFP = '0x50000038';
NUTOOL_PIN.g_cfg_regDescriptions.GPD_MFP = '0x5000003C';
NUTOOL_PIN.g_cfg_regDescriptions.GPE_MFP = '0x50000040';
NUTOOL_PIN.g_cfg_regDescriptions.GPF_MFP = '0x50000044';
NUTOOL_PIN.g_cfg_regDescriptions.ALT_MFP = '0x50000050';
NUTOOL_PIN.g_cfg_regDescriptions.ALT_MFP1 = '0x50000058';

NUTOOL_PIN.g_cfg_gpioMatrix = [
	{ f: ['PA.0', 'GPA_MFP[0]:0', 'ALT_MFP1[2]:1'] },
	{ f: ['PA.1', 'GPA_MFP[1]:0', 'ALT_MFP1[3]:1', 'ALT_MFP[11]:2', 'ALT_MFP[20]:3'] },
	{ f: ['PA.2', 'GPA_MFP[2]:0', 'ALT_MFP1[0]:1', 'ALT_MFP[11]:2', 'ALT_MFP[19]:3'] },
	{ f: ['PA.3', 'GPA_MFP[3]:0', 'ALT_MFP1[1]:1', 'ALT_MFP[11]:2', 'ALT_MFP[18]:3'] },
	{ f: ['PA.4', 'GPA_MFP[4]:0', 'ALT_MFP1[7]:1', 'ALT_MFP[11]:2', 'ALT_MFP[17]:3'] },
	{ f: ['PA.5', 'GPA_MFP[5]:0', 'ALT_MFP1[8]:1', 'ALT_MFP[11]:2', 'ALT_MFP[16]:3'] },
	{ f: ['PA.6', 'GPA_MFP[6]:0', 'ALT_MFP1[5]:1', 'ALT_MFP[11]:2'] },
	{ f: ['PA.7', 'GPA_MFP[7]:0', 'ALT_MFP[2]:1', 'ALT_MFP1[6]:2', 'ALT_MFP[11]:3'] },
	{ f: ['PA.8', 'GPA_MFP[8]:0'] },
	{ f: ['PA.9', 'GPA_MFP[9]:0'] },
	{ f: ['PA.10', 'GPA_MFP[10]:0', 'ALT_MFP[11]:1'] },
	{ f: ['PA.11', 'GPA_MFP[11]:0', 'ALT_MFP[11]:1'] },
	{ f: ['PA.12', 'GPA_MFP[12]:0', 'ALT_MFP1[11]:1', 'ALT_MFP[11]:2', 'ALT_MFP[21]:3'] },
	{ f: ['PA.13', 'GPA_MFP[13]:0', 'ALT_MFP1[10]:1', 'ALT_MFP[11]:2', 'ALT_MFP[22]:3'] },
	{ f: ['PA.14', 'GPA_MFP[14]:0', 'ALT_MFP1[13]:1', 'ALT_MFP[11]:2', 'ALT_MFP[23]:3'] },
	{ f: ['PA.15', 'GPA_MFP[15]:0', 'ALT_MFP[9]:1', 'ALT_MFP1[12]:2'] },

	{ f: ['PB.0', 'GPB_MFP[0]:0'] },
	{ f: ['PB.1', 'GPB_MFP[1]:0'] },
	{ f: ['PB.2', 'GPB_MFP[2]:0', 'ALT_MFP[26]:1', 'ALT_MFP[11]:2', 'ALT_MFP[13]:3'] },
	{ f: ['PB.3', 'GPB_MFP[3]:0', 'ALT_MFP[27]:1', 'ALT_MFP1[14]:2', 'ALT_MFP[11]:3', 'ALT_MFP[14]:4'] },
	{ f: ['PB.4', 'GPB_MFP[4]:0'] },
	{ f: ['PB.5', 'GPB_MFP[5]:0'] },
	{ f: ['PB.6', 'GPB_MFP[6]:0', 'ALT_MFP[11]:1'] },
	{ f: ['PB.7', 'GPB_MFP[7]:0', 'ALT_MFP[11]:1'] },
	{ f: ['PB.8', 'GPB_MFP[8]:0', 'ALT_MFP2[24]:1'] },
	{ f: ['PB.9', 'GPB_MFP[9]:0', 'ALT_MFP[1]:1'] },
	{ f: ['PB.10', 'GPB_MFP[10]:0', 'ALT_MFP[0]:1'] },
	{ f: ['PB.11', 'GPB_MFP[11]:0', 'ALT_MFP[4]:1'] },
	{ f: ['PB.12', 'GPB_MFP[12]:0', 'ALT_MFP[10]:1', 'ALT_MFP[11]:2'] },
	{ f: ['PB.13', 'GPB_MFP[13]:0', 'ALT_MFP[11]:1'] },
	{ f: ['PB.14', 'GPB_MFP[14]:0', 'ALT_MFP[3]:1'] },
	{ f: ['PB.15', 'GPB_MFP[15]:0', 'ALT_MFP[24]:1'] },

	{ f: ['PC.0', 'GPC_MFP[0]:0', 'ALT_MFP[5]:1'] },
	{ f: ['PC.1', 'GPC_MFP[1]:0', 'ALT_MFP[6]:1'] },
	{ f: ['PC.2', 'GPC_MFP[2]:0', 'ALT_MFP[7]:1'] },
	{ f: ['PC.3', 'GPC_MFP[3]:0', 'ALT_MFP[8]:1'] },
	{ f: ['PC.4', 'GPC_MFP[4]:0'] },
	{ f: ['PC.5', 'GPC_MFP[5]:0'] },
	{ f: ['PC.6', 'GPC_MFP[6]:0', 'ALT_MFP1[4]:1', 'ALT_MFP[11]:2'] },
	{ f: ['PC.7', 'GPC_MFP[7]:0', 'ALT_MFP1[9]:1', 'ALT_MFP[11]:2'] },
	{ f: ['PC.8', 'GPC_MFP[8]:0', 'ALT_MFP[11]:1', 'ALT_MFP[12]:2'] },
	{ f: ['PC.9', 'GPC_MFP[9]:0'] },
	{ f: ['PC.10', 'GPC_MFP[10]:0'] },
	{ f: ['PC.11', 'GPC_MFP[11]:0'] },
	{ f: ['PC.12', 'GPC_MFP[12]:0'] },
	{ f: ['PC.13', 'GPC_MFP[13]:0'] },
	{ f: ['PC.14', 'GPC_MFP[14]:0', 'ALT_MFP[11]:1'] },
	{ f: ['PC.15', 'GPC_MFP[15]:0', 'ALT_MFP[11]:1'] },

	{ f: ['PD.0', 'GPD_MFP[0]:0'] },
	{ f: ['PD.1', 'GPD_MFP[1]:0'] },
	{ f: ['PD.2', 'GPD_MFP[2]:0'] },
	{ f: ['PD.3', 'GPD_MFP[3]:0'] },
	{ f: ['PD.4', 'GPD_MFP[4]:0'] },
	{ f: ['PD.5', 'GPD_MFP[5]:0'] },
	{ f: ['PD.6', 'GPD_MFP[6]:0'] },
	{ f: ['PD.7', 'GPD_MFP[7]:0'] },
	{ f: ['PD.8', 'GPD_MFP[8]:0'] },
	{ f: ['PD.9', 'GPD_MFP[9]:0'] },
	{ f: ['PD.10', 'GPD_MFP[10]:0'] },
	{ f: ['PD.11', 'GPD_MFP[11]:0'] },
	{ f: ['PD.12', 'GPD_MFP[12]:0'] },
	{ f: ['PD.13', 'GPD_MFP[13]:0'] },
	{ f: ['PD.14', 'GPD_MFP[14]:0'] },
	{ f: ['PD.15', 'GPD_MFP[15]:0'] },

	{ f: ['PE.0', 'GPE_MFP[0]:0'] },
	{ f: ['PE.1', 'GPE_MFP[1]:0'] },
	{ f: ['PE.2'] },
	{ f: ['PE.3'] },
	{ f: ['PE.4'] },
	{ f: ['PE.5', 'GPE_MFP[5]:0', 'ALT_MFP[25]:1'] },
	{ f: ['PE.6'] },
	{ f: ['PE.7'] },
	{ f: ['PE.8'] },
	{ f: ['PE.9'] },
	{ f: ['PE.10'] },
	{ f: ['PE.11'] },
	{ f: ['PE.12'] },
	{ f: ['PE.13'] },
	{ f: ['PE.14'] },
	{ f: ['PE.15'] },

	{ f: ['PF.0'] },
	{ f: ['PF.1'] },
	{ f: ['PF.2', 'GPF_MFP[2]:0'] },
	{ f: ['PF.3', 'GPF_MFP[3]:0'] }
];

NUTOOL_PIN.g_cfg_shareBits = ['ALT_MFP[11]'];
NUTOOL_PIN.g_cfg_addGPIO = {};
NUTOOL_PIN.g_cfg_unusedGPIO = {
	"NUC100RC1DN(LQFP64)": {
		"PB.14": ["SPISS31"],
		"PB.10": ["SPISS01"],
		"PB.9": ["SPISS11"],
		"PA.7": ["SPISS21"]
	},
	"NUC100RD1DN(LQFP64)": function () {
		return this["NUC100RC1DN(LQFP64)"];
	},
	"NUC100RD2DN(LQFP64)": function () {
		return this["NUC100RC1DN(LQFP64)"];
	},
	"NUC100RD3DN(LQFP64)": function () {
		return this["NUC100RC1DN(LQFP64)"];
	},
	"NUC100RE3DN(LQFP64)": function () {
		return this["NUC100RC1DN(LQFP64)"];
	},
	"NUC100LC1DN(LQFP48)": {
		"PB.12": ["AD0"],
		"PA.11": ["nRD"],
		"PA.10": ["nWR"],
		"PB.2": ["nWRL"],
		"PB.3": ["nWRH"],
		"PB.10": ["SPISS01"],
		"PB.9": ["SPISS11"],
		"PA.14": ["AD15"],
		"PA.13": ["AD14"],
		"PA.12": ["AD13"],
		"PA.1": ["AD12"],
		"PA.2": ["AD11"],
		"PA.3": ["AD10"],
		"PA.4": ["AD9"],
		"PA.5": ["AD8"],
		"PA.6": ["AD7"],
		"PA.7": ["AD6", "SPISS21"],
		"PC.7": ["AD5"],
		"PC.6": ["AD4"]
	},
	"NUC100LD1DN(LQFP48)": function () {
		return this["NUC100LC1DN(LQFP48)"];
	},
	"NUC100LD2DN(LQFP48)": function () {
		return this["NUC100LC1DN(LQFP48)"];
	},
	"NUC100LD3DN(LQFP48)": function () {
		return this["NUC100LC1DN(LQFP48)"];
	},
	"NUC100LE3DN(LQFP48)": function () {
		return this["NUC100LC1DN(LQFP48)"];
	},
	"NUC120RC1DN(LQFP64)": {
		"PB.14": ["SPISS31"],
		"PB.10": ["SPISS01"],
		"PB.9": ["SPISS11"],
		"PA.7": ["SPISS21"]
	},
	"NUC120RD1DN(LQFP64)": function () {
		return this["NUC120RC1DN(LQFP64)"];
	},
	"NUC120RD2DN(LQFP64)": function () {
		return this["NUC120RC1DN(LQFP64)"];
	},
	"NUC120RD3DN(LQFP64)": function () {
		return this["NUC120RC1DN(LQFP64)"];
	},
	"NUC120RE3DN(LQFP64)": function () {
		return this["NUC120RC1DN(LQFP64)"];
	},
	"NUC120LC1DN(LQFP48)": {
		"PB.12": ["AD0"],
		"PA.11": ["nRD"],
		"PA.10": ["nWR"],
		"PB.2": ["nWRL"],
		"PB.3": ["nWRH"],
		"PA.14": ["AD15"],
		"PA.13": ["AD14"],
		"PA.12": ["AD13"],
		"PA.1": ["AD12"],
		"PA.2": ["AD11"],
		"PA.3": ["AD10"],
		"PA.4": ["AD9"],
		"PA.5": ["AD8"],
		"PA.6": ["AD7"],
		"PA.7": ["AD6", "SPISS21"],
		"PC.7": ["AD5"],
		"PC.6": ["AD4"]
	},
	"NUC120LD1DN(LQFP48)": function () {
		return this["NUC120LC1DN(LQFP48)"];
	},
	"NUC120LD2DN(LQFP48)": function () {
		return this["NUC120LC1DN(LQFP48)"];
	},
	"NUC120LD3DN(LQFP48)": function () {
		return this["NUC120LC1DN(LQFP48)"];
	},
	"NUC120LE3DN(LQFP48)": function () {
		return this["NUC120LC1DN(LQFP48)"];
	}
};

NUTOOL_PIN.decidepackageNumber = function (given_partNumber_package) {
	var partNumber_package,
		partNumber;

	if (typeof given_partNumber_package === 'undefined') {
		partNumber_package = NUTOOL_PIN.getg_partNumber_package();
	}
	else {
		partNumber_package = given_partNumber_package;
	}

	NUTOOL_PIN.g_packageNumber = partNumber_package.substring(partNumber_package.indexOf('(') + 1);
	NUTOOL_PIN.g_packageNumber = NUTOOL_PIN.g_packageNumber.substring(0, NUTOOL_PIN.g_packageNumber.indexOf(')'));

	partNumber = partNumber_package.substring(0, partNumber_package.indexOf('('));
	switch (NUTOOL_PIN.g_packageNumber) {
	case 'LQFP100':
		switch (partNumber) {
		case "NUC120VD2DN":
		case "NUC120VD3DN":
		case "NUC120VE3DN":
			NUTOOL_PIN.g_packageNumberIndex = "LQFP100 (USB)";
			break;
		default:
			NUTOOL_PIN.g_packageNumberIndex = "LQFP100";
			break;
		}
		break;
	case 'LQFP64':
		switch (partNumber) {
		case "NUC120RC1DN":
		case "NUC120RD1DN":
		case "NUC120RD2DN":
		case "NUC120RD3DN":
		case "NUC120RE3DN":
			NUTOOL_PIN.g_packageNumberIndex = "LQFP64 (USB)";
			break;
		default:
			NUTOOL_PIN.g_packageNumberIndex = "LQFP64";
			break;
		}
		break;
	case 'LQFP48':
		switch (partNumber) {
		case "NUC120LC1DN":
		case "NUC120LD1DN":
		case "NUC120LD2DN":
		case "NUC120LD3DN":
		case "NUC120LE3DN":
			NUTOOL_PIN.g_packageNumberIndex = "LQFP48 (USB)";
			break;
		default:
			NUTOOL_PIN.g_packageNumberIndex = "LQFP48";
			break;
		}
		break;
	}
	partNumber_package = null;
	partNumber = null;
};
