Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / pinctrl / sh-pfc / pfc-sh7269.c
diff --git a/kernel/drivers/pinctrl/sh-pfc/pfc-sh7269.c b/kernel/drivers/pinctrl/sh-pfc/pfc-sh7269.c
new file mode 100644 (file)
index 0000000..7a11320
--- /dev/null
@@ -0,0 +1,2835 @@
+/*
+ * SH7269 Pinmux
+ *
+ * Copyright (C) 2012  Renesas Electronics Europe Ltd
+ * Copyright (C) 2012  Phil Edworthy
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+
+#include <linux/kernel.h>
+#include <linux/gpio.h>
+#include <cpu/sh7269.h>
+
+#include "sh_pfc.h"
+
+enum {
+       PINMUX_RESERVED = 0,
+
+       PINMUX_DATA_BEGIN,
+       /* Port A */
+       PA1_DATA, PA0_DATA,
+       /* Port B */
+       PB22_DATA, PB21_DATA, PB20_DATA,
+       PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA,
+       PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
+       PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
+       PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
+       PB3_DATA, PB2_DATA, PB1_DATA,
+       /* Port C */
+       PC8_DATA,
+       PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
+       PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
+       /* Port D */
+       PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
+       PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
+       PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
+       PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
+       /* Port E */
+       PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
+       PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
+       /* Port F */
+       PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
+       PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA,
+       PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
+       PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
+       PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
+       PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,
+       /* Port G */
+       PG27_DATA, PG26_DATA, PG25_DATA, PG24_DATA,
+       PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
+       PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA,
+       PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
+       PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
+       PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
+       PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA,
+       /* Port H */
+       /* NOTE - Port H does not have a Data Register, but PH Data is
+          connected to PH Port Register */
+       PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA,
+       PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA,
+       /* Port I - not on device */
+       /* Port J */
+       PJ31_DATA, PJ30_DATA, PJ29_DATA, PJ28_DATA,
+       PJ27_DATA, PJ26_DATA, PJ25_DATA, PJ24_DATA,
+       PJ23_DATA, PJ22_DATA, PJ21_DATA, PJ20_DATA,
+       PJ19_DATA, PJ18_DATA, PJ17_DATA, PJ16_DATA,
+       PJ15_DATA, PJ14_DATA, PJ13_DATA, PJ12_DATA,
+       PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
+       PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
+       PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA,
+       PINMUX_DATA_END,
+
+       PINMUX_INPUT_BEGIN,
+       FORCE_IN,
+       /* Port A */
+       PA1_IN, PA0_IN,
+       /* Port B */
+       PB22_IN, PB21_IN, PB20_IN,
+       PB19_IN, PB18_IN, PB17_IN, PB16_IN,
+       PB15_IN, PB14_IN, PB13_IN, PB12_IN,
+       PB11_IN, PB10_IN, PB9_IN, PB8_IN,
+       PB7_IN, PB6_IN, PB5_IN, PB4_IN,
+       PB3_IN, PB2_IN, PB1_IN,
+       /* Port C */
+       PC8_IN,
+       PC7_IN, PC6_IN, PC5_IN, PC4_IN,
+       PC3_IN, PC2_IN, PC1_IN, PC0_IN,
+       /* Port D */
+       PD15_IN, PD14_IN, PD13_IN, PD12_IN,
+       PD11_IN, PD10_IN, PD9_IN, PD8_IN,
+       PD7_IN, PD6_IN, PD5_IN, PD4_IN,
+       PD3_IN, PD2_IN, PD1_IN, PD0_IN,
+       /* Port E */
+       PE7_IN, PE6_IN, PE5_IN, PE4_IN,
+       PE3_IN, PE2_IN, PE1_IN, PE0_IN,
+       /* Port F */
+       PF23_IN, PF22_IN, PF21_IN, PF20_IN,
+       PF19_IN, PF18_IN, PF17_IN, PF16_IN,
+       PF15_IN, PF14_IN, PF13_IN, PF12_IN,
+       PF11_IN, PF10_IN, PF9_IN, PF8_IN,
+       PF7_IN, PF6_IN, PF5_IN, PF4_IN,
+       PF3_IN, PF2_IN, PF1_IN, PF0_IN,
+       /* Port G */
+       PG27_IN, PG26_IN, PG25_IN, PG24_IN,
+       PG23_IN, PG22_IN, PG21_IN, PG20_IN,
+       PG19_IN, PG18_IN, PG17_IN, PG16_IN,
+       PG15_IN, PG14_IN, PG13_IN, PG12_IN,
+       PG11_IN, PG10_IN, PG9_IN, PG8_IN,
+       PG7_IN, PG6_IN, PG5_IN, PG4_IN,
+       PG3_IN, PG2_IN, PG1_IN, PG0_IN,
+       /* Port H - Port H does not have a Data Register */
+       /* Port I - not on device */
+       /* Port J */
+       PJ31_IN, PJ30_IN, PJ29_IN, PJ28_IN,
+       PJ27_IN, PJ26_IN, PJ25_IN, PJ24_IN,
+       PJ23_IN, PJ22_IN, PJ21_IN, PJ20_IN,
+       PJ19_IN, PJ18_IN, PJ17_IN, PJ16_IN,
+       PJ15_IN, PJ14_IN, PJ13_IN, PJ12_IN,
+       PJ11_IN, PJ10_IN, PJ9_IN, PJ8_IN,
+       PJ7_IN, PJ6_IN, PJ5_IN, PJ4_IN,
+       PJ3_IN, PJ2_IN, PJ1_IN, PJ0_IN,
+       PINMUX_INPUT_END,
+
+       PINMUX_OUTPUT_BEGIN,
+       FORCE_OUT,
+       /* Port A */
+       PA1_OUT, PA0_OUT,
+       /* Port B */
+       PB22_OUT, PB21_OUT, PB20_OUT,
+       PB19_OUT, PB18_OUT, PB17_OUT, PB16_OUT,
+       PB15_OUT, PB14_OUT, PB13_OUT, PB12_OUT,
+       PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
+       PB7_OUT, PB6_OUT, PB5_OUT, PB4_OUT,
+       PB3_OUT, PB2_OUT, PB1_OUT,
+       /* Port C */
+       PC8_OUT,
+       PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
+       PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
+       /* Port D */
+       PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
+       PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
+       PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
+       PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
+       /* Port E */
+       PE7_OUT, PE6_OUT, PE5_OUT, PE4_OUT,
+       PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
+       /* Port F */
+       PF23_OUT, PF22_OUT, PF21_OUT, PF20_OUT,
+       PF19_OUT, PF18_OUT, PF17_OUT, PF16_OUT,
+       PF15_OUT, PF14_OUT, PF13_OUT, PF12_OUT,
+       PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
+       PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
+       PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
+       /* Port G */
+       PG27_OUT, PG26_OUT, PG25_OUT, PG24_OUT,
+       PG23_OUT, PG22_OUT, PG21_OUT, PG20_OUT,
+       PG19_OUT, PG18_OUT, PG17_OUT, PG16_OUT,
+       PG15_OUT, PG14_OUT, PG13_OUT, PG12_OUT,
+       PG11_OUT, PG10_OUT, PG9_OUT, PG8_OUT,
+       PG7_OUT, PG6_OUT, PG5_OUT, PG4_OUT,
+       PG3_OUT, PG2_OUT, PG1_OUT, PG0_OUT,
+       /* Port H - Port H does not have a Data Register */
+       /* Port I - not on device */
+       /* Port J */
+       PJ31_OUT, PJ30_OUT, PJ29_OUT, PJ28_OUT,
+       PJ27_OUT, PJ26_OUT, PJ25_OUT, PJ24_OUT,
+       PJ23_OUT, PJ22_OUT, PJ21_OUT, PJ20_OUT,
+       PJ19_OUT, PJ18_OUT, PJ17_OUT, PJ16_OUT,
+       PJ15_OUT, PJ14_OUT, PJ13_OUT, PJ12_OUT,
+       PJ11_OUT, PJ10_OUT, PJ9_OUT, PJ8_OUT,
+       PJ7_OUT, PJ6_OUT, PJ5_OUT, PJ4_OUT,
+       PJ3_OUT, PJ2_OUT, PJ1_OUT, PJ0_OUT,
+       PINMUX_OUTPUT_END,
+
+       PINMUX_FUNCTION_BEGIN,
+       /* Port A */
+       PA1_IOR_IN, PA1_IOR_OUT,
+       PA0_IOR_IN, PA0_IOR_OUT,
+
+       /* Port B */
+       PB22_IOR_IN, PB22_IOR_OUT,
+       PB21_IOR_IN, PB21_IOR_OUT,
+       PB20_IOR_IN, PB20_IOR_OUT,
+       PB19_IOR_IN, PB19_IOR_OUT,
+       PB18_IOR_IN, PB18_IOR_OUT,
+       PB17_IOR_IN, PB17_IOR_OUT,
+       PB16_IOR_IN, PB16_IOR_OUT,
+
+       PB15_IOR_IN, PB15_IOR_OUT,
+       PB14_IOR_IN, PB14_IOR_OUT,
+       PB13_IOR_IN, PB13_IOR_OUT,
+       PB12_IOR_IN, PB12_IOR_OUT,
+       PB11_IOR_IN, PB11_IOR_OUT,
+       PB10_IOR_IN, PB10_IOR_OUT,
+       PB9_IOR_IN, PB9_IOR_OUT,
+       PB8_IOR_IN, PB8_IOR_OUT,
+
+       PB7_IOR_IN, PB7_IOR_OUT,
+       PB6_IOR_IN, PB6_IOR_OUT,
+       PB5_IOR_IN, PB5_IOR_OUT,
+       PB4_IOR_IN, PB4_IOR_OUT,
+       PB3_IOR_IN, PB3_IOR_OUT,
+       PB2_IOR_IN, PB2_IOR_OUT,
+       PB1_IOR_IN, PB1_IOR_OUT,
+       PB0_IOR_IN, PB0_IOR_OUT,
+
+       PB22MD_000, PB22MD_001, PB22MD_010, PB22MD_011,
+       PB22MD_100, PB22MD_101, PB22MD_110, PB22MD_111,
+       PB21MD_00, PB21MD_01, PB21MD_10, PB21MD_11,
+       PB20MD_000, PB20MD_001, PB20MD_010, PB20MD_011,
+       PB20MD_100, PB20MD_101, PB20MD_110, PB20MD_111,
+       PB19MD_000, PB19MD_001, PB19MD_010, PB19MD_011,
+       PB19MD_100, PB19MD_101, PB19MD_110, PB19MD_111,
+       PB18MD_000, PB18MD_001, PB18MD_010, PB18MD_011,
+       PB18MD_100, PB18MD_101, PB18MD_110, PB18MD_111,
+       PB17MD_000, PB17MD_001, PB17MD_010, PB17MD_011,
+       PB17MD_100, PB17MD_101, PB17MD_110, PB17MD_111,
+       PB16MD_000, PB16MD_001, PB16MD_010, PB16MD_011,
+       PB16MD_100, PB16MD_101, PB16MD_110, PB16MD_111,
+       PB15MD_000, PB15MD_001, PB15MD_010, PB15MD_011,
+       PB15MD_100, PB15MD_101, PB15MD_110, PB15MD_111,
+       PB14MD_000, PB14MD_001, PB14MD_010, PB14MD_011,
+       PB14MD_100, PB14MD_101, PB14MD_110, PB14MD_111,
+       PB13MD_000, PB13MD_001, PB13MD_010, PB13MD_011,
+       PB13MD_100, PB13MD_101, PB13MD_110, PB13MD_111,
+       PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
+
+       PB11MD_00, PB11MD_01, PB11MD_10, PB11MD_11,
+       PB10MD_00, PB10MD_01, PB10MD_10, PB10MD_11,
+       PB9MD_00, PB9MD_01, PB9MD_10, PB9MD_11,
+       PB8MD_00, PB8MD_01, PB8MD_10, PB8MD_11,
+
+       PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
+       PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
+       PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
+       PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
+
+       PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
+       PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
+       PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
+
+       /* Port C */
+       PC8_IOR_IN, PC8_IOR_OUT,
+       PC7_IOR_IN, PC7_IOR_OUT,
+       PC6_IOR_IN, PC6_IOR_OUT,
+       PC5_IOR_IN, PC5_IOR_OUT,
+       PC4_IOR_IN, PC4_IOR_OUT,
+       PC3_IOR_IN, PC3_IOR_OUT,
+       PC2_IOR_IN, PC2_IOR_OUT,
+       PC1_IOR_IN, PC1_IOR_OUT,
+       PC0_IOR_IN, PC0_IOR_OUT,
+
+       PC8MD_000, PC8MD_001, PC8MD_010, PC8MD_011,
+       PC8MD_100, PC8MD_101, PC8MD_110, PC8MD_111,
+       PC7MD_000, PC7MD_001, PC7MD_010, PC7MD_011,
+       PC7MD_100, PC7MD_101, PC7MD_110, PC7MD_111,
+       PC6MD_000, PC6MD_001, PC6MD_010, PC6MD_011,
+       PC6MD_100, PC6MD_101, PC6MD_110, PC6MD_111,
+       PC5MD_000, PC5MD_001, PC5MD_010, PC5MD_011,
+       PC5MD_100, PC5MD_101, PC5MD_110, PC5MD_111,
+       PC4MD_00, PC4MD_01, PC4MD_10, PC4MD_11,
+
+       PC3MD_00, PC3MD_01, PC3MD_10, PC3MD_11,
+       PC2MD_00, PC2MD_01, PC2MD_10, PC2MD_11,
+       PC1MD_0, PC1MD_1,
+       PC0MD_0, PC0MD_1,
+
+       /* Port D */
+       PD15_IOR_IN, PD15_IOR_OUT,
+       PD14_IOR_IN, PD14_IOR_OUT,
+       PD13_IOR_IN, PD13_IOR_OUT,
+       PD12_IOR_IN, PD12_IOR_OUT,
+       PD11_IOR_IN, PD11_IOR_OUT,
+       PD10_IOR_IN, PD10_IOR_OUT,
+       PD9_IOR_IN, PD9_IOR_OUT,
+       PD8_IOR_IN, PD8_IOR_OUT,
+       PD7_IOR_IN, PD7_IOR_OUT,
+       PD6_IOR_IN, PD6_IOR_OUT,
+       PD5_IOR_IN, PD5_IOR_OUT,
+       PD4_IOR_IN, PD4_IOR_OUT,
+       PD3_IOR_IN, PD3_IOR_OUT,
+       PD2_IOR_IN, PD2_IOR_OUT,
+       PD1_IOR_IN, PD1_IOR_OUT,
+       PD0_IOR_IN, PD0_IOR_OUT,
+
+       PD15MD_00, PD15MD_01, PD15MD_10, PD15MD_11,
+       PD14MD_00, PD14MD_01, PD14MD_10, PD14MD_11,
+       PD13MD_00, PD13MD_01, PD13MD_10, PD13MD_11,
+       PD12MD_00, PD12MD_01, PD12MD_10, PD12MD_11,
+
+       PD11MD_00, PD11MD_01, PD11MD_10, PD11MD_11,
+       PD10MD_00, PD10MD_01, PD10MD_10, PD10MD_11,
+       PD9MD_00, PD9MD_01, PD9MD_10, PD9MD_11,
+       PD8MD_00, PD8MD_01, PD8MD_10, PD8MD_11,
+
+       PD7MD_00, PD7MD_01, PD7MD_10, PD7MD_11,
+       PD6MD_00, PD6MD_01, PD6MD_10, PD6MD_11,
+       PD5MD_00, PD5MD_01, PD5MD_10, PD5MD_11,
+       PD4MD_00, PD4MD_01, PD4MD_10, PD4MD_11,
+
+       PD3MD_00, PD3MD_01, PD3MD_10, PD3MD_11,
+       PD2MD_00, PD2MD_01, PD2MD_10, PD2MD_11,
+       PD1MD_00, PD1MD_01, PD1MD_10, PD1MD_11,
+       PD0MD_00, PD0MD_01, PD0MD_10, PD0MD_11,
+
+       /* Port E */
+       PE7_IOR_IN, PE7_IOR_OUT,
+       PE6_IOR_IN, PE6_IOR_OUT,
+       PE5_IOR_IN, PE5_IOR_OUT,
+       PE4_IOR_IN, PE4_IOR_OUT,
+       PE3_IOR_IN, PE3_IOR_OUT,
+       PE2_IOR_IN, PE2_IOR_OUT,
+       PE1_IOR_IN, PE1_IOR_OUT,
+       PE0_IOR_IN, PE0_IOR_OUT,
+
+       PE7MD_00, PE7MD_01, PE7MD_10, PE7MD_11,
+       PE6MD_00, PE6MD_01, PE6MD_10, PE6MD_11,
+       PE5MD_00, PE5MD_01, PE5MD_10, PE5MD_11,
+       PE4MD_00, PE4MD_01, PE4MD_10, PE4MD_11,
+
+       PE3MD_000, PE3MD_001, PE3MD_010, PE3MD_011,
+       PE3MD_100, PE3MD_101, PE3MD_110, PE3MD_111,
+       PE2MD_000, PE2MD_001, PE2MD_010, PE2MD_011,
+       PE2MD_100, PE2MD_101, PE2MD_110, PE2MD_111,
+       PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
+       PE1MD_100, PE1MD_101, PE1MD_110, PE1MD_111,
+       PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11,
+
+       /* Port F */
+       PF23_IOR_IN, PF23_IOR_OUT,
+       PF22_IOR_IN, PF22_IOR_OUT,
+       PF21_IOR_IN, PF21_IOR_OUT,
+       PF20_IOR_IN, PF20_IOR_OUT,
+       PF19_IOR_IN, PF19_IOR_OUT,
+       PF18_IOR_IN, PF18_IOR_OUT,
+       PF17_IOR_IN, PF17_IOR_OUT,
+       PF16_IOR_IN, PF16_IOR_OUT,
+       PF15_IOR_IN, PF15_IOR_OUT,
+       PF14_IOR_IN, PF14_IOR_OUT,
+       PF13_IOR_IN, PF13_IOR_OUT,
+       PF12_IOR_IN, PF12_IOR_OUT,
+       PF11_IOR_IN, PF11_IOR_OUT,
+       PF10_IOR_IN, PF10_IOR_OUT,
+       PF9_IOR_IN, PF9_IOR_OUT,
+       PF8_IOR_IN, PF8_IOR_OUT,
+       PF7_IOR_IN, PF7_IOR_OUT,
+       PF6_IOR_IN, PF6_IOR_OUT,
+       PF5_IOR_IN, PF5_IOR_OUT,
+       PF4_IOR_IN, PF4_IOR_OUT,
+       PF3_IOR_IN, PF3_IOR_OUT,
+       PF2_IOR_IN, PF2_IOR_OUT,
+       PF1_IOR_IN, PF1_IOR_OUT,
+       PF0_IOR_IN, PF0_IOR_OUT,
+
+       PF23MD_000, PF23MD_001, PF23MD_010, PF23MD_011,
+       PF23MD_100, PF23MD_101, PF23MD_110, PF23MD_111,
+       PF22MD_000, PF22MD_001, PF22MD_010, PF22MD_011,
+       PF22MD_100, PF22MD_101, PF22MD_110, PF22MD_111,
+       PF21MD_000, PF21MD_001, PF21MD_010, PF21MD_011,
+       PF21MD_100, PF21MD_101, PF21MD_110, PF21MD_111,
+       PF20MD_000, PF20MD_001, PF20MD_010, PF20MD_011,
+       PF20MD_100, PF20MD_101, PF20MD_110, PF20MD_111,
+
+       PF19MD_000, PF19MD_001, PF19MD_010, PF19MD_011,
+       PF19MD_100, PF19MD_101, PF19MD_110, PF19MD_111,
+       PF18MD_000, PF18MD_001, PF18MD_010, PF18MD_011,
+       PF18MD_100, PF18MD_101, PF18MD_110, PF18MD_111,
+       PF17MD_000, PF17MD_001, PF17MD_010, PF17MD_011,
+       PF17MD_100, PF17MD_101, PF17MD_110, PF17MD_111,
+       PF16MD_000, PF16MD_001, PF16MD_010, PF16MD_011,
+       PF16MD_100, PF16MD_101, PF16MD_110, PF16MD_111,
+
+       PF15MD_000, PF15MD_001, PF15MD_010, PF15MD_011,
+       PF15MD_100, PF15MD_101, PF15MD_110, PF15MD_111,
+       PF14MD_000, PF14MD_001, PF14MD_010, PF14MD_011,
+       PF14MD_100, PF14MD_101, PF14MD_110, PF14MD_111,
+       PF13MD_000, PF13MD_001, PF13MD_010, PF13MD_011,
+       PF13MD_100, PF13MD_101, PF13MD_110, PF13MD_111,
+       PF12MD_000, PF12MD_001, PF12MD_010, PF12MD_011,
+       PF12MD_100, PF12MD_101, PF12MD_110, PF12MD_111,
+
+       PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
+       PF11MD_100, PF11MD_101, PF11MD_110, PF11MD_111,
+       PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
+       PF10MD_100, PF10MD_101, PF10MD_110, PF10MD_111,
+       PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
+       PF9MD_100, PF9MD_101, PF9MD_110, PF9MD_111,
+       PF8MD_000, PF8MD_001, PF8MD_010, PF8MD_011,
+       PF8MD_100, PF8MD_101, PF8MD_110, PF8MD_111,
+
+       PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
+       PF7MD_100, PF7MD_101, PF7MD_110, PF7MD_111,
+       PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
+       PF6MD_100, PF6MD_101, PF6MD_110, PF6MD_111,
+       PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
+       PF5MD_100, PF5MD_101, PF5MD_110, PF5MD_111,
+       PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
+       PF4MD_100, PF4MD_101, PF4MD_110, PF4MD_111,
+
+       PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
+       PF3MD_100, PF3MD_101, PF3MD_110, PF3MD_111,
+       PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
+       PF2MD_100, PF2MD_101, PF2MD_110, PF2MD_111,
+       PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
+       PF1MD_100, PF1MD_101, PF1MD_110, PF1MD_111,
+       PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
+       PF0MD_100, PF0MD_101, PF0MD_110, PF0MD_111,
+
+       /* Port G */
+       PG27_IOR_IN, PG27_IOR_OUT,
+       PG26_IOR_IN, PG26_IOR_OUT,
+       PG25_IOR_IN, PG25_IOR_OUT,
+       PG24_IOR_IN, PG24_IOR_OUT,
+       PG23_IOR_IN, PG23_IOR_OUT,
+       PG22_IOR_IN, PG22_IOR_OUT,
+       PG21_IOR_IN, PG21_IOR_OUT,
+       PG20_IOR_IN, PG20_IOR_OUT,
+       PG19_IOR_IN, PG19_IOR_OUT,
+       PG18_IOR_IN, PG18_IOR_OUT,
+       PG17_IOR_IN, PG17_IOR_OUT,
+       PG16_IOR_IN, PG16_IOR_OUT,
+       PG15_IOR_IN, PG15_IOR_OUT,
+       PG14_IOR_IN, PG14_IOR_OUT,
+       PG13_IOR_IN, PG13_IOR_OUT,
+       PG12_IOR_IN, PG12_IOR_OUT,
+       PG11_IOR_IN, PG11_IOR_OUT,
+       PG10_IOR_IN, PG10_IOR_OUT,
+       PG9_IOR_IN, PG9_IOR_OUT,
+       PG8_IOR_IN, PG8_IOR_OUT,
+       PG7_IOR_IN, PG7_IOR_OUT,
+       PG6_IOR_IN, PG6_IOR_OUT,
+       PG5_IOR_IN, PG5_IOR_OUT,
+       PG4_IOR_IN, PG4_IOR_OUT,
+       PG3_IOR_IN, PG3_IOR_OUT,
+       PG2_IOR_IN, PG2_IOR_OUT,
+       PG1_IOR_IN, PG1_IOR_OUT,
+       PG0_IOR_IN, PG0_IOR_OUT,
+
+       PG27MD_00, PG27MD_01, PG27MD_10, PG27MD_11,
+       PG26MD_00, PG26MD_01, PG26MD_10, PG26MD_11,
+       PG25MD_00, PG25MD_01, PG25MD_10, PG25MD_11,
+       PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11,
+
+       PG23MD_000, PG23MD_001, PG23MD_010, PG23MD_011,
+       PG23MD_100, PG23MD_101, PG23MD_110, PG23MD_111,
+       PG22MD_000, PG22MD_001, PG22MD_010, PG22MD_011,
+       PG22MD_100, PG22MD_101, PG22MD_110, PG22MD_111,
+       PG21MD_000, PG21MD_001, PG21MD_010, PG21MD_011,
+       PG21MD_100, PG21MD_101, PG21MD_110, PG21MD_111,
+       PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
+       PG20MD_100, PG20MD_101, PG20MD_110, PG20MD_111,
+
+       PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
+       PG19MD_100, PG19MD_101, PG19MD_110, PG19MD_111,
+       PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
+       PG18MD_100, PG18MD_101, PG18MD_110, PG18MD_111,
+       PG17MD_00, PG17MD_01, PG17MD_10, PG17MD_11,
+       PG16MD_00, PG16MD_01, PG16MD_10, PG16MD_11,
+
+       PG15MD_00, PG15MD_01, PG15MD_10, PG15MD_11,
+       PG14MD_00, PG14MD_01, PG14MD_10, PG14MD_11,
+       PG13MD_00, PG13MD_01, PG13MD_10, PG13MD_11,
+       PG12MD_00, PG12MD_01, PG12MD_10, PG12MD_11,
+
+       PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
+       PG11MD_100, PG11MD_101, PG11MD_110, PG11MD_111,
+       PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
+       PG10MD_100, PG10MD_101, PG10MD_110, PG10MD_111,
+       PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
+       PG9MD_100, PG9MD_101, PG9MD_110, PG9MD_111,
+       PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
+       PG8MD_100, PG8MD_101, PG8MD_110, PG8MD_111,
+
+       PG7MD_000, PG7MD_001, PG7MD_010, PG7MD_011,
+       PG7MD_100, PG7MD_101, PG7MD_110, PG7MD_111,
+       PG6MD_000, PG6MD_001, PG6MD_010, PG6MD_011,
+       PG6MD_100, PG6MD_101, PG6MD_110, PG6MD_111,
+       PG5MD_000, PG5MD_001, PG5MD_010, PG5MD_011,
+       PG5MD_100, PG5MD_101, PG5MD_110, PG5MD_111,
+       PG4MD_000, PG4MD_001, PG4MD_010, PG4MD_011,
+       PG4MD_100, PG4MD_101, PG4MD_110, PG4MD_111,
+
+       PG3MD_000, PG3MD_001, PG3MD_010, PG3MD_011,
+       PG3MD_100, PG3MD_101, PG3MD_110, PG3MD_111,
+       PG2MD_000, PG2MD_001, PG2MD_010, PG2MD_011,
+       PG2MD_100, PG2MD_101, PG2MD_110, PG2MD_111,
+       PG1MD_000, PG1MD_001, PG1MD_010, PG1MD_011,
+       PG1MD_100, PG1MD_101, PG1MD_110, PG1MD_111,
+       PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
+       PG0MD_100, PG0MD_101, PG0MD_110, PG0MD_111,
+
+       /* Port H */
+       PH7MD_00, PH7MD_01, PH7MD_10, PH7MD_11,
+       PH6MD_00, PH6MD_01, PH6MD_10, PH6MD_11,
+       PH5MD_00, PH5MD_01, PH5MD_10, PH5MD_11,
+       PH4MD_00, PH4MD_01, PH4MD_10, PH4MD_11,
+
+       PH3MD_00, PH3MD_01, PH3MD_10, PH3MD_11,
+       PH2MD_00, PH2MD_01, PH2MD_10, PH2MD_11,
+       PH1MD_00, PH1MD_01, PH1MD_10, PH1MD_11,
+       PH0MD_00, PH0MD_01, PH0MD_10, PH0MD_11,
+
+       /* Port I - not on device */
+
+       /* Port J */
+       PJ31_IOR_IN, PJ31_IOR_OUT,
+       PJ30_IOR_IN, PJ30_IOR_OUT,
+       PJ29_IOR_IN, PJ29_IOR_OUT,
+       PJ28_IOR_IN, PJ28_IOR_OUT,
+       PJ27_IOR_IN, PJ27_IOR_OUT,
+       PJ26_IOR_IN, PJ26_IOR_OUT,
+       PJ25_IOR_IN, PJ25_IOR_OUT,
+       PJ24_IOR_IN, PJ24_IOR_OUT,
+       PJ23_IOR_IN, PJ23_IOR_OUT,
+       PJ22_IOR_IN, PJ22_IOR_OUT,
+       PJ21_IOR_IN, PJ21_IOR_OUT,
+       PJ20_IOR_IN, PJ20_IOR_OUT,
+       PJ19_IOR_IN, PJ19_IOR_OUT,
+       PJ18_IOR_IN, PJ18_IOR_OUT,
+       PJ17_IOR_IN, PJ17_IOR_OUT,
+       PJ16_IOR_IN, PJ16_IOR_OUT,
+       PJ15_IOR_IN, PJ15_IOR_OUT,
+       PJ14_IOR_IN, PJ14_IOR_OUT,
+       PJ13_IOR_IN, PJ13_IOR_OUT,
+       PJ12_IOR_IN, PJ12_IOR_OUT,
+       PJ11_IOR_IN, PJ11_IOR_OUT,
+       PJ10_IOR_IN, PJ10_IOR_OUT,
+       PJ9_IOR_IN, PJ9_IOR_OUT,
+       PJ8_IOR_IN, PJ8_IOR_OUT,
+       PJ7_IOR_IN, PJ7_IOR_OUT,
+       PJ6_IOR_IN, PJ6_IOR_OUT,
+       PJ5_IOR_IN, PJ5_IOR_OUT,
+       PJ4_IOR_IN, PJ4_IOR_OUT,
+       PJ3_IOR_IN, PJ3_IOR_OUT,
+       PJ2_IOR_IN, PJ2_IOR_OUT,
+       PJ1_IOR_IN, PJ1_IOR_OUT,
+       PJ0_IOR_IN, PJ0_IOR_OUT,
+
+       PJ31MD_0, PJ31MD_1,
+       PJ30MD_000, PJ30MD_001, PJ30MD_010, PJ30MD_011,
+       PJ30MD_100, PJ30MD_101, PJ30MD_110, PJ30MD_111,
+       PJ29MD_000, PJ29MD_001, PJ29MD_010, PJ29MD_011,
+       PJ29MD_100, PJ29MD_101, PJ29MD_110, PJ29MD_111,
+       PJ28MD_000, PJ28MD_001, PJ28MD_010, PJ28MD_011,
+       PJ28MD_100, PJ28MD_101, PJ28MD_110, PJ28MD_111,
+
+       PJ27MD_000, PJ27MD_001, PJ27MD_010, PJ27MD_011,
+       PJ27MD_100, PJ27MD_101, PJ27MD_110, PJ27MD_111,
+       PJ26MD_000, PJ26MD_001, PJ26MD_010, PJ26MD_011,
+       PJ26MD_100, PJ26MD_101, PJ26MD_110, PJ26MD_111,
+       PJ25MD_000, PJ25MD_001, PJ25MD_010, PJ25MD_011,
+       PJ25MD_100, PJ25MD_101, PJ25MD_110, PJ25MD_111,
+       PJ24MD_000, PJ24MD_001, PJ24MD_010, PJ24MD_011,
+       PJ24MD_100, PJ24MD_101, PJ24MD_110, PJ24MD_111,
+
+       PJ23MD_000, PJ23MD_001, PJ23MD_010, PJ23MD_011,
+       PJ23MD_100, PJ23MD_101, PJ23MD_110, PJ23MD_111,
+       PJ22MD_000, PJ22MD_001, PJ22MD_010, PJ22MD_011,
+       PJ22MD_100, PJ22MD_101, PJ22MD_110, PJ22MD_111,
+       PJ21MD_000, PJ21MD_001, PJ21MD_010, PJ21MD_011,
+       PJ21MD_100, PJ21MD_101, PJ21MD_110, PJ21MD_111,
+       PJ20MD_000, PJ20MD_001, PJ20MD_010, PJ20MD_011,
+       PJ20MD_100, PJ20MD_101, PJ20MD_110, PJ20MD_111,
+
+       PJ19MD_000, PJ19MD_001, PJ19MD_010, PJ19MD_011,
+       PJ19MD_100, PJ19MD_101, PJ19MD_110, PJ19MD_111,
+       PJ18MD_000, PJ18MD_001, PJ18MD_010, PJ18MD_011,
+       PJ18MD_100, PJ18MD_101, PJ18MD_110, PJ18MD_111,
+       PJ17MD_000, PJ17MD_001, PJ17MD_010, PJ17MD_011,
+       PJ17MD_100, PJ17MD_101, PJ17MD_110, PJ17MD_111,
+       PJ16MD_000, PJ16MD_001, PJ16MD_010, PJ16MD_011,
+       PJ16MD_100, PJ16MD_101, PJ16MD_110, PJ16MD_111,
+
+       PJ15MD_000, PJ15MD_001, PJ15MD_010, PJ15MD_011,
+       PJ15MD_100, PJ15MD_101, PJ15MD_110, PJ15MD_111,
+       PJ14MD_000, PJ14MD_001, PJ14MD_010, PJ14MD_011,
+       PJ14MD_100, PJ14MD_101, PJ14MD_110, PJ14MD_111,
+       PJ13MD_000, PJ13MD_001, PJ13MD_010, PJ13MD_011,
+       PJ13MD_100, PJ13MD_101, PJ13MD_110, PJ13MD_111,
+       PJ12MD_000, PJ12MD_001, PJ12MD_010, PJ12MD_011,
+       PJ12MD_100, PJ12MD_101, PJ12MD_110, PJ12MD_111,
+
+       PJ11MD_000, PJ11MD_001, PJ11MD_010, PJ11MD_011,
+       PJ11MD_100, PJ11MD_101, PJ11MD_110, PJ11MD_111,
+       PJ10MD_000, PJ10MD_001, PJ10MD_010, PJ10MD_011,
+       PJ10MD_100, PJ10MD_101, PJ10MD_110, PJ10MD_111,
+       PJ9MD_000, PJ9MD_001, PJ9MD_010, PJ9MD_011,
+       PJ9MD_100, PJ9MD_101, PJ9MD_110, PJ9MD_111,
+       PJ8MD_000, PJ8MD_001, PJ8MD_010, PJ8MD_011,
+       PJ8MD_100, PJ8MD_101, PJ8MD_110, PJ8MD_111,
+
+       PJ7MD_000, PJ7MD_001, PJ7MD_010, PJ7MD_011,
+       PJ7MD_100, PJ7MD_101, PJ7MD_110, PJ7MD_111,
+       PJ6MD_000, PJ6MD_001, PJ6MD_010, PJ6MD_011,
+       PJ6MD_100, PJ6MD_101, PJ6MD_110, PJ6MD_111,
+       PJ5MD_000, PJ5MD_001, PJ5MD_010, PJ5MD_011,
+       PJ5MD_100, PJ5MD_101, PJ5MD_110, PJ5MD_111,
+       PJ4MD_000, PJ4MD_001, PJ4MD_010, PJ4MD_011,
+       PJ4MD_100, PJ4MD_101, PJ4MD_110, PJ4MD_111,
+
+       PJ3MD_000, PJ3MD_001, PJ3MD_010, PJ3MD_011,
+       PJ3MD_100, PJ3MD_101, PJ3MD_110, PJ3MD_111,
+       PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
+       PJ2MD_100, PJ2MD_101, PJ2MD_110, PJ2MD_111,
+       PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
+       PJ1MD_100, PJ1MD_101, PJ1MD_110, PJ1MD_111,
+       PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
+       PJ0MD_100, PJ0MD_101, PJ0MD_110, PJ0MD_111,
+
+       PINMUX_FUNCTION_END,
+
+       PINMUX_MARK_BEGIN,
+       /* Port H */
+       PHAN7_MARK, PHAN6_MARK, PHAN5_MARK, PHAN4_MARK,
+       PHAN3_MARK, PHAN2_MARK, PHAN1_MARK, PHAN0_MARK,
+
+       /* IRQs */
+       IRQ7_PG_MARK, IRQ6_PG_MARK, IRQ5_PG_MARK, IRQ4_PG_MARK,
+       IRQ3_PG_MARK, IRQ2_PG_MARK, IRQ1_PG_MARK, IRQ0_PG_MARK,
+       IRQ7_PF_MARK, IRQ6_PF_MARK, IRQ5_PF_MARK, IRQ4_PF_MARK,
+       IRQ3_PJ_MARK, IRQ2_PJ_MARK, IRQ1_PJ_MARK, IRQ0_PJ_MARK,
+       IRQ1_PC_MARK, IRQ0_PC_MARK,
+
+       PINT7_PG_MARK, PINT6_PG_MARK, PINT5_PG_MARK, PINT4_PG_MARK,
+       PINT3_PG_MARK, PINT2_PG_MARK, PINT1_PG_MARK, PINT0_PG_MARK,
+       PINT7_PH_MARK, PINT6_PH_MARK, PINT5_PH_MARK, PINT4_PH_MARK,
+       PINT3_PH_MARK, PINT2_PH_MARK, PINT1_PH_MARK, PINT0_PH_MARK,
+       PINT7_PJ_MARK, PINT6_PJ_MARK, PINT5_PJ_MARK, PINT4_PJ_MARK,
+       PINT3_PJ_MARK, PINT2_PJ_MARK, PINT1_PJ_MARK, PINT0_PJ_MARK,
+
+       /* SD */
+       SD_D0_MARK, SD_D1_MARK, SD_D2_MARK, SD_D3_MARK,
+       SD_WP_MARK, SD_CLK_MARK, SD_CMD_MARK, SD_CD_MARK,
+
+       /* MMC */
+       MMC_D0_MARK, MMC_D1_MARK, MMC_D2_MARK, MMC_D3_MARK,
+       MMC_D4_MARK, MMC_D5_MARK, MMC_D6_MARK, MMC_D7_MARK,
+       MMC_CLK_MARK, MMC_CMD_MARK, MMC_CD_MARK,
+
+       /* PWM */
+       PWM1A_MARK, PWM1B_MARK, PWM1C_MARK, PWM1D_MARK,
+       PWM1E_MARK, PWM1F_MARK, PWM1G_MARK, PWM1H_MARK,
+       PWM2A_MARK, PWM2B_MARK, PWM2C_MARK, PWM2D_MARK,
+       PWM2E_MARK, PWM2F_MARK, PWM2G_MARK, PWM2H_MARK,
+
+       /* IEBus */
+       IERXD_MARK, IETXD_MARK,
+
+       /* WDT */
+       WDTOVF_MARK,
+
+       /* DMAC */
+       TEND0_MARK, DACK0_MARK, DREQ0_MARK,
+       TEND1_MARK, DACK1_MARK, DREQ1_MARK,
+
+       /* ADC */
+       ADTRG_MARK,
+
+       /* BSC */
+       A25_MARK, A24_MARK,
+       A23_MARK, A22_MARK, A21_MARK, A20_MARK,
+       A19_MARK, A18_MARK, A17_MARK, A16_MARK,
+       A15_MARK, A14_MARK, A13_MARK, A12_MARK,
+       A11_MARK, A10_MARK, A9_MARK, A8_MARK,
+       A7_MARK, A6_MARK, A5_MARK, A4_MARK,
+       A3_MARK, A2_MARK, A1_MARK, A0_MARK,
+       D31_MARK, D30_MARK, D29_MARK, D28_MARK,
+       D27_MARK, D26_MARK, D25_MARK, D24_MARK,
+       D23_MARK, D22_MARK, D21_MARK, D20_MARK,
+       D19_MARK, D18_MARK, D17_MARK, D16_MARK,
+       D15_MARK, D14_MARK, D13_MARK, D12_MARK,
+       D11_MARK, D10_MARK, D9_MARK, D8_MARK,
+       D7_MARK, D6_MARK, D5_MARK, D4_MARK,
+       D3_MARK, D2_MARK, D1_MARK, D0_MARK,
+       BS_MARK,
+       CS4_MARK, CS3_MARK, CS2_MARK, CS1_MARK, CS0_MARK,
+       CS5CE1A_MARK,
+       CE2A_MARK, CE2B_MARK,
+       RD_MARK, RDWR_MARK,
+       WE3ICIOWRAHDQMUU_MARK,
+       WE2ICIORDDQMUL_MARK,
+       WE1DQMUWE_MARK,
+       WE0DQML_MARK,
+       RAS_MARK, CAS_MARK, CKE_MARK,
+       WAIT_MARK, BREQ_MARK, BACK_MARK, IOIS16_MARK,
+
+       /* TMU */
+       TIOC0A_MARK, TIOC0B_MARK, TIOC0C_MARK, TIOC0D_MARK,
+       TIOC1A_MARK, TIOC1B_MARK,
+       TIOC2A_MARK, TIOC2B_MARK,
+       TIOC3A_MARK, TIOC3B_MARK, TIOC3C_MARK, TIOC3D_MARK,
+       TIOC4A_MARK, TIOC4B_MARK, TIOC4C_MARK, TIOC4D_MARK,
+       TCLKA_MARK, TCLKB_MARK, TCLKC_MARK, TCLKD_MARK,
+
+       /* SCIF */
+       SCK0_MARK, RXD0_MARK, TXD0_MARK,
+       SCK1_MARK, RXD1_MARK, TXD1_MARK, RTS1_MARK, CTS1_MARK,
+       SCK2_MARK, RXD2_MARK, TXD2_MARK,
+       SCK3_MARK, RXD3_MARK, TXD3_MARK,
+       SCK4_MARK, RXD4_MARK, TXD4_MARK,
+       SCK5_MARK, RXD5_MARK, TXD5_MARK, RTS5_MARK, CTS5_MARK,
+       SCK6_MARK, RXD6_MARK, TXD6_MARK,
+       SCK7_MARK, RXD7_MARK, TXD7_MARK, RTS7_MARK, CTS7_MARK,
+
+       /* RSPI */
+       MISO0_PB20_MARK, MOSI0_PB19_MARK, SSL00_PB18_MARK, RSPCK0_PB17_MARK,
+       MISO0_PJ19_MARK, MOSI0_PJ18_MARK, SSL00_PJ17_MARK, RSPCK0_PJ16_MARK,
+       MISO1_MARK, MOSI1_MARK, SSL10_MARK, RSPCK1_MARK,
+
+       /* IIC3 */
+       SCL0_MARK, SDA0_MARK,
+       SCL1_MARK, SDA1_MARK,
+       SCL2_MARK, SDA2_MARK,
+       SCL3_MARK, SDA3_MARK,
+
+       /* SSI */
+       SSISCK0_MARK, SSIWS0_MARK, SSITXD0_MARK, SSIRXD0_MARK,
+       SSISCK1_MARK, SSIWS1_MARK, SSIDATA1_MARK,
+       SSISCK2_MARK, SSIWS2_MARK, SSIDATA2_MARK,
+       SSISCK3_MARK, SSIWS3_MARK, SSIDATA3_MARK,
+       SSISCK4_MARK, SSIWS4_MARK, SSIDATA4_MARK,
+       SSISCK5_MARK, SSIWS5_MARK, SSIDATA5_MARK,
+       AUDIO_CLK_MARK,
+       AUDIO_XOUT_MARK,
+
+       /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
+       SIOFTXD_MARK, SIOFRXD_MARK, SIOFSYNC_MARK, SIOFSCK_MARK,
+
+       /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
+       SPDIF_IN_MARK, SPDIF_OUT_MARK,
+       SPDIF_IN_PJ24_MARK, SPDIF_OUT_PJ25_MARK,
+
+       /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
+       FCE_MARK,
+       FRB_MARK,
+
+       /* CAN */
+       CRX0_MARK, CTX0_MARK,
+       CRX1_MARK, CTX1_MARK,
+       CRX2_MARK, CTX2_MARK,
+       CRX0_CRX1_MARK,
+       CRX0_CRX1_CRX2_MARK,
+       CTX0CTX1CTX2_MARK,
+       CRX1_PJ22_MARK, CTX1_PJ23_MARK,
+       CRX2_PJ20_MARK, CTX2_PJ21_MARK,
+       CRX0CRX1_PJ22_MARK,
+       CRX0CRX1CRX2_PJ20_MARK,
+
+       /* VDC */
+       DV_CLK_MARK,
+       DV_VSYNC_MARK, DV_HSYNC_MARK,
+       DV_DATA23_MARK, DV_DATA22_MARK, DV_DATA21_MARK, DV_DATA20_MARK,
+       DV_DATA19_MARK, DV_DATA18_MARK, DV_DATA17_MARK, DV_DATA16_MARK,
+       DV_DATA15_MARK, DV_DATA14_MARK, DV_DATA13_MARK, DV_DATA12_MARK,
+       DV_DATA11_MARK, DV_DATA10_MARK, DV_DATA9_MARK, DV_DATA8_MARK,
+       DV_DATA7_MARK, DV_DATA6_MARK, DV_DATA5_MARK, DV_DATA4_MARK,
+       DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK,
+       LCD_CLK_MARK, LCD_EXTCLK_MARK,
+       LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK,
+       LCD_DATA23_PG23_MARK, LCD_DATA22_PG22_MARK, LCD_DATA21_PG21_MARK,
+       LCD_DATA20_PG20_MARK, LCD_DATA19_PG19_MARK, LCD_DATA18_PG18_MARK,
+       LCD_DATA17_PG17_MARK, LCD_DATA16_PG16_MARK, LCD_DATA15_PG15_MARK,
+       LCD_DATA14_PG14_MARK, LCD_DATA13_PG13_MARK, LCD_DATA12_PG12_MARK,
+       LCD_DATA11_PG11_MARK, LCD_DATA10_PG10_MARK, LCD_DATA9_PG9_MARK,
+       LCD_DATA8_PG8_MARK, LCD_DATA7_PG7_MARK, LCD_DATA6_PG6_MARK,
+       LCD_DATA5_PG5_MARK, LCD_DATA4_PG4_MARK, LCD_DATA3_PG3_MARK,
+       LCD_DATA2_PG2_MARK, LCD_DATA1_PG1_MARK, LCD_DATA0_PG0_MARK,
+       LCD_DATA23_PJ23_MARK, LCD_DATA22_PJ22_MARK, LCD_DATA21_PJ21_MARK,
+       LCD_DATA20_PJ20_MARK, LCD_DATA19_PJ19_MARK, LCD_DATA18_PJ18_MARK,
+       LCD_DATA17_PJ17_MARK, LCD_DATA16_PJ16_MARK, LCD_DATA15_PJ15_MARK,
+       LCD_DATA14_PJ14_MARK, LCD_DATA13_PJ13_MARK, LCD_DATA12_PJ12_MARK,
+       LCD_DATA11_PJ11_MARK, LCD_DATA10_PJ10_MARK, LCD_DATA9_PJ9_MARK,
+       LCD_DATA8_PJ8_MARK, LCD_DATA7_PJ7_MARK, LCD_DATA6_PJ6_MARK,
+       LCD_DATA5_PJ5_MARK, LCD_DATA4_PJ4_MARK, LCD_DATA3_PJ3_MARK,
+       LCD_DATA2_PJ2_MARK, LCD_DATA1_PJ1_MARK, LCD_DATA0_PJ0_MARK,
+       LCD_TCON6_MARK, LCD_TCON5_MARK, LCD_TCON4_MARK,
+       LCD_TCON3_MARK, LCD_TCON2_MARK, LCD_TCON1_MARK, LCD_TCON0_MARK,
+       LCD_M_DISP_MARK,
+       PINMUX_MARK_END,
+};
+
+static const u16 pinmux_data[] = {
+       /* Port A */
+       PINMUX_DATA(PA1_DATA, PA1_IN),
+       PINMUX_DATA(PA0_DATA, PA0_IN),
+
+       /* Port B */
+       PINMUX_DATA(PB22_DATA, PB22MD_000, PB22_IN, PB22_OUT),
+       PINMUX_DATA(A22_MARK, PB22MD_001),
+       PINMUX_DATA(CTX2_MARK, PB22MD_010),
+       PINMUX_DATA(IETXD_MARK, PB22MD_011),
+       PINMUX_DATA(CS4_MARK, PB22MD_100),
+
+       PINMUX_DATA(PB21_DATA, PB21MD_00, PB21_IN, PB21_OUT),
+       PINMUX_DATA(A21_MARK, PB21MD_01),
+       PINMUX_DATA(CRX2_MARK, PB21MD_10),
+       PINMUX_DATA(IERXD_MARK, PB21MD_11),
+
+       PINMUX_DATA(A20_MARK, PB20MD_001),
+       PINMUX_DATA(A19_MARK, PB19MD_001),
+       PINMUX_DATA(A18_MARK, PB18MD_001),
+       PINMUX_DATA(A17_MARK, PB17MD_001),
+       PINMUX_DATA(A16_MARK, PB16MD_001),
+       PINMUX_DATA(A15_MARK, PB15MD_001),
+       PINMUX_DATA(A14_MARK, PB14MD_001),
+       PINMUX_DATA(A13_MARK, PB13MD_001),
+       PINMUX_DATA(A12_MARK, PB12MD_01),
+       PINMUX_DATA(A11_MARK, PB11MD_01),
+       PINMUX_DATA(A10_MARK, PB10MD_01),
+       PINMUX_DATA(A9_MARK, PB9MD_01),
+       PINMUX_DATA(A8_MARK, PB8MD_01),
+       PINMUX_DATA(A7_MARK, PB7MD_01),
+       PINMUX_DATA(A6_MARK, PB6MD_01),
+       PINMUX_DATA(A5_MARK, PB5MD_01),
+       PINMUX_DATA(A4_MARK, PB4MD_01),
+       PINMUX_DATA(A3_MARK, PB3MD_01),
+       PINMUX_DATA(A2_MARK, PB2MD_01),
+       PINMUX_DATA(A1_MARK, PB1MD_01),
+
+       /* Port C */
+       PINMUX_DATA(PC8_DATA, PC8MD_000),
+       PINMUX_DATA(CS3_MARK, PC8MD_001),
+       PINMUX_DATA(TXD7_MARK, PC8MD_010),
+       PINMUX_DATA(CTX1_MARK, PC8MD_011),
+
+       PINMUX_DATA(PC7_DATA, PC7MD_000),
+       PINMUX_DATA(CKE_MARK, PC7MD_001),
+       PINMUX_DATA(RXD7_MARK, PC7MD_010),
+       PINMUX_DATA(CRX1_MARK, PC7MD_011),
+       PINMUX_DATA(CRX0_CRX1_MARK, PC7MD_100),
+       PINMUX_DATA(IRQ1_PC_MARK, PC7MD_101),
+
+       PINMUX_DATA(PC6_DATA, PC6MD_000),
+       PINMUX_DATA(CAS_MARK, PC6MD_001),
+       PINMUX_DATA(SCK7_MARK, PC6MD_010),
+       PINMUX_DATA(CTX0_MARK, PC6MD_011),
+
+       PINMUX_DATA(PC5_DATA, PC5MD_000),
+       PINMUX_DATA(RAS_MARK, PC5MD_001),
+       PINMUX_DATA(CRX0_MARK, PC5MD_011),
+       PINMUX_DATA(CTX0CTX1CTX2_MARK, PC5MD_100),
+       PINMUX_DATA(IRQ0_PC_MARK, PC5MD_101),
+
+       PINMUX_DATA(PC4_DATA, PC4MD_00),
+       PINMUX_DATA(WE1DQMUWE_MARK, PC4MD_01),
+       PINMUX_DATA(TXD6_MARK, PC4MD_10),
+
+       PINMUX_DATA(PC3_DATA, PC3MD_00),
+       PINMUX_DATA(WE0DQML_MARK, PC3MD_01),
+       PINMUX_DATA(RXD6_MARK, PC3MD_10),
+
+       PINMUX_DATA(PC2_DATA, PC2MD_00),
+       PINMUX_DATA(RDWR_MARK, PC2MD_01),
+       PINMUX_DATA(SCK5_MARK, PC2MD_10),
+
+       PINMUX_DATA(PC1_DATA, PC1MD_0),
+       PINMUX_DATA(RD_MARK, PC1MD_1),
+
+       PINMUX_DATA(PC0_DATA, PC0MD_0),
+       PINMUX_DATA(CS0_MARK, PC0MD_1),
+
+       /* Port D */
+       PINMUX_DATA(D15_MARK, PD15MD_01),
+       PINMUX_DATA(D14_MARK, PD14MD_01),
+
+       PINMUX_DATA(PD13_DATA, PD13MD_00),
+       PINMUX_DATA(D13_MARK, PD13MD_01),
+       PINMUX_DATA(PWM2F_MARK, PD13MD_10),
+
+       PINMUX_DATA(PD12_DATA, PD12MD_00),
+       PINMUX_DATA(D12_MARK, PD12MD_01),
+       PINMUX_DATA(PWM2E_MARK, PD12MD_10),
+
+       PINMUX_DATA(D11_MARK, PD11MD_01),
+       PINMUX_DATA(D10_MARK, PD10MD_01),
+       PINMUX_DATA(D9_MARK, PD9MD_01),
+       PINMUX_DATA(D8_MARK, PD8MD_01),
+       PINMUX_DATA(D7_MARK, PD7MD_01),
+       PINMUX_DATA(D6_MARK, PD6MD_01),
+       PINMUX_DATA(D5_MARK, PD5MD_01),
+       PINMUX_DATA(D4_MARK, PD4MD_01),
+       PINMUX_DATA(D3_MARK, PD3MD_01),
+       PINMUX_DATA(D2_MARK, PD2MD_01),
+       PINMUX_DATA(D1_MARK, PD1MD_01),
+       PINMUX_DATA(D0_MARK, PD0MD_01),
+
+       /* Port E */
+       PINMUX_DATA(PE7_DATA, PE7MD_00),
+       PINMUX_DATA(SDA3_MARK, PE7MD_01),
+       PINMUX_DATA(RXD7_MARK, PE7MD_10),
+
+       PINMUX_DATA(PE6_DATA, PE6MD_00),
+       PINMUX_DATA(SCL3_MARK, PE6MD_01),
+       PINMUX_DATA(RXD6_MARK, PE6MD_10),
+
+       PINMUX_DATA(PE5_DATA, PE5MD_00),
+       PINMUX_DATA(SDA2_MARK, PE5MD_01),
+       PINMUX_DATA(RXD5_MARK, PE5MD_10),
+       PINMUX_DATA(DV_HSYNC_MARK, PE5MD_11),
+
+       PINMUX_DATA(PE4_DATA, PE4MD_00),
+       PINMUX_DATA(SCL2_MARK, PE4MD_01),
+       PINMUX_DATA(DV_VSYNC_MARK, PE4MD_11),
+
+       PINMUX_DATA(PE3_DATA, PE3MD_000),
+       PINMUX_DATA(SDA1_MARK, PE3MD_001),
+       PINMUX_DATA(TCLKD_MARK, PE3MD_010),
+       PINMUX_DATA(ADTRG_MARK, PE3MD_011),
+       PINMUX_DATA(DV_HSYNC_MARK, PE3MD_100),
+
+       PINMUX_DATA(PE2_DATA, PE2MD_000),
+       PINMUX_DATA(SCL1_MARK, PE2MD_001),
+       PINMUX_DATA(TCLKD_MARK, PE2MD_010),
+       PINMUX_DATA(IOIS16_MARK, PE2MD_011),
+       PINMUX_DATA(DV_VSYNC_MARK, PE2MD_100),
+
+       PINMUX_DATA(PE1_DATA, PE1MD_000),
+       PINMUX_DATA(SDA0_MARK, PE1MD_001),
+       PINMUX_DATA(TCLKB_MARK, PE1MD_010),
+       PINMUX_DATA(AUDIO_CLK_MARK, PE1MD_010),
+       PINMUX_DATA(DV_CLK_MARK, PE1MD_100),
+
+       PINMUX_DATA(PE0_DATA, PE0MD_00),
+       PINMUX_DATA(SCL0_MARK, PE0MD_01),
+       PINMUX_DATA(TCLKA_MARK, PE0MD_10),
+       PINMUX_DATA(LCD_EXTCLK_MARK, PE0MD_11),
+
+       /* Port F */
+       PINMUX_DATA(PF23_DATA, PF23MD_000),
+       PINMUX_DATA(SD_D2_MARK, PF23MD_001),
+       PINMUX_DATA(TXD3_MARK, PF23MD_100),
+       PINMUX_DATA(MMC_D2_MARK, PF23MD_101),
+
+       PINMUX_DATA(PF22_DATA, PF22MD_000),
+       PINMUX_DATA(SD_D3_MARK, PF22MD_001),
+       PINMUX_DATA(RXD3_MARK, PF22MD_100),
+       PINMUX_DATA(MMC_D3_MARK, PF22MD_101),
+
+       PINMUX_DATA(PF21_DATA, PF21MD_000),
+       PINMUX_DATA(SD_CMD_MARK, PF21MD_001),
+       PINMUX_DATA(SCK3_MARK, PF21MD_100),
+       PINMUX_DATA(MMC_CMD_MARK, PF21MD_101),
+
+       PINMUX_DATA(PF20_DATA, PF20MD_000),
+       PINMUX_DATA(SD_CLK_MARK, PF20MD_001),
+       PINMUX_DATA(SSIDATA3_MARK, PF20MD_010),
+       PINMUX_DATA(MMC_CLK_MARK, PF20MD_101),
+
+       PINMUX_DATA(PF19_DATA, PF19MD_000),
+       PINMUX_DATA(SD_D0_MARK, PF19MD_001),
+       PINMUX_DATA(SSIWS3_MARK, PF19MD_010),
+       PINMUX_DATA(IRQ7_PF_MARK, PF19MD_100),
+       PINMUX_DATA(MMC_D0_MARK, PF19MD_101),
+
+       PINMUX_DATA(PF18_DATA, PF18MD_000),
+       PINMUX_DATA(SD_D1_MARK, PF18MD_001),
+       PINMUX_DATA(SSISCK3_MARK, PF18MD_010),
+       PINMUX_DATA(IRQ6_PF_MARK, PF18MD_100),
+       PINMUX_DATA(MMC_D1_MARK, PF18MD_101),
+
+       PINMUX_DATA(PF17_DATA, PF17MD_000),
+       PINMUX_DATA(SD_WP_MARK, PF17MD_001),
+       PINMUX_DATA(FRB_MARK, PF17MD_011),
+       PINMUX_DATA(IRQ5_PF_MARK, PF17MD_100),
+
+       PINMUX_DATA(PF16_DATA, PF16MD_000),
+       PINMUX_DATA(SD_CD_MARK, PF16MD_001),
+       PINMUX_DATA(FCE_MARK, PF16MD_011),
+       PINMUX_DATA(IRQ4_PF_MARK, PF16MD_100),
+       PINMUX_DATA(MMC_CD_MARK, PF16MD_101),
+
+       PINMUX_DATA(PF15_DATA, PF15MD_000),
+       PINMUX_DATA(A0_MARK, PF15MD_001),
+       PINMUX_DATA(SSIDATA2_MARK, PF15MD_010),
+       PINMUX_DATA(WDTOVF_MARK, PF15MD_011),
+       PINMUX_DATA(TXD2_MARK, PF15MD_100),
+
+       PINMUX_DATA(PF14_DATA, PF14MD_000),
+       PINMUX_DATA(A25_MARK, PF14MD_001),
+       PINMUX_DATA(SSIWS2_MARK, PF14MD_010),
+       PINMUX_DATA(RXD2_MARK, PF14MD_100),
+
+       PINMUX_DATA(PF13_DATA, PF13MD_000),
+       PINMUX_DATA(A24_MARK, PF13MD_001),
+       PINMUX_DATA(SSISCK2_MARK, PF13MD_010),
+       PINMUX_DATA(SCK2_MARK, PF13MD_100),
+
+       PINMUX_DATA(PF12_DATA, PF12MD_000),
+       PINMUX_DATA(SSIDATA1_MARK, PF12MD_010),
+       PINMUX_DATA(DV_DATA12_MARK, PF12MD_011),
+       PINMUX_DATA(TXD1_MARK, PF12MD_100),
+       PINMUX_DATA(MMC_D7_MARK, PF12MD_101),
+
+       PINMUX_DATA(PF11_DATA, PF11MD_000),
+       PINMUX_DATA(SSIWS1_MARK, PF11MD_010),
+       PINMUX_DATA(DV_DATA2_MARK, PF11MD_011),
+       PINMUX_DATA(RXD1_MARK, PF11MD_100),
+       PINMUX_DATA(MMC_D6_MARK, PF11MD_101),
+
+       PINMUX_DATA(PF10_DATA, PF10MD_000),
+       PINMUX_DATA(CS1_MARK, PF10MD_001),
+       PINMUX_DATA(SSISCK1_MARK, PF10MD_010),
+       PINMUX_DATA(DV_DATA1_MARK, PF10MD_011),
+       PINMUX_DATA(SCK1_MARK, PF10MD_100),
+       PINMUX_DATA(MMC_D5_MARK, PF10MD_101),
+
+       PINMUX_DATA(PF9_DATA, PF9MD_000),
+       PINMUX_DATA(BS_MARK, PF9MD_001),
+       PINMUX_DATA(DV_DATA0_MARK, PF9MD_011),
+       PINMUX_DATA(SCK0_MARK, PF9MD_100),
+       PINMUX_DATA(MMC_D4_MARK, PF9MD_101),
+       PINMUX_DATA(RTS1_MARK, PF9MD_110),
+
+       PINMUX_DATA(PF8_DATA, PF8MD_000),
+       PINMUX_DATA(A23_MARK, PF8MD_001),
+       PINMUX_DATA(TXD0_MARK, PF8MD_100),
+
+       PINMUX_DATA(PF7_DATA, PF7MD_000),
+       PINMUX_DATA(SSIRXD0_MARK, PF7MD_010),
+       PINMUX_DATA(RXD0_MARK, PF7MD_100),
+       PINMUX_DATA(CTS1_MARK, PF7MD_110),
+
+       PINMUX_DATA(PF6_DATA, PF6MD_000),
+       PINMUX_DATA(CE2A_MARK, PF6MD_001),
+       PINMUX_DATA(SSITXD0_MARK, PF6MD_010),
+
+       PINMUX_DATA(PF5_DATA, PF5MD_000),
+       PINMUX_DATA(SSIWS0_MARK, PF5MD_010),
+
+       PINMUX_DATA(PF4_DATA, PF4MD_000),
+       PINMUX_DATA(CS5CE1A_MARK, PF4MD_001),
+       PINMUX_DATA(SSISCK0_MARK, PF4MD_010),
+
+       PINMUX_DATA(PF3_DATA, PF3MD_000),
+       PINMUX_DATA(CS2_MARK, PF3MD_001),
+       PINMUX_DATA(MISO1_MARK, PF3MD_011),
+       PINMUX_DATA(TIOC4D_MARK, PF3MD_100),
+
+       PINMUX_DATA(PF2_DATA, PF2MD_000),
+       PINMUX_DATA(WAIT_MARK, PF2MD_001),
+       PINMUX_DATA(MOSI1_MARK, PF2MD_011),
+       PINMUX_DATA(TIOC4C_MARK, PF2MD_100),
+       PINMUX_DATA(TEND0_MARK, PF2MD_101),
+
+       PINMUX_DATA(PF1_DATA, PF1MD_000),
+       PINMUX_DATA(BACK_MARK, PF1MD_001),
+       PINMUX_DATA(SSL10_MARK, PF1MD_011),
+       PINMUX_DATA(TIOC4B_MARK, PF1MD_100),
+       PINMUX_DATA(DACK0_MARK, PF1MD_101),
+
+       PINMUX_DATA(PF0_DATA, PF0MD_000),
+       PINMUX_DATA(BREQ_MARK, PF0MD_001),
+       PINMUX_DATA(RSPCK1_MARK, PF0MD_011),
+       PINMUX_DATA(TIOC4A_MARK, PF0MD_100),
+       PINMUX_DATA(DREQ0_MARK, PF0MD_101),
+
+       /* Port G */
+       PINMUX_DATA(PG27_DATA, PG27MD_00),
+       PINMUX_DATA(LCD_TCON2_MARK, PG27MD_10),
+       PINMUX_DATA(LCD_EXTCLK_MARK, PG27MD_11),
+       PINMUX_DATA(LCD_DE_MARK, PG27MD_11),
+
+       PINMUX_DATA(PG26_DATA, PG26MD_00),
+       PINMUX_DATA(LCD_TCON1_MARK, PG26MD_10),
+       PINMUX_DATA(LCD_HSYNC_MARK, PG26MD_10),
+
+       PINMUX_DATA(PG25_DATA, PG25MD_00),
+       PINMUX_DATA(LCD_TCON0_MARK, PG25MD_10),
+       PINMUX_DATA(LCD_VSYNC_MARK, PG25MD_10),
+
+       PINMUX_DATA(PG24_DATA, PG24MD_00),
+       PINMUX_DATA(LCD_CLK_MARK, PG24MD_10),
+
+       PINMUX_DATA(PG23_DATA, PG23MD_000),
+       PINMUX_DATA(LCD_DATA23_PG23_MARK, PG23MD_010),
+       PINMUX_DATA(LCD_TCON6_MARK, PG23MD_011),
+       PINMUX_DATA(TXD5_MARK, PG23MD_100),
+
+       PINMUX_DATA(PG22_DATA, PG22MD_000),
+       PINMUX_DATA(LCD_DATA22_PG22_MARK, PG22MD_010),
+       PINMUX_DATA(LCD_TCON5_MARK, PG22MD_011),
+       PINMUX_DATA(RXD5_MARK, PG22MD_100),
+
+       PINMUX_DATA(PG21_DATA, PG21MD_000),
+       PINMUX_DATA(DV_DATA7_MARK, PG21MD_001),
+       PINMUX_DATA(LCD_DATA21_PG21_MARK, PG21MD_010),
+       PINMUX_DATA(LCD_TCON4_MARK, PG21MD_011),
+       PINMUX_DATA(TXD4_MARK, PG21MD_100),
+
+       PINMUX_DATA(PG20_DATA, PG20MD_000),
+       PINMUX_DATA(DV_DATA6_MARK, PG20MD_001),
+       PINMUX_DATA(LCD_DATA20_PG20_MARK, PG21MD_010),
+       PINMUX_DATA(LCD_TCON3_MARK, PG20MD_011),
+       PINMUX_DATA(RXD4_MARK, PG20MD_100),
+
+       PINMUX_DATA(PG19_DATA, PG19MD_000),
+       PINMUX_DATA(DV_DATA5_MARK, PG19MD_001),
+       PINMUX_DATA(LCD_DATA19_PG19_MARK, PG19MD_010),
+       PINMUX_DATA(SPDIF_OUT_MARK, PG19MD_011),
+       PINMUX_DATA(SCK5_MARK, PG19MD_100),
+
+       PINMUX_DATA(PG18_DATA, PG18MD_000),
+       PINMUX_DATA(DV_DATA4_MARK, PG18MD_001),
+       PINMUX_DATA(LCD_DATA18_PG18_MARK, PG18MD_010),
+       PINMUX_DATA(SPDIF_IN_MARK, PG18MD_011),
+       PINMUX_DATA(SCK4_MARK, PG18MD_100),
+
+// TODO hardware manual has PG17 3 bits wide in reg picture and 2 bits in description
+// we're going with 2 bits
+       PINMUX_DATA(PG17_DATA, PG17MD_00),
+       PINMUX_DATA(WE3ICIOWRAHDQMUU_MARK, PG17MD_01),
+       PINMUX_DATA(LCD_DATA17_PG17_MARK, PG17MD_10),
+
+// TODO hardware manual has PG16 3 bits wide in reg picture and 2 bits in description
+// we're going with 2 bits
+       PINMUX_DATA(PG16_DATA, PG16MD_00),
+       PINMUX_DATA(WE2ICIORDDQMUL_MARK, PG16MD_01),
+       PINMUX_DATA(LCD_DATA16_PG16_MARK, PG16MD_10),
+
+       PINMUX_DATA(PG15_DATA, PG15MD_00),
+       PINMUX_DATA(D31_MARK, PG15MD_01),
+       PINMUX_DATA(LCD_DATA15_PG15_MARK, PG15MD_10),
+       PINMUX_DATA(PINT7_PG_MARK, PG15MD_11),
+
+       PINMUX_DATA(PG14_DATA, PG14MD_00),
+       PINMUX_DATA(D30_MARK, PG14MD_01),
+       PINMUX_DATA(LCD_DATA14_PG14_MARK, PG14MD_10),
+       PINMUX_DATA(PINT6_PG_MARK, PG14MD_11),
+
+       PINMUX_DATA(PG13_DATA, PG13MD_00),
+       PINMUX_DATA(D29_MARK, PG13MD_01),
+       PINMUX_DATA(LCD_DATA13_PG13_MARK, PG13MD_10),
+       PINMUX_DATA(PINT5_PG_MARK, PG13MD_11),
+
+       PINMUX_DATA(PG12_DATA, PG12MD_00),
+       PINMUX_DATA(D28_MARK, PG12MD_01),
+       PINMUX_DATA(LCD_DATA12_PG12_MARK, PG12MD_10),
+       PINMUX_DATA(PINT4_PG_MARK, PG12MD_11),
+
+       PINMUX_DATA(PG11_DATA, PG11MD_000),
+       PINMUX_DATA(D27_MARK, PG11MD_001),
+       PINMUX_DATA(LCD_DATA11_PG11_MARK, PG11MD_010),
+       PINMUX_DATA(PINT3_PG_MARK, PG11MD_011),
+       PINMUX_DATA(TIOC3D_MARK, PG11MD_100),
+
+       PINMUX_DATA(PG10_DATA, PG10MD_000),
+       PINMUX_DATA(D26_MARK, PG10MD_001),
+       PINMUX_DATA(LCD_DATA10_PG10_MARK, PG10MD_010),
+       PINMUX_DATA(PINT2_PG_MARK, PG10MD_011),
+       PINMUX_DATA(TIOC3C_MARK, PG10MD_100),
+
+       PINMUX_DATA(PG9_DATA, PG9MD_000),
+       PINMUX_DATA(D25_MARK, PG9MD_001),
+       PINMUX_DATA(LCD_DATA9_PG9_MARK, PG9MD_010),
+       PINMUX_DATA(PINT1_PG_MARK, PG9MD_011),
+       PINMUX_DATA(TIOC3B_MARK, PG9MD_100),
+
+       PINMUX_DATA(PG8_DATA, PG8MD_000),
+       PINMUX_DATA(D24_MARK, PG8MD_001),
+       PINMUX_DATA(LCD_DATA8_PG8_MARK, PG8MD_010),
+       PINMUX_DATA(PINT0_PG_MARK, PG8MD_011),
+       PINMUX_DATA(TIOC3A_MARK, PG8MD_100),
+
+       PINMUX_DATA(PG7_DATA, PG7MD_000),
+       PINMUX_DATA(D23_MARK, PG7MD_001),
+       PINMUX_DATA(LCD_DATA7_PG7_MARK, PG7MD_010),
+       PINMUX_DATA(IRQ7_PG_MARK, PG7MD_011),
+       PINMUX_DATA(TIOC2B_MARK, PG7MD_100),
+
+       PINMUX_DATA(PG6_DATA, PG6MD_000),
+       PINMUX_DATA(D22_MARK, PG6MD_001),
+       PINMUX_DATA(LCD_DATA6_PG6_MARK, PG6MD_010),
+       PINMUX_DATA(IRQ6_PG_MARK, PG6MD_011),
+       PINMUX_DATA(TIOC2A_MARK, PG6MD_100),
+
+       PINMUX_DATA(PG5_DATA, PG5MD_000),
+       PINMUX_DATA(D21_MARK, PG5MD_001),
+       PINMUX_DATA(LCD_DATA5_PG5_MARK, PG5MD_010),
+       PINMUX_DATA(IRQ5_PG_MARK, PG5MD_011),
+       PINMUX_DATA(TIOC1B_MARK, PG5MD_100),
+
+       PINMUX_DATA(PG4_DATA, PG4MD_000),
+       PINMUX_DATA(D20_MARK, PG4MD_001),
+       PINMUX_DATA(LCD_DATA4_PG4_MARK, PG4MD_010),
+       PINMUX_DATA(IRQ4_PG_MARK, PG4MD_011),
+       PINMUX_DATA(TIOC1A_MARK, PG4MD_100),
+
+       PINMUX_DATA(PG3_DATA, PG3MD_000),
+       PINMUX_DATA(D19_MARK, PG3MD_001),
+       PINMUX_DATA(LCD_DATA3_PG3_MARK, PG3MD_010),
+       PINMUX_DATA(IRQ3_PG_MARK, PG3MD_011),
+       PINMUX_DATA(TIOC0D_MARK, PG3MD_100),
+
+       PINMUX_DATA(PG2_DATA, PG2MD_000),
+       PINMUX_DATA(D18_MARK, PG2MD_001),
+       PINMUX_DATA(LCD_DATA2_PG2_MARK, PG2MD_010),
+       PINMUX_DATA(IRQ2_PG_MARK, PG2MD_011),
+       PINMUX_DATA(TIOC0C_MARK, PG2MD_100),
+
+       PINMUX_DATA(PG1_DATA, PG1MD_000),
+       PINMUX_DATA(D17_MARK, PG1MD_001),
+       PINMUX_DATA(LCD_DATA1_PG1_MARK, PG1MD_010),
+       PINMUX_DATA(IRQ1_PG_MARK, PG1MD_011),
+       PINMUX_DATA(TIOC0B_MARK, PG1MD_100),
+
+       PINMUX_DATA(PG0_DATA, PG0MD_000),
+       PINMUX_DATA(D16_MARK, PG0MD_001),
+       PINMUX_DATA(LCD_DATA0_PG0_MARK, PG0MD_010),
+       PINMUX_DATA(IRQ0_PG_MARK, PG0MD_011),
+       PINMUX_DATA(TIOC0A_MARK, PG0MD_100),
+
+       /* Port H */
+       PINMUX_DATA(PH7_DATA, PH7MD_00),
+       PINMUX_DATA(PHAN7_MARK, PH7MD_01),
+       PINMUX_DATA(PINT7_PH_MARK, PH7MD_10),
+
+       PINMUX_DATA(PH6_DATA, PH6MD_00),
+       PINMUX_DATA(PHAN6_MARK, PH6MD_01),
+       PINMUX_DATA(PINT6_PH_MARK, PH6MD_10),
+
+       PINMUX_DATA(PH5_DATA, PH5MD_00),
+       PINMUX_DATA(PHAN5_MARK, PH5MD_01),
+       PINMUX_DATA(PINT5_PH_MARK, PH5MD_10),
+       PINMUX_DATA(LCD_EXTCLK_MARK, PH5MD_11),
+
+       PINMUX_DATA(PH4_DATA, PH4MD_00),
+       PINMUX_DATA(PHAN4_MARK, PH4MD_01),
+       PINMUX_DATA(PINT4_PH_MARK, PH4MD_10),
+
+       PINMUX_DATA(PH3_DATA, PH3MD_00),
+       PINMUX_DATA(PHAN3_MARK, PH3MD_01),
+       PINMUX_DATA(PINT3_PH_MARK, PH3MD_10),
+
+       PINMUX_DATA(PH2_DATA, PH2MD_00),
+       PINMUX_DATA(PHAN2_MARK, PH2MD_01),
+       PINMUX_DATA(PINT2_PH_MARK, PH2MD_10),
+
+       PINMUX_DATA(PH1_DATA, PH1MD_00),
+       PINMUX_DATA(PHAN1_MARK, PH1MD_01),
+       PINMUX_DATA(PINT1_PH_MARK, PH1MD_10),
+
+       PINMUX_DATA(PH0_DATA, PH0MD_00),
+       PINMUX_DATA(PHAN0_MARK, PH0MD_01),
+       PINMUX_DATA(PINT0_PH_MARK, PH0MD_10),
+
+       /* Port I - not on device */
+
+       /* Port J */
+       PINMUX_DATA(PJ31_DATA, PJ31MD_0),
+       PINMUX_DATA(DV_CLK_MARK, PJ31MD_1),
+
+       PINMUX_DATA(PJ30_DATA, PJ30MD_000),
+       PINMUX_DATA(SSIDATA5_MARK, PJ30MD_010),
+       PINMUX_DATA(TIOC2B_MARK, PJ30MD_100),
+       PINMUX_DATA(IETXD_MARK, PJ30MD_101),
+
+       PINMUX_DATA(PJ29_DATA, PJ29MD_000),
+       PINMUX_DATA(SSIWS5_MARK, PJ29MD_010),
+       PINMUX_DATA(TIOC2A_MARK, PJ29MD_100),
+       PINMUX_DATA(IERXD_MARK, PJ29MD_101),
+
+       PINMUX_DATA(PJ28_DATA, PJ28MD_000),
+       PINMUX_DATA(SSISCK5_MARK, PJ28MD_010),
+       PINMUX_DATA(TIOC1B_MARK, PJ28MD_100),
+       PINMUX_DATA(RTS7_MARK, PJ28MD_101),
+
+       PINMUX_DATA(PJ27_DATA, PJ27MD_000),
+       PINMUX_DATA(TIOC1A_MARK, PJ27MD_100),
+       PINMUX_DATA(CTS7_MARK, PJ27MD_101),
+
+       PINMUX_DATA(PJ26_DATA, PJ26MD_000),
+       PINMUX_DATA(SSIDATA4_MARK, PJ26MD_010),
+       PINMUX_DATA(LCD_TCON5_MARK, PJ26MD_011),
+       PINMUX_DATA(TXD7_MARK, PJ26MD_101),
+
+       PINMUX_DATA(PJ25_DATA, PJ25MD_000),
+       PINMUX_DATA(SSIWS4_MARK, PJ25MD_010),
+       PINMUX_DATA(LCD_TCON4_MARK, PJ25MD_011),
+       PINMUX_DATA(SPDIF_OUT_MARK, PJ25MD_100),
+       PINMUX_DATA(RXD7_MARK, PJ25MD_101),
+
+       PINMUX_DATA(PJ24_DATA, PJ24MD_000),
+       PINMUX_DATA(SSISCK4_MARK, PJ24MD_010),
+       PINMUX_DATA(LCD_TCON3_MARK, PJ24MD_011),
+       PINMUX_DATA(SPDIF_IN_MARK, PJ24MD_100),
+       PINMUX_DATA(SCK7_MARK, PJ24MD_101),
+
+       PINMUX_DATA(PJ23_DATA, PJ23MD_000),
+       PINMUX_DATA(DV_DATA23_MARK, PJ23MD_001),
+       PINMUX_DATA(LCD_DATA23_PJ23_MARK, PJ23MD_010),
+       PINMUX_DATA(LCD_TCON6_MARK, PJ23MD_011),
+       PINMUX_DATA(IRQ3_PJ_MARK, PJ23MD_100),
+       PINMUX_DATA(CTX1_MARK, PJ23MD_101),
+
+       PINMUX_DATA(PJ22_DATA, PJ22MD_000),
+       PINMUX_DATA(DV_DATA22_MARK, PJ22MD_001),
+       PINMUX_DATA(LCD_DATA22_PJ22_MARK, PJ22MD_010),
+       PINMUX_DATA(LCD_TCON5_MARK, PJ22MD_011),
+       PINMUX_DATA(IRQ2_PJ_MARK, PJ22MD_100),
+       PINMUX_DATA(CRX1_MARK, PJ22MD_101),
+       PINMUX_DATA(CRX0_CRX1_MARK, PJ22MD_110),
+
+       PINMUX_DATA(PJ21_DATA, PJ21MD_000),
+       PINMUX_DATA(DV_DATA21_MARK, PJ21MD_001),
+       PINMUX_DATA(LCD_DATA21_PJ21_MARK, PJ21MD_010),
+       PINMUX_DATA(LCD_TCON4_MARK, PJ21MD_011),
+       PINMUX_DATA(IRQ1_PJ_MARK, PJ21MD_100),
+       PINMUX_DATA(CTX2_MARK, PJ21MD_101),
+
+       PINMUX_DATA(PJ20_DATA, PJ20MD_000),
+       PINMUX_DATA(DV_DATA20_MARK, PJ20MD_001),
+       PINMUX_DATA(LCD_DATA20_PJ20_MARK, PJ20MD_010),
+       PINMUX_DATA(LCD_TCON3_MARK, PJ20MD_011),
+       PINMUX_DATA(IRQ0_PJ_MARK, PJ20MD_100),
+       PINMUX_DATA(CRX2_MARK, PJ20MD_101),
+       PINMUX_DATA(CRX0CRX1CRX2_PJ20_MARK, PJ20MD_110),
+
+       PINMUX_DATA(PJ19_DATA, PJ19MD_000),
+       PINMUX_DATA(DV_DATA19_MARK, PJ19MD_001),
+       PINMUX_DATA(LCD_DATA19_PJ19_MARK, PJ19MD_010),
+       PINMUX_DATA(MISO0_PJ19_MARK, PJ19MD_011),
+       PINMUX_DATA(TIOC0D_MARK, PJ19MD_100),
+       PINMUX_DATA(SIOFRXD_MARK, PJ19MD_101),
+       PINMUX_DATA(AUDIO_XOUT_MARK, PJ19MD_110),
+
+       PINMUX_DATA(PJ18_DATA, PJ18MD_000),
+       PINMUX_DATA(DV_DATA18_MARK, PJ18MD_001),
+       PINMUX_DATA(LCD_DATA18_PJ18_MARK, PJ18MD_010),
+       PINMUX_DATA(MOSI0_PJ18_MARK, PJ18MD_011),
+       PINMUX_DATA(TIOC0C_MARK, PJ18MD_100),
+       PINMUX_DATA(SIOFTXD_MARK, PJ18MD_101),
+
+       PINMUX_DATA(PJ17_DATA, PJ17MD_000),
+       PINMUX_DATA(DV_DATA17_MARK, PJ17MD_001),
+       PINMUX_DATA(LCD_DATA17_PJ17_MARK, PJ17MD_010),
+       PINMUX_DATA(SSL00_PJ17_MARK, PJ17MD_011),
+       PINMUX_DATA(TIOC0B_MARK, PJ17MD_100),
+       PINMUX_DATA(SIOFSYNC_MARK, PJ17MD_101),
+
+       PINMUX_DATA(PJ16_DATA, PJ16MD_000),
+       PINMUX_DATA(DV_DATA16_MARK, PJ16MD_001),
+       PINMUX_DATA(LCD_DATA16_PJ16_MARK, PJ16MD_010),
+       PINMUX_DATA(RSPCK0_PJ16_MARK, PJ16MD_011),
+       PINMUX_DATA(TIOC0A_MARK, PJ16MD_100),
+       PINMUX_DATA(SIOFSCK_MARK, PJ16MD_101),
+
+       PINMUX_DATA(PJ15_DATA, PJ15MD_000),
+       PINMUX_DATA(DV_DATA15_MARK, PJ15MD_001),
+       PINMUX_DATA(LCD_DATA15_PJ15_MARK, PJ15MD_010),
+       PINMUX_DATA(PINT7_PJ_MARK, PJ15MD_011),
+       PINMUX_DATA(PWM2H_MARK, PJ15MD_100),
+       PINMUX_DATA(TXD7_MARK, PJ15MD_101),
+
+       PINMUX_DATA(PJ14_DATA, PJ14MD_000),
+       PINMUX_DATA(DV_DATA14_MARK, PJ14MD_001),
+       PINMUX_DATA(LCD_DATA14_PJ14_MARK, PJ14MD_010),
+       PINMUX_DATA(PINT6_PJ_MARK, PJ14MD_011),
+       PINMUX_DATA(PWM2G_MARK, PJ14MD_100),
+       PINMUX_DATA(TXD6_MARK, PJ14MD_101),
+
+       PINMUX_DATA(PJ13_DATA, PJ13MD_000),
+       PINMUX_DATA(DV_DATA13_MARK, PJ13MD_001),
+       PINMUX_DATA(LCD_DATA13_PJ13_MARK, PJ13MD_010),
+       PINMUX_DATA(PINT5_PJ_MARK, PJ13MD_011),
+       PINMUX_DATA(PWM2F_MARK, PJ13MD_100),
+       PINMUX_DATA(TXD5_MARK, PJ13MD_101),
+
+       PINMUX_DATA(PJ12_DATA, PJ12MD_000),
+       PINMUX_DATA(DV_DATA12_MARK, PJ12MD_001),
+       PINMUX_DATA(LCD_DATA12_PJ12_MARK, PJ12MD_010),
+       PINMUX_DATA(PINT4_PJ_MARK, PJ12MD_011),
+       PINMUX_DATA(PWM2E_MARK, PJ12MD_100),
+       PINMUX_DATA(SCK7_MARK, PJ12MD_101),
+
+       PINMUX_DATA(PJ11_DATA, PJ11MD_000),
+       PINMUX_DATA(DV_DATA11_MARK, PJ11MD_001),
+       PINMUX_DATA(LCD_DATA11_PJ11_MARK, PJ11MD_010),
+       PINMUX_DATA(PINT3_PJ_MARK, PJ11MD_011),
+       PINMUX_DATA(PWM2D_MARK, PJ11MD_100),
+       PINMUX_DATA(SCK6_MARK, PJ11MD_101),
+
+       PINMUX_DATA(PJ10_DATA, PJ10MD_000),
+       PINMUX_DATA(DV_DATA10_MARK, PJ10MD_001),
+       PINMUX_DATA(LCD_DATA10_PJ10_MARK, PJ10MD_010),
+       PINMUX_DATA(PINT2_PJ_MARK, PJ10MD_011),
+       PINMUX_DATA(PWM2C_MARK, PJ10MD_100),
+       PINMUX_DATA(SCK5_MARK, PJ10MD_101),
+
+       PINMUX_DATA(PJ9_DATA, PJ9MD_000),
+       PINMUX_DATA(DV_DATA9_MARK, PJ9MD_001),
+       PINMUX_DATA(LCD_DATA9_PJ9_MARK, PJ9MD_010),
+       PINMUX_DATA(PINT1_PJ_MARK, PJ9MD_011),
+       PINMUX_DATA(PWM2B_MARK, PJ9MD_100),
+       PINMUX_DATA(RTS5_MARK, PJ9MD_101),
+
+       PINMUX_DATA(PJ8_DATA, PJ8MD_000),
+       PINMUX_DATA(DV_DATA8_MARK, PJ8MD_001),
+       PINMUX_DATA(LCD_DATA8_PJ8_MARK, PJ8MD_010),
+       PINMUX_DATA(PINT0_PJ_MARK, PJ8MD_011),
+       PINMUX_DATA(PWM2A_MARK, PJ8MD_100),
+       PINMUX_DATA(CTS5_MARK, PJ8MD_101),
+
+       PINMUX_DATA(PJ7_DATA, PJ7MD_000),
+       PINMUX_DATA(DV_DATA7_MARK, PJ7MD_001),
+       PINMUX_DATA(LCD_DATA7_PJ7_MARK, PJ7MD_010),
+       PINMUX_DATA(SD_D2_MARK, PJ7MD_011),
+       PINMUX_DATA(PWM1H_MARK, PJ7MD_100),
+
+       PINMUX_DATA(PJ6_DATA, PJ6MD_000),
+       PINMUX_DATA(DV_DATA6_MARK, PJ6MD_001),
+       PINMUX_DATA(LCD_DATA6_PJ6_MARK, PJ6MD_010),
+       PINMUX_DATA(SD_D3_MARK, PJ6MD_011),
+       PINMUX_DATA(PWM1G_MARK, PJ6MD_100),
+
+       PINMUX_DATA(PJ5_DATA, PJ5MD_000),
+       PINMUX_DATA(DV_DATA5_MARK, PJ5MD_001),
+       PINMUX_DATA(LCD_DATA5_PJ5_MARK, PJ5MD_010),
+       PINMUX_DATA(SD_CMD_MARK, PJ5MD_011),
+       PINMUX_DATA(PWM1F_MARK, PJ5MD_100),
+
+       PINMUX_DATA(PJ4_DATA, PJ4MD_000),
+       PINMUX_DATA(DV_DATA4_MARK, PJ4MD_001),
+       PINMUX_DATA(LCD_DATA4_PJ4_MARK, PJ4MD_010),
+       PINMUX_DATA(SD_CLK_MARK, PJ4MD_011),
+       PINMUX_DATA(PWM1E_MARK, PJ4MD_100),
+
+       PINMUX_DATA(PJ3_DATA, PJ3MD_000),
+       PINMUX_DATA(DV_DATA3_MARK, PJ3MD_001),
+       PINMUX_DATA(LCD_DATA3_PJ3_MARK, PJ3MD_010),
+       PINMUX_DATA(SD_D0_MARK, PJ3MD_011),
+       PINMUX_DATA(PWM1D_MARK, PJ3MD_100),
+
+       PINMUX_DATA(PJ2_DATA, PJ2MD_000),
+       PINMUX_DATA(DV_DATA2_MARK, PJ2MD_001),
+       PINMUX_DATA(LCD_DATA2_PJ2_MARK, PJ2MD_010),
+       PINMUX_DATA(SD_D1_MARK, PJ2MD_011),
+       PINMUX_DATA(PWM1C_MARK, PJ2MD_100),
+
+       PINMUX_DATA(PJ1_DATA, PJ1MD_000),
+       PINMUX_DATA(DV_DATA1_MARK, PJ1MD_001),
+       PINMUX_DATA(LCD_DATA1_PJ1_MARK, PJ1MD_010),
+       PINMUX_DATA(SD_WP_MARK, PJ1MD_011),
+       PINMUX_DATA(PWM1B_MARK, PJ1MD_100),
+
+       PINMUX_DATA(PJ0_DATA, PJ0MD_000),
+       PINMUX_DATA(DV_DATA0_MARK, PJ0MD_001),
+       PINMUX_DATA(LCD_DATA0_PJ0_MARK, PJ0MD_010),
+       PINMUX_DATA(SD_CD_MARK, PJ0MD_011),
+       PINMUX_DATA(PWM1A_MARK, PJ0MD_100),
+};
+
+static const struct sh_pfc_pin pinmux_pins[] = {
+       /* Port A */
+       PINMUX_GPIO(PA1),
+       PINMUX_GPIO(PA0),
+
+       /* Port B */
+       PINMUX_GPIO(PB22),
+       PINMUX_GPIO(PB21),
+       PINMUX_GPIO(PB20),
+       PINMUX_GPIO(PB19),
+       PINMUX_GPIO(PB18),
+       PINMUX_GPIO(PB17),
+       PINMUX_GPIO(PB16),
+       PINMUX_GPIO(PB15),
+       PINMUX_GPIO(PB14),
+       PINMUX_GPIO(PB13),
+       PINMUX_GPIO(PB12),
+       PINMUX_GPIO(PB11),
+       PINMUX_GPIO(PB10),
+       PINMUX_GPIO(PB9),
+       PINMUX_GPIO(PB8),
+       PINMUX_GPIO(PB7),
+       PINMUX_GPIO(PB6),
+       PINMUX_GPIO(PB5),
+       PINMUX_GPIO(PB4),
+       PINMUX_GPIO(PB3),
+       PINMUX_GPIO(PB2),
+       PINMUX_GPIO(PB1),
+
+       /* Port C */
+       PINMUX_GPIO(PC8),
+       PINMUX_GPIO(PC7),
+       PINMUX_GPIO(PC6),
+       PINMUX_GPIO(PC5),
+       PINMUX_GPIO(PC4),
+       PINMUX_GPIO(PC3),
+       PINMUX_GPIO(PC2),
+       PINMUX_GPIO(PC1),
+       PINMUX_GPIO(PC0),
+
+       /* Port D */
+       PINMUX_GPIO(PD15),
+       PINMUX_GPIO(PD14),
+       PINMUX_GPIO(PD13),
+       PINMUX_GPIO(PD12),
+       PINMUX_GPIO(PD11),
+       PINMUX_GPIO(PD10),
+       PINMUX_GPIO(PD9),
+       PINMUX_GPIO(PD8),
+       PINMUX_GPIO(PD7),
+       PINMUX_GPIO(PD6),
+       PINMUX_GPIO(PD5),
+       PINMUX_GPIO(PD4),
+       PINMUX_GPIO(PD3),
+       PINMUX_GPIO(PD2),
+       PINMUX_GPIO(PD1),
+       PINMUX_GPIO(PD0),
+
+       /* Port E */
+       PINMUX_GPIO(PE7),
+       PINMUX_GPIO(PE6),
+       PINMUX_GPIO(PE5),
+       PINMUX_GPIO(PE4),
+       PINMUX_GPIO(PE3),
+       PINMUX_GPIO(PE2),
+       PINMUX_GPIO(PE1),
+       PINMUX_GPIO(PE0),
+
+       /* Port F */
+       PINMUX_GPIO(PF23),
+       PINMUX_GPIO(PF22),
+       PINMUX_GPIO(PF21),
+       PINMUX_GPIO(PF20),
+       PINMUX_GPIO(PF19),
+       PINMUX_GPIO(PF18),
+       PINMUX_GPIO(PF17),
+       PINMUX_GPIO(PF16),
+       PINMUX_GPIO(PF15),
+       PINMUX_GPIO(PF14),
+       PINMUX_GPIO(PF13),
+       PINMUX_GPIO(PF12),
+       PINMUX_GPIO(PF11),
+       PINMUX_GPIO(PF10),
+       PINMUX_GPIO(PF9),
+       PINMUX_GPIO(PF8),
+       PINMUX_GPIO(PF7),
+       PINMUX_GPIO(PF6),
+       PINMUX_GPIO(PF5),
+       PINMUX_GPIO(PF4),
+       PINMUX_GPIO(PF3),
+       PINMUX_GPIO(PF2),
+       PINMUX_GPIO(PF1),
+       PINMUX_GPIO(PF0),
+
+       /* Port G */
+       PINMUX_GPIO(PG27),
+       PINMUX_GPIO(PG26),
+       PINMUX_GPIO(PG25),
+       PINMUX_GPIO(PG24),
+       PINMUX_GPIO(PG23),
+       PINMUX_GPIO(PG22),
+       PINMUX_GPIO(PG21),
+       PINMUX_GPIO(PG20),
+       PINMUX_GPIO(PG19),
+       PINMUX_GPIO(PG18),
+       PINMUX_GPIO(PG17),
+       PINMUX_GPIO(PG16),
+       PINMUX_GPIO(PG15),
+       PINMUX_GPIO(PG14),
+       PINMUX_GPIO(PG13),
+       PINMUX_GPIO(PG12),
+       PINMUX_GPIO(PG11),
+       PINMUX_GPIO(PG10),
+       PINMUX_GPIO(PG9),
+       PINMUX_GPIO(PG8),
+       PINMUX_GPIO(PG7),
+       PINMUX_GPIO(PG6),
+       PINMUX_GPIO(PG5),
+       PINMUX_GPIO(PG4),
+       PINMUX_GPIO(PG3),
+       PINMUX_GPIO(PG2),
+       PINMUX_GPIO(PG1),
+       PINMUX_GPIO(PG0),
+
+       /* Port H - Port H does not have a Data Register */
+
+       /* Port I - not on device */
+
+       /* Port J */
+       PINMUX_GPIO(PJ31),
+       PINMUX_GPIO(PJ30),
+       PINMUX_GPIO(PJ29),
+       PINMUX_GPIO(PJ28),
+       PINMUX_GPIO(PJ27),
+       PINMUX_GPIO(PJ26),
+       PINMUX_GPIO(PJ25),
+       PINMUX_GPIO(PJ24),
+       PINMUX_GPIO(PJ23),
+       PINMUX_GPIO(PJ22),
+       PINMUX_GPIO(PJ21),
+       PINMUX_GPIO(PJ20),
+       PINMUX_GPIO(PJ19),
+       PINMUX_GPIO(PJ18),
+       PINMUX_GPIO(PJ17),
+       PINMUX_GPIO(PJ16),
+       PINMUX_GPIO(PJ15),
+       PINMUX_GPIO(PJ14),
+       PINMUX_GPIO(PJ13),
+       PINMUX_GPIO(PJ12),
+       PINMUX_GPIO(PJ11),
+       PINMUX_GPIO(PJ10),
+       PINMUX_GPIO(PJ9),
+       PINMUX_GPIO(PJ8),
+       PINMUX_GPIO(PJ7),
+       PINMUX_GPIO(PJ6),
+       PINMUX_GPIO(PJ5),
+       PINMUX_GPIO(PJ4),
+       PINMUX_GPIO(PJ3),
+       PINMUX_GPIO(PJ2),
+       PINMUX_GPIO(PJ1),
+       PINMUX_GPIO(PJ0),
+};
+
+#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
+
+static const struct pinmux_func pinmux_func_gpios[] = {
+       /* INTC */
+       GPIO_FN(IRQ7_PG),
+       GPIO_FN(IRQ6_PG),
+       GPIO_FN(IRQ5_PG),
+       GPIO_FN(IRQ4_PG),
+       GPIO_FN(IRQ3_PG),
+       GPIO_FN(IRQ2_PG),
+       GPIO_FN(IRQ1_PG),
+       GPIO_FN(IRQ0_PG),
+       GPIO_FN(IRQ7_PF),
+       GPIO_FN(IRQ6_PF),
+       GPIO_FN(IRQ5_PF),
+       GPIO_FN(IRQ4_PF),
+       GPIO_FN(IRQ3_PJ),
+       GPIO_FN(IRQ2_PJ),
+       GPIO_FN(IRQ1_PJ),
+       GPIO_FN(IRQ0_PJ),
+       GPIO_FN(IRQ1_PC),
+       GPIO_FN(IRQ0_PC),
+
+       GPIO_FN(PINT7_PG),
+       GPIO_FN(PINT6_PG),
+       GPIO_FN(PINT5_PG),
+       GPIO_FN(PINT4_PG),
+       GPIO_FN(PINT3_PG),
+       GPIO_FN(PINT2_PG),
+       GPIO_FN(PINT1_PG),
+       GPIO_FN(PINT0_PG),
+       GPIO_FN(PINT7_PH),
+       GPIO_FN(PINT6_PH),
+       GPIO_FN(PINT5_PH),
+       GPIO_FN(PINT4_PH),
+       GPIO_FN(PINT3_PH),
+       GPIO_FN(PINT2_PH),
+       GPIO_FN(PINT1_PH),
+       GPIO_FN(PINT0_PH),
+       GPIO_FN(PINT7_PJ),
+       GPIO_FN(PINT6_PJ),
+       GPIO_FN(PINT5_PJ),
+       GPIO_FN(PINT4_PJ),
+       GPIO_FN(PINT3_PJ),
+       GPIO_FN(PINT2_PJ),
+       GPIO_FN(PINT1_PJ),
+       GPIO_FN(PINT0_PJ),
+
+       /* WDT */
+       GPIO_FN(WDTOVF),
+
+       /* CAN */
+       GPIO_FN(CTX1),
+       GPIO_FN(CRX1),
+       GPIO_FN(CTX0),
+       GPIO_FN(CRX0),
+       GPIO_FN(CRX0_CRX1),
+       GPIO_FN(CRX0_CRX1_CRX2),
+
+       /* DMAC */
+       GPIO_FN(TEND0),
+       GPIO_FN(DACK0),
+       GPIO_FN(DREQ0),
+       GPIO_FN(TEND1),
+       GPIO_FN(DACK1),
+       GPIO_FN(DREQ1),
+
+       /* ADC */
+       GPIO_FN(ADTRG),
+
+       /* BSCh */
+       GPIO_FN(A25),
+       GPIO_FN(A24),
+       GPIO_FN(A23),
+       GPIO_FN(A22),
+       GPIO_FN(A21),
+       GPIO_FN(A20),
+       GPIO_FN(A19),
+       GPIO_FN(A18),
+       GPIO_FN(A17),
+       GPIO_FN(A16),
+       GPIO_FN(A15),
+       GPIO_FN(A14),
+       GPIO_FN(A13),
+       GPIO_FN(A12),
+       GPIO_FN(A11),
+       GPIO_FN(A10),
+       GPIO_FN(A9),
+       GPIO_FN(A8),
+       GPIO_FN(A7),
+       GPIO_FN(A6),
+       GPIO_FN(A5),
+       GPIO_FN(A4),
+       GPIO_FN(A3),
+       GPIO_FN(A2),
+       GPIO_FN(A1),
+       GPIO_FN(A0),
+
+       GPIO_FN(D15),
+       GPIO_FN(D14),
+       GPIO_FN(D13),
+       GPIO_FN(D12),
+       GPIO_FN(D11),
+       GPIO_FN(D10),
+       GPIO_FN(D9),
+       GPIO_FN(D8),
+       GPIO_FN(D7),
+       GPIO_FN(D6),
+       GPIO_FN(D5),
+       GPIO_FN(D4),
+       GPIO_FN(D3),
+       GPIO_FN(D2),
+       GPIO_FN(D1),
+       GPIO_FN(D0),
+
+       GPIO_FN(BS),
+       GPIO_FN(CS4),
+       GPIO_FN(CS3),
+       GPIO_FN(CS2),
+       GPIO_FN(CS1),
+       GPIO_FN(CS0),
+       GPIO_FN(CS5CE1A),
+       GPIO_FN(CE2A),
+       GPIO_FN(CE2B),
+       GPIO_FN(RD),
+       GPIO_FN(RDWR),
+       GPIO_FN(WE3ICIOWRAHDQMUU),
+       GPIO_FN(WE2ICIORDDQMUL),
+       GPIO_FN(WE1DQMUWE),
+       GPIO_FN(WE0DQML),
+       GPIO_FN(RAS),
+       GPIO_FN(CAS),
+       GPIO_FN(CKE),
+       GPIO_FN(WAIT),
+       GPIO_FN(BREQ),
+       GPIO_FN(BACK),
+       GPIO_FN(IOIS16),
+
+       /* TMU */
+       GPIO_FN(TIOC4D),
+       GPIO_FN(TIOC4C),
+       GPIO_FN(TIOC4B),
+       GPIO_FN(TIOC4A),
+       GPIO_FN(TIOC3D),
+       GPIO_FN(TIOC3C),
+       GPIO_FN(TIOC3B),
+       GPIO_FN(TIOC3A),
+       GPIO_FN(TIOC2B),
+       GPIO_FN(TIOC1B),
+       GPIO_FN(TIOC2A),
+       GPIO_FN(TIOC1A),
+       GPIO_FN(TIOC0D),
+       GPIO_FN(TIOC0C),
+       GPIO_FN(TIOC0B),
+       GPIO_FN(TIOC0A),
+       GPIO_FN(TCLKD),
+       GPIO_FN(TCLKC),
+       GPIO_FN(TCLKB),
+       GPIO_FN(TCLKA),
+
+       /* SCIF */
+       GPIO_FN(SCK0),
+       GPIO_FN(TXD0),
+       GPIO_FN(RXD0),
+       GPIO_FN(SCK1),
+       GPIO_FN(TXD1),
+       GPIO_FN(RXD1),
+       GPIO_FN(RTS1),
+       GPIO_FN(CTS1),
+       GPIO_FN(SCK2),
+       GPIO_FN(TXD2),
+       GPIO_FN(RXD2),
+       GPIO_FN(SCK3),
+       GPIO_FN(TXD3),
+       GPIO_FN(RXD3),
+       GPIO_FN(SCK4),
+       GPIO_FN(TXD4),
+       GPIO_FN(RXD4),
+       GPIO_FN(SCK5),
+       GPIO_FN(TXD5),
+       GPIO_FN(RXD5),
+       GPIO_FN(RTS5),
+       GPIO_FN(CTS5),
+       GPIO_FN(SCK6),
+       GPIO_FN(TXD6),
+       GPIO_FN(RXD6),
+       GPIO_FN(SCK7),
+       GPIO_FN(TXD7),
+       GPIO_FN(RXD7),
+       GPIO_FN(RTS7),
+       GPIO_FN(CTS7),
+
+       /* RSPI */
+       GPIO_FN(RSPCK0_PJ16),
+       GPIO_FN(SSL00_PJ17),
+       GPIO_FN(MOSI0_PJ18),
+       GPIO_FN(MISO0_PJ19),
+       GPIO_FN(RSPCK0_PB17),
+       GPIO_FN(SSL00_PB18),
+       GPIO_FN(MOSI0_PB19),
+       GPIO_FN(MISO0_PB20),
+       GPIO_FN(RSPCK1),
+       GPIO_FN(MOSI1),
+       GPIO_FN(MISO1),
+       GPIO_FN(SSL10),
+
+       /* IIC3 */
+       GPIO_FN(SCL0),
+       GPIO_FN(SCL1),
+       GPIO_FN(SCL2),
+       GPIO_FN(SDA0),
+       GPIO_FN(SDA1),
+       GPIO_FN(SDA2),
+
+       /* SSI */
+       GPIO_FN(SSISCK0),
+       GPIO_FN(SSIWS0),
+       GPIO_FN(SSITXD0),
+       GPIO_FN(SSIRXD0),
+       GPIO_FN(SSIWS1),
+       GPIO_FN(SSIWS2),
+       GPIO_FN(SSIWS3),
+       GPIO_FN(SSISCK1),
+       GPIO_FN(SSISCK2),
+       GPIO_FN(SSISCK3),
+       GPIO_FN(SSIDATA1),
+       GPIO_FN(SSIDATA2),
+       GPIO_FN(SSIDATA3),
+       GPIO_FN(AUDIO_CLK),
+       GPIO_FN(AUDIO_XOUT),
+
+       /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
+       GPIO_FN(SIOFTXD),
+       GPIO_FN(SIOFRXD),
+       GPIO_FN(SIOFSYNC),
+       GPIO_FN(SIOFSCK),
+
+       /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
+       GPIO_FN(SPDIF_IN),
+       GPIO_FN(SPDIF_OUT),
+
+       /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
+       GPIO_FN(FCE),
+       GPIO_FN(FRB),
+
+       /* VDC3 */
+       GPIO_FN(DV_CLK),
+       GPIO_FN(DV_VSYNC),
+       GPIO_FN(DV_HSYNC),
+
+       GPIO_FN(DV_DATA23),
+       GPIO_FN(DV_DATA22),
+       GPIO_FN(DV_DATA21),
+       GPIO_FN(DV_DATA20),
+       GPIO_FN(DV_DATA19),
+       GPIO_FN(DV_DATA18),
+       GPIO_FN(DV_DATA17),
+       GPIO_FN(DV_DATA16),
+       GPIO_FN(DV_DATA15),
+       GPIO_FN(DV_DATA14),
+       GPIO_FN(DV_DATA13),
+       GPIO_FN(DV_DATA12),
+       GPIO_FN(DV_DATA11),
+       GPIO_FN(DV_DATA10),
+       GPIO_FN(DV_DATA9),
+       GPIO_FN(DV_DATA8),
+       GPIO_FN(DV_DATA7),
+       GPIO_FN(DV_DATA6),
+       GPIO_FN(DV_DATA5),
+       GPIO_FN(DV_DATA4),
+       GPIO_FN(DV_DATA3),
+       GPIO_FN(DV_DATA2),
+       GPIO_FN(DV_DATA1),
+       GPIO_FN(DV_DATA0),
+
+       GPIO_FN(LCD_CLK),
+       GPIO_FN(LCD_EXTCLK),
+       GPIO_FN(LCD_VSYNC),
+       GPIO_FN(LCD_HSYNC),
+       GPIO_FN(LCD_DE),
+
+       GPIO_FN(LCD_DATA23_PG23),
+       GPIO_FN(LCD_DATA22_PG22),
+       GPIO_FN(LCD_DATA21_PG21),
+       GPIO_FN(LCD_DATA20_PG20),
+       GPIO_FN(LCD_DATA19_PG19),
+       GPIO_FN(LCD_DATA18_PG18),
+       GPIO_FN(LCD_DATA17_PG17),
+       GPIO_FN(LCD_DATA16_PG16),
+       GPIO_FN(LCD_DATA15_PG15),
+       GPIO_FN(LCD_DATA14_PG14),
+       GPIO_FN(LCD_DATA13_PG13),
+       GPIO_FN(LCD_DATA12_PG12),
+       GPIO_FN(LCD_DATA11_PG11),
+       GPIO_FN(LCD_DATA10_PG10),
+       GPIO_FN(LCD_DATA9_PG9),
+       GPIO_FN(LCD_DATA8_PG8),
+       GPIO_FN(LCD_DATA7_PG7),
+       GPIO_FN(LCD_DATA6_PG6),
+       GPIO_FN(LCD_DATA5_PG5),
+       GPIO_FN(LCD_DATA4_PG4),
+       GPIO_FN(LCD_DATA3_PG3),
+       GPIO_FN(LCD_DATA2_PG2),
+       GPIO_FN(LCD_DATA1_PG1),
+       GPIO_FN(LCD_DATA0_PG0),
+
+       GPIO_FN(LCD_DATA23_PJ23),
+       GPIO_FN(LCD_DATA22_PJ22),
+       GPIO_FN(LCD_DATA21_PJ21),
+       GPIO_FN(LCD_DATA20_PJ20),
+       GPIO_FN(LCD_DATA19_PJ19),
+       GPIO_FN(LCD_DATA18_PJ18),
+       GPIO_FN(LCD_DATA17_PJ17),
+       GPIO_FN(LCD_DATA16_PJ16),
+       GPIO_FN(LCD_DATA15_PJ15),
+       GPIO_FN(LCD_DATA14_PJ14),
+       GPIO_FN(LCD_DATA13_PJ13),
+       GPIO_FN(LCD_DATA12_PJ12),
+       GPIO_FN(LCD_DATA11_PJ11),
+       GPIO_FN(LCD_DATA10_PJ10),
+       GPIO_FN(LCD_DATA9_PJ9),
+       GPIO_FN(LCD_DATA8_PJ8),
+       GPIO_FN(LCD_DATA7_PJ7),
+       GPIO_FN(LCD_DATA6_PJ6),
+       GPIO_FN(LCD_DATA5_PJ5),
+       GPIO_FN(LCD_DATA4_PJ4),
+       GPIO_FN(LCD_DATA3_PJ3),
+       GPIO_FN(LCD_DATA2_PJ2),
+       GPIO_FN(LCD_DATA1_PJ1),
+       GPIO_FN(LCD_DATA0_PJ0),
+
+       GPIO_FN(LCD_M_DISP),
+};
+
+static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+       /* "name" addr register_size Field_Width */
+
+       /* where Field_Width is 1 for single mode registers or 4 for upto 16
+          mode registers and modes are described in assending order [0..16] */
+
+       { PINMUX_CFG_REG("PAIOR0", 0xfffe3812, 16, 1) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, PA1_IN, PA1_OUT,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, PA0_IN, PA0_OUT }
+       },
+       { PINMUX_CFG_REG("PBCR5", 0xfffe3824, 16, 4) {
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB22MD_000, PB22MD_001, PB22MD_010, PB22MD_011,
+               PB22MD_100, PB22MD_101, PB22MD_110, PB22MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB21MD_00, PB21MD_01, PB21MD_10, PB21MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB20MD_000, PB20MD_001, PB20MD_010, PB20MD_011,
+               PB20MD_100, PB20MD_101, PB20MD_110, PB20MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4) {
+               PB19MD_000, PB19MD_001, PB19MD_010, PB19MD_011,
+               PB19MD_100, PB19MD_101, PB19MD_110, PB19MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB18MD_000, PB18MD_001, PB18MD_010, PB18MD_011,
+               PB18MD_100, PB18MD_101, PB18MD_110, PB18MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB17MD_000, PB17MD_001, PB17MD_010, PB17MD_011,
+               PB17MD_100, PB17MD_101, PB17MD_110, PB17MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB16MD_000, PB16MD_001, PB16MD_010, PB16MD_011,
+               PB16MD_100, PB16MD_101, PB16MD_110, PB16MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4) {
+               PB15MD_000, PB15MD_001, PB15MD_010, PB15MD_011,
+               PB15MD_100, PB15MD_101, PB15MD_110, PB15MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB14MD_000, PB14MD_001, PB14MD_010, PB14MD_011,
+               PB14MD_100, PB14MD_101, PB14MD_110, PB14MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB13MD_000, PB13MD_001, PB13MD_010, PB13MD_011,
+               PB13MD_100, PB13MD_101, PB13MD_110, PB13MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4) {
+               PB11MD_00, PB11MD_01, PB11MD_10, PB11MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB10MD_00, PB10MD_01, PB10MD_10, PB10MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB9MD_00, PB9MD_01, PB9MD_10, PB9MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB8MD_00, PB8MD_01, PB8MD_10, PB8MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4) {
+               PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4) {
+               PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0,
+               PB22_IN, PB22_OUT,
+               PB21_IN, PB21_OUT,
+               PB20_IN, PB20_OUT,
+               PB19_IN, PB19_OUT,
+               PB18_IN, PB18_OUT,
+               PB17_IN, PB17_OUT,
+               PB16_IN, PB16_OUT }
+       },
+       { PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1) {
+               PB15_IN, PB15_OUT,
+               PB14_IN, PB14_OUT,
+               PB13_IN, PB13_OUT,
+               PB12_IN, PB12_OUT,
+               PB11_IN, PB11_OUT,
+               PB10_IN, PB10_OUT,
+               PB9_IN, PB9_OUT,
+               PB8_IN, PB8_OUT,
+               PB7_IN, PB7_OUT,
+               PB6_IN, PB6_OUT,
+               PB5_IN, PB5_OUT,
+               PB4_IN, PB4_OUT,
+               PB3_IN, PB3_OUT,
+               PB2_IN, PB2_OUT,
+               PB1_IN, PB1_OUT,
+               0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4) {
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC8MD_000, PC8MD_001, PC8MD_010, PC8MD_011,
+               PC8MD_100, PC8MD_101, PC8MD_110, PC8MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4) {
+               PC7MD_000, PC7MD_001, PC7MD_010, PC7MD_011,
+               PC7MD_100, PC7MD_101, PC7MD_110, PC7MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC6MD_000, PC6MD_001, PC6MD_010, PC6MD_011,
+               PC6MD_100, PC6MD_101, PC6MD_110, PC6MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC5MD_000, PC5MD_001, PC5MD_010, PC5MD_011,
+               PC5MD_100, PC5MD_101, PC5MD_110, PC5MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC4MD_00, PC4MD_01, PC4MD_10, PC4MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4) {
+               PC3MD_00, PC3MD_01, PC3MD_10, PC3MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC2MD_00, PC2MD_01, PC2MD_10, PC2MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC1MD_0, PC1MD_1, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PC0MD_0, PC0MD_1, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1) {
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+               PC8_IN, PC8_OUT,
+               PC7_IN, PC7_OUT,
+               PC6_IN, PC6_OUT,
+               PC5_IN, PC5_OUT,
+               PC4_IN, PC4_OUT,
+               PC3_IN, PC3_OUT,
+               PC2_IN, PC2_OUT,
+               PC1_IN, PC1_OUT,
+               PC0_IN, PC0_OUT }
+       },
+
+       { PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4) {
+               PD15MD_00, PD15MD_01, PD15MD_10, PD15MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD14MD_00, PD14MD_01, PD14MD_10, PD14MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD13MD_00, PD13MD_01, PD13MD_10, PD13MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD12MD_00, PD12MD_01, PD12MD_10, PD12MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4) {
+               PD11MD_00, PD11MD_01, PD11MD_10, PD11MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD10MD_00, PD10MD_01, PD10MD_10, PD10MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD9MD_00, PD9MD_01, PD9MD_10, PD9MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD8MD_00, PD8MD_01, PD8MD_10, PD8MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4) {
+               PD7MD_00, PD7MD_01, PD7MD_10, PD7MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD6MD_00, PD6MD_01, PD6MD_10, PD6MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD5MD_00, PD5MD_01, PD5MD_10, PD5MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD4MD_00, PD4MD_01, PD4MD_10, PD4MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4) {
+               PD3MD_00, PD3MD_01, PD3MD_10, PD3MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD2MD_00, PD2MD_01, PD2MD_10, PD2MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD1MD_00, PD1MD_01, PD1MD_10, PD1MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PD0MD_00, PD0MD_01, PD0MD_10, PD0MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1) {
+               PD15_IN, PD15_OUT,
+               PD14_IN, PD14_OUT,
+               PD13_IN, PD13_OUT,
+               PD12_IN, PD12_OUT,
+               PD11_IN, PD11_OUT,
+               PD10_IN, PD10_OUT,
+               PD9_IN, PD9_OUT,
+               PD8_IN, PD8_OUT,
+               PD7_IN, PD7_OUT,
+               PD6_IN, PD6_OUT,
+               PD5_IN, PD5_OUT,
+               PD4_IN, PD4_OUT,
+               PD3_IN, PD3_OUT,
+               PD2_IN, PD2_OUT,
+               PD1_IN, PD1_OUT,
+               PD0_IN, PD0_OUT }
+       },
+
+       { PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4) {
+               PE7MD_00, PE7MD_01, PE7MD_10, PE7MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PE6MD_00, PE6MD_01, PE6MD_10, PE6MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PE5MD_00, PE5MD_01, PE5MD_10, PE5MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PE4MD_00, PE4MD_01, PE4MD_10, PE4MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4) {
+               PE3MD_000, PE3MD_001, PE3MD_010, PE3MD_011,
+               PE3MD_100, PE3MD_101, PE3MD_110, PE3MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PE2MD_000, PE2MD_001, PE2MD_010, PE2MD_011,
+               PE2MD_100, PE2MD_101, PE2MD_110, PE2MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
+               PE1MD_100, PE1MD_101, PE1MD_110, PE1MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               PE7_IN, PE7_OUT,
+               PE6_IN, PE6_OUT,
+               PE5_IN, PE5_OUT,
+               PE4_IN, PE4_OUT,
+               PE3_IN, PE3_OUT,
+               PE2_IN, PE2_OUT,
+               PE1_IN, PE1_OUT,
+               PE0_IN, PE0_OUT }
+       },
+
+       { PINMUX_CFG_REG("PFCR6", 0xfffe38a2, 16, 4) {
+               PF23MD_000, PF23MD_001, PF23MD_010, PF23MD_011,
+               PF23MD_100, PF23MD_101, PF23MD_110, PF23MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF22MD_000, PF22MD_001, PF22MD_010, PF22MD_011,
+               PF22MD_100, PF22MD_101, PF22MD_110, PF22MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF21MD_000, PF21MD_001, PF21MD_010, PF21MD_011,
+               PF21MD_100, PF21MD_101, PF21MD_110, PF21MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF20MD_000, PF20MD_001, PF20MD_010, PF20MD_011,
+               PF20MD_100, PF20MD_101, PF20MD_110, PF20MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PFCR5", 0xfffe38a4, 16, 4) {
+               PF19MD_000, PF19MD_001, PF19MD_010, PF19MD_011,
+               PF19MD_100, PF19MD_101, PF19MD_110, PF19MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF18MD_000, PF18MD_001, PF18MD_010, PF18MD_011,
+               PF18MD_100, PF18MD_101, PF18MD_110, PF18MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF17MD_000, PF17MD_001, PF17MD_010, PF17MD_011,
+               PF17MD_100, PF17MD_101, PF17MD_110, PF17MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF16MD_000, PF16MD_001, PF16MD_010, PF16MD_011,
+               PF16MD_100, PF16MD_101, PF16MD_110, PF16MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PFCR4", 0xfffe38a6, 16, 4) {
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF15MD_000, PF15MD_001, PF15MD_010, PF15MD_011,
+               PF15MD_100, PF15MD_101, PF15MD_110, PF15MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4) {
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF14MD_000, PF14MD_001, PF14MD_010, PF14MD_011,
+               PF14MD_100, PF14MD_101, PF14MD_110, PF14MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF13MD_000, PF13MD_001, PF13MD_010, PF13MD_011,
+               PF13MD_100, PF13MD_101, PF13MD_110, PF13MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF12MD_000, PF12MD_001, PF12MD_010, PF12MD_011,
+               PF12MD_100, PF12MD_101, PF12MD_110, PF12MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4) {
+               PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
+               PF11MD_100, PF11MD_101, PF11MD_110, PF11MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
+               PF10MD_100, PF10MD_101, PF10MD_110, PF10MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
+               PF9MD_100, PF9MD_101, PF9MD_110, PF9MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF8MD_000, PF8MD_001, PF8MD_010, PF8MD_011,
+               PF8MD_100, PF8MD_101, PF8MD_110, PF8MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4) {
+               PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
+               PF7MD_100, PF7MD_101, PF7MD_110, PF7MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
+               PF6MD_100, PF6MD_101, PF6MD_110, PF6MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
+               PF5MD_100, PF5MD_101, PF5MD_110, PF5MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
+               PF4MD_100, PF4MD_101, PF4MD_110, PF4MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4) {
+               PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
+               PF3MD_100, PF3MD_101, PF3MD_110, PF3MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
+               PF2MD_100, PF2MD_101, PF2MD_110, PF2MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
+               PF1MD_100, PF1MD_101, PF1MD_110, PF1MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
+               PF0MD_100, PF0MD_101, PF0MD_110, PF0MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PFIOR1", 0xfffe38b0, 16, 1) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               PF23_IN, PF23_OUT,
+               PF22_IN, PF22_OUT,
+               PF21_IN, PF21_OUT,
+               PF20_IN, PF20_OUT,
+               PF19_IN, PF19_OUT,
+               PF18_IN, PF18_OUT,
+               PF17_IN, PF17_OUT,
+               PF16_IN, PF16_OUT }
+       },
+       { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1) {
+               PF15_IN, PF15_OUT,
+               PF14_IN, PF14_OUT,
+               PF13_IN, PF13_OUT,
+               PF12_IN, PF12_OUT,
+               PF11_IN, PF11_OUT,
+               PF10_IN, PF10_OUT,
+               PF9_IN, PF9_OUT,
+               PF8_IN, PF8_OUT,
+               PF7_IN, PF7_OUT,
+               PF6_IN, PF6_OUT,
+               PF5_IN, PF5_OUT,
+               PF4_IN, PF4_OUT,
+               PF3_IN, PF3_OUT,
+               PF2_IN, PF2_OUT,
+               PF1_IN, PF1_OUT,
+               PF0_IN, PF0_OUT }
+       },
+
+       { PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4) {
+               PG27MD_00, PG27MD_01, PG27MD_10, PG27MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG26MD_00, PG26MD_01, PG26MD_10, PG26MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG25MD_00, PG25MD_01, PG25MD_10, PG25MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4) {
+               PG23MD_000, PG23MD_001, PG23MD_010, PG23MD_011,
+               PG23MD_100, PG23MD_101, PG23MD_110, PG23MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG22MD_000, PG22MD_001, PG22MD_010, PG22MD_011,
+               PG22MD_100, PG22MD_101, PG22MD_110, PG22MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG21MD_000, PG21MD_001, PG21MD_010, PG21MD_011,
+               PG21MD_100, PG21MD_101, PG21MD_110, PG21MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
+               PG20MD_100, PG20MD_101, PG20MD_110, PG20MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4) {
+               PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
+               PG19MD_100, PG19MD_101, PG19MD_110, PG19MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
+               PG18MD_100, PG18MD_101, PG18MD_110, PG18MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG17MD_00, PG17MD_01, PG17MD_10, PG17MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG16MD_00, PG16MD_01, PG16MD_10, PG16MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4) {
+               PG15MD_00, PG15MD_01, PG15MD_10, PG15MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG14MD_00, PG14MD_01, PG14MD_10, PG14MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG13MD_00, PG13MD_01, PG13MD_10, PG13MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG12MD_00, PG12MD_01, PG12MD_10, PG12MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4) {
+               PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
+               PG11MD_100, PG11MD_101, PG11MD_110, PG11MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
+               PG10MD_100, PG10MD_101, PG10MD_110, PG10MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
+               PG9MD_100, PG9MD_101, PG9MD_110, PG9MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
+               PG8MD_100, PG8MD_101, PG8MD_110, PG8MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4) {
+               PG7MD_000, PG7MD_001, PG7MD_010, PG7MD_011,
+               PG7MD_100, PG7MD_101, PG7MD_110, PG7MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG6MD_000, PG6MD_001, PG6MD_010, PG6MD_011,
+               PG6MD_100, PG6MD_101, PG6MD_110, PG6MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG5MD_000, PG5MD_001, PG5MD_010, PG5MD_011,
+               PG5MD_100, PG5MD_101, PG5MD_110, PG5MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG4MD_000, PG4MD_001, PG4MD_010, PG4MD_011,
+               PG4MD_100, PG4MD_101, PG4MD_110, PG4MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4) {
+               PG3MD_000, PG3MD_001, PG3MD_010, PG3MD_011,
+               PG3MD_100, PG3MD_101, PG3MD_110, PG3MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG2MD_000, PG2MD_001, PG2MD_010, PG2MD_011,
+               PG2MD_100, PG2MD_101, PG2MD_110, PG2MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG1MD_000, PG1MD_001, PG1MD_010, PG1MD_011,
+               PG1MD_100, PG1MD_101, PG1MD_110, PG1MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
+               PG0MD_100, PG0MD_101, PG0MD_110, PG0MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               PG27_IN, PG27_OUT,
+               PG26_IN, PG26_OUT,
+               PG25_IN, PG25_OUT,
+               PG24_IN, PG24_OUT,
+               PG23_IN, PG23_OUT,
+               PG22_IN, PG22_OUT,
+               PG21_IN, PG21_OUT,
+               PG20_IN, PG20_OUT,
+               PG19_IN, PG19_OUT,
+               PG18_IN, PG18_OUT,
+               PG17_IN, PG17_OUT,
+               PG16_IN, PG16_OUT }
+       },
+       { PINMUX_CFG_REG("PGIOR0", 0xfffe38d2, 16, 1) {
+               PG15_IN, PG15_OUT,
+               PG14_IN, PG14_OUT,
+               PG13_IN, PG13_OUT,
+               PG12_IN, PG12_OUT,
+               PG11_IN, PG11_OUT,
+               PG10_IN, PG10_OUT,
+               PG9_IN, PG9_OUT,
+               PG8_IN, PG8_OUT,
+               PG7_IN, PG7_OUT,
+               PG6_IN, PG6_OUT,
+               PG5_IN, PG5_OUT,
+               PG4_IN, PG4_OUT,
+               PG3_IN, PG3_OUT,
+               PG2_IN, PG2_OUT,
+               PG1_IN, PG1_OUT,
+               PG0_IN, PG0_OUT }
+       },
+
+       { PINMUX_CFG_REG("PHCR1", 0xfffe38ec, 16, 4) {
+               PH7MD_00, PH7MD_01, PH7MD_10, PH7MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PH6MD_00, PH6MD_01, PH6MD_10, PH6MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PH5MD_00, PH5MD_01, PH5MD_10, PH5MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PH4MD_00, PH4MD_01, PH4MD_10, PH4MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PHCR0", 0xfffe38ee, 16, 4) {
+               PH3MD_00, PH3MD_01, PH3MD_10, PH3MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PH2MD_00, PH2MD_01, PH2MD_10, PH2MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PH1MD_00, PH1MD_01, PH1MD_10, PH1MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PH0MD_00, PH0MD_01, PH0MD_10, PH0MD_11, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PJCR7", 0xfffe3900, 16, 4) {
+               PJ31MD_0, PJ31MD_1, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ30MD_000, PJ30MD_001, PJ30MD_010, PJ30MD_011,
+               PJ30MD_100, PJ30MD_101, PJ30MD_110, PJ30MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ29MD_000, PJ29MD_001, PJ29MD_010, PJ29MD_011,
+               PJ29MD_100, PJ29MD_101, PJ29MD_110, PJ29MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ28MD_000, PJ28MD_001, PJ28MD_010, PJ28MD_011,
+               PJ28MD_100, PJ28MD_101, PJ28MD_110, PJ28MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR6", 0xfffe3902, 16, 4) {
+               PJ27MD_000, PJ27MD_001, PJ27MD_010, PJ27MD_011,
+               PJ27MD_100, PJ27MD_101, PJ27MD_110, PJ27MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ26MD_000, PJ26MD_001, PJ26MD_010, PJ26MD_011,
+               PJ26MD_100, PJ26MD_101, PJ26MD_110, PJ26MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ25MD_000, PJ25MD_001, PJ25MD_010, PJ25MD_011,
+               PJ25MD_100, PJ25MD_101, PJ25MD_110, PJ25MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ24MD_000, PJ24MD_001, PJ24MD_010, PJ24MD_011,
+               PJ24MD_100, PJ24MD_101, PJ24MD_110, PJ24MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR5", 0xfffe3904, 16, 4) {
+               PJ23MD_000, PJ23MD_001, PJ23MD_010, PJ23MD_011,
+               PJ23MD_100, PJ23MD_101, PJ23MD_110, PJ23MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ22MD_000, PJ22MD_001, PJ22MD_010, PJ22MD_011,
+               PJ22MD_100, PJ22MD_101, PJ22MD_110, PJ22MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ21MD_000, PJ21MD_001, PJ21MD_010, PJ21MD_011,
+               PJ21MD_100, PJ21MD_101, PJ21MD_110, PJ21MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ20MD_000, PJ20MD_001, PJ20MD_010, PJ20MD_011,
+               PJ20MD_100, PJ20MD_101, PJ20MD_110, PJ20MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR4", 0xfffe3906, 16, 4) {
+               PJ19MD_000, PJ19MD_001, PJ19MD_010, PJ19MD_011,
+               PJ19MD_100, PJ19MD_101, PJ19MD_110, PJ19MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ18MD_000, PJ18MD_001, PJ18MD_010, PJ18MD_011,
+               PJ18MD_100, PJ18MD_101, PJ18MD_110, PJ18MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ17MD_000, PJ17MD_001, PJ17MD_010, PJ17MD_011,
+               PJ17MD_100, PJ17MD_101, PJ17MD_110, PJ17MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ16MD_000, PJ16MD_001, PJ16MD_010, PJ16MD_011,
+               PJ16MD_100, PJ16MD_101, PJ16MD_110, PJ16MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR3", 0xfffe3908, 16, 4) {
+               PJ15MD_000, PJ15MD_001, PJ15MD_010, PJ15MD_011,
+               PJ15MD_100, PJ15MD_101, PJ15MD_110, PJ15MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ14MD_000, PJ14MD_001, PJ14MD_010, PJ14MD_011,
+               PJ14MD_100, PJ14MD_101, PJ14MD_110, PJ14MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ13MD_000, PJ13MD_001, PJ13MD_010, PJ13MD_011,
+               PJ13MD_100, PJ13MD_101, PJ13MD_110, PJ13MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ12MD_000, PJ12MD_001, PJ12MD_010, PJ12MD_011,
+               PJ12MD_100, PJ12MD_101, PJ12MD_110, PJ12MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR2", 0xfffe390a, 16, 4) {
+               PJ11MD_000, PJ11MD_001, PJ11MD_010, PJ11MD_011,
+               PJ11MD_100, PJ11MD_101, PJ11MD_110, PJ11MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ10MD_000, PJ10MD_001, PJ10MD_010, PJ10MD_011,
+               PJ10MD_100, PJ10MD_101, PJ10MD_110, PJ10MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ9MD_000, PJ9MD_001, PJ9MD_010, PJ9MD_011,
+               PJ9MD_100, PJ9MD_101, PJ9MD_110, PJ9MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ8MD_000, PJ8MD_001, PJ8MD_010, PJ8MD_011,
+               PJ8MD_100, PJ8MD_101, PJ8MD_110, PJ8MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR1", 0xfffe390c, 16, 4) {
+               PJ7MD_000, PJ7MD_001, PJ7MD_010, PJ7MD_011,
+               PJ7MD_100, PJ7MD_101, PJ7MD_110, PJ7MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ6MD_000, PJ6MD_001, PJ6MD_010, PJ6MD_011,
+               PJ6MD_100, PJ6MD_101, PJ6MD_110, PJ6MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ5MD_000, PJ5MD_001, PJ5MD_010, PJ5MD_011,
+               PJ5MD_100, PJ5MD_101, PJ5MD_110, PJ5MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ4MD_000, PJ4MD_001, PJ4MD_010, PJ4MD_011,
+               PJ4MD_100, PJ4MD_101, PJ4MD_110, PJ4MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+       { PINMUX_CFG_REG("PJCR0", 0xfffe390e, 16, 4) {
+               PJ3MD_000, PJ3MD_001, PJ3MD_010, PJ3MD_011,
+               PJ3MD_100, PJ3MD_101, PJ3MD_110, PJ3MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
+               PJ2MD_100, PJ2MD_101, PJ2MD_110, PJ2MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
+               PJ1MD_100, PJ1MD_101, PJ1MD_110, PJ1MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0,
+
+               PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
+               PJ0MD_100, PJ0MD_101, PJ0MD_110, PJ0MD_111,
+               0, 0, 0, 0, 0, 0, 0, 0 }
+       },
+
+       { PINMUX_CFG_REG("PJIOR1", 0xfffe3910, 16, 1) {
+               PJ31_IN, PJ31_OUT,
+               PJ30_IN, PJ30_OUT,
+               PJ29_IN, PJ29_OUT,
+               PJ28_IN, PJ28_OUT,
+               PJ27_IN, PJ27_OUT,
+               PJ26_IN, PJ26_OUT,
+               PJ25_IN, PJ25_OUT,
+               PJ24_IN, PJ24_OUT,
+               PJ23_IN, PJ23_OUT,
+               PJ22_IN, PJ22_OUT,
+               PJ21_IN, PJ21_OUT,
+               PJ20_IN, PJ20_OUT,
+               PJ19_IN, PJ19_OUT,
+               PJ18_IN, PJ18_OUT,
+               PJ17_IN, PJ17_OUT,
+               PJ16_IN, PJ16_OUT }
+       },
+       { PINMUX_CFG_REG("PJIOR0", 0xfffe3912, 16, 1) {
+               PJ15_IN, PJ15_OUT,
+               PJ14_IN, PJ14_OUT,
+               PJ13_IN, PJ13_OUT,
+               PJ12_IN, PJ12_OUT,
+               PJ11_IN, PJ11_OUT,
+               PJ10_IN, PJ10_OUT,
+               PJ9_IN, PJ9_OUT,
+               PJ8_IN, PJ8_OUT,
+               PJ7_IN, PJ7_OUT,
+               PJ6_IN, PJ6_OUT,
+               PJ5_IN, PJ5_OUT,
+               PJ4_IN, PJ4_OUT,
+               PJ3_IN, PJ3_OUT,
+               PJ2_IN, PJ2_OUT,
+               PJ1_IN, PJ1_OUT,
+               PJ0_IN, PJ0_OUT }
+       },
+
+       {}
+};
+
+static const struct pinmux_data_reg pinmux_data_regs[] = {
+       { PINMUX_DATA_REG("PADR0", 0xfffe3816, 16) {
+               0, 0, 0, 0, 0, 0, 0, PA1_DATA,
+               0, 0, 0, 0, 0, 0, 0, PA0_DATA }
+       },
+
+       { PINMUX_DATA_REG("PBDR1", 0xfffe3834, 16) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, PB22_DATA, PB21_DATA, PB20_DATA,
+               PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA }
+       },
+       { PINMUX_DATA_REG("PBDR0", 0xfffe3836, 16) {
+               PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
+               PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
+               PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
+               PB3_DATA, PB2_DATA, PB1_DATA, 0 }
+       },
+
+       { PINMUX_DATA_REG("PCDR0", 0xfffe3856, 16) {
+               0, 0, 0, 0,
+               0, 0, 0, PC8_DATA,
+               PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
+               PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA }
+       },
+
+       { PINMUX_DATA_REG("PDDR0", 0xfffe3876, 16) {
+               PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
+               PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
+               PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
+               PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA }
+       },
+
+       { PINMUX_DATA_REG("PEDR0", 0xfffe3896, 16) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
+               PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA }
+       },
+
+       { PINMUX_DATA_REG("PFDR1", 0xfffe38b4, 16) {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
+               PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA }
+       },
+       { PINMUX_DATA_REG("PFDR0", 0xfffe38b6, 16) {
+               PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
+               PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
+               PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
+               PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA }
+       },
+
+       { PINMUX_DATA_REG("PGDR1", 0xfffe38d4, 16) {
+               0, 0, 0, 0,
+               PG27_DATA, PG26_DATA, PG25_DATA, PG24_DATA,
+               PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
+               PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA }
+       },
+       { PINMUX_DATA_REG("PGDR0", 0xfffe38d6, 16) {
+               PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
+               PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
+               PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
+               PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA }
+       },
+
+       { PINMUX_DATA_REG("PJDR1", 0xfffe3914, 16) {
+               PJ31_DATA, PJ30_DATA, PJ29_DATA, PJ28_DATA,
+               PJ27_DATA, PJ26_DATA, PJ25_DATA, PJ24_DATA,
+               PJ23_DATA, PJ22_DATA, PJ21_DATA, PJ20_DATA,
+               PJ19_DATA, PJ18_DATA, PJ17_DATA, PJ16_DATA }
+       },
+       { PINMUX_DATA_REG("PJDR0", 0xfffe3916, 16) {
+               PJ15_DATA, PJ14_DATA, PJ13_DATA, PJ12_DATA,
+               PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
+               PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
+               PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA }
+       },
+
+       { }
+};
+
+const struct sh_pfc_soc_info sh7269_pinmux_info = {
+       .name = "sh7269_pfc",
+       .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
+       .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
+       .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
+
+       .pins = pinmux_pins,
+       .nr_pins = ARRAY_SIZE(pinmux_pins),
+       .func_gpios = pinmux_func_gpios,
+       .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
+
+       .cfg_regs = pinmux_config_regs,
+       .data_regs = pinmux_data_regs,
+
+       .gpio_data = pinmux_data,
+       .gpio_data_size = ARRAY_SIZE(pinmux_data),
+};