Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'renesas-pinmux-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

From Simon Horman:
Renesas ARM based SoC pinmux and GPIO update for v3.11

SH-PFC:
* Entries for INTC external IRQs
* Remove dependency on GPIOLIB
* PFC support for r8a7790 SoC
* Pinmux support for r8a7778 SoC
* Increase pin group and function coverage for sh7372, r8a7740,
r8a7778, r8a7779 and r8a7790 SoCs
* Use pinctrl mapping on mackerel, ap4evb, armadillo800eva,
bonito, bockw, lager boards
* Use RCAR_GP_PIN macro in marzen board
* Remove unused GPIOs for sh7372, sh73a0, r8a7740 and r8a7790 SoCs
* Add bias (pull-up/down) pinconf support for r8a7740 SoC
* Add VCCQ support for sh73a0

GPIO car:
* Add RCAR_GP_PIN macro
* Add support for IRQ_TYPE_EDGE_BOTH
* Make the platform data gpio_base field signed

The GPIO changes have been included as the RCAR_GP_PIN and
IRQ_TYPE_EDGE_BOTH changes are depended on by SH-PFC changes.

* tag 'renesas-pinmux-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (132 commits)
ARM: shmobile: marzen: Use RCAR_GP_PIN macro
ARM: shmobile: lager: Initialize pinmux
ARM: shmobile: bockw: add pinctrl support
ARM: shmobile: kzm9g: tidyup FSI pinctrl
ARM: shmobile: r8a7740 pinmux platform device cleanup
ARM: shmobile: r8a7790: Configure R-Car GPIO for IRQ_TYPE_EDGE_BOTH
pinctrl: sh-pfc: r8a7779: Fix missing MOD_SEL2 entry
Revert "ARM: shmobile: Disallow PINCTRL without GPIOLIB"
pinctrl: r8a7790: add pinmux data for MMCIF and SDHI interfaces
sh-pfc: r8a7778: add MMCIF pin groups
sh-pfc: r8a7778: add HSPI pin groups
sh-pfc: r8a7778: add I2C pin groups
pinctrl: sh-pfc: fix a typo in pfc-r8a7790
pinctrl: sh-pfc: fix r8a7790 Function Select register tables
sh-pfc: r8a7778: fixup IRQ1A settings
sh-pfc: r8a7779: add Ether pin groups
sh-pfc: r8a7778: add Ether pin groups
sh-pfc: r8a7778: add VIN pin groups
sh-pfc: sh73a0: Remove function GPIOs
sh-pfc: r8a7790: Add TPU pin groups and functions
...

+10335 -2731
+1 -1
arch/arm/Kconfig
··· 646 646 select MULTI_IRQ_HANDLER 647 647 select NEED_MACH_MEMORY_H 648 648 select NO_IOPORT 649 - select PINCTRL if ARCH_WANT_OPTIONAL_GPIOLIB 649 + select PINCTRL 650 650 select PM_GENERIC_DOMAINS if PM 651 651 select SPARSE_IRQ 652 652 help
+1
arch/arm/mach-shmobile/Kconfig
··· 37 37 38 38 config ARCH_R8A7778 39 39 bool "R-Car M1 (R8A77780)" 40 + select ARCH_WANT_OPTIONAL_GPIOLIB 40 41 select CPU_V7 41 42 select SH_CLK_CPG 42 43 select ARM_GIC
+55 -77
arch/arm/mach-shmobile/board-ap4evb.c
··· 1026 1026 1027 1027 /* TouchScreen */ 1028 1028 #ifdef CONFIG_AP4EVB_QHD 1029 - # define GPIO_TSC_IRQ GPIO_FN_IRQ28_123 1030 1029 # define GPIO_TSC_PORT 123 1031 1030 #else /* WVGA */ 1032 - # define GPIO_TSC_IRQ GPIO_FN_IRQ7_40 1033 1031 # define GPIO_TSC_PORT 40 1034 1032 #endif 1035 1033 ··· 1035 1037 #define IRQ7 evt2irq(0x02e0) /* IRQ7A */ 1036 1038 static int ts_get_pendown_state(void) 1037 1039 { 1038 - int val; 1039 - 1040 - gpio_free(GPIO_TSC_IRQ); 1041 - 1042 - gpio_request_one(GPIO_TSC_PORT, GPIOF_IN, NULL); 1043 - 1044 - val = gpio_get_value(GPIO_TSC_PORT); 1045 - 1046 - gpio_request(GPIO_TSC_IRQ, NULL); 1047 - 1048 - return !val; 1040 + return !gpio_get_value(GPIO_TSC_PORT); 1049 1041 } 1050 1042 1051 1043 static int ts_init(void) 1052 1044 { 1053 - gpio_request(GPIO_TSC_IRQ, NULL); 1045 + gpio_request_one(GPIO_TSC_PORT, GPIOF_IN, NULL); 1054 1046 1055 1047 return 0; 1056 1048 } ··· 1074 1086 1075 1087 1076 1088 static const struct pinctrl_map ap4evb_pinctrl_map[] = { 1089 + /* CEU */ 1090 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-sh7372", 1091 + "ceu_clk_0", "ceu"), 1092 + /* FSIA (AK4643) */ 1093 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-sh7372", 1094 + "fsia_sclk_in", "fsia"), 1095 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-sh7372", 1096 + "fsia_data_in", "fsia"), 1097 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-sh7372", 1098 + "fsia_data_out", "fsia"), 1099 + /* FSIB (HDMI) */ 1100 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.1", "pfc-sh7372", 1101 + "fsib_mclk_in", "fsib"), 1102 + /* HDMI */ 1103 + PIN_MAP_MUX_GROUP_DEFAULT("sh-mobile-hdmi", "pfc-sh7372", 1104 + "hdmi", "hdmi"), 1105 + /* KEYSC */ 1106 + PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc", "pfc-sh7372", 1107 + "keysc_in04_0", "keysc"), 1108 + PIN_MAP_MUX_GROUP_DEFAULT("sh_keysc", "pfc-sh7372", 1109 + "keysc_out5", "keysc"), 1110 + #ifndef CONFIG_AP4EVB_QHD 1111 + /* LCDC */ 1112 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-sh7372", 1113 + "lcd_data18", "lcd"), 1114 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-sh7372", 1115 + "lcd_sync", "lcd"), 1116 + #endif 1077 1117 /* MMCIF */ 1078 1118 PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh7372", 1079 1119 "mmc0_data8_0", "mmc0"), 1080 1120 PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-sh7372", 1081 1121 "mmc0_ctrl_0", "mmc0"), 1122 + /* SCIFA0 */ 1123 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-sh7372", 1124 + "scifa0_data", "scifa0"), 1082 1125 /* SDHI0 */ 1083 1126 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh7372", 1084 1127 "sdhi0_data4", "sdhi0"), ··· 1124 1105 "sdhi1_data4", "sdhi1"), 1125 1106 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-sh7372", 1126 1107 "sdhi1_ctrl", "sdhi1"), 1108 + /* SMSC911X */ 1109 + PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-sh7372", 1110 + "bsc_cs5a", "bsc"), 1111 + PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-sh7372", 1112 + "intc_irq6_0", "intc"), 1113 + /* TSC2007 */ 1114 + #ifdef CONFIG_AP4EVB_QHD 1115 + PIN_MAP_MUX_GROUP_DEFAULT("1-0048", "pfc-sh7372", 1116 + "intc_irq28_0", "intc"), 1117 + #else /* WVGA */ 1118 + PIN_MAP_MUX_GROUP_DEFAULT("1-0048", "pfc-sh7372", 1119 + "intc_irq7_0", "intc"), 1120 + #endif 1121 + /* USBHS1 */ 1122 + PIN_MAP_MUX_GROUP_DEFAULT("r8a66597_hcd.1", "pfc-sh7372", 1123 + "usb1_vbus", "usb1"), 1124 + PIN_MAP_MUX_GROUP_DEFAULT("r8a66597_hcd.1", "pfc-sh7372", 1125 + "usb1_otg_id_0", "usb1"), 1126 + PIN_MAP_MUX_GROUP_DEFAULT("r8a66597_hcd.1", "pfc-sh7372", 1127 + "usb1_otg_ctrl_0", "usb1"), 1127 1128 }; 1128 1129 1129 1130 #define GPIO_PORT9CR IOMEM(0xE6051009) ··· 1176 1137 ARRAY_SIZE(ap4evb_pinctrl_map)); 1177 1138 sh7372_pinmux_init(); 1178 1139 1179 - /* enable SCIFA0 */ 1180 - gpio_request(GPIO_FN_SCIFA0_TXD, NULL); 1181 - gpio_request(GPIO_FN_SCIFA0_RXD, NULL); 1182 - 1183 - /* enable SMSC911X */ 1184 - gpio_request(GPIO_FN_CS5A, NULL); 1185 - gpio_request(GPIO_FN_IRQ6_39, NULL); 1186 - 1187 1140 /* enable Debug switch (S6) */ 1188 1141 gpio_request_one(32, GPIOF_IN | GPIOF_EXPORT, NULL); 1189 1142 gpio_request_one(33, GPIOF_IN | GPIOF_EXPORT, NULL); 1190 1143 gpio_request_one(34, GPIOF_IN | GPIOF_EXPORT, NULL); 1191 1144 gpio_request_one(35, GPIOF_IN | GPIOF_EXPORT, NULL); 1192 1145 1193 - /* USB enable */ 1194 - gpio_request(GPIO_FN_VBUS0_1, NULL); 1195 - gpio_request(GPIO_FN_IDIN_1_18, NULL); 1196 - gpio_request(GPIO_FN_PWEN_1_115, NULL); 1197 - gpio_request(GPIO_FN_OVCN_1_114, NULL); 1198 - gpio_request(GPIO_FN_EXTLP_1, NULL); 1199 - gpio_request(GPIO_FN_OVCN2_1, NULL); 1200 - 1201 1146 /* setup USB phy */ 1202 1147 __raw_writew(0x8a0a, IOMEM(0xE6058130)); /* USBCR4 */ 1203 1148 1204 - /* enable FSI2 port A (ak4643) */ 1205 - gpio_request(GPIO_FN_FSIAIBT, NULL); 1206 - gpio_request(GPIO_FN_FSIAILR, NULL); 1207 - gpio_request(GPIO_FN_FSIAISLD, NULL); 1208 - gpio_request(GPIO_FN_FSIAOSLD, NULL); 1149 + /* FSI2 port A (ak4643) */ 1209 1150 gpio_request_one(161, GPIOF_OUT_INIT_LOW, NULL); /* slave */ 1210 1151 1211 1152 gpio_request(9, NULL); ··· 1196 1177 /* card detect pin for MMC slot (CN7) */ 1197 1178 gpio_request_one(41, GPIOF_IN, NULL); 1198 1179 1199 - /* setup FSI2 port B (HDMI) */ 1200 - gpio_request(GPIO_FN_FSIBCK, NULL); 1180 + /* FSI2 port B (HDMI) */ 1201 1181 __raw_writew(__raw_readw(USCCR1) & ~(1 << 6), USCCR1); /* use SPDIF */ 1202 1182 1203 1183 /* set SPU2 clock to 119.6 MHz */ ··· 1226 1208 * IRQ28 for Touch Panel, set dip switches S3, S43 as OFF, ON. 1227 1209 */ 1228 1210 1229 - /* enable KEYSC */ 1230 - gpio_request(GPIO_FN_KEYOUT0, NULL); 1231 - gpio_request(GPIO_FN_KEYOUT1, NULL); 1232 - gpio_request(GPIO_FN_KEYOUT2, NULL); 1233 - gpio_request(GPIO_FN_KEYOUT3, NULL); 1234 - gpio_request(GPIO_FN_KEYOUT4, NULL); 1235 - gpio_request(GPIO_FN_KEYIN0_136, NULL); 1236 - gpio_request(GPIO_FN_KEYIN1_135, NULL); 1237 - gpio_request(GPIO_FN_KEYIN2_134, NULL); 1238 - gpio_request(GPIO_FN_KEYIN3_133, NULL); 1239 - gpio_request(GPIO_FN_KEYIN4, NULL); 1240 - 1241 1211 /* enable TouchScreen */ 1242 1212 irq_set_irq_type(IRQ28, IRQ_TYPE_LEVEL_LOW); 1243 1213 ··· 1247 1241 * For WVGA Panel (18-bit RGB, CONFIG_AP4EVB_WVGA=y) and 1248 1242 * IRQ7 for Touch Panel, set dip switches S3, S43 to ON, OFF. 1249 1243 */ 1250 - 1251 - gpio_request(GPIO_FN_LCDD17, NULL); 1252 - gpio_request(GPIO_FN_LCDD16, NULL); 1253 - gpio_request(GPIO_FN_LCDD15, NULL); 1254 - gpio_request(GPIO_FN_LCDD14, NULL); 1255 - gpio_request(GPIO_FN_LCDD13, NULL); 1256 - gpio_request(GPIO_FN_LCDD12, NULL); 1257 - gpio_request(GPIO_FN_LCDD11, NULL); 1258 - gpio_request(GPIO_FN_LCDD10, NULL); 1259 - gpio_request(GPIO_FN_LCDD9, NULL); 1260 - gpio_request(GPIO_FN_LCDD8, NULL); 1261 - gpio_request(GPIO_FN_LCDD7, NULL); 1262 - gpio_request(GPIO_FN_LCDD6, NULL); 1263 - gpio_request(GPIO_FN_LCDD5, NULL); 1264 - gpio_request(GPIO_FN_LCDD4, NULL); 1265 - gpio_request(GPIO_FN_LCDD3, NULL); 1266 - gpio_request(GPIO_FN_LCDD2, NULL); 1267 - gpio_request(GPIO_FN_LCDD1, NULL); 1268 - gpio_request(GPIO_FN_LCDD0, NULL); 1269 - gpio_request(GPIO_FN_LCDDISP, NULL); 1270 - gpio_request(GPIO_FN_LCDDCK, NULL); 1271 - 1272 1244 gpio_request_one(189, GPIOF_OUT_INIT_HIGH, NULL); /* backlight */ 1273 1245 gpio_request_one(151, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ 1274 1246 ··· 1272 1288 */ 1273 1289 1274 1290 /* MIPI-CSI stuff */ 1275 - gpio_request(GPIO_FN_VIO_CKO, NULL); 1276 - 1277 1291 clk = clk_get(NULL, "vck1_clk"); 1278 1292 if (!IS_ERR(clk)) { 1279 1293 clk_set_rate(clk, clk_round_rate(clk, 13000000)); ··· 1280 1298 } 1281 1299 1282 1300 sh7372_add_standard_devices(); 1283 - 1284 - /* HDMI */ 1285 - gpio_request(GPIO_FN_HDMI_HPD, NULL); 1286 - gpio_request(GPIO_FN_HDMI_CEC, NULL); 1287 1301 1288 1302 /* Reset HDMI, must be held at least one EXTALR (32768Hz) period */ 1289 1303 #define SRCR4 IOMEM(0xe61580bc)
+49 -67
arch/arm/mach-shmobile/board-armadillo800eva.c
··· 584 584 static struct fixed_voltage_config vcc_sdhi0_info = { 585 585 .supply_name = "SDHI0 Vcc", 586 586 .microvolts = 3300000, 587 - .gpio = GPIO_PORT75, 587 + .gpio = 75, 588 588 .enable_high = 1, 589 589 .init_data = &vcc_sdhi0_init_data, 590 590 }; ··· 615 615 }; 616 616 617 617 static struct gpio vccq_sdhi0_gpios[] = { 618 - {GPIO_PORT17, GPIOF_OUT_INIT_LOW, "vccq-sdhi0" }, 618 + {17, GPIOF_OUT_INIT_LOW, "vccq-sdhi0" }, 619 619 }; 620 620 621 621 static struct gpio_regulator_state vccq_sdhi0_states[] = { ··· 626 626 static struct gpio_regulator_config vccq_sdhi0_info = { 627 627 .supply_name = "vqmmc", 628 628 629 - .enable_gpio = GPIO_PORT74, 629 + .enable_gpio = 74, 630 630 .enable_high = 1, 631 631 .enabled_at_boot = 0, 632 632 ··· 664 664 static struct fixed_voltage_config vcc_sdhi1_info = { 665 665 .supply_name = "SDHI1 Vcc", 666 666 .microvolts = 3300000, 667 - .gpio = GPIO_PORT16, 667 + .gpio = 16, 668 668 .enable_high = 1, 669 669 .init_data = &vcc_sdhi1_init_data, 670 670 }; ··· 693 693 .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 694 694 MMC_CAP_POWER_OFF_CARD, 695 695 .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, 696 - .cd_gpio = GPIO_PORT167, 696 + .cd_gpio = 167, 697 697 }; 698 698 699 699 static struct resource sdhi0_resources[] = { ··· 736 736 MMC_CAP_POWER_OFF_CARD, 737 737 .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, 738 738 /* Port72 cannot generate IRQs, will be used in polling mode. */ 739 - .cd_gpio = GPIO_PORT72, 739 + .cd_gpio = 72, 740 740 }; 741 741 742 742 static struct resource sdhi1_resources[] = { ··· 1046 1046 }; 1047 1047 1048 1048 static const struct pinctrl_map eva_pinctrl_map[] = { 1049 + /* CEU0 */ 1050 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-r8a7740", 1051 + "ceu0_data_0_7", "ceu0"), 1052 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-r8a7740", 1053 + "ceu0_clk_0", "ceu0"), 1054 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-r8a7740", 1055 + "ceu0_sync", "ceu0"), 1056 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-r8a7740", 1057 + "ceu0_field", "ceu0"), 1058 + /* FSIA */ 1059 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-r8a7740", 1060 + "fsia_sclk_in", "fsia"), 1061 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-r8a7740", 1062 + "fsia_mclk_out", "fsia"), 1063 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-r8a7740", 1064 + "fsia_data_in_1", "fsia"), 1065 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-r8a7740", 1066 + "fsia_data_out_0", "fsia"), 1067 + /* FSIB */ 1068 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.1", "pfc-r8a7740", 1069 + "fsib_mclk_in", "fsib"), 1070 + /* GETHER */ 1071 + PIN_MAP_MUX_GROUP_DEFAULT("sh-eth", "pfc-r8a7740", 1072 + "gether_mii", "gether"), 1073 + PIN_MAP_MUX_GROUP_DEFAULT("sh-eth", "pfc-r8a7740", 1074 + "gether_int", "gether"), 1075 + /* HDMI */ 1076 + PIN_MAP_MUX_GROUP_DEFAULT("sh-mobile-hdmi", "pfc-r8a7740", 1077 + "hdmi", "hdmi"), 1049 1078 /* LCD0 */ 1050 1079 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-r8a7740", 1051 1080 "lcd0_data24_0", "lcd0"), ··· 1087 1058 "mmc0_data8_1", "mmc0"), 1088 1059 PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-r8a7740", 1089 1060 "mmc0_ctrl_1", "mmc0"), 1061 + /* SCIFA1 */ 1062 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.1", "pfc-r8a7740", 1063 + "scifa1_data", "scifa1"), 1090 1064 /* SDHI0 */ 1091 1065 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7740", 1092 1066 "sdhi0_data4", "sdhi0"), ··· 1097 1065 "sdhi0_ctrl", "sdhi0"), 1098 1066 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7740", 1099 1067 "sdhi0_wp", "sdhi0"), 1068 + /* ST1232 */ 1069 + PIN_MAP_MUX_GROUP_DEFAULT("0-0055", "pfc-r8a7740", 1070 + "intc_irq10", "intc"), 1071 + /* USBHS */ 1072 + PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7740", 1073 + "intc_irq7_1", "intc"), 1100 1074 }; 1101 1075 1102 1076 static void __init eva_clock_init(void) ··· 1157 1119 r8a7740_pinmux_init(); 1158 1120 r8a7740_meram_workaround(); 1159 1121 1160 - /* SCIFA1 */ 1161 - gpio_request(GPIO_FN_SCIFA1_RXD, NULL); 1162 - gpio_request(GPIO_FN_SCIFA1_TXD, NULL); 1163 - 1164 1122 /* LCDC0 */ 1165 - gpio_request(GPIO_FN_LCDC0_SELECT, NULL); 1166 - 1167 1123 gpio_request_one(61, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ 1168 1124 gpio_request_one(202, GPIOF_OUT_INIT_LOW, NULL); /* LCD0_LED_CONT */ 1169 1125 1170 1126 /* Touchscreen */ 1171 - gpio_request(GPIO_FN_IRQ10, NULL); /* TP_INT */ 1127 + gpio_request_one(166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */ 1172 1128 1173 1129 /* GETHER */ 1174 - gpio_request(GPIO_FN_ET_CRS, NULL); 1175 - gpio_request(GPIO_FN_ET_MDC, NULL); 1176 - gpio_request(GPIO_FN_ET_MDIO, NULL); 1177 - gpio_request(GPIO_FN_ET_TX_ER, NULL); 1178 - gpio_request(GPIO_FN_ET_RX_ER, NULL); 1179 - gpio_request(GPIO_FN_ET_ERXD0, NULL); 1180 - gpio_request(GPIO_FN_ET_ERXD1, NULL); 1181 - gpio_request(GPIO_FN_ET_ERXD2, NULL); 1182 - gpio_request(GPIO_FN_ET_ERXD3, NULL); 1183 - gpio_request(GPIO_FN_ET_TX_CLK, NULL); 1184 - gpio_request(GPIO_FN_ET_TX_EN, NULL); 1185 - gpio_request(GPIO_FN_ET_ETXD0, NULL); 1186 - gpio_request(GPIO_FN_ET_ETXD1, NULL); 1187 - gpio_request(GPIO_FN_ET_ETXD2, NULL); 1188 - gpio_request(GPIO_FN_ET_ETXD3, NULL); 1189 - gpio_request(GPIO_FN_ET_PHY_INT, NULL); 1190 - gpio_request(GPIO_FN_ET_COL, NULL); 1191 - gpio_request(GPIO_FN_ET_RX_DV, NULL); 1192 - gpio_request(GPIO_FN_ET_RX_CLK, NULL); 1193 - 1194 1130 gpio_request_one(18, GPIOF_OUT_INIT_HIGH, NULL); /* PHY_RST */ 1195 1131 1196 1132 /* USB */ ··· 1175 1163 } else { 1176 1164 /* USB Func */ 1177 1165 /* 1178 - * A1 chip has 2 IRQ7 pin and it was controled by MSEL register. 1179 - * OTOH, usbhs interrupt needs its value (HI/LOW) to decide 1180 - * USB connection/disconnection (usbhsf_get_vbus()). 1181 - * This means we needs to select GPIO_FN_IRQ7_PORT209 first, 1182 - * and select GPIO 209 here 1166 + * The USBHS interrupt handlers needs to read the IRQ pin value 1167 + * (HI/LOW) to diffentiate USB connection and disconnection 1168 + * events (usbhsf_get_vbus()). We thus need to select both the 1169 + * intc_irq7_1 pin group and GPIO 209 here. 1183 1170 */ 1184 - gpio_request(GPIO_FN_IRQ7_PORT209, NULL); 1185 1171 gpio_request_one(209, GPIOF_IN, NULL); 1186 1172 1187 1173 platform_device_register(&usbhsf_device); 1188 1174 usb = &usbhsf_device; 1189 1175 } 1190 - 1191 - /* CEU0 */ 1192 - gpio_request(GPIO_FN_VIO0_D7, NULL); 1193 - gpio_request(GPIO_FN_VIO0_D6, NULL); 1194 - gpio_request(GPIO_FN_VIO0_D5, NULL); 1195 - gpio_request(GPIO_FN_VIO0_D4, NULL); 1196 - gpio_request(GPIO_FN_VIO0_D3, NULL); 1197 - gpio_request(GPIO_FN_VIO0_D2, NULL); 1198 - gpio_request(GPIO_FN_VIO0_D1, NULL); 1199 - gpio_request(GPIO_FN_VIO0_D0, NULL); 1200 - gpio_request(GPIO_FN_VIO0_CLK, NULL); 1201 - gpio_request(GPIO_FN_VIO0_HD, NULL); 1202 - gpio_request(GPIO_FN_VIO0_VD, NULL); 1203 - gpio_request(GPIO_FN_VIO0_FIELD, NULL); 1204 - gpio_request(GPIO_FN_VIO_CKO, NULL); 1205 1176 1206 1177 /* CON1/CON15 Camera */ 1207 1178 gpio_request_one(173, GPIOF_OUT_INIT_LOW, NULL); /* STANDBY */ ··· 1193 1198 gpio_request_one(158, GPIOF_OUT_INIT_LOW, NULL); /* CAM_PON */ 1194 1199 1195 1200 /* FSI-WM8978 */ 1196 - gpio_request(GPIO_FN_FSIAIBT, NULL); 1197 - gpio_request(GPIO_FN_FSIAILR, NULL); 1198 - gpio_request(GPIO_FN_FSIAOMC, NULL); 1199 - gpio_request(GPIO_FN_FSIAOSLD, NULL); 1200 - gpio_request(GPIO_FN_FSIAISLD_PORT5, NULL); 1201 - 1202 1201 gpio_request(7, NULL); 1203 1202 gpio_request(8, NULL); 1204 1203 gpio_direction_none(GPIO_PORT7CR); /* FSIAOBT needs no direction */ 1205 1204 gpio_direction_none(GPIO_PORT8CR); /* FSIAOLR needs no direction */ 1206 - 1207 - /* FSI-HDMI */ 1208 - gpio_request(GPIO_FN_FSIBCK, NULL); 1209 - 1210 - /* HDMI */ 1211 - gpio_request(GPIO_FN_HDMI_HPD, NULL); 1212 - gpio_request(GPIO_FN_HDMI_CEC, NULL); 1213 1205 1214 1206 /* 1215 1207 * CAUTION
+13
arch/arm/mach-shmobile/board-bockw.c
··· 18 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 19 */ 20 20 21 + #include <linux/pinctrl/machine.h> 21 22 #include <linux/platform_device.h> 22 23 #include <linux/smsc911x.h> 23 24 #include <mach/common.h> ··· 38 37 DEFINE_RES_IRQ(irq_pin(0)), /* IRQ 0 */ 39 38 }; 40 39 40 + static const struct pinctrl_map bockw_pinctrl_map[] = { 41 + /* SCIF0 */ 42 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778", 43 + "scif0_data_a", "scif0"), 44 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778", 45 + "scif0_ctrl", "scif0"), 46 + }; 47 + 41 48 #define IRQ0MR 0x30 42 49 static void __init bockw_init(void) 43 50 { ··· 54 45 r8a7778_clock_init(); 55 46 r8a7778_init_irq_extpin(1); 56 47 r8a7778_add_standard_devices(); 48 + 49 + pinctrl_register_mappings(bockw_pinctrl_map, 50 + ARRAY_SIZE(bockw_pinctrl_map)); 51 + r8a7778_pinmux_init(); 57 52 58 53 fpga = ioremap_nocache(0x18200000, SZ_1M); 59 54 if (fpga) {
+27 -20
arch/arm/mach-shmobile/board-bonito.c
··· 331 331 }; 332 332 333 333 /* 334 - * core board devices 335 - */ 336 - static struct platform_device *bonito_core_devices[] __initdata = { 337 - }; 338 - 339 - /* 340 334 * base board devices 341 335 */ 342 336 static struct platform_device *bonito_base_devices[] __initdata = { ··· 369 375 #define VCCQ1CR IOMEM(0xE6058140) 370 376 #define VCCQ1LCDCR IOMEM(0xE6058186) 371 377 378 + /* 379 + * HACK: The FPGA mappings should be associated with the FPGA device, but we 380 + * don't have one at the moment. Associate them with the PFC device to make 381 + * sure they will be applied. 382 + */ 383 + static const struct pinctrl_map fpga_pinctrl_map[] = { 384 + /* FPGA */ 385 + PIN_MAP_MUX_GROUP_DEFAULT("pfc-r8a7740", "pfc-r8a7740", 386 + "bsc_cs5a_0", "bsc"), 387 + PIN_MAP_MUX_GROUP_DEFAULT("pfc-r8a7740", "pfc-r8a7740", 388 + "bsc_cs5b", "bsc"), 389 + PIN_MAP_MUX_GROUP_DEFAULT("pfc-r8a7740", "pfc-r8a7740", 390 + "bsc_cs6a", "bsc"), 391 + PIN_MAP_MUX_GROUP_DEFAULT("pfc-r8a7740", "pfc-r8a7740", 392 + "intc_irq10", "intc"), 393 + }; 394 + 395 + static const struct pinctrl_map scifa5_pinctrl_map[] = { 396 + /* SCIFA5 */ 397 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.5", "pfc-r8a7740", 398 + "scifa5_data_2", "scifa5"), 399 + }; 400 + 372 401 static void __init bonito_init(void) 373 402 { 374 403 u16 val; 375 404 376 405 regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); 377 406 407 + pinctrl_register_mappings(fpga_pinctrl_map, 408 + ARRAY_SIZE(fpga_pinctrl_map)); 378 409 r8a7740_pinmux_init(); 379 410 bonito_fpga_init(); 380 411 ··· 416 397 417 398 r8a7740_add_standard_devices(); 418 399 419 - platform_add_devices(bonito_core_devices, 420 - ARRAY_SIZE(bonito_core_devices)); 421 - 422 400 /* 423 401 * base board settings 424 402 */ ··· 424 408 u16 bsw2; 425 409 u16 bsw3; 426 410 u16 bsw4; 427 - 428 - /* 429 - * FPGA 430 - */ 431 - gpio_request(GPIO_FN_CS5B, NULL); 432 - gpio_request(GPIO_FN_CS6A, NULL); 433 - gpio_request(GPIO_FN_CS5A_PORT105, NULL); 434 - gpio_request(GPIO_FN_IRQ10, NULL); 435 411 436 412 val = bonito_fpga_read(BVERR); 437 413 pr_info("bonito version: cpu %02x, base %02x\n", ··· 440 432 if (BIT_OFF(bsw2, 1) && /* S38.3 = ON */ 441 433 BIT_OFF(bsw3, 9) && /* S39.6 = ON */ 442 434 BIT_OFF(bsw4, 4)) { /* S43.1 = ON */ 443 - gpio_request(GPIO_FN_SCIFA5_TXD_PORT91, NULL); 444 - gpio_request(GPIO_FN_SCIFA5_RXD_PORT92, NULL); 435 + pinctrl_register_mappings(scifa5_pinctrl_map, 436 + ARRAY_SIZE(scifa5_pinctrl_map)); 445 437 } 446 438 447 439 /* ··· 451 443 BIT_ON(bsw2, 2)) { /* S38.2 = OFF */ 452 444 pinctrl_register_mappings(lcdc0_pinctrl_map, 453 445 ARRAY_SIZE(lcdc0_pinctrl_map)); 454 - gpio_request(GPIO_FN_LCDC0_SELECT, NULL); 455 446 456 447 gpio_request_one(61, GPIOF_OUT_INIT_HIGH, 457 448 NULL); /* LCDDON */
-1
arch/arm/mach-shmobile/board-kzm9g-reference.c
··· 79 79 sh73a0_pinmux_init(); 80 80 81 81 /* enable SD */ 82 - gpio_request(GPIO_FN_SDHI0_VCCQ_MC0_ON, NULL); 83 82 gpio_request_one(15, GPIOF_OUT_INIT_HIGH, NULL); /* power */ 84 83 85 84 gpio_request_one(14, GPIOF_OUT_INIT_HIGH, NULL); /* power */
+4 -7
arch/arm/mach-shmobile/board-kzm9g.c
··· 663 663 664 664 static const struct pinctrl_map kzm_pinctrl_map[] = { 665 665 /* FSIA (AK4648) */ 666 - PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2.0", "pfc-sh73a0", 666 + PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2", "pfc-sh73a0", 667 667 "fsia_mclk_in", "fsia"), 668 - PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2.0", "pfc-sh73a0", 668 + PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2", "pfc-sh73a0", 669 669 "fsia_sclk_in", "fsia"), 670 - PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2.0", "pfc-sh73a0", 670 + PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2", "pfc-sh73a0", 671 671 "fsia_data_in", "fsia"), 672 - PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2.0", "pfc-sh73a0", 672 + PIN_MAP_MUX_GROUP_DEFAULT("sh_fsi2", "pfc-sh73a0", 673 673 "fsia_data_out", "fsia"), 674 674 /* I2C3 */ 675 675 PIN_MAP_MUX_GROUP_DEFAULT("i2c-sh_mobile.3", "pfc-sh73a0", ··· 787 787 788 788 /* Touchscreen */ 789 789 gpio_request_one(223, GPIOF_IN, NULL); /* IRQ8 */ 790 - 791 - /* enable SD */ 792 - gpio_request(GPIO_FN_SDHI0_VCCQ_MC0_ON, NULL); 793 790 794 791 #ifdef CONFIG_CACHE_L2X0 795 792 /* Early BRESP enable, Shared attribute override enable, 64K*8way */
+15
arch/arm/mach-shmobile/board-lager.c
··· 21 21 #include <linux/interrupt.h> 22 22 #include <linux/irqchip.h> 23 23 #include <linux/kernel.h> 24 + #include <linux/pinctrl/machine.h> 24 25 #include <linux/platform_device.h> 25 26 #include <mach/common.h> 26 27 #include <mach/r8a7790.h> 27 28 #include <asm/mach-types.h> 28 29 #include <asm/mach/arch.h> 29 30 31 + static const struct pinctrl_map lager_pinctrl_map[] = { 32 + /* SCIF0 (CN19: DEBUG SERIAL0) */ 33 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7790", 34 + "scif0_data", "scif0"), 35 + /* SCIF1 (CN20: DEBUG SERIAL1) */ 36 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7790", 37 + "scif1_data", "scif1"), 38 + }; 39 + 30 40 static void __init lager_add_standard_devices(void) 31 41 { 32 42 r8a7790_clock_init(); 43 + 44 + pinctrl_register_mappings(lager_pinctrl_map, 45 + ARRAY_SIZE(lager_pinctrl_map)); 46 + r8a7790_pinmux_init(); 47 + 33 48 r8a7790_add_standard_devices(); 34 49 } 35 50
+69 -102
arch/arm/mach-shmobile/board-mackerel.c
··· 1309 1309 }; 1310 1310 1311 1311 static const struct pinctrl_map mackerel_pinctrl_map[] = { 1312 + /* ADXL34X */ 1313 + PIN_MAP_MUX_GROUP_DEFAULT("1-0053", "pfc-sh7372", 1314 + "intc_irq21", "intc"), 1315 + /* CEU */ 1316 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-sh7372", 1317 + "ceu_data_0_7", "ceu"), 1318 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-sh7372", 1319 + "ceu_clk_0", "ceu"), 1320 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-sh7372", 1321 + "ceu_sync", "ceu"), 1322 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_ceu.0", "pfc-sh7372", 1323 + "ceu_field", "ceu"), 1324 + /* FLCTL */ 1325 + PIN_MAP_MUX_GROUP_DEFAULT("sh_flctl.0", "pfc-sh7372", 1326 + "flctl_data", "flctl"), 1327 + PIN_MAP_MUX_GROUP_DEFAULT("sh_flctl.0", "pfc-sh7372", 1328 + "flctl_ce0", "flctl"), 1329 + PIN_MAP_MUX_GROUP_DEFAULT("sh_flctl.0", "pfc-sh7372", 1330 + "flctl_ctrl", "flctl"), 1331 + /* FSIA (AK4643) */ 1332 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-sh7372", 1333 + "fsia_sclk_in", "fsia"), 1334 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-sh7372", 1335 + "fsia_data_in", "fsia"), 1336 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.0", "pfc-sh7372", 1337 + "fsia_data_out", "fsia"), 1338 + /* FSIB (HDMI) */ 1339 + PIN_MAP_MUX_GROUP_DEFAULT("asoc-simple-card.1", "pfc-sh7372", 1340 + "fsib_mclk_in", "fsib"), 1341 + /* HDMI */ 1342 + PIN_MAP_MUX_GROUP_DEFAULT("sh-mobile-hdmi", "pfc-sh7372", 1343 + "hdmi", "hdmi"), 1344 + /* LCDC */ 1345 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-sh7372", 1346 + "lcd_data24", "lcd"), 1347 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-sh7372", 1348 + "lcd_sync", "lcd"), 1349 + /* SCIFA0 */ 1350 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-sh7372", 1351 + "scifa0_data", "scifa0"), 1352 + /* SCIFA2 (GT-720F GPS module) */ 1353 + PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.2", "pfc-sh7372", 1354 + "scifa2_data", "scifa2"), 1312 1355 /* SDHI0 */ 1313 1356 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh7372", 1314 1357 "sdhi0_data4", "sdhi0"), ··· 1359 1316 "sdhi0_ctrl", "sdhi0"), 1360 1317 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh7372", 1361 1318 "sdhi0_wp", "sdhi0"), 1319 + PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-sh7372", 1320 + "intc_irq26_1", "intc"), 1362 1321 /* SDHI1 */ 1363 1322 #if !IS_ENABLED(CONFIG_MMC_SH_MMCIF) 1364 1323 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-sh7372", ··· 1379 1334 "sdhi2_data4", "sdhi2"), 1380 1335 PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.2", "pfc-sh7372", 1381 1336 "sdhi2_ctrl", "sdhi2"), 1337 + /* SMSC911X */ 1338 + PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-sh7372", 1339 + "bsc_cs5a", "bsc"), 1340 + PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-sh7372", 1341 + "intc_irq6_0", "intc"), 1342 + /* ST1232 */ 1343 + PIN_MAP_MUX_GROUP_DEFAULT("0-0055", "pfc-sh7372", 1344 + "intc_irq7_0", "intc"), 1345 + /* TCA6416 */ 1346 + PIN_MAP_MUX_GROUP_DEFAULT("0-0020", "pfc-sh7372", 1347 + "intc_irq9_0", "intc"), 1348 + /* USBHS0 */ 1349 + PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs.0", "pfc-sh7372", 1350 + "usb0_vbus", "usb0"), 1351 + /* USBHS1 */ 1352 + PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs.1", "pfc-sh7372", 1353 + "usb1_vbus", "usb1"), 1354 + PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs.1", "pfc-sh7372", 1355 + "usb1_otg_id_0", "usb1"), 1382 1356 }; 1383 1357 1384 1358 #define GPIO_PORT9CR IOMEM(0xE6051009) ··· 1441 1377 ARRAY_SIZE(mackerel_pinctrl_map)); 1442 1378 sh7372_pinmux_init(); 1443 1379 1444 - /* enable SCIFA0 */ 1445 - gpio_request(GPIO_FN_SCIFA0_TXD, NULL); 1446 - gpio_request(GPIO_FN_SCIFA0_RXD, NULL); 1447 - 1448 - /* enable SMSC911X */ 1449 - gpio_request(GPIO_FN_CS5A, NULL); 1450 - gpio_request(GPIO_FN_IRQ6_39, NULL); 1451 - 1452 - /* LCDC */ 1453 - gpio_request(GPIO_FN_LCDD23, NULL); 1454 - gpio_request(GPIO_FN_LCDD22, NULL); 1455 - gpio_request(GPIO_FN_LCDD21, NULL); 1456 - gpio_request(GPIO_FN_LCDD20, NULL); 1457 - gpio_request(GPIO_FN_LCDD19, NULL); 1458 - gpio_request(GPIO_FN_LCDD18, NULL); 1459 - gpio_request(GPIO_FN_LCDD17, NULL); 1460 - gpio_request(GPIO_FN_LCDD16, NULL); 1461 - gpio_request(GPIO_FN_LCDD15, NULL); 1462 - gpio_request(GPIO_FN_LCDD14, NULL); 1463 - gpio_request(GPIO_FN_LCDD13, NULL); 1464 - gpio_request(GPIO_FN_LCDD12, NULL); 1465 - gpio_request(GPIO_FN_LCDD11, NULL); 1466 - gpio_request(GPIO_FN_LCDD10, NULL); 1467 - gpio_request(GPIO_FN_LCDD9, NULL); 1468 - gpio_request(GPIO_FN_LCDD8, NULL); 1469 - gpio_request(GPIO_FN_LCDD7, NULL); 1470 - gpio_request(GPIO_FN_LCDD6, NULL); 1471 - gpio_request(GPIO_FN_LCDD5, NULL); 1472 - gpio_request(GPIO_FN_LCDD4, NULL); 1473 - gpio_request(GPIO_FN_LCDD3, NULL); 1474 - gpio_request(GPIO_FN_LCDD2, NULL); 1475 - gpio_request(GPIO_FN_LCDD1, NULL); 1476 - gpio_request(GPIO_FN_LCDD0, NULL); 1477 - gpio_request(GPIO_FN_LCDDISP, NULL); 1478 - gpio_request(GPIO_FN_LCDDCK, NULL); 1479 - 1480 1380 /* backlight, off by default */ 1481 1381 gpio_request_one(31, GPIOF_OUT_INIT_LOW, NULL); 1482 1382 1483 1383 gpio_request_one(151, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ 1484 1384 1485 1385 /* USBHS0 */ 1486 - gpio_request(GPIO_FN_VBUS0_0, NULL); 1487 1386 gpio_request_pulldown(GPIO_PORT168CR); /* VBUS0_0 pull down */ 1488 1387 1489 1388 /* USBHS1 */ 1490 - gpio_request(GPIO_FN_VBUS0_1, NULL); 1491 1389 gpio_request_pulldown(GPIO_PORT167CR); /* VBUS0_1 pull down */ 1492 - gpio_request(GPIO_FN_IDIN_1_113, NULL); 1493 1390 1494 - /* enable FSI2 port A (ak4643) */ 1495 - gpio_request(GPIO_FN_FSIAIBT, NULL); 1496 - gpio_request(GPIO_FN_FSIAILR, NULL); 1497 - gpio_request(GPIO_FN_FSIAISLD, NULL); 1498 - gpio_request(GPIO_FN_FSIAOSLD, NULL); 1391 + /* FSI2 port A (ak4643) */ 1499 1392 gpio_request_one(161, GPIOF_OUT_INIT_LOW, NULL); /* slave */ 1500 1393 1501 1394 gpio_request(9, NULL); ··· 1462 1441 1463 1442 intc_set_priority(IRQ_FSI, 3); /* irq priority FSI(3) > SMSC911X(2) */ 1464 1443 1465 - /* setup FSI2 port B (HDMI) */ 1466 - gpio_request(GPIO_FN_FSIBCK, NULL); 1444 + /* FSI2 port B (HDMI) */ 1467 1445 __raw_writew(__raw_readw(USCCR1) & ~(1 << 6), USCCR1); /* use SPDIF */ 1468 1446 1469 1447 /* set SPU2 clock to 119.6 MHz */ ··· 1472 1452 clk_put(clk); 1473 1453 } 1474 1454 1475 - /* enable Keypad */ 1476 - gpio_request(GPIO_FN_IRQ9_42, NULL); 1455 + /* Keypad */ 1477 1456 irq_set_irq_type(IRQ9, IRQ_TYPE_LEVEL_HIGH); 1478 1457 1479 - /* enable Touchscreen */ 1480 - gpio_request(GPIO_FN_IRQ7_40, NULL); 1458 + /* Touchscreen */ 1481 1459 irq_set_irq_type(IRQ7, IRQ_TYPE_LEVEL_LOW); 1482 1460 1483 - /* enable Accelerometer */ 1484 - gpio_request(GPIO_FN_IRQ21, NULL); 1461 + /* Accelerometer */ 1485 1462 irq_set_irq_type(IRQ21, IRQ_TYPE_LEVEL_HIGH); 1486 - 1487 - /* SDHI0 PORT172 card-detect IRQ26 */ 1488 - gpio_request(GPIO_FN_IRQ26_172, NULL); 1489 - 1490 - /* FLCTL */ 1491 - gpio_request(GPIO_FN_D0_NAF0, NULL); 1492 - gpio_request(GPIO_FN_D1_NAF1, NULL); 1493 - gpio_request(GPIO_FN_D2_NAF2, NULL); 1494 - gpio_request(GPIO_FN_D3_NAF3, NULL); 1495 - gpio_request(GPIO_FN_D4_NAF4, NULL); 1496 - gpio_request(GPIO_FN_D5_NAF5, NULL); 1497 - gpio_request(GPIO_FN_D6_NAF6, NULL); 1498 - gpio_request(GPIO_FN_D7_NAF7, NULL); 1499 - gpio_request(GPIO_FN_D8_NAF8, NULL); 1500 - gpio_request(GPIO_FN_D9_NAF9, NULL); 1501 - gpio_request(GPIO_FN_D10_NAF10, NULL); 1502 - gpio_request(GPIO_FN_D11_NAF11, NULL); 1503 - gpio_request(GPIO_FN_D12_NAF12, NULL); 1504 - gpio_request(GPIO_FN_D13_NAF13, NULL); 1505 - gpio_request(GPIO_FN_D14_NAF14, NULL); 1506 - gpio_request(GPIO_FN_D15_NAF15, NULL); 1507 - gpio_request(GPIO_FN_FCE0, NULL); 1508 - gpio_request(GPIO_FN_WE0_FWE, NULL); 1509 - gpio_request(GPIO_FN_FRB, NULL); 1510 - gpio_request(GPIO_FN_A4_FOE, NULL); 1511 - gpio_request(GPIO_FN_A5_FCDE, NULL); 1512 - gpio_request(GPIO_FN_RD_FSC, NULL); 1513 - 1514 - /* enable GPS module (GT-720F) */ 1515 - gpio_request(GPIO_FN_SCIFA2_TXD1, NULL); 1516 - gpio_request(GPIO_FN_SCIFA2_RXD1, NULL); 1517 - 1518 - /* CEU */ 1519 - gpio_request(GPIO_FN_VIO_CLK, NULL); 1520 - gpio_request(GPIO_FN_VIO_VD, NULL); 1521 - gpio_request(GPIO_FN_VIO_HD, NULL); 1522 - gpio_request(GPIO_FN_VIO_FIELD, NULL); 1523 - gpio_request(GPIO_FN_VIO_CKO, NULL); 1524 - gpio_request(GPIO_FN_VIO_D7, NULL); 1525 - gpio_request(GPIO_FN_VIO_D6, NULL); 1526 - gpio_request(GPIO_FN_VIO_D5, NULL); 1527 - gpio_request(GPIO_FN_VIO_D4, NULL); 1528 - gpio_request(GPIO_FN_VIO_D3, NULL); 1529 - gpio_request(GPIO_FN_VIO_D2, NULL); 1530 - gpio_request(GPIO_FN_VIO_D1, NULL); 1531 - gpio_request(GPIO_FN_VIO_D0, NULL); 1532 - 1533 - /* HDMI */ 1534 - gpio_request(GPIO_FN_HDMI_HPD, NULL); 1535 - gpio_request(GPIO_FN_HDMI_CEC, NULL); 1536 1463 1537 1464 /* Reset HDMI, must be held at least one EXTALR (32768Hz) period */ 1538 1465 srcr4 = __raw_readl(SRCR4);
+4 -3
arch/arm/mach-shmobile/board-marzen.c
··· 28 28 #include <linux/leds.h> 29 29 #include <linux/dma-mapping.h> 30 30 #include <linux/pinctrl/machine.h> 31 + #include <linux/platform_data/gpio-rcar.h> 31 32 #include <linux/regulator/fixed.h> 32 33 #include <linux/regulator/machine.h> 33 34 #include <linux/smsc911x.h> ··· 174 173 static struct gpio_led marzen_leds[] = { 175 174 { 176 175 .name = "led2", 177 - .gpio = 157, 176 + .gpio = RCAR_GP_PIN(4, 29), 178 177 .default_state = LEDS_GPIO_DEFSTATE_ON, 179 178 }, { 180 179 .name = "led3", 181 - .gpio = 158, 180 + .gpio = RCAR_GP_PIN(4, 30), 182 181 .default_state = LEDS_GPIO_DEFSTATE_ON, 183 182 }, { 184 183 .name = "led4", 185 - .gpio = 159, 184 + .gpio = RCAR_GP_PIN(4, 31), 186 185 .default_state = LEDS_GPIO_DEFSTATE_ON, 187 186 }, 188 187 };
+5
arch/arm/mach-shmobile/include/mach/irqs.h
··· 16 16 #define IRQPIN_BASE 2000 17 17 #define irq_pin(nr) ((nr) + IRQPIN_BASE) 18 18 19 + /* GPIO IRQ */ 20 + #define _GPIO_IRQ_BASE 2500 21 + #define GPIO_IRQ_BASE(x) (_GPIO_IRQ_BASE + (32 * x)) 22 + #define GPIO_IRQ(x, y) (_GPIO_IRQ_BASE + (32 * x) + y) 23 + 19 24 #endif /* __ASM_MACH_IRQS_H */
-488
arch/arm/mach-shmobile/include/mach/r8a7740.h
··· 28 28 #define MD_CK1 (1 << 1) 29 29 #define MD_CK0 (1 << 0) 30 30 31 - /* 32 - * Pin Function Controller: 33 - * GPIO_FN_xx - GPIO used to select pin function 34 - * GPIO_PORTxx - GPIO mapped to real I/O pin on CPU 35 - */ 36 - enum { 37 - /* PORT */ 38 - GPIO_PORT0, GPIO_PORT1, GPIO_PORT2, GPIO_PORT3, GPIO_PORT4, 39 - GPIO_PORT5, GPIO_PORT6, GPIO_PORT7, GPIO_PORT8, GPIO_PORT9, 40 - 41 - GPIO_PORT10, GPIO_PORT11, GPIO_PORT12, GPIO_PORT13, GPIO_PORT14, 42 - GPIO_PORT15, GPIO_PORT16, GPIO_PORT17, GPIO_PORT18, GPIO_PORT19, 43 - 44 - GPIO_PORT20, GPIO_PORT21, GPIO_PORT22, GPIO_PORT23, GPIO_PORT24, 45 - GPIO_PORT25, GPIO_PORT26, GPIO_PORT27, GPIO_PORT28, GPIO_PORT29, 46 - 47 - GPIO_PORT30, GPIO_PORT31, GPIO_PORT32, GPIO_PORT33, GPIO_PORT34, 48 - GPIO_PORT35, GPIO_PORT36, GPIO_PORT37, GPIO_PORT38, GPIO_PORT39, 49 - 50 - GPIO_PORT40, GPIO_PORT41, GPIO_PORT42, GPIO_PORT43, GPIO_PORT44, 51 - GPIO_PORT45, GPIO_PORT46, GPIO_PORT47, GPIO_PORT48, GPIO_PORT49, 52 - 53 - GPIO_PORT50, GPIO_PORT51, GPIO_PORT52, GPIO_PORT53, GPIO_PORT54, 54 - GPIO_PORT55, GPIO_PORT56, GPIO_PORT57, GPIO_PORT58, GPIO_PORT59, 55 - 56 - GPIO_PORT60, GPIO_PORT61, GPIO_PORT62, GPIO_PORT63, GPIO_PORT64, 57 - GPIO_PORT65, GPIO_PORT66, GPIO_PORT67, GPIO_PORT68, GPIO_PORT69, 58 - 59 - GPIO_PORT70, GPIO_PORT71, GPIO_PORT72, GPIO_PORT73, GPIO_PORT74, 60 - GPIO_PORT75, GPIO_PORT76, GPIO_PORT77, GPIO_PORT78, GPIO_PORT79, 61 - 62 - GPIO_PORT80, GPIO_PORT81, GPIO_PORT82, GPIO_PORT83, GPIO_PORT84, 63 - GPIO_PORT85, GPIO_PORT86, GPIO_PORT87, GPIO_PORT88, GPIO_PORT89, 64 - 65 - GPIO_PORT90, GPIO_PORT91, GPIO_PORT92, GPIO_PORT93, GPIO_PORT94, 66 - GPIO_PORT95, GPIO_PORT96, GPIO_PORT97, GPIO_PORT98, GPIO_PORT99, 67 - 68 - GPIO_PORT100, GPIO_PORT101, GPIO_PORT102, GPIO_PORT103, GPIO_PORT104, 69 - GPIO_PORT105, GPIO_PORT106, GPIO_PORT107, GPIO_PORT108, GPIO_PORT109, 70 - 71 - GPIO_PORT110, GPIO_PORT111, GPIO_PORT112, GPIO_PORT113, GPIO_PORT114, 72 - GPIO_PORT115, GPIO_PORT116, GPIO_PORT117, GPIO_PORT118, GPIO_PORT119, 73 - 74 - GPIO_PORT120, GPIO_PORT121, GPIO_PORT122, GPIO_PORT123, GPIO_PORT124, 75 - GPIO_PORT125, GPIO_PORT126, GPIO_PORT127, GPIO_PORT128, GPIO_PORT129, 76 - 77 - GPIO_PORT130, GPIO_PORT131, GPIO_PORT132, GPIO_PORT133, GPIO_PORT134, 78 - GPIO_PORT135, GPIO_PORT136, GPIO_PORT137, GPIO_PORT138, GPIO_PORT139, 79 - 80 - GPIO_PORT140, GPIO_PORT141, GPIO_PORT142, GPIO_PORT143, GPIO_PORT144, 81 - GPIO_PORT145, GPIO_PORT146, GPIO_PORT147, GPIO_PORT148, GPIO_PORT149, 82 - 83 - GPIO_PORT150, GPIO_PORT151, GPIO_PORT152, GPIO_PORT153, GPIO_PORT154, 84 - GPIO_PORT155, GPIO_PORT156, GPIO_PORT157, GPIO_PORT158, GPIO_PORT159, 85 - 86 - GPIO_PORT160, GPIO_PORT161, GPIO_PORT162, GPIO_PORT163, GPIO_PORT164, 87 - GPIO_PORT165, GPIO_PORT166, GPIO_PORT167, GPIO_PORT168, GPIO_PORT169, 88 - 89 - GPIO_PORT170, GPIO_PORT171, GPIO_PORT172, GPIO_PORT173, GPIO_PORT174, 90 - GPIO_PORT175, GPIO_PORT176, GPIO_PORT177, GPIO_PORT178, GPIO_PORT179, 91 - 92 - GPIO_PORT180, GPIO_PORT181, GPIO_PORT182, GPIO_PORT183, GPIO_PORT184, 93 - GPIO_PORT185, GPIO_PORT186, GPIO_PORT187, GPIO_PORT188, GPIO_PORT189, 94 - 95 - GPIO_PORT190, GPIO_PORT191, GPIO_PORT192, GPIO_PORT193, GPIO_PORT194, 96 - GPIO_PORT195, GPIO_PORT196, GPIO_PORT197, GPIO_PORT198, GPIO_PORT199, 97 - 98 - GPIO_PORT200, GPIO_PORT201, GPIO_PORT202, GPIO_PORT203, GPIO_PORT204, 99 - GPIO_PORT205, GPIO_PORT206, GPIO_PORT207, GPIO_PORT208, GPIO_PORT209, 100 - 101 - GPIO_PORT210, GPIO_PORT211, 102 - 103 - /* IRQ */ 104 - GPIO_FN_IRQ0_PORT2, GPIO_FN_IRQ0_PORT13, 105 - GPIO_FN_IRQ1, 106 - GPIO_FN_IRQ2_PORT11, GPIO_FN_IRQ2_PORT12, 107 - GPIO_FN_IRQ3_PORT10, GPIO_FN_IRQ3_PORT14, 108 - GPIO_FN_IRQ4_PORT15, GPIO_FN_IRQ4_PORT172, 109 - GPIO_FN_IRQ5_PORT0, GPIO_FN_IRQ5_PORT1, 110 - GPIO_FN_IRQ6_PORT121, GPIO_FN_IRQ6_PORT173, 111 - GPIO_FN_IRQ7_PORT120, GPIO_FN_IRQ7_PORT209, 112 - GPIO_FN_IRQ8, 113 - GPIO_FN_IRQ9_PORT118, GPIO_FN_IRQ9_PORT210, 114 - GPIO_FN_IRQ10, 115 - GPIO_FN_IRQ11, 116 - GPIO_FN_IRQ12_PORT42, GPIO_FN_IRQ12_PORT97, 117 - GPIO_FN_IRQ13_PORT64, GPIO_FN_IRQ13_PORT98, 118 - GPIO_FN_IRQ14_PORT63, GPIO_FN_IRQ14_PORT99, 119 - GPIO_FN_IRQ15_PORT62, GPIO_FN_IRQ15_PORT100, 120 - GPIO_FN_IRQ16_PORT68, GPIO_FN_IRQ16_PORT211, 121 - GPIO_FN_IRQ17, 122 - GPIO_FN_IRQ18, 123 - GPIO_FN_IRQ19, 124 - GPIO_FN_IRQ20, 125 - GPIO_FN_IRQ21, 126 - GPIO_FN_IRQ22, 127 - GPIO_FN_IRQ23, 128 - GPIO_FN_IRQ24, 129 - GPIO_FN_IRQ25, 130 - GPIO_FN_IRQ26_PORT58, GPIO_FN_IRQ26_PORT81, 131 - GPIO_FN_IRQ27_PORT57, GPIO_FN_IRQ27_PORT168, 132 - GPIO_FN_IRQ28_PORT56, GPIO_FN_IRQ28_PORT169, 133 - GPIO_FN_IRQ29_PORT50, GPIO_FN_IRQ29_PORT170, 134 - GPIO_FN_IRQ30_PORT49, GPIO_FN_IRQ30_PORT171, 135 - GPIO_FN_IRQ31_PORT41, GPIO_FN_IRQ31_PORT167, 136 - 137 - /* Function */ 138 - 139 - /* DBGT */ 140 - GPIO_FN_DBGMDT2, GPIO_FN_DBGMDT1, GPIO_FN_DBGMDT0, 141 - GPIO_FN_DBGMD10, GPIO_FN_DBGMD11, GPIO_FN_DBGMD20, 142 - GPIO_FN_DBGMD21, 143 - 144 - /* FSI-A */ 145 - GPIO_FN_FSIAISLD_PORT0, /* FSIAISLD Port 0/5 */ 146 - GPIO_FN_FSIAISLD_PORT5, 147 - GPIO_FN_FSIASPDIF_PORT9, /* FSIASPDIF Port 9/18 */ 148 - GPIO_FN_FSIASPDIF_PORT18, 149 - GPIO_FN_FSIAOSLD1, GPIO_FN_FSIAOSLD2, 150 - GPIO_FN_FSIAOLR, GPIO_FN_FSIAOBT, 151 - GPIO_FN_FSIAOSLD, GPIO_FN_FSIAOMC, 152 - GPIO_FN_FSIACK, GPIO_FN_FSIAILR, 153 - GPIO_FN_FSIAIBT, 154 - 155 - /* FSI-B */ 156 - GPIO_FN_FSIBCK, 157 - 158 - /* FMSI */ 159 - GPIO_FN_FMSISLD_PORT1, /* FMSISLD Port 1/6 */ 160 - GPIO_FN_FMSISLD_PORT6, 161 - GPIO_FN_FMSIILR, GPIO_FN_FMSIIBT, 162 - GPIO_FN_FMSIOLR, GPIO_FN_FMSIOBT, 163 - GPIO_FN_FMSICK, GPIO_FN_FMSOILR, 164 - GPIO_FN_FMSOIBT, GPIO_FN_FMSOOLR, 165 - GPIO_FN_FMSOOBT, GPIO_FN_FMSOSLD, 166 - GPIO_FN_FMSOCK, 167 - 168 - /* SCIFA0 */ 169 - GPIO_FN_SCIFA0_SCK, GPIO_FN_SCIFA0_CTS, 170 - GPIO_FN_SCIFA0_RTS, GPIO_FN_SCIFA0_RXD, 171 - GPIO_FN_SCIFA0_TXD, 172 - 173 - /* SCIFA1 */ 174 - GPIO_FN_SCIFA1_CTS, GPIO_FN_SCIFA1_SCK, 175 - GPIO_FN_SCIFA1_RXD, GPIO_FN_SCIFA1_TXD, 176 - GPIO_FN_SCIFA1_RTS, 177 - 178 - /* SCIFA2 */ 179 - GPIO_FN_SCIFA2_SCK_PORT22, /* SCIFA2_SCK Port 22/199 */ 180 - GPIO_FN_SCIFA2_SCK_PORT199, 181 - GPIO_FN_SCIFA2_RXD, GPIO_FN_SCIFA2_TXD, 182 - GPIO_FN_SCIFA2_CTS, GPIO_FN_SCIFA2_RTS, 183 - 184 - /* SCIFA3 */ 185 - GPIO_FN_SCIFA3_RTS_PORT105, /* MSEL5CR_8_0 */ 186 - GPIO_FN_SCIFA3_SCK_PORT116, 187 - GPIO_FN_SCIFA3_CTS_PORT117, 188 - GPIO_FN_SCIFA3_RXD_PORT174, 189 - GPIO_FN_SCIFA3_TXD_PORT175, 190 - 191 - GPIO_FN_SCIFA3_RTS_PORT161, /* MSEL5CR_8_1 */ 192 - GPIO_FN_SCIFA3_SCK_PORT158, 193 - GPIO_FN_SCIFA3_CTS_PORT162, 194 - GPIO_FN_SCIFA3_RXD_PORT159, 195 - GPIO_FN_SCIFA3_TXD_PORT160, 196 - 197 - /* SCIFA4 */ 198 - GPIO_FN_SCIFA4_RXD_PORT12, /* MSEL5CR[12:11] = 00 */ 199 - GPIO_FN_SCIFA4_TXD_PORT13, 200 - 201 - GPIO_FN_SCIFA4_RXD_PORT204, /* MSEL5CR[12:11] = 01 */ 202 - GPIO_FN_SCIFA4_TXD_PORT203, 203 - 204 - GPIO_FN_SCIFA4_RXD_PORT94, /* MSEL5CR[12:11] = 10 */ 205 - GPIO_FN_SCIFA4_TXD_PORT93, 206 - 207 - GPIO_FN_SCIFA4_SCK_PORT21, /* SCIFA4_SCK Port 21/205 */ 208 - GPIO_FN_SCIFA4_SCK_PORT205, 209 - 210 - /* SCIFA5 */ 211 - GPIO_FN_SCIFA5_TXD_PORT20, /* MSEL5CR[15:14] = 00 */ 212 - GPIO_FN_SCIFA5_RXD_PORT10, 213 - 214 - GPIO_FN_SCIFA5_RXD_PORT207, /* MSEL5CR[15:14] = 01 */ 215 - GPIO_FN_SCIFA5_TXD_PORT208, 216 - 217 - GPIO_FN_SCIFA5_TXD_PORT91, /* MSEL5CR[15:14] = 10 */ 218 - GPIO_FN_SCIFA5_RXD_PORT92, 219 - 220 - GPIO_FN_SCIFA5_SCK_PORT23, /* SCIFA5_SCK Port 23/206 */ 221 - GPIO_FN_SCIFA5_SCK_PORT206, 222 - 223 - /* SCIFA6 */ 224 - GPIO_FN_SCIFA6_SCK, GPIO_FN_SCIFA6_RXD, GPIO_FN_SCIFA6_TXD, 225 - 226 - /* SCIFA7 */ 227 - GPIO_FN_SCIFA7_TXD, GPIO_FN_SCIFA7_RXD, 228 - 229 - /* SCIFAB */ 230 - GPIO_FN_SCIFB_SCK_PORT190, /* MSEL5CR_17_0 */ 231 - GPIO_FN_SCIFB_RXD_PORT191, 232 - GPIO_FN_SCIFB_TXD_PORT192, 233 - GPIO_FN_SCIFB_RTS_PORT186, 234 - GPIO_FN_SCIFB_CTS_PORT187, 235 - 236 - GPIO_FN_SCIFB_SCK_PORT2, /* MSEL5CR_17_1 */ 237 - GPIO_FN_SCIFB_RXD_PORT3, 238 - GPIO_FN_SCIFB_TXD_PORT4, 239 - GPIO_FN_SCIFB_RTS_PORT172, 240 - GPIO_FN_SCIFB_CTS_PORT173, 241 - 242 - /* LCD0 */ 243 - GPIO_FN_LCDC0_SELECT, 244 - 245 - /* LCD1 */ 246 - GPIO_FN_LCDC1_SELECT, 247 - 248 - /* RSPI */ 249 - GPIO_FN_RSPI_SSL0_A, GPIO_FN_RSPI_SSL1_A, 250 - GPIO_FN_RSPI_SSL2_A, GPIO_FN_RSPI_SSL3_A, 251 - GPIO_FN_RSPI_MOSI_A, GPIO_FN_RSPI_MISO_A, 252 - GPIO_FN_RSPI_CK_A, 253 - 254 - /* VIO CKO */ 255 - GPIO_FN_VIO_CKO1, 256 - GPIO_FN_VIO_CKO2, 257 - GPIO_FN_VIO_CKO_1, 258 - GPIO_FN_VIO_CKO, 259 - 260 - /* VIO0 */ 261 - GPIO_FN_VIO0_D0, GPIO_FN_VIO0_D1, GPIO_FN_VIO0_D2, 262 - GPIO_FN_VIO0_D3, GPIO_FN_VIO0_D4, GPIO_FN_VIO0_D5, 263 - GPIO_FN_VIO0_D6, GPIO_FN_VIO0_D7, GPIO_FN_VIO0_D8, 264 - GPIO_FN_VIO0_D9, GPIO_FN_VIO0_D10, GPIO_FN_VIO0_D11, 265 - GPIO_FN_VIO0_D12, GPIO_FN_VIO0_VD, GPIO_FN_VIO0_HD, 266 - GPIO_FN_VIO0_CLK, GPIO_FN_VIO0_FIELD, 267 - 268 - GPIO_FN_VIO0_D13_PORT26, /* MSEL5CR_27_0 */ 269 - GPIO_FN_VIO0_D14_PORT25, 270 - GPIO_FN_VIO0_D15_PORT24, 271 - 272 - GPIO_FN_VIO0_D13_PORT22, /* MSEL5CR_27_1 */ 273 - GPIO_FN_VIO0_D14_PORT95, 274 - GPIO_FN_VIO0_D15_PORT96, 275 - 276 - /* VIO1 */ 277 - GPIO_FN_VIO1_D0, GPIO_FN_VIO1_D1, GPIO_FN_VIO1_D2, 278 - GPIO_FN_VIO1_D3, GPIO_FN_VIO1_D4, GPIO_FN_VIO1_D5, 279 - GPIO_FN_VIO1_D6, GPIO_FN_VIO1_D7, GPIO_FN_VIO1_VD, 280 - GPIO_FN_VIO1_HD, GPIO_FN_VIO1_CLK, GPIO_FN_VIO1_FIELD, 281 - 282 - /* TPU0 */ 283 - GPIO_FN_TPU0TO0, GPIO_FN_TPU0TO1, 284 - GPIO_FN_TPU0TO3, 285 - GPIO_FN_TPU0TO2_PORT66, /* TPU0TO2 Port 66/202 */ 286 - GPIO_FN_TPU0TO2_PORT202, 287 - 288 - /* SSP1 0 */ 289 - GPIO_FN_STP0_IPD0, GPIO_FN_STP0_IPD1, GPIO_FN_STP0_IPD2, 290 - GPIO_FN_STP0_IPD3, GPIO_FN_STP0_IPD4, GPIO_FN_STP0_IPD5, 291 - GPIO_FN_STP0_IPD6, GPIO_FN_STP0_IPD7, GPIO_FN_STP0_IPEN, 292 - GPIO_FN_STP0_IPCLK, GPIO_FN_STP0_IPSYNC, 293 - 294 - /* SSP1 1 */ 295 - GPIO_FN_STP1_IPD1, GPIO_FN_STP1_IPD2, GPIO_FN_STP1_IPD3, 296 - GPIO_FN_STP1_IPD4, GPIO_FN_STP1_IPD5, GPIO_FN_STP1_IPD6, 297 - GPIO_FN_STP1_IPD7, GPIO_FN_STP1_IPCLK, GPIO_FN_STP1_IPSYNC, 298 - 299 - GPIO_FN_STP1_IPD0_PORT186, /* MSEL5CR_23_0 */ 300 - GPIO_FN_STP1_IPEN_PORT187, 301 - 302 - GPIO_FN_STP1_IPD0_PORT194, /* MSEL5CR_23_1 */ 303 - GPIO_FN_STP1_IPEN_PORT193, 304 - 305 - /* SIM */ 306 - GPIO_FN_SIM_RST, GPIO_FN_SIM_CLK, 307 - GPIO_FN_SIM_D_PORT22, /* SIM_D Port 22/199 */ 308 - GPIO_FN_SIM_D_PORT199, 309 - 310 - /* MSIOF2 */ 311 - GPIO_FN_MSIOF2_TXD, GPIO_FN_MSIOF2_RXD, GPIO_FN_MSIOF2_TSCK, 312 - GPIO_FN_MSIOF2_SS2, GPIO_FN_MSIOF2_TSYNC, GPIO_FN_MSIOF2_SS1, 313 - GPIO_FN_MSIOF2_MCK1, GPIO_FN_MSIOF2_MCK0, GPIO_FN_MSIOF2_RSYNC, 314 - GPIO_FN_MSIOF2_RSCK, 315 - 316 - /* KEYSC */ 317 - GPIO_FN_KEYIN4, GPIO_FN_KEYIN5, 318 - GPIO_FN_KEYIN6, GPIO_FN_KEYIN7, 319 - GPIO_FN_KEYOUT0, GPIO_FN_KEYOUT1, GPIO_FN_KEYOUT2, 320 - GPIO_FN_KEYOUT3, GPIO_FN_KEYOUT4, GPIO_FN_KEYOUT5, 321 - GPIO_FN_KEYOUT6, GPIO_FN_KEYOUT7, 322 - 323 - GPIO_FN_KEYIN0_PORT43, /* MSEL4CR_18_0 */ 324 - GPIO_FN_KEYIN1_PORT44, 325 - GPIO_FN_KEYIN2_PORT45, 326 - GPIO_FN_KEYIN3_PORT46, 327 - 328 - GPIO_FN_KEYIN0_PORT58, /* MSEL4CR_18_1 */ 329 - GPIO_FN_KEYIN1_PORT57, 330 - GPIO_FN_KEYIN2_PORT56, 331 - GPIO_FN_KEYIN3_PORT55, 332 - 333 - /* VOU */ 334 - GPIO_FN_DV_D0, GPIO_FN_DV_D1, GPIO_FN_DV_D2, GPIO_FN_DV_D3, 335 - GPIO_FN_DV_D4, GPIO_FN_DV_D5, GPIO_FN_DV_D6, GPIO_FN_DV_D7, 336 - GPIO_FN_DV_D8, GPIO_FN_DV_D9, GPIO_FN_DV_D10, GPIO_FN_DV_D11, 337 - GPIO_FN_DV_D12, GPIO_FN_DV_D13, GPIO_FN_DV_D14, GPIO_FN_DV_D15, 338 - GPIO_FN_DV_CLK, 339 - GPIO_FN_DV_VSYNC, 340 - GPIO_FN_DV_HSYNC, 341 - 342 - /* MEMC */ 343 - GPIO_FN_MEMC_AD0, GPIO_FN_MEMC_AD1, GPIO_FN_MEMC_AD2, 344 - GPIO_FN_MEMC_AD3, GPIO_FN_MEMC_AD4, GPIO_FN_MEMC_AD5, 345 - GPIO_FN_MEMC_AD6, GPIO_FN_MEMC_AD7, GPIO_FN_MEMC_AD8, 346 - GPIO_FN_MEMC_AD9, GPIO_FN_MEMC_AD10, GPIO_FN_MEMC_AD11, 347 - GPIO_FN_MEMC_AD12, GPIO_FN_MEMC_AD13, GPIO_FN_MEMC_AD14, 348 - GPIO_FN_MEMC_AD15, GPIO_FN_MEMC_CS0, GPIO_FN_MEMC_INT, 349 - GPIO_FN_MEMC_NWE, GPIO_FN_MEMC_NOE, 350 - 351 - GPIO_FN_MEMC_CS1, /* MSEL4CR_6_0 */ 352 - GPIO_FN_MEMC_ADV, 353 - GPIO_FN_MEMC_WAIT, 354 - GPIO_FN_MEMC_BUSCLK, 355 - 356 - GPIO_FN_MEMC_A1, /* MSEL4CR_6_1 */ 357 - GPIO_FN_MEMC_DREQ0, 358 - GPIO_FN_MEMC_DREQ1, 359 - GPIO_FN_MEMC_A0, 360 - 361 - /* MSIOF0 */ 362 - GPIO_FN_MSIOF0_SS1, GPIO_FN_MSIOF0_SS2, 363 - GPIO_FN_MSIOF0_RXD, GPIO_FN_MSIOF0_TXD, 364 - GPIO_FN_MSIOF0_MCK0, GPIO_FN_MSIOF0_MCK1, 365 - GPIO_FN_MSIOF0_RSYNC, GPIO_FN_MSIOF0_RSCK, 366 - GPIO_FN_MSIOF0_TSCK, GPIO_FN_MSIOF0_TSYNC, 367 - 368 - /* MSIOF1 */ 369 - GPIO_FN_MSIOF1_RSCK, GPIO_FN_MSIOF1_RSYNC, 370 - GPIO_FN_MSIOF1_MCK0, GPIO_FN_MSIOF1_MCK1, 371 - 372 - GPIO_FN_MSIOF1_SS2_PORT116, GPIO_FN_MSIOF1_SS1_PORT117, 373 - GPIO_FN_MSIOF1_RXD_PORT118, GPIO_FN_MSIOF1_TXD_PORT119, 374 - GPIO_FN_MSIOF1_TSYNC_PORT120, 375 - GPIO_FN_MSIOF1_TSCK_PORT121, /* MSEL4CR_10_0 */ 376 - 377 - GPIO_FN_MSIOF1_SS1_PORT67, GPIO_FN_MSIOF1_TSCK_PORT72, 378 - GPIO_FN_MSIOF1_TSYNC_PORT73, GPIO_FN_MSIOF1_TXD_PORT74, 379 - GPIO_FN_MSIOF1_RXD_PORT75, 380 - GPIO_FN_MSIOF1_SS2_PORT202, /* MSEL4CR_10_1 */ 381 - 382 - /* GPIO */ 383 - GPIO_FN_GPO0, GPIO_FN_GPI0, 384 - GPIO_FN_GPO1, GPIO_FN_GPI1, 385 - 386 - /* USB0 */ 387 - GPIO_FN_USB0_OCI, GPIO_FN_USB0_PPON, GPIO_FN_VBUS, 388 - 389 - /* USB1 */ 390 - GPIO_FN_USB1_OCI, GPIO_FN_USB1_PPON, 391 - 392 - /* BBIF1 */ 393 - GPIO_FN_BBIF1_RXD, GPIO_FN_BBIF1_TXD, GPIO_FN_BBIF1_TSYNC, 394 - GPIO_FN_BBIF1_TSCK, GPIO_FN_BBIF1_RSCK, GPIO_FN_BBIF1_RSYNC, 395 - GPIO_FN_BBIF1_FLOW, GPIO_FN_BBIF1_RX_FLOW_N, 396 - 397 - /* BBIF2 */ 398 - GPIO_FN_BBIF2_TXD2_PORT5, /* MSEL5CR_0_0 */ 399 - GPIO_FN_BBIF2_RXD2_PORT60, 400 - GPIO_FN_BBIF2_TSYNC2_PORT6, 401 - GPIO_FN_BBIF2_TSCK2_PORT59, 402 - 403 - GPIO_FN_BBIF2_RXD2_PORT90, /* MSEL5CR_0_1 */ 404 - GPIO_FN_BBIF2_TXD2_PORT183, 405 - GPIO_FN_BBIF2_TSCK2_PORT89, 406 - GPIO_FN_BBIF2_TSYNC2_PORT184, 407 - 408 - /* BSC / FLCTL / PCMCIA */ 409 - GPIO_FN_CS0, GPIO_FN_CS2, GPIO_FN_CS4, 410 - GPIO_FN_CS5B, GPIO_FN_CS6A, 411 - GPIO_FN_CS5A_PORT105, /* CS5A PORT 19/105 */ 412 - GPIO_FN_CS5A_PORT19, 413 - GPIO_FN_IOIS16, /* ? */ 414 - 415 - GPIO_FN_A0, GPIO_FN_A1, GPIO_FN_A2, GPIO_FN_A3, 416 - GPIO_FN_A4_FOE, /* share with FLCTL */ 417 - GPIO_FN_A5_FCDE, /* share with FLCTL */ 418 - GPIO_FN_A6, GPIO_FN_A7, GPIO_FN_A8, GPIO_FN_A9, 419 - GPIO_FN_A10, GPIO_FN_A11, GPIO_FN_A12, GPIO_FN_A13, 420 - GPIO_FN_A14, GPIO_FN_A15, GPIO_FN_A16, GPIO_FN_A17, 421 - GPIO_FN_A18, GPIO_FN_A19, GPIO_FN_A20, GPIO_FN_A21, 422 - GPIO_FN_A22, GPIO_FN_A23, GPIO_FN_A24, GPIO_FN_A25, 423 - GPIO_FN_A26, 424 - 425 - GPIO_FN_D0_NAF0, GPIO_FN_D1_NAF1, /* share with FLCTL */ 426 - GPIO_FN_D2_NAF2, GPIO_FN_D3_NAF3, /* share with FLCTL */ 427 - GPIO_FN_D4_NAF4, GPIO_FN_D5_NAF5, /* share with FLCTL */ 428 - GPIO_FN_D6_NAF6, GPIO_FN_D7_NAF7, /* share with FLCTL */ 429 - GPIO_FN_D8_NAF8, GPIO_FN_D9_NAF9, /* share with FLCTL */ 430 - GPIO_FN_D10_NAF10, GPIO_FN_D11_NAF11, /* share with FLCTL */ 431 - GPIO_FN_D12_NAF12, GPIO_FN_D13_NAF13, /* share with FLCTL */ 432 - GPIO_FN_D14_NAF14, GPIO_FN_D15_NAF15, /* share with FLCTL */ 433 - 434 - GPIO_FN_D16, GPIO_FN_D17, GPIO_FN_D18, GPIO_FN_D19, 435 - GPIO_FN_D20, GPIO_FN_D21, GPIO_FN_D22, GPIO_FN_D23, 436 - GPIO_FN_D24, GPIO_FN_D25, GPIO_FN_D26, GPIO_FN_D27, 437 - GPIO_FN_D28, GPIO_FN_D29, GPIO_FN_D30, GPIO_FN_D31, 438 - 439 - GPIO_FN_WE0_FWE, /* share with FLCTL */ 440 - GPIO_FN_WE1, 441 - GPIO_FN_WE2_ICIORD, /* share with PCMCIA */ 442 - GPIO_FN_WE3_ICIOWR, /* share with PCMCIA */ 443 - GPIO_FN_CKO, GPIO_FN_BS, GPIO_FN_RDWR, 444 - GPIO_FN_RD_FSC, /* share with FLCTL */ 445 - GPIO_FN_WAIT_PORT177, /* WAIT Port 90/177 */ 446 - GPIO_FN_WAIT_PORT90, 447 - 448 - GPIO_FN_FCE0, GPIO_FN_FCE1, GPIO_FN_FRB, /* FLCTL */ 449 - 450 - /* IRDA */ 451 - GPIO_FN_IRDA_FIRSEL, GPIO_FN_IRDA_IN, GPIO_FN_IRDA_OUT, 452 - 453 - /* ATAPI */ 454 - GPIO_FN_IDE_D0, GPIO_FN_IDE_D1, GPIO_FN_IDE_D2, 455 - GPIO_FN_IDE_D3, GPIO_FN_IDE_D4, GPIO_FN_IDE_D5, 456 - GPIO_FN_IDE_D6, GPIO_FN_IDE_D7, GPIO_FN_IDE_D8, 457 - GPIO_FN_IDE_D9, GPIO_FN_IDE_D10, GPIO_FN_IDE_D11, 458 - GPIO_FN_IDE_D12, GPIO_FN_IDE_D13, GPIO_FN_IDE_D14, 459 - GPIO_FN_IDE_D15, GPIO_FN_IDE_A0, GPIO_FN_IDE_A1, 460 - GPIO_FN_IDE_A2, GPIO_FN_IDE_CS0, GPIO_FN_IDE_CS1, 461 - GPIO_FN_IDE_IOWR, GPIO_FN_IDE_IORD, GPIO_FN_IDE_IORDY, 462 - GPIO_FN_IDE_INT, GPIO_FN_IDE_RST, GPIO_FN_IDE_DIRECTION, 463 - GPIO_FN_IDE_EXBUF_ENB, GPIO_FN_IDE_IODACK, GPIO_FN_IDE_IODREQ, 464 - 465 - /* RMII */ 466 - GPIO_FN_RMII_CRS_DV, GPIO_FN_RMII_RX_ER, GPIO_FN_RMII_RXD0, 467 - GPIO_FN_RMII_RXD1, GPIO_FN_RMII_TX_EN, GPIO_FN_RMII_TXD0, 468 - GPIO_FN_RMII_MDC, GPIO_FN_RMII_TXD1, GPIO_FN_RMII_MDIO, 469 - GPIO_FN_RMII_REF50CK, /* for RMII */ 470 - GPIO_FN_RMII_REF125CK, /* for GMII */ 471 - 472 - /* GEther */ 473 - GPIO_FN_ET_TX_CLK, GPIO_FN_ET_TX_EN, GPIO_FN_ET_ETXD0, 474 - GPIO_FN_ET_ETXD1, GPIO_FN_ET_ETXD2, GPIO_FN_ET_ETXD3, 475 - GPIO_FN_ET_ETXD4, GPIO_FN_ET_ETXD5, /* for GEther */ 476 - GPIO_FN_ET_ETXD6, GPIO_FN_ET_ETXD7, /* for GEther */ 477 - GPIO_FN_ET_COL, GPIO_FN_ET_TX_ER, 478 - GPIO_FN_ET_RX_CLK, GPIO_FN_ET_RX_DV, 479 - GPIO_FN_ET_ERXD0, GPIO_FN_ET_ERXD1, 480 - GPIO_FN_ET_ERXD2, GPIO_FN_ET_ERXD3, 481 - GPIO_FN_ET_ERXD4, GPIO_FN_ET_ERXD5, /* for GEther */ 482 - GPIO_FN_ET_ERXD6, GPIO_FN_ET_ERXD7, /* for GEther */ 483 - GPIO_FN_ET_RX_ER, GPIO_FN_ET_CRS, 484 - GPIO_FN_ET_MDC, GPIO_FN_ET_MDIO, 485 - GPIO_FN_ET_LINK, GPIO_FN_ET_PHY_INT, 486 - GPIO_FN_ET_WOL, GPIO_FN_ET_GTX_CLK, 487 - 488 - /* DMA0 */ 489 - GPIO_FN_DREQ0, GPIO_FN_DACK0, 490 - 491 - /* DMA1 */ 492 - GPIO_FN_DREQ1, GPIO_FN_DACK1, 493 - 494 - /* SYSC */ 495 - GPIO_FN_RESETOUTS, 496 - GPIO_FN_RESETP_PULLUP, 497 - GPIO_FN_RESETP_PLAIN, 498 - 499 - /* HDMI */ 500 - GPIO_FN_HDMI_HPD, 501 - GPIO_FN_HDMI_CEC, 502 - 503 - /* SDENC */ 504 - GPIO_FN_SDENC_CPG, 505 - GPIO_FN_SDENC_DV_CLKI, 506 - 507 - /* IRREM */ 508 - GPIO_FN_IROUT, 509 - 510 - /* DEBUG */ 511 - GPIO_FN_EDEBGREQ_PULLDOWN, 512 - GPIO_FN_EDEBGREQ_PULLUP, 513 - 514 - GPIO_FN_TRACEAUD_FROM_VIO, 515 - GPIO_FN_TRACEAUD_FROM_LCDC0, 516 - GPIO_FN_TRACEAUD_FROM_MEMC, 517 - }; 518 - 519 31 /* DMA slave IDs */ 520 32 enum { 521 33 SHDMA_SLAVE_INVALID,
+1
arch/arm/mach-shmobile/include/mach/r8a7778.h
··· 28 28 extern void r8a7778_init_irq_dt(void); 29 29 extern void r8a7778_clock_init(void); 30 30 extern void r8a7778_init_irq_extpin(int irlm); 31 + extern void r8a7778_pinmux_init(void); 31 32 32 33 #endif /* __ASM_R8A7778_H__ */
-391
arch/arm/mach-shmobile/include/mach/sh7372.h
··· 15 15 #include <linux/pm_domain.h> 16 16 #include <mach/pm-rmobile.h> 17 17 18 - /* 19 - * Pin Function Controller: 20 - * GPIO_FN_xx - GPIO used to select pin function 21 - * GPIO_PORTxx - GPIO mapped to real I/O pin on CPU 22 - */ 23 - enum { 24 - /* PORT */ 25 - GPIO_PORT0, GPIO_PORT1, GPIO_PORT2, GPIO_PORT3, GPIO_PORT4, 26 - GPIO_PORT5, GPIO_PORT6, GPIO_PORT7, GPIO_PORT8, GPIO_PORT9, 27 - 28 - GPIO_PORT10, GPIO_PORT11, GPIO_PORT12, GPIO_PORT13, GPIO_PORT14, 29 - GPIO_PORT15, GPIO_PORT16, GPIO_PORT17, GPIO_PORT18, GPIO_PORT19, 30 - 31 - GPIO_PORT20, GPIO_PORT21, GPIO_PORT22, GPIO_PORT23, GPIO_PORT24, 32 - GPIO_PORT25, GPIO_PORT26, GPIO_PORT27, GPIO_PORT28, GPIO_PORT29, 33 - 34 - GPIO_PORT30, GPIO_PORT31, GPIO_PORT32, GPIO_PORT33, GPIO_PORT34, 35 - GPIO_PORT35, GPIO_PORT36, GPIO_PORT37, GPIO_PORT38, GPIO_PORT39, 36 - 37 - GPIO_PORT40, GPIO_PORT41, GPIO_PORT42, GPIO_PORT43, GPIO_PORT44, 38 - GPIO_PORT45, GPIO_PORT46, GPIO_PORT47, GPIO_PORT48, GPIO_PORT49, 39 - 40 - GPIO_PORT50, GPIO_PORT51, GPIO_PORT52, GPIO_PORT53, GPIO_PORT54, 41 - GPIO_PORT55, GPIO_PORT56, GPIO_PORT57, GPIO_PORT58, GPIO_PORT59, 42 - 43 - GPIO_PORT60, GPIO_PORT61, GPIO_PORT62, GPIO_PORT63, GPIO_PORT64, 44 - GPIO_PORT65, GPIO_PORT66, GPIO_PORT67, GPIO_PORT68, GPIO_PORT69, 45 - 46 - GPIO_PORT70, GPIO_PORT71, GPIO_PORT72, GPIO_PORT73, GPIO_PORT74, 47 - GPIO_PORT75, GPIO_PORT76, GPIO_PORT77, GPIO_PORT78, GPIO_PORT79, 48 - 49 - GPIO_PORT80, GPIO_PORT81, GPIO_PORT82, GPIO_PORT83, GPIO_PORT84, 50 - GPIO_PORT85, GPIO_PORT86, GPIO_PORT87, GPIO_PORT88, GPIO_PORT89, 51 - 52 - GPIO_PORT90, GPIO_PORT91, GPIO_PORT92, GPIO_PORT93, GPIO_PORT94, 53 - GPIO_PORT95, GPIO_PORT96, GPIO_PORT97, GPIO_PORT98, GPIO_PORT99, 54 - 55 - GPIO_PORT100, GPIO_PORT101, GPIO_PORT102, GPIO_PORT103, GPIO_PORT104, 56 - GPIO_PORT105, GPIO_PORT106, GPIO_PORT107, GPIO_PORT108, GPIO_PORT109, 57 - 58 - GPIO_PORT110, GPIO_PORT111, GPIO_PORT112, GPIO_PORT113, GPIO_PORT114, 59 - GPIO_PORT115, GPIO_PORT116, GPIO_PORT117, GPIO_PORT118, GPIO_PORT119, 60 - 61 - GPIO_PORT120, GPIO_PORT121, GPIO_PORT122, GPIO_PORT123, GPIO_PORT124, 62 - GPIO_PORT125, GPIO_PORT126, GPIO_PORT127, GPIO_PORT128, GPIO_PORT129, 63 - 64 - GPIO_PORT130, GPIO_PORT131, GPIO_PORT132, GPIO_PORT133, GPIO_PORT134, 65 - GPIO_PORT135, GPIO_PORT136, GPIO_PORT137, GPIO_PORT138, GPIO_PORT139, 66 - 67 - GPIO_PORT140, GPIO_PORT141, GPIO_PORT142, GPIO_PORT143, GPIO_PORT144, 68 - GPIO_PORT145, GPIO_PORT146, GPIO_PORT147, GPIO_PORT148, GPIO_PORT149, 69 - 70 - GPIO_PORT150, GPIO_PORT151, GPIO_PORT152, GPIO_PORT153, GPIO_PORT154, 71 - GPIO_PORT155, GPIO_PORT156, GPIO_PORT157, GPIO_PORT158, GPIO_PORT159, 72 - 73 - GPIO_PORT160, GPIO_PORT161, GPIO_PORT162, GPIO_PORT163, GPIO_PORT164, 74 - GPIO_PORT165, GPIO_PORT166, GPIO_PORT167, GPIO_PORT168, GPIO_PORT169, 75 - 76 - GPIO_PORT170, GPIO_PORT171, GPIO_PORT172, GPIO_PORT173, GPIO_PORT174, 77 - GPIO_PORT175, GPIO_PORT176, GPIO_PORT177, GPIO_PORT178, GPIO_PORT179, 78 - 79 - GPIO_PORT180, GPIO_PORT181, GPIO_PORT182, GPIO_PORT183, GPIO_PORT184, 80 - GPIO_PORT185, GPIO_PORT186, GPIO_PORT187, GPIO_PORT188, GPIO_PORT189, 81 - 82 - GPIO_PORT190, 83 - 84 - /* IRQ */ 85 - GPIO_FN_IRQ0_6, /* PORT 6 */ 86 - GPIO_FN_IRQ0_162, /* PORT 162 */ 87 - GPIO_FN_IRQ1, /* PORT 12 */ 88 - GPIO_FN_IRQ2_4, /* PORT 4 */ 89 - GPIO_FN_IRQ2_5, /* PORT 5 */ 90 - GPIO_FN_IRQ3_8, /* PORT 8 */ 91 - GPIO_FN_IRQ3_16, /* PORT 16 */ 92 - GPIO_FN_IRQ4_17, /* PORT 17 */ 93 - GPIO_FN_IRQ4_163, /* PORT 163 */ 94 - GPIO_FN_IRQ5, /* PORT 18 */ 95 - GPIO_FN_IRQ6_39, /* PORT 39 */ 96 - GPIO_FN_IRQ6_164, /* PORT 164 */ 97 - GPIO_FN_IRQ7_40, /* PORT 40 */ 98 - GPIO_FN_IRQ7_167, /* PORT 167 */ 99 - GPIO_FN_IRQ8_41, /* PORT 41 */ 100 - GPIO_FN_IRQ8_168, /* PORT 168 */ 101 - GPIO_FN_IRQ9_42, /* PORT 42 */ 102 - GPIO_FN_IRQ9_169, /* PORT 169 */ 103 - GPIO_FN_IRQ10, /* PORT 65 */ 104 - GPIO_FN_IRQ11, /* PORT 67 */ 105 - GPIO_FN_IRQ12_80, /* PORT 80 */ 106 - GPIO_FN_IRQ12_137, /* PORT 137 */ 107 - GPIO_FN_IRQ13_81, /* PORT 81 */ 108 - GPIO_FN_IRQ13_145, /* PORT 145 */ 109 - GPIO_FN_IRQ14_82, /* PORT 82 */ 110 - GPIO_FN_IRQ14_146, /* PORT 146 */ 111 - GPIO_FN_IRQ15_83, /* PORT 83 */ 112 - GPIO_FN_IRQ15_147, /* PORT 147 */ 113 - GPIO_FN_IRQ16_84, /* PORT 84 */ 114 - GPIO_FN_IRQ16_170, /* PORT 170 */ 115 - GPIO_FN_IRQ17, /* PORT 85 */ 116 - GPIO_FN_IRQ18, /* PORT 86 */ 117 - GPIO_FN_IRQ19, /* PORT 87 */ 118 - GPIO_FN_IRQ20, /* PORT 92 */ 119 - GPIO_FN_IRQ21, /* PORT 93 */ 120 - GPIO_FN_IRQ22, /* PORT 94 */ 121 - GPIO_FN_IRQ23, /* PORT 95 */ 122 - GPIO_FN_IRQ24, /* PORT 112 */ 123 - GPIO_FN_IRQ25, /* PORT 119 */ 124 - GPIO_FN_IRQ26_121, /* PORT 121 */ 125 - GPIO_FN_IRQ26_172, /* PORT 172 */ 126 - GPIO_FN_IRQ27_122, /* PORT 122 */ 127 - GPIO_FN_IRQ27_180, /* PORT 180 */ 128 - GPIO_FN_IRQ28_123, /* PORT 123 */ 129 - GPIO_FN_IRQ28_181, /* PORT 181 */ 130 - GPIO_FN_IRQ29_129, /* PORT 129 */ 131 - GPIO_FN_IRQ29_182, /* PORT 182 */ 132 - GPIO_FN_IRQ30_130, /* PORT 130 */ 133 - GPIO_FN_IRQ30_183, /* PORT 183 */ 134 - GPIO_FN_IRQ31_138, /* PORT 138 */ 135 - GPIO_FN_IRQ31_184, /* PORT 184 */ 136 - 137 - /* 138 - * MSIOF0 (PORT 36, 37, 38, 39 139 - * 40, 41, 42, 43, 44, 45) 140 - */ 141 - GPIO_FN_MSIOF0_TSYNC, GPIO_FN_MSIOF0_TSCK, 142 - GPIO_FN_MSIOF0_RXD, GPIO_FN_MSIOF0_RSCK, 143 - GPIO_FN_MSIOF0_RSYNC, GPIO_FN_MSIOF0_MCK0, 144 - GPIO_FN_MSIOF0_MCK1, GPIO_FN_MSIOF0_SS1, 145 - GPIO_FN_MSIOF0_SS2, GPIO_FN_MSIOF0_TXD, 146 - 147 - /* 148 - * MSIOF1 (PORT 39, 40, 41, 42, 43, 44 149 - * 84, 85, 86, 87, 88, 89, 90, 91, 92, 93) 150 - */ 151 - GPIO_FN_MSIOF1_TSCK_39, GPIO_FN_MSIOF1_TSYNC_40, 152 - GPIO_FN_MSIOF1_TSCK_88, GPIO_FN_MSIOF1_TSYNC_89, 153 - GPIO_FN_MSIOF1_TXD_41, GPIO_FN_MSIOF1_RXD_42, 154 - GPIO_FN_MSIOF1_TXD_90, GPIO_FN_MSIOF1_RXD_91, 155 - GPIO_FN_MSIOF1_SS1_43, GPIO_FN_MSIOF1_SS2_44, 156 - GPIO_FN_MSIOF1_SS1_92, GPIO_FN_MSIOF1_SS2_93, 157 - GPIO_FN_MSIOF1_RSCK, GPIO_FN_MSIOF1_RSYNC, 158 - GPIO_FN_MSIOF1_MCK0, GPIO_FN_MSIOF1_MCK1, 159 - 160 - /* 161 - * MSIOF2 (PORT 134, 135, 136, 137, 138, 139 162 - * 148, 149, 150, 151) 163 - */ 164 - GPIO_FN_MSIOF2_RSCK, GPIO_FN_MSIOF2_RSYNC, 165 - GPIO_FN_MSIOF2_MCK0, GPIO_FN_MSIOF2_MCK1, 166 - GPIO_FN_MSIOF2_SS1, GPIO_FN_MSIOF2_SS2, 167 - GPIO_FN_MSIOF2_TSYNC, GPIO_FN_MSIOF2_TSCK, 168 - GPIO_FN_MSIOF2_RXD, GPIO_FN_MSIOF2_TXD, 169 - 170 - /* MSIOF3 (PORT 76, 77, 78, 79, 80, 81, 82, 83) */ 171 - GPIO_FN_BBIF1_RXD, GPIO_FN_BBIF1_TSYNC, 172 - GPIO_FN_BBIF1_TSCK, GPIO_FN_BBIF1_TXD, 173 - GPIO_FN_BBIF1_RSCK, GPIO_FN_BBIF1_RSYNC, 174 - GPIO_FN_BBIF1_FLOW, GPIO_FN_BB_RX_FLOW_N, 175 - 176 - /* MSIOF4 (PORT 0, 1, 2, 3) */ 177 - GPIO_FN_BBIF2_TSCK1, GPIO_FN_BBIF2_TSYNC1, 178 - GPIO_FN_BBIF2_TXD1, GPIO_FN_BBIF2_RXD, 179 - 180 - /* FSI (PORT 4, 5, 6, 7, 8, 9, 10, 11, 15) */ 181 - GPIO_FN_FSIACK, GPIO_FN_FSIBCK, 182 - GPIO_FN_FSIAILR, GPIO_FN_FSIAIBT, 183 - GPIO_FN_FSIAISLD, GPIO_FN_FSIAOMC, 184 - GPIO_FN_FSIAOLR, GPIO_FN_FSIAOBT, 185 - GPIO_FN_FSIAOSLD, GPIO_FN_FSIASPDIF_11, 186 - GPIO_FN_FSIASPDIF_15, 187 - 188 - /* FMSI (PORT 12, 13, 14, 15, 16, 17, 18, 65) */ 189 - GPIO_FN_FMSOCK, GPIO_FN_FMSOOLR, 190 - GPIO_FN_FMSIOLR, GPIO_FN_FMSOOBT, 191 - GPIO_FN_FMSIOBT, GPIO_FN_FMSOSLD, 192 - GPIO_FN_FMSOILR, GPIO_FN_FMSIILR, 193 - GPIO_FN_FMSOIBT, GPIO_FN_FMSIIBT, 194 - GPIO_FN_FMSISLD, GPIO_FN_FMSICK, 195 - 196 - /* SCIFA0 (PORT 152, 153, 156, 157, 158) */ 197 - GPIO_FN_SCIFA0_TXD, GPIO_FN_SCIFA0_RXD, 198 - GPIO_FN_SCIFA0_SCK, GPIO_FN_SCIFA0_RTS, 199 - GPIO_FN_SCIFA0_CTS, 200 - 201 - /* SCIFA1 (PORT 154, 155, 159, 160, 161) */ 202 - GPIO_FN_SCIFA1_TXD, GPIO_FN_SCIFA1_RXD, 203 - GPIO_FN_SCIFA1_SCK, GPIO_FN_SCIFA1_RTS, 204 - GPIO_FN_SCIFA1_CTS, 205 - 206 - /* SCIFA2 (PORT 94, 95, 96, 97, 98) */ 207 - GPIO_FN_SCIFA2_CTS1, GPIO_FN_SCIFA2_RTS1, 208 - GPIO_FN_SCIFA2_TXD1, GPIO_FN_SCIFA2_RXD1, 209 - GPIO_FN_SCIFA2_SCK1, 210 - 211 - /* SCIFA3 (PORT 43, 44, 212 - 140, 141, 142, 143, 144) */ 213 - GPIO_FN_SCIFA3_CTS_43, GPIO_FN_SCIFA3_CTS_140, 214 - GPIO_FN_SCIFA3_RTS_44, GPIO_FN_SCIFA3_RTS_141, 215 - GPIO_FN_SCIFA3_SCK, GPIO_FN_SCIFA3_TXD, 216 - GPIO_FN_SCIFA3_RXD, 217 - 218 - /* SCIFA4 (PORT 5, 6) */ 219 - GPIO_FN_SCIFA4_RXD, GPIO_FN_SCIFA4_TXD, 220 - 221 - /* SCIFA5 (PORT 8, 12) */ 222 - GPIO_FN_SCIFA5_RXD, GPIO_FN_SCIFA5_TXD, 223 - 224 - /* SCIFB (PORT 162, 163, 164, 165, 166) */ 225 - GPIO_FN_SCIFB_SCK, GPIO_FN_SCIFB_RTS, 226 - GPIO_FN_SCIFB_CTS, GPIO_FN_SCIFB_TXD, 227 - GPIO_FN_SCIFB_RXD, 228 - 229 - /* 230 - * CEU (PORT 16, 17, 231 - * 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 232 - * 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 233 - * 120) 234 - */ 235 - GPIO_FN_VIO_HD, GPIO_FN_VIO_CKO1, GPIO_FN_VIO_CKO2, 236 - GPIO_FN_VIO_VD, GPIO_FN_VIO_CLK, GPIO_FN_VIO_FIELD, 237 - GPIO_FN_VIO_CKO, 238 - GPIO_FN_VIO_D0, GPIO_FN_VIO_D1, GPIO_FN_VIO_D2, 239 - GPIO_FN_VIO_D3, GPIO_FN_VIO_D4, GPIO_FN_VIO_D5, 240 - GPIO_FN_VIO_D6, GPIO_FN_VIO_D7, GPIO_FN_VIO_D8, 241 - GPIO_FN_VIO_D9, GPIO_FN_VIO_D10, GPIO_FN_VIO_D11, 242 - GPIO_FN_VIO_D12, GPIO_FN_VIO_D13, GPIO_FN_VIO_D14, 243 - GPIO_FN_VIO_D15, 244 - 245 - /* USB0 (PORT 113, 114, 115, 116, 117, 167) */ 246 - GPIO_FN_IDIN_0, GPIO_FN_EXTLP_0, 247 - GPIO_FN_OVCN2_0, GPIO_FN_PWEN_0, 248 - GPIO_FN_OVCN_0, GPIO_FN_VBUS0_0, 249 - 250 - /* USB1 (PORT 18, 113, 114, 115, 116, 117, 138, 162, 168) */ 251 - GPIO_FN_IDIN_1_18, GPIO_FN_IDIN_1_113, 252 - GPIO_FN_PWEN_1_115, GPIO_FN_PWEN_1_138, 253 - GPIO_FN_OVCN_1_114, GPIO_FN_OVCN_1_162, 254 - GPIO_FN_EXTLP_1, GPIO_FN_OVCN2_1, 255 - GPIO_FN_VBUS0_1, 256 - 257 - /* GPIO (PORT 41, 42, 43, 44) */ 258 - GPIO_FN_GPI0, GPIO_FN_GPI1, GPIO_FN_GPO0, GPIO_FN_GPO1, 259 - 260 - /* 261 - * BSC (PORT 19, 262 - * 20, 21, 22, 25, 26, 27, 28, 29, 263 - * 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 264 - * 40, 41, 42, 43, 44, 45, 265 - * 62, 63, 64, 65, 66, 67, 266 - * 71, 72, 74, 75) 267 - */ 268 - GPIO_FN_BS, GPIO_FN_WE1, 269 - GPIO_FN_CKO, GPIO_FN_WAIT, GPIO_FN_RDWR, 270 - 271 - GPIO_FN_A0, GPIO_FN_A1, GPIO_FN_A2, GPIO_FN_A3, 272 - GPIO_FN_A6, GPIO_FN_A7, GPIO_FN_A8, GPIO_FN_A9, 273 - GPIO_FN_A10, GPIO_FN_A11, GPIO_FN_A12, GPIO_FN_A13, 274 - GPIO_FN_A14, GPIO_FN_A15, GPIO_FN_A16, GPIO_FN_A17, 275 - GPIO_FN_A18, GPIO_FN_A19, GPIO_FN_A20, GPIO_FN_A21, 276 - GPIO_FN_A22, GPIO_FN_A23, GPIO_FN_A24, GPIO_FN_A25, 277 - GPIO_FN_A26, 278 - 279 - GPIO_FN_CS0, GPIO_FN_CS2, GPIO_FN_CS4, 280 - GPIO_FN_CS5A, GPIO_FN_CS5B, GPIO_FN_CS6A, 281 - 282 - /* 283 - * BSC/FLCTL (PORT 23, 24, 284 - * 46, 47, 48, 49, 285 - * 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 286 - * 60, 61, 69, 70) 287 - */ 288 - GPIO_FN_RD_FSC, GPIO_FN_WE0_FWE, 289 - GPIO_FN_A4_FOE, GPIO_FN_A5_FCDE, 290 - GPIO_FN_D0_NAF0, GPIO_FN_D1_NAF1, GPIO_FN_D2_NAF2, 291 - GPIO_FN_D3_NAF3, GPIO_FN_D4_NAF4, GPIO_FN_D5_NAF5, 292 - GPIO_FN_D6_NAF6, GPIO_FN_D7_NAF7, GPIO_FN_D8_NAF8, 293 - GPIO_FN_D9_NAF9, GPIO_FN_D10_NAF10, GPIO_FN_D11_NAF11, 294 - GPIO_FN_D12_NAF12, GPIO_FN_D13_NAF13, GPIO_FN_D14_NAF14, 295 - GPIO_FN_D15_NAF15, 296 - 297 - /* SPU2 (PORT 65) */ 298 - GPIO_FN_VINT_I, 299 - 300 - /* FLCTL (PORT 66, 68, 73) */ 301 - GPIO_FN_FCE1, GPIO_FN_FCE0, GPIO_FN_FRB, 302 - 303 - /* HSI (PORT 76, 77, 78, 79, 80, 81, 82, 83) */ 304 - GPIO_FN_GP_RX_FLAG, GPIO_FN_GP_RX_DATA, GPIO_FN_GP_TX_READY, 305 - GPIO_FN_GP_RX_WAKE, GPIO_FN_MP_TX_FLAG, GPIO_FN_MP_TX_DATA, 306 - GPIO_FN_MP_RX_READY, GPIO_FN_MP_TX_WAKE, 307 - 308 - /* 309 - * MFI (PORT 76, 77, 78, 79, 310 - * 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 311 - * 90, 91, 92, 93, 94, 95, 96, 97, 98, 99) 312 - */ 313 - GPIO_FN_MFIv6, /* see MSEL4CR 6 */ 314 - GPIO_FN_MFIv4, /* see MSEL4CR 6 */ 315 - 316 - GPIO_FN_MEMC_CS0, GPIO_FN_MEMC_BUSCLK_MEMC_A0, 317 - GPIO_FN_MEMC_CS1_MEMC_A1, GPIO_FN_MEMC_ADV_MEMC_DREQ0, 318 - GPIO_FN_MEMC_WAIT_MEMC_DREQ1, GPIO_FN_MEMC_NOE, 319 - GPIO_FN_MEMC_NWE, GPIO_FN_MEMC_INT, 320 - 321 - GPIO_FN_MEMC_AD0, GPIO_FN_MEMC_AD1, GPIO_FN_MEMC_AD2, 322 - GPIO_FN_MEMC_AD3, GPIO_FN_MEMC_AD4, GPIO_FN_MEMC_AD5, 323 - GPIO_FN_MEMC_AD6, GPIO_FN_MEMC_AD7, GPIO_FN_MEMC_AD8, 324 - GPIO_FN_MEMC_AD9, GPIO_FN_MEMC_AD10, GPIO_FN_MEMC_AD11, 325 - GPIO_FN_MEMC_AD12, GPIO_FN_MEMC_AD13, GPIO_FN_MEMC_AD14, 326 - GPIO_FN_MEMC_AD15, 327 - 328 - /* SIM (PORT 94, 95, 98) */ 329 - GPIO_FN_SIM_RST, GPIO_FN_SIM_CLK, GPIO_FN_SIM_D, 330 - 331 - /* TPU (PORT 93, 99, 112, 160, 161) */ 332 - GPIO_FN_TPU0TO0, GPIO_FN_TPU0TO1, 333 - GPIO_FN_TPU0TO2_93, GPIO_FN_TPU0TO2_99, 334 - GPIO_FN_TPU0TO3, 335 - 336 - /* I2C2 (PORT 110, 111) */ 337 - GPIO_FN_I2C_SCL2, GPIO_FN_I2C_SDA2, 338 - 339 - /* I2C3(1) (PORT 114, 115) */ 340 - GPIO_FN_I2C_SCL3, GPIO_FN_I2C_SDA3, 341 - 342 - /* I2C3(2) (PORT 137, 145) */ 343 - GPIO_FN_I2C_SCL3S, GPIO_FN_I2C_SDA3S, 344 - 345 - /* I2C4(2) (PORT 116, 117) */ 346 - GPIO_FN_I2C_SCL4, GPIO_FN_I2C_SDA4, 347 - 348 - /* I2C4(2) (PORT 146, 147) */ 349 - GPIO_FN_I2C_SCL4S, GPIO_FN_I2C_SDA4S, 350 - 351 - /* 352 - * KEYSC (PORT 121, 122, 123, 124, 125, 126, 127, 128, 129, 353 - * 130, 131, 132, 133, 134, 135, 136) 354 - */ 355 - GPIO_FN_KEYOUT0, GPIO_FN_KEYIN0_121, GPIO_FN_KEYIN0_136, 356 - GPIO_FN_KEYOUT1, GPIO_FN_KEYIN1_122, GPIO_FN_KEYIN1_135, 357 - GPIO_FN_KEYOUT2, GPIO_FN_KEYIN2_123, GPIO_FN_KEYIN2_134, 358 - GPIO_FN_KEYOUT3, GPIO_FN_KEYIN3_124, GPIO_FN_KEYIN3_133, 359 - GPIO_FN_KEYOUT4, GPIO_FN_KEYIN4, 360 - GPIO_FN_KEYOUT5, GPIO_FN_KEYIN5, 361 - GPIO_FN_KEYOUT6, GPIO_FN_KEYIN6, 362 - GPIO_FN_KEYOUT7, GPIO_FN_KEYIN7, 363 - 364 - /* 365 - * LCDC (PORT 121, 122, 123, 124, 125, 126, 127, 128, 129, 366 - * 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 367 - * 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 368 - * 150, 151) 369 - */ 370 - GPIO_FN_LCDC0_SELECT, /* LCDC 0 */ 371 - GPIO_FN_LCDC1_SELECT, /* LCDC 1 */ 372 - GPIO_FN_LCDHSYN, GPIO_FN_LCDCS, GPIO_FN_LCDVSYN, 373 - GPIO_FN_LCDDCK, GPIO_FN_LCDWR, GPIO_FN_LCDRD, 374 - GPIO_FN_LCDDISP, GPIO_FN_LCDRS, GPIO_FN_LCDLCLK, 375 - GPIO_FN_LCDDON, 376 - 377 - GPIO_FN_LCDD0, GPIO_FN_LCDD1, GPIO_FN_LCDD2, GPIO_FN_LCDD3, 378 - GPIO_FN_LCDD4, GPIO_FN_LCDD5, GPIO_FN_LCDD6, GPIO_FN_LCDD7, 379 - GPIO_FN_LCDD8, GPIO_FN_LCDD9, GPIO_FN_LCDD10, GPIO_FN_LCDD11, 380 - GPIO_FN_LCDD12, GPIO_FN_LCDD13, GPIO_FN_LCDD14, GPIO_FN_LCDD15, 381 - GPIO_FN_LCDD16, GPIO_FN_LCDD17, GPIO_FN_LCDD18, GPIO_FN_LCDD19, 382 - GPIO_FN_LCDD20, GPIO_FN_LCDD21, GPIO_FN_LCDD22, GPIO_FN_LCDD23, 383 - 384 - /* IRDA (PORT 139, 140, 141, 142) */ 385 - GPIO_FN_IRDA_OUT, GPIO_FN_IRDA_IN, GPIO_FN_IRDA_FIRSEL, 386 - GPIO_FN_IROUT_139, GPIO_FN_IROUT_140, 387 - 388 - /* TSIF1 (PORT 156, 157, 158, 159) */ 389 - GPIO_FN_TS0_1SELECT, /* TSIF0 - 1 select */ 390 - GPIO_FN_TS0_2SELECT, /* TSIF0 - 2 select */ 391 - GPIO_FN_TS1_1SELECT, /* TSIF1 - 1 select */ 392 - GPIO_FN_TS1_2SELECT, /* TSIF1 - 2 select */ 393 - 394 - GPIO_FN_TS_SPSYNC1, GPIO_FN_TS_SDAT1, 395 - GPIO_FN_TS_SDEN1, GPIO_FN_TS_SCK1, 396 - 397 - /* TSIF2 (PORT 137, 145, 146, 147) */ 398 - GPIO_FN_TS_SPSYNC2, GPIO_FN_TS_SDAT2, 399 - GPIO_FN_TS_SDEN2, GPIO_FN_TS_SCK2, 400 - 401 - /* HDMI (PORT 169, 170) */ 402 - GPIO_FN_HDMI_HPD, GPIO_FN_HDMI_CEC, 403 - 404 - /* SDENC see MSEL4CR 19 */ 405 - GPIO_FN_SDENC_CPG, 406 - GPIO_FN_SDENC_DV_CLKI, 407 - }; 408 - 409 18 /* DMA slave IDs */ 410 19 enum { 411 20 SHDMA_SLAVE_INVALID,
+5 -19
arch/arm/mach-shmobile/setup-r8a7740.c
··· 70 70 } 71 71 72 72 /* PFC */ 73 - static struct resource r8a7740_pfc_resources[] = { 74 - [0] = { 75 - .start = 0xe6050000, 76 - .end = 0xe6057fff, 77 - .flags = IORESOURCE_MEM, 78 - }, 79 - [1] = { 80 - .start = 0xe605800c, 81 - .end = 0xe605802b, 82 - .flags = IORESOURCE_MEM, 83 - } 84 - }; 85 - 86 - static struct platform_device r8a7740_pfc_device = { 87 - .name = "pfc-r8a7740", 88 - .id = -1, 89 - .resource = r8a7740_pfc_resources, 90 - .num_resources = ARRAY_SIZE(r8a7740_pfc_resources), 73 + static const struct resource pfc_resources[] = { 74 + DEFINE_RES_MEM(0xe6050000, 0x8000), 75 + DEFINE_RES_MEM(0xe605800c, 0x0020), 91 76 }; 92 77 93 78 void __init r8a7740_pinmux_init(void) 94 79 { 95 - platform_device_register(&r8a7740_pfc_device); 80 + platform_device_register_simple("pfc-r8a7740", -1, pfc_resources, 81 + ARRAY_SIZE(pfc_resources)); 96 82 } 97 83 98 84 static struct renesas_intc_irqpin_config irqpin0_platform_data = {
+47
arch/arm/mach-shmobile/setup-r8a7778.c
··· 24 24 #include <linux/irqchip/arm-gic.h> 25 25 #include <linux/of.h> 26 26 #include <linux/of_platform.h> 27 + #include <linux/platform_data/gpio-rcar.h> 27 28 #include <linux/platform_data/irq-renesas-intc-irqpin.h> 28 29 #include <linux/platform_device.h> 29 30 #include <linux/irqchip.h> ··· 94 93 ARRAY_SIZE(sh_tmu##idx##_resources), \ 95 94 &sh_tmu##idx##_platform_data, \ 96 95 sizeof(sh_tmu##idx##_platform_data)) 96 + 97 + /* PFC/GPIO */ 98 + static struct resource pfc_resources[] = { 99 + DEFINE_RES_MEM(0xfffc0000, 0x118), 100 + }; 101 + 102 + #define R8A7778_GPIO(idx) \ 103 + static struct resource r8a7778_gpio##idx##_resources[] = { \ 104 + DEFINE_RES_MEM(0xffc40000 + 0x1000 * (idx), 0x30), \ 105 + DEFINE_RES_IRQ(gic_iid(0x87)), \ 106 + }; \ 107 + \ 108 + static struct gpio_rcar_config r8a7778_gpio##idx##_platform_data = { \ 109 + .gpio_base = 32 * (idx), \ 110 + .irq_base = GPIO_IRQ_BASE(idx), \ 111 + .number_of_pins = 32, \ 112 + .pctl_name = "pfc-r8a7778", \ 113 + } 114 + 115 + R8A7778_GPIO(0); 116 + R8A7778_GPIO(1); 117 + R8A7778_GPIO(2); 118 + R8A7778_GPIO(3); 119 + R8A7778_GPIO(4); 120 + 121 + #define r8a7778_register_gpio(idx) \ 122 + platform_device_register_resndata( \ 123 + &platform_bus, "gpio_rcar", idx, \ 124 + r8a7778_gpio##idx##_resources, \ 125 + ARRAY_SIZE(r8a7778_gpio##idx##_resources), \ 126 + &r8a7778_gpio##idx##_platform_data, \ 127 + sizeof(r8a7778_gpio##idx##_platform_data)) 128 + 129 + void __init r8a7778_pinmux_init(void) 130 + { 131 + platform_device_register_simple( 132 + "pfc-r8a7778", -1, 133 + pfc_resources, 134 + ARRAY_SIZE(pfc_resources)); 135 + 136 + r8a7778_register_gpio(0); 137 + r8a7778_register_gpio(1); 138 + r8a7778_register_gpio(2); 139 + r8a7778_register_gpio(3); 140 + r8a7778_register_gpio(4); 141 + } 97 142 98 143 void __init r8a7778_add_standard_devices(void) 99 144 {
+3 -14
arch/arm/mach-shmobile/setup-r8a7779.c
··· 65 65 } 66 66 67 67 static struct resource r8a7779_pfc_resources[] = { 68 - [0] = { 69 - .start = 0xfffc0000, 70 - .end = 0xfffc023b, 71 - .flags = IORESOURCE_MEM, 72 - }, 68 + DEFINE_RES_MEM(0xfffc0000, 0x023c), 73 69 }; 74 70 75 71 static struct platform_device r8a7779_pfc_device = { ··· 77 81 78 82 #define R8A7779_GPIO(idx, npins) \ 79 83 static struct resource r8a7779_gpio##idx##_resources[] = { \ 80 - [0] = { \ 81 - .start = 0xffc40000 + 0x1000 * (idx), \ 82 - .end = 0xffc4002b + 0x1000 * (idx), \ 83 - .flags = IORESOURCE_MEM, \ 84 - }, \ 85 - [1] = { \ 86 - .start = gic_iid(0xad + (idx)), \ 87 - .flags = IORESOURCE_IRQ, \ 88 - } \ 84 + DEFINE_RES_MEM(0xffc40000 + (0x1000 * (idx)), 0x002c), \ 85 + DEFINE_RES_IRQ(gic_iid(0xad + (idx))), \ 89 86 }; \ 90 87 \ 91 88 static struct gpio_rcar_config r8a7779_gpio##idx##_platform_data = { \
+35 -1
arch/arm/mach-shmobile/setup-r8a7790.c
··· 23 23 #include <linux/kernel.h> 24 24 #include <linux/of_platform.h> 25 25 #include <linux/serial_sci.h> 26 + #include <linux/platform_data/gpio-rcar.h> 26 27 #include <linux/platform_data/irq-renesas-irqc.h> 27 28 #include <mach/common.h> 28 29 #include <mach/irqs.h> ··· 32 31 33 32 static const struct resource pfc_resources[] = { 34 33 DEFINE_RES_MEM(0xe6060000, 0x250), 35 - DEFINE_RES_MEM(0xe6050000, 0x5050), 36 34 }; 35 + 36 + #define R8A7790_GPIO(idx) \ 37 + static struct resource r8a7790_gpio##idx##_resources[] = { \ 38 + DEFINE_RES_MEM(0xe6050000 + 0x1000 * (idx), 0x50), \ 39 + DEFINE_RES_IRQ(gic_spi(4 + (idx))), \ 40 + }; \ 41 + \ 42 + static struct gpio_rcar_config r8a7790_gpio##idx##_platform_data = { \ 43 + .gpio_base = 32 * (idx), \ 44 + .irq_base = 0, \ 45 + .number_of_pins = 32, \ 46 + .pctl_name = "pfc-r8a7790", \ 47 + .has_both_edge_trigger = 1, \ 48 + }; \ 49 + 50 + R8A7790_GPIO(0); 51 + R8A7790_GPIO(1); 52 + R8A7790_GPIO(2); 53 + R8A7790_GPIO(3); 54 + R8A7790_GPIO(4); 55 + R8A7790_GPIO(5); 56 + 57 + #define r8a7790_register_gpio(idx) \ 58 + platform_device_register_resndata(&platform_bus, "gpio_rcar", idx, \ 59 + r8a7790_gpio##idx##_resources, \ 60 + ARRAY_SIZE(r8a7790_gpio##idx##_resources), \ 61 + &r8a7790_gpio##idx##_platform_data, \ 62 + sizeof(r8a7790_gpio##idx##_platform_data)) 37 63 38 64 void __init r8a7790_pinmux_init(void) 39 65 { 40 66 platform_device_register_simple("pfc-r8a7790", -1, pfc_resources, 41 67 ARRAY_SIZE(pfc_resources)); 68 + r8a7790_register_gpio(0); 69 + r8a7790_register_gpio(1); 70 + r8a7790_register_gpio(2); 71 + r8a7790_register_gpio(3); 72 + r8a7790_register_gpio(4); 73 + r8a7790_register_gpio(5); 42 74 } 43 75 44 76 #define SCIF_COMMON(scif_type, baseaddr, irq) \
+1 -1
arch/arm/mach-shmobile/setup-sh73a0.c
··· 252 252 .name = "CMT10", 253 253 .channel_offset = 0x10, 254 254 .timer_bit = 0, 255 - .clockevent_rating = 125, 255 + .clockevent_rating = 80, 256 256 .clocksource_rating = 125, 257 257 }; 258 258
+22 -6
drivers/gpio/gpio-rcar.c
··· 49 49 #define POSNEG 0x20 50 50 #define EDGLEVEL 0x24 51 51 #define FILONOFF 0x28 52 + #define BOTHEDGE 0x4c 52 53 53 54 static inline u32 gpio_rcar_read(struct gpio_rcar_priv *p, int offs) 54 55 { ··· 92 91 static void gpio_rcar_config_interrupt_input_mode(struct gpio_rcar_priv *p, 93 92 unsigned int hwirq, 94 93 bool active_high_rising_edge, 95 - bool level_trigger) 94 + bool level_trigger, 95 + bool both) 96 96 { 97 97 unsigned long flags; 98 98 ··· 109 107 110 108 /* Configure edge or level trigger in EDGLEVEL */ 111 109 gpio_rcar_modify_bit(p, EDGLEVEL, hwirq, !level_trigger); 110 + 111 + /* Select one edge or both edges in BOTHEDGE */ 112 + if (p->config.has_both_edge_trigger) 113 + gpio_rcar_modify_bit(p, BOTHEDGE, hwirq, both); 112 114 113 115 /* Select "Interrupt Input Mode" in IOINTSEL */ 114 116 gpio_rcar_modify_bit(p, IOINTSEL, hwirq, true); ··· 133 127 134 128 switch (type & IRQ_TYPE_SENSE_MASK) { 135 129 case IRQ_TYPE_LEVEL_HIGH: 136 - gpio_rcar_config_interrupt_input_mode(p, hwirq, true, true); 130 + gpio_rcar_config_interrupt_input_mode(p, hwirq, true, true, 131 + false); 137 132 break; 138 133 case IRQ_TYPE_LEVEL_LOW: 139 - gpio_rcar_config_interrupt_input_mode(p, hwirq, false, true); 134 + gpio_rcar_config_interrupt_input_mode(p, hwirq, false, true, 135 + false); 140 136 break; 141 137 case IRQ_TYPE_EDGE_RISING: 142 - gpio_rcar_config_interrupt_input_mode(p, hwirq, true, false); 138 + gpio_rcar_config_interrupt_input_mode(p, hwirq, true, false, 139 + false); 143 140 break; 144 141 case IRQ_TYPE_EDGE_FALLING: 145 - gpio_rcar_config_interrupt_input_mode(p, hwirq, false, false); 142 + gpio_rcar_config_interrupt_input_mode(p, hwirq, false, false, 143 + false); 144 + break; 145 + case IRQ_TYPE_EDGE_BOTH: 146 + if (!p->config.has_both_edge_trigger) 147 + return -EINVAL; 148 + gpio_rcar_config_interrupt_input_mode(p, hwirq, true, false, 149 + true); 146 150 break; 147 151 default: 148 152 return -EINVAL; ··· 349 333 } 350 334 351 335 if (devm_request_irq(&pdev->dev, irq->start, 352 - gpio_rcar_irq_handler, 0, name, p)) { 336 + gpio_rcar_irq_handler, IRQF_SHARED, name, p)) { 353 337 dev_err(&pdev->dev, "failed to request IRQ\n"); 354 338 ret = -ENOENT; 355 339 goto err1;
+11 -2
drivers/pinctrl/sh-pfc/Kconfig
··· 5 5 if ARCH_SHMOBILE || SUPERH 6 6 7 7 config PINCTRL_SH_PFC 8 - # XXX move off the gpio dependency 9 - depends on GPIOLIB 10 8 select GPIO_SH_PFC if ARCH_REQUIRE_GPIOLIB 11 9 select PINMUX 12 10 select PINCONF ··· 30 32 depends on ARCH_R8A7740 31 33 select PINCTRL_SH_PFC 32 34 35 + config PINCTRL_PFC_R8A7778 36 + def_bool y 37 + depends on ARCH_R8A7778 38 + select PINCTRL_SH_PFC 39 + 33 40 config PINCTRL_PFC_R8A7779 34 41 def_bool y 35 42 depends on ARCH_R8A7779 43 + select PINCTRL_SH_PFC 44 + 45 + config PINCTRL_PFC_R8A7790 46 + def_bool y 47 + depends on ARCH_R8A7790 36 48 select PINCTRL_SH_PFC 37 49 38 50 config PINCTRL_PFC_SH7203 ··· 72 64 def_bool y 73 65 depends on ARCH_SH73A0 74 66 select PINCTRL_SH_PFC 67 + select REGULATOR 75 68 76 69 config PINCTRL_PFC_SH7720 77 70 def_bool y
+2
drivers/pinctrl/sh-pfc/Makefile
··· 5 5 obj-$(CONFIG_PINCTRL_SH_PFC) += sh-pfc.o 6 6 obj-$(CONFIG_PINCTRL_PFC_R8A73A4) += pfc-r8a73a4.o 7 7 obj-$(CONFIG_PINCTRL_PFC_R8A7740) += pfc-r8a7740.o 8 + obj-$(CONFIG_PINCTRL_PFC_R8A7778) += pfc-r8a7778.o 8 9 obj-$(CONFIG_PINCTRL_PFC_R8A7779) += pfc-r8a7779.o 10 + obj-$(CONFIG_PINCTRL_PFC_R8A7790) += pfc-r8a7790.o 9 11 obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o 10 12 obj-$(CONFIG_PINCTRL_PFC_SH7264) += pfc-sh7264.o 11 13 obj-$(CONFIG_PINCTRL_PFC_SH7269) += pfc-sh7269.o
+21 -1
drivers/pinctrl/sh-pfc/core.c
··· 372 372 373 373 spin_lock_init(&pfc->lock); 374 374 375 + if (info->ops && info->ops->init) { 376 + ret = info->ops->init(pfc); 377 + if (ret < 0) 378 + return ret; 379 + } 380 + 375 381 pinctrl_provide_dummies(); 376 382 377 383 /* ··· 385 379 */ 386 380 ret = sh_pfc_register_pinctrl(pfc); 387 381 if (unlikely(ret != 0)) 388 - return ret; 382 + goto error; 389 383 390 384 #ifdef CONFIG_GPIO_SH_PFC 391 385 /* ··· 407 401 dev_info(pfc->dev, "%s support registered\n", info->name); 408 402 409 403 return 0; 404 + 405 + error: 406 + if (info->ops && info->ops->exit) 407 + info->ops->exit(pfc); 408 + return ret; 410 409 } 411 410 412 411 static int sh_pfc_remove(struct platform_device *pdev) ··· 422 411 sh_pfc_unregister_gpiochip(pfc); 423 412 #endif 424 413 sh_pfc_unregister_pinctrl(pfc); 414 + 415 + if (pfc->info->ops && pfc->info->ops->exit) 416 + pfc->info->ops->exit(pfc); 425 417 426 418 platform_set_drvdata(pdev, NULL); 427 419 ··· 438 424 #ifdef CONFIG_PINCTRL_PFC_R8A7740 439 425 { "pfc-r8a7740", (kernel_ulong_t)&r8a7740_pinmux_info }, 440 426 #endif 427 + #ifdef CONFIG_PINCTRL_PFC_R8A7778 428 + { "pfc-r8a7778", (kernel_ulong_t)&r8a7778_pinmux_info }, 429 + #endif 441 430 #ifdef CONFIG_PINCTRL_PFC_R8A7779 442 431 { "pfc-r8a7779", (kernel_ulong_t)&r8a7779_pinmux_info }, 432 + #endif 433 + #ifdef CONFIG_PINCTRL_PFC_R8A7790 434 + { "pfc-r8a7790", (kernel_ulong_t)&r8a7790_pinmux_info }, 443 435 #endif 444 436 #ifdef CONFIG_PINCTRL_PFC_SH7203 445 437 { "pfc-sh7203", (kernel_ulong_t)&sh7203_pinmux_info },
+4
drivers/pinctrl/sh-pfc/core.h
··· 11 11 #define __SH_PFC_CORE_H__ 12 12 13 13 #include <linux/compiler.h> 14 + #include <linux/spinlock.h> 14 15 #include <linux/types.h> 15 16 16 17 #include "sh_pfc.h" ··· 28 27 struct sh_pfc { 29 28 struct device *dev; 30 29 const struct sh_pfc_soc_info *info; 30 + void *soc_data; 31 31 spinlock_t lock; 32 32 33 33 unsigned int num_windows; ··· 58 56 59 57 extern const struct sh_pfc_soc_info r8a73a4_pinmux_info; 60 58 extern const struct sh_pfc_soc_info r8a7740_pinmux_info; 59 + extern const struct sh_pfc_soc_info r8a7778_pinmux_info; 61 60 extern const struct sh_pfc_soc_info r8a7779_pinmux_info; 61 + extern const struct sh_pfc_soc_info r8a7790_pinmux_info; 62 62 extern const struct sh_pfc_soc_info sh7203_pinmux_info; 63 63 extern const struct sh_pfc_soc_info sh7264_pinmux_info; 64 64 extern const struct sh_pfc_soc_info sh7269_pinmux_info;
+1337 -586
drivers/pinctrl/sh-pfc/pfc-r8a7740.c
··· 18 18 * along with this program; if not, write to the Free Software 19 19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 20 */ 21 + #include <linux/io.h> 21 22 #include <linux/kernel.h> 23 + #include <linux/pinctrl/pinconf-generic.h> 24 + 22 25 #include <mach/r8a7740.h> 23 26 #include <mach/irqs.h> 24 27 28 + #include "core.h" 25 29 #include "sh_pfc.h" 26 30 27 31 #define CPU_ALL_PORT(fn, pfx, sfx) \ ··· 33 29 PORT_10(fn, pfx##10, sfx), PORT_90(fn, pfx##1, sfx), \ 34 30 PORT_10(fn, pfx##20, sfx), \ 35 31 PORT_1(fn, pfx##210, sfx), PORT_1(fn, pfx##211, sfx) 32 + 33 + #undef _GPIO_PORT 34 + #define _GPIO_PORT(gpio, sfx) \ 35 + [gpio] = { \ 36 + .name = __stringify(PORT##gpio), \ 37 + .enum_id = PORT##gpio##_DATA, \ 38 + } 39 + 40 + #define IRQC_PIN_MUX(irq, pin) \ 41 + static const unsigned int intc_irq##irq##_pins[] = { \ 42 + pin, \ 43 + }; \ 44 + static const unsigned int intc_irq##irq##_mux[] = { \ 45 + IRQ##irq##_MARK, \ 46 + } 47 + 48 + #define IRQC_PINS_MUX(irq, idx, pin) \ 49 + static const unsigned int intc_irq##irq##_##idx##_pins[] = { \ 50 + pin, \ 51 + }; \ 52 + static const unsigned int intc_irq##irq##_##idx##_mux[] = { \ 53 + IRQ##irq##_PORT##pin##_MARK, \ 54 + } 36 55 37 56 enum { 38 57 PINMUX_RESERVED = 0, ··· 69 42 PINMUX_INPUT_BEGIN, 70 43 PORT_ALL(IN), 71 44 PINMUX_INPUT_END, 72 - 73 - /* PORT0_IN_PU -> PORT211_IN_PU */ 74 - PINMUX_INPUT_PULLUP_BEGIN, 75 - PORT_ALL(IN_PU), 76 - PINMUX_INPUT_PULLUP_END, 77 - 78 - /* PORT0_IN_PD -> PORT211_IN_PD */ 79 - PINMUX_INPUT_PULLDOWN_BEGIN, 80 - PORT_ALL(IN_PD), 81 - PINMUX_INPUT_PULLDOWN_END, 82 45 83 46 /* PORT0_OUT -> PORT211_OUT */ 84 47 PINMUX_OUTPUT_BEGIN, ··· 278 261 SCIFB_CTS_PORT173_MARK, 279 262 280 263 /* LCD0 */ 281 - LCDC0_SELECT_MARK, 282 - 283 264 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK, 284 265 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK, 285 266 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK, ··· 300 285 LCD0_LCLK_PORT102_MARK, 301 286 302 287 /* LCD1 */ 303 - LCDC1_SELECT_MARK, 304 - 305 288 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK, 306 289 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK, 307 290 LCD1_D8_MARK, LCD1_D9_MARK, LCD1_D10_MARK, LCD1_D11_MARK, ··· 590 577 PINMUX_MARK_END, 591 578 }; 592 579 580 + #define _PORT_DATA(pfx, sfx) PORT_DATA_IO(pfx) 581 + #define PINMUX_DATA_GP_ALL() CPU_ALL_PORT(_PORT_DATA, , unused) 582 + 593 583 static const pinmux_enum_t pinmux_data[] = { 594 - /* specify valid pin states for each pin in GPIO mode */ 595 - 596 - /* I/O and Pull U/D */ 597 - PORT_DATA_IO_PD(0), PORT_DATA_IO_PD(1), 598 - PORT_DATA_IO_PD(2), PORT_DATA_IO_PD(3), 599 - PORT_DATA_IO_PD(4), PORT_DATA_IO_PD(5), 600 - PORT_DATA_IO_PD(6), PORT_DATA_IO(7), 601 - PORT_DATA_IO(8), PORT_DATA_IO(9), 602 - 603 - PORT_DATA_IO_PD(10), PORT_DATA_IO_PD(11), 604 - PORT_DATA_IO_PD(12), PORT_DATA_IO_PU_PD(13), 605 - PORT_DATA_IO_PD(14), PORT_DATA_IO_PD(15), 606 - PORT_DATA_IO_PD(16), PORT_DATA_IO_PD(17), 607 - PORT_DATA_IO(18), PORT_DATA_IO_PU(19), 608 - 609 - PORT_DATA_IO_PU_PD(20), PORT_DATA_IO_PD(21), 610 - PORT_DATA_IO_PU_PD(22), PORT_DATA_IO(23), 611 - PORT_DATA_IO_PU(24), PORT_DATA_IO_PU(25), 612 - PORT_DATA_IO_PU(26), PORT_DATA_IO_PU(27), 613 - PORT_DATA_IO_PU(28), PORT_DATA_IO_PU(29), 614 - 615 - PORT_DATA_IO_PU(30), PORT_DATA_IO_PD(31), 616 - PORT_DATA_IO_PD(32), PORT_DATA_IO_PD(33), 617 - PORT_DATA_IO_PD(34), PORT_DATA_IO_PU(35), 618 - PORT_DATA_IO_PU(36), PORT_DATA_IO_PD(37), 619 - PORT_DATA_IO_PU(38), PORT_DATA_IO_PD(39), 620 - 621 - PORT_DATA_IO_PU_PD(40), PORT_DATA_IO_PD(41), 622 - PORT_DATA_IO_PD(42), PORT_DATA_IO_PU_PD(43), 623 - PORT_DATA_IO_PU_PD(44), PORT_DATA_IO_PU_PD(45), 624 - PORT_DATA_IO_PU_PD(46), PORT_DATA_IO_PU_PD(47), 625 - PORT_DATA_IO_PU_PD(48), PORT_DATA_IO_PU_PD(49), 626 - 627 - PORT_DATA_IO_PU_PD(50), PORT_DATA_IO_PD(51), 628 - PORT_DATA_IO_PD(52), PORT_DATA_IO_PD(53), 629 - PORT_DATA_IO_PD(54), PORT_DATA_IO_PU_PD(55), 630 - PORT_DATA_IO_PU_PD(56), PORT_DATA_IO_PU_PD(57), 631 - PORT_DATA_IO_PU_PD(58), PORT_DATA_IO_PU_PD(59), 632 - 633 - PORT_DATA_IO_PU_PD(60), PORT_DATA_IO_PD(61), 634 - PORT_DATA_IO_PD(62), PORT_DATA_IO_PD(63), 635 - PORT_DATA_IO_PD(64), PORT_DATA_IO_PD(65), 636 - PORT_DATA_IO_PU_PD(66), PORT_DATA_IO_PU_PD(67), 637 - PORT_DATA_IO_PU_PD(68), PORT_DATA_IO_PU_PD(69), 638 - 639 - PORT_DATA_IO_PU_PD(70), PORT_DATA_IO_PU_PD(71), 640 - PORT_DATA_IO_PU_PD(72), PORT_DATA_IO_PU_PD(73), 641 - PORT_DATA_IO_PU_PD(74), PORT_DATA_IO_PU_PD(75), 642 - PORT_DATA_IO_PU_PD(76), PORT_DATA_IO_PU_PD(77), 643 - PORT_DATA_IO_PU_PD(78), PORT_DATA_IO_PU_PD(79), 644 - 645 - PORT_DATA_IO_PU_PD(80), PORT_DATA_IO_PU_PD(81), 646 - PORT_DATA_IO(82), PORT_DATA_IO_PU_PD(83), 647 - PORT_DATA_IO(84), PORT_DATA_IO_PD(85), 648 - PORT_DATA_IO_PD(86), PORT_DATA_IO_PD(87), 649 - PORT_DATA_IO_PD(88), PORT_DATA_IO_PD(89), 650 - 651 - PORT_DATA_IO_PD(90), PORT_DATA_IO_PU_PD(91), 652 - PORT_DATA_IO_PU_PD(92), PORT_DATA_IO_PU_PD(93), 653 - PORT_DATA_IO_PU_PD(94), PORT_DATA_IO_PU_PD(95), 654 - PORT_DATA_IO_PU_PD(96), PORT_DATA_IO_PU_PD(97), 655 - PORT_DATA_IO_PU_PD(98), PORT_DATA_IO_PU_PD(99), 656 - 657 - PORT_DATA_IO_PU_PD(100), PORT_DATA_IO(101), 658 - PORT_DATA_IO_PU(102), PORT_DATA_IO_PU_PD(103), 659 - PORT_DATA_IO_PU(104), PORT_DATA_IO_PU(105), 660 - PORT_DATA_IO_PU_PD(106), PORT_DATA_IO(107), 661 - PORT_DATA_IO(108), PORT_DATA_IO(109), 662 - 663 - PORT_DATA_IO(110), PORT_DATA_IO(111), 664 - PORT_DATA_IO(112), PORT_DATA_IO(113), 665 - PORT_DATA_IO_PU_PD(114), PORT_DATA_IO(115), 666 - PORT_DATA_IO_PD(116), PORT_DATA_IO_PD(117), 667 - PORT_DATA_IO_PD(118), PORT_DATA_IO_PD(119), 668 - 669 - PORT_DATA_IO_PD(120), PORT_DATA_IO_PD(121), 670 - PORT_DATA_IO_PD(122), PORT_DATA_IO_PD(123), 671 - PORT_DATA_IO_PD(124), PORT_DATA_IO(125), 672 - PORT_DATA_IO(126), PORT_DATA_IO(127), 673 - PORT_DATA_IO(128), PORT_DATA_IO(129), 674 - 675 - PORT_DATA_IO(130), PORT_DATA_IO(131), 676 - PORT_DATA_IO(132), PORT_DATA_IO(133), 677 - PORT_DATA_IO(134), PORT_DATA_IO(135), 678 - PORT_DATA_IO(136), PORT_DATA_IO(137), 679 - PORT_DATA_IO(138), PORT_DATA_IO(139), 680 - 681 - PORT_DATA_IO(140), PORT_DATA_IO(141), 682 - PORT_DATA_IO_PU(142), PORT_DATA_IO_PU(143), 683 - PORT_DATA_IO_PU(144), PORT_DATA_IO_PU(145), 684 - PORT_DATA_IO_PU(146), PORT_DATA_IO_PU(147), 685 - PORT_DATA_IO_PU(148), PORT_DATA_IO_PU(149), 686 - 687 - PORT_DATA_IO_PU(150), PORT_DATA_IO_PU(151), 688 - PORT_DATA_IO_PU(152), PORT_DATA_IO_PU(153), 689 - PORT_DATA_IO_PU(154), PORT_DATA_IO_PU(155), 690 - PORT_DATA_IO_PU(156), PORT_DATA_IO_PU(157), 691 - PORT_DATA_IO_PD(158), PORT_DATA_IO_PD(159), 692 - 693 - PORT_DATA_IO_PU_PD(160), PORT_DATA_IO_PD(161), 694 - PORT_DATA_IO_PD(162), PORT_DATA_IO_PD(163), 695 - PORT_DATA_IO_PD(164), PORT_DATA_IO_PD(165), 696 - PORT_DATA_IO_PU(166), PORT_DATA_IO_PU(167), 697 - PORT_DATA_IO_PU(168), PORT_DATA_IO_PU(169), 698 - 699 - PORT_DATA_IO_PU(170), PORT_DATA_IO_PU(171), 700 - PORT_DATA_IO_PD(172), PORT_DATA_IO_PD(173), 701 - PORT_DATA_IO_PD(174), PORT_DATA_IO_PD(175), 702 - PORT_DATA_IO_PU(176), PORT_DATA_IO_PU_PD(177), 703 - PORT_DATA_IO_PU(178), PORT_DATA_IO_PD(179), 704 - 705 - PORT_DATA_IO_PD(180), PORT_DATA_IO_PU(181), 706 - PORT_DATA_IO_PU(182), PORT_DATA_IO(183), 707 - PORT_DATA_IO_PD(184), PORT_DATA_IO_PD(185), 708 - PORT_DATA_IO_PD(186), PORT_DATA_IO_PD(187), 709 - PORT_DATA_IO_PD(188), PORT_DATA_IO_PD(189), 710 - 711 - PORT_DATA_IO_PD(190), PORT_DATA_IO_PD(191), 712 - PORT_DATA_IO_PD(192), PORT_DATA_IO_PU_PD(193), 713 - PORT_DATA_IO_PU_PD(194), PORT_DATA_IO_PD(195), 714 - PORT_DATA_IO_PU_PD(196), PORT_DATA_IO_PD(197), 715 - PORT_DATA_IO_PU_PD(198), PORT_DATA_IO_PU_PD(199), 716 - 717 - PORT_DATA_IO_PU_PD(200), PORT_DATA_IO_PU(201), 718 - PORT_DATA_IO_PU_PD(202), PORT_DATA_IO(203), 719 - PORT_DATA_IO_PU_PD(204), PORT_DATA_IO_PU_PD(205), 720 - PORT_DATA_IO_PU_PD(206), PORT_DATA_IO_PU_PD(207), 721 - PORT_DATA_IO_PU_PD(208), PORT_DATA_IO_PD(209), 722 - 723 - PORT_DATA_IO_PD(210), PORT_DATA_IO_PD(211), 584 + PINMUX_DATA_GP_ALL(), 724 585 725 586 /* Port0 */ 726 587 PINMUX_DATA(DBGMDT2_MARK, PORT0_FN1), ··· 873 986 PINMUX_DATA(IRQ27_PORT57_MARK, PORT57_FN0, MSEL1CR_27_1), 874 987 875 988 /* Port58 */ 876 - PINMUX_DATA(LCD0_D0_MARK, PORT58_FN1), 989 + PINMUX_DATA(LCD0_D0_MARK, PORT58_FN1, MSEL3CR_6_0), 877 990 PINMUX_DATA(KEYOUT7_MARK, PORT58_FN3), 878 991 PINMUX_DATA(KEYIN0_PORT58_MARK, PORT58_FN4, MSEL4CR_18_1), 879 992 PINMUX_DATA(DV_D0_MARK, PORT58_FN6), ··· 1520 1633 PINMUX_DATA(IRQ16_PORT211_MARK, PORT211_FN0, MSEL1CR_16_1), 1521 1634 PINMUX_DATA(HDMI_CEC_MARK, PORT211_FN1), 1522 1635 1523 - /* LCDC select */ 1524 - PINMUX_DATA(LCDC0_SELECT_MARK, MSEL3CR_6_0), 1525 - PINMUX_DATA(LCDC1_SELECT_MARK, MSEL3CR_6_1), 1526 - 1527 1636 /* SDENC */ 1528 1637 PINMUX_DATA(SDENC_CPG_MARK, MSEL4CR_19_0), 1529 1638 PINMUX_DATA(SDENC_DV_CLKI_MARK, MSEL4CR_19_1), ··· 1537 1654 PINMUX_DATA(TRACEAUD_FROM_MEMC_MARK, MSEL5CR_30_1, MSEL5CR_29_0), 1538 1655 }; 1539 1656 1657 + #define R8A7740_PIN(pin, cfgs) \ 1658 + { \ 1659 + .name = __stringify(PORT##pin), \ 1660 + .enum_id = PORT##pin##_DATA, \ 1661 + .configs = cfgs, \ 1662 + } 1663 + 1664 + #define __I (SH_PFC_PIN_CFG_INPUT) 1665 + #define __O (SH_PFC_PIN_CFG_OUTPUT) 1666 + #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT) 1667 + #define __PD (SH_PFC_PIN_CFG_PULL_DOWN) 1668 + #define __PU (SH_PFC_PIN_CFG_PULL_UP) 1669 + #define __PUD (SH_PFC_PIN_CFG_PULL_DOWN | SH_PFC_PIN_CFG_PULL_UP) 1670 + 1671 + #define R8A7740_PIN_I_PD(pin) R8A7740_PIN(pin, __I | __PD) 1672 + #define R8A7740_PIN_I_PU(pin) R8A7740_PIN(pin, __I | __PU) 1673 + #define R8A7740_PIN_I_PU_PD(pin) R8A7740_PIN(pin, __I | __PUD) 1674 + #define R8A7740_PIN_IO(pin) R8A7740_PIN(pin, __IO) 1675 + #define R8A7740_PIN_IO_PD(pin) R8A7740_PIN(pin, __IO | __PD) 1676 + #define R8A7740_PIN_IO_PU(pin) R8A7740_PIN(pin, __IO | __PU) 1677 + #define R8A7740_PIN_IO_PU_PD(pin) R8A7740_PIN(pin, __IO | __PUD) 1678 + #define R8A7740_PIN_O(pin) R8A7740_PIN(pin, __O) 1679 + #define R8A7740_PIN_O_PU_PD(pin) R8A7740_PIN(pin, __O | __PUD) 1680 + 1540 1681 static struct sh_pfc_pin pinmux_pins[] = { 1541 - GPIO_PORT_ALL(), 1682 + /* Table 56-1 (I/O and Pull U/D) */ 1683 + R8A7740_PIN_IO_PD(0), R8A7740_PIN_IO_PD(1), 1684 + R8A7740_PIN_IO_PD(2), R8A7740_PIN_IO_PD(3), 1685 + R8A7740_PIN_IO_PD(4), R8A7740_PIN_IO_PD(5), 1686 + R8A7740_PIN_IO_PD(6), R8A7740_PIN_IO(7), 1687 + R8A7740_PIN_IO(8), R8A7740_PIN_IO(9), 1688 + R8A7740_PIN_IO_PD(10), R8A7740_PIN_IO_PD(11), 1689 + R8A7740_PIN_IO_PD(12), R8A7740_PIN_IO_PU_PD(13), 1690 + R8A7740_PIN_IO_PD(14), R8A7740_PIN_IO_PD(15), 1691 + R8A7740_PIN_IO_PD(16), R8A7740_PIN_IO_PD(17), 1692 + R8A7740_PIN_IO(18), R8A7740_PIN_IO_PU(19), 1693 + R8A7740_PIN_IO_PU_PD(20), R8A7740_PIN_IO_PD(21), 1694 + R8A7740_PIN_IO_PU_PD(22), R8A7740_PIN_IO(23), 1695 + R8A7740_PIN_IO_PU(24), R8A7740_PIN_IO_PU(25), 1696 + R8A7740_PIN_IO_PU(26), R8A7740_PIN_IO_PU(27), 1697 + R8A7740_PIN_IO_PU(28), R8A7740_PIN_IO_PU(29), 1698 + R8A7740_PIN_IO_PU(30), R8A7740_PIN_IO_PD(31), 1699 + R8A7740_PIN_IO_PD(32), R8A7740_PIN_IO_PD(33), 1700 + R8A7740_PIN_IO_PD(34), R8A7740_PIN_IO_PU(35), 1701 + R8A7740_PIN_IO_PU(36), R8A7740_PIN_IO_PD(37), 1702 + R8A7740_PIN_IO_PU(38), R8A7740_PIN_IO_PD(39), 1703 + R8A7740_PIN_IO_PU_PD(40), R8A7740_PIN_IO_PD(41), 1704 + R8A7740_PIN_IO_PD(42), R8A7740_PIN_IO_PU_PD(43), 1705 + R8A7740_PIN_IO_PU_PD(44), R8A7740_PIN_IO_PU_PD(45), 1706 + R8A7740_PIN_IO_PU_PD(46), R8A7740_PIN_IO_PU_PD(47), 1707 + R8A7740_PIN_IO_PU_PD(48), R8A7740_PIN_IO_PU_PD(49), 1708 + R8A7740_PIN_IO_PU_PD(50), R8A7740_PIN_IO_PD(51), 1709 + R8A7740_PIN_IO_PD(52), R8A7740_PIN_IO_PD(53), 1710 + R8A7740_PIN_IO_PD(54), R8A7740_PIN_IO_PU_PD(55), 1711 + R8A7740_PIN_IO_PU_PD(56), R8A7740_PIN_IO_PU_PD(57), 1712 + R8A7740_PIN_IO_PU_PD(58), R8A7740_PIN_IO_PU_PD(59), 1713 + R8A7740_PIN_IO_PU_PD(60), R8A7740_PIN_IO_PD(61), 1714 + R8A7740_PIN_IO_PD(62), R8A7740_PIN_IO_PD(63), 1715 + R8A7740_PIN_IO_PD(64), R8A7740_PIN_IO_PD(65), 1716 + R8A7740_PIN_IO_PU_PD(66), R8A7740_PIN_IO_PU_PD(67), 1717 + R8A7740_PIN_IO_PU_PD(68), R8A7740_PIN_IO_PU_PD(69), 1718 + R8A7740_PIN_IO_PU_PD(70), R8A7740_PIN_IO_PU_PD(71), 1719 + R8A7740_PIN_IO_PU_PD(72), R8A7740_PIN_IO_PU_PD(73), 1720 + R8A7740_PIN_IO_PU_PD(74), R8A7740_PIN_IO_PU_PD(75), 1721 + R8A7740_PIN_IO_PU_PD(76), R8A7740_PIN_IO_PU_PD(77), 1722 + R8A7740_PIN_IO_PU_PD(78), R8A7740_PIN_IO_PU_PD(79), 1723 + R8A7740_PIN_IO_PU_PD(80), R8A7740_PIN_IO_PU_PD(81), 1724 + R8A7740_PIN_IO(82), R8A7740_PIN_IO_PU_PD(83), 1725 + R8A7740_PIN_IO(84), R8A7740_PIN_IO_PD(85), 1726 + R8A7740_PIN_IO_PD(86), R8A7740_PIN_IO_PD(87), 1727 + R8A7740_PIN_IO_PD(88), R8A7740_PIN_IO_PD(89), 1728 + R8A7740_PIN_IO_PD(90), R8A7740_PIN_IO_PU_PD(91), 1729 + R8A7740_PIN_IO_PU_PD(92), R8A7740_PIN_IO_PU_PD(93), 1730 + R8A7740_PIN_IO_PU_PD(94), R8A7740_PIN_IO_PU_PD(95), 1731 + R8A7740_PIN_IO_PU_PD(96), R8A7740_PIN_IO_PU_PD(97), 1732 + R8A7740_PIN_IO_PU_PD(98), R8A7740_PIN_IO_PU_PD(99), 1733 + R8A7740_PIN_IO_PU_PD(100), R8A7740_PIN_IO(101), 1734 + R8A7740_PIN_IO_PU(102), R8A7740_PIN_IO_PU_PD(103), 1735 + R8A7740_PIN_IO_PU(104), R8A7740_PIN_IO_PU(105), 1736 + R8A7740_PIN_IO_PU_PD(106), R8A7740_PIN_IO(107), 1737 + R8A7740_PIN_IO(108), R8A7740_PIN_IO(109), 1738 + R8A7740_PIN_IO(110), R8A7740_PIN_IO(111), 1739 + R8A7740_PIN_IO(112), R8A7740_PIN_IO(113), 1740 + R8A7740_PIN_IO_PU_PD(114), R8A7740_PIN_IO(115), 1741 + R8A7740_PIN_IO_PD(116), R8A7740_PIN_IO_PD(117), 1742 + R8A7740_PIN_IO_PD(118), R8A7740_PIN_IO_PD(119), 1743 + R8A7740_PIN_IO_PD(120), R8A7740_PIN_IO_PD(121), 1744 + R8A7740_PIN_IO_PD(122), R8A7740_PIN_IO_PD(123), 1745 + R8A7740_PIN_IO_PD(124), R8A7740_PIN_IO(125), 1746 + R8A7740_PIN_IO(126), R8A7740_PIN_IO(127), 1747 + R8A7740_PIN_IO(128), R8A7740_PIN_IO(129), 1748 + R8A7740_PIN_IO(130), R8A7740_PIN_IO(131), 1749 + R8A7740_PIN_IO(132), R8A7740_PIN_IO(133), 1750 + R8A7740_PIN_IO(134), R8A7740_PIN_IO(135), 1751 + R8A7740_PIN_IO(136), R8A7740_PIN_IO(137), 1752 + R8A7740_PIN_IO(138), R8A7740_PIN_IO(139), 1753 + R8A7740_PIN_IO(140), R8A7740_PIN_IO(141), 1754 + R8A7740_PIN_IO_PU(142), R8A7740_PIN_IO_PU(143), 1755 + R8A7740_PIN_IO_PU(144), R8A7740_PIN_IO_PU(145), 1756 + R8A7740_PIN_IO_PU(146), R8A7740_PIN_IO_PU(147), 1757 + R8A7740_PIN_IO_PU(148), R8A7740_PIN_IO_PU(149), 1758 + R8A7740_PIN_IO_PU(150), R8A7740_PIN_IO_PU(151), 1759 + R8A7740_PIN_IO_PU(152), R8A7740_PIN_IO_PU(153), 1760 + R8A7740_PIN_IO_PU(154), R8A7740_PIN_IO_PU(155), 1761 + R8A7740_PIN_IO_PU(156), R8A7740_PIN_IO_PU(157), 1762 + R8A7740_PIN_IO_PD(158), R8A7740_PIN_IO_PD(159), 1763 + R8A7740_PIN_IO_PU_PD(160), R8A7740_PIN_IO_PD(161), 1764 + R8A7740_PIN_IO_PD(162), R8A7740_PIN_IO_PD(163), 1765 + R8A7740_PIN_IO_PD(164), R8A7740_PIN_IO_PD(165), 1766 + R8A7740_PIN_IO_PU(166), R8A7740_PIN_IO_PU(167), 1767 + R8A7740_PIN_IO_PU(168), R8A7740_PIN_IO_PU(169), 1768 + R8A7740_PIN_IO_PU(170), R8A7740_PIN_IO_PU(171), 1769 + R8A7740_PIN_IO_PD(172), R8A7740_PIN_IO_PD(173), 1770 + R8A7740_PIN_IO_PD(174), R8A7740_PIN_IO_PD(175), 1771 + R8A7740_PIN_IO_PU(176), R8A7740_PIN_IO_PU_PD(177), 1772 + R8A7740_PIN_IO_PU(178), R8A7740_PIN_IO_PD(179), 1773 + R8A7740_PIN_IO_PD(180), R8A7740_PIN_IO_PU(181), 1774 + R8A7740_PIN_IO_PU(182), R8A7740_PIN_IO(183), 1775 + R8A7740_PIN_IO_PD(184), R8A7740_PIN_IO_PD(185), 1776 + R8A7740_PIN_IO_PD(186), R8A7740_PIN_IO_PD(187), 1777 + R8A7740_PIN_IO_PD(188), R8A7740_PIN_IO_PD(189), 1778 + R8A7740_PIN_IO_PD(190), R8A7740_PIN_IO_PD(191), 1779 + R8A7740_PIN_IO_PD(192), R8A7740_PIN_IO_PU_PD(193), 1780 + R8A7740_PIN_IO_PU_PD(194), R8A7740_PIN_IO_PD(195), 1781 + R8A7740_PIN_IO_PU_PD(196), R8A7740_PIN_IO_PD(197), 1782 + R8A7740_PIN_IO_PU_PD(198), R8A7740_PIN_IO_PU_PD(199), 1783 + R8A7740_PIN_IO_PU_PD(200), R8A7740_PIN_IO_PU(201), 1784 + R8A7740_PIN_IO_PU_PD(202), R8A7740_PIN_IO(203), 1785 + R8A7740_PIN_IO_PU_PD(204), R8A7740_PIN_IO_PU_PD(205), 1786 + R8A7740_PIN_IO_PU_PD(206), R8A7740_PIN_IO_PU_PD(207), 1787 + R8A7740_PIN_IO_PU_PD(208), R8A7740_PIN_IO_PD(209), 1788 + R8A7740_PIN_IO_PD(210), R8A7740_PIN_IO_PD(211), 1542 1789 }; 1790 + 1791 + /* - BSC -------------------------------------------------------------------- */ 1792 + static const unsigned int bsc_data8_pins[] = { 1793 + /* D[0:7] */ 1794 + 157, 156, 155, 154, 153, 152, 151, 150, 1795 + }; 1796 + static const unsigned int bsc_data8_mux[] = { 1797 + D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, 1798 + D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, 1799 + }; 1800 + static const unsigned int bsc_data16_pins[] = { 1801 + /* D[0:15] */ 1802 + 157, 156, 155, 154, 153, 152, 151, 150, 1803 + 149, 148, 147, 146, 145, 144, 143, 142, 1804 + }; 1805 + static const unsigned int bsc_data16_mux[] = { 1806 + D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, 1807 + D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, 1808 + D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK, 1809 + D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK, 1810 + }; 1811 + static const unsigned int bsc_data32_pins[] = { 1812 + /* D[0:31] */ 1813 + 157, 156, 155, 154, 153, 152, 151, 150, 1814 + 149, 148, 147, 146, 145, 144, 143, 142, 1815 + 171, 170, 169, 168, 167, 166, 173, 172, 1816 + 165, 164, 163, 162, 161, 160, 159, 158, 1817 + }; 1818 + static const unsigned int bsc_data32_mux[] = { 1819 + D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, 1820 + D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, 1821 + D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK, 1822 + D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK, 1823 + D16_MARK, D17_MARK, D18_MARK, D19_MARK, 1824 + D20_MARK, D21_MARK, D22_MARK, D23_MARK, 1825 + D24_MARK, D25_MARK, D26_MARK, D27_MARK, 1826 + D28_MARK, D29_MARK, D30_MARK, D31_MARK, 1827 + }; 1828 + static const unsigned int bsc_cs0_pins[] = { 1829 + /* CS */ 1830 + 109, 1831 + }; 1832 + static const unsigned int bsc_cs0_mux[] = { 1833 + CS0_MARK, 1834 + }; 1835 + static const unsigned int bsc_cs2_pins[] = { 1836 + /* CS */ 1837 + 110, 1838 + }; 1839 + static const unsigned int bsc_cs2_mux[] = { 1840 + CS2_MARK, 1841 + }; 1842 + static const unsigned int bsc_cs4_pins[] = { 1843 + /* CS */ 1844 + 111, 1845 + }; 1846 + static const unsigned int bsc_cs4_mux[] = { 1847 + CS4_MARK, 1848 + }; 1849 + static const unsigned int bsc_cs5a_0_pins[] = { 1850 + /* CS */ 1851 + 105, 1852 + }; 1853 + static const unsigned int bsc_cs5a_0_mux[] = { 1854 + CS5A_PORT105_MARK, 1855 + }; 1856 + static const unsigned int bsc_cs5a_1_pins[] = { 1857 + /* CS */ 1858 + 19, 1859 + }; 1860 + static const unsigned int bsc_cs5a_1_mux[] = { 1861 + CS5A_PORT19_MARK, 1862 + }; 1863 + static const unsigned int bsc_cs5b_pins[] = { 1864 + /* CS */ 1865 + 103, 1866 + }; 1867 + static const unsigned int bsc_cs5b_mux[] = { 1868 + CS5B_MARK, 1869 + }; 1870 + static const unsigned int bsc_cs6a_pins[] = { 1871 + /* CS */ 1872 + 104, 1873 + }; 1874 + static const unsigned int bsc_cs6a_mux[] = { 1875 + CS6A_MARK, 1876 + }; 1877 + static const unsigned int bsc_rd_we8_pins[] = { 1878 + /* RD, WE[0] */ 1879 + 115, 113, 1880 + }; 1881 + static const unsigned int bsc_rd_we8_mux[] = { 1882 + RD_FSC_MARK, WE0_FWE_MARK, 1883 + }; 1884 + static const unsigned int bsc_rd_we16_pins[] = { 1885 + /* RD, WE[0:1] */ 1886 + 115, 113, 112, 1887 + }; 1888 + static const unsigned int bsc_rd_we16_mux[] = { 1889 + RD_FSC_MARK, WE0_FWE_MARK, WE1_MARK, 1890 + }; 1891 + static const unsigned int bsc_rd_we32_pins[] = { 1892 + /* RD, WE[0:3] */ 1893 + 115, 113, 112, 108, 107, 1894 + }; 1895 + static const unsigned int bsc_rd_we32_mux[] = { 1896 + RD_FSC_MARK, WE0_FWE_MARK, WE1_MARK, WE2_ICIORD_MARK, WE3_ICIOWR_MARK, 1897 + }; 1898 + static const unsigned int bsc_bs_pins[] = { 1899 + /* BS */ 1900 + 175, 1901 + }; 1902 + static const unsigned int bsc_bs_mux[] = { 1903 + BS_MARK, 1904 + }; 1905 + static const unsigned int bsc_rdwr_pins[] = { 1906 + /* RDWR */ 1907 + 114, 1908 + }; 1909 + static const unsigned int bsc_rdwr_mux[] = { 1910 + RDWR_MARK, 1911 + }; 1912 + /* - CEU0 ------------------------------------------------------------------- */ 1913 + static const unsigned int ceu0_data_0_7_pins[] = { 1914 + /* D[0:7] */ 1915 + 34, 33, 32, 31, 30, 29, 28, 27, 1916 + }; 1917 + static const unsigned int ceu0_data_0_7_mux[] = { 1918 + VIO0_D0_MARK, VIO0_D1_MARK, VIO0_D2_MARK, VIO0_D3_MARK, 1919 + VIO0_D4_MARK, VIO0_D5_MARK, VIO0_D6_MARK, VIO0_D7_MARK, 1920 + }; 1921 + static const unsigned int ceu0_data_8_15_0_pins[] = { 1922 + /* D[8:15] */ 1923 + 182, 181, 180, 179, 178, 26, 25, 24, 1924 + }; 1925 + static const unsigned int ceu0_data_8_15_0_mux[] = { 1926 + VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK, 1927 + VIO0_D12_MARK, VIO0_D13_PORT26_MARK, VIO0_D14_PORT25_MARK, 1928 + VIO0_D15_PORT24_MARK, 1929 + }; 1930 + static const unsigned int ceu0_data_8_15_1_pins[] = { 1931 + /* D[8:15] */ 1932 + 182, 181, 180, 179, 178, 22, 95, 96, 1933 + }; 1934 + static const unsigned int ceu0_data_8_15_1_mux[] = { 1935 + VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK, 1936 + VIO0_D12_MARK, VIO0_D13_PORT22_MARK, VIO0_D14_PORT95_MARK, 1937 + VIO0_D15_PORT96_MARK, 1938 + }; 1939 + static const unsigned int ceu0_clk_0_pins[] = { 1940 + /* CKO */ 1941 + 36, 1942 + }; 1943 + static const unsigned int ceu0_clk_0_mux[] = { 1944 + VIO_CKO_MARK, 1945 + }; 1946 + static const unsigned int ceu0_clk_1_pins[] = { 1947 + /* CKO */ 1948 + 14, 1949 + }; 1950 + static const unsigned int ceu0_clk_1_mux[] = { 1951 + VIO_CKO1_MARK, 1952 + }; 1953 + static const unsigned int ceu0_clk_2_pins[] = { 1954 + /* CKO */ 1955 + 15, 1956 + }; 1957 + static const unsigned int ceu0_clk_2_mux[] = { 1958 + VIO_CKO2_MARK, 1959 + }; 1960 + static const unsigned int ceu0_sync_pins[] = { 1961 + /* CLK, VD, HD */ 1962 + 35, 39, 37, 1963 + }; 1964 + static const unsigned int ceu0_sync_mux[] = { 1965 + VIO0_CLK_MARK, VIO0_VD_MARK, VIO0_HD_MARK, 1966 + }; 1967 + static const unsigned int ceu0_field_pins[] = { 1968 + /* FIELD */ 1969 + 38, 1970 + }; 1971 + static const unsigned int ceu0_field_mux[] = { 1972 + VIO0_FIELD_MARK, 1973 + }; 1974 + /* - CEU1 ------------------------------------------------------------------- */ 1975 + static const unsigned int ceu1_data_pins[] = { 1976 + /* D[0:7] */ 1977 + 182, 181, 180, 179, 178, 26, 25, 24, 1978 + }; 1979 + static const unsigned int ceu1_data_mux[] = { 1980 + VIO1_D0_MARK, VIO1_D1_MARK, VIO1_D2_MARK, VIO1_D3_MARK, 1981 + VIO1_D4_MARK, VIO1_D5_MARK, VIO1_D6_MARK, VIO1_D7_MARK, 1982 + }; 1983 + static const unsigned int ceu1_clk_pins[] = { 1984 + /* CKO */ 1985 + 23, 1986 + }; 1987 + static const unsigned int ceu1_clk_mux[] = { 1988 + VIO_CKO_1_MARK, 1989 + }; 1990 + static const unsigned int ceu1_sync_pins[] = { 1991 + /* CLK, VD, HD */ 1992 + 197, 198, 160, 1993 + }; 1994 + static const unsigned int ceu1_sync_mux[] = { 1995 + VIO1_CLK_MARK, VIO1_VD_MARK, VIO1_HD_MARK, 1996 + }; 1997 + static const unsigned int ceu1_field_pins[] = { 1998 + /* FIELD */ 1999 + 21, 2000 + }; 2001 + static const unsigned int ceu1_field_mux[] = { 2002 + VIO1_FIELD_MARK, 2003 + }; 2004 + /* - FSIA ------------------------------------------------------------------- */ 2005 + static const unsigned int fsia_mclk_in_pins[] = { 2006 + /* CK */ 2007 + 11, 2008 + }; 2009 + static const unsigned int fsia_mclk_in_mux[] = { 2010 + FSIACK_MARK, 2011 + }; 2012 + static const unsigned int fsia_mclk_out_pins[] = { 2013 + /* OMC */ 2014 + 10, 2015 + }; 2016 + static const unsigned int fsia_mclk_out_mux[] = { 2017 + FSIAOMC_MARK, 2018 + }; 2019 + static const unsigned int fsia_sclk_in_pins[] = { 2020 + /* ILR, IBT */ 2021 + 12, 13, 2022 + }; 2023 + static const unsigned int fsia_sclk_in_mux[] = { 2024 + FSIAILR_MARK, FSIAIBT_MARK, 2025 + }; 2026 + static const unsigned int fsia_sclk_out_pins[] = { 2027 + /* OLR, OBT */ 2028 + 7, 8, 2029 + }; 2030 + static const unsigned int fsia_sclk_out_mux[] = { 2031 + FSIAOLR_MARK, FSIAOBT_MARK, 2032 + }; 2033 + static const unsigned int fsia_data_in_0_pins[] = { 2034 + /* ISLD */ 2035 + 0, 2036 + }; 2037 + static const unsigned int fsia_data_in_0_mux[] = { 2038 + FSIAISLD_PORT0_MARK, 2039 + }; 2040 + static const unsigned int fsia_data_in_1_pins[] = { 2041 + /* ISLD */ 2042 + 5, 2043 + }; 2044 + static const unsigned int fsia_data_in_1_mux[] = { 2045 + FSIAISLD_PORT5_MARK, 2046 + }; 2047 + static const unsigned int fsia_data_out_0_pins[] = { 2048 + /* OSLD */ 2049 + 9, 2050 + }; 2051 + static const unsigned int fsia_data_out_0_mux[] = { 2052 + FSIAOSLD_MARK, 2053 + }; 2054 + static const unsigned int fsia_data_out_1_pins[] = { 2055 + /* OSLD */ 2056 + 0, 2057 + }; 2058 + static const unsigned int fsia_data_out_1_mux[] = { 2059 + FSIAOSLD1_MARK, 2060 + }; 2061 + static const unsigned int fsia_data_out_2_pins[] = { 2062 + /* OSLD */ 2063 + 1, 2064 + }; 2065 + static const unsigned int fsia_data_out_2_mux[] = { 2066 + FSIAOSLD2_MARK, 2067 + }; 2068 + static const unsigned int fsia_spdif_0_pins[] = { 2069 + /* SPDIF */ 2070 + 9, 2071 + }; 2072 + static const unsigned int fsia_spdif_0_mux[] = { 2073 + FSIASPDIF_PORT9_MARK, 2074 + }; 2075 + static const unsigned int fsia_spdif_1_pins[] = { 2076 + /* SPDIF */ 2077 + 18, 2078 + }; 2079 + static const unsigned int fsia_spdif_1_mux[] = { 2080 + FSIASPDIF_PORT18_MARK, 2081 + }; 2082 + /* - FSIB ------------------------------------------------------------------- */ 2083 + static const unsigned int fsib_mclk_in_pins[] = { 2084 + /* CK */ 2085 + 11, 2086 + }; 2087 + static const unsigned int fsib_mclk_in_mux[] = { 2088 + FSIBCK_MARK, 2089 + }; 2090 + /* - GETHER ----------------------------------------------------------------- */ 2091 + static const unsigned int gether_rmii_pins[] = { 2092 + /* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK, MDC, MDIO */ 2093 + 195, 196, 194, 193, 200, 201, 199, 159, 202, 208, 2094 + }; 2095 + static const unsigned int gether_rmii_mux[] = { 2096 + RMII_RXD0_MARK, RMII_RXD1_MARK, RMII_RX_ER_MARK, RMII_CRS_DV_MARK, 2097 + RMII_TXD0_MARK, RMII_TXD1_MARK, RMII_TX_EN_MARK, RMII_REF50CK_MARK, 2098 + RMII_MDC_MARK, RMII_MDIO_MARK, 2099 + }; 2100 + static const unsigned int gether_mii_pins[] = { 2101 + /* RXD[0:3], RX_CLK, RX_DV, RX_ER 2102 + * TXD[0:3], TX_CLK, TX_EN, TX_ER 2103 + * CRS, COL, MDC, MDIO, 2104 + */ 2105 + 185, 186, 187, 188, 174, 161, 204, 2106 + 171, 170, 169, 168, 184, 183, 203, 2107 + 205, 163, 206, 207, 2108 + }; 2109 + static const unsigned int gether_mii_mux[] = { 2110 + ET_ERXD0_MARK, ET_ERXD1_MARK, ET_ERXD2_MARK, ET_ERXD3_MARK, 2111 + ET_RX_CLK_MARK, ET_RX_DV_MARK, ET_RX_ER_MARK, 2112 + ET_ETXD0_MARK, ET_ETXD1_MARK, ET_ETXD2_MARK, ET_ETXD3_MARK, 2113 + ET_TX_CLK_MARK, ET_TX_EN_MARK, ET_TX_ER_MARK, 2114 + ET_CRS_MARK, ET_COL_MARK, ET_MDC_MARK, ET_MDIO_MARK, 2115 + }; 2116 + static const unsigned int gether_gmii_pins[] = { 2117 + /* RXD[0:7], RX_CLK, RX_DV, RX_ER 2118 + * TXD[0:7], GTX_CLK, TX_CLK, TX_EN, TX_ER 2119 + * CRS, COL, MDC, MDIO, REF125CK_MARK, 2120 + */ 2121 + 185, 186, 187, 188, 189, 190, 191, 192, 174, 161, 204, 2122 + 171, 170, 169, 168, 167, 166, 173, 172, 176, 184, 183, 203, 2123 + 205, 163, 206, 207, 2124 + }; 2125 + static const unsigned int gether_gmii_mux[] = { 2126 + ET_ERXD0_MARK, ET_ERXD1_MARK, ET_ERXD2_MARK, ET_ERXD3_MARK, 2127 + ET_ERXD4_MARK, ET_ERXD5_MARK, ET_ERXD6_MARK, ET_ERXD7_MARK, 2128 + ET_RX_CLK_MARK, ET_RX_DV_MARK, ET_RX_ER_MARK, 2129 + ET_ETXD0_MARK, ET_ETXD1_MARK, ET_ETXD2_MARK, ET_ETXD3_MARK, 2130 + ET_ETXD4_MARK, ET_ETXD5_MARK, ET_ETXD6_MARK, ET_ETXD7_MARK, 2131 + ET_GTX_CLK_MARK, ET_TX_CLK_MARK, ET_TX_EN_MARK, ET_TX_ER_MARK, 2132 + ET_CRS_MARK, ET_COL_MARK, ET_MDC_MARK, ET_MDIO_MARK, 2133 + RMII_REF125CK_MARK, 2134 + }; 2135 + static const unsigned int gether_int_pins[] = { 2136 + /* PHY_INT */ 2137 + 164, 2138 + }; 2139 + static const unsigned int gether_int_mux[] = { 2140 + ET_PHY_INT_MARK, 2141 + }; 2142 + static const unsigned int gether_link_pins[] = { 2143 + /* LINK */ 2144 + 177, 2145 + }; 2146 + static const unsigned int gether_link_mux[] = { 2147 + ET_LINK_MARK, 2148 + }; 2149 + static const unsigned int gether_wol_pins[] = { 2150 + /* WOL */ 2151 + 175, 2152 + }; 2153 + static const unsigned int gether_wol_mux[] = { 2154 + ET_WOL_MARK, 2155 + }; 2156 + /* - HDMI ------------------------------------------------------------------- */ 2157 + static const unsigned int hdmi_pins[] = { 2158 + /* HPD, CEC */ 2159 + 210, 211, 2160 + }; 2161 + static const unsigned int hdmi_mux[] = { 2162 + HDMI_HPD_MARK, HDMI_CEC_MARK, 2163 + }; 2164 + /* - INTC ------------------------------------------------------------------- */ 2165 + IRQC_PINS_MUX(0, 0, 2); 2166 + IRQC_PINS_MUX(0, 1, 13); 2167 + IRQC_PIN_MUX(1, 20); 2168 + IRQC_PINS_MUX(2, 0, 11); 2169 + IRQC_PINS_MUX(2, 1, 12); 2170 + IRQC_PINS_MUX(3, 0, 10); 2171 + IRQC_PINS_MUX(3, 1, 14); 2172 + IRQC_PINS_MUX(4, 0, 15); 2173 + IRQC_PINS_MUX(4, 1, 172); 2174 + IRQC_PINS_MUX(5, 0, 0); 2175 + IRQC_PINS_MUX(5, 1, 1); 2176 + IRQC_PINS_MUX(6, 0, 121); 2177 + IRQC_PINS_MUX(6, 1, 173); 2178 + IRQC_PINS_MUX(7, 0, 120); 2179 + IRQC_PINS_MUX(7, 1, 209); 2180 + IRQC_PIN_MUX(8, 119); 2181 + IRQC_PINS_MUX(9, 0, 118); 2182 + IRQC_PINS_MUX(9, 1, 210); 2183 + IRQC_PIN_MUX(10, 19); 2184 + IRQC_PIN_MUX(11, 104); 2185 + IRQC_PINS_MUX(12, 0, 42); 2186 + IRQC_PINS_MUX(12, 1, 97); 2187 + IRQC_PINS_MUX(13, 0, 64); 2188 + IRQC_PINS_MUX(13, 1, 98); 2189 + IRQC_PINS_MUX(14, 0, 63); 2190 + IRQC_PINS_MUX(14, 1, 99); 2191 + IRQC_PINS_MUX(15, 0, 62); 2192 + IRQC_PINS_MUX(15, 1, 100); 2193 + IRQC_PINS_MUX(16, 0, 68); 2194 + IRQC_PINS_MUX(16, 1, 211); 2195 + IRQC_PIN_MUX(17, 69); 2196 + IRQC_PIN_MUX(18, 70); 2197 + IRQC_PIN_MUX(19, 71); 2198 + IRQC_PIN_MUX(20, 67); 2199 + IRQC_PIN_MUX(21, 202); 2200 + IRQC_PIN_MUX(22, 95); 2201 + IRQC_PIN_MUX(23, 96); 2202 + IRQC_PIN_MUX(24, 180); 2203 + IRQC_PIN_MUX(25, 38); 2204 + IRQC_PINS_MUX(26, 0, 58); 2205 + IRQC_PINS_MUX(26, 1, 81); 2206 + IRQC_PINS_MUX(27, 0, 57); 2207 + IRQC_PINS_MUX(27, 1, 168); 2208 + IRQC_PINS_MUX(28, 0, 56); 2209 + IRQC_PINS_MUX(28, 1, 169); 2210 + IRQC_PINS_MUX(29, 0, 50); 2211 + IRQC_PINS_MUX(29, 1, 170); 2212 + IRQC_PINS_MUX(30, 0, 49); 2213 + IRQC_PINS_MUX(30, 1, 171); 2214 + IRQC_PINS_MUX(31, 0, 41); 2215 + IRQC_PINS_MUX(31, 1, 167); 1543 2216 1544 2217 /* - LCD0 ------------------------------------------------------------------- */ 1545 2218 static const unsigned int lcd0_data8_pins[] = { ··· 2369 1930 static const unsigned int mmc0_ctrl_1_mux[] = { 2370 1931 MMC1_CMD_PORT104_MARK, MMC1_CLK_PORT103_MARK, 2371 1932 }; 1933 + /* - SCIFA0 ----------------------------------------------------------------- */ 1934 + static const unsigned int scifa0_data_pins[] = { 1935 + /* RXD, TXD */ 1936 + 197, 198, 1937 + }; 1938 + static const unsigned int scifa0_data_mux[] = { 1939 + SCIFA0_RXD_MARK, SCIFA0_TXD_MARK, 1940 + }; 1941 + static const unsigned int scifa0_clk_pins[] = { 1942 + /* SCK */ 1943 + 188, 1944 + }; 1945 + static const unsigned int scifa0_clk_mux[] = { 1946 + SCIFA0_SCK_MARK, 1947 + }; 1948 + static const unsigned int scifa0_ctrl_pins[] = { 1949 + /* RTS, CTS */ 1950 + 194, 193, 1951 + }; 1952 + static const unsigned int scifa0_ctrl_mux[] = { 1953 + SCIFA0_RTS_MARK, SCIFA0_CTS_MARK, 1954 + }; 1955 + /* - SCIFA1 ----------------------------------------------------------------- */ 1956 + static const unsigned int scifa1_data_pins[] = { 1957 + /* RXD, TXD */ 1958 + 195, 196, 1959 + }; 1960 + static const unsigned int scifa1_data_mux[] = { 1961 + SCIFA1_RXD_MARK, SCIFA1_TXD_MARK, 1962 + }; 1963 + static const unsigned int scifa1_clk_pins[] = { 1964 + /* SCK */ 1965 + 185, 1966 + }; 1967 + static const unsigned int scifa1_clk_mux[] = { 1968 + SCIFA1_SCK_MARK, 1969 + }; 1970 + static const unsigned int scifa1_ctrl_pins[] = { 1971 + /* RTS, CTS */ 1972 + 23, 21, 1973 + }; 1974 + static const unsigned int scifa1_ctrl_mux[] = { 1975 + SCIFA1_RTS_MARK, SCIFA1_CTS_MARK, 1976 + }; 1977 + /* - SCIFA2 ----------------------------------------------------------------- */ 1978 + static const unsigned int scifa2_data_pins[] = { 1979 + /* RXD, TXD */ 1980 + 200, 201, 1981 + }; 1982 + static const unsigned int scifa2_data_mux[] = { 1983 + SCIFA2_RXD_MARK, SCIFA2_TXD_MARK, 1984 + }; 1985 + static const unsigned int scifa2_clk_0_pins[] = { 1986 + /* SCK */ 1987 + 22, 1988 + }; 1989 + static const unsigned int scifa2_clk_0_mux[] = { 1990 + SCIFA2_SCK_PORT22_MARK, 1991 + }; 1992 + static const unsigned int scifa2_clk_1_pins[] = { 1993 + /* SCK */ 1994 + 199, 1995 + }; 1996 + static const unsigned int scifa2_clk_1_mux[] = { 1997 + SCIFA2_SCK_PORT199_MARK, 1998 + }; 1999 + static const unsigned int scifa2_ctrl_pins[] = { 2000 + /* RTS, CTS */ 2001 + 96, 95, 2002 + }; 2003 + static const unsigned int scifa2_ctrl_mux[] = { 2004 + SCIFA2_RTS_MARK, SCIFA2_CTS_MARK, 2005 + }; 2006 + /* - SCIFA3 ----------------------------------------------------------------- */ 2007 + static const unsigned int scifa3_data_0_pins[] = { 2008 + /* RXD, TXD */ 2009 + 174, 175, 2010 + }; 2011 + static const unsigned int scifa3_data_0_mux[] = { 2012 + SCIFA3_RXD_PORT174_MARK, SCIFA3_TXD_PORT175_MARK, 2013 + }; 2014 + static const unsigned int scifa3_clk_0_pins[] = { 2015 + /* SCK */ 2016 + 116, 2017 + }; 2018 + static const unsigned int scifa3_clk_0_mux[] = { 2019 + SCIFA3_SCK_PORT116_MARK, 2020 + }; 2021 + static const unsigned int scifa3_ctrl_0_pins[] = { 2022 + /* RTS, CTS */ 2023 + 105, 117, 2024 + }; 2025 + static const unsigned int scifa3_ctrl_0_mux[] = { 2026 + SCIFA3_RTS_PORT105_MARK, SCIFA3_CTS_PORT117_MARK, 2027 + }; 2028 + static const unsigned int scifa3_data_1_pins[] = { 2029 + /* RXD, TXD */ 2030 + 159, 160, 2031 + }; 2032 + static const unsigned int scifa3_data_1_mux[] = { 2033 + SCIFA3_RXD_PORT159_MARK, SCIFA3_TXD_PORT160_MARK, 2034 + }; 2035 + static const unsigned int scifa3_clk_1_pins[] = { 2036 + /* SCK */ 2037 + 158, 2038 + }; 2039 + static const unsigned int scifa3_clk_1_mux[] = { 2040 + SCIFA3_SCK_PORT158_MARK, 2041 + }; 2042 + static const unsigned int scifa3_ctrl_1_pins[] = { 2043 + /* RTS, CTS */ 2044 + 161, 162, 2045 + }; 2046 + static const unsigned int scifa3_ctrl_1_mux[] = { 2047 + SCIFA3_RTS_PORT161_MARK, SCIFA3_CTS_PORT162_MARK, 2048 + }; 2049 + /* - SCIFA4 ----------------------------------------------------------------- */ 2050 + static const unsigned int scifa4_data_0_pins[] = { 2051 + /* RXD, TXD */ 2052 + 12, 13, 2053 + }; 2054 + static const unsigned int scifa4_data_0_mux[] = { 2055 + SCIFA4_RXD_PORT12_MARK, SCIFA4_TXD_PORT13_MARK, 2056 + }; 2057 + static const unsigned int scifa4_data_1_pins[] = { 2058 + /* RXD, TXD */ 2059 + 204, 203, 2060 + }; 2061 + static const unsigned int scifa4_data_1_mux[] = { 2062 + SCIFA4_RXD_PORT204_MARK, SCIFA4_TXD_PORT203_MARK, 2063 + }; 2064 + static const unsigned int scifa4_data_2_pins[] = { 2065 + /* RXD, TXD */ 2066 + 94, 93, 2067 + }; 2068 + static const unsigned int scifa4_data_2_mux[] = { 2069 + SCIFA4_RXD_PORT94_MARK, SCIFA4_TXD_PORT93_MARK, 2070 + }; 2071 + static const unsigned int scifa4_clk_0_pins[] = { 2072 + /* SCK */ 2073 + 21, 2074 + }; 2075 + static const unsigned int scifa4_clk_0_mux[] = { 2076 + SCIFA4_SCK_PORT21_MARK, 2077 + }; 2078 + static const unsigned int scifa4_clk_1_pins[] = { 2079 + /* SCK */ 2080 + 205, 2081 + }; 2082 + static const unsigned int scifa4_clk_1_mux[] = { 2083 + SCIFA4_SCK_PORT205_MARK, 2084 + }; 2085 + /* - SCIFA5 ----------------------------------------------------------------- */ 2086 + static const unsigned int scifa5_data_0_pins[] = { 2087 + /* RXD, TXD */ 2088 + 10, 20, 2089 + }; 2090 + static const unsigned int scifa5_data_0_mux[] = { 2091 + SCIFA5_RXD_PORT10_MARK, SCIFA5_TXD_PORT20_MARK, 2092 + }; 2093 + static const unsigned int scifa5_data_1_pins[] = { 2094 + /* RXD, TXD */ 2095 + 207, 208, 2096 + }; 2097 + static const unsigned int scifa5_data_1_mux[] = { 2098 + SCIFA5_RXD_PORT207_MARK, SCIFA5_TXD_PORT208_MARK, 2099 + }; 2100 + static const unsigned int scifa5_data_2_pins[] = { 2101 + /* RXD, TXD */ 2102 + 92, 91, 2103 + }; 2104 + static const unsigned int scifa5_data_2_mux[] = { 2105 + SCIFA5_RXD_PORT92_MARK, SCIFA5_TXD_PORT91_MARK, 2106 + }; 2107 + static const unsigned int scifa5_clk_0_pins[] = { 2108 + /* SCK */ 2109 + 23, 2110 + }; 2111 + static const unsigned int scifa5_clk_0_mux[] = { 2112 + SCIFA5_SCK_PORT23_MARK, 2113 + }; 2114 + static const unsigned int scifa5_clk_1_pins[] = { 2115 + /* SCK */ 2116 + 206, 2117 + }; 2118 + static const unsigned int scifa5_clk_1_mux[] = { 2119 + SCIFA5_SCK_PORT206_MARK, 2120 + }; 2121 + /* - SCIFA6 ----------------------------------------------------------------- */ 2122 + static const unsigned int scifa6_data_pins[] = { 2123 + /* RXD, TXD */ 2124 + 25, 26, 2125 + }; 2126 + static const unsigned int scifa6_data_mux[] = { 2127 + SCIFA6_RXD_MARK, SCIFA6_TXD_MARK, 2128 + }; 2129 + static const unsigned int scifa6_clk_pins[] = { 2130 + /* SCK */ 2131 + 24, 2132 + }; 2133 + static const unsigned int scifa6_clk_mux[] = { 2134 + SCIFA6_SCK_MARK, 2135 + }; 2136 + /* - SCIFA7 ----------------------------------------------------------------- */ 2137 + static const unsigned int scifa7_data_pins[] = { 2138 + /* RXD, TXD */ 2139 + 0, 1, 2140 + }; 2141 + static const unsigned int scifa7_data_mux[] = { 2142 + SCIFA7_RXD_MARK, SCIFA7_TXD_MARK, 2143 + }; 2144 + /* - SCIFB ------------------------------------------------------------------ */ 2145 + static const unsigned int scifb_data_0_pins[] = { 2146 + /* RXD, TXD */ 2147 + 191, 192, 2148 + }; 2149 + static const unsigned int scifb_data_0_mux[] = { 2150 + SCIFB_RXD_PORT191_MARK, SCIFB_TXD_PORT192_MARK, 2151 + }; 2152 + static const unsigned int scifb_clk_0_pins[] = { 2153 + /* SCK */ 2154 + 190, 2155 + }; 2156 + static const unsigned int scifb_clk_0_mux[] = { 2157 + SCIFB_SCK_PORT190_MARK, 2158 + }; 2159 + static const unsigned int scifb_ctrl_0_pins[] = { 2160 + /* RTS, CTS */ 2161 + 186, 187, 2162 + }; 2163 + static const unsigned int scifb_ctrl_0_mux[] = { 2164 + SCIFB_RTS_PORT186_MARK, SCIFB_CTS_PORT187_MARK, 2165 + }; 2166 + static const unsigned int scifb_data_1_pins[] = { 2167 + /* RXD, TXD */ 2168 + 3, 4, 2169 + }; 2170 + static const unsigned int scifb_data_1_mux[] = { 2171 + SCIFB_RXD_PORT3_MARK, SCIFB_TXD_PORT4_MARK, 2172 + }; 2173 + static const unsigned int scifb_clk_1_pins[] = { 2174 + /* SCK */ 2175 + 2, 2176 + }; 2177 + static const unsigned int scifb_clk_1_mux[] = { 2178 + SCIFB_SCK_PORT2_MARK, 2179 + }; 2180 + static const unsigned int scifb_ctrl_1_pins[] = { 2181 + /* RTS, CTS */ 2182 + 172, 173, 2183 + }; 2184 + static const unsigned int scifb_ctrl_1_mux[] = { 2185 + SCIFB_RTS_PORT172_MARK, SCIFB_CTS_PORT173_MARK, 2186 + }; 2372 2187 /* - SDHI0 ------------------------------------------------------------------ */ 2373 2188 static const unsigned int sdhi0_data1_pins[] = { 2374 2189 /* D0 */ ··· 2745 2052 static const unsigned int sdhi2_wp_1_mux[] = { 2746 2053 SDHI2_WP_PORT25_MARK, 2747 2054 }; 2055 + /* - TPU0 ------------------------------------------------------------------- */ 2056 + static const unsigned int tpu0_to0_pins[] = { 2057 + /* TO */ 2058 + 23, 2059 + }; 2060 + static const unsigned int tpu0_to0_mux[] = { 2061 + TPU0TO0_MARK, 2062 + }; 2063 + static const unsigned int tpu0_to1_pins[] = { 2064 + /* TO */ 2065 + 21, 2066 + }; 2067 + static const unsigned int tpu0_to1_mux[] = { 2068 + TPU0TO1_MARK, 2069 + }; 2070 + static const unsigned int tpu0_to2_0_pins[] = { 2071 + /* TO */ 2072 + 66, 2073 + }; 2074 + static const unsigned int tpu0_to2_0_mux[] = { 2075 + TPU0TO2_PORT66_MARK, 2076 + }; 2077 + static const unsigned int tpu0_to2_1_pins[] = { 2078 + /* TO */ 2079 + 202, 2080 + }; 2081 + static const unsigned int tpu0_to2_1_mux[] = { 2082 + TPU0TO2_PORT202_MARK, 2083 + }; 2084 + static const unsigned int tpu0_to3_pins[] = { 2085 + /* TO */ 2086 + 180, 2087 + }; 2088 + static const unsigned int tpu0_to3_mux[] = { 2089 + TPU0TO3_MARK, 2090 + }; 2748 2091 2749 2092 static const struct sh_pfc_pin_group pinmux_groups[] = { 2093 + SH_PFC_PIN_GROUP(bsc_data8), 2094 + SH_PFC_PIN_GROUP(bsc_data16), 2095 + SH_PFC_PIN_GROUP(bsc_data32), 2096 + SH_PFC_PIN_GROUP(bsc_cs0), 2097 + SH_PFC_PIN_GROUP(bsc_cs2), 2098 + SH_PFC_PIN_GROUP(bsc_cs4), 2099 + SH_PFC_PIN_GROUP(bsc_cs5a_0), 2100 + SH_PFC_PIN_GROUP(bsc_cs5a_1), 2101 + SH_PFC_PIN_GROUP(bsc_cs5b), 2102 + SH_PFC_PIN_GROUP(bsc_cs6a), 2103 + SH_PFC_PIN_GROUP(bsc_rd_we8), 2104 + SH_PFC_PIN_GROUP(bsc_rd_we16), 2105 + SH_PFC_PIN_GROUP(bsc_rd_we32), 2106 + SH_PFC_PIN_GROUP(bsc_bs), 2107 + SH_PFC_PIN_GROUP(bsc_rdwr), 2108 + SH_PFC_PIN_GROUP(ceu0_data_0_7), 2109 + SH_PFC_PIN_GROUP(ceu0_data_8_15_0), 2110 + SH_PFC_PIN_GROUP(ceu0_data_8_15_1), 2111 + SH_PFC_PIN_GROUP(ceu0_clk_0), 2112 + SH_PFC_PIN_GROUP(ceu0_clk_1), 2113 + SH_PFC_PIN_GROUP(ceu0_clk_2), 2114 + SH_PFC_PIN_GROUP(ceu0_sync), 2115 + SH_PFC_PIN_GROUP(ceu0_field), 2116 + SH_PFC_PIN_GROUP(ceu1_data), 2117 + SH_PFC_PIN_GROUP(ceu1_clk), 2118 + SH_PFC_PIN_GROUP(ceu1_sync), 2119 + SH_PFC_PIN_GROUP(ceu1_field), 2120 + SH_PFC_PIN_GROUP(fsia_mclk_in), 2121 + SH_PFC_PIN_GROUP(fsia_mclk_out), 2122 + SH_PFC_PIN_GROUP(fsia_sclk_in), 2123 + SH_PFC_PIN_GROUP(fsia_sclk_out), 2124 + SH_PFC_PIN_GROUP(fsia_data_in_0), 2125 + SH_PFC_PIN_GROUP(fsia_data_in_1), 2126 + SH_PFC_PIN_GROUP(fsia_data_out_0), 2127 + SH_PFC_PIN_GROUP(fsia_data_out_1), 2128 + SH_PFC_PIN_GROUP(fsia_data_out_2), 2129 + SH_PFC_PIN_GROUP(fsia_spdif_0), 2130 + SH_PFC_PIN_GROUP(fsia_spdif_1), 2131 + SH_PFC_PIN_GROUP(fsib_mclk_in), 2132 + SH_PFC_PIN_GROUP(gether_rmii), 2133 + SH_PFC_PIN_GROUP(gether_mii), 2134 + SH_PFC_PIN_GROUP(gether_gmii), 2135 + SH_PFC_PIN_GROUP(gether_int), 2136 + SH_PFC_PIN_GROUP(gether_link), 2137 + SH_PFC_PIN_GROUP(gether_wol), 2138 + SH_PFC_PIN_GROUP(hdmi), 2139 + SH_PFC_PIN_GROUP(intc_irq0_0), 2140 + SH_PFC_PIN_GROUP(intc_irq0_1), 2141 + SH_PFC_PIN_GROUP(intc_irq1), 2142 + SH_PFC_PIN_GROUP(intc_irq2_0), 2143 + SH_PFC_PIN_GROUP(intc_irq2_1), 2144 + SH_PFC_PIN_GROUP(intc_irq3_0), 2145 + SH_PFC_PIN_GROUP(intc_irq3_1), 2146 + SH_PFC_PIN_GROUP(intc_irq4_0), 2147 + SH_PFC_PIN_GROUP(intc_irq4_1), 2148 + SH_PFC_PIN_GROUP(intc_irq5_0), 2149 + SH_PFC_PIN_GROUP(intc_irq5_1), 2150 + SH_PFC_PIN_GROUP(intc_irq6_0), 2151 + SH_PFC_PIN_GROUP(intc_irq6_1), 2152 + SH_PFC_PIN_GROUP(intc_irq7_0), 2153 + SH_PFC_PIN_GROUP(intc_irq7_1), 2154 + SH_PFC_PIN_GROUP(intc_irq8), 2155 + SH_PFC_PIN_GROUP(intc_irq9_0), 2156 + SH_PFC_PIN_GROUP(intc_irq9_1), 2157 + SH_PFC_PIN_GROUP(intc_irq10), 2158 + SH_PFC_PIN_GROUP(intc_irq11), 2159 + SH_PFC_PIN_GROUP(intc_irq12_0), 2160 + SH_PFC_PIN_GROUP(intc_irq12_1), 2161 + SH_PFC_PIN_GROUP(intc_irq13_0), 2162 + SH_PFC_PIN_GROUP(intc_irq13_1), 2163 + SH_PFC_PIN_GROUP(intc_irq14_0), 2164 + SH_PFC_PIN_GROUP(intc_irq14_1), 2165 + SH_PFC_PIN_GROUP(intc_irq15_0), 2166 + SH_PFC_PIN_GROUP(intc_irq15_1), 2167 + SH_PFC_PIN_GROUP(intc_irq16_0), 2168 + SH_PFC_PIN_GROUP(intc_irq16_1), 2169 + SH_PFC_PIN_GROUP(intc_irq17), 2170 + SH_PFC_PIN_GROUP(intc_irq18), 2171 + SH_PFC_PIN_GROUP(intc_irq19), 2172 + SH_PFC_PIN_GROUP(intc_irq20), 2173 + SH_PFC_PIN_GROUP(intc_irq21), 2174 + SH_PFC_PIN_GROUP(intc_irq22), 2175 + SH_PFC_PIN_GROUP(intc_irq23), 2176 + SH_PFC_PIN_GROUP(intc_irq24), 2177 + SH_PFC_PIN_GROUP(intc_irq25), 2178 + SH_PFC_PIN_GROUP(intc_irq26_0), 2179 + SH_PFC_PIN_GROUP(intc_irq26_1), 2180 + SH_PFC_PIN_GROUP(intc_irq27_0), 2181 + SH_PFC_PIN_GROUP(intc_irq27_1), 2182 + SH_PFC_PIN_GROUP(intc_irq28_0), 2183 + SH_PFC_PIN_GROUP(intc_irq28_1), 2184 + SH_PFC_PIN_GROUP(intc_irq29_0), 2185 + SH_PFC_PIN_GROUP(intc_irq29_1), 2186 + SH_PFC_PIN_GROUP(intc_irq30_0), 2187 + SH_PFC_PIN_GROUP(intc_irq30_1), 2188 + SH_PFC_PIN_GROUP(intc_irq31_0), 2189 + SH_PFC_PIN_GROUP(intc_irq31_1), 2750 2190 SH_PFC_PIN_GROUP(lcd0_data8), 2751 2191 SH_PFC_PIN_GROUP(lcd0_data9), 2752 2192 SH_PFC_PIN_GROUP(lcd0_data12), ··· 2910 2084 SH_PFC_PIN_GROUP(mmc0_data4_1), 2911 2085 SH_PFC_PIN_GROUP(mmc0_data8_1), 2912 2086 SH_PFC_PIN_GROUP(mmc0_ctrl_1), 2087 + SH_PFC_PIN_GROUP(scifa0_data), 2088 + SH_PFC_PIN_GROUP(scifa0_clk), 2089 + SH_PFC_PIN_GROUP(scifa0_ctrl), 2090 + SH_PFC_PIN_GROUP(scifa1_data), 2091 + SH_PFC_PIN_GROUP(scifa1_clk), 2092 + SH_PFC_PIN_GROUP(scifa1_ctrl), 2093 + SH_PFC_PIN_GROUP(scifa2_data), 2094 + SH_PFC_PIN_GROUP(scifa2_clk_0), 2095 + SH_PFC_PIN_GROUP(scifa2_clk_1), 2096 + SH_PFC_PIN_GROUP(scifa2_ctrl), 2097 + SH_PFC_PIN_GROUP(scifa3_data_0), 2098 + SH_PFC_PIN_GROUP(scifa3_clk_0), 2099 + SH_PFC_PIN_GROUP(scifa3_ctrl_0), 2100 + SH_PFC_PIN_GROUP(scifa3_data_1), 2101 + SH_PFC_PIN_GROUP(scifa3_clk_1), 2102 + SH_PFC_PIN_GROUP(scifa3_ctrl_1), 2103 + SH_PFC_PIN_GROUP(scifa4_data_0), 2104 + SH_PFC_PIN_GROUP(scifa4_data_1), 2105 + SH_PFC_PIN_GROUP(scifa4_data_2), 2106 + SH_PFC_PIN_GROUP(scifa4_clk_0), 2107 + SH_PFC_PIN_GROUP(scifa4_clk_1), 2108 + SH_PFC_PIN_GROUP(scifa5_data_0), 2109 + SH_PFC_PIN_GROUP(scifa5_data_1), 2110 + SH_PFC_PIN_GROUP(scifa5_data_2), 2111 + SH_PFC_PIN_GROUP(scifa5_clk_0), 2112 + SH_PFC_PIN_GROUP(scifa5_clk_1), 2113 + SH_PFC_PIN_GROUP(scifa6_data), 2114 + SH_PFC_PIN_GROUP(scifa6_clk), 2115 + SH_PFC_PIN_GROUP(scifa7_data), 2116 + SH_PFC_PIN_GROUP(scifb_data_0), 2117 + SH_PFC_PIN_GROUP(scifb_clk_0), 2118 + SH_PFC_PIN_GROUP(scifb_ctrl_0), 2119 + SH_PFC_PIN_GROUP(scifb_data_1), 2120 + SH_PFC_PIN_GROUP(scifb_clk_1), 2121 + SH_PFC_PIN_GROUP(scifb_ctrl_1), 2913 2122 SH_PFC_PIN_GROUP(sdhi0_data1), 2914 2123 SH_PFC_PIN_GROUP(sdhi0_data4), 2915 2124 SH_PFC_PIN_GROUP(sdhi0_ctrl), ··· 2962 2101 SH_PFC_PIN_GROUP(sdhi2_wp_0), 2963 2102 SH_PFC_PIN_GROUP(sdhi2_cd_1), 2964 2103 SH_PFC_PIN_GROUP(sdhi2_wp_1), 2104 + SH_PFC_PIN_GROUP(tpu0_to0), 2105 + SH_PFC_PIN_GROUP(tpu0_to1), 2106 + SH_PFC_PIN_GROUP(tpu0_to2_0), 2107 + SH_PFC_PIN_GROUP(tpu0_to2_1), 2108 + SH_PFC_PIN_GROUP(tpu0_to3), 2109 + }; 2110 + 2111 + static const char * const bsc_groups[] = { 2112 + "bsc_data8", 2113 + "bsc_data16", 2114 + "bsc_data32", 2115 + "bsc_cs0", 2116 + "bsc_cs2", 2117 + "bsc_cs4", 2118 + "bsc_cs5a_0", 2119 + "bsc_cs5a_1", 2120 + "bsc_cs5b", 2121 + "bsc_cs6a", 2122 + "bsc_rd_we8", 2123 + "bsc_rd_we16", 2124 + "bsc_rd_we32", 2125 + "bsc_bs", 2126 + "bsc_rdwr", 2127 + }; 2128 + 2129 + static const char * const ceu0_groups[] = { 2130 + "ceu0_data_0_7", 2131 + "ceu0_data_8_15_0", 2132 + "ceu0_data_8_15_1", 2133 + "ceu0_clk_0", 2134 + "ceu0_clk_1", 2135 + "ceu0_clk_2", 2136 + "ceu0_sync", 2137 + "ceu0_field", 2138 + }; 2139 + 2140 + static const char * const ceu1_groups[] = { 2141 + "ceu1_data", 2142 + "ceu1_clk", 2143 + "ceu1_sync", 2144 + "ceu1_field", 2145 + }; 2146 + 2147 + static const char * const fsia_groups[] = { 2148 + "fsia_mclk_in", 2149 + "fsia_mclk_out", 2150 + "fsia_sclk_in", 2151 + "fsia_sclk_out", 2152 + "fsia_data_in_0", 2153 + "fsia_data_in_1", 2154 + "fsia_data_out_0", 2155 + "fsia_data_out_1", 2156 + "fsia_data_out_2", 2157 + "fsia_spdif_0", 2158 + "fsia_spdif_1", 2159 + }; 2160 + 2161 + static const char * const fsib_groups[] = { 2162 + "fsib_mclk_in", 2163 + }; 2164 + 2165 + static const char * const gether_groups[] = { 2166 + "gether_rmii", 2167 + "gether_mii", 2168 + "gether_gmii", 2169 + "gether_int", 2170 + "gether_link", 2171 + "gether_wol", 2172 + }; 2173 + 2174 + static const char * const hdmi_groups[] = { 2175 + "hdmi", 2176 + }; 2177 + 2178 + static const char * const intc_groups[] = { 2179 + "intc_irq0_0", 2180 + "intc_irq0_1", 2181 + "intc_irq1", 2182 + "intc_irq2_0", 2183 + "intc_irq2_1", 2184 + "intc_irq3_0", 2185 + "intc_irq3_1", 2186 + "intc_irq4_0", 2187 + "intc_irq4_1", 2188 + "intc_irq5_0", 2189 + "intc_irq5_1", 2190 + "intc_irq6_0", 2191 + "intc_irq6_1", 2192 + "intc_irq7_0", 2193 + "intc_irq7_1", 2194 + "intc_irq8", 2195 + "intc_irq9_0", 2196 + "intc_irq9_1", 2197 + "intc_irq10", 2198 + "intc_irq11", 2199 + "intc_irq12_0", 2200 + "intc_irq12_1", 2201 + "intc_irq13_0", 2202 + "intc_irq13_1", 2203 + "intc_irq14_0", 2204 + "intc_irq14_1", 2205 + "intc_irq15_0", 2206 + "intc_irq15_1", 2207 + "intc_irq16_0", 2208 + "intc_irq16_1", 2209 + "intc_irq17", 2210 + "intc_irq18", 2211 + "intc_irq19", 2212 + "intc_irq20", 2213 + "intc_irq21", 2214 + "intc_irq22", 2215 + "intc_irq23", 2216 + "intc_irq24", 2217 + "intc_irq25", 2218 + "intc_irq26_0", 2219 + "intc_irq26_1", 2220 + "intc_irq27_0", 2221 + "intc_irq27_1", 2222 + "intc_irq28_0", 2223 + "intc_irq28_1", 2224 + "intc_irq29_0", 2225 + "intc_irq29_1", 2226 + "intc_irq30_0", 2227 + "intc_irq30_1", 2228 + "intc_irq31_0", 2229 + "intc_irq31_1", 2965 2230 }; 2966 2231 2967 2232 static const char * const lcd0_groups[] = { ··· 3129 2142 "mmc0_ctrl_1", 3130 2143 }; 3131 2144 2145 + static const char * const scifa0_groups[] = { 2146 + "scifa0_data", 2147 + "scifa0_clk", 2148 + "scifa0_ctrl", 2149 + }; 2150 + 2151 + static const char * const scifa1_groups[] = { 2152 + "scifa1_data", 2153 + "scifa1_clk", 2154 + "scifa1_ctrl", 2155 + }; 2156 + 2157 + static const char * const scifa2_groups[] = { 2158 + "scifa2_data", 2159 + "scifa2_clk_0", 2160 + "scifa2_clk_1", 2161 + "scifa2_ctrl", 2162 + }; 2163 + 2164 + static const char * const scifa3_groups[] = { 2165 + "scifa3_data_0", 2166 + "scifa3_clk_0", 2167 + "scifa3_ctrl_0", 2168 + "scifa3_data_1", 2169 + "scifa3_clk_1", 2170 + "scifa3_ctrl_1", 2171 + }; 2172 + 2173 + static const char * const scifa4_groups[] = { 2174 + "scifa4_data_0", 2175 + "scifa4_data_1", 2176 + "scifa4_data_2", 2177 + "scifa4_clk_0", 2178 + "scifa4_clk_1", 2179 + }; 2180 + 2181 + static const char * const scifa5_groups[] = { 2182 + "scifa5_data_0", 2183 + "scifa5_data_1", 2184 + "scifa5_data_2", 2185 + "scifa5_clk_0", 2186 + "scifa5_clk_1", 2187 + }; 2188 + 2189 + static const char * const scifa6_groups[] = { 2190 + "scifa6_data", 2191 + "scifa6_clk", 2192 + }; 2193 + 2194 + static const char * const scifa7_groups[] = { 2195 + "scifa7_data", 2196 + }; 2197 + 2198 + static const char * const scifb_groups[] = { 2199 + "scifb_data_0", 2200 + "scifb_clk_0", 2201 + "scifb_ctrl_0", 2202 + "scifb_data_1", 2203 + "scifb_clk_1", 2204 + "scifb_ctrl_1", 2205 + }; 2206 + 3132 2207 static const char * const sdhi0_groups[] = { 3133 2208 "sdhi0_data1", 3134 2209 "sdhi0_data4", ··· 3217 2168 "sdhi2_wp_1", 3218 2169 }; 3219 2170 2171 + static const char * const tpu0_groups[] = { 2172 + "tpu0_to0", 2173 + "tpu0_to1", 2174 + "tpu0_to2_0", 2175 + "tpu0_to2_1", 2176 + "tpu0_to3", 2177 + }; 2178 + 3220 2179 static const struct sh_pfc_function pinmux_functions[] = { 2180 + SH_PFC_FUNCTION(bsc), 2181 + SH_PFC_FUNCTION(ceu0), 2182 + SH_PFC_FUNCTION(ceu1), 2183 + SH_PFC_FUNCTION(fsia), 2184 + SH_PFC_FUNCTION(fsib), 2185 + SH_PFC_FUNCTION(gether), 2186 + SH_PFC_FUNCTION(hdmi), 2187 + SH_PFC_FUNCTION(intc), 3221 2188 SH_PFC_FUNCTION(lcd0), 3222 2189 SH_PFC_FUNCTION(lcd1), 3223 2190 SH_PFC_FUNCTION(mmc0), 2191 + SH_PFC_FUNCTION(scifa0), 2192 + SH_PFC_FUNCTION(scifa1), 2193 + SH_PFC_FUNCTION(scifa2), 2194 + SH_PFC_FUNCTION(scifa3), 2195 + SH_PFC_FUNCTION(scifa4), 2196 + SH_PFC_FUNCTION(scifa5), 2197 + SH_PFC_FUNCTION(scifa6), 2198 + SH_PFC_FUNCTION(scifa7), 2199 + SH_PFC_FUNCTION(scifb), 3224 2200 SH_PFC_FUNCTION(sdhi0), 3225 2201 SH_PFC_FUNCTION(sdhi1), 3226 2202 SH_PFC_FUNCTION(sdhi2), 2203 + SH_PFC_FUNCTION(tpu0), 3227 2204 }; 3228 2205 3229 - #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins) 3230 - 3231 - static const struct pinmux_func pinmux_func_gpios[] = { 3232 - /* IRQ */ 3233 - GPIO_FN(IRQ0_PORT2), GPIO_FN(IRQ0_PORT13), 3234 - GPIO_FN(IRQ1), 3235 - GPIO_FN(IRQ2_PORT11), GPIO_FN(IRQ2_PORT12), 3236 - GPIO_FN(IRQ3_PORT10), GPIO_FN(IRQ3_PORT14), 3237 - GPIO_FN(IRQ4_PORT15), GPIO_FN(IRQ4_PORT172), 3238 - GPIO_FN(IRQ5_PORT0), GPIO_FN(IRQ5_PORT1), 3239 - GPIO_FN(IRQ6_PORT121), GPIO_FN(IRQ6_PORT173), 3240 - GPIO_FN(IRQ7_PORT120), GPIO_FN(IRQ7_PORT209), 3241 - GPIO_FN(IRQ8), 3242 - GPIO_FN(IRQ9_PORT118), GPIO_FN(IRQ9_PORT210), 3243 - GPIO_FN(IRQ10), 3244 - GPIO_FN(IRQ11), 3245 - GPIO_FN(IRQ12_PORT42), GPIO_FN(IRQ12_PORT97), 3246 - GPIO_FN(IRQ13_PORT64), GPIO_FN(IRQ13_PORT98), 3247 - GPIO_FN(IRQ14_PORT63), GPIO_FN(IRQ14_PORT99), 3248 - GPIO_FN(IRQ15_PORT62), GPIO_FN(IRQ15_PORT100), 3249 - GPIO_FN(IRQ16_PORT68), GPIO_FN(IRQ16_PORT211), 3250 - GPIO_FN(IRQ17), 3251 - GPIO_FN(IRQ18), 3252 - GPIO_FN(IRQ19), 3253 - GPIO_FN(IRQ20), 3254 - GPIO_FN(IRQ21), 3255 - GPIO_FN(IRQ22), 3256 - GPIO_FN(IRQ23), 3257 - GPIO_FN(IRQ24), 3258 - GPIO_FN(IRQ25), 3259 - GPIO_FN(IRQ26_PORT58), GPIO_FN(IRQ26_PORT81), 3260 - GPIO_FN(IRQ27_PORT57), GPIO_FN(IRQ27_PORT168), 3261 - GPIO_FN(IRQ28_PORT56), GPIO_FN(IRQ28_PORT169), 3262 - GPIO_FN(IRQ29_PORT50), GPIO_FN(IRQ29_PORT170), 3263 - GPIO_FN(IRQ30_PORT49), GPIO_FN(IRQ30_PORT171), 3264 - GPIO_FN(IRQ31_PORT41), GPIO_FN(IRQ31_PORT167), 3265 - 3266 - /* Function */ 3267 - 3268 - /* DBGT */ 3269 - GPIO_FN(DBGMDT2), GPIO_FN(DBGMDT1), GPIO_FN(DBGMDT0), 3270 - GPIO_FN(DBGMD10), GPIO_FN(DBGMD11), GPIO_FN(DBGMD20), 3271 - GPIO_FN(DBGMD21), 3272 - 3273 - /* FSI-A */ 3274 - GPIO_FN(FSIAISLD_PORT0), /* FSIAISLD Port 0/5 */ 3275 - GPIO_FN(FSIAISLD_PORT5), 3276 - GPIO_FN(FSIASPDIF_PORT9), /* FSIASPDIF Port 9/18 */ 3277 - GPIO_FN(FSIASPDIF_PORT18), 3278 - GPIO_FN(FSIAOSLD1), GPIO_FN(FSIAOSLD2), GPIO_FN(FSIAOLR), 3279 - GPIO_FN(FSIAOBT), GPIO_FN(FSIAOSLD), GPIO_FN(FSIAOMC), 3280 - GPIO_FN(FSIACK), GPIO_FN(FSIAILR), GPIO_FN(FSIAIBT), 3281 - 3282 - /* FSI-B */ 3283 - GPIO_FN(FSIBCK), 3284 - 3285 - /* FMSI */ 3286 - GPIO_FN(FMSISLD_PORT1), /* FMSISLD Port 1/6 */ 3287 - GPIO_FN(FMSISLD_PORT6), 3288 - GPIO_FN(FMSIILR), GPIO_FN(FMSIIBT), GPIO_FN(FMSIOLR), 3289 - GPIO_FN(FMSIOBT), GPIO_FN(FMSICK), GPIO_FN(FMSOILR), 3290 - GPIO_FN(FMSOIBT), GPIO_FN(FMSOOLR), GPIO_FN(FMSOOBT), 3291 - GPIO_FN(FMSOSLD), GPIO_FN(FMSOCK), 3292 - 3293 - /* SCIFA0 */ 3294 - GPIO_FN(SCIFA0_SCK), GPIO_FN(SCIFA0_CTS), GPIO_FN(SCIFA0_RTS), 3295 - GPIO_FN(SCIFA0_RXD), GPIO_FN(SCIFA0_TXD), 3296 - 3297 - /* SCIFA1 */ 3298 - GPIO_FN(SCIFA1_CTS), GPIO_FN(SCIFA1_SCK), 3299 - GPIO_FN(SCIFA1_RXD), GPIO_FN(SCIFA1_TXD), GPIO_FN(SCIFA1_RTS), 3300 - 3301 - /* SCIFA2 */ 3302 - GPIO_FN(SCIFA2_SCK_PORT22), /* SCIFA2_SCK Port 22/199 */ 3303 - GPIO_FN(SCIFA2_SCK_PORT199), 3304 - GPIO_FN(SCIFA2_RXD), GPIO_FN(SCIFA2_TXD), 3305 - GPIO_FN(SCIFA2_CTS), GPIO_FN(SCIFA2_RTS), 3306 - 3307 - /* SCIFA3 */ 3308 - GPIO_FN(SCIFA3_RTS_PORT105), /* MSEL5CR_8_0 */ 3309 - GPIO_FN(SCIFA3_SCK_PORT116), 3310 - GPIO_FN(SCIFA3_CTS_PORT117), 3311 - GPIO_FN(SCIFA3_RXD_PORT174), 3312 - GPIO_FN(SCIFA3_TXD_PORT175), 3313 - 3314 - GPIO_FN(SCIFA3_RTS_PORT161), /* MSEL5CR_8_1 */ 3315 - GPIO_FN(SCIFA3_SCK_PORT158), 3316 - GPIO_FN(SCIFA3_CTS_PORT162), 3317 - GPIO_FN(SCIFA3_RXD_PORT159), 3318 - GPIO_FN(SCIFA3_TXD_PORT160), 3319 - 3320 - /* SCIFA4 */ 3321 - GPIO_FN(SCIFA4_RXD_PORT12), /* MSEL5CR[12:11] = 00 */ 3322 - GPIO_FN(SCIFA4_TXD_PORT13), 3323 - 3324 - GPIO_FN(SCIFA4_RXD_PORT204), /* MSEL5CR[12:11] = 01 */ 3325 - GPIO_FN(SCIFA4_TXD_PORT203), 3326 - 3327 - GPIO_FN(SCIFA4_RXD_PORT94), /* MSEL5CR[12:11] = 10 */ 3328 - GPIO_FN(SCIFA4_TXD_PORT93), 3329 - 3330 - GPIO_FN(SCIFA4_SCK_PORT21), /* SCIFA4_SCK Port 21/205 */ 3331 - GPIO_FN(SCIFA4_SCK_PORT205), 3332 - 3333 - /* SCIFA5 */ 3334 - GPIO_FN(SCIFA5_TXD_PORT20), /* MSEL5CR[15:14] = 00 */ 3335 - GPIO_FN(SCIFA5_RXD_PORT10), 3336 - 3337 - GPIO_FN(SCIFA5_RXD_PORT207), /* MSEL5CR[15:14] = 01 */ 3338 - GPIO_FN(SCIFA5_TXD_PORT208), 3339 - 3340 - GPIO_FN(SCIFA5_TXD_PORT91), /* MSEL5CR[15:14] = 10 */ 3341 - GPIO_FN(SCIFA5_RXD_PORT92), 3342 - 3343 - GPIO_FN(SCIFA5_SCK_PORT23), /* SCIFA5_SCK Port 23/206 */ 3344 - GPIO_FN(SCIFA5_SCK_PORT206), 3345 - 3346 - /* SCIFA6 */ 3347 - GPIO_FN(SCIFA6_SCK), GPIO_FN(SCIFA6_RXD), GPIO_FN(SCIFA6_TXD), 3348 - 3349 - /* SCIFA7 */ 3350 - GPIO_FN(SCIFA7_TXD), GPIO_FN(SCIFA7_RXD), 3351 - 3352 - /* SCIFAB */ 3353 - GPIO_FN(SCIFB_SCK_PORT190), /* MSEL5CR_17_0 */ 3354 - GPIO_FN(SCIFB_RXD_PORT191), 3355 - GPIO_FN(SCIFB_TXD_PORT192), 3356 - GPIO_FN(SCIFB_RTS_PORT186), 3357 - GPIO_FN(SCIFB_CTS_PORT187), 3358 - 3359 - GPIO_FN(SCIFB_SCK_PORT2), /* MSEL5CR_17_1 */ 3360 - GPIO_FN(SCIFB_RXD_PORT3), 3361 - GPIO_FN(SCIFB_TXD_PORT4), 3362 - GPIO_FN(SCIFB_RTS_PORT172), 3363 - GPIO_FN(SCIFB_CTS_PORT173), 3364 - 3365 - /* RSPI */ 3366 - GPIO_FN(RSPI_SSL0_A), GPIO_FN(RSPI_SSL1_A), GPIO_FN(RSPI_SSL2_A), 3367 - GPIO_FN(RSPI_SSL3_A), GPIO_FN(RSPI_CK_A), GPIO_FN(RSPI_MOSI_A), 3368 - GPIO_FN(RSPI_MISO_A), 3369 - 3370 - /* VIO CKO */ 3371 - GPIO_FN(VIO_CKO1), 3372 - GPIO_FN(VIO_CKO2), 3373 - GPIO_FN(VIO_CKO_1), 3374 - GPIO_FN(VIO_CKO), 3375 - 3376 - /* VIO0 */ 3377 - GPIO_FN(VIO0_D0), GPIO_FN(VIO0_D1), GPIO_FN(VIO0_D2), 3378 - GPIO_FN(VIO0_D3), GPIO_FN(VIO0_D4), GPIO_FN(VIO0_D5), 3379 - GPIO_FN(VIO0_D6), GPIO_FN(VIO0_D7), GPIO_FN(VIO0_D8), 3380 - GPIO_FN(VIO0_D9), GPIO_FN(VIO0_D10), GPIO_FN(VIO0_D11), 3381 - GPIO_FN(VIO0_D12), GPIO_FN(VIO0_VD), GPIO_FN(VIO0_HD), 3382 - GPIO_FN(VIO0_CLK), GPIO_FN(VIO0_FIELD), 3383 - 3384 - GPIO_FN(VIO0_D13_PORT26), /* MSEL5CR_27_0 */ 3385 - GPIO_FN(VIO0_D14_PORT25), 3386 - GPIO_FN(VIO0_D15_PORT24), 3387 - 3388 - GPIO_FN(VIO0_D13_PORT22), /* MSEL5CR_27_1 */ 3389 - GPIO_FN(VIO0_D14_PORT95), 3390 - GPIO_FN(VIO0_D15_PORT96), 3391 - 3392 - /* VIO1 */ 3393 - GPIO_FN(VIO1_D0), GPIO_FN(VIO1_D1), GPIO_FN(VIO1_D2), 3394 - GPIO_FN(VIO1_D3), GPIO_FN(VIO1_D4), GPIO_FN(VIO1_D5), 3395 - GPIO_FN(VIO1_D6), GPIO_FN(VIO1_D7), GPIO_FN(VIO1_VD), 3396 - GPIO_FN(VIO1_HD), GPIO_FN(VIO1_CLK), GPIO_FN(VIO1_FIELD), 3397 - 3398 - /* TPU0 */ 3399 - GPIO_FN(TPU0TO0), GPIO_FN(TPU0TO1), GPIO_FN(TPU0TO3), 3400 - GPIO_FN(TPU0TO2_PORT66), /* TPU0TO2 Port 66/202 */ 3401 - GPIO_FN(TPU0TO2_PORT202), 3402 - 3403 - /* SSP1 0 */ 3404 - GPIO_FN(STP0_IPD0), GPIO_FN(STP0_IPD1), GPIO_FN(STP0_IPD2), 3405 - GPIO_FN(STP0_IPD3), GPIO_FN(STP0_IPD4), GPIO_FN(STP0_IPD5), 3406 - GPIO_FN(STP0_IPD6), GPIO_FN(STP0_IPD7), GPIO_FN(STP0_IPEN), 3407 - GPIO_FN(STP0_IPCLK), GPIO_FN(STP0_IPSYNC), 3408 - 3409 - /* SSP1 1 */ 3410 - GPIO_FN(STP1_IPD1), GPIO_FN(STP1_IPD2), GPIO_FN(STP1_IPD3), 3411 - GPIO_FN(STP1_IPD4), GPIO_FN(STP1_IPD5), GPIO_FN(STP1_IPD6), 3412 - GPIO_FN(STP1_IPD7), GPIO_FN(STP1_IPCLK), GPIO_FN(STP1_IPSYNC), 3413 - 3414 - GPIO_FN(STP1_IPD0_PORT186), /* MSEL5CR_23_0 */ 3415 - GPIO_FN(STP1_IPEN_PORT187), 3416 - 3417 - GPIO_FN(STP1_IPD0_PORT194), /* MSEL5CR_23_1 */ 3418 - GPIO_FN(STP1_IPEN_PORT193), 3419 - 3420 - /* SIM */ 3421 - GPIO_FN(SIM_RST), GPIO_FN(SIM_CLK), 3422 - GPIO_FN(SIM_D_PORT22), /* SIM_D Port 22/199 */ 3423 - GPIO_FN(SIM_D_PORT199), 3424 - 3425 - /* MSIOF2 */ 3426 - GPIO_FN(MSIOF2_TXD), GPIO_FN(MSIOF2_RXD), GPIO_FN(MSIOF2_TSCK), 3427 - GPIO_FN(MSIOF2_SS2), GPIO_FN(MSIOF2_TSYNC), GPIO_FN(MSIOF2_SS1), 3428 - GPIO_FN(MSIOF2_MCK1), GPIO_FN(MSIOF2_MCK0), GPIO_FN(MSIOF2_RSYNC), 3429 - GPIO_FN(MSIOF2_RSCK), 3430 - 3431 - /* KEYSC */ 3432 - GPIO_FN(KEYIN4), GPIO_FN(KEYIN5), 3433 - GPIO_FN(KEYIN6), GPIO_FN(KEYIN7), 3434 - GPIO_FN(KEYOUT0), GPIO_FN(KEYOUT1), GPIO_FN(KEYOUT2), 3435 - GPIO_FN(KEYOUT3), GPIO_FN(KEYOUT4), GPIO_FN(KEYOUT5), 3436 - GPIO_FN(KEYOUT6), GPIO_FN(KEYOUT7), 3437 - 3438 - GPIO_FN(KEYIN0_PORT43), /* MSEL4CR_18_0 */ 3439 - GPIO_FN(KEYIN1_PORT44), 3440 - GPIO_FN(KEYIN2_PORT45), 3441 - GPIO_FN(KEYIN3_PORT46), 3442 - 3443 - GPIO_FN(KEYIN0_PORT58), /* MSEL4CR_18_1 */ 3444 - GPIO_FN(KEYIN1_PORT57), 3445 - GPIO_FN(KEYIN2_PORT56), 3446 - GPIO_FN(KEYIN3_PORT55), 3447 - 3448 - /* VOU */ 3449 - GPIO_FN(DV_D0), GPIO_FN(DV_D1), GPIO_FN(DV_D2), 3450 - GPIO_FN(DV_D3), GPIO_FN(DV_D4), GPIO_FN(DV_D5), 3451 - GPIO_FN(DV_D6), GPIO_FN(DV_D7), GPIO_FN(DV_D8), 3452 - GPIO_FN(DV_D9), GPIO_FN(DV_D10), GPIO_FN(DV_D11), 3453 - GPIO_FN(DV_D12), GPIO_FN(DV_D13), GPIO_FN(DV_D14), 3454 - GPIO_FN(DV_D15), GPIO_FN(DV_CLK), 3455 - GPIO_FN(DV_VSYNC), GPIO_FN(DV_HSYNC), 3456 - 3457 - /* MEMC */ 3458 - GPIO_FN(MEMC_AD0), GPIO_FN(MEMC_AD1), GPIO_FN(MEMC_AD2), 3459 - GPIO_FN(MEMC_AD3), GPIO_FN(MEMC_AD4), GPIO_FN(MEMC_AD5), 3460 - GPIO_FN(MEMC_AD6), GPIO_FN(MEMC_AD7), GPIO_FN(MEMC_AD8), 3461 - GPIO_FN(MEMC_AD9), GPIO_FN(MEMC_AD10), GPIO_FN(MEMC_AD11), 3462 - GPIO_FN(MEMC_AD12), GPIO_FN(MEMC_AD13), GPIO_FN(MEMC_AD14), 3463 - GPIO_FN(MEMC_AD15), GPIO_FN(MEMC_CS0), GPIO_FN(MEMC_INT), 3464 - GPIO_FN(MEMC_NWE), GPIO_FN(MEMC_NOE), GPIO_FN(MEMC_CS1), 3465 - GPIO_FN(MEMC_A1), GPIO_FN(MEMC_ADV), GPIO_FN(MEMC_DREQ0), 3466 - GPIO_FN(MEMC_WAIT), GPIO_FN(MEMC_DREQ1), GPIO_FN(MEMC_BUSCLK), 3467 - GPIO_FN(MEMC_A0), 3468 - 3469 - /* MSIOF0 */ 3470 - GPIO_FN(MSIOF0_SS1), GPIO_FN(MSIOF0_SS2), GPIO_FN(MSIOF0_RXD), 3471 - GPIO_FN(MSIOF0_TXD), GPIO_FN(MSIOF0_MCK0), GPIO_FN(MSIOF0_MCK1), 3472 - GPIO_FN(MSIOF0_RSYNC), GPIO_FN(MSIOF0_RSCK), GPIO_FN(MSIOF0_TSCK), 3473 - GPIO_FN(MSIOF0_TSYNC), 3474 - 3475 - /* MSIOF1 */ 3476 - GPIO_FN(MSIOF1_RSCK), GPIO_FN(MSIOF1_RSYNC), 3477 - GPIO_FN(MSIOF1_MCK0), GPIO_FN(MSIOF1_MCK1), 3478 - 3479 - GPIO_FN(MSIOF1_SS2_PORT116), GPIO_FN(MSIOF1_SS1_PORT117), 3480 - GPIO_FN(MSIOF1_RXD_PORT118), GPIO_FN(MSIOF1_TXD_PORT119), 3481 - GPIO_FN(MSIOF1_TSYNC_PORT120), 3482 - GPIO_FN(MSIOF1_TSCK_PORT121), /* MSEL4CR_10_0 */ 3483 - 3484 - GPIO_FN(MSIOF1_SS1_PORT67), GPIO_FN(MSIOF1_TSCK_PORT72), 3485 - GPIO_FN(MSIOF1_TSYNC_PORT73), GPIO_FN(MSIOF1_TXD_PORT74), 3486 - GPIO_FN(MSIOF1_RXD_PORT75), 3487 - GPIO_FN(MSIOF1_SS2_PORT202), /* MSEL4CR_10_1 */ 3488 - 3489 - /* GPIO */ 3490 - GPIO_FN(GPO0), GPIO_FN(GPI0), 3491 - GPIO_FN(GPO1), GPIO_FN(GPI1), 3492 - 3493 - /* USB0 */ 3494 - GPIO_FN(USB0_OCI), GPIO_FN(USB0_PPON), GPIO_FN(VBUS), 3495 - 3496 - /* USB1 */ 3497 - GPIO_FN(USB1_OCI), GPIO_FN(USB1_PPON), 3498 - 3499 - /* BBIF1 */ 3500 - GPIO_FN(BBIF1_RXD), GPIO_FN(BBIF1_TXD), GPIO_FN(BBIF1_TSYNC), 3501 - GPIO_FN(BBIF1_TSCK), GPIO_FN(BBIF1_RSCK), GPIO_FN(BBIF1_RSYNC), 3502 - GPIO_FN(BBIF1_FLOW), GPIO_FN(BBIF1_RX_FLOW_N), 3503 - 3504 - /* BBIF2 */ 3505 - GPIO_FN(BBIF2_TXD2_PORT5), /* MSEL5CR_0_0 */ 3506 - GPIO_FN(BBIF2_RXD2_PORT60), 3507 - GPIO_FN(BBIF2_TSYNC2_PORT6), 3508 - GPIO_FN(BBIF2_TSCK2_PORT59), 3509 - 3510 - GPIO_FN(BBIF2_RXD2_PORT90), /* MSEL5CR_0_1 */ 3511 - GPIO_FN(BBIF2_TXD2_PORT183), 3512 - GPIO_FN(BBIF2_TSCK2_PORT89), 3513 - GPIO_FN(BBIF2_TSYNC2_PORT184), 3514 - 3515 - /* BSC / FLCTL / PCMCIA */ 3516 - GPIO_FN(CS0), GPIO_FN(CS2), GPIO_FN(CS4), 3517 - GPIO_FN(CS5B), GPIO_FN(CS6A), 3518 - GPIO_FN(CS5A_PORT105), /* CS5A PORT 19/105 */ 3519 - GPIO_FN(CS5A_PORT19), 3520 - GPIO_FN(IOIS16), /* ? */ 3521 - 3522 - GPIO_FN(A0), GPIO_FN(A1), GPIO_FN(A2), GPIO_FN(A3), 3523 - GPIO_FN(A4_FOE), GPIO_FN(A5_FCDE), /* share with FLCTL */ 3524 - GPIO_FN(A6), GPIO_FN(A7), GPIO_FN(A8), GPIO_FN(A9), 3525 - GPIO_FN(A10), GPIO_FN(A11), GPIO_FN(A12), GPIO_FN(A13), 3526 - GPIO_FN(A14), GPIO_FN(A15), GPIO_FN(A16), GPIO_FN(A17), 3527 - GPIO_FN(A18), GPIO_FN(A19), GPIO_FN(A20), GPIO_FN(A21), 3528 - GPIO_FN(A22), GPIO_FN(A23), GPIO_FN(A24), GPIO_FN(A25), 3529 - GPIO_FN(A26), 3530 - 3531 - GPIO_FN(D0_NAF0), GPIO_FN(D1_NAF1), /* share with FLCTL */ 3532 - GPIO_FN(D2_NAF2), GPIO_FN(D3_NAF3), /* share with FLCTL */ 3533 - GPIO_FN(D4_NAF4), GPIO_FN(D5_NAF5), /* share with FLCTL */ 3534 - GPIO_FN(D6_NAF6), GPIO_FN(D7_NAF7), /* share with FLCTL */ 3535 - GPIO_FN(D8_NAF8), GPIO_FN(D9_NAF9), /* share with FLCTL */ 3536 - GPIO_FN(D10_NAF10), GPIO_FN(D11_NAF11), /* share with FLCTL */ 3537 - GPIO_FN(D12_NAF12), GPIO_FN(D13_NAF13), /* share with FLCTL */ 3538 - GPIO_FN(D14_NAF14), GPIO_FN(D15_NAF15), /* share with FLCTL */ 3539 - GPIO_FN(D16), GPIO_FN(D17), GPIO_FN(D18), GPIO_FN(D19), 3540 - GPIO_FN(D20), GPIO_FN(D21), GPIO_FN(D22), GPIO_FN(D23), 3541 - GPIO_FN(D24), GPIO_FN(D25), GPIO_FN(D26), GPIO_FN(D27), 3542 - GPIO_FN(D28), GPIO_FN(D29), GPIO_FN(D30), GPIO_FN(D31), 3543 - 3544 - GPIO_FN(WE0_FWE), /* share with FLCTL */ 3545 - GPIO_FN(WE1), 3546 - GPIO_FN(WE2_ICIORD), /* share with PCMCIA */ 3547 - GPIO_FN(WE3_ICIOWR), /* share with PCMCIA */ 3548 - GPIO_FN(CKO), GPIO_FN(BS), GPIO_FN(RDWR), 3549 - GPIO_FN(RD_FSC), /* share with FLCTL */ 3550 - GPIO_FN(WAIT_PORT177), /* WAIT Port 90/177 */ 3551 - GPIO_FN(WAIT_PORT90), 3552 - 3553 - GPIO_FN(FCE0), GPIO_FN(FCE1), GPIO_FN(FRB), /* FLCTL */ 3554 - 3555 - /* IRDA */ 3556 - GPIO_FN(IRDA_FIRSEL), GPIO_FN(IRDA_IN), GPIO_FN(IRDA_OUT), 3557 - 3558 - /* ATAPI */ 3559 - GPIO_FN(IDE_D0), GPIO_FN(IDE_D1), GPIO_FN(IDE_D2), 3560 - GPIO_FN(IDE_D3), GPIO_FN(IDE_D4), GPIO_FN(IDE_D5), 3561 - GPIO_FN(IDE_D6), GPIO_FN(IDE_D7), GPIO_FN(IDE_D8), 3562 - GPIO_FN(IDE_D9), GPIO_FN(IDE_D10), GPIO_FN(IDE_D11), 3563 - GPIO_FN(IDE_D12), GPIO_FN(IDE_D13), GPIO_FN(IDE_D14), 3564 - GPIO_FN(IDE_D15), GPIO_FN(IDE_A0), GPIO_FN(IDE_A1), 3565 - GPIO_FN(IDE_A2), GPIO_FN(IDE_CS0), GPIO_FN(IDE_CS1), 3566 - GPIO_FN(IDE_IOWR), GPIO_FN(IDE_IORD), GPIO_FN(IDE_IORDY), 3567 - GPIO_FN(IDE_INT), GPIO_FN(IDE_RST), GPIO_FN(IDE_DIRECTION), 3568 - GPIO_FN(IDE_EXBUF_ENB), GPIO_FN(IDE_IODACK), GPIO_FN(IDE_IODREQ), 3569 - 3570 - /* RMII */ 3571 - GPIO_FN(RMII_CRS_DV), GPIO_FN(RMII_RX_ER), GPIO_FN(RMII_RXD0), 3572 - GPIO_FN(RMII_RXD1), GPIO_FN(RMII_TX_EN), GPIO_FN(RMII_TXD0), 3573 - GPIO_FN(RMII_MDC), GPIO_FN(RMII_TXD1), GPIO_FN(RMII_MDIO), 3574 - GPIO_FN(RMII_REF50CK), GPIO_FN(RMII_REF125CK), /* for GMII */ 3575 - 3576 - /* GEther */ 3577 - GPIO_FN(ET_TX_CLK), GPIO_FN(ET_TX_EN), GPIO_FN(ET_ETXD0), 3578 - GPIO_FN(ET_ETXD1), GPIO_FN(ET_ETXD2), GPIO_FN(ET_ETXD3), 3579 - GPIO_FN(ET_ETXD4), GPIO_FN(ET_ETXD5), /* for GEther */ 3580 - GPIO_FN(ET_ETXD6), GPIO_FN(ET_ETXD7), /* for GEther */ 3581 - GPIO_FN(ET_COL), GPIO_FN(ET_TX_ER), GPIO_FN(ET_RX_CLK), 3582 - GPIO_FN(ET_RX_DV), GPIO_FN(ET_ERXD0), GPIO_FN(ET_ERXD1), 3583 - GPIO_FN(ET_ERXD2), GPIO_FN(ET_ERXD3), 3584 - GPIO_FN(ET_ERXD4), GPIO_FN(ET_ERXD5), /* for GEther */ 3585 - GPIO_FN(ET_ERXD6), GPIO_FN(ET_ERXD7), /* for GEther */ 3586 - GPIO_FN(ET_RX_ER), GPIO_FN(ET_CRS), GPIO_FN(ET_MDC), 3587 - GPIO_FN(ET_MDIO), GPIO_FN(ET_LINK), GPIO_FN(ET_PHY_INT), 3588 - GPIO_FN(ET_WOL), GPIO_FN(ET_GTX_CLK), 3589 - 3590 - /* DMA0 */ 3591 - GPIO_FN(DREQ0), GPIO_FN(DACK0), 3592 - 3593 - /* DMA1 */ 3594 - GPIO_FN(DREQ1), GPIO_FN(DACK1), 3595 - 3596 - /* SYSC */ 3597 - GPIO_FN(RESETOUTS), 3598 - 3599 - /* IRREM */ 3600 - GPIO_FN(IROUT), 3601 - 3602 - /* LCDC */ 3603 - GPIO_FN(LCDC0_SELECT), 3604 - GPIO_FN(LCDC1_SELECT), 3605 - 3606 - /* SDENC */ 3607 - GPIO_FN(SDENC_CPG), 3608 - GPIO_FN(SDENC_DV_CLKI), 3609 - 3610 - /* HDMI */ 3611 - GPIO_FN(HDMI_HPD), 3612 - GPIO_FN(HDMI_CEC), 3613 - 3614 - /* SYSC */ 3615 - GPIO_FN(RESETP_PULLUP), 3616 - GPIO_FN(RESETP_PLAIN), 3617 - 3618 - /* DEBUG */ 3619 - GPIO_FN(EDEBGREQ_PULLDOWN), 3620 - GPIO_FN(EDEBGREQ_PULLUP), 3621 - 3622 - GPIO_FN(TRACEAUD_FROM_VIO), 3623 - GPIO_FN(TRACEAUD_FROM_LCDC0), 3624 - GPIO_FN(TRACEAUD_FROM_MEMC), 3625 - }; 2206 + #undef PORTCR 2207 + #define PORTCR(nr, reg) \ 2208 + { \ 2209 + PINMUX_CFG_REG("PORT" nr "CR", reg, 8, 4) { \ 2210 + _PCRH(PORT##nr##_IN, 0, 0, PORT##nr##_OUT), \ 2211 + PORT##nr##_FN0, PORT##nr##_FN1, \ 2212 + PORT##nr##_FN2, PORT##nr##_FN3, \ 2213 + PORT##nr##_FN4, PORT##nr##_FN5, \ 2214 + PORT##nr##_FN6, PORT##nr##_FN7 } \ 2215 + } 3626 2216 3627 2217 static const struct pinmux_cfg_reg pinmux_config_regs[] = { 3628 2218 PORTCR(0, 0xe6050000), /* PORT0CR */ ··· 3682 2994 }; 3683 2995 3684 2996 static const struct pinmux_irq pinmux_irqs[] = { 3685 - PINMUX_IRQ(irq_pin(0), GPIO_PORT2, GPIO_PORT13), /* IRQ0A */ 3686 - PINMUX_IRQ(irq_pin(1), GPIO_PORT20), /* IRQ1A */ 3687 - PINMUX_IRQ(irq_pin(2), GPIO_PORT11, GPIO_PORT12), /* IRQ2A */ 3688 - PINMUX_IRQ(irq_pin(3), GPIO_PORT10, GPIO_PORT14), /* IRQ3A */ 3689 - PINMUX_IRQ(irq_pin(4), GPIO_PORT15, GPIO_PORT172),/* IRQ4A */ 3690 - PINMUX_IRQ(irq_pin(5), GPIO_PORT0, GPIO_PORT1), /* IRQ5A */ 3691 - PINMUX_IRQ(irq_pin(6), GPIO_PORT121, GPIO_PORT173),/* IRQ6A */ 3692 - PINMUX_IRQ(irq_pin(7), GPIO_PORT120, GPIO_PORT209),/* IRQ7A */ 3693 - PINMUX_IRQ(irq_pin(8), GPIO_PORT119), /* IRQ8A */ 3694 - PINMUX_IRQ(irq_pin(9), GPIO_PORT118, GPIO_PORT210),/* IRQ9A */ 3695 - PINMUX_IRQ(irq_pin(10), GPIO_PORT19), /* IRQ10A */ 3696 - PINMUX_IRQ(irq_pin(11), GPIO_PORT104), /* IRQ11A */ 3697 - PINMUX_IRQ(irq_pin(12), GPIO_PORT42, GPIO_PORT97), /* IRQ12A */ 3698 - PINMUX_IRQ(irq_pin(13), GPIO_PORT64, GPIO_PORT98), /* IRQ13A */ 3699 - PINMUX_IRQ(irq_pin(14), GPIO_PORT63, GPIO_PORT99), /* IRQ14A */ 3700 - PINMUX_IRQ(irq_pin(15), GPIO_PORT62, GPIO_PORT100),/* IRQ15A */ 3701 - PINMUX_IRQ(irq_pin(16), GPIO_PORT68, GPIO_PORT211),/* IRQ16A */ 3702 - PINMUX_IRQ(irq_pin(17), GPIO_PORT69), /* IRQ17A */ 3703 - PINMUX_IRQ(irq_pin(18), GPIO_PORT70), /* IRQ18A */ 3704 - PINMUX_IRQ(irq_pin(19), GPIO_PORT71), /* IRQ19A */ 3705 - PINMUX_IRQ(irq_pin(20), GPIO_PORT67), /* IRQ20A */ 3706 - PINMUX_IRQ(irq_pin(21), GPIO_PORT202), /* IRQ21A */ 3707 - PINMUX_IRQ(irq_pin(22), GPIO_PORT95), /* IRQ22A */ 3708 - PINMUX_IRQ(irq_pin(23), GPIO_PORT96), /* IRQ23A */ 3709 - PINMUX_IRQ(irq_pin(24), GPIO_PORT180), /* IRQ24A */ 3710 - PINMUX_IRQ(irq_pin(25), GPIO_PORT38), /* IRQ25A */ 3711 - PINMUX_IRQ(irq_pin(26), GPIO_PORT58, GPIO_PORT81), /* IRQ26A */ 3712 - PINMUX_IRQ(irq_pin(27), GPIO_PORT57, GPIO_PORT168),/* IRQ27A */ 3713 - PINMUX_IRQ(irq_pin(28), GPIO_PORT56, GPIO_PORT169),/* IRQ28A */ 3714 - PINMUX_IRQ(irq_pin(29), GPIO_PORT50, GPIO_PORT170),/* IRQ29A */ 3715 - PINMUX_IRQ(irq_pin(30), GPIO_PORT49, GPIO_PORT171),/* IRQ30A */ 3716 - PINMUX_IRQ(irq_pin(31), GPIO_PORT41, GPIO_PORT167),/* IRQ31A */ 2997 + PINMUX_IRQ(irq_pin(0), 2, 13), /* IRQ0A */ 2998 + PINMUX_IRQ(irq_pin(1), 20), /* IRQ1A */ 2999 + PINMUX_IRQ(irq_pin(2), 11, 12), /* IRQ2A */ 3000 + PINMUX_IRQ(irq_pin(3), 10, 14), /* IRQ3A */ 3001 + PINMUX_IRQ(irq_pin(4), 15, 172), /* IRQ4A */ 3002 + PINMUX_IRQ(irq_pin(5), 0, 1), /* IRQ5A */ 3003 + PINMUX_IRQ(irq_pin(6), 121, 173), /* IRQ6A */ 3004 + PINMUX_IRQ(irq_pin(7), 120, 209), /* IRQ7A */ 3005 + PINMUX_IRQ(irq_pin(8), 119), /* IRQ8A */ 3006 + PINMUX_IRQ(irq_pin(9), 118, 210), /* IRQ9A */ 3007 + PINMUX_IRQ(irq_pin(10), 19), /* IRQ10A */ 3008 + PINMUX_IRQ(irq_pin(11), 104), /* IRQ11A */ 3009 + PINMUX_IRQ(irq_pin(12), 42, 97), /* IRQ12A */ 3010 + PINMUX_IRQ(irq_pin(13), 64, 98), /* IRQ13A */ 3011 + PINMUX_IRQ(irq_pin(14), 63, 99), /* IRQ14A */ 3012 + PINMUX_IRQ(irq_pin(15), 62, 100), /* IRQ15A */ 3013 + PINMUX_IRQ(irq_pin(16), 68, 211), /* IRQ16A */ 3014 + PINMUX_IRQ(irq_pin(17), 69), /* IRQ17A */ 3015 + PINMUX_IRQ(irq_pin(18), 70), /* IRQ18A */ 3016 + PINMUX_IRQ(irq_pin(19), 71), /* IRQ19A */ 3017 + PINMUX_IRQ(irq_pin(20), 67), /* IRQ20A */ 3018 + PINMUX_IRQ(irq_pin(21), 202), /* IRQ21A */ 3019 + PINMUX_IRQ(irq_pin(22), 95), /* IRQ22A */ 3020 + PINMUX_IRQ(irq_pin(23), 96), /* IRQ23A */ 3021 + PINMUX_IRQ(irq_pin(24), 180), /* IRQ24A */ 3022 + PINMUX_IRQ(irq_pin(25), 38), /* IRQ25A */ 3023 + PINMUX_IRQ(irq_pin(26), 58, 81), /* IRQ26A */ 3024 + PINMUX_IRQ(irq_pin(27), 57, 168), /* IRQ27A */ 3025 + PINMUX_IRQ(irq_pin(28), 56, 169), /* IRQ28A */ 3026 + PINMUX_IRQ(irq_pin(29), 50, 170), /* IRQ29A */ 3027 + PINMUX_IRQ(irq_pin(30), 49, 171), /* IRQ30A */ 3028 + PINMUX_IRQ(irq_pin(31), 41, 167), /* IRQ31A */ 3029 + }; 3030 + 3031 + #define PORTnCR_PULMD_OFF (0 << 6) 3032 + #define PORTnCR_PULMD_DOWN (2 << 6) 3033 + #define PORTnCR_PULMD_UP (3 << 6) 3034 + #define PORTnCR_PULMD_MASK (3 << 6) 3035 + 3036 + struct r8a7740_portcr_group { 3037 + unsigned int end_pin; 3038 + unsigned int offset; 3039 + }; 3040 + 3041 + static const struct r8a7740_portcr_group r8a7740_portcr_offsets[] = { 3042 + { 83, 0x0000 }, { 114, 0x1000 }, { 209, 0x2000 }, { 211, 0x3000 }, 3043 + }; 3044 + 3045 + static void __iomem *r8a7740_pinmux_portcr(struct sh_pfc *pfc, unsigned int pin) 3046 + { 3047 + unsigned int i; 3048 + 3049 + for (i = 0; i < ARRAY_SIZE(r8a7740_portcr_offsets); ++i) { 3050 + const struct r8a7740_portcr_group *group = 3051 + &r8a7740_portcr_offsets[i]; 3052 + 3053 + if (i <= group->end_pin) 3054 + return pfc->window->virt + group->offset + pin; 3055 + } 3056 + 3057 + return NULL; 3058 + } 3059 + 3060 + static unsigned int r8a7740_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin) 3061 + { 3062 + void __iomem *addr = r8a7740_pinmux_portcr(pfc, pin); 3063 + u32 value = ioread8(addr) & PORTnCR_PULMD_MASK; 3064 + 3065 + switch (value) { 3066 + case PORTnCR_PULMD_UP: 3067 + return PIN_CONFIG_BIAS_PULL_UP; 3068 + case PORTnCR_PULMD_DOWN: 3069 + return PIN_CONFIG_BIAS_PULL_DOWN; 3070 + case PORTnCR_PULMD_OFF: 3071 + default: 3072 + return PIN_CONFIG_BIAS_DISABLE; 3073 + } 3074 + } 3075 + 3076 + static void r8a7740_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin, 3077 + unsigned int bias) 3078 + { 3079 + void __iomem *addr = r8a7740_pinmux_portcr(pfc, pin); 3080 + u32 value = ioread8(addr) & ~PORTnCR_PULMD_MASK; 3081 + 3082 + switch (bias) { 3083 + case PIN_CONFIG_BIAS_PULL_UP: 3084 + value |= PORTnCR_PULMD_UP; 3085 + break; 3086 + case PIN_CONFIG_BIAS_PULL_DOWN: 3087 + value |= PORTnCR_PULMD_DOWN; 3088 + break; 3089 + } 3090 + 3091 + iowrite8(value, addr); 3092 + } 3093 + 3094 + static const struct sh_pfc_soc_operations r8a7740_pinmux_ops = { 3095 + .get_bias = r8a7740_pinmux_get_bias, 3096 + .set_bias = r8a7740_pinmux_set_bias, 3717 3097 }; 3718 3098 3719 3099 const struct sh_pfc_soc_info r8a7740_pinmux_info = { 3720 3100 .name = "r8a7740_pfc", 3101 + .ops = &r8a7740_pinmux_ops, 3102 + 3721 3103 .input = { PINMUX_INPUT_BEGIN, 3722 3104 PINMUX_INPUT_END }, 3723 - .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, 3724 - PINMUX_INPUT_PULLUP_END }, 3725 - .input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN, 3726 - PINMUX_INPUT_PULLDOWN_END }, 3727 3105 .output = { PINMUX_OUTPUT_BEGIN, 3728 3106 PINMUX_OUTPUT_END }, 3729 3107 .function = { PINMUX_FUNCTION_BEGIN, ··· 3801 3047 .nr_groups = ARRAY_SIZE(pinmux_groups), 3802 3048 .functions = pinmux_functions, 3803 3049 .nr_functions = ARRAY_SIZE(pinmux_functions), 3804 - 3805 - .func_gpios = pinmux_func_gpios, 3806 - .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios), 3807 3050 3808 3051 .cfg_regs = pinmux_config_regs, 3809 3052 .data_regs = pinmux_data_regs,
+2783
drivers/pinctrl/sh-pfc/pfc-r8a7778.c
··· 1 + /* 2 + * r8a7778 processor support - PFC hardware block 3 + * 4 + * Copyright (C) 2013 Renesas Solutions Corp. 5 + * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 6 + * Copyright (C) 2013 Cogent Embedded, Inc. 7 + * 8 + * based on 9 + * Copyright (C) 2011 Renesas Solutions Corp. 10 + * Copyright (C) 2011 Magnus Damm 11 + * 12 + * This program is free software; you can redistribute it and/or modify 13 + * it under the terms of the GNU General Public License as published by 14 + * the Free Software Foundation; version 2 of the License. 15 + * 16 + * This program is distributed in the hope that it will be useful, 17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 + * GNU General Public License for more details. 20 + */ 21 + 22 + #include <linux/platform_data/gpio-rcar.h> 23 + #include <linux/kernel.h> 24 + #include "sh_pfc.h" 25 + 26 + #define PORT_GP_1(bank, pin, fn, sfx) fn(bank, pin, GP_##bank##_##pin, sfx) 27 + 28 + #define PORT_GP_32(bank, fn, sfx) \ 29 + PORT_GP_1(bank, 0, fn, sfx), PORT_GP_1(bank, 1, fn, sfx), \ 30 + PORT_GP_1(bank, 2, fn, sfx), PORT_GP_1(bank, 3, fn, sfx), \ 31 + PORT_GP_1(bank, 4, fn, sfx), PORT_GP_1(bank, 5, fn, sfx), \ 32 + PORT_GP_1(bank, 6, fn, sfx), PORT_GP_1(bank, 7, fn, sfx), \ 33 + PORT_GP_1(bank, 8, fn, sfx), PORT_GP_1(bank, 9, fn, sfx), \ 34 + PORT_GP_1(bank, 10, fn, sfx), PORT_GP_1(bank, 11, fn, sfx), \ 35 + PORT_GP_1(bank, 12, fn, sfx), PORT_GP_1(bank, 13, fn, sfx), \ 36 + PORT_GP_1(bank, 14, fn, sfx), PORT_GP_1(bank, 15, fn, sfx), \ 37 + PORT_GP_1(bank, 16, fn, sfx), PORT_GP_1(bank, 17, fn, sfx), \ 38 + PORT_GP_1(bank, 18, fn, sfx), PORT_GP_1(bank, 19, fn, sfx), \ 39 + PORT_GP_1(bank, 20, fn, sfx), PORT_GP_1(bank, 21, fn, sfx), \ 40 + PORT_GP_1(bank, 22, fn, sfx), PORT_GP_1(bank, 23, fn, sfx), \ 41 + PORT_GP_1(bank, 24, fn, sfx), PORT_GP_1(bank, 25, fn, sfx), \ 42 + PORT_GP_1(bank, 26, fn, sfx), PORT_GP_1(bank, 27, fn, sfx), \ 43 + PORT_GP_1(bank, 28, fn, sfx), PORT_GP_1(bank, 29, fn, sfx), \ 44 + PORT_GP_1(bank, 30, fn, sfx), PORT_GP_1(bank, 31, fn, sfx) 45 + 46 + #define PORT_GP_27(bank, fn, sfx) \ 47 + PORT_GP_1(bank, 0, fn, sfx), PORT_GP_1(bank, 1, fn, sfx), \ 48 + PORT_GP_1(bank, 2, fn, sfx), PORT_GP_1(bank, 3, fn, sfx), \ 49 + PORT_GP_1(bank, 4, fn, sfx), PORT_GP_1(bank, 5, fn, sfx), \ 50 + PORT_GP_1(bank, 6, fn, sfx), PORT_GP_1(bank, 7, fn, sfx), \ 51 + PORT_GP_1(bank, 8, fn, sfx), PORT_GP_1(bank, 9, fn, sfx), \ 52 + PORT_GP_1(bank, 10, fn, sfx), PORT_GP_1(bank, 11, fn, sfx), \ 53 + PORT_GP_1(bank, 12, fn, sfx), PORT_GP_1(bank, 13, fn, sfx), \ 54 + PORT_GP_1(bank, 14, fn, sfx), PORT_GP_1(bank, 15, fn, sfx), \ 55 + PORT_GP_1(bank, 16, fn, sfx), PORT_GP_1(bank, 17, fn, sfx), \ 56 + PORT_GP_1(bank, 18, fn, sfx), PORT_GP_1(bank, 19, fn, sfx), \ 57 + PORT_GP_1(bank, 20, fn, sfx), PORT_GP_1(bank, 21, fn, sfx), \ 58 + PORT_GP_1(bank, 22, fn, sfx), PORT_GP_1(bank, 23, fn, sfx), \ 59 + PORT_GP_1(bank, 24, fn, sfx), PORT_GP_1(bank, 25, fn, sfx), \ 60 + PORT_GP_1(bank, 26, fn, sfx) 61 + 62 + #define CPU_ALL_PORT(fn, sfx) \ 63 + PORT_GP_32(0, fn, sfx), \ 64 + PORT_GP_32(1, fn, sfx), \ 65 + PORT_GP_32(2, fn, sfx), \ 66 + PORT_GP_32(3, fn, sfx), \ 67 + PORT_GP_27(4, fn, sfx) 68 + 69 + #define _GP_PORT_ALL(bank, pin, name, sfx) name##_##sfx 70 + 71 + #define _GP_GPIO(bank, pin, _name, sfx) \ 72 + [RCAR_GP_PIN(bank, pin)] = { \ 73 + .name = __stringify(_name), \ 74 + .enum_id = _name##_DATA, \ 75 + } 76 + 77 + #define _GP_DATA(bank, pin, name, sfx) \ 78 + PINMUX_DATA(name##_DATA, name##_FN) 79 + 80 + #define GP_ALL(str) CPU_ALL_PORT(_GP_PORT_ALL, str) 81 + #define PINMUX_GPIO_GP_ALL() CPU_ALL_PORT(_GP_GPIO, unused) 82 + #define PINMUX_DATA_GP_ALL() CPU_ALL_PORT(_GP_DATA, unused) 83 + 84 + #define PINMUX_IPSR_NOGP(ispr, fn) PINMUX_DATA(fn##_MARK, FN_##fn) 85 + #define PINMUX_IPSR_DATA(ipsr, fn) PINMUX_DATA(fn##_MARK, FN_##fn, FN_##ipsr) 86 + #define PINMUX_IPSR_MSEL(ipsr, fn, ms) PINMUX_DATA(fn##_MARK, FN_##fn, FN_##ipsr, FN_##ms) 87 + #define PINMUX_IPSR_NOGM(ispr, fn, ms) PINMUX_DATA(fn##_MARK, FN_##fn, FN_##ms) 88 + 89 + enum { 90 + PINMUX_RESERVED = 0, 91 + 92 + PINMUX_DATA_BEGIN, 93 + GP_ALL(DATA), /* GP_0_0_DATA -> GP_4_26_DATA */ 94 + PINMUX_DATA_END, 95 + 96 + PINMUX_FUNCTION_BEGIN, 97 + GP_ALL(FN), /* GP_0_0_FN -> GP_4_26_FN */ 98 + 99 + /* GPSR0 */ 100 + FN_IP0_1_0, FN_PENC0, FN_PENC1, FN_IP0_4_2, 101 + FN_IP0_7_5, FN_IP0_11_8, FN_IP0_14_12, FN_A1, 102 + FN_A2, FN_A3, FN_IP0_15, FN_IP0_16, 103 + FN_IP0_17, FN_IP0_18, FN_IP0_19, FN_IP0_20, 104 + FN_IP0_21, FN_IP0_22, FN_IP0_23, FN_IP0_24, 105 + FN_IP0_25, FN_IP0_26, FN_IP0_27, FN_IP0_28, 106 + FN_IP0_29, FN_IP0_30, FN_IP1_0, FN_IP1_1, 107 + FN_IP1_4_2, FN_IP1_7_5, FN_IP1_10_8, FN_IP1_14_11, 108 + 109 + /* GPSR1 */ 110 + FN_IP1_23_21, FN_WE0, FN_IP1_24, FN_IP1_27_25, 111 + FN_IP1_29_28, FN_IP2_2_0, FN_IP2_5_3, FN_IP2_8_6, 112 + FN_IP2_11_9, FN_IP2_13_12, FN_IP2_16_14, FN_IP2_17, 113 + FN_IP2_30, FN_IP2_31, FN_IP3_1_0, FN_IP3_4_2, 114 + FN_IP3_7_5, FN_IP3_9_8, FN_IP3_12_10, FN_IP3_15_13, 115 + FN_IP3_18_16, FN_IP3_20_19, FN_IP3_23_21, FN_IP3_26_24, 116 + FN_IP3_27, FN_IP3_28, FN_IP3_29, FN_IP3_30, 117 + FN_IP3_31, FN_IP4_0, FN_IP4_3_1, FN_IP4_6_4, 118 + 119 + /* GPSR2 */ 120 + FN_IP4_7, FN_IP4_8, FN_IP4_10_9, FN_IP4_12_11, 121 + FN_IP4_14_13, FN_IP4_16_15, FN_IP4_20_17, FN_IP4_24_21, 122 + FN_IP4_26_25, FN_IP4_28_27, FN_IP4_30_29, FN_IP5_1_0, 123 + FN_IP5_3_2, FN_IP5_5_4, FN_IP5_6, FN_IP5_7, 124 + FN_IP5_9_8, FN_IP5_11_10, FN_IP5_12, FN_IP5_14_13, 125 + FN_IP5_17_15, FN_IP5_20_18, FN_AUDIO_CLKA, FN_AUDIO_CLKB, 126 + FN_IP5_22_21, FN_IP5_25_23, FN_IP5_28_26, FN_IP5_30_29, 127 + FN_IP6_1_0, FN_IP6_4_2, FN_IP6_6_5, FN_IP6_7, 128 + 129 + /* GPSR3 */ 130 + FN_IP6_8, FN_IP6_9, FN_SSI_SCK34, FN_IP6_10, 131 + FN_IP6_12_11, FN_IP6_13, FN_IP6_15_14, FN_IP6_16, 132 + FN_IP6_18_17, FN_IP6_20_19, FN_IP6_21, FN_IP6_23_22, 133 + FN_IP6_25_24, FN_IP6_27_26, FN_IP6_29_28, FN_IP6_31_30, 134 + FN_IP7_1_0, FN_IP7_3_2, FN_IP7_5_4, FN_IP7_8_6, 135 + FN_IP7_11_9, FN_IP7_14_12, FN_IP7_17_15, FN_IP7_20_18, 136 + FN_IP7_21, FN_IP7_24_22, FN_IP7_28_25, FN_IP7_31_29, 137 + FN_IP8_2_0, FN_IP8_5_3, FN_IP8_8_6, FN_IP8_10_9, 138 + 139 + /* GPSR4 */ 140 + FN_IP8_13_11, FN_IP8_15_14, FN_IP8_18_16, FN_IP8_21_19, 141 + FN_IP8_23_22, FN_IP8_26_24, FN_IP8_29_27, FN_IP9_2_0, 142 + FN_IP9_5_3, FN_IP9_8_6, FN_IP9_11_9, FN_IP9_14_12, 143 + FN_IP9_17_15, FN_IP9_20_18, FN_IP9_23_21, FN_IP9_26_24, 144 + FN_IP9_29_27, FN_IP10_2_0, FN_IP10_5_3, FN_IP10_8_6, 145 + FN_IP10_12_9, FN_IP10_15_13, FN_IP10_18_16, FN_IP10_21_19, 146 + FN_IP10_24_22, FN_AVS1, FN_AVS2, 147 + 148 + /* IPSR0 */ 149 + FN_PRESETOUT, FN_PWM1, FN_AUDATA0, FN_ARM_TRACEDATA_0, 150 + FN_GPSCLK_C, FN_USB_OVC0, FN_TX2_E, FN_SDA2_B, 151 + FN_AUDATA1, FN_ARM_TRACEDATA_1, FN_GPSIN_C, 152 + FN_USB_OVC1, FN_RX2_E, FN_SCL2_B, FN_SD1_DAT2_A, 153 + FN_MMC_D2, FN_BS, FN_ATADIR0_A, FN_SDSELF_A, 154 + FN_PWM4_B, FN_SD1_DAT3_A, FN_MMC_D3, FN_A0, 155 + FN_ATAG0_A, FN_REMOCON_B, FN_A4, FN_A5, 156 + FN_A6, FN_A7, FN_A8, FN_A9, 157 + FN_A10, FN_A11, FN_A12, FN_A13, 158 + FN_A14, FN_A15, FN_A16, FN_A17, 159 + FN_A18, FN_A19, 160 + 161 + /* IPSR1 */ 162 + FN_A20, FN_HSPI_CS1_B, FN_A21, FN_HSPI_CLK1_B, 163 + FN_A22, FN_HRTS0_B, FN_RX2_B, FN_DREQ2_A, 164 + FN_A23, FN_HTX0_B, FN_TX2_B, FN_DACK2_A, 165 + FN_TS_SDEN0_A, FN_SD1_CD_A, FN_MMC_D6, FN_A24, 166 + FN_DREQ1_A, FN_HRX0_B, FN_TS_SPSYNC0_A, 167 + FN_SD1_WP_A, FN_MMC_D7, FN_A25, FN_DACK1_A, 168 + FN_HCTS0_B, FN_RX3_C, FN_TS_SDAT0_A, FN_CLKOUT, 169 + FN_HSPI_TX1_B, FN_PWM0_B, FN_CS0, FN_HSPI_RX1_B, 170 + FN_SSI_SCK1_B, FN_ATAG0_B, FN_CS1_A26, FN_SDA2_A, 171 + FN_SCK2_B, FN_MMC_D5, FN_ATADIR0_B, FN_RD_WR, 172 + FN_WE1, FN_ATAWR0_B, FN_SSI_WS1_B, FN_EX_CS0, 173 + FN_SCL2_A, FN_TX3_C, FN_TS_SCK0_A, FN_EX_CS1, 174 + FN_MMC_D4, 175 + 176 + /* IPSR2 */ 177 + FN_SD1_CLK_A, FN_MMC_CLK, FN_ATACS00, FN_EX_CS2, 178 + FN_SD1_CMD_A, FN_MMC_CMD, FN_ATACS10, FN_EX_CS3, 179 + FN_SD1_DAT0_A, FN_MMC_D0, FN_ATARD0, FN_EX_CS4, 180 + FN_EX_WAIT1_A, FN_SD1_DAT1_A, FN_MMC_D1, FN_ATAWR0_A, 181 + FN_EX_CS5, FN_EX_WAIT2_A, FN_DREQ0_A, FN_RX3_A, 182 + FN_DACK0, FN_TX3_A, FN_DRACK0, FN_EX_WAIT0, 183 + FN_PWM0_C, FN_D0, FN_D1, FN_D2, 184 + FN_D3, FN_D4, FN_D5, FN_D6, 185 + FN_D7, FN_D8, FN_D9, FN_D10, 186 + FN_D11, FN_RD_WR_B, FN_IRQ0, FN_MLB_CLK, 187 + FN_IRQ1_A, 188 + 189 + /* IPSR3 */ 190 + FN_MLB_SIG, FN_RX5_B, FN_SDA3_A, FN_IRQ2_A, 191 + FN_MLB_DAT, FN_TX5_B, FN_SCL3_A, FN_IRQ3_A, 192 + FN_SDSELF_B, FN_SD1_CMD_B, FN_SCIF_CLK, FN_AUDIO_CLKOUT_B, 193 + FN_CAN_CLK_B, FN_SDA3_B, FN_SD1_CLK_B, FN_HTX0_A, 194 + FN_TX0_A, FN_SD1_DAT0_B, FN_HRX0_A, FN_RX0_A, 195 + FN_SD1_DAT1_B, FN_HSCK0, FN_SCK0, FN_SCL3_B, 196 + FN_SD1_DAT2_B, FN_HCTS0_A, FN_CTS0, FN_SD1_DAT3_B, 197 + FN_HRTS0_A, FN_RTS0, FN_SSI_SCK4, FN_DU0_DR0, 198 + FN_LCDOUT0, FN_AUDATA2, FN_ARM_TRACEDATA_2, 199 + FN_SDA3_C, FN_ADICHS1, FN_TS_SDEN0_B, FN_SSI_WS4, 200 + FN_DU0_DR1, FN_LCDOUT1, FN_AUDATA3, FN_ARM_TRACEDATA_3, 201 + FN_SCL3_C, FN_ADICHS2, FN_TS_SPSYNC0_B, 202 + FN_DU0_DR2, FN_LCDOUT2, FN_DU0_DR3, FN_LCDOUT3, 203 + FN_DU0_DR4, FN_LCDOUT4, FN_DU0_DR5, FN_LCDOUT5, 204 + FN_DU0_DR6, FN_LCDOUT6, 205 + 206 + /* IPSR4 */ 207 + FN_DU0_DR7, FN_LCDOUT7, FN_DU0_DG0, FN_LCDOUT8, 208 + FN_AUDATA4, FN_ARM_TRACEDATA_4, FN_TX1_D, 209 + FN_CAN0_TX_A, FN_ADICHS0, FN_DU0_DG1, FN_LCDOUT9, 210 + FN_AUDATA5, FN_ARM_TRACEDATA_5, FN_RX1_D, 211 + FN_CAN0_RX_A, FN_ADIDATA, FN_DU0_DG2, FN_LCDOUT10, 212 + FN_DU0_DG3, FN_LCDOUT11, FN_DU0_DG4, FN_LCDOUT12, 213 + FN_RX0_B, FN_DU0_DG5, FN_LCDOUT13, FN_TX0_B, 214 + FN_DU0_DG6, FN_LCDOUT14, FN_RX4_A, FN_DU0_DG7, 215 + FN_LCDOUT15, FN_TX4_A, FN_SSI_SCK2_B, FN_VI0_R0_B, 216 + FN_DU0_DB0, FN_LCDOUT16, FN_AUDATA6, FN_ARM_TRACEDATA_6, 217 + FN_GPSCLK_A, FN_PWM0_A, FN_ADICLK, FN_TS_SDAT0_B, 218 + FN_AUDIO_CLKC, FN_VI0_R1_B, FN_DU0_DB1, FN_LCDOUT17, 219 + FN_AUDATA7, FN_ARM_TRACEDATA_7, FN_GPSIN_A, 220 + FN_ADICS_SAMP, FN_TS_SCK0_B, FN_VI0_R2_B, FN_DU0_DB2, 221 + FN_LCDOUT18, FN_VI0_R3_B, FN_DU0_DB3, FN_LCDOUT19, 222 + FN_VI0_R4_B, FN_DU0_DB4, FN_LCDOUT20, 223 + 224 + /* IPSR5 */ 225 + FN_VI0_R5_B, FN_DU0_DB5, FN_LCDOUT21, FN_VI1_DATA10_B, 226 + FN_DU0_DB6, FN_LCDOUT22, FN_VI1_DATA11_B, 227 + FN_DU0_DB7, FN_LCDOUT23, FN_DU0_DOTCLKIN, 228 + FN_QSTVA_QVS, FN_DU0_DOTCLKO_UT0, FN_QCLK, 229 + FN_DU0_DOTCLKO_UT1, FN_QSTVB_QVE, FN_AUDIO_CLKOUT_A, 230 + FN_REMOCON_C, FN_SSI_WS2_B, FN_DU0_EXHSYNC_DU0_HSYNC, 231 + FN_QSTH_QHS, FN_DU0_EXVSYNC_DU0_VSYNC, FN_QSTB_QHE, 232 + FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, 233 + FN_QCPV_QDE, FN_FMCLK_D, FN_SSI_SCK1_A, FN_DU0_DISP, 234 + FN_QPOLA, FN_AUDCK, FN_ARM_TRACECLK, 235 + FN_BPFCLK_D, FN_SSI_WS1_A, FN_DU0_CDE, FN_QPOLB, 236 + FN_AUDSYNC, FN_ARM_TRACECTL, FN_FMIN_D, 237 + FN_SD1_CD_B, FN_SSI_SCK78, FN_HSPI_RX0_B, FN_TX1_B, 238 + FN_SD1_WP_B, FN_SSI_WS78, FN_HSPI_CLK0_B, FN_RX1_B, 239 + FN_CAN_CLK_D, FN_SSI_SDATA8, FN_SSI_SCK2_A, FN_HSPI_CS0_B, 240 + FN_TX2_A, FN_CAN0_TX_B, FN_SSI_SDATA7, FN_HSPI_TX0_B, 241 + FN_RX2_A, FN_CAN0_RX_B, 242 + 243 + /* IPSR6 */ 244 + FN_SSI_SCK6, FN_HSPI_RX2_A, FN_FMCLK_B, FN_CAN1_TX_B, 245 + FN_SSI_WS6, FN_HSPI_CLK2_A, FN_BPFCLK_B, FN_CAN1_RX_B, 246 + FN_SSI_SDATA6, FN_HSPI_TX2_A, FN_FMIN_B, FN_SSI_SCK5, 247 + FN_RX4_C, FN_SSI_WS5, FN_TX4_C, FN_SSI_SDATA5, 248 + FN_RX0_D, FN_SSI_WS34, FN_ARM_TRACEDATA_8, 249 + FN_SSI_SDATA4, FN_SSI_WS2_A, FN_ARM_TRACEDATA_9, 250 + FN_SSI_SDATA3, FN_ARM_TRACEDATA_10, 251 + FN_SSI_SCK012, FN_ARM_TRACEDATA_11, 252 + FN_TX0_D, FN_SSI_WS012, FN_ARM_TRACEDATA_12, 253 + FN_SSI_SDATA2, FN_HSPI_CS2_A, FN_ARM_TRACEDATA_13, 254 + FN_SDA1_A, FN_SSI_SDATA1, FN_ARM_TRACEDATA_14, 255 + FN_SCL1_A, FN_SCK2_A, FN_SSI_SDATA0, 256 + FN_ARM_TRACEDATA_15, 257 + FN_SD0_CLK, FN_SUB_TDO, FN_SD0_CMD, FN_SUB_TRST, 258 + FN_SD0_DAT0, FN_SUB_TMS, FN_SD0_DAT1, FN_SUB_TCK, 259 + FN_SD0_DAT2, FN_SUB_TDI, 260 + 261 + /* IPSR7 */ 262 + FN_SD0_DAT3, FN_IRQ1_B, FN_SD0_CD, FN_TX5_A, 263 + FN_SD0_WP, FN_RX5_A, FN_VI1_CLKENB, FN_HSPI_CLK0_A, 264 + FN_HTX1_A, FN_RTS1_C, FN_VI1_FIELD, FN_HSPI_CS0_A, 265 + FN_HRX1_A, FN_SCK1_C, FN_VI1_HSYNC, FN_HSPI_RX0_A, 266 + FN_HRTS1_A, FN_FMCLK_A, FN_RX1_C, FN_VI1_VSYNC, 267 + FN_HSPI_TX0, FN_HCTS1_A, FN_BPFCLK_A, FN_TX1_C, 268 + FN_TCLK0, FN_HSCK1_A, FN_FMIN_A, FN_IRQ2_C, 269 + FN_CTS1_C, FN_SPEEDIN, FN_VI0_CLK, FN_CAN_CLK_A, 270 + FN_VI0_CLKENB, FN_SD2_DAT2_B, FN_VI1_DATA0, FN_DU1_DG6, 271 + FN_HSPI_RX1_A, FN_RX4_B, FN_VI0_FIELD, FN_SD2_DAT3_B, 272 + FN_VI0_R3_C, FN_VI1_DATA1, FN_DU1_DG7, FN_HSPI_CLK1_A, 273 + FN_TX4_B, FN_VI0_HSYNC, FN_SD2_CD_B, FN_VI1_DATA2, 274 + FN_DU1_DR2, FN_HSPI_CS1_A, FN_RX3_B, 275 + 276 + /* IPSR8 */ 277 + FN_VI0_VSYNC, FN_SD2_WP_B, FN_VI1_DATA3, FN_DU1_DR3, 278 + FN_HSPI_TX1_A, FN_TX3_B, FN_VI0_DATA0_VI0_B0, 279 + FN_DU1_DG2, FN_IRQ2_B, FN_RX3_D, FN_VI0_DATA1_VI0_B1, 280 + FN_DU1_DG3, FN_IRQ3_B, FN_TX3_D, FN_VI0_DATA2_VI0_B2, 281 + FN_DU1_DG4, FN_RX0_C, FN_VI0_DATA3_VI0_B3, 282 + FN_DU1_DG5, FN_TX1_A, FN_TX0_C, FN_VI0_DATA4_VI0_B4, 283 + FN_DU1_DB2, FN_RX1_A, FN_VI0_DATA5_VI0_B5, 284 + FN_DU1_DB3, FN_SCK1_A, FN_PWM4, FN_HSCK1_B, 285 + FN_VI0_DATA6_VI0_G0, FN_DU1_DB4, FN_CTS1_A, 286 + FN_PWM5, FN_VI0_DATA7_VI0_G1, FN_DU1_DB5, 287 + FN_RTS1_A, FN_VI0_G2, FN_SD2_CLK_B, FN_VI1_DATA4, 288 + FN_DU1_DR4, FN_HTX1_B, FN_VI0_G3, FN_SD2_CMD_B, 289 + FN_VI1_DATA5, FN_DU1_DR5, FN_HRX1_B, 290 + 291 + /* IPSR9 */ 292 + FN_VI0_G4, FN_SD2_DAT0_B, FN_VI1_DATA6, FN_DU1_DR6, 293 + FN_HRTS1_B, FN_VI0_G5, FN_SD2_DAT1_B, FN_VI1_DATA7, 294 + FN_DU1_DR7, FN_HCTS1_B, FN_VI0_R0_A, FN_VI1_CLK, 295 + FN_ETH_REF_CLK, FN_DU1_DOTCLKIN, FN_VI0_R1_A, 296 + FN_VI1_DATA8, FN_DU1_DB6, FN_ETH_TXD0, FN_PWM2, 297 + FN_TCLK1, FN_VI0_R2_A, FN_VI1_DATA9, FN_DU1_DB7, 298 + FN_ETH_TXD1, FN_PWM3, FN_VI0_R3_A, FN_ETH_CRS_DV, 299 + FN_IECLK, FN_SCK2_C, FN_VI0_R4_A, FN_ETH_TX_EN, 300 + FN_IETX, FN_TX2_C, FN_VI0_R5_A, FN_ETH_RX_ER, 301 + FN_FMCLK_C, FN_IERX, FN_RX2_C, FN_VI1_DATA10_A, 302 + FN_DU1_DOTCLKOUT, FN_ETH_RXD0, FN_BPFCLK_C, 303 + FN_TX2_D, FN_SDA2_C, FN_VI1_DATA11_A, 304 + FN_DU1_EXHSYNC_DU1_HSYNC, FN_ETH_RXD1, FN_FMIN_C, 305 + FN_RX2_D, FN_SCL2_C, 306 + 307 + /* IPSR10 */ 308 + FN_SD2_CLK_A, FN_DU1_EXVSYNC_DU1_VSYNC, FN_ATARD1, 309 + FN_ETH_MDC, FN_SDA1_B, FN_SD2_CMD_A, 310 + FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, FN_ATAWR1, 311 + FN_ETH_MDIO, FN_SCL1_B, FN_SD2_DAT0_A, FN_DU1_DISP, 312 + FN_ATACS01, FN_DREQ1_B, FN_ETH_LINK, FN_CAN1_RX_A, 313 + FN_SD2_DAT1_A, FN_DU1_CDE, FN_ATACS11, FN_DACK1_B, 314 + FN_ETH_MAGIC, FN_CAN1_TX_A, FN_PWM6, FN_SD2_DAT2_A, 315 + FN_VI1_DATA12, FN_DREQ2_B, FN_ATADIR1, FN_HSPI_CLK2_B, 316 + FN_GPSCLK_B, FN_SD2_DAT3_A, FN_VI1_DATA13, FN_DACK2_B, 317 + FN_ATAG1, FN_HSPI_CS2_B, FN_GPSIN_B, FN_SD2_CD_A, 318 + FN_VI1_DATA14, FN_EX_WAIT1_B, FN_DREQ0_B, FN_HSPI_RX2_B, 319 + FN_REMOCON_A, FN_SD2_WP_A, FN_VI1_DATA15, FN_EX_WAIT2_B, 320 + FN_DACK0_B, FN_HSPI_TX2_B, FN_CAN_CLK_C, 321 + 322 + /* SEL */ 323 + FN_SEL_SCIF5_A, FN_SEL_SCIF5_B, 324 + FN_SEL_SCIF4_A, FN_SEL_SCIF4_B, FN_SEL_SCIF4_C, 325 + FN_SEL_SCIF3_A, FN_SEL_SCIF3_B, FN_SEL_SCIF3_C, FN_SEL_SCIF3_D, 326 + FN_SEL_SCIF2_A, FN_SEL_SCIF2_B, FN_SEL_SCIF2_C, FN_SEL_SCIF2_D, FN_SEL_SCIF2_E, 327 + FN_SEL_SCIF1_A, FN_SEL_SCIF1_B, FN_SEL_SCIF1_C, FN_SEL_SCIF1_D, 328 + FN_SEL_SCIF0_A, FN_SEL_SCIF0_B, FN_SEL_SCIF0_C, FN_SEL_SCIF0_D, 329 + FN_SEL_SSI2_A, FN_SEL_SSI2_B, 330 + FN_SEL_SSI1_A, FN_SEL_SSI1_B, 331 + FN_SEL_VI1_A, FN_SEL_VI1_B, 332 + FN_SEL_VI0_A, FN_SEL_VI0_B, FN_SEL_VI0_C, FN_SEL_VI0_D, 333 + FN_SEL_SD2_A, FN_SEL_SD2_B, 334 + FN_SEL_SD1_A, FN_SEL_SD1_B, 335 + FN_SEL_IRQ3_A, FN_SEL_IRQ3_B, 336 + FN_SEL_IRQ2_A, FN_SEL_IRQ2_B, FN_SEL_IRQ2_C, 337 + FN_SEL_IRQ1_A, FN_SEL_IRQ1_B, 338 + FN_SEL_DREQ2_A, FN_SEL_DREQ2_B, 339 + FN_SEL_DREQ1_A, FN_SEL_DREQ1_B, 340 + FN_SEL_DREQ0_A, FN_SEL_DREQ0_B, 341 + FN_SEL_WAIT2_A, FN_SEL_WAIT2_B, 342 + FN_SEL_WAIT1_A, FN_SEL_WAIT1_B, 343 + FN_SEL_CAN1_A, FN_SEL_CAN1_B, 344 + FN_SEL_CAN0_A, FN_SEL_CAN0_B, 345 + FN_SEL_CANCLK_A, FN_SEL_CANCLK_B, 346 + FN_SEL_CANCLK_C, FN_SEL_CANCLK_D, 347 + FN_SEL_HSCIF1_A, FN_SEL_HSCIF1_B, 348 + FN_SEL_HSCIF0_A, FN_SEL_HSCIF0_B, 349 + FN_SEL_REMOCON_A, FN_SEL_REMOCON_B, FN_SEL_REMOCON_C, 350 + FN_SEL_FM_A, FN_SEL_FM_B, FN_SEL_FM_C, FN_SEL_FM_D, 351 + FN_SEL_GPS_A, FN_SEL_GPS_B, FN_SEL_GPS_C, 352 + FN_SEL_TSIF0_A, FN_SEL_TSIF0_B, 353 + FN_SEL_HSPI2_A, FN_SEL_HSPI2_B, 354 + FN_SEL_HSPI1_A, FN_SEL_HSPI1_B, 355 + FN_SEL_HSPI0_A, FN_SEL_HSPI0_B, 356 + FN_SEL_I2C3_A, FN_SEL_I2C3_B, FN_SEL_I2C3_C, 357 + FN_SEL_I2C2_A, FN_SEL_I2C2_B, FN_SEL_I2C2_C, 358 + FN_SEL_I2C1_A, FN_SEL_I2C1_B, 359 + PINMUX_FUNCTION_END, 360 + 361 + PINMUX_MARK_BEGIN, 362 + 363 + /* GPSR0 */ 364 + PENC0_MARK, PENC1_MARK, A1_MARK, A2_MARK, A3_MARK, 365 + 366 + /* GPSR1 */ 367 + WE0_MARK, 368 + 369 + /* GPSR2 */ 370 + AUDIO_CLKA_MARK, 371 + AUDIO_CLKB_MARK, 372 + 373 + /* GPSR3 */ 374 + SSI_SCK34_MARK, 375 + 376 + /* GPSR4 */ 377 + AVS1_MARK, 378 + AVS2_MARK, 379 + 380 + VI0_R0_C_MARK, /* see sel_vi0 */ 381 + VI0_R1_C_MARK, /* see sel_vi0 */ 382 + VI0_R2_C_MARK, /* see sel_vi0 */ 383 + /* VI0_R3_C_MARK, */ 384 + VI0_R4_C_MARK, /* see sel_vi0 */ 385 + VI0_R5_C_MARK, /* see sel_vi0 */ 386 + 387 + VI0_R0_D_MARK, /* see sel_vi0 */ 388 + VI0_R1_D_MARK, /* see sel_vi0 */ 389 + VI0_R2_D_MARK, /* see sel_vi0 */ 390 + VI0_R3_D_MARK, /* see sel_vi0 */ 391 + VI0_R4_D_MARK, /* see sel_vi0 */ 392 + VI0_R5_D_MARK, /* see sel_vi0 */ 393 + 394 + /* IPSR0 */ 395 + PRESETOUT_MARK, PWM1_MARK, AUDATA0_MARK, 396 + ARM_TRACEDATA_0_MARK, GPSCLK_C_MARK, USB_OVC0_MARK, 397 + TX2_E_MARK, SDA2_B_MARK, AUDATA1_MARK, ARM_TRACEDATA_1_MARK, 398 + GPSIN_C_MARK, USB_OVC1_MARK, RX2_E_MARK, SCL2_B_MARK, 399 + SD1_DAT2_A_MARK, MMC_D2_MARK, BS_MARK, 400 + ATADIR0_A_MARK, SDSELF_A_MARK, PWM4_B_MARK, SD1_DAT3_A_MARK, 401 + MMC_D3_MARK, A0_MARK, ATAG0_A_MARK, REMOCON_B_MARK, 402 + A4_MARK, A5_MARK, A6_MARK, A7_MARK, 403 + A8_MARK, A9_MARK, A10_MARK, A11_MARK, 404 + A12_MARK, A13_MARK, A14_MARK, A15_MARK, 405 + A16_MARK, A17_MARK, A18_MARK, A19_MARK, 406 + 407 + /* IPSR1 */ 408 + A20_MARK, HSPI_CS1_B_MARK, A21_MARK, 409 + HSPI_CLK1_B_MARK, A22_MARK, HRTS0_B_MARK, 410 + RX2_B_MARK, DREQ2_A_MARK, A23_MARK, HTX0_B_MARK, 411 + TX2_B_MARK, DACK2_A_MARK, TS_SDEN0_A_MARK, 412 + SD1_CD_A_MARK, MMC_D6_MARK, A24_MARK, DREQ1_A_MARK, 413 + HRX0_B_MARK, TS_SPSYNC0_A_MARK, SD1_WP_A_MARK, 414 + MMC_D7_MARK, A25_MARK, DACK1_A_MARK, HCTS0_B_MARK, 415 + RX3_C_MARK, TS_SDAT0_A_MARK, CLKOUT_MARK, 416 + HSPI_TX1_B_MARK, PWM0_B_MARK, CS0_MARK, 417 + HSPI_RX1_B_MARK, SSI_SCK1_B_MARK, 418 + ATAG0_B_MARK, CS1_A26_MARK, SDA2_A_MARK, SCK2_B_MARK, 419 + MMC_D5_MARK, ATADIR0_B_MARK, RD_WR_MARK, WE1_MARK, 420 + ATAWR0_B_MARK, SSI_WS1_B_MARK, EX_CS0_MARK, SCL2_A_MARK, 421 + TX3_C_MARK, TS_SCK0_A_MARK, EX_CS1_MARK, MMC_D4_MARK, 422 + 423 + /* IPSR2 */ 424 + SD1_CLK_A_MARK, MMC_CLK_MARK, ATACS00_MARK, EX_CS2_MARK, 425 + SD1_CMD_A_MARK, MMC_CMD_MARK, ATACS10_MARK, EX_CS3_MARK, 426 + SD1_DAT0_A_MARK, MMC_D0_MARK, ATARD0_MARK, 427 + EX_CS4_MARK, EX_WAIT1_A_MARK, SD1_DAT1_A_MARK, 428 + MMC_D1_MARK, ATAWR0_A_MARK, EX_CS5_MARK, EX_WAIT2_A_MARK, 429 + DREQ0_A_MARK, RX3_A_MARK, DACK0_MARK, TX3_A_MARK, 430 + DRACK0_MARK, EX_WAIT0_MARK, PWM0_C_MARK, D0_MARK, 431 + D1_MARK, D2_MARK, D3_MARK, D4_MARK, 432 + D5_MARK, D6_MARK, D7_MARK, D8_MARK, 433 + D9_MARK, D10_MARK, D11_MARK, RD_WR_B_MARK, 434 + IRQ0_MARK, MLB_CLK_MARK, IRQ1_A_MARK, 435 + 436 + /* IPSR3 */ 437 + MLB_SIG_MARK, RX5_B_MARK, SDA3_A_MARK, IRQ2_A_MARK, 438 + MLB_DAT_MARK, TX5_B_MARK, SCL3_A_MARK, IRQ3_A_MARK, 439 + SDSELF_B_MARK, SD1_CMD_B_MARK, SCIF_CLK_MARK, AUDIO_CLKOUT_B_MARK, 440 + CAN_CLK_B_MARK, SDA3_B_MARK, SD1_CLK_B_MARK, HTX0_A_MARK, 441 + TX0_A_MARK, SD1_DAT0_B_MARK, HRX0_A_MARK, 442 + RX0_A_MARK, SD1_DAT1_B_MARK, HSCK0_MARK, 443 + SCK0_MARK, SCL3_B_MARK, SD1_DAT2_B_MARK, 444 + HCTS0_A_MARK, CTS0_MARK, SD1_DAT3_B_MARK, 445 + HRTS0_A_MARK, RTS0_MARK, SSI_SCK4_MARK, 446 + DU0_DR0_MARK, LCDOUT0_MARK, AUDATA2_MARK, ARM_TRACEDATA_2_MARK, 447 + SDA3_C_MARK, ADICHS1_MARK, TS_SDEN0_B_MARK, 448 + SSI_WS4_MARK, DU0_DR1_MARK, LCDOUT1_MARK, AUDATA3_MARK, 449 + ARM_TRACEDATA_3_MARK, SCL3_C_MARK, ADICHS2_MARK, 450 + TS_SPSYNC0_B_MARK, DU0_DR2_MARK, LCDOUT2_MARK, 451 + DU0_DR3_MARK, LCDOUT3_MARK, DU0_DR4_MARK, LCDOUT4_MARK, 452 + DU0_DR5_MARK, LCDOUT5_MARK, DU0_DR6_MARK, LCDOUT6_MARK, 453 + 454 + /* IPSR4 */ 455 + DU0_DR7_MARK, LCDOUT7_MARK, DU0_DG0_MARK, LCDOUT8_MARK, 456 + AUDATA4_MARK, ARM_TRACEDATA_4_MARK, 457 + TX1_D_MARK, CAN0_TX_A_MARK, ADICHS0_MARK, DU0_DG1_MARK, 458 + LCDOUT9_MARK, AUDATA5_MARK, ARM_TRACEDATA_5_MARK, 459 + RX1_D_MARK, CAN0_RX_A_MARK, ADIDATA_MARK, DU0_DG2_MARK, 460 + LCDOUT10_MARK, DU0_DG3_MARK, LCDOUT11_MARK, DU0_DG4_MARK, 461 + LCDOUT12_MARK, RX0_B_MARK, DU0_DG5_MARK, LCDOUT13_MARK, 462 + TX0_B_MARK, DU0_DG6_MARK, LCDOUT14_MARK, RX4_A_MARK, 463 + DU0_DG7_MARK, LCDOUT15_MARK, TX4_A_MARK, SSI_SCK2_B_MARK, 464 + VI0_R0_B_MARK, DU0_DB0_MARK, LCDOUT16_MARK, AUDATA6_MARK, 465 + ARM_TRACEDATA_6_MARK, GPSCLK_A_MARK, PWM0_A_MARK, 466 + ADICLK_MARK, TS_SDAT0_B_MARK, AUDIO_CLKC_MARK, 467 + VI0_R1_B_MARK, DU0_DB1_MARK, LCDOUT17_MARK, AUDATA7_MARK, 468 + ARM_TRACEDATA_7_MARK, GPSIN_A_MARK, ADICS_SAMP_MARK, 469 + TS_SCK0_B_MARK, VI0_R2_B_MARK, DU0_DB2_MARK, LCDOUT18_MARK, 470 + VI0_R3_B_MARK, DU0_DB3_MARK, LCDOUT19_MARK, VI0_R4_B_MARK, 471 + DU0_DB4_MARK, LCDOUT20_MARK, 472 + 473 + /* IPSR5 */ 474 + VI0_R5_B_MARK, DU0_DB5_MARK, LCDOUT21_MARK, VI1_DATA10_B_MARK, 475 + DU0_DB6_MARK, LCDOUT22_MARK, VI1_DATA11_B_MARK, 476 + DU0_DB7_MARK, LCDOUT23_MARK, DU0_DOTCLKIN_MARK, 477 + QSTVA_QVS_MARK, DU0_DOTCLKO_UT0_MARK, 478 + QCLK_MARK, DU0_DOTCLKO_UT1_MARK, QSTVB_QVE_MARK, 479 + AUDIO_CLKOUT_A_MARK, REMOCON_C_MARK, SSI_WS2_B_MARK, 480 + DU0_EXHSYNC_DU0_HSYNC_MARK, QSTH_QHS_MARK, 481 + DU0_EXVSYNC_DU0_VSYNC_MARK, QSTB_QHE_MARK, 482 + DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, 483 + QCPV_QDE_MARK, FMCLK_D_MARK, SSI_SCK1_A_MARK, 484 + DU0_DISP_MARK, QPOLA_MARK, AUDCK_MARK, ARM_TRACECLK_MARK, 485 + BPFCLK_D_MARK, SSI_WS1_A_MARK, DU0_CDE_MARK, QPOLB_MARK, 486 + AUDSYNC_MARK, ARM_TRACECTL_MARK, FMIN_D_MARK, 487 + SD1_CD_B_MARK, SSI_SCK78_MARK, HSPI_RX0_B_MARK, 488 + TX1_B_MARK, SD1_WP_B_MARK, SSI_WS78_MARK, HSPI_CLK0_B_MARK, 489 + RX1_B_MARK, CAN_CLK_D_MARK, SSI_SDATA8_MARK, 490 + SSI_SCK2_A_MARK, HSPI_CS0_B_MARK, 491 + TX2_A_MARK, CAN0_TX_B_MARK, SSI_SDATA7_MARK, 492 + HSPI_TX0_B_MARK, RX2_A_MARK, CAN0_RX_B_MARK, 493 + 494 + /* IPSR6 */ 495 + SSI_SCK6_MARK, HSPI_RX2_A_MARK, FMCLK_B_MARK, 496 + CAN1_TX_B_MARK, SSI_WS6_MARK, HSPI_CLK2_A_MARK, 497 + BPFCLK_B_MARK, CAN1_RX_B_MARK, SSI_SDATA6_MARK, 498 + HSPI_TX2_A_MARK, FMIN_B_MARK, SSI_SCK5_MARK, 499 + RX4_C_MARK, SSI_WS5_MARK, TX4_C_MARK, SSI_SDATA5_MARK, 500 + RX0_D_MARK, SSI_WS34_MARK, ARM_TRACEDATA_8_MARK, 501 + SSI_SDATA4_MARK, SSI_WS2_A_MARK, ARM_TRACEDATA_9_MARK, 502 + SSI_SDATA3_MARK, ARM_TRACEDATA_10_MARK, 503 + SSI_SCK012_MARK, ARM_TRACEDATA_11_MARK, 504 + TX0_D_MARK, SSI_WS012_MARK, ARM_TRACEDATA_12_MARK, 505 + SSI_SDATA2_MARK, HSPI_CS2_A_MARK, 506 + ARM_TRACEDATA_13_MARK, SDA1_A_MARK, SSI_SDATA1_MARK, 507 + ARM_TRACEDATA_14_MARK, SCL1_A_MARK, SCK2_A_MARK, 508 + SSI_SDATA0_MARK, ARM_TRACEDATA_15_MARK, 509 + SD0_CLK_MARK, SUB_TDO_MARK, SD0_CMD_MARK, SUB_TRST_MARK, 510 + SD0_DAT0_MARK, SUB_TMS_MARK, SD0_DAT1_MARK, SUB_TCK_MARK, 511 + SD0_DAT2_MARK, SUB_TDI_MARK, 512 + 513 + /* IPSR7 */ 514 + SD0_DAT3_MARK, IRQ1_B_MARK, SD0_CD_MARK, TX5_A_MARK, 515 + SD0_WP_MARK, RX5_A_MARK, VI1_CLKENB_MARK, 516 + HSPI_CLK0_A_MARK, HTX1_A_MARK, RTS1_C_MARK, VI1_FIELD_MARK, 517 + HSPI_CS0_A_MARK, HRX1_A_MARK, SCK1_C_MARK, VI1_HSYNC_MARK, 518 + HSPI_RX0_A_MARK, HRTS1_A_MARK, FMCLK_A_MARK, RX1_C_MARK, 519 + VI1_VSYNC_MARK, HSPI_TX0_MARK, HCTS1_A_MARK, BPFCLK_A_MARK, 520 + TX1_C_MARK, TCLK0_MARK, HSCK1_A_MARK, FMIN_A_MARK, 521 + IRQ2_C_MARK, CTS1_C_MARK, SPEEDIN_MARK, VI0_CLK_MARK, 522 + CAN_CLK_A_MARK, VI0_CLKENB_MARK, SD2_DAT2_B_MARK, 523 + VI1_DATA0_MARK, DU1_DG6_MARK, HSPI_RX1_A_MARK, 524 + RX4_B_MARK, VI0_FIELD_MARK, SD2_DAT3_B_MARK, 525 + VI0_R3_C_MARK, VI1_DATA1_MARK, DU1_DG7_MARK, HSPI_CLK1_A_MARK, 526 + TX4_B_MARK, VI0_HSYNC_MARK, SD2_CD_B_MARK, VI1_DATA2_MARK, 527 + DU1_DR2_MARK, HSPI_CS1_A_MARK, RX3_B_MARK, 528 + 529 + /* IPSR8 */ 530 + VI0_VSYNC_MARK, SD2_WP_B_MARK, VI1_DATA3_MARK, DU1_DR3_MARK, 531 + HSPI_TX1_A_MARK, TX3_B_MARK, VI0_DATA0_VI0_B0_MARK, 532 + DU1_DG2_MARK, IRQ2_B_MARK, RX3_D_MARK, VI0_DATA1_VI0_B1_MARK, 533 + DU1_DG3_MARK, IRQ3_B_MARK, TX3_D_MARK, VI0_DATA2_VI0_B2_MARK, 534 + DU1_DG4_MARK, RX0_C_MARK, VI0_DATA3_VI0_B3_MARK, 535 + DU1_DG5_MARK, TX1_A_MARK, TX0_C_MARK, VI0_DATA4_VI0_B4_MARK, 536 + DU1_DB2_MARK, RX1_A_MARK, VI0_DATA5_VI0_B5_MARK, 537 + DU1_DB3_MARK, SCK1_A_MARK, PWM4_MARK, HSCK1_B_MARK, 538 + VI0_DATA6_VI0_G0_MARK, DU1_DB4_MARK, CTS1_A_MARK, 539 + PWM5_MARK, VI0_DATA7_VI0_G1_MARK, DU1_DB5_MARK, 540 + RTS1_A_MARK, VI0_G2_MARK, SD2_CLK_B_MARK, VI1_DATA4_MARK, 541 + DU1_DR4_MARK, HTX1_B_MARK, VI0_G3_MARK, SD2_CMD_B_MARK, 542 + VI1_DATA5_MARK, DU1_DR5_MARK, HRX1_B_MARK, 543 + 544 + /* IPSR9 */ 545 + VI0_G4_MARK, SD2_DAT0_B_MARK, VI1_DATA6_MARK, 546 + DU1_DR6_MARK, HRTS1_B_MARK, VI0_G5_MARK, SD2_DAT1_B_MARK, 547 + VI1_DATA7_MARK, DU1_DR7_MARK, HCTS1_B_MARK, VI0_R0_A_MARK, 548 + VI1_CLK_MARK, ETH_REF_CLK_MARK, DU1_DOTCLKIN_MARK, 549 + VI0_R1_A_MARK, VI1_DATA8_MARK, DU1_DB6_MARK, ETH_TXD0_MARK, 550 + PWM2_MARK, TCLK1_MARK, VI0_R2_A_MARK, VI1_DATA9_MARK, 551 + DU1_DB7_MARK, ETH_TXD1_MARK, PWM3_MARK, VI0_R3_A_MARK, 552 + ETH_CRS_DV_MARK, IECLK_MARK, SCK2_C_MARK, 553 + VI0_R4_A_MARK, ETH_TX_EN_MARK, IETX_MARK, 554 + TX2_C_MARK, VI0_R5_A_MARK, ETH_RX_ER_MARK, FMCLK_C_MARK, 555 + IERX_MARK, RX2_C_MARK, VI1_DATA10_A_MARK, 556 + DU1_DOTCLKOUT_MARK, ETH_RXD0_MARK, 557 + BPFCLK_C_MARK, TX2_D_MARK, SDA2_C_MARK, VI1_DATA11_A_MARK, 558 + DU1_EXHSYNC_DU1_HSYNC_MARK, ETH_RXD1_MARK, FMIN_C_MARK, 559 + RX2_D_MARK, SCL2_C_MARK, 560 + 561 + /* IPSR10 */ 562 + SD2_CLK_A_MARK, DU1_EXVSYNC_DU1_VSYNC_MARK, ATARD1_MARK, 563 + ETH_MDC_MARK, SDA1_B_MARK, SD2_CMD_A_MARK, 564 + DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK, ATAWR1_MARK, 565 + ETH_MDIO_MARK, SCL1_B_MARK, SD2_DAT0_A_MARK, 566 + DU1_DISP_MARK, ATACS01_MARK, DREQ1_B_MARK, ETH_LINK_MARK, 567 + CAN1_RX_A_MARK, SD2_DAT1_A_MARK, DU1_CDE_MARK, 568 + ATACS11_MARK, DACK1_B_MARK, ETH_MAGIC_MARK, CAN1_TX_A_MARK, 569 + PWM6_MARK, SD2_DAT2_A_MARK, VI1_DATA12_MARK, 570 + DREQ2_B_MARK, ATADIR1_MARK, HSPI_CLK2_B_MARK, 571 + GPSCLK_B_MARK, SD2_DAT3_A_MARK, VI1_DATA13_MARK, 572 + DACK2_B_MARK, ATAG1_MARK, HSPI_CS2_B_MARK, 573 + GPSIN_B_MARK, SD2_CD_A_MARK, VI1_DATA14_MARK, 574 + EX_WAIT1_B_MARK, DREQ0_B_MARK, HSPI_RX2_B_MARK, 575 + REMOCON_A_MARK, SD2_WP_A_MARK, VI1_DATA15_MARK, 576 + EX_WAIT2_B_MARK, DACK0_B_MARK, 577 + HSPI_TX2_B_MARK, CAN_CLK_C_MARK, 578 + 579 + PINMUX_MARK_END, 580 + }; 581 + 582 + static const pinmux_enum_t pinmux_data[] = { 583 + PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */ 584 + 585 + PINMUX_DATA(PENC0_MARK, FN_PENC0), 586 + PINMUX_DATA(PENC1_MARK, FN_PENC1), 587 + PINMUX_DATA(A1_MARK, FN_A1), 588 + PINMUX_DATA(A2_MARK, FN_A2), 589 + PINMUX_DATA(A3_MARK, FN_A3), 590 + PINMUX_DATA(WE0_MARK, FN_WE0), 591 + PINMUX_DATA(AUDIO_CLKA_MARK, FN_AUDIO_CLKA), 592 + PINMUX_DATA(AUDIO_CLKB_MARK, FN_AUDIO_CLKB), 593 + PINMUX_DATA(SSI_SCK34_MARK, FN_SSI_SCK34), 594 + PINMUX_DATA(AVS1_MARK, FN_AVS1), 595 + PINMUX_DATA(AVS2_MARK, FN_AVS2), 596 + 597 + /* IPSR0 */ 598 + PINMUX_IPSR_DATA(IP0_1_0, PRESETOUT), 599 + PINMUX_IPSR_DATA(IP0_1_0, PWM1), 600 + 601 + PINMUX_IPSR_DATA(IP0_4_2, AUDATA0), 602 + PINMUX_IPSR_DATA(IP0_4_2, ARM_TRACEDATA_0), 603 + PINMUX_IPSR_MSEL(IP0_4_2, GPSCLK_C, SEL_GPS_C), 604 + PINMUX_IPSR_DATA(IP0_4_2, USB_OVC0), 605 + PINMUX_IPSR_DATA(IP0_4_2, TX2_E), 606 + PINMUX_IPSR_MSEL(IP0_4_2, SDA2_B, SEL_I2C2_B), 607 + 608 + PINMUX_IPSR_DATA(IP0_7_5, AUDATA1), 609 + PINMUX_IPSR_DATA(IP0_7_5, ARM_TRACEDATA_1), 610 + PINMUX_IPSR_MSEL(IP0_7_5, GPSIN_C, SEL_GPS_C), 611 + PINMUX_IPSR_DATA(IP0_7_5, USB_OVC1), 612 + PINMUX_IPSR_MSEL(IP0_7_5, RX2_E, SEL_SCIF2_E), 613 + PINMUX_IPSR_MSEL(IP0_7_5, SCL2_B, SEL_I2C2_B), 614 + 615 + PINMUX_IPSR_MSEL(IP0_11_8, SD1_DAT2_A, SEL_SD1_A), 616 + PINMUX_IPSR_DATA(IP0_11_8, MMC_D2), 617 + PINMUX_IPSR_DATA(IP0_11_8, BS), 618 + PINMUX_IPSR_DATA(IP0_11_8, ATADIR0_A), 619 + PINMUX_IPSR_DATA(IP0_11_8, SDSELF_A), 620 + PINMUX_IPSR_DATA(IP0_11_8, PWM4_B), 621 + 622 + PINMUX_IPSR_MSEL(IP0_14_12, SD1_DAT3_A, SEL_SD1_A), 623 + PINMUX_IPSR_DATA(IP0_14_12, MMC_D3), 624 + PINMUX_IPSR_DATA(IP0_14_12, A0), 625 + PINMUX_IPSR_DATA(IP0_14_12, ATAG0_A), 626 + PINMUX_IPSR_MSEL(IP0_14_12, REMOCON_B, SEL_REMOCON_B), 627 + 628 + PINMUX_IPSR_DATA(IP0_15, A4), 629 + PINMUX_IPSR_DATA(IP0_16, A5), 630 + PINMUX_IPSR_DATA(IP0_17, A6), 631 + PINMUX_IPSR_DATA(IP0_18, A7), 632 + PINMUX_IPSR_DATA(IP0_19, A8), 633 + PINMUX_IPSR_DATA(IP0_20, A9), 634 + PINMUX_IPSR_DATA(IP0_21, A10), 635 + PINMUX_IPSR_DATA(IP0_22, A11), 636 + PINMUX_IPSR_DATA(IP0_23, A12), 637 + PINMUX_IPSR_DATA(IP0_24, A13), 638 + PINMUX_IPSR_DATA(IP0_25, A14), 639 + PINMUX_IPSR_DATA(IP0_26, A15), 640 + PINMUX_IPSR_DATA(IP0_27, A16), 641 + PINMUX_IPSR_DATA(IP0_28, A17), 642 + PINMUX_IPSR_DATA(IP0_29, A18), 643 + PINMUX_IPSR_DATA(IP0_30, A19), 644 + 645 + /* IPSR1 */ 646 + PINMUX_IPSR_DATA(IP1_0, A20), 647 + PINMUX_IPSR_MSEL(IP1_0, HSPI_CS1_B, SEL_HSPI1_B), 648 + 649 + PINMUX_IPSR_DATA(IP1_1, A21), 650 + PINMUX_IPSR_MSEL(IP1_1, HSPI_CLK1_B, SEL_HSPI1_B), 651 + 652 + PINMUX_IPSR_DATA(IP1_4_2, A22), 653 + PINMUX_IPSR_MSEL(IP1_4_2, HRTS0_B, SEL_HSCIF0_B), 654 + PINMUX_IPSR_MSEL(IP1_4_2, RX2_B, SEL_SCIF2_B), 655 + PINMUX_IPSR_MSEL(IP1_4_2, DREQ2_A, SEL_DREQ2_A), 656 + 657 + PINMUX_IPSR_DATA(IP1_7_5, A23), 658 + PINMUX_IPSR_DATA(IP1_7_5, HTX0_B), 659 + PINMUX_IPSR_DATA(IP1_7_5, TX2_B), 660 + PINMUX_IPSR_DATA(IP1_7_5, DACK2_A), 661 + PINMUX_IPSR_MSEL(IP1_7_5, TS_SDEN0_A, SEL_TSIF0_A), 662 + 663 + PINMUX_IPSR_MSEL(IP1_10_8, SD1_CD_A, SEL_SD1_A), 664 + PINMUX_IPSR_DATA(IP1_10_8, MMC_D6), 665 + PINMUX_IPSR_DATA(IP1_10_8, A24), 666 + PINMUX_IPSR_MSEL(IP1_10_8, DREQ1_A, SEL_DREQ1_A), 667 + PINMUX_IPSR_MSEL(IP1_10_8, HRX0_B, SEL_HSCIF0_B), 668 + PINMUX_IPSR_MSEL(IP1_10_8, TS_SPSYNC0_A, SEL_TSIF0_A), 669 + 670 + PINMUX_IPSR_MSEL(IP1_14_11, SD1_WP_A, SEL_SD1_A), 671 + PINMUX_IPSR_DATA(IP1_14_11, MMC_D7), 672 + PINMUX_IPSR_DATA(IP1_14_11, A25), 673 + PINMUX_IPSR_DATA(IP1_14_11, DACK1_A), 674 + PINMUX_IPSR_MSEL(IP1_14_11, HCTS0_B, SEL_HSCIF0_B), 675 + PINMUX_IPSR_MSEL(IP1_14_11, RX3_C, SEL_SCIF3_C), 676 + PINMUX_IPSR_MSEL(IP1_14_11, TS_SDAT0_A, SEL_TSIF0_A), 677 + 678 + PINMUX_IPSR_NOGP(IP1_16_15, CLKOUT), 679 + PINMUX_IPSR_NOGP(IP1_16_15, HSPI_TX1_B), 680 + PINMUX_IPSR_NOGP(IP1_16_15, PWM0_B), 681 + 682 + PINMUX_IPSR_NOGP(IP1_17, CS0), 683 + PINMUX_IPSR_NOGM(IP1_17, HSPI_RX1_B, SEL_HSPI1_B), 684 + 685 + PINMUX_IPSR_NOGM(IP1_20_18, SSI_SCK1_B, SEL_SSI1_B), 686 + PINMUX_IPSR_NOGP(IP1_20_18, ATAG0_B), 687 + PINMUX_IPSR_NOGP(IP1_20_18, CS1_A26), 688 + PINMUX_IPSR_NOGM(IP1_20_18, SDA2_A, SEL_I2C2_A), 689 + PINMUX_IPSR_NOGM(IP1_20_18, SCK2_B, SEL_SCIF2_B), 690 + 691 + PINMUX_IPSR_DATA(IP1_23_21, MMC_D5), 692 + PINMUX_IPSR_DATA(IP1_23_21, ATADIR0_B), 693 + PINMUX_IPSR_DATA(IP1_23_21, RD_WR), 694 + 695 + PINMUX_IPSR_DATA(IP1_24, WE1), 696 + PINMUX_IPSR_DATA(IP1_24, ATAWR0_B), 697 + 698 + PINMUX_IPSR_MSEL(IP1_27_25, SSI_WS1_B, SEL_SSI1_B), 699 + PINMUX_IPSR_DATA(IP1_27_25, EX_CS0), 700 + PINMUX_IPSR_MSEL(IP1_27_25, SCL2_A, SEL_I2C2_A), 701 + PINMUX_IPSR_DATA(IP1_27_25, TX3_C), 702 + PINMUX_IPSR_MSEL(IP1_27_25, TS_SCK0_A, SEL_TSIF0_A), 703 + 704 + PINMUX_IPSR_DATA(IP1_29_28, EX_CS1), 705 + PINMUX_IPSR_DATA(IP1_29_28, MMC_D4), 706 + 707 + /* IPSR2 */ 708 + PINMUX_IPSR_DATA(IP2_2_0, SD1_CLK_A), 709 + PINMUX_IPSR_DATA(IP2_2_0, MMC_CLK), 710 + PINMUX_IPSR_DATA(IP2_2_0, ATACS00), 711 + PINMUX_IPSR_DATA(IP2_2_0, EX_CS2), 712 + 713 + PINMUX_IPSR_MSEL(IP2_5_3, SD1_CMD_A, SEL_SD1_A), 714 + PINMUX_IPSR_DATA(IP2_5_3, MMC_CMD), 715 + PINMUX_IPSR_DATA(IP2_5_3, ATACS10), 716 + PINMUX_IPSR_DATA(IP2_5_3, EX_CS3), 717 + 718 + PINMUX_IPSR_MSEL(IP2_8_6, SD1_DAT0_A, SEL_SD1_A), 719 + PINMUX_IPSR_DATA(IP2_8_6, MMC_D0), 720 + PINMUX_IPSR_DATA(IP2_8_6, ATARD0), 721 + PINMUX_IPSR_DATA(IP2_8_6, EX_CS4), 722 + PINMUX_IPSR_MSEL(IP2_8_6, EX_WAIT1_A, SEL_WAIT1_A), 723 + 724 + PINMUX_IPSR_MSEL(IP2_11_9, SD1_DAT1_A, SEL_SD1_A), 725 + PINMUX_IPSR_DATA(IP2_11_9, MMC_D1), 726 + PINMUX_IPSR_DATA(IP2_11_9, ATAWR0_A), 727 + PINMUX_IPSR_DATA(IP2_11_9, EX_CS5), 728 + PINMUX_IPSR_MSEL(IP2_11_9, EX_WAIT2_A, SEL_WAIT2_A), 729 + 730 + PINMUX_IPSR_MSEL(IP2_13_12, DREQ0_A, SEL_DREQ0_A), 731 + PINMUX_IPSR_MSEL(IP2_13_12, RX3_A, SEL_SCIF3_A), 732 + 733 + PINMUX_IPSR_DATA(IP2_16_14, DACK0), 734 + PINMUX_IPSR_DATA(IP2_16_14, TX3_A), 735 + PINMUX_IPSR_DATA(IP2_16_14, DRACK0), 736 + 737 + PINMUX_IPSR_DATA(IP2_17, EX_WAIT0), 738 + PINMUX_IPSR_DATA(IP2_17, PWM0_C), 739 + 740 + PINMUX_IPSR_NOGP(IP2_18, D0), 741 + PINMUX_IPSR_NOGP(IP2_19, D1), 742 + PINMUX_IPSR_NOGP(IP2_20, D2), 743 + PINMUX_IPSR_NOGP(IP2_21, D3), 744 + PINMUX_IPSR_NOGP(IP2_22, D4), 745 + PINMUX_IPSR_NOGP(IP2_23, D5), 746 + PINMUX_IPSR_NOGP(IP2_24, D6), 747 + PINMUX_IPSR_NOGP(IP2_25, D7), 748 + PINMUX_IPSR_NOGP(IP2_26, D8), 749 + PINMUX_IPSR_NOGP(IP2_27, D9), 750 + PINMUX_IPSR_NOGP(IP2_28, D10), 751 + PINMUX_IPSR_NOGP(IP2_29, D11), 752 + 753 + PINMUX_IPSR_DATA(IP2_30, RD_WR_B), 754 + PINMUX_IPSR_DATA(IP2_30, IRQ0), 755 + 756 + PINMUX_IPSR_DATA(IP2_31, MLB_CLK), 757 + PINMUX_IPSR_MSEL(IP2_31, IRQ1_A, SEL_IRQ1_A), 758 + 759 + /* IPSR3 */ 760 + PINMUX_IPSR_DATA(IP3_1_0, MLB_SIG), 761 + PINMUX_IPSR_MSEL(IP3_1_0, RX5_B, SEL_SCIF5_B), 762 + PINMUX_IPSR_MSEL(IP3_1_0, SDA3_A, SEL_I2C3_A), 763 + PINMUX_IPSR_MSEL(IP3_1_0, IRQ2_A, SEL_IRQ2_A), 764 + 765 + PINMUX_IPSR_DATA(IP3_4_2, MLB_DAT), 766 + PINMUX_IPSR_DATA(IP3_4_2, TX5_B), 767 + PINMUX_IPSR_MSEL(IP3_4_2, SCL3_A, SEL_I2C3_A), 768 + PINMUX_IPSR_MSEL(IP3_4_2, IRQ3_A, SEL_IRQ3_A), 769 + PINMUX_IPSR_DATA(IP3_4_2, SDSELF_B), 770 + 771 + PINMUX_IPSR_MSEL(IP3_7_5, SD1_CMD_B, SEL_SD1_B), 772 + PINMUX_IPSR_DATA(IP3_7_5, SCIF_CLK), 773 + PINMUX_IPSR_DATA(IP3_7_5, AUDIO_CLKOUT_B), 774 + PINMUX_IPSR_MSEL(IP3_7_5, CAN_CLK_B, SEL_CANCLK_B), 775 + PINMUX_IPSR_MSEL(IP3_7_5, SDA3_B, SEL_I2C3_B), 776 + 777 + PINMUX_IPSR_DATA(IP3_9_8, SD1_CLK_B), 778 + PINMUX_IPSR_DATA(IP3_9_8, HTX0_A), 779 + PINMUX_IPSR_DATA(IP3_9_8, TX0_A), 780 + 781 + PINMUX_IPSR_MSEL(IP3_12_10, SD1_DAT0_B, SEL_SD1_B), 782 + PINMUX_IPSR_MSEL(IP3_12_10, HRX0_A, SEL_HSCIF0_A), 783 + PINMUX_IPSR_MSEL(IP3_12_10, RX0_A, SEL_SCIF0_A), 784 + 785 + PINMUX_IPSR_MSEL(IP3_15_13, SD1_DAT1_B, SEL_SD1_B), 786 + PINMUX_IPSR_MSEL(IP3_15_13, HSCK0, SEL_HSCIF0_A), 787 + PINMUX_IPSR_DATA(IP3_15_13, SCK0), 788 + PINMUX_IPSR_MSEL(IP3_15_13, SCL3_B, SEL_I2C3_B), 789 + 790 + PINMUX_IPSR_MSEL(IP3_18_16, SD1_DAT2_B, SEL_SD1_B), 791 + PINMUX_IPSR_MSEL(IP3_18_16, HCTS0_A, SEL_HSCIF0_A), 792 + PINMUX_IPSR_DATA(IP3_18_16, CTS0), 793 + 794 + PINMUX_IPSR_MSEL(IP3_20_19, SD1_DAT3_B, SEL_SD1_B), 795 + PINMUX_IPSR_MSEL(IP3_20_19, HRTS0_A, SEL_HSCIF0_A), 796 + PINMUX_IPSR_DATA(IP3_20_19, RTS0), 797 + 798 + PINMUX_IPSR_DATA(IP3_23_21, SSI_SCK4), 799 + PINMUX_IPSR_DATA(IP3_23_21, DU0_DR0), 800 + PINMUX_IPSR_DATA(IP3_23_21, LCDOUT0), 801 + PINMUX_IPSR_DATA(IP3_23_21, AUDATA2), 802 + PINMUX_IPSR_DATA(IP3_23_21, ARM_TRACEDATA_2), 803 + PINMUX_IPSR_MSEL(IP3_23_21, SDA3_C, SEL_I2C3_C), 804 + PINMUX_IPSR_DATA(IP3_23_21, ADICHS1), 805 + PINMUX_IPSR_MSEL(IP3_23_21, TS_SDEN0_B, SEL_TSIF0_B), 806 + 807 + PINMUX_IPSR_DATA(IP3_26_24, SSI_WS4), 808 + PINMUX_IPSR_DATA(IP3_26_24, DU0_DR1), 809 + PINMUX_IPSR_DATA(IP3_26_24, LCDOUT1), 810 + PINMUX_IPSR_DATA(IP3_26_24, AUDATA3), 811 + PINMUX_IPSR_DATA(IP3_26_24, ARM_TRACEDATA_3), 812 + PINMUX_IPSR_MSEL(IP3_26_24, SCL3_C, SEL_I2C3_C), 813 + PINMUX_IPSR_DATA(IP3_26_24, ADICHS2), 814 + PINMUX_IPSR_MSEL(IP3_26_24, TS_SPSYNC0_B, SEL_TSIF0_B), 815 + 816 + PINMUX_IPSR_DATA(IP3_27, DU0_DR2), 817 + PINMUX_IPSR_DATA(IP3_27, LCDOUT2), 818 + 819 + PINMUX_IPSR_DATA(IP3_28, DU0_DR3), 820 + PINMUX_IPSR_DATA(IP3_28, LCDOUT3), 821 + 822 + PINMUX_IPSR_DATA(IP3_29, DU0_DR4), 823 + PINMUX_IPSR_DATA(IP3_29, LCDOUT4), 824 + 825 + PINMUX_IPSR_DATA(IP3_30, DU0_DR5), 826 + PINMUX_IPSR_DATA(IP3_30, LCDOUT5), 827 + 828 + PINMUX_IPSR_DATA(IP3_31, DU0_DR6), 829 + PINMUX_IPSR_DATA(IP3_31, LCDOUT6), 830 + 831 + /* IPSR4 */ 832 + PINMUX_IPSR_DATA(IP4_0, DU0_DR7), 833 + PINMUX_IPSR_DATA(IP4_0, LCDOUT7), 834 + 835 + PINMUX_IPSR_DATA(IP4_3_1, DU0_DG0), 836 + PINMUX_IPSR_DATA(IP4_3_1, LCDOUT8), 837 + PINMUX_IPSR_DATA(IP4_3_1, AUDATA4), 838 + PINMUX_IPSR_DATA(IP4_3_1, ARM_TRACEDATA_4), 839 + PINMUX_IPSR_DATA(IP4_3_1, TX1_D), 840 + PINMUX_IPSR_DATA(IP4_3_1, CAN0_TX_A), 841 + PINMUX_IPSR_DATA(IP4_3_1, ADICHS0), 842 + 843 + PINMUX_IPSR_DATA(IP4_6_4, DU0_DG1), 844 + PINMUX_IPSR_DATA(IP4_6_4, LCDOUT9), 845 + PINMUX_IPSR_DATA(IP4_6_4, AUDATA5), 846 + PINMUX_IPSR_DATA(IP4_6_4, ARM_TRACEDATA_5), 847 + PINMUX_IPSR_MSEL(IP4_6_4, RX1_D, SEL_SCIF1_D), 848 + PINMUX_IPSR_MSEL(IP4_6_4, CAN0_RX_A, SEL_CAN0_A), 849 + PINMUX_IPSR_DATA(IP4_6_4, ADIDATA), 850 + 851 + PINMUX_IPSR_DATA(IP4_7, DU0_DG2), 852 + PINMUX_IPSR_DATA(IP4_7, LCDOUT10), 853 + 854 + PINMUX_IPSR_DATA(IP4_8, DU0_DG3), 855 + PINMUX_IPSR_DATA(IP4_8, LCDOUT11), 856 + 857 + PINMUX_IPSR_DATA(IP4_10_9, DU0_DG4), 858 + PINMUX_IPSR_DATA(IP4_10_9, LCDOUT12), 859 + PINMUX_IPSR_MSEL(IP4_10_9, RX0_B, SEL_SCIF0_B), 860 + 861 + PINMUX_IPSR_DATA(IP4_12_11, DU0_DG5), 862 + PINMUX_IPSR_DATA(IP4_12_11, LCDOUT13), 863 + PINMUX_IPSR_DATA(IP4_12_11, TX0_B), 864 + 865 + PINMUX_IPSR_DATA(IP4_14_13, DU0_DG6), 866 + PINMUX_IPSR_DATA(IP4_14_13, LCDOUT14), 867 + PINMUX_IPSR_MSEL(IP4_14_13, RX4_A, SEL_SCIF4_A), 868 + 869 + PINMUX_IPSR_DATA(IP4_16_15, DU0_DG7), 870 + PINMUX_IPSR_DATA(IP4_16_15, LCDOUT15), 871 + PINMUX_IPSR_DATA(IP4_16_15, TX4_A), 872 + 873 + PINMUX_IPSR_MSEL(IP4_20_17, SSI_SCK2_B, SEL_SSI2_B), 874 + PINMUX_DATA(VI0_R0_B_MARK, FN_IP4_20_17, FN_VI0_R0_B, FN_SEL_VI0_B), /* see sel_vi0 */ 875 + PINMUX_DATA(VI0_R0_D_MARK, FN_IP4_20_17, FN_VI0_R0_B, FN_SEL_VI0_D), /* see sel_vi0 */ 876 + PINMUX_IPSR_DATA(IP4_20_17, DU0_DB0), 877 + PINMUX_IPSR_DATA(IP4_20_17, LCDOUT16), 878 + PINMUX_IPSR_DATA(IP4_20_17, AUDATA6), 879 + PINMUX_IPSR_DATA(IP4_20_17, ARM_TRACEDATA_6), 880 + PINMUX_IPSR_MSEL(IP4_20_17, GPSCLK_A, SEL_GPS_A), 881 + PINMUX_IPSR_DATA(IP4_20_17, PWM0_A), 882 + PINMUX_IPSR_DATA(IP4_20_17, ADICLK), 883 + PINMUX_IPSR_MSEL(IP4_20_17, TS_SDAT0_B, SEL_TSIF0_B), 884 + 885 + PINMUX_IPSR_DATA(IP4_24_21, AUDIO_CLKC), 886 + PINMUX_DATA(VI0_R1_B_MARK, FN_IP4_24_21, FN_VI0_R1_B, FN_SEL_VI0_B), /* see sel_vi0 */ 887 + PINMUX_DATA(VI0_R1_D_MARK, FN_IP4_24_21, FN_VI0_R1_B, FN_SEL_VI0_D), /* see sel_vi0 */ 888 + PINMUX_IPSR_DATA(IP4_24_21, DU0_DB1), 889 + PINMUX_IPSR_DATA(IP4_24_21, LCDOUT17), 890 + PINMUX_IPSR_DATA(IP4_24_21, AUDATA7), 891 + PINMUX_IPSR_DATA(IP4_24_21, ARM_TRACEDATA_7), 892 + PINMUX_IPSR_MSEL(IP4_24_21, GPSIN_A, SEL_GPS_A), 893 + PINMUX_IPSR_DATA(IP4_24_21, ADICS_SAMP), 894 + PINMUX_IPSR_MSEL(IP4_24_21, TS_SCK0_B, SEL_TSIF0_B), 895 + 896 + PINMUX_DATA(VI0_R2_B_MARK, FN_IP4_26_25, FN_VI0_R2_B, FN_SEL_VI0_B), /* see sel_vi0 */ 897 + PINMUX_DATA(VI0_R2_D_MARK, FN_IP4_26_25, FN_VI0_R2_B, FN_SEL_VI0_D), /* see sel_vi0 */ 898 + PINMUX_IPSR_DATA(IP4_26_25, DU0_DB2), 899 + PINMUX_IPSR_DATA(IP4_26_25, LCDOUT18), 900 + 901 + PINMUX_IPSR_MSEL(IP4_28_27, VI0_R3_B, SEL_VI0_B), 902 + PINMUX_IPSR_DATA(IP4_28_27, DU0_DB3), 903 + PINMUX_IPSR_DATA(IP4_28_27, LCDOUT19), 904 + 905 + PINMUX_DATA(VI0_R4_B_MARK, FN_IP4_30_29, FN_VI0_R4_B, FN_SEL_VI0_B), /* see sel_vi0 */ 906 + PINMUX_DATA(VI0_R4_D_MARK, FN_IP4_30_29, FN_VI0_R4_B, FN_SEL_VI0_D), /* see sel_vi0 */ 907 + PINMUX_IPSR_DATA(IP4_30_29, DU0_DB4), 908 + PINMUX_IPSR_DATA(IP4_30_29, LCDOUT20), 909 + 910 + /* IPSR5 */ 911 + PINMUX_DATA(VI0_R5_B_MARK, FN_IP5_1_0, FN_VI0_R5_B, FN_SEL_VI0_B), /* see sel_vi0 */ 912 + PINMUX_DATA(VI0_R5_D_MARK, FN_IP5_1_0, FN_VI0_R5_B, FN_SEL_VI0_D), /* see sel_vi0 */ 913 + PINMUX_IPSR_DATA(IP5_1_0, DU0_DB5), 914 + PINMUX_IPSR_DATA(IP5_1_0, LCDOUT21), 915 + 916 + PINMUX_IPSR_MSEL(IP5_3_2, VI1_DATA10_B, SEL_VI1_B), 917 + PINMUX_IPSR_DATA(IP5_3_2, DU0_DB6), 918 + PINMUX_IPSR_DATA(IP5_3_2, LCDOUT22), 919 + 920 + PINMUX_IPSR_MSEL(IP5_5_4, VI1_DATA11_B, SEL_VI1_B), 921 + PINMUX_IPSR_DATA(IP5_5_4, DU0_DB7), 922 + PINMUX_IPSR_DATA(IP5_5_4, LCDOUT23), 923 + 924 + PINMUX_IPSR_DATA(IP5_6, DU0_DOTCLKIN), 925 + PINMUX_IPSR_DATA(IP5_6, QSTVA_QVS), 926 + 927 + PINMUX_IPSR_DATA(IP5_7, DU0_DOTCLKO_UT0), 928 + PINMUX_IPSR_DATA(IP5_7, QCLK), 929 + 930 + PINMUX_IPSR_DATA(IP5_9_8, DU0_DOTCLKO_UT1), 931 + PINMUX_IPSR_DATA(IP5_9_8, QSTVB_QVE), 932 + PINMUX_IPSR_DATA(IP5_9_8, AUDIO_CLKOUT_A), 933 + PINMUX_IPSR_MSEL(IP5_9_8, REMOCON_C, SEL_REMOCON_C), 934 + 935 + PINMUX_IPSR_MSEL(IP5_11_10, SSI_WS2_B, SEL_SSI2_B), 936 + PINMUX_IPSR_DATA(IP5_11_10, DU0_EXHSYNC_DU0_HSYNC), 937 + PINMUX_IPSR_DATA(IP5_11_10, QSTH_QHS), 938 + 939 + PINMUX_IPSR_DATA(IP5_12, DU0_EXVSYNC_DU0_VSYNC), 940 + PINMUX_IPSR_DATA(IP5_12, QSTB_QHE), 941 + 942 + PINMUX_IPSR_DATA(IP5_14_13, DU0_EXODDF_DU0_ODDF_DISP_CDE), 943 + PINMUX_IPSR_DATA(IP5_14_13, QCPV_QDE), 944 + PINMUX_IPSR_MSEL(IP5_14_13, FMCLK_D, SEL_FM_D), 945 + 946 + PINMUX_IPSR_MSEL(IP5_17_15, SSI_SCK1_A, SEL_SSI1_A), 947 + PINMUX_IPSR_DATA(IP5_17_15, DU0_DISP), 948 + PINMUX_IPSR_DATA(IP5_17_15, QPOLA), 949 + PINMUX_IPSR_DATA(IP5_17_15, AUDCK), 950 + PINMUX_IPSR_DATA(IP5_17_15, ARM_TRACECLK), 951 + PINMUX_IPSR_DATA(IP5_17_15, BPFCLK_D), 952 + 953 + PINMUX_IPSR_MSEL(IP5_20_18, SSI_WS1_A, SEL_SSI1_A), 954 + PINMUX_IPSR_DATA(IP5_20_18, DU0_CDE), 955 + PINMUX_IPSR_DATA(IP5_20_18, QPOLB), 956 + PINMUX_IPSR_DATA(IP5_20_18, AUDSYNC), 957 + PINMUX_IPSR_DATA(IP5_20_18, ARM_TRACECTL), 958 + PINMUX_IPSR_MSEL(IP5_20_18, FMIN_D, SEL_FM_D), 959 + 960 + PINMUX_IPSR_MSEL(IP5_22_21, SD1_CD_B, SEL_SD1_B), 961 + PINMUX_IPSR_DATA(IP5_22_21, SSI_SCK78), 962 + PINMUX_IPSR_MSEL(IP5_22_21, HSPI_RX0_B, SEL_HSPI0_B), 963 + PINMUX_IPSR_DATA(IP5_22_21, TX1_B), 964 + 965 + PINMUX_IPSR_MSEL(IP5_25_23, SD1_WP_B, SEL_SD1_B), 966 + PINMUX_IPSR_DATA(IP5_25_23, SSI_WS78), 967 + PINMUX_IPSR_MSEL(IP5_25_23, HSPI_CLK0_B, SEL_HSPI0_B), 968 + PINMUX_IPSR_MSEL(IP5_25_23, RX1_B, SEL_SCIF1_B), 969 + PINMUX_IPSR_MSEL(IP5_25_23, CAN_CLK_D, SEL_CANCLK_D), 970 + 971 + PINMUX_IPSR_DATA(IP5_28_26, SSI_SDATA8), 972 + PINMUX_IPSR_MSEL(IP5_28_26, SSI_SCK2_A, SEL_SSI2_A), 973 + PINMUX_IPSR_MSEL(IP5_28_26, HSPI_CS0_B, SEL_HSPI0_B), 974 + PINMUX_IPSR_DATA(IP5_28_26, TX2_A), 975 + PINMUX_IPSR_DATA(IP5_28_26, CAN0_TX_B), 976 + 977 + PINMUX_IPSR_DATA(IP5_30_29, SSI_SDATA7), 978 + PINMUX_IPSR_DATA(IP5_30_29, HSPI_TX0_B), 979 + PINMUX_IPSR_MSEL(IP5_30_29, RX2_A, SEL_SCIF2_A), 980 + PINMUX_IPSR_MSEL(IP5_30_29, CAN0_RX_B, SEL_CAN0_B), 981 + 982 + /* IPSR6 */ 983 + PINMUX_IPSR_DATA(IP6_1_0, SSI_SCK6), 984 + PINMUX_IPSR_MSEL(IP6_1_0, HSPI_RX2_A, SEL_HSPI2_A), 985 + PINMUX_IPSR_MSEL(IP6_1_0, FMCLK_B, SEL_FM_B), 986 + PINMUX_IPSR_DATA(IP6_1_0, CAN1_TX_B), 987 + 988 + PINMUX_IPSR_DATA(IP6_4_2, SSI_WS6), 989 + PINMUX_IPSR_MSEL(IP6_4_2, HSPI_CLK2_A, SEL_HSPI2_A), 990 + PINMUX_IPSR_DATA(IP6_4_2, BPFCLK_B), 991 + PINMUX_IPSR_MSEL(IP6_4_2, CAN1_RX_B, SEL_CAN1_B), 992 + 993 + PINMUX_IPSR_DATA(IP6_6_5, SSI_SDATA6), 994 + PINMUX_IPSR_DATA(IP6_6_5, HSPI_TX2_A), 995 + PINMUX_IPSR_MSEL(IP6_6_5, FMIN_B, SEL_FM_B), 996 + 997 + PINMUX_IPSR_DATA(IP6_7, SSI_SCK5), 998 + PINMUX_IPSR_MSEL(IP6_7, RX4_C, SEL_SCIF4_C), 999 + 1000 + PINMUX_IPSR_DATA(IP6_8, SSI_WS5), 1001 + PINMUX_IPSR_DATA(IP6_8, TX4_C), 1002 + 1003 + PINMUX_IPSR_DATA(IP6_9, SSI_SDATA5), 1004 + PINMUX_IPSR_MSEL(IP6_9, RX0_D, SEL_SCIF0_D), 1005 + 1006 + PINMUX_IPSR_DATA(IP6_10, SSI_WS34), 1007 + PINMUX_IPSR_DATA(IP6_10, ARM_TRACEDATA_8), 1008 + 1009 + PINMUX_IPSR_DATA(IP6_12_11, SSI_SDATA4), 1010 + PINMUX_IPSR_MSEL(IP6_12_11, SSI_WS2_A, SEL_SSI2_A), 1011 + PINMUX_IPSR_DATA(IP6_12_11, ARM_TRACEDATA_9), 1012 + 1013 + PINMUX_IPSR_DATA(IP6_13, SSI_SDATA3), 1014 + PINMUX_IPSR_DATA(IP6_13, ARM_TRACEDATA_10), 1015 + 1016 + PINMUX_IPSR_DATA(IP6_15_14, SSI_SCK012), 1017 + PINMUX_IPSR_DATA(IP6_15_14, ARM_TRACEDATA_11), 1018 + PINMUX_IPSR_DATA(IP6_15_14, TX0_D), 1019 + 1020 + PINMUX_IPSR_DATA(IP6_16, SSI_WS012), 1021 + PINMUX_IPSR_DATA(IP6_16, ARM_TRACEDATA_12), 1022 + 1023 + PINMUX_IPSR_DATA(IP6_18_17, SSI_SDATA2), 1024 + PINMUX_IPSR_MSEL(IP6_18_17, HSPI_CS2_A, SEL_HSPI2_A), 1025 + PINMUX_IPSR_DATA(IP6_18_17, ARM_TRACEDATA_13), 1026 + PINMUX_IPSR_MSEL(IP6_18_17, SDA1_A, SEL_I2C1_A), 1027 + 1028 + PINMUX_IPSR_DATA(IP6_20_19, SSI_SDATA1), 1029 + PINMUX_IPSR_DATA(IP6_20_19, ARM_TRACEDATA_14), 1030 + PINMUX_IPSR_MSEL(IP6_20_19, SCL1_A, SEL_I2C1_A), 1031 + PINMUX_IPSR_MSEL(IP6_20_19, SCK2_A, SEL_SCIF2_A), 1032 + 1033 + PINMUX_IPSR_DATA(IP6_21, SSI_SDATA0), 1034 + PINMUX_IPSR_DATA(IP6_21, ARM_TRACEDATA_15), 1035 + 1036 + PINMUX_IPSR_DATA(IP6_23_22, SD0_CLK), 1037 + PINMUX_IPSR_DATA(IP6_23_22, SUB_TDO), 1038 + 1039 + PINMUX_IPSR_DATA(IP6_25_24, SD0_CMD), 1040 + PINMUX_IPSR_DATA(IP6_25_24, SUB_TRST), 1041 + 1042 + PINMUX_IPSR_DATA(IP6_27_26, SD0_DAT0), 1043 + PINMUX_IPSR_DATA(IP6_27_26, SUB_TMS), 1044 + 1045 + PINMUX_IPSR_DATA(IP6_29_28, SD0_DAT1), 1046 + PINMUX_IPSR_DATA(IP6_29_28, SUB_TCK), 1047 + 1048 + PINMUX_IPSR_DATA(IP6_31_30, SD0_DAT2), 1049 + PINMUX_IPSR_DATA(IP6_31_30, SUB_TDI), 1050 + 1051 + /* IPSR7 */ 1052 + PINMUX_IPSR_DATA(IP7_1_0, SD0_DAT3), 1053 + PINMUX_IPSR_MSEL(IP7_1_0, IRQ1_B, SEL_IRQ1_B), 1054 + 1055 + PINMUX_IPSR_DATA(IP7_3_2, SD0_CD), 1056 + PINMUX_IPSR_DATA(IP7_3_2, TX5_A), 1057 + 1058 + PINMUX_IPSR_DATA(IP7_5_4, SD0_WP), 1059 + PINMUX_IPSR_MSEL(IP7_5_4, RX5_A, SEL_SCIF5_A), 1060 + 1061 + PINMUX_IPSR_DATA(IP7_8_6, VI1_CLKENB), 1062 + PINMUX_IPSR_MSEL(IP7_8_6, HSPI_CLK0_A, SEL_HSPI0_A), 1063 + PINMUX_IPSR_DATA(IP7_8_6, HTX1_A), 1064 + PINMUX_IPSR_MSEL(IP7_8_6, RTS1_C, SEL_SCIF1_C), 1065 + 1066 + PINMUX_IPSR_DATA(IP7_11_9, VI1_FIELD), 1067 + PINMUX_IPSR_MSEL(IP7_11_9, HSPI_CS0_A, SEL_HSPI0_A), 1068 + PINMUX_IPSR_MSEL(IP7_11_9, HRX1_A, SEL_HSCIF1_A), 1069 + PINMUX_IPSR_MSEL(IP7_11_9, SCK1_C, SEL_SCIF1_C), 1070 + 1071 + PINMUX_IPSR_DATA(IP7_14_12, VI1_HSYNC), 1072 + PINMUX_IPSR_MSEL(IP7_14_12, HSPI_RX0_A, SEL_HSPI0_A), 1073 + PINMUX_IPSR_MSEL(IP7_14_12, HRTS1_A, SEL_HSCIF1_A), 1074 + PINMUX_IPSR_MSEL(IP7_14_12, FMCLK_A, SEL_FM_A), 1075 + PINMUX_IPSR_MSEL(IP7_14_12, RX1_C, SEL_SCIF1_C), 1076 + 1077 + PINMUX_IPSR_DATA(IP7_17_15, VI1_VSYNC), 1078 + PINMUX_IPSR_DATA(IP7_17_15, HSPI_TX0), 1079 + PINMUX_IPSR_MSEL(IP7_17_15, HCTS1_A, SEL_HSCIF1_A), 1080 + PINMUX_IPSR_DATA(IP7_17_15, BPFCLK_A), 1081 + PINMUX_IPSR_DATA(IP7_17_15, TX1_C), 1082 + 1083 + PINMUX_IPSR_DATA(IP7_20_18, TCLK0), 1084 + PINMUX_IPSR_MSEL(IP7_20_18, HSCK1_A, SEL_HSCIF1_A), 1085 + PINMUX_IPSR_MSEL(IP7_20_18, FMIN_A, SEL_FM_A), 1086 + PINMUX_IPSR_MSEL(IP7_20_18, IRQ2_C, SEL_IRQ2_C), 1087 + PINMUX_IPSR_MSEL(IP7_20_18, CTS1_C, SEL_SCIF1_C), 1088 + PINMUX_IPSR_DATA(IP7_20_18, SPEEDIN), 1089 + 1090 + PINMUX_IPSR_DATA(IP7_21, VI0_CLK), 1091 + PINMUX_IPSR_MSEL(IP7_21, CAN_CLK_A, SEL_CANCLK_A), 1092 + 1093 + PINMUX_IPSR_DATA(IP7_24_22, VI0_CLKENB), 1094 + PINMUX_IPSR_MSEL(IP7_24_22, SD2_DAT2_B, SEL_SD2_B), 1095 + PINMUX_IPSR_DATA(IP7_24_22, VI1_DATA0), 1096 + PINMUX_IPSR_DATA(IP7_24_22, DU1_DG6), 1097 + PINMUX_IPSR_MSEL(IP7_24_22, HSPI_RX1_A, SEL_HSPI1_A), 1098 + PINMUX_IPSR_MSEL(IP7_24_22, RX4_B, SEL_SCIF4_B), 1099 + 1100 + PINMUX_IPSR_DATA(IP7_28_25, VI0_FIELD), 1101 + PINMUX_IPSR_MSEL(IP7_28_25, SD2_DAT3_B, SEL_SD2_B), 1102 + PINMUX_DATA(VI0_R3_C_MARK, FN_IP7_28_25, FN_VI0_R3_C, FN_SEL_VI0_C), /* see sel_vi0 */ 1103 + PINMUX_DATA(VI0_R3_D_MARK, FN_IP7_28_25, FN_VI0_R3_C, FN_SEL_VI0_D), /* see sel_vi0 */ 1104 + PINMUX_IPSR_DATA(IP7_28_25, VI1_DATA1), 1105 + PINMUX_IPSR_DATA(IP7_28_25, DU1_DG7), 1106 + PINMUX_IPSR_MSEL(IP7_28_25, HSPI_CLK1_A, SEL_HSPI1_A), 1107 + PINMUX_IPSR_DATA(IP7_28_25, TX4_B), 1108 + 1109 + PINMUX_IPSR_DATA(IP7_31_29, VI0_HSYNC), 1110 + PINMUX_IPSR_MSEL(IP7_31_29, SD2_CD_B, SEL_SD2_B), 1111 + PINMUX_IPSR_DATA(IP7_31_29, VI1_DATA2), 1112 + PINMUX_IPSR_DATA(IP7_31_29, DU1_DR2), 1113 + PINMUX_IPSR_MSEL(IP7_31_29, HSPI_CS1_A, SEL_HSPI1_A), 1114 + PINMUX_IPSR_MSEL(IP7_31_29, RX3_B, SEL_SCIF3_B), 1115 + 1116 + /* IPSR8 */ 1117 + PINMUX_IPSR_DATA(IP8_2_0, VI0_VSYNC), 1118 + PINMUX_IPSR_MSEL(IP8_2_0, SD2_WP_B, SEL_SD2_B), 1119 + PINMUX_IPSR_DATA(IP8_2_0, VI1_DATA3), 1120 + PINMUX_IPSR_DATA(IP8_2_0, DU1_DR3), 1121 + PINMUX_IPSR_DATA(IP8_2_0, HSPI_TX1_A), 1122 + PINMUX_IPSR_DATA(IP8_2_0, TX3_B), 1123 + 1124 + PINMUX_IPSR_DATA(IP8_5_3, VI0_DATA0_VI0_B0), 1125 + PINMUX_IPSR_DATA(IP8_5_3, DU1_DG2), 1126 + PINMUX_IPSR_MSEL(IP8_5_3, IRQ2_B, SEL_IRQ2_B), 1127 + PINMUX_IPSR_MSEL(IP8_5_3, RX3_D, SEL_SCIF3_D), 1128 + 1129 + PINMUX_IPSR_DATA(IP8_8_6, VI0_DATA1_VI0_B1), 1130 + PINMUX_IPSR_DATA(IP8_8_6, DU1_DG3), 1131 + PINMUX_IPSR_MSEL(IP8_8_6, IRQ3_B, SEL_IRQ3_B), 1132 + PINMUX_IPSR_DATA(IP8_8_6, TX3_D), 1133 + 1134 + PINMUX_IPSR_DATA(IP8_10_9, VI0_DATA2_VI0_B2), 1135 + PINMUX_IPSR_DATA(IP8_10_9, DU1_DG4), 1136 + PINMUX_IPSR_MSEL(IP8_10_9, RX0_C, SEL_SCIF0_C), 1137 + 1138 + PINMUX_IPSR_DATA(IP8_13_11, VI0_DATA3_VI0_B3), 1139 + PINMUX_IPSR_DATA(IP8_13_11, DU1_DG5), 1140 + PINMUX_IPSR_DATA(IP8_13_11, TX1_A), 1141 + PINMUX_IPSR_DATA(IP8_13_11, TX0_C), 1142 + 1143 + PINMUX_IPSR_DATA(IP8_15_14, VI0_DATA4_VI0_B4), 1144 + PINMUX_IPSR_DATA(IP8_15_14, DU1_DB2), 1145 + PINMUX_IPSR_MSEL(IP8_15_14, RX1_A, SEL_SCIF1_A), 1146 + 1147 + PINMUX_IPSR_DATA(IP8_18_16, VI0_DATA5_VI0_B5), 1148 + PINMUX_IPSR_DATA(IP8_18_16, DU1_DB3), 1149 + PINMUX_IPSR_MSEL(IP8_18_16, SCK1_A, SEL_SCIF1_A), 1150 + PINMUX_IPSR_DATA(IP8_18_16, PWM4), 1151 + PINMUX_IPSR_MSEL(IP8_18_16, HSCK1_B, SEL_HSCIF1_B), 1152 + 1153 + PINMUX_IPSR_DATA(IP8_21_19, VI0_DATA6_VI0_G0), 1154 + PINMUX_IPSR_DATA(IP8_21_19, DU1_DB4), 1155 + PINMUX_IPSR_MSEL(IP8_21_19, CTS1_A, SEL_SCIF1_A), 1156 + PINMUX_IPSR_DATA(IP8_21_19, PWM5), 1157 + 1158 + PINMUX_IPSR_DATA(IP8_23_22, VI0_DATA7_VI0_G1), 1159 + PINMUX_IPSR_DATA(IP8_23_22, DU1_DB5), 1160 + PINMUX_IPSR_MSEL(IP8_23_22, RTS1_A, SEL_SCIF1_A), 1161 + 1162 + PINMUX_IPSR_DATA(IP8_26_24, VI0_G2), 1163 + PINMUX_IPSR_DATA(IP8_26_24, SD2_CLK_B), 1164 + PINMUX_IPSR_DATA(IP8_26_24, VI1_DATA4), 1165 + PINMUX_IPSR_DATA(IP8_26_24, DU1_DR4), 1166 + PINMUX_IPSR_DATA(IP8_26_24, HTX1_B), 1167 + 1168 + PINMUX_IPSR_DATA(IP8_29_27, VI0_G3), 1169 + PINMUX_IPSR_MSEL(IP8_29_27, SD2_CMD_B, SEL_SD2_B), 1170 + PINMUX_IPSR_DATA(IP8_29_27, VI1_DATA5), 1171 + PINMUX_IPSR_DATA(IP8_29_27, DU1_DR5), 1172 + PINMUX_IPSR_MSEL(IP8_29_27, HRX1_B, SEL_HSCIF1_B), 1173 + 1174 + /* IPSR9 */ 1175 + PINMUX_IPSR_DATA(IP9_2_0, VI0_G4), 1176 + PINMUX_IPSR_MSEL(IP9_2_0, SD2_DAT0_B, SEL_SD2_B), 1177 + PINMUX_IPSR_DATA(IP9_2_0, VI1_DATA6), 1178 + PINMUX_IPSR_DATA(IP9_2_0, DU1_DR6), 1179 + PINMUX_IPSR_MSEL(IP9_2_0, HRTS1_B, SEL_HSCIF1_B), 1180 + 1181 + PINMUX_IPSR_DATA(IP9_5_3, VI0_G5), 1182 + PINMUX_IPSR_MSEL(IP9_5_3, SD2_DAT1_B, SEL_SD2_B), 1183 + PINMUX_IPSR_DATA(IP9_5_3, VI1_DATA7), 1184 + PINMUX_IPSR_DATA(IP9_5_3, DU1_DR7), 1185 + PINMUX_IPSR_MSEL(IP9_5_3, HCTS1_B, SEL_HSCIF1_B), 1186 + 1187 + PINMUX_DATA(VI0_R0_A_MARK, FN_IP9_8_6, FN_VI0_R0_A, FN_SEL_VI0_A), /* see sel_vi0 */ 1188 + PINMUX_DATA(VI0_R0_C_MARK, FN_IP9_8_6, FN_VI0_R0_A, FN_SEL_VI0_C), /* see sel_vi0 */ 1189 + PINMUX_IPSR_DATA(IP9_8_6, VI1_CLK), 1190 + PINMUX_IPSR_DATA(IP9_8_6, ETH_REF_CLK), 1191 + PINMUX_IPSR_DATA(IP9_8_6, DU1_DOTCLKIN), 1192 + 1193 + PINMUX_DATA(VI0_R1_A_MARK, FN_IP9_11_9, FN_VI0_R1_A, FN_SEL_VI0_A), /* see sel_vi0 */ 1194 + PINMUX_DATA(VI0_R1_C_MARK, FN_IP9_11_9, FN_VI0_R1_A, FN_SEL_VI0_C), /* see sel_vi0 */ 1195 + PINMUX_IPSR_DATA(IP9_11_9, VI1_DATA8), 1196 + PINMUX_IPSR_DATA(IP9_11_9, DU1_DB6), 1197 + PINMUX_IPSR_DATA(IP9_11_9, ETH_TXD0), 1198 + PINMUX_IPSR_DATA(IP9_11_9, PWM2), 1199 + PINMUX_IPSR_DATA(IP9_11_9, TCLK1), 1200 + 1201 + PINMUX_DATA(VI0_R2_A_MARK, FN_IP9_14_12, FN_VI0_R2_A, FN_SEL_VI0_A), /* see sel_vi0 */ 1202 + PINMUX_DATA(VI0_R2_C_MARK, FN_IP9_14_12, FN_VI0_R2_A, FN_SEL_VI0_C), /* see sel_vi0 */ 1203 + PINMUX_IPSR_DATA(IP9_14_12, VI1_DATA9), 1204 + PINMUX_IPSR_DATA(IP9_14_12, DU1_DB7), 1205 + PINMUX_IPSR_DATA(IP9_14_12, ETH_TXD1), 1206 + PINMUX_IPSR_DATA(IP9_14_12, PWM3), 1207 + 1208 + PINMUX_IPSR_MSEL(IP9_17_15, VI0_R3_A, SEL_VI0_A), 1209 + PINMUX_IPSR_DATA(IP9_17_15, ETH_CRS_DV), 1210 + PINMUX_IPSR_DATA(IP9_17_15, IECLK), 1211 + PINMUX_IPSR_MSEL(IP9_17_15, SCK2_C, SEL_SCIF2_C), 1212 + 1213 + PINMUX_DATA(VI0_R4_A_MARK, FN_IP9_20_18, FN_VI0_R4_A, FN_SEL_VI0_A), /* see sel_vi0 */ 1214 + PINMUX_DATA(VI0_R3_C_MARK, FN_IP9_20_18, FN_VI0_R4_A, FN_SEL_VI0_C), /* see sel_vi0 */ 1215 + PINMUX_IPSR_DATA(IP9_20_18, ETH_TX_EN), 1216 + PINMUX_IPSR_DATA(IP9_20_18, IETX), 1217 + PINMUX_IPSR_DATA(IP9_20_18, TX2_C), 1218 + 1219 + PINMUX_DATA(VI0_R5_A_MARK, FN_IP9_23_21, FN_VI0_R5_A, FN_SEL_VI0_A), /* see sel_vi0 */ 1220 + PINMUX_DATA(VI0_R5_C_MARK, FN_IP9_23_21, FN_VI0_R5_A, FN_SEL_VI0_C), /* see sel_vi0 */ 1221 + PINMUX_IPSR_DATA(IP9_23_21, ETH_RX_ER), 1222 + PINMUX_IPSR_MSEL(IP9_23_21, FMCLK_C, SEL_FM_C), 1223 + PINMUX_IPSR_DATA(IP9_23_21, IERX), 1224 + PINMUX_IPSR_MSEL(IP9_23_21, RX2_C, SEL_SCIF2_C), 1225 + 1226 + PINMUX_IPSR_MSEL(IP9_26_24, VI1_DATA10_A, SEL_VI1_A), 1227 + PINMUX_IPSR_DATA(IP9_26_24, DU1_DOTCLKOUT), 1228 + PINMUX_IPSR_DATA(IP9_26_24, ETH_RXD0), 1229 + PINMUX_IPSR_DATA(IP9_26_24, BPFCLK_C), 1230 + PINMUX_IPSR_DATA(IP9_26_24, TX2_D), 1231 + PINMUX_IPSR_MSEL(IP9_26_24, SDA2_C, SEL_I2C2_C), 1232 + 1233 + PINMUX_IPSR_MSEL(IP9_29_27, VI1_DATA11_A, SEL_VI1_A), 1234 + PINMUX_IPSR_DATA(IP9_29_27, DU1_EXHSYNC_DU1_HSYNC), 1235 + PINMUX_IPSR_DATA(IP9_29_27, ETH_RXD1), 1236 + PINMUX_IPSR_MSEL(IP9_29_27, FMIN_C, SEL_FM_C), 1237 + PINMUX_IPSR_MSEL(IP9_29_27, RX2_D, SEL_SCIF2_D), 1238 + PINMUX_IPSR_MSEL(IP9_29_27, SCL2_C, SEL_I2C2_C), 1239 + 1240 + /* IPSR10 */ 1241 + PINMUX_IPSR_DATA(IP10_2_0, SD2_CLK_A), 1242 + PINMUX_IPSR_DATA(IP10_2_0, DU1_EXVSYNC_DU1_VSYNC), 1243 + PINMUX_IPSR_DATA(IP10_2_0, ATARD1), 1244 + PINMUX_IPSR_DATA(IP10_2_0, ETH_MDC), 1245 + PINMUX_IPSR_MSEL(IP10_2_0, SDA1_B, SEL_I2C1_B), 1246 + 1247 + PINMUX_IPSR_MSEL(IP10_5_3, SD2_CMD_A, SEL_SD2_A), 1248 + PINMUX_IPSR_DATA(IP10_5_3, DU1_EXODDF_DU1_ODDF_DISP_CDE), 1249 + PINMUX_IPSR_DATA(IP10_5_3, ATAWR1), 1250 + PINMUX_IPSR_DATA(IP10_5_3, ETH_MDIO), 1251 + PINMUX_IPSR_MSEL(IP10_5_3, SCL1_B, SEL_I2C1_B), 1252 + 1253 + PINMUX_IPSR_MSEL(IP10_8_6, SD2_DAT0_A, SEL_SD2_A), 1254 + PINMUX_IPSR_DATA(IP10_8_6, DU1_DISP), 1255 + PINMUX_IPSR_DATA(IP10_8_6, ATACS01), 1256 + PINMUX_IPSR_MSEL(IP10_8_6, DREQ1_B, SEL_DREQ1_B), 1257 + PINMUX_IPSR_DATA(IP10_8_6, ETH_LINK), 1258 + PINMUX_IPSR_MSEL(IP10_8_6, CAN1_RX_A, SEL_CAN1_A), 1259 + 1260 + PINMUX_IPSR_MSEL(IP10_12_9, SD2_DAT1_A, SEL_SD2_A), 1261 + PINMUX_IPSR_DATA(IP10_12_9, DU1_CDE), 1262 + PINMUX_IPSR_DATA(IP10_12_9, ATACS11), 1263 + PINMUX_IPSR_DATA(IP10_12_9, DACK1_B), 1264 + PINMUX_IPSR_DATA(IP10_12_9, ETH_MAGIC), 1265 + PINMUX_IPSR_DATA(IP10_12_9, CAN1_TX_A), 1266 + PINMUX_IPSR_DATA(IP10_12_9, PWM6), 1267 + 1268 + PINMUX_IPSR_MSEL(IP10_15_13, SD2_DAT2_A, SEL_SD2_A), 1269 + PINMUX_IPSR_DATA(IP10_15_13, VI1_DATA12), 1270 + PINMUX_IPSR_MSEL(IP10_15_13, DREQ2_B, SEL_DREQ2_B), 1271 + PINMUX_IPSR_DATA(IP10_15_13, ATADIR1), 1272 + PINMUX_IPSR_MSEL(IP10_15_13, HSPI_CLK2_B, SEL_HSPI2_B), 1273 + PINMUX_IPSR_MSEL(IP10_15_13, GPSCLK_B, SEL_GPS_B), 1274 + 1275 + PINMUX_IPSR_MSEL(IP10_18_16, SD2_DAT3_A, SEL_SD2_A), 1276 + PINMUX_IPSR_DATA(IP10_18_16, VI1_DATA13), 1277 + PINMUX_IPSR_DATA(IP10_18_16, DACK2_B), 1278 + PINMUX_IPSR_DATA(IP10_18_16, ATAG1), 1279 + PINMUX_IPSR_MSEL(IP10_18_16, HSPI_CS2_B, SEL_HSPI2_B), 1280 + PINMUX_IPSR_MSEL(IP10_18_16, GPSIN_B, SEL_GPS_B), 1281 + 1282 + PINMUX_IPSR_MSEL(IP10_21_19, SD2_CD_A, SEL_SD2_A), 1283 + PINMUX_IPSR_DATA(IP10_21_19, VI1_DATA14), 1284 + PINMUX_IPSR_MSEL(IP10_21_19, EX_WAIT1_B, SEL_WAIT1_B), 1285 + PINMUX_IPSR_MSEL(IP10_21_19, DREQ0_B, SEL_DREQ0_B), 1286 + PINMUX_IPSR_MSEL(IP10_21_19, HSPI_RX2_B, SEL_HSPI2_B), 1287 + PINMUX_IPSR_MSEL(IP10_21_19, REMOCON_A, SEL_REMOCON_A), 1288 + 1289 + PINMUX_IPSR_MSEL(IP10_24_22, SD2_WP_A, SEL_SD2_A), 1290 + PINMUX_IPSR_DATA(IP10_24_22, VI1_DATA15), 1291 + PINMUX_IPSR_MSEL(IP10_24_22, EX_WAIT2_B, SEL_WAIT2_B), 1292 + PINMUX_IPSR_DATA(IP10_24_22, DACK0_B), 1293 + PINMUX_IPSR_DATA(IP10_24_22, HSPI_TX2_B), 1294 + PINMUX_IPSR_MSEL(IP10_24_22, CAN_CLK_C, SEL_CANCLK_C), 1295 + }; 1296 + 1297 + static struct sh_pfc_pin pinmux_pins[] = { 1298 + PINMUX_GPIO_GP_ALL(), 1299 + }; 1300 + 1301 + /* Pin numbers for pins without a corresponding GPIO port number are computed 1302 + * from the row and column numbers with a 1000 offset to avoid collisions with 1303 + * GPIO port numbers. 1304 + */ 1305 + #define PIN_NUMBER(row, col) (1000+((row)-1)*25+(col)-1) 1306 + 1307 + /* - macro */ 1308 + #define SH_PFC_PINS(name, args...) \ 1309 + static const unsigned int name ##_pins[] = { args } 1310 + #define SH_PFC_MUX1(name, arg1) \ 1311 + static const unsigned int name ##_mux[] = { arg1##_MARK } 1312 + #define SH_PFC_MUX2(name, arg1, arg2) \ 1313 + static const unsigned int name ##_mux[] = { arg1##_MARK, arg2##_MARK, } 1314 + #define SH_PFC_MUX3(name, arg1, arg2, arg3) \ 1315 + static const unsigned int name ##_mux[] = { arg1##_MARK, arg2##_MARK, \ 1316 + arg3##_MARK } 1317 + #define SH_PFC_MUX4(name, arg1, arg2, arg3, arg4) \ 1318 + static const unsigned int name ##_mux[] = { arg1##_MARK, arg2##_MARK, \ 1319 + arg3##_MARK, arg4##_MARK } 1320 + #define SH_PFC_MUX8(name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ 1321 + static const unsigned int name ##_mux[] = { arg1##_MARK, arg2##_MARK, \ 1322 + arg3##_MARK, arg4##_MARK, \ 1323 + arg5##_MARK, arg6##_MARK, \ 1324 + arg7##_MARK, arg8##_MARK, } 1325 + 1326 + /* - Ether ------------------------------------------------------------------ */ 1327 + SH_PFC_PINS(ether_rmii, RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1328 + RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 9), 1329 + RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 16), 1330 + RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 14), 1331 + RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 17)); 1332 + static const unsigned int ether_rmii_mux[] = { 1333 + ETH_TXD0_MARK, ETH_TXD1_MARK, ETH_TX_EN_MARK, ETH_REF_CLK_MARK, 1334 + ETH_RXD0_MARK, ETH_RXD1_MARK, ETH_CRS_DV_MARK, ETH_RX_ER_MARK, 1335 + ETH_MDIO_MARK, ETH_MDC_MARK, 1336 + }; 1337 + SH_PFC_PINS(ether_link, RCAR_GP_PIN(4, 19)); 1338 + SH_PFC_MUX1(ether_link, ETH_LINK); 1339 + SH_PFC_PINS(ether_magic, RCAR_GP_PIN(4, 20)); 1340 + SH_PFC_MUX1(ether_magic, ETH_MAGIC); 1341 + 1342 + /* - SCIF macro ------------------------------------------------------------- */ 1343 + #define SCIF_PFC_PIN(name, args...) SH_PFC_PINS(name, args) 1344 + #define SCIF_PFC_DAT(name, tx, rx) SH_PFC_MUX2(name, tx, rx) 1345 + #define SCIF_PFC_CTR(name, cts, rts) SH_PFC_MUX2(name, cts, rts) 1346 + #define SCIF_PFC_CLK(name, sck) SH_PFC_MUX1(name, sck) 1347 + 1348 + /* - HSCIF0 ----------------------------------------------------------------- */ 1349 + SCIF_PFC_PIN(hscif0_data_a, RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18)); 1350 + SCIF_PFC_DAT(hscif0_data_a, HTX0_A, HRX0_A); 1351 + SCIF_PFC_PIN(hscif0_data_b, RCAR_GP_PIN(0, 29), RCAR_GP_PIN(0, 30)); 1352 + SCIF_PFC_DAT(hscif0_data_b, HTX0_B, HRX0_B); 1353 + SCIF_PFC_PIN(hscif0_ctrl_a, RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 21)); 1354 + SCIF_PFC_CTR(hscif0_ctrl_a, HCTS0_A, HRTS0_A); 1355 + SCIF_PFC_PIN(hscif0_ctrl_b, RCAR_GP_PIN(0, 31), RCAR_GP_PIN(0, 28)); 1356 + SCIF_PFC_CTR(hscif0_ctrl_b, HCTS0_B, HRTS0_B); 1357 + SCIF_PFC_PIN(hscif0_clk, RCAR_GP_PIN(1, 19)); 1358 + SCIF_PFC_CLK(hscif0_clk, HSCK0); 1359 + 1360 + /* - HSCIF1 ----------------------------------------------------------------- */ 1361 + SCIF_PFC_PIN(hscif1_data_a, RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20)); 1362 + SCIF_PFC_DAT(hscif1_data_a, HTX1_A, HRX1_A); 1363 + SCIF_PFC_PIN(hscif1_data_b, RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 6)); 1364 + SCIF_PFC_DAT(hscif1_data_b, HTX1_B, HRX1_B); 1365 + SCIF_PFC_PIN(hscif1_ctrl_a, RCAR_GP_PIN(3, 22), RCAR_GP_PIN(3, 21)); 1366 + SCIF_PFC_CTR(hscif1_ctrl_a, HCTS1_A, HRTS1_A); 1367 + SCIF_PFC_PIN(hscif1_ctrl_b, RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 7)); 1368 + SCIF_PFC_CTR(hscif1_ctrl_b, HCTS1_B, HRTS1_B); 1369 + SCIF_PFC_PIN(hscif1_clk_a, RCAR_GP_PIN(3, 23)); 1370 + SCIF_PFC_CLK(hscif1_clk_a, HSCK1_A); 1371 + SCIF_PFC_PIN(hscif1_clk_b, RCAR_GP_PIN(4, 2)); 1372 + SCIF_PFC_CLK(hscif1_clk_b, HSCK1_B); 1373 + 1374 + /* - HSPI macro --------------------------------------------------------------*/ 1375 + #define HSPI_PFC_PIN(name, args...) SH_PFC_PINS(name, args) 1376 + #define HSPI_PFC_DAT(name, clk, cs, rx, tx) SH_PFC_MUX4(name, clk, cs, rx, tx) 1377 + 1378 + /* - HSPI0 -------------------------------------------------------------------*/ 1379 + HSPI_PFC_PIN(hspi0_a, RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20), 1380 + RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 22)); 1381 + HSPI_PFC_DAT(hspi0_a, HSPI_CLK0_A, HSPI_CS0_A, 1382 + HSPI_RX0_A, HSPI_TX0); 1383 + 1384 + HSPI_PFC_PIN(hspi0_b, RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 26), 1385 + RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 27)); 1386 + HSPI_PFC_DAT(hspi0_b, HSPI_CLK0_B, HSPI_CS0_B, 1387 + HSPI_RX0_B, HSPI_TX0_B); 1388 + 1389 + /* - HSPI1 -------------------------------------------------------------------*/ 1390 + HSPI_PFC_PIN(hspi1_a, RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), 1391 + RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 28)); 1392 + HSPI_PFC_DAT(hspi1_a, HSPI_CLK1_A, HSPI_CS1_A, 1393 + HSPI_RX1_A, HSPI_TX1_A); 1394 + 1395 + HSPI_PFC_PIN(hspi1_b, RCAR_GP_PIN(0, 27), RCAR_GP_PIN(0, 26), 1396 + PIN_NUMBER(20, 1), PIN_NUMBER(25, 2)); 1397 + HSPI_PFC_DAT(hspi1_b, HSPI_CLK1_B, HSPI_CS1_B, 1398 + HSPI_RX1_B, HSPI_TX1_B); 1399 + 1400 + /* - HSPI2 -------------------------------------------------------------------*/ 1401 + HSPI_PFC_PIN(hspi2_a, RCAR_GP_PIN(2, 29), RCAR_GP_PIN(3, 8), 1402 + RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 30)); 1403 + HSPI_PFC_DAT(hspi2_a, HSPI_CLK2_A, HSPI_CS2_A, 1404 + HSPI_RX2_A, HSPI_TX2_A); 1405 + 1406 + HSPI_PFC_PIN(hspi2_b, RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 22), 1407 + RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 24)); 1408 + HSPI_PFC_DAT(hspi2_b, HSPI_CLK2_B, HSPI_CS2_B, 1409 + HSPI_RX2_B, HSPI_TX2_B); 1410 + 1411 + /* - I2C macro ------------------------------------------------------------- */ 1412 + #define I2C_PFC_PIN(name, args...) SH_PFC_PINS(name, args) 1413 + #define I2C_PFC_MUX(name, sda, scl) SH_PFC_MUX2(name, sda, scl) 1414 + 1415 + /* - I2C1 ------------------------------------------------------------------ */ 1416 + I2C_PFC_PIN(i2c1_a, RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9)); 1417 + I2C_PFC_MUX(i2c1_a, SDA1_A, SCL1_A); 1418 + I2C_PFC_PIN(i2c1_b, RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 18)); 1419 + I2C_PFC_MUX(i2c1_b, SDA1_B, SCL1_B); 1420 + 1421 + /* - I2C2 ------------------------------------------------------------------ */ 1422 + I2C_PFC_PIN(i2c2_a, PIN_NUMBER(3, 20), RCAR_GP_PIN(1, 3)); 1423 + I2C_PFC_MUX(i2c2_a, SDA2_A, SCL2_A); 1424 + I2C_PFC_PIN(i2c2_b, RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4)); 1425 + I2C_PFC_MUX(i2c2_b, SDA2_B, SCL2_B); 1426 + I2C_PFC_PIN(i2c2_c, RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 16)); 1427 + I2C_PFC_MUX(i2c2_c, SDA2_C, SCL2_C); 1428 + 1429 + /* - I2C3 ------------------------------------------------------------------ */ 1430 + I2C_PFC_PIN(i2c3_a, RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 15)); 1431 + I2C_PFC_MUX(i2c3_a, SDA3_A, SCL3_A); 1432 + I2C_PFC_PIN(i2c3_b, RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 19)); 1433 + I2C_PFC_MUX(i2c3_b, SDA3_B, SCL3_B); 1434 + I2C_PFC_PIN(i2c3_c, RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 23)); 1435 + I2C_PFC_MUX(i2c3_c, SDA3_C, SCL3_C); 1436 + 1437 + /* - MMC macro -------------------------------------------------------------- */ 1438 + #define MMC_PFC_PINS(name, args...) SH_PFC_PINS(name, args) 1439 + #define MMC_PFC_CTRL(name, clk, cmd) SH_PFC_MUX2(name, clk, cmd) 1440 + #define MMC_PFC_DAT1(name, d0) SH_PFC_MUX1(name, d0) 1441 + #define MMC_PFC_DAT4(name, d0, d1, d2, d3) SH_PFC_MUX4(name, d0, d1, d2, d3) 1442 + #define MMC_PFC_DAT8(name, d0, d1, d2, d3, d4, d5, d6, d7) \ 1443 + SH_PFC_MUX8(name, d0, d1, d2, d3, d4, d5, d6, d7) 1444 + 1445 + /* - MMC -------------------------------------------------------------------- */ 1446 + MMC_PFC_PINS(mmc_ctrl, RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6)); 1447 + MMC_PFC_CTRL(mmc_ctrl, MMC_CLK, MMC_CMD); 1448 + MMC_PFC_PINS(mmc_data1, RCAR_GP_PIN(1, 7)); 1449 + MMC_PFC_DAT1(mmc_data1, MMC_D0); 1450 + MMC_PFC_PINS(mmc_data4, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(2, 8), 1451 + RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6)); 1452 + MMC_PFC_DAT4(mmc_data4, MMC_D0, MMC_D1, 1453 + MMC_D2, MMC_D3); 1454 + MMC_PFC_PINS(mmc_data8, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(2, 8), 1455 + RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6), 1456 + RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 0), 1457 + RCAR_GP_PIN(0, 30), RCAR_GP_PIN(0, 31)); 1458 + MMC_PFC_DAT8(mmc_data8, MMC_D0, MMC_D1, 1459 + MMC_D2, MMC_D3, 1460 + MMC_D4, MMC_D5, 1461 + MMC_D6, MMC_D7); 1462 + 1463 + /* - SCIF CLOCK ------------------------------------------------------------- */ 1464 + SCIF_PFC_PIN(scif_clk, RCAR_GP_PIN(1, 16)); 1465 + SCIF_PFC_CLK(scif_clk, SCIF_CLK); 1466 + 1467 + /* - SCIF0 ------------------------------------------------------------------ */ 1468 + SCIF_PFC_PIN(scif0_data_a, RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18)); 1469 + SCIF_PFC_DAT(scif0_data_a, TX0_A, RX0_A); 1470 + SCIF_PFC_PIN(scif0_data_b, RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2)); 1471 + SCIF_PFC_DAT(scif0_data_b, TX0_B, RX0_B); 1472 + SCIF_PFC_PIN(scif0_data_c, RCAR_GP_PIN(4, 0), RCAR_GP_PIN(3, 31)); 1473 + SCIF_PFC_DAT(scif0_data_c, TX0_C, RX0_C); 1474 + SCIF_PFC_PIN(scif0_data_d, RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 1)); 1475 + SCIF_PFC_DAT(scif0_data_d, TX0_D, RX0_D); 1476 + SCIF_PFC_PIN(scif0_ctrl, RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 21)); 1477 + SCIF_PFC_CTR(scif0_ctrl, CTS0, RTS0); 1478 + SCIF_PFC_PIN(scif0_clk, RCAR_GP_PIN(1, 19)); 1479 + SCIF_PFC_CLK(scif0_clk, SCK0); 1480 + 1481 + /* - SCIF1 ------------------------------------------------------------------ */ 1482 + SCIF_PFC_PIN(scif1_data_a, RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1)); 1483 + SCIF_PFC_DAT(scif1_data_a, TX1_A, RX1_A); 1484 + SCIF_PFC_PIN(scif1_data_b, RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 25)); 1485 + SCIF_PFC_DAT(scif1_data_b, TX1_B, RX1_B); 1486 + SCIF_PFC_PIN(scif1_data_c, RCAR_GP_PIN(3, 22), RCAR_GP_PIN(3, 21)); 1487 + SCIF_PFC_DAT(scif1_data_c, TX1_C, RX1_C); 1488 + SCIF_PFC_PIN(scif1_data_d, RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31)); 1489 + SCIF_PFC_DAT(scif1_data_d, TX1_D, RX1_D); 1490 + SCIF_PFC_PIN(scif1_ctrl_a, RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 4)); 1491 + SCIF_PFC_CTR(scif1_ctrl_a, CTS1_A, RTS1_A); 1492 + SCIF_PFC_PIN(scif1_ctrl_c, RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 19)); 1493 + SCIF_PFC_CTR(scif1_ctrl_c, CTS1_C, RTS1_C); 1494 + SCIF_PFC_PIN(scif1_clk_a, RCAR_GP_PIN(4, 2)); 1495 + SCIF_PFC_CLK(scif1_clk_a, SCK1_A); 1496 + SCIF_PFC_PIN(scif1_clk_c, RCAR_GP_PIN(3, 20)); 1497 + SCIF_PFC_CLK(scif1_clk_c, SCK1_C); 1498 + 1499 + /* - SCIF2 ------------------------------------------------------------------ */ 1500 + SCIF_PFC_PIN(scif2_data_a, RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 27)); 1501 + SCIF_PFC_DAT(scif2_data_a, TX2_A, RX2_A); 1502 + SCIF_PFC_PIN(scif2_data_b, RCAR_GP_PIN(0, 29), RCAR_GP_PIN(0, 28)); 1503 + SCIF_PFC_DAT(scif2_data_b, TX2_B, RX2_B); 1504 + SCIF_PFC_PIN(scif2_data_c, RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 14)); 1505 + SCIF_PFC_DAT(scif2_data_c, TX2_C, RX2_C); 1506 + SCIF_PFC_PIN(scif2_data_d, RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 16)); 1507 + SCIF_PFC_DAT(scif2_data_d, TX2_D, RX2_D); 1508 + SCIF_PFC_PIN(scif2_data_e, RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4)); 1509 + SCIF_PFC_DAT(scif2_data_e, TX2_E, RX2_E); 1510 + SCIF_PFC_PIN(scif2_clk_a, RCAR_GP_PIN(3, 9)); 1511 + SCIF_PFC_CLK(scif2_clk_a, SCK2_A); 1512 + SCIF_PFC_PIN(scif2_clk_b, PIN_NUMBER(3, 20)); 1513 + SCIF_PFC_CLK(scif2_clk_b, SCK2_B); 1514 + SCIF_PFC_PIN(scif2_clk_c, RCAR_GP_PIN(4, 12)); 1515 + SCIF_PFC_CLK(scif2_clk_c, SCK2_C); 1516 + 1517 + /* - SCIF3 ------------------------------------------------------------------ */ 1518 + SCIF_PFC_PIN(scif3_data_a, RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 9)); 1519 + SCIF_PFC_DAT(scif3_data_a, TX3_A, RX3_A); 1520 + SCIF_PFC_PIN(scif3_data_b, RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 27)); 1521 + SCIF_PFC_DAT(scif3_data_b, TX3_B, RX3_B); 1522 + SCIF_PFC_PIN(scif3_data_c, RCAR_GP_PIN(1, 3), RCAR_GP_PIN(0, 31)); 1523 + SCIF_PFC_DAT(scif3_data_c, TX3_C, RX3_C); 1524 + SCIF_PFC_PIN(scif3_data_d, RCAR_GP_PIN(3, 30), RCAR_GP_PIN(3, 29)); 1525 + SCIF_PFC_DAT(scif3_data_d, TX3_D, RX3_D); 1526 + 1527 + /* - SCIF4 ------------------------------------------------------------------ */ 1528 + SCIF_PFC_PIN(scif4_data_a, RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4)); 1529 + SCIF_PFC_DAT(scif4_data_a, TX4_A, RX4_A); 1530 + SCIF_PFC_PIN(scif4_data_b, RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 25)); 1531 + SCIF_PFC_DAT(scif4_data_b, TX4_B, RX4_B); 1532 + SCIF_PFC_PIN(scif4_data_c, RCAR_GP_PIN(3, 0), RCAR_GP_PIN(2, 31)); 1533 + SCIF_PFC_DAT(scif4_data_c, TX4_C, RX4_C); 1534 + 1535 + /* - SCIF5 ------------------------------------------------------------------ */ 1536 + SCIF_PFC_PIN(scif5_data_a, RCAR_GP_PIN(3, 17), RCAR_GP_PIN(3, 18)); 1537 + SCIF_PFC_DAT(scif5_data_a, TX5_A, RX5_A); 1538 + SCIF_PFC_PIN(scif5_data_b, RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14)); 1539 + SCIF_PFC_DAT(scif5_data_b, TX5_B, RX5_B); 1540 + 1541 + /* - SDHI macro ------------------------------------------------------------- */ 1542 + #define SDHI_PFC_PINS(name, args...) SH_PFC_PINS(name, args) 1543 + #define SDHI_PFC_DAT1(name, d0) SH_PFC_MUX1(name, d0) 1544 + #define SDHI_PFC_DAT4(name, d0, d1, d2, d3) SH_PFC_MUX4(name, d0, d1, d2, d3) 1545 + #define SDHI_PFC_CTRL(name, clk, cmd) SH_PFC_MUX2(name, clk, cmd) 1546 + #define SDHI_PFC_CDPN(name, cd) SH_PFC_MUX1(name, cd) 1547 + #define SDHI_PFC_WPPN(name, wp) SH_PFC_MUX1(name, wp) 1548 + 1549 + /* - SDHI0 ------------------------------------------------------------------ */ 1550 + SDHI_PFC_PINS(sdhi0_cd, RCAR_GP_PIN(3, 17)); 1551 + SDHI_PFC_CDPN(sdhi0_cd, SD0_CD); 1552 + SDHI_PFC_PINS(sdhi0_ctrl, RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12)); 1553 + SDHI_PFC_CTRL(sdhi0_ctrl, SD0_CLK, SD0_CMD); 1554 + SDHI_PFC_PINS(sdhi0_data1, RCAR_GP_PIN(3, 13)); 1555 + SDHI_PFC_DAT1(sdhi0_data1, SD0_DAT0); 1556 + SDHI_PFC_PINS(sdhi0_data4, RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), 1557 + RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16)); 1558 + SDHI_PFC_DAT4(sdhi0_data4, SD0_DAT0, SD0_DAT1, 1559 + SD0_DAT2, SD0_DAT3); 1560 + SDHI_PFC_PINS(sdhi0_wp, RCAR_GP_PIN(3, 18)); 1561 + SDHI_PFC_WPPN(sdhi0_wp, SD0_WP); 1562 + 1563 + /* - SDHI1 ------------------------------------------------------------------ */ 1564 + SDHI_PFC_PINS(sdhi1_cd_a, RCAR_GP_PIN(0, 30)); 1565 + SDHI_PFC_CDPN(sdhi1_cd_a, SD1_CD_A); 1566 + SDHI_PFC_PINS(sdhi1_cd_b, RCAR_GP_PIN(2, 24)); 1567 + SDHI_PFC_CDPN(sdhi1_cd_b, SD1_CD_B); 1568 + SDHI_PFC_PINS(sdhi1_ctrl_a, RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6)); 1569 + SDHI_PFC_CTRL(sdhi1_ctrl_a, SD1_CLK_A, SD1_CMD_A); 1570 + SDHI_PFC_PINS(sdhi1_ctrl_b, RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16)); 1571 + SDHI_PFC_CTRL(sdhi1_ctrl_b, SD1_CLK_B, SD1_CMD_B); 1572 + SDHI_PFC_PINS(sdhi1_data1_a, RCAR_GP_PIN(1, 7)); 1573 + SDHI_PFC_DAT1(sdhi1_data1_a, SD1_DAT0_A); 1574 + SDHI_PFC_PINS(sdhi1_data1_b, RCAR_GP_PIN(1, 18)); 1575 + SDHI_PFC_DAT1(sdhi1_data1_b, SD1_DAT0_B); 1576 + SDHI_PFC_PINS(sdhi1_data4_a, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 8), 1577 + RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6)); 1578 + SDHI_PFC_DAT4(sdhi1_data4_a, SD1_DAT0_A, SD1_DAT1_A, 1579 + SD1_DAT2_A, SD1_DAT3_A); 1580 + SDHI_PFC_PINS(sdhi1_data4_b, RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19), 1581 + RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 21)); 1582 + SDHI_PFC_DAT4(sdhi1_data4_b, SD1_DAT0_B, SD1_DAT1_B, 1583 + SD1_DAT2_B, SD1_DAT3_B); 1584 + SDHI_PFC_PINS(sdhi1_wp_a, RCAR_GP_PIN(0, 31)); 1585 + SDHI_PFC_WPPN(sdhi1_wp_a, SD1_WP_A); 1586 + SDHI_PFC_PINS(sdhi1_wp_b, RCAR_GP_PIN(2, 25)); 1587 + SDHI_PFC_WPPN(sdhi1_wp_b, SD1_WP_B); 1588 + 1589 + /* - SDH2 ------------------------------------------------------------------- */ 1590 + SDHI_PFC_PINS(sdhi2_cd_a, RCAR_GP_PIN(4, 23)); 1591 + SDHI_PFC_CDPN(sdhi2_cd_a, SD2_CD_A); 1592 + SDHI_PFC_PINS(sdhi2_cd_b, RCAR_GP_PIN(3, 27)); 1593 + SDHI_PFC_CDPN(sdhi2_cd_b, SD2_CD_B); 1594 + SDHI_PFC_PINS(sdhi2_ctrl_a, RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 18)); 1595 + SDHI_PFC_CTRL(sdhi2_ctrl_a, SD2_CLK_A, SD2_CMD_A); 1596 + SDHI_PFC_PINS(sdhi2_ctrl_b, RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 6)); 1597 + SDHI_PFC_CTRL(sdhi2_ctrl_b, SD2_CLK_B, SD2_CMD_B); 1598 + SDHI_PFC_PINS(sdhi2_data1_a, RCAR_GP_PIN(4, 19)); 1599 + SDHI_PFC_DAT1(sdhi2_data1_a, SD2_DAT0_A); 1600 + SDHI_PFC_PINS(sdhi2_data1_b, RCAR_GP_PIN(4, 7)); 1601 + SDHI_PFC_DAT1(sdhi2_data1_b, SD2_DAT0_B); 1602 + SDHI_PFC_PINS(sdhi2_data4_a, RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 20), 1603 + RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 22)); 1604 + SDHI_PFC_DAT4(sdhi2_data4_a, SD2_DAT0_A, SD2_DAT1_A, 1605 + SD2_DAT2_A, SD2_DAT3_A); 1606 + SDHI_PFC_PINS(sdhi2_data4_b, RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 8), 1607 + RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26)); 1608 + SDHI_PFC_DAT4(sdhi2_data4_b, SD2_DAT0_B, SD2_DAT1_B, 1609 + SD2_DAT2_B, SD2_DAT3_B); 1610 + SDHI_PFC_PINS(sdhi2_wp_a, RCAR_GP_PIN(4, 24)); 1611 + SDHI_PFC_WPPN(sdhi2_wp_a, SD2_WP_A); 1612 + SDHI_PFC_PINS(sdhi2_wp_b, RCAR_GP_PIN(3, 28)); 1613 + SDHI_PFC_WPPN(sdhi2_wp_b, SD2_WP_B); 1614 + 1615 + /* - USB0 ------------------------------------------------------------------- */ 1616 + SH_PFC_PINS(usb0, RCAR_GP_PIN(0, 1)); 1617 + SH_PFC_MUX1(usb0, PENC0); 1618 + SH_PFC_PINS(usb0_ovc, RCAR_GP_PIN(0, 3)); 1619 + SH_PFC_MUX1(usb0_ovc, USB_OVC0); 1620 + 1621 + /* - USB1 ------------------------------------------------------------------- */ 1622 + SH_PFC_PINS(usb1, RCAR_GP_PIN(0, 2)); 1623 + SH_PFC_MUX1(usb1, PENC1); 1624 + SH_PFC_PINS(usb1_ovc, RCAR_GP_PIN(0, 4)); 1625 + SH_PFC_MUX1(usb1_ovc, USB_OVC1); 1626 + 1627 + /* - VIN macros ------------------------------------------------------------- */ 1628 + #define VIN_PFC_PINS(name, args...) SH_PFC_PINS(name, args) 1629 + #define VIN_PFC_DAT8(name, d0, d1, d2, d3, d4, d5, d6, d7) \ 1630 + SH_PFC_MUX8(name, d0, d1, d2, d3, d4, d5, d6, d7) 1631 + #define VIN_PFC_CLK(name, clk) SH_PFC_MUX1(name, clk) 1632 + #define VIN_PFC_SYNC(name, hsync, vsync) SH_PFC_MUX2(name, hsync, vsync) 1633 + 1634 + /* - VIN0 ------------------------------------------------------------------- */ 1635 + VIN_PFC_PINS(vin0_data8, RCAR_GP_PIN(3, 29), RCAR_GP_PIN(3, 30), 1636 + RCAR_GP_PIN(3, 31), RCAR_GP_PIN(4, 0), 1637 + RCAR_GP_PIN(4, 1), RCAR_GP_PIN(4, 2), 1638 + RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 4)); 1639 + VIN_PFC_DAT8(vin0_data8, VI0_DATA0_VI0_B0, VI0_DATA1_VI0_B1, 1640 + VI0_DATA2_VI0_B2, VI0_DATA3_VI0_B3, 1641 + VI0_DATA4_VI0_B4, VI0_DATA5_VI0_B5, 1642 + VI0_DATA6_VI0_G0, VI0_DATA7_VI0_G1); 1643 + VIN_PFC_PINS(vin0_clk, RCAR_GP_PIN(3, 24)); 1644 + VIN_PFC_CLK(vin0_clk, VI0_CLK); 1645 + VIN_PFC_PINS(vin0_sync, RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28)); 1646 + VIN_PFC_SYNC(vin0_sync, VI0_HSYNC, VI0_VSYNC); 1647 + /* - VIN1 ------------------------------------------------------------------- */ 1648 + VIN_PFC_PINS(vin1_data8, RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26), 1649 + RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28), 1650 + RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 6), 1651 + RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 8)); 1652 + VIN_PFC_DAT8(vin1_data8, VI1_DATA0, VI1_DATA1, 1653 + VI1_DATA2, VI1_DATA3, 1654 + VI1_DATA4, VI1_DATA5, 1655 + VI1_DATA6, VI1_DATA7); 1656 + VIN_PFC_PINS(vin1_clk, RCAR_GP_PIN(4, 9)); 1657 + VIN_PFC_CLK(vin1_clk, VI1_CLK); 1658 + VIN_PFC_PINS(vin1_sync, RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 22)); 1659 + VIN_PFC_SYNC(vin1_sync, VI1_HSYNC, VI1_VSYNC); 1660 + 1661 + static const struct sh_pfc_pin_group pinmux_groups[] = { 1662 + SH_PFC_PIN_GROUP(ether_rmii), 1663 + SH_PFC_PIN_GROUP(ether_link), 1664 + SH_PFC_PIN_GROUP(ether_magic), 1665 + SH_PFC_PIN_GROUP(hscif0_data_a), 1666 + SH_PFC_PIN_GROUP(hscif0_data_b), 1667 + SH_PFC_PIN_GROUP(hscif0_ctrl_a), 1668 + SH_PFC_PIN_GROUP(hscif0_ctrl_b), 1669 + SH_PFC_PIN_GROUP(hscif0_clk), 1670 + SH_PFC_PIN_GROUP(hscif1_data_a), 1671 + SH_PFC_PIN_GROUP(hscif1_data_b), 1672 + SH_PFC_PIN_GROUP(hscif1_ctrl_a), 1673 + SH_PFC_PIN_GROUP(hscif1_ctrl_b), 1674 + SH_PFC_PIN_GROUP(hscif1_clk_a), 1675 + SH_PFC_PIN_GROUP(hscif1_clk_b), 1676 + SH_PFC_PIN_GROUP(hspi0_a), 1677 + SH_PFC_PIN_GROUP(hspi0_b), 1678 + SH_PFC_PIN_GROUP(hspi1_a), 1679 + SH_PFC_PIN_GROUP(hspi1_b), 1680 + SH_PFC_PIN_GROUP(hspi2_a), 1681 + SH_PFC_PIN_GROUP(hspi2_b), 1682 + SH_PFC_PIN_GROUP(i2c1_a), 1683 + SH_PFC_PIN_GROUP(i2c1_b), 1684 + SH_PFC_PIN_GROUP(i2c2_a), 1685 + SH_PFC_PIN_GROUP(i2c2_b), 1686 + SH_PFC_PIN_GROUP(i2c2_c), 1687 + SH_PFC_PIN_GROUP(i2c3_a), 1688 + SH_PFC_PIN_GROUP(i2c3_b), 1689 + SH_PFC_PIN_GROUP(i2c3_c), 1690 + SH_PFC_PIN_GROUP(mmc_ctrl), 1691 + SH_PFC_PIN_GROUP(mmc_data1), 1692 + SH_PFC_PIN_GROUP(mmc_data4), 1693 + SH_PFC_PIN_GROUP(mmc_data8), 1694 + SH_PFC_PIN_GROUP(scif_clk), 1695 + SH_PFC_PIN_GROUP(scif0_data_a), 1696 + SH_PFC_PIN_GROUP(scif0_data_b), 1697 + SH_PFC_PIN_GROUP(scif0_data_c), 1698 + SH_PFC_PIN_GROUP(scif0_data_d), 1699 + SH_PFC_PIN_GROUP(scif0_ctrl), 1700 + SH_PFC_PIN_GROUP(scif0_clk), 1701 + SH_PFC_PIN_GROUP(scif1_data_a), 1702 + SH_PFC_PIN_GROUP(scif1_data_b), 1703 + SH_PFC_PIN_GROUP(scif1_data_c), 1704 + SH_PFC_PIN_GROUP(scif1_data_d), 1705 + SH_PFC_PIN_GROUP(scif1_ctrl_a), 1706 + SH_PFC_PIN_GROUP(scif1_ctrl_c), 1707 + SH_PFC_PIN_GROUP(scif1_clk_a), 1708 + SH_PFC_PIN_GROUP(scif1_clk_c), 1709 + SH_PFC_PIN_GROUP(scif2_data_a), 1710 + SH_PFC_PIN_GROUP(scif2_data_b), 1711 + SH_PFC_PIN_GROUP(scif2_data_c), 1712 + SH_PFC_PIN_GROUP(scif2_data_d), 1713 + SH_PFC_PIN_GROUP(scif2_data_e), 1714 + SH_PFC_PIN_GROUP(scif2_clk_a), 1715 + SH_PFC_PIN_GROUP(scif2_clk_b), 1716 + SH_PFC_PIN_GROUP(scif2_clk_c), 1717 + SH_PFC_PIN_GROUP(scif3_data_a), 1718 + SH_PFC_PIN_GROUP(scif3_data_b), 1719 + SH_PFC_PIN_GROUP(scif3_data_c), 1720 + SH_PFC_PIN_GROUP(scif3_data_d), 1721 + SH_PFC_PIN_GROUP(scif4_data_a), 1722 + SH_PFC_PIN_GROUP(scif4_data_b), 1723 + SH_PFC_PIN_GROUP(scif4_data_c), 1724 + SH_PFC_PIN_GROUP(scif5_data_a), 1725 + SH_PFC_PIN_GROUP(scif5_data_b), 1726 + SH_PFC_PIN_GROUP(sdhi0_cd), 1727 + SH_PFC_PIN_GROUP(sdhi0_ctrl), 1728 + SH_PFC_PIN_GROUP(sdhi0_data1), 1729 + SH_PFC_PIN_GROUP(sdhi0_data4), 1730 + SH_PFC_PIN_GROUP(sdhi0_wp), 1731 + SH_PFC_PIN_GROUP(sdhi1_cd_a), 1732 + SH_PFC_PIN_GROUP(sdhi1_cd_b), 1733 + SH_PFC_PIN_GROUP(sdhi1_ctrl_a), 1734 + SH_PFC_PIN_GROUP(sdhi1_ctrl_b), 1735 + SH_PFC_PIN_GROUP(sdhi1_data1_a), 1736 + SH_PFC_PIN_GROUP(sdhi1_data1_b), 1737 + SH_PFC_PIN_GROUP(sdhi1_data4_a), 1738 + SH_PFC_PIN_GROUP(sdhi1_data4_b), 1739 + SH_PFC_PIN_GROUP(sdhi1_wp_a), 1740 + SH_PFC_PIN_GROUP(sdhi1_wp_b), 1741 + SH_PFC_PIN_GROUP(sdhi2_cd_a), 1742 + SH_PFC_PIN_GROUP(sdhi2_cd_b), 1743 + SH_PFC_PIN_GROUP(sdhi2_ctrl_a), 1744 + SH_PFC_PIN_GROUP(sdhi2_ctrl_b), 1745 + SH_PFC_PIN_GROUP(sdhi2_data1_a), 1746 + SH_PFC_PIN_GROUP(sdhi2_data1_b), 1747 + SH_PFC_PIN_GROUP(sdhi2_data4_a), 1748 + SH_PFC_PIN_GROUP(sdhi2_data4_b), 1749 + SH_PFC_PIN_GROUP(sdhi2_wp_a), 1750 + SH_PFC_PIN_GROUP(sdhi2_wp_b), 1751 + SH_PFC_PIN_GROUP(usb0), 1752 + SH_PFC_PIN_GROUP(usb0_ovc), 1753 + SH_PFC_PIN_GROUP(usb1), 1754 + SH_PFC_PIN_GROUP(usb1_ovc), 1755 + SH_PFC_PIN_GROUP(vin0_data8), 1756 + SH_PFC_PIN_GROUP(vin0_clk), 1757 + SH_PFC_PIN_GROUP(vin0_sync), 1758 + SH_PFC_PIN_GROUP(vin1_data8), 1759 + SH_PFC_PIN_GROUP(vin1_clk), 1760 + SH_PFC_PIN_GROUP(vin1_sync), 1761 + }; 1762 + 1763 + static const char * const ether_groups[] = { 1764 + "ether_rmii", 1765 + "ether_link", 1766 + "ether_magic", 1767 + }; 1768 + 1769 + static const char * const hscif0_groups[] = { 1770 + "hscif0_data_a", 1771 + "hscif0_data_b", 1772 + "hscif0_ctrl_a", 1773 + "hscif0_ctrl_b", 1774 + "hscif0_clk", 1775 + }; 1776 + 1777 + static const char * const hscif1_groups[] = { 1778 + "hscif1_data_a", 1779 + "hscif1_data_b", 1780 + "hscif1_ctrl_a", 1781 + "hscif1_ctrl_b", 1782 + "hscif1_clk_a", 1783 + "hscif1_clk_b", 1784 + }; 1785 + 1786 + static const char * const hspi0_groups[] = { 1787 + "hspi0_a", 1788 + "hspi0_b", 1789 + }; 1790 + 1791 + static const char * const hspi1_groups[] = { 1792 + "hspi1_a", 1793 + "hspi1_b", 1794 + }; 1795 + 1796 + static const char * const hspi2_groups[] = { 1797 + "hspi2_a", 1798 + "hspi2_b", 1799 + }; 1800 + 1801 + static const char * const i2c1_groups[] = { 1802 + "i2c1_a", 1803 + "i2c1_b", 1804 + }; 1805 + 1806 + static const char * const i2c2_groups[] = { 1807 + "i2c2_a", 1808 + "i2c2_b", 1809 + "i2c2_c", 1810 + }; 1811 + 1812 + static const char * const i2c3_groups[] = { 1813 + "i2c3_a", 1814 + "i2c3_b", 1815 + "i2c3_c", 1816 + }; 1817 + 1818 + static const char * const mmc_groups[] = { 1819 + "mmc_ctrl", 1820 + "mmc_data1", 1821 + "mmc_data4", 1822 + "mmc_data8", 1823 + }; 1824 + 1825 + static const char * const scif_clk_groups[] = { 1826 + "scif_clk", 1827 + }; 1828 + 1829 + static const char * const scif0_groups[] = { 1830 + "scif0_data_a", 1831 + "scif0_data_b", 1832 + "scif0_data_c", 1833 + "scif0_data_d", 1834 + "scif0_ctrl", 1835 + "scif0_clk", 1836 + }; 1837 + 1838 + static const char * const scif1_groups[] = { 1839 + "scif1_data_a", 1840 + "scif1_data_b", 1841 + "scif1_data_c", 1842 + "scif1_data_d", 1843 + "scif1_ctrl_a", 1844 + "scif1_ctrl_c", 1845 + "scif1_clk_a", 1846 + "scif1_clk_c", 1847 + }; 1848 + 1849 + static const char * const scif2_groups[] = { 1850 + "scif2_data_a", 1851 + "scif2_data_b", 1852 + "scif2_data_c", 1853 + "scif2_data_d", 1854 + "scif2_data_e", 1855 + "scif2_clk_a", 1856 + "scif2_clk_b", 1857 + "scif2_clk_c", 1858 + }; 1859 + 1860 + static const char * const scif3_groups[] = { 1861 + "scif3_data_a", 1862 + "scif3_data_b", 1863 + "scif3_data_c", 1864 + "scif3_data_d", 1865 + }; 1866 + 1867 + static const char * const scif4_groups[] = { 1868 + "scif4_data_a", 1869 + "scif4_data_b", 1870 + "scif4_data_c", 1871 + }; 1872 + 1873 + static const char * const scif5_groups[] = { 1874 + "scif5_data_a", 1875 + "scif5_data_b", 1876 + }; 1877 + 1878 + 1879 + static const char * const sdhi0_groups[] = { 1880 + "sdhi0_cd", 1881 + "sdhi0_ctrl", 1882 + "sdhi0_data1", 1883 + "sdhi0_data4", 1884 + "sdhi0_wp", 1885 + }; 1886 + 1887 + static const char * const sdhi1_groups[] = { 1888 + "sdhi1_cd_a", 1889 + "sdhi1_cd_b", 1890 + "sdhi1_ctrl_a", 1891 + "sdhi1_ctrl_b", 1892 + "sdhi1_data1_a", 1893 + "sdhi1_data1_b", 1894 + "sdhi1_data4_a", 1895 + "sdhi1_data4_b", 1896 + "sdhi1_wp_a", 1897 + "sdhi1_wp_b", 1898 + }; 1899 + 1900 + static const char * const sdhi2_groups[] = { 1901 + "sdhi2_cd_a", 1902 + "sdhi2_cd_b", 1903 + "sdhi2_ctrl_a", 1904 + "sdhi2_ctrl_b", 1905 + "sdhi2_data1_a", 1906 + "sdhi2_data1_b", 1907 + "sdhi2_data4_a", 1908 + "sdhi2_data4_b", 1909 + "sdhi2_wp_a", 1910 + "sdhi2_wp_b", 1911 + }; 1912 + 1913 + static const char * const usb0_groups[] = { 1914 + "usb0", 1915 + "usb0_ovc", 1916 + }; 1917 + 1918 + static const char * const usb1_groups[] = { 1919 + "usb1", 1920 + "usb1_ovc", 1921 + }; 1922 + 1923 + static const char * const vin0_groups[] = { 1924 + "vin0_data8", 1925 + "vin0_clk", 1926 + "vin0_sync", 1927 + }; 1928 + 1929 + static const char * const vin1_groups[] = { 1930 + "vin1_data8", 1931 + "vin1_clk", 1932 + "vin1_sync", 1933 + }; 1934 + 1935 + static const struct sh_pfc_function pinmux_functions[] = { 1936 + SH_PFC_FUNCTION(ether), 1937 + SH_PFC_FUNCTION(hscif0), 1938 + SH_PFC_FUNCTION(hscif1), 1939 + SH_PFC_FUNCTION(hspi0), 1940 + SH_PFC_FUNCTION(hspi1), 1941 + SH_PFC_FUNCTION(hspi2), 1942 + SH_PFC_FUNCTION(i2c1), 1943 + SH_PFC_FUNCTION(i2c2), 1944 + SH_PFC_FUNCTION(i2c3), 1945 + SH_PFC_FUNCTION(mmc), 1946 + SH_PFC_FUNCTION(scif_clk), 1947 + SH_PFC_FUNCTION(scif0), 1948 + SH_PFC_FUNCTION(scif1), 1949 + SH_PFC_FUNCTION(scif2), 1950 + SH_PFC_FUNCTION(scif3), 1951 + SH_PFC_FUNCTION(scif4), 1952 + SH_PFC_FUNCTION(scif5), 1953 + SH_PFC_FUNCTION(sdhi0), 1954 + SH_PFC_FUNCTION(sdhi1), 1955 + SH_PFC_FUNCTION(sdhi2), 1956 + SH_PFC_FUNCTION(usb0), 1957 + SH_PFC_FUNCTION(usb1), 1958 + SH_PFC_FUNCTION(vin0), 1959 + SH_PFC_FUNCTION(vin1), 1960 + }; 1961 + 1962 + static struct pinmux_cfg_reg pinmux_config_regs[] = { 1963 + { PINMUX_CFG_REG("GPSR0", 0xfffc0004, 32, 1) { 1964 + GP_0_31_FN, FN_IP1_14_11, 1965 + GP_0_30_FN, FN_IP1_10_8, 1966 + GP_0_29_FN, FN_IP1_7_5, 1967 + GP_0_28_FN, FN_IP1_4_2, 1968 + GP_0_27_FN, FN_IP1_1, 1969 + GP_0_26_FN, FN_IP1_0, 1970 + GP_0_25_FN, FN_IP0_30, 1971 + GP_0_24_FN, FN_IP0_29, 1972 + GP_0_23_FN, FN_IP0_28, 1973 + GP_0_22_FN, FN_IP0_27, 1974 + GP_0_21_FN, FN_IP0_26, 1975 + GP_0_20_FN, FN_IP0_25, 1976 + GP_0_19_FN, FN_IP0_24, 1977 + GP_0_18_FN, FN_IP0_23, 1978 + GP_0_17_FN, FN_IP0_22, 1979 + GP_0_16_FN, FN_IP0_21, 1980 + GP_0_15_FN, FN_IP0_20, 1981 + GP_0_14_FN, FN_IP0_19, 1982 + GP_0_13_FN, FN_IP0_18, 1983 + GP_0_12_FN, FN_IP0_17, 1984 + GP_0_11_FN, FN_IP0_16, 1985 + GP_0_10_FN, FN_IP0_15, 1986 + GP_0_9_FN, FN_A3, 1987 + GP_0_8_FN, FN_A2, 1988 + GP_0_7_FN, FN_A1, 1989 + GP_0_6_FN, FN_IP0_14_12, 1990 + GP_0_5_FN, FN_IP0_11_8, 1991 + GP_0_4_FN, FN_IP0_7_5, 1992 + GP_0_3_FN, FN_IP0_4_2, 1993 + GP_0_2_FN, FN_PENC1, 1994 + GP_0_1_FN, FN_PENC0, 1995 + GP_0_0_FN, FN_IP0_1_0 } 1996 + }, 1997 + { PINMUX_CFG_REG("GPSR1", 0xfffc0008, 32, 1) { 1998 + GP_1_31_FN, FN_IP4_6_4, 1999 + GP_1_30_FN, FN_IP4_3_1, 2000 + GP_1_29_FN, FN_IP4_0, 2001 + GP_1_28_FN, FN_IP3_31, 2002 + GP_1_27_FN, FN_IP3_30, 2003 + GP_1_26_FN, FN_IP3_29, 2004 + GP_1_25_FN, FN_IP3_28, 2005 + GP_1_24_FN, FN_IP3_27, 2006 + GP_1_23_FN, FN_IP3_26_24, 2007 + GP_1_22_FN, FN_IP3_23_21, 2008 + GP_1_21_FN, FN_IP3_20_19, 2009 + GP_1_20_FN, FN_IP3_18_16, 2010 + GP_1_19_FN, FN_IP3_15_13, 2011 + GP_1_18_FN, FN_IP3_12_10, 2012 + GP_1_17_FN, FN_IP3_9_8, 2013 + GP_1_16_FN, FN_IP3_7_5, 2014 + GP_1_15_FN, FN_IP3_4_2, 2015 + GP_1_14_FN, FN_IP3_1_0, 2016 + GP_1_13_FN, FN_IP2_31, 2017 + GP_1_12_FN, FN_IP2_30, 2018 + GP_1_11_FN, FN_IP2_17, 2019 + GP_1_10_FN, FN_IP2_16_14, 2020 + GP_1_9_FN, FN_IP2_13_12, 2021 + GP_1_8_FN, FN_IP2_11_9, 2022 + GP_1_7_FN, FN_IP2_8_6, 2023 + GP_1_6_FN, FN_IP2_5_3, 2024 + GP_1_5_FN, FN_IP2_2_0, 2025 + GP_1_4_FN, FN_IP1_29_28, 2026 + GP_1_3_FN, FN_IP1_27_25, 2027 + GP_1_2_FN, FN_IP1_24, 2028 + GP_1_1_FN, FN_WE0, 2029 + GP_1_0_FN, FN_IP1_23_21 } 2030 + }, 2031 + { PINMUX_CFG_REG("GPSR2", 0xfffc000c, 32, 1) { 2032 + GP_2_31_FN, FN_IP6_7, 2033 + GP_2_30_FN, FN_IP6_6_5, 2034 + GP_2_29_FN, FN_IP6_4_2, 2035 + GP_2_28_FN, FN_IP6_1_0, 2036 + GP_2_27_FN, FN_IP5_30_29, 2037 + GP_2_26_FN, FN_IP5_28_26, 2038 + GP_2_25_FN, FN_IP5_25_23, 2039 + GP_2_24_FN, FN_IP5_22_21, 2040 + GP_2_23_FN, FN_AUDIO_CLKB, 2041 + GP_2_22_FN, FN_AUDIO_CLKA, 2042 + GP_2_21_FN, FN_IP5_20_18, 2043 + GP_2_20_FN, FN_IP5_17_15, 2044 + GP_2_19_FN, FN_IP5_14_13, 2045 + GP_2_18_FN, FN_IP5_12, 2046 + GP_2_17_FN, FN_IP5_11_10, 2047 + GP_2_16_FN, FN_IP5_9_8, 2048 + GP_2_15_FN, FN_IP5_7, 2049 + GP_2_14_FN, FN_IP5_6, 2050 + GP_2_13_FN, FN_IP5_5_4, 2051 + GP_2_12_FN, FN_IP5_3_2, 2052 + GP_2_11_FN, FN_IP5_1_0, 2053 + GP_2_10_FN, FN_IP4_30_29, 2054 + GP_2_9_FN, FN_IP4_28_27, 2055 + GP_2_8_FN, FN_IP4_26_25, 2056 + GP_2_7_FN, FN_IP4_24_21, 2057 + GP_2_6_FN, FN_IP4_20_17, 2058 + GP_2_5_FN, FN_IP4_16_15, 2059 + GP_2_4_FN, FN_IP4_14_13, 2060 + GP_2_3_FN, FN_IP4_12_11, 2061 + GP_2_2_FN, FN_IP4_10_9, 2062 + GP_2_1_FN, FN_IP4_8, 2063 + GP_2_0_FN, FN_IP4_7 } 2064 + }, 2065 + { PINMUX_CFG_REG("GPSR3", 0xfffc0010, 32, 1) { 2066 + GP_3_31_FN, FN_IP8_10_9, 2067 + GP_3_30_FN, FN_IP8_8_6, 2068 + GP_3_29_FN, FN_IP8_5_3, 2069 + GP_3_28_FN, FN_IP8_2_0, 2070 + GP_3_27_FN, FN_IP7_31_29, 2071 + GP_3_26_FN, FN_IP7_28_25, 2072 + GP_3_25_FN, FN_IP7_24_22, 2073 + GP_3_24_FN, FN_IP7_21, 2074 + GP_3_23_FN, FN_IP7_20_18, 2075 + GP_3_22_FN, FN_IP7_17_15, 2076 + GP_3_21_FN, FN_IP7_14_12, 2077 + GP_3_20_FN, FN_IP7_11_9, 2078 + GP_3_19_FN, FN_IP7_8_6, 2079 + GP_3_18_FN, FN_IP7_5_4, 2080 + GP_3_17_FN, FN_IP7_3_2, 2081 + GP_3_16_FN, FN_IP7_1_0, 2082 + GP_3_15_FN, FN_IP6_31_30, 2083 + GP_3_14_FN, FN_IP6_29_28, 2084 + GP_3_13_FN, FN_IP6_27_26, 2085 + GP_3_12_FN, FN_IP6_25_24, 2086 + GP_3_11_FN, FN_IP6_23_22, 2087 + GP_3_10_FN, FN_IP6_21, 2088 + GP_3_9_FN, FN_IP6_20_19, 2089 + GP_3_8_FN, FN_IP6_18_17, 2090 + GP_3_7_FN, FN_IP6_16, 2091 + GP_3_6_FN, FN_IP6_15_14, 2092 + GP_3_5_FN, FN_IP6_13, 2093 + GP_3_4_FN, FN_IP6_12_11, 2094 + GP_3_3_FN, FN_IP6_10, 2095 + GP_3_2_FN, FN_SSI_SCK34, 2096 + GP_3_1_FN, FN_IP6_9, 2097 + GP_3_0_FN, FN_IP6_8 } 2098 + }, 2099 + { PINMUX_CFG_REG("GPSR4", 0xfffc0014, 32, 1) { 2100 + 0, 0, 2101 + 0, 0, 2102 + 0, 0, 2103 + 0, 0, 2104 + 0, 0, 2105 + GP_4_26_FN, FN_AVS2, 2106 + GP_4_25_FN, FN_AVS1, 2107 + GP_4_24_FN, FN_IP10_24_22, 2108 + GP_4_23_FN, FN_IP10_21_19, 2109 + GP_4_22_FN, FN_IP10_18_16, 2110 + GP_4_21_FN, FN_IP10_15_13, 2111 + GP_4_20_FN, FN_IP10_12_9, 2112 + GP_4_19_FN, FN_IP10_8_6, 2113 + GP_4_18_FN, FN_IP10_5_3, 2114 + GP_4_17_FN, FN_IP10_2_0, 2115 + GP_4_16_FN, FN_IP9_29_27, 2116 + GP_4_15_FN, FN_IP9_26_24, 2117 + GP_4_14_FN, FN_IP9_23_21, 2118 + GP_4_13_FN, FN_IP9_20_18, 2119 + GP_4_12_FN, FN_IP9_17_15, 2120 + GP_4_11_FN, FN_IP9_14_12, 2121 + GP_4_10_FN, FN_IP9_11_9, 2122 + GP_4_9_FN, FN_IP9_8_6, 2123 + GP_4_8_FN, FN_IP9_5_3, 2124 + GP_4_7_FN, FN_IP9_2_0, 2125 + GP_4_6_FN, FN_IP8_29_27, 2126 + GP_4_5_FN, FN_IP8_26_24, 2127 + GP_4_4_FN, FN_IP8_23_22, 2128 + GP_4_3_FN, FN_IP8_21_19, 2129 + GP_4_2_FN, FN_IP8_18_16, 2130 + GP_4_1_FN, FN_IP8_15_14, 2131 + GP_4_0_FN, FN_IP8_13_11 } 2132 + }, 2133 + 2134 + { PINMUX_CFG_REG_VAR("IPSR0", 0xfffc0020, 32, 2135 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2136 + 1, 1, 1, 1, 1, 1, 3, 4, 3, 3, 2) { 2137 + /* IP0_31 [1] */ 2138 + 0, 0, 2139 + /* IP0_30 [1] */ 2140 + FN_A19, 0, 2141 + /* IP0_29 [1] */ 2142 + FN_A18, 0, 2143 + /* IP0_28 [1] */ 2144 + FN_A17, 0, 2145 + /* IP0_27 [1] */ 2146 + FN_A16, 0, 2147 + /* IP0_26 [1] */ 2148 + FN_A15, 0, 2149 + /* IP0_25 [1] */ 2150 + FN_A14, 0, 2151 + /* IP0_24 [1] */ 2152 + FN_A13, 0, 2153 + /* IP0_23 [1] */ 2154 + FN_A12, 0, 2155 + /* IP0_22 [1] */ 2156 + FN_A11, 0, 2157 + /* IP0_21 [1] */ 2158 + FN_A10, 0, 2159 + /* IP0_20 [1] */ 2160 + FN_A9, 0, 2161 + /* IP0_19 [1] */ 2162 + FN_A8, 0, 2163 + /* IP0_18 [1] */ 2164 + FN_A7, 0, 2165 + /* IP0_17 [1] */ 2166 + FN_A6, 0, 2167 + /* IP0_16 [1] */ 2168 + FN_A5, 0, 2169 + /* IP0_15 [1] */ 2170 + FN_A4, 0, 2171 + /* IP0_14_12 [3] */ 2172 + FN_SD1_DAT3_A, FN_MMC_D3, 0, FN_A0, 2173 + FN_ATAG0_A, 0, FN_REMOCON_B, 0, 2174 + /* IP0_11_8 [4] */ 2175 + FN_SD1_DAT2_A, FN_MMC_D2, 0, FN_BS, 2176 + FN_ATADIR0_A, 0, FN_SDSELF_B, 0, 2177 + FN_PWM4_B, 0, 0, 0, 2178 + 0, 0, 0, 0, 2179 + /* IP0_7_5 [3] */ 2180 + FN_AUDATA1, FN_ARM_TRACEDATA_1, FN_GPSIN_C, FN_USB_OVC1, 2181 + FN_RX2_E, FN_SCL2_B, 0, 0, 2182 + /* IP0_4_2 [3] */ 2183 + FN_AUDATA0, FN_ARM_TRACEDATA_0, FN_GPSCLK_C, FN_USB_OVC0, 2184 + FN_TX2_E, FN_SDA2_B, 0, 0, 2185 + /* IP0_1_0 [2] */ 2186 + FN_PRESETOUT, 0, FN_PWM1, 0, 2187 + } 2188 + }, 2189 + { PINMUX_CFG_REG_VAR("IPSR1", 0xfffc0024, 32, 2190 + 1, 1, 2, 3, 1, 3, 3, 1, 2, 4, 3, 3, 3, 1, 1) { 2191 + /* IP1_31 [1] */ 2192 + 0, 0, 2193 + /* IP1_30 [1] */ 2194 + 0, 0, 2195 + /* IP1_29_28 [2] */ 2196 + FN_EX_CS1, FN_MMC_D4, 0, 0, 2197 + /* IP1_27_25 [3] */ 2198 + FN_SSI_WS1_B, FN_EX_CS0, FN_SCL2_A, FN_TX3_C, 2199 + FN_TS_SCK0_A, 0, 0, 0, 2200 + /* IP1_24 [1] */ 2201 + FN_WE1, FN_ATAWR0_B, 2202 + /* IP1_23_21 [3] */ 2203 + FN_MMC_D5, FN_ATADIR0_B, 0, FN_RD_WR, 2204 + 0, 0, 0, 0, 2205 + /* IP1_20_18 [3] */ 2206 + FN_SSI_SCK1_B, FN_ATAG0_B, FN_CS1_A26, FN_SDA2_A, 2207 + FN_SCK2_B, 0, 0, 0, 2208 + /* IP1_17 [1] */ 2209 + FN_CS0, FN_HSPI_RX1_B, 2210 + /* IP1_16_15 [2] */ 2211 + FN_CLKOUT, FN_HSPI_TX1_B, FN_PWM0_B, 0, 2212 + /* IP1_14_11 [4] */ 2213 + FN_SD1_WP_A, FN_MMC_D7, 0, FN_A25, 2214 + FN_DACK1_A, 0, FN_HCTS0_B, FN_RX3_C, 2215 + FN_TS_SDAT0_A, 0, 0, 0, 2216 + 0, 0, 0, 0, 2217 + /* IP1_10_8 [3] */ 2218 + FN_SD1_CLK_B, FN_MMC_D6, 0, FN_A24, 2219 + FN_DREQ1_A, 0, FN_HRX0_B, FN_TS_SPSYNC0_A, 2220 + /* IP1_7_5 [3] */ 2221 + FN_A23, FN_HTX0_B, FN_TX2_B, FN_DACK2_A, 2222 + FN_TS_SDEN0_A, 0, 0, 0, 2223 + /* IP1_4_2 [3] */ 2224 + FN_A22, FN_HRTS0_B, FN_RX2_B, FN_DREQ2_A, 2225 + 0, 0, 0, 0, 2226 + /* IP1_1 [1] */ 2227 + FN_A21, FN_HSPI_CLK1_B, 2228 + /* IP1_0 [1] */ 2229 + FN_A20, FN_HSPI_CS1_B, 2230 + } 2231 + }, 2232 + { PINMUX_CFG_REG_VAR("IPSR2", 0xfffc0028, 32, 2233 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2234 + 1, 1, 1, 1, 3, 2, 3, 3, 3, 3) { 2235 + /* IP2_31 [1] */ 2236 + FN_MLB_CLK, FN_IRQ1_A, 2237 + /* IP2_30 [1] */ 2238 + FN_RD_WR_B, FN_IRQ0, 2239 + /* IP2_29 [1] */ 2240 + FN_D11, 0, 2241 + /* IP2_28 [1] */ 2242 + FN_D10, 0, 2243 + /* IP2_27 [1] */ 2244 + FN_D9, 0, 2245 + /* IP2_26 [1] */ 2246 + FN_D8, 0, 2247 + /* IP2_25 [1] */ 2248 + FN_D7, 0, 2249 + /* IP2_24 [1] */ 2250 + FN_D6, 0, 2251 + /* IP2_23 [1] */ 2252 + FN_D5, 0, 2253 + /* IP2_22 [1] */ 2254 + FN_D4, 0, 2255 + /* IP2_21 [1] */ 2256 + FN_D3, 0, 2257 + /* IP2_20 [1] */ 2258 + FN_D2, 0, 2259 + /* IP2_19 [1] */ 2260 + FN_D1, 0, 2261 + /* IP2_18 [1] */ 2262 + FN_D0, 0, 2263 + /* IP2_17 [1] */ 2264 + FN_EX_WAIT0, FN_PWM0_C, 2265 + /* IP2_16_14 [3] */ 2266 + FN_DACK0, 0, 0, FN_TX3_A, 2267 + FN_DRACK0, 0, 0, 0, 2268 + /* IP2_13_12 [2] */ 2269 + FN_DREQ0_A, 0, 0, FN_RX3_A, 2270 + /* IP2_11_9 [3] */ 2271 + FN_SD1_DAT1_A, FN_MMC_D1, 0, FN_ATAWR0_A, 2272 + FN_EX_CS5, FN_EX_WAIT2_A, 0, 0, 2273 + /* IP2_8_6 [3] */ 2274 + FN_SD1_DAT0_A, FN_MMC_D0, 0, FN_ATARD0, 2275 + FN_EX_CS4, FN_EX_WAIT1_A, 0, 0, 2276 + /* IP2_5_3 [3] */ 2277 + FN_SD1_CMD_A, FN_MMC_CMD, 0, FN_ATACS10, 2278 + FN_EX_CS3, 0, 0, 0, 2279 + /* IP2_2_0 [3] */ 2280 + FN_SD1_CLK_A, FN_MMC_CLK, 0, FN_ATACS00, 2281 + FN_EX_CS2, 0, 0, 0, 2282 + } 2283 + }, 2284 + { PINMUX_CFG_REG_VAR("IPSR3", 0xfffc002c, 32, 2285 + 1, 1, 1, 1, 1, 3, 3, 2, 2286 + 3, 3, 3, 2, 3, 3, 2) { 2287 + /* IP3_31 [1] */ 2288 + FN_DU0_DR6, FN_LCDOUT6, 2289 + /* IP3_30 [1] */ 2290 + FN_DU0_DR5, FN_LCDOUT5, 2291 + /* IP3_29 [1] */ 2292 + FN_DU0_DR4, FN_LCDOUT4, 2293 + /* IP3_28 [1] */ 2294 + FN_DU0_DR3, FN_LCDOUT3, 2295 + /* IP3_27 [1] */ 2296 + FN_DU0_DR2, FN_LCDOUT2, 2297 + /* IP3_26_24 [3] */ 2298 + FN_SSI_WS4, FN_DU0_DR1, FN_LCDOUT1, FN_AUDATA3, 2299 + FN_ARM_TRACEDATA_3, FN_SCL3_C, FN_ADICHS2, FN_TS_SPSYNC0_B, 2300 + /* IP3_23_21 [3] */ 2301 + FN_SSI_SCK4, FN_DU0_DR0, FN_LCDOUT0, FN_AUDATA2, 2302 + FN_ARM_TRACEDATA_2, FN_SDA3_C, FN_ADICHS1, FN_TS_SDEN0_B, 2303 + /* IP3_20_19 [2] */ 2304 + FN_SD1_DAT3_B, FN_HRTS0_A, FN_RTS0, 0, 2305 + /* IP3_18_16 [3] */ 2306 + FN_SD1_DAT2_B, FN_HCTS0_A, FN_CTS0, 0, 2307 + 0, 0, 0, 0, 2308 + /* IP3_15_13 [3] */ 2309 + FN_SD1_DAT1_B, FN_HSCK0, FN_SCK0, FN_SCL3_B, 2310 + 0, 0, 0, 0, 2311 + /* IP3_12_10 [3] */ 2312 + FN_SD1_DAT0_B, FN_HRX0_A, FN_RX0_A, 0, 2313 + 0, 0, 0, 0, 2314 + /* IP3_9_8 [2] */ 2315 + FN_SD1_CLK_B, FN_HTX0_A, FN_TX0_A, 0, 2316 + /* IP3_7_5 [3] */ 2317 + FN_SD1_CMD_B, FN_SCIF_CLK, FN_AUDIO_CLKOUT_B, FN_CAN_CLK_B, 2318 + FN_SDA3_B, 0, 0, 0, 2319 + /* IP3_4_2 [3] */ 2320 + FN_MLB_DAT, FN_TX5_B, FN_SCL3_A, FN_IRQ3_A, 2321 + FN_SDSELF_B, 0, 0, 0, 2322 + /* IP3_1_0 [2] */ 2323 + FN_MLB_SIG, FN_RX5_B, FN_SDA3_A, FN_IRQ2_A, 2324 + } 2325 + }, 2326 + { PINMUX_CFG_REG_VAR("IPSR4", 0xfffc0030, 32, 2327 + 1, 2, 2, 2, 4, 4, 2, 2, 2, 2, 1, 1, 3, 3, 1) { 2328 + /* IP4_31 [1] */ 2329 + 0, 0, 2330 + /* IP4_30_29 [2] */ 2331 + FN_VI0_R4_B, FN_DU0_DB4, FN_LCDOUT20, 0, 2332 + /* IP4_28_27 [2] */ 2333 + FN_VI0_R3_B, FN_DU0_DB3, FN_LCDOUT19, 0, 2334 + /* IP4_26_25 [2] */ 2335 + FN_VI0_R2_B, FN_DU0_DB2, FN_LCDOUT18, 0, 2336 + /* IP4_24_21 [4] */ 2337 + FN_AUDIO_CLKC, FN_VI0_R1_B, FN_DU0_DB1, FN_LCDOUT17, 2338 + FN_AUDATA7, FN_ARM_TRACEDATA_7, FN_GPSIN_A, 0, 2339 + FN_ADICS_SAMP, FN_TS_SCK0_B, 0, 0, 2340 + 0, 0, 0, 0, 2341 + /* IP4_20_17 [4] */ 2342 + FN_SSI_SCK2_B, FN_VI0_R0_B, FN_DU0_DB0, FN_LCDOUT16, 2343 + FN_AUDATA6, FN_ARM_TRACEDATA_6, FN_GPSCLK_A, FN_PWM0_A, 2344 + FN_ADICLK, FN_TS_SDAT0_B, 0, 0, 2345 + 0, 0, 0, 0, 2346 + /* IP4_16_15 [2] */ 2347 + FN_DU0_DG7, FN_LCDOUT15, FN_TX4_A, 0, 2348 + /* IP4_14_13 [2] */ 2349 + FN_DU0_DG6, FN_LCDOUT14, FN_RX4_A, 0, 2350 + /* IP4_12_11 [2] */ 2351 + FN_DU0_DG5, FN_LCDOUT13, FN_TX0_B, 0, 2352 + /* IP4_10_9 [2] */ 2353 + FN_DU0_DG4, FN_LCDOUT12, FN_RX0_B, 0, 2354 + /* IP4_8 [1] */ 2355 + FN_DU0_DG3, FN_LCDOUT11, 2356 + /* IP4_7 [1] */ 2357 + FN_DU0_DG2, FN_LCDOUT10, 2358 + /* IP4_6_4 [3] */ 2359 + FN_DU0_DG1, FN_LCDOUT9, FN_AUDATA5, FN_ARM_TRACEDATA_5, 2360 + FN_RX1_D, FN_CAN0_RX_A, FN_ADIDATA, 0, 2361 + /* IP4_3_1 [3] */ 2362 + FN_DU0_DG0, FN_LCDOUT8, FN_AUDATA4, FN_ARM_TRACEDATA_4, 2363 + FN_TX1_D, FN_CAN0_TX_A, FN_ADICHS0, 0, 2364 + /* IP4_0 [1] */ 2365 + FN_DU0_DR7, FN_LCDOUT7, 2366 + } 2367 + }, 2368 + { PINMUX_CFG_REG_VAR("IPSR5", 0xfffc0034, 32, 2369 + 1, 2, 3, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 2, 2, 2) { 2370 + 2371 + /* IP5_31 [1] */ 2372 + 0, 0, 2373 + /* IP5_30_29 [2] */ 2374 + FN_SSI_SDATA7, FN_HSPI_TX0_B, FN_RX2_A, FN_CAN0_RX_B, 2375 + /* IP5_28_26 [3] */ 2376 + FN_SSI_SDATA8, FN_SSI_SCK2_A, FN_HSPI_CS0_B, FN_TX2_A, 2377 + FN_CAN0_TX_B, 0, 0, 0, 2378 + /* IP5_25_23 [3] */ 2379 + FN_SD1_WP_B, FN_SSI_WS78, FN_HSPI_CLK0_B, FN_RX1_B, 2380 + FN_CAN_CLK_D, 0, 0, 0, 2381 + /* IP5_22_21 [2] */ 2382 + FN_SD1_CD_B, FN_SSI_SCK78, FN_HSPI_RX0_B, FN_TX1_B, 2383 + /* IP5_20_18 [3] */ 2384 + FN_SSI_WS1_A, FN_DU0_CDE, FN_QPOLB, FN_AUDSYNC, 2385 + FN_ARM_TRACECTL, FN_FMIN_D, 0, 0, 2386 + /* IP5_17_15 [3] */ 2387 + FN_SSI_SCK1_A, FN_DU0_DISP, FN_QPOLA, FN_AUDCK, 2388 + FN_ARM_TRACECLK, FN_BPFCLK_D, 0, 0, 2389 + /* IP5_14_13 [2] */ 2390 + FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_QCPV_QDE, 2391 + FN_FMCLK_D, 0, 2392 + /* IP5_12 [1] */ 2393 + FN_DU0_EXVSYNC_DU0_VSYNC, FN_QSTB_QHE, 2394 + /* IP5_11_10 [2] */ 2395 + FN_SSI_WS2_B, FN_DU0_EXHSYNC_DU0_HSYNC, 2396 + FN_QSTH_QHS, 0, 2397 + /* IP5_9_8 [2] */ 2398 + FN_DU0_DOTCLKO_UT1, FN_QSTVB_QVE, 2399 + FN_AUDIO_CLKOUT_A, FN_REMOCON_C, 2400 + /* IP5_7 [1] */ 2401 + FN_DU0_DOTCLKO_UT0, FN_QCLK, 2402 + /* IP5_6 [1] */ 2403 + FN_DU0_DOTCLKIN, FN_QSTVA_QVS, 2404 + /* IP5_5_4 [2] */ 2405 + FN_VI1_DATA11_B, FN_DU0_DB7, FN_LCDOUT23, 0, 2406 + /* IP5_3_2 [2] */ 2407 + FN_VI1_DATA10_B, FN_DU0_DB6, FN_LCDOUT22, 0, 2408 + /* IP5_1_0 [2] */ 2409 + FN_VI0_R5_B, FN_DU0_DB5, FN_LCDOUT21, 0, 2410 + } 2411 + }, 2412 + { PINMUX_CFG_REG_VAR("IPSR6", 0xfffc0038, 32, 2413 + 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2414 + 1, 2, 1, 1, 1, 1, 2, 3, 2) { 2415 + /* IP6_31_30 [2] */ 2416 + FN_SD0_DAT2, 0, FN_SUB_TDI, 0, 2417 + /* IP6_29_28 [2] */ 2418 + FN_SD0_DAT1, 0, FN_SUB_TCK, 0, 2419 + /* IP6_27_26 [2] */ 2420 + FN_SD0_DAT0, 0, FN_SUB_TMS, 0, 2421 + /* IP6_25_24 [2] */ 2422 + FN_SD0_CMD, 0, FN_SUB_TRST, 0, 2423 + /* IP6_23_22 [2] */ 2424 + FN_SD0_CLK, 0, FN_SUB_TDO, 0, 2425 + /* IP6_21 [1] */ 2426 + FN_SSI_SDATA0, FN_ARM_TRACEDATA_15, 2427 + /* IP6_20_19 [2] */ 2428 + FN_SSI_SDATA1, FN_ARM_TRACEDATA_14, 2429 + FN_SCL1_A, FN_SCK2_A, 2430 + /* IP6_18_17 [2] */ 2431 + FN_SSI_SDATA2, FN_HSPI_CS2_A, 2432 + FN_ARM_TRACEDATA_13, FN_SDA1_A, 2433 + /* IP6_16 [1] */ 2434 + FN_SSI_WS012, FN_ARM_TRACEDATA_12, 2435 + /* IP6_15_14 [2] */ 2436 + FN_SSI_SCK012, FN_ARM_TRACEDATA_11, 2437 + FN_TX0_D, 0, 2438 + /* IP6_13 [1] */ 2439 + FN_SSI_SDATA3, FN_ARM_TRACEDATA_10, 2440 + /* IP6_12_11 [2] */ 2441 + FN_SSI_SDATA4, FN_SSI_WS2_A, 2442 + FN_ARM_TRACEDATA_9, 0, 2443 + /* IP6_10 [1] */ 2444 + FN_SSI_WS34, FN_ARM_TRACEDATA_8, 2445 + /* IP6_9 [1] */ 2446 + FN_SSI_SDATA5, FN_RX0_D, 2447 + /* IP6_8 [1] */ 2448 + FN_SSI_WS5, FN_TX4_C, 2449 + /* IP6_7 [1] */ 2450 + FN_SSI_SCK5, FN_RX4_C, 2451 + /* IP6_6_5 [2] */ 2452 + FN_SSI_SDATA6, FN_HSPI_TX2_A, 2453 + FN_FMIN_B, 0, 2454 + /* IP6_4_2 [3] */ 2455 + FN_SSI_WS6, FN_HSPI_CLK2_A, 2456 + FN_BPFCLK_B, FN_CAN1_RX_B, 2457 + 0, 0, 0, 0, 2458 + /* IP6_1_0 [2] */ 2459 + FN_SSI_SCK6, FN_HSPI_RX2_A, 2460 + FN_FMCLK_B, FN_CAN1_TX_B, 2461 + } 2462 + }, 2463 + { PINMUX_CFG_REG_VAR("IPSR7", 0xfffc003c, 32, 2464 + 3, 4, 3, 1, 3, 3, 3, 3, 3, 2, 2, 2) { 2465 + 2466 + /* IP7_31_29 [3] */ 2467 + FN_VI0_HSYNC, FN_SD2_CD_B, FN_VI1_DATA2, FN_DU1_DR2, 2468 + 0, FN_HSPI_CS1_A, FN_RX3_B, 0, 2469 + /* IP7_28_25 [4] */ 2470 + FN_VI0_FIELD, FN_SD2_DAT3_B, FN_VI0_R3_C, FN_VI1_DATA1, 2471 + FN_DU1_DG7, 0, FN_HSPI_CLK1_A, FN_TX4_B, 2472 + 0, 0, 0, 0, 2473 + 0, 0, 0, 0, 2474 + /* IP7_24_22 [3] */ 2475 + FN_VI0_CLKENB, FN_SD2_DAT2_B, FN_VI1_DATA0, FN_DU1_DG6, 2476 + 0, FN_HSPI_RX1_A, FN_RX4_B, 0, 2477 + /* IP7_21 [1] */ 2478 + FN_VI0_CLK, FN_CAN_CLK_A, 2479 + /* IP7_20_18 [3] */ 2480 + FN_TCLK0, FN_HSCK1_A, FN_FMIN_A, 0, 2481 + FN_IRQ2_C, FN_CTS1_C, FN_SPEEDIN, 0, 2482 + /* IP7_17_15 [3] */ 2483 + FN_VI1_VSYNC, FN_HSPI_TX0, FN_HCTS1_A, FN_BPFCLK_A, 2484 + 0, FN_TX1_C, 0, 0, 2485 + /* IP7_14_12 [3] */ 2486 + FN_VI1_HSYNC, FN_HSPI_RX0_A, FN_HRTS1_A, FN_FMCLK_A, 2487 + 0, FN_RX1_C, 0, 0, 2488 + /* IP7_11_9 [3] */ 2489 + FN_VI1_FIELD, FN_HSPI_CS0_A, FN_HRX1_A, 0, 2490 + FN_SCK1_C, 0, 0, 0, 2491 + /* IP7_8_6 [3] */ 2492 + FN_VI1_CLKENB, FN_HSPI_CLK0_A, FN_HTX1_A, 0, 2493 + FN_RTS1_C, 0, 0, 0, 2494 + /* IP7_5_4 [2] */ 2495 + FN_SD0_WP, 0, FN_RX5_A, 0, 2496 + /* IP7_3_2 [2] */ 2497 + FN_SD0_CD, 0, FN_TX5_A, 0, 2498 + /* IP7_1_0 [2] */ 2499 + FN_SD0_DAT3, 0, FN_IRQ1_B, 0, 2500 + } 2501 + }, 2502 + { PINMUX_CFG_REG_VAR("IPSR8", 0xfffc0040, 32, 2503 + 1, 1, 3, 3, 2, 3, 3, 2, 3, 2, 3, 3, 3) { 2504 + /* IP8_31 [1] */ 2505 + 0, 0, 2506 + /* IP8_30 [1] */ 2507 + 0, 0, 2508 + /* IP8_29_27 [3] */ 2509 + FN_VI0_G3, FN_SD2_CMD_B, FN_VI1_DATA5, FN_DU1_DR5, 2510 + 0, FN_HRX1_B, 0, 0, 2511 + /* IP8_26_24 [3] */ 2512 + FN_VI0_G2, FN_SD2_CLK_B, FN_VI1_DATA4, FN_DU1_DR4, 2513 + 0, FN_HTX1_B, 0, 0, 2514 + /* IP8_23_22 [2] */ 2515 + FN_VI0_DATA7_VI0_G1, FN_DU1_DB5, 2516 + FN_RTS1_A, 0, 2517 + /* IP8_21_19 [3] */ 2518 + FN_VI0_DATA6_VI0_G0, FN_DU1_DB4, 2519 + FN_CTS1_A, FN_PWM5, 2520 + 0, 0, 0, 0, 2521 + /* IP8_18_16 [3] */ 2522 + FN_VI0_DATA5_VI0_B5, FN_DU1_DB3, FN_SCK1_A, FN_PWM4, 2523 + 0, FN_HSCK1_B, 0, 0, 2524 + /* IP8_15_14 [2] */ 2525 + FN_VI0_DATA4_VI0_B4, FN_DU1_DB2, FN_RX1_A, 0, 2526 + /* IP8_13_11 [3] */ 2527 + FN_VI0_DATA3_VI0_B3, FN_DU1_DG5, FN_TX1_A, FN_TX0_C, 2528 + 0, 0, 0, 0, 2529 + /* IP8_10_9 [2] */ 2530 + FN_VI0_DATA2_VI0_B2, FN_DU1_DG4, FN_RX0_C, 0, 2531 + /* IP8_8_6 [3] */ 2532 + FN_VI0_DATA1_VI0_B1, FN_DU1_DG3, FN_IRQ3_B, FN_TX3_D, 2533 + 0, 0, 0, 0, 2534 + /* IP8_5_3 [3] */ 2535 + FN_VI0_DATA0_VI0_B0, FN_DU1_DG2, FN_IRQ2_B, FN_RX3_D, 2536 + 0, 0, 0, 0, 2537 + /* IP8_2_0 [3] */ 2538 + FN_VI0_VSYNC, FN_SD2_WP_B, FN_VI1_DATA3, FN_DU1_DR3, 2539 + 0, FN_HSPI_TX1_A, FN_TX3_B, 0, 2540 + } 2541 + }, 2542 + { PINMUX_CFG_REG_VAR("IPSR9", 0xfffc0044, 32, 2543 + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3) { 2544 + /* IP9_31 [1] */ 2545 + 0, 0, 2546 + /* IP9_30 [1] */ 2547 + 0, 0, 2548 + /* IP9_29_27 [3] */ 2549 + FN_VI1_DATA11_A, FN_DU1_EXHSYNC_DU1_HSYNC, 2550 + FN_ETH_RXD1, FN_FMIN_C, 2551 + 0, FN_RX2_D, 2552 + FN_SCL2_C, 0, 2553 + /* IP9_26_24 [3] */ 2554 + FN_VI1_DATA10_A, FN_DU1_DOTCLKOUT, 2555 + FN_ETH_RXD0, FN_BPFCLK_C, 2556 + 0, FN_TX2_D, 2557 + FN_SDA2_C, 0, 2558 + /* IP9_23_21 [3] */ 2559 + FN_VI0_R5_A, 0, FN_ETH_RX_ER, FN_FMCLK_C, 2560 + FN_IERX, FN_RX2_C, 0, 0, 2561 + /* IP9_20_18 [3] */ 2562 + FN_VI0_R4_A, FN_ETH_TX_EN, 0, 0, 2563 + FN_IETX, FN_TX2_C, 0, 0, 2564 + /* IP9_17_15 [3] */ 2565 + FN_VI0_R3_A, FN_ETH_CRS_DV, 0, FN_IECLK, 2566 + FN_SCK2_C, 0, 0, 0, 2567 + /* IP9_14_12 [3] */ 2568 + FN_VI0_R2_A, FN_VI1_DATA9, FN_DU1_DB7, FN_ETH_TXD1, 2569 + 0, FN_PWM3, 0, 0, 2570 + /* IP9_11_9 [3] */ 2571 + FN_VI0_R1_A, FN_VI1_DATA8, FN_DU1_DB6, FN_ETH_TXD0, 2572 + 0, FN_PWM2, FN_TCLK1, 0, 2573 + /* IP9_8_6 [3] */ 2574 + FN_VI0_R0_A, FN_VI1_CLK, FN_ETH_REF_CLK, FN_DU1_DOTCLKIN, 2575 + 0, 0, 0, 0, 2576 + /* IP9_5_3 [3] */ 2577 + FN_VI0_G5, FN_SD2_DAT1_B, FN_VI1_DATA7, FN_DU1_DR7, 2578 + 0, FN_HCTS1_B, 0, 0, 2579 + /* IP9_2_0 [3] */ 2580 + FN_VI0_G4, FN_SD2_DAT0_B, FN_VI1_DATA6, FN_DU1_DR6, 2581 + 0, FN_HRTS1_B, 0, 0, 2582 + } 2583 + }, 2584 + { PINMUX_CFG_REG_VAR("IPSR10", 0xfffc0048, 32, 2585 + 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 4, 3, 3, 3) { 2586 + 2587 + /* IP10_31 [1] */ 2588 + 0, 0, 2589 + /* IP10_30 [1] */ 2590 + 0, 0, 2591 + /* IP10_29 [1] */ 2592 + 0, 0, 2593 + /* IP10_28 [1] */ 2594 + 0, 0, 2595 + /* IP10_27 [1] */ 2596 + 0, 0, 2597 + /* IP10_26 [1] */ 2598 + 0, 0, 2599 + /* IP10_25 [1] */ 2600 + 0, 0, 2601 + /* IP10_24_22 [3] */ 2602 + FN_SD2_WP_A, FN_VI1_DATA15, FN_EX_WAIT2_B, FN_DACK0_B, 2603 + FN_HSPI_TX2_B, FN_CAN_CLK_C, 0, 0, 2604 + /* IP10_21_19 [3] */ 2605 + FN_SD2_CD_A, FN_VI1_DATA14, FN_EX_WAIT1_B, FN_DREQ0_B, 2606 + FN_HSPI_RX2_B, FN_REMOCON_A, 0, 0, 2607 + /* IP10_18_16 [3] */ 2608 + FN_SD2_DAT3_A, FN_VI1_DATA13, FN_DACK2_B, FN_ATAG1, 2609 + FN_HSPI_CS2_B, FN_GPSIN_B, 0, 0, 2610 + /* IP10_15_13 [3] */ 2611 + FN_SD2_DAT2_A, FN_VI1_DATA12, FN_DREQ2_B, FN_ATADIR1, 2612 + FN_HSPI_CLK2_B, FN_GPSCLK_B, 0, 0, 2613 + /* IP10_12_9 [4] */ 2614 + FN_SD2_DAT1_A, FN_DU1_CDE, FN_ATACS11, FN_DACK1_B, 2615 + FN_ETH_MAGIC, FN_CAN1_TX_A, 0, FN_PWM6, 2616 + 0, 0, 0, 0, 2617 + 0, 0, 0, 0, 2618 + /* IP10_8_6 [3] */ 2619 + FN_SD2_DAT0_A, FN_DU1_DISP, FN_ATACS01, FN_DREQ1_B, 2620 + FN_ETH_LINK, FN_CAN1_RX_A, 0, 0, 2621 + /* IP10_5_3 [3] */ 2622 + FN_SD2_CMD_A, FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, 2623 + FN_ATAWR1, FN_ETH_MDIO, 2624 + FN_SCL1_B, 0, 2625 + 0, 0, 2626 + /* IP10_2_0 [3] */ 2627 + FN_SD2_CLK_A, FN_DU1_EXVSYNC_DU1_VSYNC, 2628 + FN_ATARD1, FN_ETH_MDC, 2629 + FN_SDA1_B, 0, 2630 + 0, 0, 2631 + } 2632 + }, 2633 + { PINMUX_CFG_REG_VAR("MOD_SEL0", 0xfffc0050, 32, 2634 + 1, 1, 2, 2, 3, 2, 2, 1, 1, 1, 1, 2, 2635 + 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1) { 2636 + 2637 + /* SEL 31 [1] */ 2638 + 0, 0, 2639 + /* SEL_30 (SCIF5) [1] */ 2640 + FN_SEL_SCIF5_A, FN_SEL_SCIF5_B, 2641 + /* SEL_29_28 (SCIF4) [2] */ 2642 + FN_SEL_SCIF4_A, FN_SEL_SCIF4_B, 2643 + FN_SEL_SCIF4_C, 0, 2644 + /* SEL_27_26 (SCIF3) [2] */ 2645 + FN_SEL_SCIF3_A, FN_SEL_SCIF3_B, 2646 + FN_SEL_SCIF3_C, FN_SEL_SCIF3_D, 2647 + /* SEL_25_23 (SCIF2) [3] */ 2648 + FN_SEL_SCIF2_A, FN_SEL_SCIF2_B, 2649 + FN_SEL_SCIF2_C, FN_SEL_SCIF2_D, 2650 + FN_SEL_SCIF2_E, 0, 2651 + 0, 0, 2652 + /* SEL_22_21 (SCIF1) [2] */ 2653 + FN_SEL_SCIF1_A, FN_SEL_SCIF1_B, 2654 + FN_SEL_SCIF1_C, FN_SEL_SCIF1_D, 2655 + /* SEL_20_19 (SCIF0) [2] */ 2656 + FN_SEL_SCIF0_A, FN_SEL_SCIF0_B, 2657 + FN_SEL_SCIF0_C, FN_SEL_SCIF0_D, 2658 + /* SEL_18 [1] */ 2659 + 0, 0, 2660 + /* SEL_17 (SSI2) [1] */ 2661 + FN_SEL_SSI2_A, FN_SEL_SSI2_B, 2662 + /* SEL_16 (SSI1) [1] */ 2663 + FN_SEL_SSI1_A, FN_SEL_SSI1_B, 2664 + /* SEL_15 (VI1) [1] */ 2665 + FN_SEL_VI1_A, FN_SEL_VI1_B, 2666 + /* SEL_14_13 (VI0) [2] */ 2667 + FN_SEL_VI0_A, FN_SEL_VI0_B, 2668 + FN_SEL_VI0_C, FN_SEL_VI0_D, 2669 + /* SEL_12 [1] */ 2670 + 0, 0, 2671 + /* SEL_11 (SD2) [1] */ 2672 + FN_SEL_SD2_A, FN_SEL_SD2_B, 2673 + /* SEL_10 (SD1) [1] */ 2674 + FN_SEL_SD1_A, FN_SEL_SD1_B, 2675 + /* SEL_9 (IRQ3) [1] */ 2676 + FN_SEL_IRQ3_A, FN_SEL_IRQ3_B, 2677 + /* SEL_8_7 (IRQ2) [2] */ 2678 + FN_SEL_IRQ2_A, FN_SEL_IRQ2_B, 2679 + FN_SEL_IRQ2_C, 0, 2680 + /* SEL_6 (IRQ1) [1] */ 2681 + FN_SEL_IRQ1_A, FN_SEL_IRQ1_B, 2682 + /* SEL_5 [1] */ 2683 + 0, 0, 2684 + /* SEL_4 (DREQ2) [1] */ 2685 + FN_SEL_DREQ2_A, FN_SEL_DREQ2_B, 2686 + /* SEL_3 (DREQ1) [1] */ 2687 + FN_SEL_DREQ1_A, FN_SEL_DREQ1_B, 2688 + /* SEL_2 (DREQ0) [1] */ 2689 + FN_SEL_DREQ0_A, FN_SEL_DREQ0_B, 2690 + /* SEL_1 (WAIT2) [1] */ 2691 + FN_SEL_WAIT2_A, FN_SEL_WAIT2_B, 2692 + /* SEL_0 (WAIT1) [1] */ 2693 + FN_SEL_WAIT1_A, FN_SEL_WAIT1_B, 2694 + } 2695 + }, 2696 + { PINMUX_CFG_REG_VAR("MOD_SEL1", 0xfffc0054, 32, 2697 + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2698 + 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1) { 2699 + 2700 + /* SEL_31 [1] */ 2701 + 0, 0, 2702 + /* SEL_30 [1] */ 2703 + 0, 0, 2704 + /* SEL_29 [1] */ 2705 + 0, 0, 2706 + /* SEL_28 [1] */ 2707 + 0, 0, 2708 + /* SEL_27 (CAN1) [1] */ 2709 + FN_SEL_CAN1_A, FN_SEL_CAN1_B, 2710 + /* SEL_26 (CAN0) [1] */ 2711 + FN_SEL_CAN0_A, FN_SEL_CAN0_B, 2712 + /* SEL_25_24 (CANCLK) [2] */ 2713 + FN_SEL_CANCLK_A, FN_SEL_CANCLK_B, 2714 + FN_SEL_CANCLK_C, FN_SEL_CANCLK_D, 2715 + /* SEL_23 (HSCIF1) [1] */ 2716 + FN_SEL_HSCIF1_A, FN_SEL_HSCIF1_B, 2717 + /* SEL_22 (HSCIF0) [1] */ 2718 + FN_SEL_HSCIF0_A, FN_SEL_HSCIF0_B, 2719 + /* SEL_21 [1] */ 2720 + 0, 0, 2721 + /* SEL_20 [1] */ 2722 + 0, 0, 2723 + /* SEL_19 [1] */ 2724 + 0, 0, 2725 + /* SEL_18 [1] */ 2726 + 0, 0, 2727 + /* SEL_17 [1] */ 2728 + 0, 0, 2729 + /* SEL_16 [1] */ 2730 + 0, 0, 2731 + /* SEL_15 [1] */ 2732 + 0, 0, 2733 + /* SEL_14_13 (REMOCON) [2] */ 2734 + FN_SEL_REMOCON_A, FN_SEL_REMOCON_B, 2735 + FN_SEL_REMOCON_C, 0, 2736 + /* SEL_12_11 (FM) [2] */ 2737 + FN_SEL_FM_A, FN_SEL_FM_B, 2738 + FN_SEL_FM_C, FN_SEL_FM_D, 2739 + /* SEL_10_9 (GPS) [2] */ 2740 + FN_SEL_GPS_A, FN_SEL_GPS_B, 2741 + FN_SEL_GPS_C, 0, 2742 + /* SEL_8 (TSIF0) [1] */ 2743 + FN_SEL_TSIF0_A, FN_SEL_TSIF0_B, 2744 + /* SEL_7 (HSPI2) [1] */ 2745 + FN_SEL_HSPI2_A, FN_SEL_HSPI2_B, 2746 + /* SEL_6 (HSPI1) [1] */ 2747 + FN_SEL_HSPI1_A, FN_SEL_HSPI1_B, 2748 + /* SEL_5 (HSPI0) [1] */ 2749 + FN_SEL_HSPI0_A, FN_SEL_HSPI0_B, 2750 + /* SEL_4_3 (I2C3) [2] */ 2751 + FN_SEL_I2C3_A, FN_SEL_I2C3_B, 2752 + FN_SEL_I2C3_C, 0, 2753 + /* SEL_2_1 (I2C2) [2] */ 2754 + FN_SEL_I2C2_A, FN_SEL_I2C2_B, 2755 + FN_SEL_I2C2_C, 0, 2756 + /* SEL_0 (I2C1) [1] */ 2757 + FN_SEL_I2C1_A, FN_SEL_I2C1_B, 2758 + } 2759 + }, 2760 + { }, 2761 + }; 2762 + 2763 + const struct sh_pfc_soc_info r8a7778_pinmux_info = { 2764 + .name = "r8a7778_pfc", 2765 + 2766 + .unlock_reg = 0xfffc0000, /* PMMR */ 2767 + 2768 + .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 2769 + 2770 + .pins = pinmux_pins, 2771 + .nr_pins = ARRAY_SIZE(pinmux_pins), 2772 + 2773 + .groups = pinmux_groups, 2774 + .nr_groups = ARRAY_SIZE(pinmux_groups), 2775 + 2776 + .functions = pinmux_functions, 2777 + .nr_functions = ARRAY_SIZE(pinmux_functions), 2778 + 2779 + .cfg_regs = pinmux_config_regs, 2780 + 2781 + .gpio_data = pinmux_data, 2782 + .gpio_data_size = ARRAY_SIZE(pinmux_data), 2783 + };
+387 -139
drivers/pinctrl/sh-pfc/pfc-r8a7779.c
··· 1 1 /* 2 2 * r8a7779 processor support - PFC hardware block 3 3 * 4 - * Copyright (C) 2011 Renesas Solutions Corp. 4 + * Copyright (C) 2011, 2013 Renesas Solutions Corp. 5 5 * Copyright (C) 2011 Magnus Damm 6 + * Copyright (C) 2013 Cogent Embedded, Inc. 6 7 * 7 8 * This program is free software; you can redistribute it and/or modify 8 9 * it under the terms of the GNU General Public License as published by ··· 20 19 */ 21 20 22 21 #include <linux/kernel.h> 22 + #include <linux/platform_data/gpio-rcar.h> 23 23 24 24 #include "sh_pfc.h" 25 25 ··· 81 79 #define _GP_PORT_ALL(bank, pin, name, sfx) name##_##sfx 82 80 83 81 #define _GP_GPIO(bank, pin, _name, sfx) \ 84 - [(bank * 32) + pin] = { \ 82 + [RCAR_GP_PIN(bank, pin)] = { \ 85 83 .name = __stringify(_name), \ 86 84 .enum_id = _name##_DATA, \ 87 85 } ··· 1474 1472 /* - DU0 -------------------------------------------------------------------- */ 1475 1473 static const unsigned int du0_rgb666_pins[] = { 1476 1474 /* R[7:2], G[7:2], B[7:2] */ 1477 - 188, 187, 186, 185, 184, 183, 1478 - 194, 193, 192, 191, 190, 189, 1479 - 200, 199, 198, 197, 196, 195, 1475 + RCAR_GP_PIN(5, 28), RCAR_GP_PIN(5, 27), RCAR_GP_PIN(5, 26), 1476 + RCAR_GP_PIN(5, 25), RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 23), 1477 + RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 0), 1478 + RCAR_GP_PIN(5, 31), RCAR_GP_PIN(5, 30), RCAR_GP_PIN(5, 29), 1479 + RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 7), RCAR_GP_PIN(6, 6), 1480 + RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 3), 1480 1481 }; 1481 1482 static const unsigned int du0_rgb666_mux[] = { 1482 1483 DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK, ··· 1491 1486 }; 1492 1487 static const unsigned int du0_rgb888_pins[] = { 1493 1488 /* R[7:0], G[7:0], B[7:0] */ 1494 - 188, 187, 186, 185, 184, 183, 24, 23, 1495 - 194, 193, 192, 191, 190, 189, 26, 25, 1496 - 200, 199, 198, 197, 196, 195, 28, 27, 1489 + RCAR_GP_PIN(5, 28), RCAR_GP_PIN(5, 27), RCAR_GP_PIN(5, 26), 1490 + RCAR_GP_PIN(5, 25), RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 23), 1491 + RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 23), RCAR_GP_PIN(6, 2), 1492 + RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 0), RCAR_GP_PIN(5, 31), 1493 + RCAR_GP_PIN(5, 30), RCAR_GP_PIN(5, 29), RCAR_GP_PIN(0, 26), 1494 + RCAR_GP_PIN(0, 25), RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 7), 1495 + RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 4), 1496 + RCAR_GP_PIN(6, 3), RCAR_GP_PIN(0, 28), RCAR_GP_PIN(0, 27), 1497 1497 }; 1498 1498 static const unsigned int du0_rgb888_mux[] = { 1499 1499 DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK, ··· 1510 1500 }; 1511 1501 static const unsigned int du0_clk_in_pins[] = { 1512 1502 /* CLKIN */ 1513 - 29, 1503 + RCAR_GP_PIN(0, 29), 1514 1504 }; 1515 1505 static const unsigned int du0_clk_in_mux[] = { 1516 1506 DU0_DOTCLKIN_MARK, 1517 1507 }; 1518 1508 static const unsigned int du0_clk_out_0_pins[] = { 1519 1509 /* CLKOUT */ 1520 - 180, 1510 + RCAR_GP_PIN(5, 20), 1521 1511 }; 1522 1512 static const unsigned int du0_clk_out_0_mux[] = { 1523 1513 DU0_DOTCLKOUT0_MARK, 1524 1514 }; 1525 1515 static const unsigned int du0_clk_out_1_pins[] = { 1526 1516 /* CLKOUT */ 1527 - 30, 1517 + RCAR_GP_PIN(0, 30), 1528 1518 }; 1529 1519 static const unsigned int du0_clk_out_1_mux[] = { 1530 1520 DU0_DOTCLKOUT1_MARK, 1531 1521 }; 1532 1522 static const unsigned int du0_sync_0_pins[] = { 1533 1523 /* VSYNC, HSYNC, DISP */ 1534 - 182, 181, 31, 1524 + RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 21), RCAR_GP_PIN(0, 31), 1535 1525 }; 1536 1526 static const unsigned int du0_sync_0_mux[] = { 1537 1527 DU0_EXHSYNC_DU0_HSYNC_MARK, DU0_EXVSYNC_DU0_VSYNC_MARK, ··· 1539 1529 }; 1540 1530 static const unsigned int du0_sync_1_pins[] = { 1541 1531 /* VSYNC, HSYNC, DISP */ 1542 - 182, 181, 32, 1532 + RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 21), RCAR_GP_PIN(1, 0), 1543 1533 }; 1544 1534 static const unsigned int du0_sync_1_mux[] = { 1545 1535 DU0_EXHSYNC_DU0_HSYNC_MARK, DU0_EXVSYNC_DU0_VSYNC_MARK, ··· 1547 1537 }; 1548 1538 static const unsigned int du0_oddf_pins[] = { 1549 1539 /* ODDF */ 1550 - 31, 1540 + RCAR_GP_PIN(0, 31), 1551 1541 }; 1552 1542 static const unsigned int du0_oddf_mux[] = { 1553 1543 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK 1554 1544 }; 1555 1545 static const unsigned int du0_cde_pins[] = { 1556 1546 /* CDE */ 1557 - 33, 1547 + RCAR_GP_PIN(1, 1), 1558 1548 }; 1559 1549 static const unsigned int du0_cde_mux[] = { 1560 1550 DU0_CDE_MARK ··· 1562 1552 /* - DU1 -------------------------------------------------------------------- */ 1563 1553 static const unsigned int du1_rgb666_pins[] = { 1564 1554 /* R[7:2], G[7:2], B[7:2] */ 1565 - 41, 40, 39, 38, 37, 36, 1566 - 49, 48, 47, 46, 45, 44, 1567 - 57, 56, 55, 54, 53, 52, 1555 + RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 7), 1556 + RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 4), 1557 + RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 15), 1558 + RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 12), 1559 + RCAR_GP_PIN(1, 25), RCAR_GP_PIN(1, 24), RCAR_GP_PIN(1, 23), 1560 + RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 20), 1568 1561 }; 1569 1562 static const unsigned int du1_rgb666_mux[] = { 1570 1563 DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK, ··· 1579 1566 }; 1580 1567 static const unsigned int du1_rgb888_pins[] = { 1581 1568 /* R[7:0], G[7:0], B[7:0] */ 1582 - 41, 40, 39, 38, 37, 36, 35, 34, 1583 - 49, 48, 47, 46, 45, 44, 43, 32, 1584 - 57, 56, 55, 54, 53, 52, 51, 50, 1569 + RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 7), 1570 + RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 4), 1571 + RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 17), 1572 + RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), 1573 + RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 11), 1574 + RCAR_GP_PIN(1, 0), RCAR_GP_PIN(1, 25), RCAR_GP_PIN(1, 24), 1575 + RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21), 1576 + RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 1585 1577 }; 1586 1578 static const unsigned int du1_rgb888_mux[] = { 1587 1579 DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK, ··· 1598 1580 }; 1599 1581 static const unsigned int du1_clk_in_pins[] = { 1600 1582 /* CLKIN */ 1601 - 58, 1583 + RCAR_GP_PIN(1, 26), 1602 1584 }; 1603 1585 static const unsigned int du1_clk_in_mux[] = { 1604 1586 DU1_DOTCLKIN_MARK, 1605 1587 }; 1606 1588 static const unsigned int du1_clk_out_pins[] = { 1607 1589 /* CLKOUT */ 1608 - 59, 1590 + RCAR_GP_PIN(1, 27), 1609 1591 }; 1610 1592 static const unsigned int du1_clk_out_mux[] = { 1611 1593 DU1_DOTCLKOUT_MARK, 1612 1594 }; 1613 1595 static const unsigned int du1_sync_0_pins[] = { 1614 1596 /* VSYNC, HSYNC, DISP */ 1615 - 61, 60, 62, 1597 + RCAR_GP_PIN(1, 29), RCAR_GP_PIN(1, 28), RCAR_GP_PIN(1, 30), 1616 1598 }; 1617 1599 static const unsigned int du1_sync_0_mux[] = { 1618 1600 DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK, ··· 1620 1602 }; 1621 1603 static const unsigned int du1_sync_1_pins[] = { 1622 1604 /* VSYNC, HSYNC, DISP */ 1623 - 61, 60, 63, 1605 + RCAR_GP_PIN(1, 29), RCAR_GP_PIN(1, 28), RCAR_GP_PIN(1, 31), 1624 1606 }; 1625 1607 static const unsigned int du1_sync_1_mux[] = { 1626 1608 DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK, ··· 1628 1610 }; 1629 1611 static const unsigned int du1_oddf_pins[] = { 1630 1612 /* ODDF */ 1631 - 62, 1613 + RCAR_GP_PIN(1, 30), 1632 1614 }; 1633 1615 static const unsigned int du1_oddf_mux[] = { 1634 1616 DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK 1635 1617 }; 1636 1618 static const unsigned int du1_cde_pins[] = { 1637 1619 /* CDE */ 1638 - 64, 1620 + RCAR_GP_PIN(2, 0), 1639 1621 }; 1640 1622 static const unsigned int du1_cde_mux[] = { 1641 1623 DU1_CDE_MARK 1642 1624 }; 1625 + /* - Ether ------------------------------------------------------------------ */ 1626 + static const unsigned int ether_rmii_pins[] = { 1627 + /* 1628 + * ETH_TXD0, ETH_TXD1, ETH_TX_EN, ETH_REFCLK, 1629 + * ETH_RXD0, ETH_RXD1, ETH_CRS_DV, ETH_RX_ER, 1630 + * ETH_MDIO, ETH_MDC 1631 + */ 1632 + RCAR_GP_PIN(2, 27), RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 18), 1633 + RCAR_GP_PIN(2, 26), 1634 + RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 17), 1635 + RCAR_GP_PIN(2, 19), 1636 + RCAR_GP_PIN(2, 29), RCAR_GP_PIN(2, 28), 1637 + }; 1638 + static const unsigned int ether_rmii_mux[] = { 1639 + ETH_TXD0_MARK, ETH_TXD1_MARK, ETH_TX_EN_MARK, ETH_REFCLK_MARK, 1640 + ETH_RXD0_MARK, ETH_RXD1_MARK, ETH_CRS_DV_MARK, ETH_RX_ER_MARK, 1641 + ETH_MDIO_MARK, ETH_MDC_MARK, 1642 + }; 1643 + static const unsigned int ether_link_pins[] = { 1644 + /* ETH_LINK */ 1645 + RCAR_GP_PIN(2, 24), 1646 + }; 1647 + static const unsigned int ether_link_mux[] = { 1648 + ETH_LINK_MARK, 1649 + }; 1650 + static const unsigned int ether_magic_pins[] = { 1651 + /* ETH_MAGIC */ 1652 + RCAR_GP_PIN(2, 25), 1653 + }; 1654 + static const unsigned int ether_magic_mux[] = { 1655 + ETH_MAGIC_MARK, 1656 + }; 1643 1657 /* - HSPI0 ------------------------------------------------------------------ */ 1644 1658 static const unsigned int hspi0_pins[] = { 1645 1659 /* CLK, CS, RX, TX */ 1646 - 150, 151, 153, 152, 1660 + RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 25), 1661 + RCAR_GP_PIN(4, 24), 1647 1662 }; 1648 1663 static const unsigned int hspi0_mux[] = { 1649 1664 HSPI_CLK0_MARK, HSPI_CS0_MARK, HSPI_RX0_MARK, HSPI_TX0_MARK, ··· 1684 1633 /* - HSPI1 ------------------------------------------------------------------ */ 1685 1634 static const unsigned int hspi1_pins[] = { 1686 1635 /* CLK, CS, RX, TX */ 1687 - 63, 58, 64, 62, 1636 + RCAR_GP_PIN(1, 31), RCAR_GP_PIN(1, 26), RCAR_GP_PIN(2, 0), 1637 + RCAR_GP_PIN(1, 30), 1688 1638 }; 1689 1639 static const unsigned int hspi1_mux[] = { 1690 1640 HSPI_CLK1_MARK, HSPI_CS1_MARK, HSPI_RX1_MARK, HSPI_TX1_MARK, 1691 1641 }; 1692 1642 static const unsigned int hspi1_b_pins[] = { 1693 1643 /* CLK, CS, RX, TX */ 1694 - 90, 91, 93, 92, 1644 + RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 27), RCAR_GP_PIN(2, 29), 1645 + RCAR_GP_PIN(2, 28), 1695 1646 }; 1696 1647 static const unsigned int hspi1_b_mux[] = { 1697 1648 HSPI_CLK1_B_MARK, HSPI_CS1_B_MARK, HSPI_RX1_B_MARK, HSPI_TX1_B_MARK, 1698 1649 }; 1699 1650 static const unsigned int hspi1_c_pins[] = { 1700 1651 /* CLK, CS, RX, TX */ 1701 - 141, 142, 144, 143, 1652 + RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 16), 1653 + RCAR_GP_PIN(4, 15), 1702 1654 }; 1703 1655 static const unsigned int hspi1_c_mux[] = { 1704 1656 HSPI_CLK1_C_MARK, HSPI_CS1_C_MARK, HSPI_RX1_C_MARK, HSPI_TX1_C_MARK, 1705 1657 }; 1706 1658 static const unsigned int hspi1_d_pins[] = { 1707 1659 /* CLK, CS, RX, TX */ 1708 - 101, 102, 104, 103, 1660 + RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 8), 1661 + RCAR_GP_PIN(3, 7), 1709 1662 }; 1710 1663 static const unsigned int hspi1_d_mux[] = { 1711 1664 HSPI_CLK1_D_MARK, HSPI_CS1_D_MARK, HSPI_RX1_D_MARK, HSPI_TX1_D_MARK, ··· 1717 1662 /* - HSPI2 ------------------------------------------------------------------ */ 1718 1663 static const unsigned int hspi2_pins[] = { 1719 1664 /* CLK, CS, RX, TX */ 1720 - 9, 10, 11, 14, 1665 + RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 11), 1666 + RCAR_GP_PIN(0, 14), 1721 1667 }; 1722 1668 static const unsigned int hspi2_mux[] = { 1723 1669 HSPI_CLK2_MARK, HSPI_CS2_MARK, HSPI_RX2_MARK, HSPI_TX2_MARK, 1724 1670 }; 1725 1671 static const unsigned int hspi2_b_pins[] = { 1726 1672 /* CLK, CS, RX, TX */ 1727 - 7, 13, 8, 6, 1673 + RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 8), 1674 + RCAR_GP_PIN(0, 6), 1728 1675 }; 1729 1676 static const unsigned int hspi2_b_mux[] = { 1730 1677 HSPI_CLK2_B_MARK, HSPI_CS2_B_MARK, HSPI_RX2_B_MARK, HSPI_TX2_B_MARK, ··· 1734 1677 /* - INTC ------------------------------------------------------------------- */ 1735 1678 static const unsigned int intc_irq0_pins[] = { 1736 1679 /* IRQ */ 1737 - 78, 1680 + RCAR_GP_PIN(2, 14), 1738 1681 }; 1739 1682 static const unsigned int intc_irq0_mux[] = { 1740 1683 IRQ0_MARK, 1741 1684 }; 1742 1685 static const unsigned int intc_irq0_b_pins[] = { 1743 1686 /* IRQ */ 1744 - 141, 1687 + RCAR_GP_PIN(4, 13), 1745 1688 }; 1746 1689 static const unsigned int intc_irq0_b_mux[] = { 1747 1690 IRQ0_B_MARK, 1748 1691 }; 1749 1692 static const unsigned int intc_irq1_pins[] = { 1750 1693 /* IRQ */ 1751 - 79, 1694 + RCAR_GP_PIN(2, 15), 1752 1695 }; 1753 1696 static const unsigned int intc_irq1_mux[] = { 1754 1697 IRQ1_MARK, 1755 1698 }; 1756 1699 static const unsigned int intc_irq1_b_pins[] = { 1757 1700 /* IRQ */ 1758 - 142, 1701 + RCAR_GP_PIN(4, 14), 1759 1702 }; 1760 1703 static const unsigned int intc_irq1_b_mux[] = { 1761 1704 IRQ1_B_MARK, 1762 1705 }; 1763 1706 static const unsigned int intc_irq2_pins[] = { 1764 1707 /* IRQ */ 1765 - 88, 1708 + RCAR_GP_PIN(2, 24), 1766 1709 }; 1767 1710 static const unsigned int intc_irq2_mux[] = { 1768 1711 IRQ2_MARK, 1769 1712 }; 1770 1713 static const unsigned int intc_irq2_b_pins[] = { 1771 1714 /* IRQ */ 1772 - 143, 1715 + RCAR_GP_PIN(4, 15), 1773 1716 }; 1774 1717 static const unsigned int intc_irq2_b_mux[] = { 1775 1718 IRQ2_B_MARK, 1776 1719 }; 1777 1720 static const unsigned int intc_irq3_pins[] = { 1778 1721 /* IRQ */ 1779 - 89, 1722 + RCAR_GP_PIN(2, 25), 1780 1723 }; 1781 1724 static const unsigned int intc_irq3_mux[] = { 1782 1725 IRQ3_MARK, 1783 1726 }; 1784 1727 static const unsigned int intc_irq3_b_pins[] = { 1785 1728 /* IRQ */ 1786 - 144, 1729 + RCAR_GP_PIN(4, 16), 1787 1730 }; 1788 1731 static const unsigned int intc_irq3_b_mux[] = { 1789 1732 IRQ3_B_MARK, ··· 1791 1734 /* - LSBC ------------------------------------------------------------------- */ 1792 1735 static const unsigned int lbsc_cs0_pins[] = { 1793 1736 /* CS */ 1794 - 13, 1737 + RCAR_GP_PIN(0, 13), 1795 1738 }; 1796 1739 static const unsigned int lbsc_cs0_mux[] = { 1797 1740 CS0_MARK, 1798 1741 }; 1799 1742 static const unsigned int lbsc_cs1_pins[] = { 1800 1743 /* CS */ 1801 - 14, 1744 + RCAR_GP_PIN(0, 14), 1802 1745 }; 1803 1746 static const unsigned int lbsc_cs1_mux[] = { 1804 1747 CS1_A26_MARK, 1805 1748 }; 1806 1749 static const unsigned int lbsc_ex_cs0_pins[] = { 1807 1750 /* CS */ 1808 - 15, 1751 + RCAR_GP_PIN(0, 15), 1809 1752 }; 1810 1753 static const unsigned int lbsc_ex_cs0_mux[] = { 1811 1754 EX_CS0_MARK, 1812 1755 }; 1813 1756 static const unsigned int lbsc_ex_cs1_pins[] = { 1814 1757 /* CS */ 1815 - 16, 1758 + RCAR_GP_PIN(0, 16), 1816 1759 }; 1817 1760 static const unsigned int lbsc_ex_cs1_mux[] = { 1818 1761 EX_CS1_MARK, 1819 1762 }; 1820 1763 static const unsigned int lbsc_ex_cs2_pins[] = { 1821 1764 /* CS */ 1822 - 17, 1765 + RCAR_GP_PIN(0, 17), 1823 1766 }; 1824 1767 static const unsigned int lbsc_ex_cs2_mux[] = { 1825 1768 EX_CS2_MARK, 1826 1769 }; 1827 1770 static const unsigned int lbsc_ex_cs3_pins[] = { 1828 1771 /* CS */ 1829 - 18, 1772 + RCAR_GP_PIN(0, 18), 1830 1773 }; 1831 1774 static const unsigned int lbsc_ex_cs3_mux[] = { 1832 1775 EX_CS3_MARK, 1833 1776 }; 1834 1777 static const unsigned int lbsc_ex_cs4_pins[] = { 1835 1778 /* CS */ 1836 - 19, 1779 + RCAR_GP_PIN(0, 19), 1837 1780 }; 1838 1781 static const unsigned int lbsc_ex_cs4_mux[] = { 1839 1782 EX_CS4_MARK, 1840 1783 }; 1841 1784 static const unsigned int lbsc_ex_cs5_pins[] = { 1842 1785 /* CS */ 1843 - 20, 1786 + RCAR_GP_PIN(0, 20), 1844 1787 }; 1845 1788 static const unsigned int lbsc_ex_cs5_mux[] = { 1846 1789 EX_CS5_MARK, ··· 1848 1791 /* - MMCIF ------------------------------------------------------------------ */ 1849 1792 static const unsigned int mmc0_data1_pins[] = { 1850 1793 /* D[0] */ 1851 - 19, 1794 + RCAR_GP_PIN(0, 19), 1852 1795 }; 1853 1796 static const unsigned int mmc0_data1_mux[] = { 1854 1797 MMC0_D0_MARK, 1855 1798 }; 1856 1799 static const unsigned int mmc0_data4_pins[] = { 1857 1800 /* D[0:3] */ 1858 - 19, 20, 21, 2, 1801 + RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 21), 1802 + RCAR_GP_PIN(0, 2), 1859 1803 }; 1860 1804 static const unsigned int mmc0_data4_mux[] = { 1861 1805 MMC0_D0_MARK, MMC0_D1_MARK, MMC0_D2_MARK, MMC0_D3_MARK, 1862 1806 }; 1863 1807 static const unsigned int mmc0_data8_pins[] = { 1864 1808 /* D[0:7] */ 1865 - 19, 20, 21, 2, 10, 11, 15, 16, 1809 + RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 21), 1810 + RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 11), 1811 + RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 16), 1866 1812 }; 1867 1813 static const unsigned int mmc0_data8_mux[] = { 1868 1814 MMC0_D0_MARK, MMC0_D1_MARK, MMC0_D2_MARK, MMC0_D3_MARK, ··· 1873 1813 }; 1874 1814 static const unsigned int mmc0_ctrl_pins[] = { 1875 1815 /* CMD, CLK */ 1876 - 18, 17, 1816 + RCAR_GP_PIN(0, 18), RCAR_GP_PIN(0, 17), 1877 1817 }; 1878 1818 static const unsigned int mmc0_ctrl_mux[] = { 1879 1819 MMC0_CMD_MARK, MMC0_CLK_MARK, 1880 1820 }; 1881 1821 static const unsigned int mmc1_data1_pins[] = { 1882 1822 /* D[0] */ 1883 - 72, 1823 + RCAR_GP_PIN(2, 8), 1884 1824 }; 1885 1825 static const unsigned int mmc1_data1_mux[] = { 1886 1826 MMC1_D0_MARK, 1887 1827 }; 1888 1828 static const unsigned int mmc1_data4_pins[] = { 1889 1829 /* D[0:3] */ 1890 - 72, 73, 74, 75, 1830 + RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 10), 1831 + RCAR_GP_PIN(2, 11), 1891 1832 }; 1892 1833 static const unsigned int mmc1_data4_mux[] = { 1893 1834 MMC1_D0_MARK, MMC1_D1_MARK, MMC1_D2_MARK, MMC1_D3_MARK, 1894 1835 }; 1895 1836 static const unsigned int mmc1_data8_pins[] = { 1896 1837 /* D[0:7] */ 1897 - 72, 73, 74, 75, 76, 77, 80, 81, 1838 + RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 10), 1839 + RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 13), 1840 + RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 17), 1898 1841 }; 1899 1842 static const unsigned int mmc1_data8_mux[] = { 1900 1843 MMC1_D0_MARK, MMC1_D1_MARK, MMC1_D2_MARK, MMC1_D3_MARK, ··· 1905 1842 }; 1906 1843 static const unsigned int mmc1_ctrl_pins[] = { 1907 1844 /* CMD, CLK */ 1908 - 68, 65, 1845 + RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 1), 1909 1846 }; 1910 1847 static const unsigned int mmc1_ctrl_mux[] = { 1911 1848 MMC1_CMD_MARK, MMC1_CLK_MARK, ··· 1913 1850 /* - SCIF0 ------------------------------------------------------------------ */ 1914 1851 static const unsigned int scif0_data_pins[] = { 1915 1852 /* RXD, TXD */ 1916 - 153, 152, 1853 + RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 24), 1917 1854 }; 1918 1855 static const unsigned int scif0_data_mux[] = { 1919 1856 RX0_MARK, TX0_MARK, 1920 1857 }; 1921 1858 static const unsigned int scif0_clk_pins[] = { 1922 1859 /* SCK */ 1923 - 156, 1860 + RCAR_GP_PIN(4, 28), 1924 1861 }; 1925 1862 static const unsigned int scif0_clk_mux[] = { 1926 1863 SCK0_MARK, 1927 1864 }; 1928 1865 static const unsigned int scif0_ctrl_pins[] = { 1929 1866 /* RTS, CTS */ 1930 - 151, 150, 1867 + RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 22), 1931 1868 }; 1932 1869 static const unsigned int scif0_ctrl_mux[] = { 1933 1870 RTS0_TANS_MARK, CTS0_MARK, 1934 1871 }; 1935 1872 static const unsigned int scif0_data_b_pins[] = { 1936 1873 /* RXD, TXD */ 1937 - 20, 19, 1874 + RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 19), 1938 1875 }; 1939 1876 static const unsigned int scif0_data_b_mux[] = { 1940 1877 RX0_B_MARK, TX0_B_MARK, 1941 1878 }; 1942 1879 static const unsigned int scif0_clk_b_pins[] = { 1943 1880 /* SCK */ 1944 - 33, 1881 + RCAR_GP_PIN(1, 1), 1945 1882 }; 1946 1883 static const unsigned int scif0_clk_b_mux[] = { 1947 1884 SCK0_B_MARK, 1948 1885 }; 1949 1886 static const unsigned int scif0_ctrl_b_pins[] = { 1950 1887 /* RTS, CTS */ 1951 - 18, 11, 1888 + RCAR_GP_PIN(0, 18), RCAR_GP_PIN(0, 11), 1952 1889 }; 1953 1890 static const unsigned int scif0_ctrl_b_mux[] = { 1954 1891 RTS0_B_TANS_B_MARK, CTS0_B_MARK, 1955 1892 }; 1956 1893 static const unsigned int scif0_data_c_pins[] = { 1957 1894 /* RXD, TXD */ 1958 - 146, 147, 1895 + RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 19), 1959 1896 }; 1960 1897 static const unsigned int scif0_data_c_mux[] = { 1961 1898 RX0_C_MARK, TX0_C_MARK, 1962 1899 }; 1963 1900 static const unsigned int scif0_clk_c_pins[] = { 1964 1901 /* SCK */ 1965 - 145, 1902 + RCAR_GP_PIN(4, 17), 1966 1903 }; 1967 1904 static const unsigned int scif0_clk_c_mux[] = { 1968 1905 SCK0_C_MARK, 1969 1906 }; 1970 1907 static const unsigned int scif0_ctrl_c_pins[] = { 1971 1908 /* RTS, CTS */ 1972 - 149, 148, 1909 + RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20), 1973 1910 }; 1974 1911 static const unsigned int scif0_ctrl_c_mux[] = { 1975 1912 RTS0_C_TANS_C_MARK, CTS0_C_MARK, 1976 1913 }; 1977 1914 static const unsigned int scif0_data_d_pins[] = { 1978 1915 /* RXD, TXD */ 1979 - 43, 42, 1916 + RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10), 1980 1917 }; 1981 1918 static const unsigned int scif0_data_d_mux[] = { 1982 1919 RX0_D_MARK, TX0_D_MARK, 1983 1920 }; 1984 1921 static const unsigned int scif0_clk_d_pins[] = { 1985 1922 /* SCK */ 1986 - 50, 1923 + RCAR_GP_PIN(1, 18), 1987 1924 }; 1988 1925 static const unsigned int scif0_clk_d_mux[] = { 1989 1926 SCK0_D_MARK, 1990 1927 }; 1991 1928 static const unsigned int scif0_ctrl_d_pins[] = { 1992 1929 /* RTS, CTS */ 1993 - 51, 35, 1930 + RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 3), 1994 1931 }; 1995 1932 static const unsigned int scif0_ctrl_d_mux[] = { 1996 1933 RTS0_D_TANS_D_MARK, CTS0_D_MARK, ··· 1998 1935 /* - SCIF1 ------------------------------------------------------------------ */ 1999 1936 static const unsigned int scif1_data_pins[] = { 2000 1937 /* RXD, TXD */ 2001 - 149, 148, 1938 + RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20), 2002 1939 }; 2003 1940 static const unsigned int scif1_data_mux[] = { 2004 1941 RX1_MARK, TX1_MARK, 2005 1942 }; 2006 1943 static const unsigned int scif1_clk_pins[] = { 2007 1944 /* SCK */ 2008 - 145, 1945 + RCAR_GP_PIN(4, 17), 2009 1946 }; 2010 1947 static const unsigned int scif1_clk_mux[] = { 2011 1948 SCK1_MARK, 2012 1949 }; 2013 1950 static const unsigned int scif1_ctrl_pins[] = { 2014 1951 /* RTS, CTS */ 2015 - 147, 146, 1952 + RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 18), 2016 1953 }; 2017 1954 static const unsigned int scif1_ctrl_mux[] = { 2018 1955 RTS1_TANS_MARK, CTS1_MARK, 2019 1956 }; 2020 1957 static const unsigned int scif1_data_b_pins[] = { 2021 1958 /* RXD, TXD */ 2022 - 117, 114, 1959 + RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 18), 2023 1960 }; 2024 1961 static const unsigned int scif1_data_b_mux[] = { 2025 1962 RX1_B_MARK, TX1_B_MARK, 2026 1963 }; 2027 1964 static const unsigned int scif1_clk_b_pins[] = { 2028 1965 /* SCK */ 2029 - 113, 1966 + RCAR_GP_PIN(3, 17), 2030 1967 }; 2031 1968 static const unsigned int scif1_clk_b_mux[] = { 2032 1969 SCK1_B_MARK, 2033 1970 }; 2034 1971 static const unsigned int scif1_ctrl_b_pins[] = { 2035 1972 /* RTS, CTS */ 2036 - 115, 116, 1973 + RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20), 2037 1974 }; 2038 1975 static const unsigned int scif1_ctrl_b_mux[] = { 2039 1976 RTS1_B_TANS_B_MARK, CTS1_B_MARK, 2040 1977 }; 2041 1978 static const unsigned int scif1_data_c_pins[] = { 2042 1979 /* RXD, TXD */ 2043 - 67, 66, 1980 + RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2), 2044 1981 }; 2045 1982 static const unsigned int scif1_data_c_mux[] = { 2046 1983 RX1_C_MARK, TX1_C_MARK, 2047 1984 }; 2048 1985 static const unsigned int scif1_clk_c_pins[] = { 2049 1986 /* SCK */ 2050 - 86, 1987 + RCAR_GP_PIN(2, 22), 2051 1988 }; 2052 1989 static const unsigned int scif1_clk_c_mux[] = { 2053 1990 SCK1_C_MARK, 2054 1991 }; 2055 1992 static const unsigned int scif1_ctrl_c_pins[] = { 2056 1993 /* RTS, CTS */ 2057 - 69, 68, 1994 + RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4), 2058 1995 }; 2059 1996 static const unsigned int scif1_ctrl_c_mux[] = { 2060 1997 RTS1_C_TANS_C_MARK, CTS1_C_MARK, ··· 2062 1999 /* - SCIF2 ------------------------------------------------------------------ */ 2063 2000 static const unsigned int scif2_data_pins[] = { 2064 2001 /* RXD, TXD */ 2065 - 106, 105, 2002 + RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 9), 2066 2003 }; 2067 2004 static const unsigned int scif2_data_mux[] = { 2068 2005 RX2_MARK, TX2_MARK, 2069 2006 }; 2070 2007 static const unsigned int scif2_clk_pins[] = { 2071 2008 /* SCK */ 2072 - 107, 2009 + RCAR_GP_PIN(3, 11), 2073 2010 }; 2074 2011 static const unsigned int scif2_clk_mux[] = { 2075 2012 SCK2_MARK, 2076 2013 }; 2077 2014 static const unsigned int scif2_data_b_pins[] = { 2078 2015 /* RXD, TXD */ 2079 - 120, 119, 2016 + RCAR_GP_PIN(3, 24), RCAR_GP_PIN(3, 23), 2080 2017 }; 2081 2018 static const unsigned int scif2_data_b_mux[] = { 2082 2019 RX2_B_MARK, TX2_B_MARK, 2083 2020 }; 2084 2021 static const unsigned int scif2_clk_b_pins[] = { 2085 2022 /* SCK */ 2086 - 118, 2023 + RCAR_GP_PIN(3, 22), 2087 2024 }; 2088 2025 static const unsigned int scif2_clk_b_mux[] = { 2089 2026 SCK2_B_MARK, 2090 2027 }; 2091 2028 static const unsigned int scif2_data_c_pins[] = { 2092 2029 /* RXD, TXD */ 2093 - 33, 31, 2030 + RCAR_GP_PIN(1, 1), RCAR_GP_PIN(0, 31), 2094 2031 }; 2095 2032 static const unsigned int scif2_data_c_mux[] = { 2096 2033 RX2_C_MARK, TX2_C_MARK, 2097 2034 }; 2098 2035 static const unsigned int scif2_clk_c_pins[] = { 2099 2036 /* SCK */ 2100 - 32, 2037 + RCAR_GP_PIN(1, 0), 2101 2038 }; 2102 2039 static const unsigned int scif2_clk_c_mux[] = { 2103 2040 SCK2_C_MARK, 2104 2041 }; 2105 2042 static const unsigned int scif2_data_d_pins[] = { 2106 2043 /* RXD, TXD */ 2107 - 64, 62, 2044 + RCAR_GP_PIN(2, 0), RCAR_GP_PIN(1, 30), 2108 2045 }; 2109 2046 static const unsigned int scif2_data_d_mux[] = { 2110 2047 RX2_D_MARK, TX2_D_MARK, 2111 2048 }; 2112 2049 static const unsigned int scif2_clk_d_pins[] = { 2113 2050 /* SCK */ 2114 - 63, 2051 + RCAR_GP_PIN(1, 31), 2115 2052 }; 2116 2053 static const unsigned int scif2_clk_d_mux[] = { 2117 2054 SCK2_D_MARK, 2118 2055 }; 2119 2056 static const unsigned int scif2_data_e_pins[] = { 2120 2057 /* RXD, TXD */ 2121 - 20, 19, 2058 + RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 19), 2122 2059 }; 2123 2060 static const unsigned int scif2_data_e_mux[] = { 2124 2061 RX2_E_MARK, TX2_E_MARK, ··· 2126 2063 /* - SCIF3 ------------------------------------------------------------------ */ 2127 2064 static const unsigned int scif3_data_pins[] = { 2128 2065 /* RXD, TXD */ 2129 - 137, 136, 2066 + RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 8), 2130 2067 }; 2131 2068 static const unsigned int scif3_data_mux[] = { 2132 2069 RX3_IRDA_RX_MARK, TX3_IRDA_TX_MARK, 2133 2070 }; 2134 2071 static const unsigned int scif3_clk_pins[] = { 2135 2072 /* SCK */ 2136 - 135, 2073 + RCAR_GP_PIN(4, 7), 2137 2074 }; 2138 2075 static const unsigned int scif3_clk_mux[] = { 2139 2076 SCK3_MARK, ··· 2141 2078 2142 2079 static const unsigned int scif3_data_b_pins[] = { 2143 2080 /* RXD, TXD */ 2144 - 64, 62, 2081 + RCAR_GP_PIN(2, 0), RCAR_GP_PIN(1, 30), 2145 2082 }; 2146 2083 static const unsigned int scif3_data_b_mux[] = { 2147 2084 RX3_B_IRDA_RX_B_MARK, TX3_B_IRDA_TX_B_MARK, 2148 2085 }; 2149 2086 static const unsigned int scif3_data_c_pins[] = { 2150 2087 /* RXD, TXD */ 2151 - 15, 12, 2088 + RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 12), 2152 2089 }; 2153 2090 static const unsigned int scif3_data_c_mux[] = { 2154 2091 RX3_C_IRDA_RX_C_MARK, TX3C_IRDA_TX_C_MARK, 2155 2092 }; 2156 2093 static const unsigned int scif3_data_d_pins[] = { 2157 2094 /* RXD, TXD */ 2158 - 30, 29, 2095 + RCAR_GP_PIN(0, 30), RCAR_GP_PIN(0, 29), 2159 2096 }; 2160 2097 static const unsigned int scif3_data_d_mux[] = { 2161 2098 RX3_D_IRDA_RX_D_MARK, TX3_D_IRDA_TX_D_MARK, 2162 2099 }; 2163 2100 static const unsigned int scif3_data_e_pins[] = { 2164 2101 /* RXD, TXD */ 2165 - 35, 34, 2102 + RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), 2166 2103 }; 2167 2104 static const unsigned int scif3_data_e_mux[] = { 2168 2105 RX3_E_IRDA_RX_E_MARK, TX3_E_IRDA_TX_E_MARK, 2169 2106 }; 2170 2107 static const unsigned int scif3_clk_e_pins[] = { 2171 2108 /* SCK */ 2172 - 42, 2109 + RCAR_GP_PIN(1, 10), 2173 2110 }; 2174 2111 static const unsigned int scif3_clk_e_mux[] = { 2175 2112 SCK3_E_MARK, ··· 2177 2114 /* - SCIF4 ------------------------------------------------------------------ */ 2178 2115 static const unsigned int scif4_data_pins[] = { 2179 2116 /* RXD, TXD */ 2180 - 123, 122, 2117 + RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 26), 2181 2118 }; 2182 2119 static const unsigned int scif4_data_mux[] = { 2183 2120 RX4_MARK, TX4_MARK, 2184 2121 }; 2185 2122 static const unsigned int scif4_clk_pins[] = { 2186 2123 /* SCK */ 2187 - 121, 2124 + RCAR_GP_PIN(3, 25), 2188 2125 }; 2189 2126 static const unsigned int scif4_clk_mux[] = { 2190 2127 SCK4_MARK, 2191 2128 }; 2192 2129 static const unsigned int scif4_data_b_pins[] = { 2193 2130 /* RXD, TXD */ 2194 - 111, 110, 2131 + RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 14), 2195 2132 }; 2196 2133 static const unsigned int scif4_data_b_mux[] = { 2197 2134 RX4_B_MARK, TX4_B_MARK, 2198 2135 }; 2199 2136 static const unsigned int scif4_clk_b_pins[] = { 2200 2137 /* SCK */ 2201 - 112, 2138 + RCAR_GP_PIN(3, 16), 2202 2139 }; 2203 2140 static const unsigned int scif4_clk_b_mux[] = { 2204 2141 SCK4_B_MARK, 2205 2142 }; 2206 2143 static const unsigned int scif4_data_c_pins[] = { 2207 2144 /* RXD, TXD */ 2208 - 22, 21, 2145 + RCAR_GP_PIN(0, 22), RCAR_GP_PIN(0, 21), 2209 2146 }; 2210 2147 static const unsigned int scif4_data_c_mux[] = { 2211 2148 RX4_C_MARK, TX4_C_MARK, 2212 2149 }; 2213 2150 static const unsigned int scif4_data_d_pins[] = { 2214 2151 /* RXD, TXD */ 2215 - 69, 68, 2152 + RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4), 2216 2153 }; 2217 2154 static const unsigned int scif4_data_d_mux[] = { 2218 2155 RX4_D_MARK, TX4_D_MARK, ··· 2220 2157 /* - SCIF5 ------------------------------------------------------------------ */ 2221 2158 static const unsigned int scif5_data_pins[] = { 2222 2159 /* RXD, TXD */ 2223 - 51, 50, 2160 + RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 2224 2161 }; 2225 2162 static const unsigned int scif5_data_mux[] = { 2226 2163 RX5_MARK, TX5_MARK, 2227 2164 }; 2228 2165 static const unsigned int scif5_clk_pins[] = { 2229 2166 /* SCK */ 2230 - 43, 2167 + RCAR_GP_PIN(1, 11), 2231 2168 }; 2232 2169 static const unsigned int scif5_clk_mux[] = { 2233 2170 SCK5_MARK, 2234 2171 }; 2235 2172 static const unsigned int scif5_data_b_pins[] = { 2236 2173 /* RXD, TXD */ 2237 - 18, 11, 2174 + RCAR_GP_PIN(0, 18), RCAR_GP_PIN(0, 11), 2238 2175 }; 2239 2176 static const unsigned int scif5_data_b_mux[] = { 2240 2177 RX5_B_MARK, TX5_B_MARK, 2241 2178 }; 2242 2179 static const unsigned int scif5_clk_b_pins[] = { 2243 2180 /* SCK */ 2244 - 19, 2181 + RCAR_GP_PIN(0, 19), 2245 2182 }; 2246 2183 static const unsigned int scif5_clk_b_mux[] = { 2247 2184 SCK5_B_MARK, 2248 2185 }; 2249 2186 static const unsigned int scif5_data_c_pins[] = { 2250 2187 /* RXD, TXD */ 2251 - 24, 23, 2188 + RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 23), 2252 2189 }; 2253 2190 static const unsigned int scif5_data_c_mux[] = { 2254 2191 RX5_C_MARK, TX5_C_MARK, 2255 2192 }; 2256 2193 static const unsigned int scif5_clk_c_pins[] = { 2257 2194 /* SCK */ 2258 - 28, 2195 + RCAR_GP_PIN(0, 28), 2259 2196 }; 2260 2197 static const unsigned int scif5_clk_c_mux[] = { 2261 2198 SCK5_C_MARK, 2262 2199 }; 2263 2200 static const unsigned int scif5_data_d_pins[] = { 2264 2201 /* RXD, TXD */ 2265 - 8, 6, 2202 + RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 6), 2266 2203 }; 2267 2204 static const unsigned int scif5_data_d_mux[] = { 2268 2205 RX5_D_MARK, TX5_D_MARK, 2269 2206 }; 2270 2207 static const unsigned int scif5_clk_d_pins[] = { 2271 2208 /* SCK */ 2272 - 7, 2209 + RCAR_GP_PIN(0, 7), 2273 2210 }; 2274 2211 static const unsigned int scif5_clk_d_mux[] = { 2275 2212 SCK5_D_MARK, ··· 2277 2214 /* - SDHI0 ------------------------------------------------------------------ */ 2278 2215 static const unsigned int sdhi0_data1_pins[] = { 2279 2216 /* D0 */ 2280 - 117, 2217 + RCAR_GP_PIN(3, 21), 2281 2218 }; 2282 2219 static const unsigned int sdhi0_data1_mux[] = { 2283 2220 SD0_DAT0_MARK, 2284 2221 }; 2285 2222 static const unsigned int sdhi0_data4_pins[] = { 2286 2223 /* D[0:3] */ 2287 - 117, 118, 119, 120, 2224 + RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 22), RCAR_GP_PIN(3, 23), 2225 + RCAR_GP_PIN(3, 24), 2288 2226 }; 2289 2227 static const unsigned int sdhi0_data4_mux[] = { 2290 2228 SD0_DAT0_MARK, SD0_DAT1_MARK, SD0_DAT2_MARK, SD0_DAT3_MARK, 2291 2229 }; 2292 2230 static const unsigned int sdhi0_ctrl_pins[] = { 2293 2231 /* CMD, CLK */ 2294 - 114, 113, 2232 + RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 17), 2295 2233 }; 2296 2234 static const unsigned int sdhi0_ctrl_mux[] = { 2297 2235 SD0_CMD_MARK, SD0_CLK_MARK, 2298 2236 }; 2299 2237 static const unsigned int sdhi0_cd_pins[] = { 2300 2238 /* CD */ 2301 - 115, 2239 + RCAR_GP_PIN(3, 19), 2302 2240 }; 2303 2241 static const unsigned int sdhi0_cd_mux[] = { 2304 2242 SD0_CD_MARK, 2305 2243 }; 2306 2244 static const unsigned int sdhi0_wp_pins[] = { 2307 2245 /* WP */ 2308 - 116, 2246 + RCAR_GP_PIN(3, 20), 2309 2247 }; 2310 2248 static const unsigned int sdhi0_wp_mux[] = { 2311 2249 SD0_WP_MARK, ··· 2314 2250 /* - SDHI1 ------------------------------------------------------------------ */ 2315 2251 static const unsigned int sdhi1_data1_pins[] = { 2316 2252 /* D0 */ 2317 - 19, 2253 + RCAR_GP_PIN(0, 19), 2318 2254 }; 2319 2255 static const unsigned int sdhi1_data1_mux[] = { 2320 2256 SD1_DAT0_MARK, 2321 2257 }; 2322 2258 static const unsigned int sdhi1_data4_pins[] = { 2323 2259 /* D[0:3] */ 2324 - 19, 20, 21, 2, 2260 + RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 21), 2261 + RCAR_GP_PIN(0, 2), 2325 2262 }; 2326 2263 static const unsigned int sdhi1_data4_mux[] = { 2327 2264 SD1_DAT0_MARK, SD1_DAT1_MARK, SD1_DAT2_MARK, SD1_DAT3_MARK, 2328 2265 }; 2329 2266 static const unsigned int sdhi1_ctrl_pins[] = { 2330 2267 /* CMD, CLK */ 2331 - 18, 17, 2268 + RCAR_GP_PIN(0, 18), RCAR_GP_PIN(0, 17), 2332 2269 }; 2333 2270 static const unsigned int sdhi1_ctrl_mux[] = { 2334 2271 SD1_CMD_MARK, SD1_CLK_MARK, 2335 2272 }; 2336 2273 static const unsigned int sdhi1_cd_pins[] = { 2337 2274 /* CD */ 2338 - 10, 2275 + RCAR_GP_PIN(0, 10), 2339 2276 }; 2340 2277 static const unsigned int sdhi1_cd_mux[] = { 2341 2278 SD1_CD_MARK, 2342 2279 }; 2343 2280 static const unsigned int sdhi1_wp_pins[] = { 2344 2281 /* WP */ 2345 - 11, 2282 + RCAR_GP_PIN(0, 11), 2346 2283 }; 2347 2284 static const unsigned int sdhi1_wp_mux[] = { 2348 2285 SD1_WP_MARK, ··· 2351 2286 /* - SDHI2 ------------------------------------------------------------------ */ 2352 2287 static const unsigned int sdhi2_data1_pins[] = { 2353 2288 /* D0 */ 2354 - 97, 2289 + RCAR_GP_PIN(3, 1), 2355 2290 }; 2356 2291 static const unsigned int sdhi2_data1_mux[] = { 2357 2292 SD2_DAT0_MARK, 2358 2293 }; 2359 2294 static const unsigned int sdhi2_data4_pins[] = { 2360 2295 /* D[0:3] */ 2361 - 97, 98, 99, 100, 2296 + RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 2297 + RCAR_GP_PIN(3, 4), 2362 2298 }; 2363 2299 static const unsigned int sdhi2_data4_mux[] = { 2364 2300 SD2_DAT0_MARK, SD2_DAT1_MARK, SD2_DAT2_MARK, SD2_DAT3_MARK, 2365 2301 }; 2366 2302 static const unsigned int sdhi2_ctrl_pins[] = { 2367 2303 /* CMD, CLK */ 2368 - 102, 101, 2304 + RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 5), 2369 2305 }; 2370 2306 static const unsigned int sdhi2_ctrl_mux[] = { 2371 2307 SD2_CMD_MARK, SD2_CLK_MARK, 2372 2308 }; 2373 2309 static const unsigned int sdhi2_cd_pins[] = { 2374 2310 /* CD */ 2375 - 103, 2311 + RCAR_GP_PIN(3, 7), 2376 2312 }; 2377 2313 static const unsigned int sdhi2_cd_mux[] = { 2378 2314 SD2_CD_MARK, 2379 2315 }; 2380 2316 static const unsigned int sdhi2_wp_pins[] = { 2381 2317 /* WP */ 2382 - 104, 2318 + RCAR_GP_PIN(3, 8), 2383 2319 }; 2384 2320 static const unsigned int sdhi2_wp_mux[] = { 2385 2321 SD2_WP_MARK, ··· 2388 2322 /* - SDHI3 ------------------------------------------------------------------ */ 2389 2323 static const unsigned int sdhi3_data1_pins[] = { 2390 2324 /* D0 */ 2391 - 50, 2325 + RCAR_GP_PIN(1, 18), 2392 2326 }; 2393 2327 static const unsigned int sdhi3_data1_mux[] = { 2394 2328 SD3_DAT0_MARK, 2395 2329 }; 2396 2330 static const unsigned int sdhi3_data4_pins[] = { 2397 2331 /* D[0:3] */ 2398 - 50, 51, 52, 53, 2332 + RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 20), 2333 + RCAR_GP_PIN(1, 21), 2399 2334 }; 2400 2335 static const unsigned int sdhi3_data4_mux[] = { 2401 2336 SD3_DAT0_MARK, SD3_DAT1_MARK, SD3_DAT2_MARK, SD3_DAT3_MARK, 2402 2337 }; 2403 2338 static const unsigned int sdhi3_ctrl_pins[] = { 2404 2339 /* CMD, CLK */ 2405 - 35, 34, 2340 + RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), 2406 2341 }; 2407 2342 static const unsigned int sdhi3_ctrl_mux[] = { 2408 2343 SD3_CMD_MARK, SD3_CLK_MARK, 2409 2344 }; 2410 2345 static const unsigned int sdhi3_cd_pins[] = { 2411 2346 /* CD */ 2412 - 62, 2347 + RCAR_GP_PIN(1, 30), 2413 2348 }; 2414 2349 static const unsigned int sdhi3_cd_mux[] = { 2415 2350 SD3_CD_MARK, 2416 2351 }; 2417 2352 static const unsigned int sdhi3_wp_pins[] = { 2418 2353 /* WP */ 2419 - 64, 2354 + RCAR_GP_PIN(2, 0), 2420 2355 }; 2421 2356 static const unsigned int sdhi3_wp_mux[] = { 2422 2357 SD3_WP_MARK, 2423 2358 }; 2424 2359 /* - USB0 ------------------------------------------------------------------- */ 2425 2360 static const unsigned int usb0_pins[] = { 2426 - /* OVC */ 2427 - 150, 154, 2361 + /* PENC */ 2362 + RCAR_GP_PIN(4, 26), 2428 2363 }; 2429 2364 static const unsigned int usb0_mux[] = { 2430 - USB_OVC0_MARK, USB_PENC0_MARK, 2365 + USB_PENC0_MARK, 2366 + }; 2367 + static const unsigned int usb0_ovc_pins[] = { 2368 + /* USB_OVC */ 2369 + RCAR_GP_PIN(4, 22), 2370 + }; 2371 + static const unsigned int usb0_ovc_mux[] = { 2372 + USB_OVC0_MARK, 2431 2373 }; 2432 2374 /* - USB1 ------------------------------------------------------------------- */ 2433 2375 static const unsigned int usb1_pins[] = { 2434 - /* OVC */ 2435 - 152, 155, 2376 + /* PENC */ 2377 + RCAR_GP_PIN(4, 27), 2436 2378 }; 2437 2379 static const unsigned int usb1_mux[] = { 2438 - USB_OVC1_MARK, USB_PENC1_MARK, 2380 + USB_PENC1_MARK, 2381 + }; 2382 + static const unsigned int usb1_ovc_pins[] = { 2383 + /* USB_OVC */ 2384 + RCAR_GP_PIN(4, 24), 2385 + }; 2386 + static const unsigned int usb1_ovc_mux[] = { 2387 + USB_OVC1_MARK, 2439 2388 }; 2440 2389 /* - USB2 ------------------------------------------------------------------- */ 2441 2390 static const unsigned int usb2_pins[] = { 2442 - /* OVC, PENC */ 2443 - 125, 156, 2391 + /* PENC */ 2392 + RCAR_GP_PIN(4, 28), 2444 2393 }; 2445 2394 static const unsigned int usb2_mux[] = { 2446 - USB_OVC2_MARK, USB_PENC2_MARK, 2395 + USB_PENC2_MARK, 2396 + }; 2397 + static const unsigned int usb2_ovc_pins[] = { 2398 + /* USB_OVC */ 2399 + RCAR_GP_PIN(3, 29), 2400 + }; 2401 + static const unsigned int usb2_ovc_mux[] = { 2402 + USB_OVC2_MARK, 2403 + }; 2404 + /* - VIN0 ------------------------------------------------------------------- */ 2405 + static const unsigned int vin0_data8_pins[] = { 2406 + /* D[0:7] */ 2407 + RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8), 2408 + RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11), 2409 + RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 13), 2410 + }; 2411 + static const unsigned int vin0_data8_mux[] = { 2412 + VI0_DATA0_VI0_B0_MARK, VI0_DATA1_VI0_B1_MARK, VI0_DATA2_VI0_B2_MARK, 2413 + VI0_DATA3_VI0_B3_MARK, VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK, 2414 + VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK, 2415 + }; 2416 + static const unsigned int vin0_clk_pins[] = { 2417 + /* CLK */ 2418 + RCAR_GP_PIN(2, 1), 2419 + }; 2420 + static const unsigned int vin0_clk_mux[] = { 2421 + VI0_CLK_MARK, 2422 + }; 2423 + static const unsigned int vin0_sync_pins[] = { 2424 + /* HSYNC, VSYNC */ 2425 + RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5), 2426 + }; 2427 + static const unsigned int vin0_sync_mux[] = { 2428 + VI0_HSYNC_MARK, VI0_VSYNC_MARK, 2429 + }; 2430 + /* - VIN1 ------------------------------------------------------------------- */ 2431 + static const unsigned int vin1_data8_pins[] = { 2432 + /* D[0:7] */ 2433 + RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 2434 + RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6), 2435 + RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8), 2436 + }; 2437 + static const unsigned int vin1_data8_mux[] = { 2438 + VI1_DATA0_VI1_B0_MARK, VI1_DATA1_VI1_B1_MARK, VI1_DATA2_VI1_B2_MARK, 2439 + VI1_DATA3_VI1_B3_MARK, VI1_DATA4_VI1_B4_MARK, VI1_DATA5_VI1_B5_MARK, 2440 + VI1_DATA6_VI1_B6_MARK, VI1_DATA7_VI1_B7_MARK, 2441 + }; 2442 + static const unsigned int vin1_clk_pins[] = { 2443 + /* CLK */ 2444 + RCAR_GP_PIN(2, 30), 2445 + }; 2446 + static const unsigned int vin1_clk_mux[] = { 2447 + VI1_CLK_MARK, 2448 + }; 2449 + static const unsigned int vin1_sync_pins[] = { 2450 + /* HSYNC, VSYNC */ 2451 + RCAR_GP_PIN(2, 31), RCAR_GP_PIN(3, 0), 2452 + }; 2453 + static const unsigned int vin1_sync_mux[] = { 2454 + VI1_HSYNC_MARK, VI1_VSYNC_MARK, 2455 + }; 2456 + /* - VIN2 ------------------------------------------------------------------- */ 2457 + static const unsigned int vin2_data8_pins[] = { 2458 + /* D[0:7] */ 2459 + RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 10), 2460 + RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19), 2461 + RCAR_GP_PIN(1, 31), RCAR_GP_PIN(2, 0), 2462 + }; 2463 + static const unsigned int vin2_data8_mux[] = { 2464 + VI2_DATA0_VI2_B0_MARK, VI2_DATA1_VI2_B1_MARK, VI2_DATA2_VI2_B2_MARK, 2465 + VI2_DATA3_VI2_B3_MARK, VI2_DATA4_VI2_B4_MARK, VI2_DATA5_VI2_B5_MARK, 2466 + VI2_DATA6_VI2_B6_MARK, VI2_DATA7_VI2_B7_MARK, 2467 + }; 2468 + static const unsigned int vin2_clk_pins[] = { 2469 + /* CLK */ 2470 + RCAR_GP_PIN(1, 30), 2471 + }; 2472 + static const unsigned int vin2_clk_mux[] = { 2473 + VI2_CLK_MARK, 2474 + }; 2475 + static const unsigned int vin2_sync_pins[] = { 2476 + /* HSYNC, VSYNC */ 2477 + RCAR_GP_PIN(1, 28), RCAR_GP_PIN(1, 29), 2478 + }; 2479 + static const unsigned int vin2_sync_mux[] = { 2480 + VI2_HSYNC_MARK, VI2_VSYNC_MARK, 2481 + }; 2482 + /* - VIN3 ------------------------------------------------------------------- */ 2483 + static const unsigned int vin3_data8_pins[] = { 2484 + /* D[0:7] */ 2485 + RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11), 2486 + RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), 2487 + RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16), 2488 + }; 2489 + static const unsigned int vin3_data8_mux[] = { 2490 + VI3_DATA0_MARK, VI3_DATA1_MARK, VI3_DATA2_MARK, 2491 + VI3_DATA3_MARK, VI3_DATA4_MARK, VI3_DATA5_MARK, 2492 + VI3_DATA6_MARK, VI3_DATA7_MARK, 2493 + }; 2494 + static const unsigned int vin3_clk_pins[] = { 2495 + /* CLK */ 2496 + RCAR_GP_PIN(2, 31), 2497 + }; 2498 + static const unsigned int vin3_clk_mux[] = { 2499 + VI3_CLK_MARK, 2500 + }; 2501 + static const unsigned int vin3_sync_pins[] = { 2502 + /* HSYNC, VSYNC */ 2503 + RCAR_GP_PIN(1, 28), RCAR_GP_PIN(1, 29), 2504 + }; 2505 + static const unsigned int vin3_sync_mux[] = { 2506 + VI3_HSYNC_MARK, VI3_VSYNC_MARK, 2447 2507 }; 2448 2508 2449 2509 static const struct sh_pfc_pin_group pinmux_groups[] = { ··· 2590 2398 SH_PFC_PIN_GROUP(du1_sync_1), 2591 2399 SH_PFC_PIN_GROUP(du1_oddf), 2592 2400 SH_PFC_PIN_GROUP(du1_cde), 2401 + SH_PFC_PIN_GROUP(ether_rmii), 2402 + SH_PFC_PIN_GROUP(ether_link), 2403 + SH_PFC_PIN_GROUP(ether_magic), 2593 2404 SH_PFC_PIN_GROUP(hspi0), 2594 2405 SH_PFC_PIN_GROUP(hspi1), 2595 2406 SH_PFC_PIN_GROUP(hspi1_b), ··· 2696 2501 SH_PFC_PIN_GROUP(sdhi3_cd), 2697 2502 SH_PFC_PIN_GROUP(sdhi3_wp), 2698 2503 SH_PFC_PIN_GROUP(usb0), 2504 + SH_PFC_PIN_GROUP(usb0_ovc), 2699 2505 SH_PFC_PIN_GROUP(usb1), 2506 + SH_PFC_PIN_GROUP(usb1_ovc), 2700 2507 SH_PFC_PIN_GROUP(usb2), 2508 + SH_PFC_PIN_GROUP(usb2_ovc), 2509 + SH_PFC_PIN_GROUP(vin0_data8), 2510 + SH_PFC_PIN_GROUP(vin0_clk), 2511 + SH_PFC_PIN_GROUP(vin0_sync), 2512 + SH_PFC_PIN_GROUP(vin1_data8), 2513 + SH_PFC_PIN_GROUP(vin1_clk), 2514 + SH_PFC_PIN_GROUP(vin1_sync), 2515 + SH_PFC_PIN_GROUP(vin2_data8), 2516 + SH_PFC_PIN_GROUP(vin2_clk), 2517 + SH_PFC_PIN_GROUP(vin2_sync), 2518 + SH_PFC_PIN_GROUP(vin3_data8), 2519 + SH_PFC_PIN_GROUP(vin3_clk), 2520 + SH_PFC_PIN_GROUP(vin3_sync), 2701 2521 }; 2702 2522 2703 2523 static const char * const du0_groups[] = { ··· 2736 2526 "du1_sync_1", 2737 2527 "du1_oddf", 2738 2528 "du1_cde", 2529 + }; 2530 + 2531 + static const char * const ether_groups[] = { 2532 + "ether_rmii", 2533 + "ether_link", 2534 + "ether_magic", 2739 2535 }; 2740 2536 2741 2537 static const char * const hspi0_groups[] = { ··· 2899 2683 2900 2684 static const char * const usb0_groups[] = { 2901 2685 "usb0", 2686 + "usb0_ovc", 2902 2687 }; 2903 2688 2904 2689 static const char * const usb1_groups[] = { 2905 2690 "usb1", 2691 + "usb1_ovc", 2906 2692 }; 2907 2693 2908 2694 static const char * const usb2_groups[] = { 2909 2695 "usb2", 2696 + "usb2_ovc", 2697 + }; 2698 + 2699 + static const char * const vin0_groups[] = { 2700 + "vin0_data8", 2701 + "vin0_clk", 2702 + "vin0_sync", 2703 + }; 2704 + 2705 + static const char * const vin1_groups[] = { 2706 + "vin1_data8", 2707 + "vin1_clk", 2708 + "vin1_sync", 2709 + }; 2710 + 2711 + static const char * const vin2_groups[] = { 2712 + "vin2_data8", 2713 + "vin2_clk", 2714 + "vin2_sync", 2715 + }; 2716 + 2717 + static const char * const vin3_groups[] = { 2718 + "vin3_data8", 2719 + "vin3_clk", 2720 + "vin3_sync", 2910 2721 }; 2911 2722 2912 2723 static const struct sh_pfc_function pinmux_functions[] = { 2913 2724 SH_PFC_FUNCTION(du0), 2914 2725 SH_PFC_FUNCTION(du1), 2726 + SH_PFC_FUNCTION(ether), 2915 2727 SH_PFC_FUNCTION(hspi0), 2916 2728 SH_PFC_FUNCTION(hspi1), 2917 2729 SH_PFC_FUNCTION(hspi2), ··· 2960 2716 SH_PFC_FUNCTION(usb0), 2961 2717 SH_PFC_FUNCTION(usb1), 2962 2718 SH_PFC_FUNCTION(usb2), 2719 + SH_PFC_FUNCTION(vin0), 2720 + SH_PFC_FUNCTION(vin1), 2721 + SH_PFC_FUNCTION(vin2), 2722 + SH_PFC_FUNCTION(vin3), 2963 2723 }; 2964 2724 2965 2725 static const struct pinmux_cfg_reg pinmux_config_regs[] = { ··· 3768 3520 /* SEL_SCIF [2] */ 3769 3521 FN_SEL_SCIF_0, FN_SEL_SCIF_1, FN_SEL_SCIF_2, FN_SEL_SCIF_3, 3770 3522 /* SEL_CANCLK [2] */ 3771 - FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2, 3523 + FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2, 0, 3772 3524 /* SEL_CAN0 [1] */ 3773 3525 FN_SEL_CAN0_0, FN_SEL_CAN0_1, 3774 3526 /* SEL_HSCIF1 [1] */
+3835
drivers/pinctrl/sh-pfc/pfc-r8a7790.c
··· 1 + /* 2 + * R8A7790 processor support 3 + * 4 + * Copyright (C) 2013 Renesas Electronics Corporation 5 + * Copyright (C) 2013 Magnus Damm 6 + * Copyright (C) 2012 Renesas Solutions Corp. 7 + * Copyright (C) 2012 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 8 + * 9 + * This program is free software; you can redistribute it and/or 10 + * modify it under the terms of the GNU General Public License as 11 + * published by the Free Software Foundation; version 2 of the 12 + * License. 13 + * 14 + * This program is distributed in the hope that it will be useful, 15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 + * GNU General Public License for more details. 18 + * 19 + * You should have received a copy of the GNU General Public License 20 + * along with this program; if not, write to the Free Software 21 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22 + */ 23 + 24 + #include <linux/kernel.h> 25 + #include <linux/platform_data/gpio-rcar.h> 26 + 27 + #include "core.h" 28 + #include "sh_pfc.h" 29 + 30 + #define PORT_GP_1(bank, pin, fn, sfx) fn(bank, pin, GP_##bank##_##pin, sfx) 31 + 32 + #define PORT_GP_32(bank, fn, sfx) \ 33 + PORT_GP_1(bank, 0, fn, sfx), PORT_GP_1(bank, 1, fn, sfx), \ 34 + PORT_GP_1(bank, 2, fn, sfx), PORT_GP_1(bank, 3, fn, sfx), \ 35 + PORT_GP_1(bank, 4, fn, sfx), PORT_GP_1(bank, 5, fn, sfx), \ 36 + PORT_GP_1(bank, 6, fn, sfx), PORT_GP_1(bank, 7, fn, sfx), \ 37 + PORT_GP_1(bank, 8, fn, sfx), PORT_GP_1(bank, 9, fn, sfx), \ 38 + PORT_GP_1(bank, 10, fn, sfx), PORT_GP_1(bank, 11, fn, sfx), \ 39 + PORT_GP_1(bank, 12, fn, sfx), PORT_GP_1(bank, 13, fn, sfx), \ 40 + PORT_GP_1(bank, 14, fn, sfx), PORT_GP_1(bank, 15, fn, sfx), \ 41 + PORT_GP_1(bank, 16, fn, sfx), PORT_GP_1(bank, 17, fn, sfx), \ 42 + PORT_GP_1(bank, 18, fn, sfx), PORT_GP_1(bank, 19, fn, sfx), \ 43 + PORT_GP_1(bank, 20, fn, sfx), PORT_GP_1(bank, 21, fn, sfx), \ 44 + PORT_GP_1(bank, 22, fn, sfx), PORT_GP_1(bank, 23, fn, sfx), \ 45 + PORT_GP_1(bank, 24, fn, sfx), PORT_GP_1(bank, 25, fn, sfx), \ 46 + PORT_GP_1(bank, 26, fn, sfx), PORT_GP_1(bank, 27, fn, sfx), \ 47 + PORT_GP_1(bank, 28, fn, sfx), PORT_GP_1(bank, 29, fn, sfx), \ 48 + PORT_GP_1(bank, 30, fn, sfx), PORT_GP_1(bank, 31, fn, sfx) 49 + 50 + #define PORT_GP_32_REV(bank, fn, sfx) \ 51 + PORT_GP_1(bank, 31, fn, sfx), PORT_GP_1(bank, 30, fn, sfx), \ 52 + PORT_GP_1(bank, 29, fn, sfx), PORT_GP_1(bank, 28, fn, sfx), \ 53 + PORT_GP_1(bank, 27, fn, sfx), PORT_GP_1(bank, 26, fn, sfx), \ 54 + PORT_GP_1(bank, 25, fn, sfx), PORT_GP_1(bank, 24, fn, sfx), \ 55 + PORT_GP_1(bank, 23, fn, sfx), PORT_GP_1(bank, 22, fn, sfx), \ 56 + PORT_GP_1(bank, 21, fn, sfx), PORT_GP_1(bank, 20, fn, sfx), \ 57 + PORT_GP_1(bank, 19, fn, sfx), PORT_GP_1(bank, 18, fn, sfx), \ 58 + PORT_GP_1(bank, 17, fn, sfx), PORT_GP_1(bank, 16, fn, sfx), \ 59 + PORT_GP_1(bank, 15, fn, sfx), PORT_GP_1(bank, 14, fn, sfx), \ 60 + PORT_GP_1(bank, 13, fn, sfx), PORT_GP_1(bank, 12, fn, sfx), \ 61 + PORT_GP_1(bank, 11, fn, sfx), PORT_GP_1(bank, 10, fn, sfx), \ 62 + PORT_GP_1(bank, 9, fn, sfx), PORT_GP_1(bank, 8, fn, sfx), \ 63 + PORT_GP_1(bank, 7, fn, sfx), PORT_GP_1(bank, 6, fn, sfx), \ 64 + PORT_GP_1(bank, 5, fn, sfx), PORT_GP_1(bank, 4, fn, sfx), \ 65 + PORT_GP_1(bank, 3, fn, sfx), PORT_GP_1(bank, 2, fn, sfx), \ 66 + PORT_GP_1(bank, 1, fn, sfx), PORT_GP_1(bank, 0, fn, sfx) 67 + 68 + #define CPU_ALL_PORT(fn, sfx) \ 69 + PORT_GP_32(0, fn, sfx), \ 70 + PORT_GP_32(1, fn, sfx), \ 71 + PORT_GP_32(2, fn, sfx), \ 72 + PORT_GP_32(3, fn, sfx), \ 73 + PORT_GP_32(4, fn, sfx), \ 74 + PORT_GP_32(5, fn, sfx) 75 + 76 + #define _GP_PORT_ALL(bank, pin, name, sfx) name##_##sfx 77 + 78 + #define _GP_GPIO(bank, pin, _name, sfx) \ 79 + [(bank * 32) + pin] = { \ 80 + .name = __stringify(_name), \ 81 + .enum_id = _name##_DATA, \ 82 + } 83 + 84 + #define _GP_DATA(bank, pin, name, sfx) \ 85 + PINMUX_DATA(name##_DATA, name##_FN) 86 + 87 + #define GP_ALL(str) CPU_ALL_PORT(_GP_PORT_ALL, str) 88 + #define PINMUX_GPIO_GP_ALL() CPU_ALL_PORT(_GP_GPIO, unused) 89 + #define PINMUX_DATA_GP_ALL() CPU_ALL_PORT(_GP_DATA, unused) 90 + 91 + #define PINMUX_IPSR_DATA(ipsr, fn) PINMUX_DATA(fn##_MARK, FN_##ipsr, FN_##fn) 92 + #define PINMUX_IPSR_MODSEL_DATA(ipsr, fn, ms) PINMUX_DATA(fn##_MARK, FN_##ms, \ 93 + FN_##ipsr, FN_##fn) 94 + 95 + enum { 96 + PINMUX_RESERVED = 0, 97 + 98 + PINMUX_DATA_BEGIN, 99 + GP_ALL(DATA), 100 + PINMUX_DATA_END, 101 + 102 + PINMUX_FUNCTION_BEGIN, 103 + GP_ALL(FN), 104 + 105 + /* GPSR0 */ 106 + FN_IP0_2_0, FN_IP0_5_3, FN_IP0_8_6, FN_IP0_11_9, FN_IP0_15_12, 107 + FN_IP0_19_16, FN_IP0_22_20, FN_IP0_26_23, FN_IP0_30_27, 108 + FN_IP1_3_0, FN_IP1_7_4, FN_IP1_11_8, FN_IP1_14_12, 109 + FN_IP1_17_15, FN_IP1_21_18, FN_IP1_25_22, FN_IP1_27_26, 110 + FN_IP1_29_28, FN_IP2_2_0, FN_IP2_5_3, FN_IP2_8_6, FN_IP2_11_9, 111 + FN_IP2_14_12, FN_IP2_17_15, FN_IP2_21_18, FN_IP2_25_22, 112 + FN_IP2_28_26, FN_IP3_3_0, FN_IP3_7_4, FN_IP3_11_8, 113 + FN_IP3_14_12, FN_IP3_17_15, 114 + 115 + /* GPSR1 */ 116 + FN_IP3_19_18, FN_IP3_22_20, FN_IP3_25_23, FN_IP3_28_26, 117 + FN_IP3_31_29, FN_IP4_2_0, FN_IP4_5_3, FN_IP4_8_6, FN_IP4_11_9, 118 + FN_IP4_14_12, FN_IP4_17_15, FN_IP4_20_18, FN_IP4_23_21, 119 + FN_IP4_26_24, FN_IP4_29_27, FN_IP5_2_0, FN_IP5_5_3, FN_IP5_9_6, 120 + FN_IP5_12_10, FN_IP5_14_13, FN_IP5_17_15, FN_IP5_20_18, 121 + FN_IP5_23_21, FN_IP5_26_24, FN_IP5_29_27, FN_IP6_2_0, 122 + FN_IP6_5_3, FN_IP6_8_6, FN_IP6_10_9, FN_IP6_13_11, 123 + 124 + /* GPSR2 */ 125 + FN_IP7_28_27, FN_IP7_30_29, FN_IP8_1_0, FN_IP8_3_2, FN_IP8_5_4, 126 + FN_IP8_7_6, FN_IP8_9_8, FN_IP8_11_10, FN_IP8_13_12, FN_IP8_15_14, 127 + FN_IP8_17_16, FN_IP8_19_18, FN_IP8_21_20, FN_IP8_23_22, 128 + FN_IP8_25_24, FN_IP8_26, FN_IP8_27, FN_VI1_DATA7_VI1_B7, 129 + FN_IP6_16_14, FN_IP6_19_17, FN_IP6_22_20, FN_IP6_25_23, 130 + FN_IP6_28_26, FN_IP6_31_29, FN_IP7_2_0, FN_IP7_5_3, FN_IP7_7_6, 131 + FN_IP7_9_8, FN_IP7_12_10, FN_IP7_15_13, 132 + 133 + /* GPSR3 */ 134 + FN_IP8_28, FN_IP8_30_29, FN_IP9_1_0, FN_IP9_3_2, FN_IP9_5_4, 135 + FN_IP9_7_6, FN_IP9_11_8, FN_IP9_15_12, FN_IP9_17_16, FN_IP9_19_18, 136 + FN_IP9_21_20, FN_IP9_23_22, FN_IP9_25_24, FN_IP9_27_26, 137 + FN_IP9_31_28, FN_IP10_3_0, FN_IP10_6_4, FN_IP10_10_7, FN_IP10_14_11, 138 + FN_IP10_18_15, FN_IP10_22_19, FN_IP10_25_23, FN_IP10_29_26, 139 + FN_IP11_3_0, FN_IP11_4, FN_IP11_6_5, FN_IP11_8_7, FN_IP11_10_9, 140 + FN_IP11_12_11, FN_IP11_14_13, FN_IP11_17_15, FN_IP11_21_18, 141 + 142 + /* GPSR4 */ 143 + FN_IP11_23_22, FN_IP11_26_24, FN_IP11_29_27, FN_IP11_31_30, 144 + FN_IP12_1_0, FN_IP12_3_2, FN_IP12_5_4, FN_IP12_7_6, FN_IP12_10_8, 145 + FN_IP12_13_11, FN_IP12_16_14, FN_IP12_19_17, FN_IP12_22_20, 146 + FN_IP12_24_23, FN_IP12_27_25, FN_IP12_30_28, FN_IP13_2_0, 147 + FN_IP13_6_3, FN_IP13_9_7, FN_IP13_12_10, FN_IP13_15_13, 148 + FN_IP13_18_16, FN_IP13_22_19, FN_IP13_25_23, FN_IP13_28_26, 149 + FN_IP13_30_29, FN_IP14_2_0, FN_IP14_5_3, FN_IP14_8_6, FN_IP14_11_9, 150 + FN_IP14_15_12, FN_IP14_18_16, 151 + 152 + /* GPSR5 */ 153 + FN_IP14_21_19, FN_IP14_24_22, FN_IP14_27_25, FN_IP14_30_28, 154 + FN_IP15_2_0, FN_IP15_5_3, FN_IP15_8_6, FN_IP15_11_9, FN_IP15_13_12, 155 + FN_IP15_15_14, FN_IP15_17_16, FN_IP15_19_18, FN_IP15_22_20, 156 + FN_IP15_25_23, FN_IP15_27_26, FN_IP15_29_28, FN_IP16_2_0, 157 + FN_IP16_5_3, FN_USB0_PWEN, FN_USB0_OVC_VBUS, FN_IP16_6, FN_IP16_7, 158 + FN_USB2_PWEN, FN_USB2_OVC, FN_AVS1, FN_AVS2, FN_DU_DOTCLKIN0, 159 + FN_IP7_26_25, FN_DU_DOTCLKIN2, FN_IP7_18_16, FN_IP7_21_19, FN_IP7_24_22, 160 + 161 + /* IPSR0 */ 162 + FN_D0, FN_MSIOF3_SCK_B, FN_VI3_DATA0, FN_VI0_G4, FN_VI0_G4_B, 163 + FN_D1, FN_MSIOF3_SYNC_B, FN_VI3_DATA1, FN_VI0_G5, 164 + FN_VI0_G5_B, FN_D2, FN_MSIOF3_RXD_B, FN_VI3_DATA2, 165 + FN_VI0_G6, FN_VI0_G6_B, FN_D3, FN_MSIOF3_TXD_B, 166 + FN_VI3_DATA3, FN_VI0_G7, FN_VI0_G7_B, FN_D4, 167 + FN_SCIFB1_RXD_F, FN_SCIFB0_RXD_C, FN_VI3_DATA4, 168 + FN_VI0_R0, FN_VI0_R0_B, FN_RX0_B, FN_D5, 169 + FN_SCIFB1_TXD_F, FN_SCIFB0_TXD_C, FN_VI3_DATA5, 170 + FN_VI0_R1, FN_VI0_R1_B, FN_TX0_B, FN_D6, 171 + FN_SCL2_C, FN_VI3_DATA6, FN_VI0_R2, FN_VI0_R2_B, 172 + FN_SCL2_CIS_C, FN_D7, FN_AD_DI_B, FN_SDA2_C, 173 + FN_VI3_DATA7, FN_VI0_R3, FN_VI0_R3_B, FN_SDA2_CIS_C, 174 + FN_D8, FN_SCIFA1_SCK_C, FN_AVB_TXD0, FN_MII_TXD0, 175 + FN_VI0_G0, FN_VI0_G0_B, FN_VI2_DATA0_VI2_B0, 176 + 177 + /* IPSR1 */ 178 + FN_D9, FN_SCIFA1_RXD_C, FN_AVB_TXD1, FN_MII_TXD1, 179 + FN_VI0_G1, FN_VI0_G1_B, FN_VI2_DATA1_VI2_B1, FN_D10, 180 + FN_SCIFA1_TXD_C, FN_AVB_TXD2, FN_MII_TXD2, 181 + FN_VI0_G2, FN_VI0_G2_B, FN_VI2_DATA2_VI2_B2, FN_D11, 182 + FN_SCIFA1_CTS_N_C, FN_AVB_TXD3, FN_MII_TXD3, 183 + FN_VI0_G3, FN_VI0_G3_B, FN_VI2_DATA3_VI2_B3, 184 + FN_D12, FN_SCIFA1_RTS_N_C, FN_AVB_TXD4, 185 + FN_VI0_HSYNC_N, FN_VI0_HSYNC_N_B, FN_VI2_DATA4_VI2_B4, 186 + FN_D13, FN_AVB_TXD5, FN_VI0_VSYNC_N, 187 + FN_VI0_VSYNC_N_B, FN_VI2_DATA5_VI2_B5, FN_D14, 188 + FN_SCIFB1_RXD_C, FN_AVB_TXD6, FN_RX1_B, 189 + FN_VI0_CLKENB, FN_VI0_CLKENB_B, FN_VI2_DATA6_VI2_B6, 190 + FN_D15, FN_SCIFB1_TXD_C, FN_AVB_TXD7, FN_TX1_B, 191 + FN_VI0_FIELD, FN_VI0_FIELD_B, FN_VI2_DATA7_VI2_B7, 192 + FN_A0, FN_PWM3, FN_A1, FN_PWM4, 193 + 194 + /* IPSR2 */ 195 + FN_A2, FN_PWM5, FN_MSIOF1_SS1_B, FN_A3, 196 + FN_PWM6, FN_MSIOF1_SS2_B, FN_A4, FN_MSIOF1_TXD_B, 197 + FN_TPU0TO0, FN_A5, FN_SCIFA1_TXD_B, FN_TPU0TO1, 198 + FN_A6, FN_SCIFA1_RTS_N_B, FN_TPU0TO2, FN_A7, 199 + FN_SCIFA1_SCK_B, FN_AUDIO_CLKOUT_B, FN_TPU0TO3, 200 + FN_A8, FN_SCIFA1_RXD_B, FN_SSI_SCK5_B, FN_VI0_R4, 201 + FN_VI0_R4_B, FN_SCIFB2_RXD_C, FN_VI2_DATA0_VI2_B0_B, 202 + FN_A9, FN_SCIFA1_CTS_N_B, FN_SSI_WS5_B, FN_VI0_R5, 203 + FN_VI0_R5_B, FN_SCIFB2_TXD_C, FN_VI2_DATA1_VI2_B1_B, 204 + FN_A10, FN_SSI_SDATA5_B, FN_MSIOF2_SYNC, FN_VI0_R6, 205 + FN_VI0_R6_B, FN_VI2_DATA2_VI2_B2_B, 206 + 207 + /* IPSR3 */ 208 + FN_A11, FN_SCIFB2_CTS_N_B, FN_MSIOF2_SCK, FN_VI1_R0, 209 + FN_VI1_R0_B, FN_VI2_G0, FN_VI2_DATA3_VI2_B3_B, 210 + FN_A12, FN_SCIFB2_RXD_B, FN_MSIOF2_TXD, FN_VI1_R1, 211 + FN_VI1_R1_B, FN_VI2_G1, FN_VI2_DATA4_VI2_B4_B, 212 + FN_A13, FN_SCIFB2_RTS_N_B, FN_EX_WAIT2, 213 + FN_MSIOF2_RXD, FN_VI1_R2, FN_VI1_R2_B, FN_VI2_G2, 214 + FN_VI2_DATA5_VI2_B5_B, FN_A14, FN_SCIFB2_TXD_B, 215 + FN_ATACS11_N, FN_MSIOF2_SS1, FN_A15, FN_SCIFB2_SCK_B, 216 + FN_ATARD1_N, FN_MSIOF2_SS2, FN_A16, FN_ATAWR1_N, 217 + FN_A17, FN_AD_DO_B, FN_ATADIR1_N, FN_A18, 218 + FN_AD_CLK_B, FN_ATAG1_N, FN_A19, FN_AD_NCS_N_B, 219 + FN_ATACS01_N, FN_EX_WAIT0_B, FN_A20, FN_SPCLK, 220 + FN_VI1_R3, FN_VI1_R3_B, FN_VI2_G4, 221 + 222 + /* IPSR4 */ 223 + FN_A21, FN_MOSI_IO0, FN_VI1_R4, FN_VI1_R4_B, FN_VI2_G5, 224 + FN_A22, FN_MISO_IO1, FN_VI1_R5, FN_VI1_R5_B, 225 + FN_VI2_G6, FN_A23, FN_IO2, FN_VI1_G7, 226 + FN_VI1_G7_B, FN_VI2_G7, FN_A24, FN_IO3, 227 + FN_VI1_R7, FN_VI1_R7_B, FN_VI2_CLKENB, 228 + FN_VI2_CLKENB_B, FN_A25, FN_SSL, FN_VI1_G6, 229 + FN_VI1_G6_B, FN_VI2_FIELD, FN_VI2_FIELD_B, FN_CS0_N, 230 + FN_VI1_R6, FN_VI1_R6_B, FN_VI2_G3, FN_MSIOF0_SS2_B, 231 + FN_CS1_N_A26, FN_SPEEDIN, FN_VI0_R7, FN_VI0_R7_B, 232 + FN_VI2_CLK, FN_VI2_CLK_B, FN_EX_CS0_N, FN_HRX1_B, 233 + FN_VI1_G5, FN_VI1_G5_B, FN_VI2_R0, FN_HTX0_B, 234 + FN_MSIOF0_SS1_B, FN_EX_CS1_N, FN_GPS_CLK, 235 + FN_HCTS1_N_B, FN_VI1_FIELD, FN_VI1_FIELD_B, 236 + FN_VI2_R1, FN_EX_CS2_N, FN_GPS_SIGN, FN_HRTS1_N_B, 237 + FN_VI3_CLKENB, FN_VI1_G0, FN_VI1_G0_B, FN_VI2_R2, 238 + 239 + /* IPSR5 */ 240 + FN_EX_CS3_N, FN_GPS_MAG, FN_VI3_FIELD, FN_VI1_G1, FN_VI1_G1_B, 241 + FN_VI2_R3, FN_EX_CS4_N, FN_MSIOF1_SCK_B, FN_VI3_HSYNC_N, 242 + FN_VI2_HSYNC_N, FN_SCL1, FN_VI2_HSYNC_N_B, 243 + FN_INTC_EN0_N, FN_SCL1_CIS, FN_EX_CS5_N, FN_CAN0_RX, 244 + FN_MSIOF1_RXD_B, FN_VI3_VSYNC_N, FN_VI1_G2, 245 + FN_VI1_G2_B, FN_VI2_R4, FN_SDA1, FN_INTC_EN1_N, 246 + FN_SDA1_CIS, FN_BS_N, FN_IETX, FN_HTX1_B, 247 + FN_CAN1_TX, FN_DRACK0, FN_IETX_C, FN_RD_N, 248 + FN_CAN0_TX, FN_SCIFA0_SCK_B, FN_RD_WR_N, FN_VI1_G3, 249 + FN_VI1_G3_B, FN_VI2_R5, FN_SCIFA0_RXD_B, 250 + FN_INTC_IRQ4_N, FN_WE0_N, FN_IECLK, FN_CAN_CLK, 251 + FN_VI2_VSYNC_N, FN_SCIFA0_TXD_B, FN_VI2_VSYNC_N_B, 252 + FN_WE1_N, FN_IERX, FN_CAN1_RX, FN_VI1_G4, 253 + FN_VI1_G4_B, FN_VI2_R6, FN_SCIFA0_CTS_N_B, 254 + FN_IERX_C, FN_EX_WAIT0, FN_IRQ3, FN_INTC_IRQ3_N, 255 + FN_VI3_CLK, FN_SCIFA0_RTS_N_B, FN_HRX0_B, 256 + FN_MSIOF0_SCK_B, FN_DREQ0_N, FN_VI1_HSYNC_N, 257 + FN_VI1_HSYNC_N_B, FN_VI2_R7, FN_SSI_SCK78_C, 258 + FN_SSI_WS78_B, 259 + 260 + /* IPSR6 */ 261 + FN_DACK0, FN_IRQ0, FN_INTC_IRQ0_N, FN_SSI_SCK6_B, 262 + FN_VI1_VSYNC_N, FN_VI1_VSYNC_N_B, FN_SSI_WS78_C, 263 + FN_DREQ1_N, FN_VI1_CLKENB, FN_VI1_CLKENB_B, 264 + FN_SSI_SDATA7_C, FN_SSI_SCK78_B, FN_DACK1, FN_IRQ1, 265 + FN_INTC_IRQ1_N, FN_SSI_WS6_B, FN_SSI_SDATA8_C, 266 + FN_DREQ2_N, FN_HSCK1_B, FN_HCTS0_N_B, 267 + FN_MSIOF0_TXD_B, FN_DACK2, FN_IRQ2, FN_INTC_IRQ2_N, 268 + FN_SSI_SDATA6_B, FN_HRTS0_N_B, FN_MSIOF0_RXD_B, 269 + FN_ETH_CRS_DV, FN_RMII_CRS_DV, FN_STP_ISCLK_0_B, 270 + FN_TS_SDEN0_D, FN_GLO_Q0_C, FN_SCL2_E, 271 + FN_SCL2_CIS_E, FN_ETH_RX_ER, FN_RMII_RX_ER, 272 + FN_STP_ISD_0_B, FN_TS_SPSYNC0_D, FN_GLO_Q1_C, 273 + FN_SDA2_E, FN_SDA2_CIS_E, FN_ETH_RXD0, FN_RMII_RXD0, 274 + FN_STP_ISEN_0_B, FN_TS_SDAT0_D, FN_GLO_I0_C, 275 + FN_SCIFB1_SCK_G, FN_SCK1_E, FN_ETH_RXD1, 276 + FN_RMII_RXD1, FN_HRX0_E, FN_STP_ISSYNC_0_B, 277 + FN_TS_SCK0_D, FN_GLO_I1_C, FN_SCIFB1_RXD_G, 278 + FN_RX1_E, FN_ETH_LINK, FN_RMII_LINK, FN_HTX0_E, 279 + FN_STP_IVCXO27_0_B, FN_SCIFB1_TXD_G, FN_TX1_E, 280 + FN_ETH_REF_CLK, FN_RMII_REF_CLK, FN_HCTS0_N_E, 281 + FN_STP_IVCXO27_1_B, FN_HRX0_F, 282 + 283 + /* IPSR7 */ 284 + FN_ETH_MDIO, FN_RMII_MDIO, FN_HRTS0_N_E, 285 + FN_SIM0_D_C, FN_HCTS0_N_F, FN_ETH_TXD1, 286 + FN_RMII_TXD1, FN_HTX0_F, FN_BPFCLK_G, FN_RDS_CLK_F, 287 + FN_ETH_TX_EN, FN_RMII_TX_EN, FN_SIM0_CLK_C, 288 + FN_HRTS0_N_F, FN_ETH_MAGIC, FN_RMII_MAGIC, 289 + FN_SIM0_RST_C, FN_ETH_TXD0, FN_RMII_TXD0, 290 + FN_STP_ISCLK_1_B, FN_TS_SDEN1_C, FN_GLO_SCLK_C, 291 + FN_ETH_MDC, FN_RMII_MDC, FN_STP_ISD_1_B, 292 + FN_TS_SPSYNC1_C, FN_GLO_SDATA_C, FN_PWM0, 293 + FN_SCIFA2_SCK_C, FN_STP_ISEN_1_B, FN_TS_SDAT1_C, 294 + FN_GLO_SS_C, FN_PWM1, FN_SCIFA2_TXD_C, 295 + FN_STP_ISSYNC_1_B, FN_TS_SCK1_C, FN_GLO_RFON_C, 296 + FN_PCMOE_N, FN_PWM2, FN_PWMFSW0, FN_SCIFA2_RXD_C, 297 + FN_PCMWE_N, FN_IECLK_C, FN_DU1_DOTCLKIN, 298 + FN_AUDIO_CLKC, FN_AUDIO_CLKOUT_C, FN_VI0_CLK, 299 + FN_ATACS00_N, FN_AVB_RXD1, FN_MII_RXD1, 300 + FN_VI0_DATA0_VI0_B0, FN_ATACS10_N, FN_AVB_RXD2, 301 + FN_MII_RXD2, 302 + 303 + /* IPSR8 */ 304 + FN_VI0_DATA1_VI0_B1, FN_ATARD0_N, FN_AVB_RXD3, 305 + FN_MII_RXD3, FN_VI0_DATA2_VI0_B2, FN_ATAWR0_N, 306 + FN_AVB_RXD4, FN_VI0_DATA3_VI0_B3, FN_ATADIR0_N, 307 + FN_AVB_RXD5, FN_VI0_DATA4_VI0_B4, FN_ATAG0_N, 308 + FN_AVB_RXD6, FN_VI0_DATA5_VI0_B5, FN_EX_WAIT1, 309 + FN_AVB_RXD7, FN_VI0_DATA6_VI0_B6, FN_AVB_RX_ER, 310 + FN_MII_RX_ER, FN_VI0_DATA7_VI0_B7, FN_AVB_RX_CLK, 311 + FN_MII_RX_CLK, FN_VI1_CLK, FN_AVB_RX_DV, 312 + FN_MII_RX_DV, FN_VI1_DATA0_VI1_B0, FN_SCIFA1_SCK_D, 313 + FN_AVB_CRS, FN_MII_CRS, FN_VI1_DATA1_VI1_B1, 314 + FN_SCIFA1_RXD_D, FN_AVB_MDC, FN_MII_MDC, 315 + FN_VI1_DATA2_VI1_B2, FN_SCIFA1_TXD_D, FN_AVB_MDIO, 316 + FN_MII_MDIO, FN_VI1_DATA3_VI1_B3, FN_SCIFA1_CTS_N_D, 317 + FN_AVB_GTX_CLK, FN_VI1_DATA4_VI1_B4, FN_SCIFA1_RTS_N_D, 318 + FN_AVB_MAGIC, FN_MII_MAGIC, FN_VI1_DATA5_VI1_B5, 319 + FN_AVB_PHY_INT, FN_VI1_DATA6_VI1_B6, FN_AVB_GTXREFCLK, 320 + FN_SD0_CLK, FN_VI1_DATA0_VI1_B0_B, FN_SD0_CMD, 321 + FN_SCIFB1_SCK_B, FN_VI1_DATA1_VI1_B1_B, 322 + 323 + /* IPSR9 */ 324 + FN_SD0_DAT0, FN_SCIFB1_RXD_B, FN_VI1_DATA2_VI1_B2_B, 325 + FN_SD0_DAT1, FN_SCIFB1_TXD_B, FN_VI1_DATA3_VI1_B3_B, 326 + FN_SD0_DAT2, FN_SCIFB1_CTS_N_B, FN_VI1_DATA4_VI1_B4_B, 327 + FN_SD0_DAT3, FN_SCIFB1_RTS_N_B, FN_VI1_DATA5_VI1_B5_B, 328 + FN_SD0_CD, FN_MMC0_D6, FN_TS_SDEN0_B, FN_USB0_EXTP, 329 + FN_GLO_SCLK, FN_VI1_DATA6_VI1_B6_B, FN_SCL1_B, 330 + FN_SCL1_CIS_B, FN_VI2_DATA6_VI2_B6_B, FN_SD0_WP, 331 + FN_MMC0_D7, FN_TS_SPSYNC0_B, FN_USB0_IDIN, 332 + FN_GLO_SDATA, FN_VI1_DATA7_VI1_B7_B, FN_SDA1_B, 333 + FN_SDA1_CIS_B, FN_VI2_DATA7_VI2_B7_B, FN_SD1_CLK, 334 + FN_AVB_TX_EN, FN_MII_TX_EN, FN_SD1_CMD, 335 + FN_AVB_TX_ER, FN_MII_TX_ER, FN_SCIFB0_SCK_B, 336 + FN_SD1_DAT0, FN_AVB_TX_CLK, FN_MII_TX_CLK, 337 + FN_SCIFB0_RXD_B, FN_SD1_DAT1, FN_AVB_LINK, 338 + FN_MII_LINK, FN_SCIFB0_TXD_B, FN_SD1_DAT2, 339 + FN_AVB_COL, FN_MII_COL, FN_SCIFB0_CTS_N_B, 340 + FN_SD1_DAT3, FN_AVB_RXD0, FN_MII_RXD0, 341 + FN_SCIFB0_RTS_N_B, FN_SD1_CD, FN_MMC1_D6, 342 + FN_TS_SDEN1, FN_USB1_EXTP, FN_GLO_SS, FN_VI0_CLK_B, 343 + FN_SCL2_D, FN_SCL2_CIS_D, FN_SIM0_CLK_B, 344 + FN_VI3_CLK_B, 345 + 346 + /* IPSR10 */ 347 + FN_SD1_WP, FN_MMC1_D7, FN_TS_SPSYNC1, FN_USB1_IDIN, 348 + FN_GLO_RFON, FN_VI1_CLK_B, FN_SDA2_D, FN_SDA2_CIS_D, 349 + FN_SIM0_D_B, FN_SD2_CLK, FN_MMC0_CLK, FN_SIM0_CLK, 350 + FN_VI0_DATA0_VI0_B0_B, FN_TS_SDEN0_C, FN_GLO_SCLK_B, 351 + FN_VI3_DATA0_B, FN_SD2_CMD, FN_MMC0_CMD, FN_SIM0_D, 352 + FN_VI0_DATA1_VI0_B1_B, FN_SCIFB1_SCK_E, FN_SCK1_D, 353 + FN_TS_SPSYNC0_C, FN_GLO_SDATA_B, FN_VI3_DATA1_B, 354 + FN_SD2_DAT0, FN_MMC0_D0, FN_FMCLK_B, 355 + FN_VI0_DATA2_VI0_B2_B, FN_SCIFB1_RXD_E, FN_RX1_D, 356 + FN_TS_SDAT0_C, FN_GLO_SS_B, FN_VI3_DATA2_B, 357 + FN_SD2_DAT1, FN_MMC0_D1, FN_FMIN_B, FN_RDS_DATA, 358 + FN_VI0_DATA3_VI0_B3_B, FN_SCIFB1_TXD_E, FN_TX1_D, 359 + FN_TS_SCK0_C, FN_GLO_RFON_B, FN_VI3_DATA3_B, 360 + FN_SD2_DAT2, FN_MMC0_D2, FN_BPFCLK_B, FN_RDS_CLK, 361 + FN_VI0_DATA4_VI0_B4_B, FN_HRX0_D, FN_TS_SDEN1_B, 362 + FN_GLO_Q0_B, FN_VI3_DATA4_B, FN_SD2_DAT3, 363 + FN_MMC0_D3, FN_SIM0_RST, FN_VI0_DATA5_VI0_B5_B, 364 + FN_HTX0_D, FN_TS_SPSYNC1_B, FN_GLO_Q1_B, 365 + FN_VI3_DATA5_B, FN_SD2_CD, FN_MMC0_D4, 366 + FN_TS_SDAT0_B, FN_USB2_EXTP, FN_GLO_I0, 367 + FN_VI0_DATA6_VI0_B6_B, FN_HCTS0_N_D, FN_TS_SDAT1_B, 368 + FN_GLO_I0_B, FN_VI3_DATA6_B, 369 + 370 + /* IPSR11 */ 371 + FN_SD2_WP, FN_MMC0_D5, FN_TS_SCK0_B, FN_USB2_IDIN, 372 + FN_GLO_I1, FN_VI0_DATA7_VI0_B7_B, FN_HRTS0_N_D, 373 + FN_TS_SCK1_B, FN_GLO_I1_B, FN_VI3_DATA7_B, 374 + FN_SD3_CLK, FN_MMC1_CLK, FN_SD3_CMD, FN_MMC1_CMD, 375 + FN_MTS_N, FN_SD3_DAT0, FN_MMC1_D0, FN_STM_N, 376 + FN_SD3_DAT1, FN_MMC1_D1, FN_MDATA, FN_SD3_DAT2, 377 + FN_MMC1_D2, FN_SDATA, FN_SD3_DAT3, FN_MMC1_D3, 378 + FN_SCKZ, FN_SD3_CD, FN_MMC1_D4, FN_TS_SDAT1, 379 + FN_VSP, FN_GLO_Q0, FN_SIM0_RST_B, FN_SD3_WP, 380 + FN_MMC1_D5, FN_TS_SCK1, FN_GLO_Q1, FN_FMIN_C, 381 + FN_RDS_DATA_B, FN_FMIN_E, FN_RDS_DATA_D, FN_FMIN_F, 382 + FN_RDS_DATA_E, FN_MLB_CLK, FN_SCL2_B, FN_SCL2_CIS_B, 383 + FN_MLB_SIG, FN_SCIFB1_RXD_D, FN_RX1_C, FN_SDA2_B, 384 + FN_SDA2_CIS_B, FN_MLB_DAT, FN_SPV_EVEN, 385 + FN_SCIFB1_TXD_D, FN_TX1_C, FN_BPFCLK_C, 386 + FN_RDS_CLK_B, FN_SSI_SCK0129, FN_CAN_CLK_B, 387 + FN_MOUT0, 388 + 389 + /* IPSR12 */ 390 + FN_SSI_WS0129, FN_CAN0_TX_B, FN_MOUT1, 391 + FN_SSI_SDATA0, FN_CAN0_RX_B, FN_MOUT2, 392 + FN_SSI_SDATA1, FN_CAN1_TX_B, FN_MOUT5, 393 + FN_SSI_SDATA2, FN_CAN1_RX_B, FN_SSI_SCK1, FN_MOUT6, 394 + FN_SSI_SCK34, FN_STP_OPWM_0, FN_SCIFB0_SCK, 395 + FN_MSIOF1_SCK, FN_CAN_DEBUG_HW_TRIGGER, FN_SSI_WS34, 396 + FN_STP_IVCXO27_0, FN_SCIFB0_RXD, FN_MSIOF1_SYNC, 397 + FN_CAN_STEP0, FN_SSI_SDATA3, FN_STP_ISCLK_0, 398 + FN_SCIFB0_TXD, FN_MSIOF1_SS1, FN_CAN_TXCLK, 399 + FN_SSI_SCK4, FN_STP_ISD_0, FN_SCIFB0_CTS_N, 400 + FN_MSIOF1_SS2, FN_SSI_SCK5_C, FN_CAN_DEBUGOUT0, 401 + FN_SSI_WS4, FN_STP_ISEN_0, FN_SCIFB0_RTS_N, 402 + FN_MSIOF1_TXD, FN_SSI_WS5_C, FN_CAN_DEBUGOUT1, 403 + FN_SSI_SDATA4, FN_STP_ISSYNC_0, FN_MSIOF1_RXD, 404 + FN_CAN_DEBUGOUT2, FN_SSI_SCK5, FN_SCIFB1_SCK, 405 + FN_IERX_B, FN_DU2_EXHSYNC_DU2_HSYNC, FN_QSTH_QHS, 406 + FN_CAN_DEBUGOUT3, FN_SSI_WS5, FN_SCIFB1_RXD, 407 + FN_IECLK_B, FN_DU2_EXVSYNC_DU2_VSYNC, FN_QSTB_QHE, 408 + FN_CAN_DEBUGOUT4, 409 + 410 + /* IPSR13 */ 411 + FN_SSI_SDATA5, FN_SCIFB1_TXD, FN_IETX_B, FN_DU2_DR2, 412 + FN_LCDOUT2, FN_CAN_DEBUGOUT5, FN_SSI_SCK6, 413 + FN_SCIFB1_CTS_N, FN_BPFCLK_D, FN_RDS_CLK_C, 414 + FN_DU2_DR3, FN_LCDOUT3, FN_CAN_DEBUGOUT6, 415 + FN_BPFCLK_F, FN_RDS_CLK_E, FN_SSI_WS6, 416 + FN_SCIFB1_RTS_N, FN_CAN0_TX_D, FN_DU2_DR4, 417 + FN_LCDOUT4, FN_CAN_DEBUGOUT7, FN_SSI_SDATA6, 418 + FN_FMIN_D, FN_RDS_DATA_C, FN_DU2_DR5, FN_LCDOUT5, 419 + FN_CAN_DEBUGOUT8, FN_SSI_SCK78, FN_STP_IVCXO27_1, 420 + FN_SCK1, FN_SCIFA1_SCK, FN_DU2_DR6, FN_LCDOUT6, 421 + FN_CAN_DEBUGOUT9, FN_SSI_WS78, FN_STP_ISCLK_1, 422 + FN_SCIFB2_SCK, FN_SCIFA2_CTS_N, FN_DU2_DR7, 423 + FN_LCDOUT7, FN_CAN_DEBUGOUT10, FN_SSI_SDATA7, 424 + FN_STP_ISD_1, FN_SCIFB2_RXD, FN_SCIFA2_RTS_N, 425 + FN_TCLK2, FN_QSTVA_QVS, FN_CAN_DEBUGOUT11, 426 + FN_BPFCLK_E, FN_RDS_CLK_D, FN_SSI_SDATA7_B, 427 + FN_FMIN_G, FN_RDS_DATA_F, FN_SSI_SDATA8, 428 + FN_STP_ISEN_1, FN_SCIFB2_TXD, FN_CAN0_TX_C, 429 + FN_CAN_DEBUGOUT12, FN_SSI_SDATA8_B, FN_SSI_SDATA9, 430 + FN_STP_ISSYNC_1, FN_SCIFB2_CTS_N, FN_SSI_WS1, 431 + FN_SSI_SDATA5_C, FN_CAN_DEBUGOUT13, FN_AUDIO_CLKA, 432 + FN_SCIFB2_RTS_N, FN_CAN_DEBUGOUT14, 433 + 434 + /* IPSR14 */ 435 + FN_AUDIO_CLKB, FN_SCIF_CLK, FN_CAN0_RX_D, 436 + FN_DVC_MUTE, FN_CAN0_RX_C, FN_CAN_DEBUGOUT15, 437 + FN_REMOCON, FN_SCIFA0_SCK, FN_HSCK1, FN_SCK0, 438 + FN_MSIOF3_SS2, FN_DU2_DG2, FN_LCDOUT10, FN_SDA1_C, 439 + FN_SDA1_CIS_C, FN_SCIFA0_RXD, FN_HRX1, FN_RX0, 440 + FN_DU2_DR0, FN_LCDOUT0, FN_SCIFA0_TXD, FN_HTX1, 441 + FN_TX0, FN_DU2_DR1, FN_LCDOUT1, FN_SCIFA0_CTS_N, 442 + FN_HCTS1_N, FN_CTS0_N, FN_MSIOF3_SYNC, FN_DU2_DG3, 443 + FN_LCDOUT11, FN_PWM0_B, FN_SCL1_C, FN_SCL1_CIS_C, 444 + FN_SCIFA0_RTS_N, FN_HRTS1_N, FN_RTS0_N_TANS, 445 + FN_MSIOF3_SS1, FN_DU2_DG0, FN_LCDOUT8, FN_PWM1_B, 446 + FN_SCIFA1_RXD, FN_AD_DI, FN_RX1, 447 + FN_DU2_EXODDF_DU2_ODDF_DISP_CDE, FN_QCPV_QDE, 448 + FN_SCIFA1_TXD, FN_AD_DO, FN_TX1, FN_DU2_DG1, 449 + FN_LCDOUT9, FN_SCIFA1_CTS_N, FN_AD_CLK, 450 + FN_CTS1_N, FN_MSIOF3_RXD, FN_DU0_DOTCLKOUT, FN_QCLK, 451 + FN_SCIFA1_RTS_N, FN_AD_NCS_N, FN_RTS1_N_TANS, 452 + FN_MSIOF3_TXD, FN_DU1_DOTCLKOUT, FN_QSTVB_QVE, 453 + FN_HRTS0_N_C, 454 + 455 + /* IPSR15 */ 456 + FN_SCIFA2_SCK, FN_FMCLK, FN_MSIOF3_SCK, FN_DU2_DG7, 457 + FN_LCDOUT15, FN_SCIF_CLK_B, FN_SCIFA2_RXD, FN_FMIN, 458 + FN_DU2_DB0, FN_LCDOUT16, FN_SCL2, FN_SCL2_CIS, 459 + FN_SCIFA2_TXD, FN_BPFCLK, FN_DU2_DB1, FN_LCDOUT17, 460 + FN_SDA2, FN_SDA2_CIS, FN_HSCK0, FN_TS_SDEN0, 461 + FN_DU2_DG4, FN_LCDOUT12, FN_HCTS0_N_C, FN_HRX0, 462 + FN_DU2_DB2, FN_LCDOUT18, FN_HTX0, FN_DU2_DB3, 463 + FN_LCDOUT19, FN_HCTS0_N, FN_SSI_SCK9, FN_DU2_DB4, 464 + FN_LCDOUT20, FN_HRTS0_N, FN_SSI_WS9, FN_DU2_DB5, 465 + FN_LCDOUT21, FN_MSIOF0_SCK, FN_TS_SDAT0, FN_ADICLK, 466 + FN_DU2_DB6, FN_LCDOUT22, FN_MSIOF0_SYNC, FN_TS_SCK0, 467 + FN_SSI_SCK2, FN_ADIDATA, FN_DU2_DB7, FN_LCDOUT23, 468 + FN_SCIFA2_RXD_B, FN_MSIOF0_SS1, FN_ADICHS0, 469 + FN_DU2_DG5, FN_LCDOUT13, FN_MSIOF0_TXD, FN_ADICHS1, 470 + FN_DU2_DG6, FN_LCDOUT14, 471 + 472 + /* IPSR16 */ 473 + FN_MSIOF0_SS2, FN_AUDIO_CLKOUT, FN_ADICHS2, 474 + FN_DU2_DISP, FN_QPOLA, FN_HTX0_C, FN_SCIFA2_TXD_B, 475 + FN_MSIOF0_RXD, FN_TS_SPSYNC0, FN_SSI_WS2, 476 + FN_ADICS_SAMP, FN_DU2_CDE, FN_QPOLB, FN_HRX0_C, 477 + FN_USB1_PWEN, FN_AUDIO_CLKOUT_D, FN_USB1_OVC, 478 + FN_TCLK1_B, 479 + 480 + FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3, 481 + FN_SEL_SCIF1_4, 482 + FN_SEL_SCIFB_0, FN_SEL_SCIFB_1, FN_SEL_SCIFB_2, 483 + FN_SEL_SCIFB2_0, FN_SEL_SCIFB2_1, FN_SEL_SCIFB2_2, 484 + FN_SEL_SCIFB1_0, FN_SEL_SCIFB1_1, FN_SEL_SCIFB1_2, FN_SEL_SCIFB1_3, 485 + FN_SEL_SCIFB1_4, 486 + FN_SEL_SCIFB1_5, FN_SEL_SCIFB1_6, 487 + FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2, FN_SEL_SCIFA1_3, 488 + FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, 489 + FN_SEL_SCFA_0, FN_SEL_SCFA_1, 490 + FN_SEL_SOF1_0, FN_SEL_SOF1_1, 491 + FN_SEL_SSI7_0, FN_SEL_SSI7_1, FN_SEL_SSI7_2, 492 + FN_SEL_SSI6_0, FN_SEL_SSI6_1, 493 + FN_SEL_SSI5_0, FN_SEL_SSI5_1, FN_SEL_SSI5_2, 494 + FN_SEL_VI3_0, FN_SEL_VI3_1, 495 + FN_SEL_VI2_0, FN_SEL_VI2_1, 496 + FN_SEL_VI1_0, FN_SEL_VI1_1, 497 + FN_SEL_VI0_0, FN_SEL_VI0_1, 498 + FN_SEL_TSIF1_0, FN_SEL_TSIF1_1, FN_SEL_TSIF1_2, 499 + FN_SEL_LBS_0, FN_SEL_LBS_1, 500 + FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3, 501 + FN_SEL_SOF3_0, FN_SEL_SOF3_1, 502 + FN_SEL_SOF0_0, FN_SEL_SOF0_1, 503 + 504 + FN_SEL_TMU1_0, FN_SEL_TMU1_1, 505 + FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, 506 + FN_SEL_SCIFCLK_0, FN_SEL_SCIFCLK_1, 507 + FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3, 508 + FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, 509 + FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1, FN_SEL_SCIFA2_2, 510 + FN_SEL_CAN1_0, FN_SEL_CAN1_1, 511 + FN_SEL_ADI_0, FN_SEL_ADI_1, 512 + FN_SEL_SSP_0, FN_SEL_SSP_1, 513 + FN_SEL_FM_0, FN_SEL_FM_1, FN_SEL_FM_2, FN_SEL_FM_3, 514 + FN_SEL_FM_4, FN_SEL_FM_5, FN_SEL_FM_6, 515 + FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, FN_SEL_HSCIF0_2, FN_SEL_HSCIF0_3, 516 + FN_SEL_HSCIF0_4, FN_SEL_HSCIF0_5, 517 + FN_SEL_GPS_0, FN_SEL_GPS_1, FN_SEL_GPS_2, 518 + FN_SEL_RDS_0, FN_SEL_RDS_1, FN_SEL_RDS_2, 519 + FN_SEL_RDS_3, FN_SEL_RDS_4, FN_SEL_RDS_5, 520 + FN_SEL_SIM_0, FN_SEL_SIM_1, FN_SEL_SIM_2, 521 + FN_SEL_SSI8_0, FN_SEL_SSI8_1, FN_SEL_SSI8_2, 522 + 523 + FN_SEL_IICDVFS_0, FN_SEL_IICDVFS_1, 524 + FN_SEL_IIC0_0, FN_SEL_IIC0_1, 525 + FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2, 526 + FN_SEL_IIC2_0, FN_SEL_IIC2_1, FN_SEL_IIC2_2, FN_SEL_IIC2_3, 527 + FN_SEL_IIC2_4, 528 + FN_SEL_IIC1_0, FN_SEL_IIC1_1, FN_SEL_IIC1_2, 529 + FN_SEL_I2C2_0, FN_SEL_I2C2_1, FN_SEL_I2C2_2, FN_SEL_I2C2_3, 530 + FN_SEL_I2C2_4, 531 + FN_SEL_I2C1_0, FN_SEL_I2C1_1, FN_SEL_I2C1_2, 532 + PINMUX_FUNCTION_END, 533 + 534 + PINMUX_MARK_BEGIN, 535 + 536 + VI1_DATA7_VI1_B7_MARK, 537 + 538 + USB0_PWEN_MARK, USB0_OVC_VBUS_MARK, 539 + USB2_PWEN_MARK, USB2_OVC_MARK, AVS1_MARK, AVS2_MARK, 540 + DU_DOTCLKIN0_MARK, DU_DOTCLKIN2_MARK, 541 + 542 + D0_MARK, MSIOF3_SCK_B_MARK, VI3_DATA0_MARK, VI0_G4_MARK, VI0_G4_B_MARK, 543 + D1_MARK, MSIOF3_SYNC_B_MARK, VI3_DATA1_MARK, VI0_G5_MARK, 544 + VI0_G5_B_MARK, D2_MARK, MSIOF3_RXD_B_MARK, VI3_DATA2_MARK, 545 + VI0_G6_MARK, VI0_G6_B_MARK, D3_MARK, MSIOF3_TXD_B_MARK, 546 + VI3_DATA3_MARK, VI0_G7_MARK, VI0_G7_B_MARK, D4_MARK, 547 + SCIFB1_RXD_F_MARK, SCIFB0_RXD_C_MARK, VI3_DATA4_MARK, 548 + VI0_R0_MARK, VI0_R0_B_MARK, RX0_B_MARK, D5_MARK, 549 + SCIFB1_TXD_F_MARK, SCIFB0_TXD_C_MARK, VI3_DATA5_MARK, 550 + VI0_R1_MARK, VI0_R1_B_MARK, TX0_B_MARK, D6_MARK, 551 + SCL2_C_MARK, VI3_DATA6_MARK, VI0_R2_MARK, VI0_R2_B_MARK, 552 + SCL2_CIS_C_MARK, D7_MARK, AD_DI_B_MARK, SDA2_C_MARK, 553 + VI3_DATA7_MARK, VI0_R3_MARK, VI0_R3_B_MARK, SDA2_CIS_C_MARK, 554 + D8_MARK, SCIFA1_SCK_C_MARK, AVB_TXD0_MARK, MII_TXD0_MARK, 555 + VI0_G0_MARK, VI0_G0_B_MARK, VI2_DATA0_VI2_B0_MARK, 556 + 557 + D9_MARK, SCIFA1_RXD_C_MARK, AVB_TXD1_MARK, MII_TXD1_MARK, 558 + VI0_G1_MARK, VI0_G1_B_MARK, VI2_DATA1_VI2_B1_MARK, D10_MARK, 559 + SCIFA1_TXD_C_MARK, AVB_TXD2_MARK, MII_TXD2_MARK, 560 + VI0_G2_MARK, VI0_G2_B_MARK, VI2_DATA2_VI2_B2_MARK, D11_MARK, 561 + SCIFA1_CTS_N_C_MARK, AVB_TXD3_MARK, MII_TXD3_MARK, 562 + VI0_G3_MARK, VI0_G3_B_MARK, VI2_DATA3_VI2_B3_MARK, 563 + D12_MARK, SCIFA1_RTS_N_C_MARK, AVB_TXD4_MARK, 564 + VI0_HSYNC_N_MARK, VI0_HSYNC_N_B_MARK, VI2_DATA4_VI2_B4_MARK, 565 + D13_MARK, AVB_TXD5_MARK, VI0_VSYNC_N_MARK, 566 + VI0_VSYNC_N_B_MARK, VI2_DATA5_VI2_B5_MARK, D14_MARK, 567 + SCIFB1_RXD_C_MARK, AVB_TXD6_MARK, RX1_B_MARK, 568 + VI0_CLKENB_MARK, VI0_CLKENB_B_MARK, VI2_DATA6_VI2_B6_MARK, 569 + D15_MARK, SCIFB1_TXD_C_MARK, AVB_TXD7_MARK, TX1_B_MARK, 570 + VI0_FIELD_MARK, VI0_FIELD_B_MARK, VI2_DATA7_VI2_B7_MARK, 571 + A0_MARK, PWM3_MARK, A1_MARK, PWM4_MARK, 572 + 573 + A2_MARK, PWM5_MARK, MSIOF1_SS1_B_MARK, A3_MARK, 574 + PWM6_MARK, MSIOF1_SS2_B_MARK, A4_MARK, MSIOF1_TXD_B_MARK, 575 + TPU0TO0_MARK, A5_MARK, SCIFA1_TXD_B_MARK, TPU0TO1_MARK, 576 + A6_MARK, SCIFA1_RTS_N_B_MARK, TPU0TO2_MARK, A7_MARK, 577 + SCIFA1_SCK_B_MARK, AUDIO_CLKOUT_B_MARK, TPU0TO3_MARK, 578 + A8_MARK, SCIFA1_RXD_B_MARK, SSI_SCK5_B_MARK, VI0_R4_MARK, 579 + VI0_R4_B_MARK, SCIFB2_RXD_C_MARK, VI2_DATA0_VI2_B0_B_MARK, 580 + A9_MARK, SCIFA1_CTS_N_B_MARK, SSI_WS5_B_MARK, VI0_R5_MARK, 581 + VI0_R5_B_MARK, SCIFB2_TXD_C_MARK, VI2_DATA1_VI2_B1_B_MARK, 582 + A10_MARK, SSI_SDATA5_B_MARK, MSIOF2_SYNC_MARK, VI0_R6_MARK, 583 + VI0_R6_B_MARK, VI2_DATA2_VI2_B2_B_MARK, 584 + 585 + A11_MARK, SCIFB2_CTS_N_B_MARK, MSIOF2_SCK_MARK, VI1_R0_MARK, 586 + VI1_R0_B_MARK, VI2_G0_MARK, VI2_DATA3_VI2_B3_B_MARK, 587 + A12_MARK, SCIFB2_RXD_B_MARK, MSIOF2_TXD_MARK, VI1_R1_MARK, 588 + VI1_R1_B_MARK, VI2_G1_MARK, VI2_DATA4_VI2_B4_B_MARK, 589 + A13_MARK, SCIFB2_RTS_N_B_MARK, EX_WAIT2_MARK, 590 + MSIOF2_RXD_MARK, VI1_R2_MARK, VI1_R2_B_MARK, VI2_G2_MARK, 591 + VI2_DATA5_VI2_B5_B_MARK, A14_MARK, SCIFB2_TXD_B_MARK, 592 + ATACS11_N_MARK, MSIOF2_SS1_MARK, A15_MARK, SCIFB2_SCK_B_MARK, 593 + ATARD1_N_MARK, MSIOF2_SS2_MARK, A16_MARK, ATAWR1_N_MARK, 594 + A17_MARK, AD_DO_B_MARK, ATADIR1_N_MARK, A18_MARK, 595 + AD_CLK_B_MARK, ATAG1_N_MARK, A19_MARK, AD_NCS_N_B_MARK, 596 + ATACS01_N_MARK, EX_WAIT0_B_MARK, A20_MARK, SPCLK_MARK, 597 + VI1_R3_MARK, VI1_R3_B_MARK, VI2_G4_MARK, 598 + 599 + A21_MARK, MOSI_IO0_MARK, VI1_R4_MARK, VI1_R4_B_MARK, VI2_G5_MARK, 600 + A22_MARK, MISO_IO1_MARK, VI1_R5_MARK, VI1_R5_B_MARK, 601 + VI2_G6_MARK, A23_MARK, IO2_MARK, VI1_G7_MARK, 602 + VI1_G7_B_MARK, VI2_G7_MARK, A24_MARK, IO3_MARK, 603 + VI1_R7_MARK, VI1_R7_B_MARK, VI2_CLKENB_MARK, 604 + VI2_CLKENB_B_MARK, A25_MARK, SSL_MARK, VI1_G6_MARK, 605 + VI1_G6_B_MARK, VI2_FIELD_MARK, VI2_FIELD_B_MARK, CS0_N_MARK, 606 + VI1_R6_MARK, VI1_R6_B_MARK, VI2_G3_MARK, MSIOF0_SS2_B_MARK, 607 + CS1_N_A26_MARK, SPEEDIN_MARK, VI0_R7_MARK, VI0_R7_B_MARK, 608 + VI2_CLK_MARK, VI2_CLK_B_MARK, EX_CS0_N_MARK, HRX1_B_MARK, 609 + VI1_G5_MARK, VI1_G5_B_MARK, VI2_R0_MARK, HTX0_B_MARK, 610 + MSIOF0_SS1_B_MARK, EX_CS1_N_MARK, GPS_CLK_MARK, 611 + HCTS1_N_B_MARK, VI1_FIELD_MARK, VI1_FIELD_B_MARK, 612 + VI2_R1_MARK, EX_CS2_N_MARK, GPS_SIGN_MARK, HRTS1_N_B_MARK, 613 + VI3_CLKENB_MARK, VI1_G0_MARK, VI1_G0_B_MARK, VI2_R2_MARK, 614 + 615 + EX_CS3_N_MARK, GPS_MAG_MARK, VI3_FIELD_MARK, 616 + VI1_G1_MARK, VI1_G1_B_MARK, VI2_R3_MARK, 617 + EX_CS4_N_MARK, MSIOF1_SCK_B_MARK, VI3_HSYNC_N_MARK, 618 + VI2_HSYNC_N_MARK, SCL1_MARK, VI2_HSYNC_N_B_MARK, 619 + INTC_EN0_N_MARK, SCL1_CIS_MARK, EX_CS5_N_MARK, CAN0_RX_MARK, 620 + MSIOF1_RXD_B_MARK, VI3_VSYNC_N_MARK, VI1_G2_MARK, 621 + VI1_G2_B_MARK, VI2_R4_MARK, SDA1_MARK, INTC_EN1_N_MARK, 622 + SDA1_CIS_MARK, BS_N_MARK, IETX_MARK, HTX1_B_MARK, 623 + CAN1_TX_MARK, DRACK0_MARK, IETX_C_MARK, RD_N_MARK, 624 + CAN0_TX_MARK, SCIFA0_SCK_B_MARK, RD_WR_N_MARK, VI1_G3_MARK, 625 + VI1_G3_B_MARK, VI2_R5_MARK, SCIFA0_RXD_B_MARK, 626 + INTC_IRQ4_N_MARK, WE0_N_MARK, IECLK_MARK, CAN_CLK_MARK, 627 + VI2_VSYNC_N_MARK, SCIFA0_TXD_B_MARK, VI2_VSYNC_N_B_MARK, 628 + WE1_N_MARK, IERX_MARK, CAN1_RX_MARK, VI1_G4_MARK, 629 + VI1_G4_B_MARK, VI2_R6_MARK, SCIFA0_CTS_N_B_MARK, 630 + IERX_C_MARK, EX_WAIT0_MARK, IRQ3_MARK, INTC_IRQ3_N_MARK, 631 + VI3_CLK_MARK, SCIFA0_RTS_N_B_MARK, HRX0_B_MARK, 632 + MSIOF0_SCK_B_MARK, DREQ0_N_MARK, VI1_HSYNC_N_MARK, 633 + VI1_HSYNC_N_B_MARK, VI2_R7_MARK, SSI_SCK78_C_MARK, 634 + SSI_WS78_B_MARK, 635 + 636 + DACK0_MARK, IRQ0_MARK, INTC_IRQ0_N_MARK, SSI_SCK6_B_MARK, 637 + VI1_VSYNC_N_MARK, VI1_VSYNC_N_B_MARK, SSI_WS78_C_MARK, 638 + DREQ1_N_MARK, VI1_CLKENB_MARK, VI1_CLKENB_B_MARK, 639 + SSI_SDATA7_C_MARK, SSI_SCK78_B_MARK, DACK1_MARK, IRQ1_MARK, 640 + INTC_IRQ1_N_MARK, SSI_WS6_B_MARK, SSI_SDATA8_C_MARK, 641 + DREQ2_N_MARK, HSCK1_B_MARK, HCTS0_N_B_MARK, 642 + MSIOF0_TXD_B_MARK, DACK2_MARK, IRQ2_MARK, INTC_IRQ2_N_MARK, 643 + SSI_SDATA6_B_MARK, HRTS0_N_B_MARK, MSIOF0_RXD_B_MARK, 644 + ETH_CRS_DV_MARK, RMII_CRS_DV_MARK, STP_ISCLK_0_B_MARK, 645 + TS_SDEN0_D_MARK, GLO_Q0_C_MARK, SCL2_E_MARK, 646 + SCL2_CIS_E_MARK, ETH_RX_ER_MARK, RMII_RX_ER_MARK, 647 + STP_ISD_0_B_MARK, TS_SPSYNC0_D_MARK, GLO_Q1_C_MARK, 648 + SDA2_E_MARK, SDA2_CIS_E_MARK, ETH_RXD0_MARK, RMII_RXD0_MARK, 649 + STP_ISEN_0_B_MARK, TS_SDAT0_D_MARK, GLO_I0_C_MARK, 650 + SCIFB1_SCK_G_MARK, SCK1_E_MARK, ETH_RXD1_MARK, 651 + RMII_RXD1_MARK, HRX0_E_MARK, STP_ISSYNC_0_B_MARK, 652 + TS_SCK0_D_MARK, GLO_I1_C_MARK, SCIFB1_RXD_G_MARK, 653 + RX1_E_MARK, ETH_LINK_MARK, RMII_LINK_MARK, HTX0_E_MARK, 654 + STP_IVCXO27_0_B_MARK, SCIFB1_TXD_G_MARK, TX1_E_MARK, 655 + ETH_REF_CLK_MARK, RMII_REF_CLK_MARK, HCTS0_N_E_MARK, 656 + STP_IVCXO27_1_B_MARK, HRX0_F_MARK, 657 + 658 + ETH_MDIO_MARK, RMII_MDIO_MARK, HRTS0_N_E_MARK, 659 + SIM0_D_C_MARK, HCTS0_N_F_MARK, ETH_TXD1_MARK, 660 + RMII_TXD1_MARK, HTX0_F_MARK, BPFCLK_G_MARK, RDS_CLK_F_MARK, 661 + ETH_TX_EN_MARK, RMII_TX_EN_MARK, SIM0_CLK_C_MARK, 662 + HRTS0_N_F_MARK, ETH_MAGIC_MARK, RMII_MAGIC_MARK, 663 + SIM0_RST_C_MARK, ETH_TXD0_MARK, RMII_TXD0_MARK, 664 + STP_ISCLK_1_B_MARK, TS_SDEN1_C_MARK, GLO_SCLK_C_MARK, 665 + ETH_MDC_MARK, RMII_MDC_MARK, STP_ISD_1_B_MARK, 666 + TS_SPSYNC1_C_MARK, GLO_SDATA_C_MARK, PWM0_MARK, 667 + SCIFA2_SCK_C_MARK, STP_ISEN_1_B_MARK, TS_SDAT1_C_MARK, 668 + GLO_SS_C_MARK, PWM1_MARK, SCIFA2_TXD_C_MARK, 669 + STP_ISSYNC_1_B_MARK, TS_SCK1_C_MARK, GLO_RFON_C_MARK, 670 + PCMOE_N_MARK, PWM2_MARK, PWMFSW0_MARK, SCIFA2_RXD_C_MARK, 671 + PCMWE_N_MARK, IECLK_C_MARK, DU1_DOTCLKIN_MARK, 672 + AUDIO_CLKC_MARK, AUDIO_CLKOUT_C_MARK, VI0_CLK_MARK, 673 + ATACS00_N_MARK, AVB_RXD1_MARK, MII_RXD1_MARK, 674 + VI0_DATA0_VI0_B0_MARK, ATACS10_N_MARK, AVB_RXD2_MARK, 675 + MII_RXD2_MARK, 676 + 677 + VI0_DATA1_VI0_B1_MARK, ATARD0_N_MARK, AVB_RXD3_MARK, 678 + MII_RXD3_MARK, VI0_DATA2_VI0_B2_MARK, ATAWR0_N_MARK, 679 + AVB_RXD4_MARK, VI0_DATA3_VI0_B3_MARK, ATADIR0_N_MARK, 680 + AVB_RXD5_MARK, VI0_DATA4_VI0_B4_MARK, ATAG0_N_MARK, 681 + AVB_RXD6_MARK, VI0_DATA5_VI0_B5_MARK, EX_WAIT1_MARK, 682 + AVB_RXD7_MARK, VI0_DATA6_VI0_B6_MARK, AVB_RX_ER_MARK, 683 + MII_RX_ER_MARK, VI0_DATA7_VI0_B7_MARK, AVB_RX_CLK_MARK, 684 + MII_RX_CLK_MARK, VI1_CLK_MARK, AVB_RX_DV_MARK, 685 + MII_RX_DV_MARK, VI1_DATA0_VI1_B0_MARK, SCIFA1_SCK_D_MARK, 686 + AVB_CRS_MARK, MII_CRS_MARK, VI1_DATA1_VI1_B1_MARK, 687 + SCIFA1_RXD_D_MARK, AVB_MDC_MARK, MII_MDC_MARK, 688 + VI1_DATA2_VI1_B2_MARK, SCIFA1_TXD_D_MARK, AVB_MDIO_MARK, 689 + MII_MDIO_MARK, VI1_DATA3_VI1_B3_MARK, SCIFA1_CTS_N_D_MARK, 690 + AVB_GTX_CLK_MARK, VI1_DATA4_VI1_B4_MARK, SCIFA1_RTS_N_D_MARK, 691 + AVB_MAGIC_MARK, MII_MAGIC_MARK, VI1_DATA5_VI1_B5_MARK, 692 + AVB_PHY_INT_MARK, VI1_DATA6_VI1_B6_MARK, AVB_GTXREFCLK_MARK, 693 + SD0_CLK_MARK, VI1_DATA0_VI1_B0_B_MARK, SD0_CMD_MARK, 694 + SCIFB1_SCK_B_MARK, VI1_DATA1_VI1_B1_B_MARK, 695 + 696 + SD0_DAT0_MARK, SCIFB1_RXD_B_MARK, VI1_DATA2_VI1_B2_B_MARK, 697 + SD0_DAT1_MARK, SCIFB1_TXD_B_MARK, VI1_DATA3_VI1_B3_B_MARK, 698 + SD0_DAT2_MARK, SCIFB1_CTS_N_B_MARK, VI1_DATA4_VI1_B4_B_MARK, 699 + SD0_DAT3_MARK, SCIFB1_RTS_N_B_MARK, VI1_DATA5_VI1_B5_B_MARK, 700 + SD0_CD_MARK, MMC0_D6_MARK, TS_SDEN0_B_MARK, USB0_EXTP_MARK, 701 + GLO_SCLK_MARK, VI1_DATA6_VI1_B6_B_MARK, SCL1_B_MARK, 702 + SCL1_CIS_B_MARK, VI2_DATA6_VI2_B6_B_MARK, SD0_WP_MARK, 703 + MMC0_D7_MARK, TS_SPSYNC0_B_MARK, USB0_IDIN_MARK, 704 + GLO_SDATA_MARK, VI1_DATA7_VI1_B7_B_MARK, SDA1_B_MARK, 705 + SDA1_CIS_B_MARK, VI2_DATA7_VI2_B7_B_MARK, SD1_CLK_MARK, 706 + AVB_TX_EN_MARK, MII_TX_EN_MARK, SD1_CMD_MARK, 707 + AVB_TX_ER_MARK, MII_TX_ER_MARK, SCIFB0_SCK_B_MARK, 708 + SD1_DAT0_MARK, AVB_TX_CLK_MARK, MII_TX_CLK_MARK, 709 + SCIFB0_RXD_B_MARK, SD1_DAT1_MARK, AVB_LINK_MARK, 710 + MII_LINK_MARK, SCIFB0_TXD_B_MARK, SD1_DAT2_MARK, 711 + AVB_COL_MARK, MII_COL_MARK, SCIFB0_CTS_N_B_MARK, 712 + SD1_DAT3_MARK, AVB_RXD0_MARK, MII_RXD0_MARK, 713 + SCIFB0_RTS_N_B_MARK, SD1_CD_MARK, MMC1_D6_MARK, 714 + TS_SDEN1_MARK, USB1_EXTP_MARK, GLO_SS_MARK, VI0_CLK_B_MARK, 715 + SCL2_D_MARK, SCL2_CIS_D_MARK, SIM0_CLK_B_MARK, 716 + VI3_CLK_B_MARK, 717 + 718 + SD1_WP_MARK, MMC1_D7_MARK, TS_SPSYNC1_MARK, USB1_IDIN_MARK, 719 + GLO_RFON_MARK, VI1_CLK_B_MARK, SDA2_D_MARK, SDA2_CIS_D_MARK, 720 + SIM0_D_B_MARK, SD2_CLK_MARK, MMC0_CLK_MARK, SIM0_CLK_MARK, 721 + VI0_DATA0_VI0_B0_B_MARK, TS_SDEN0_C_MARK, GLO_SCLK_B_MARK, 722 + VI3_DATA0_B_MARK, SD2_CMD_MARK, MMC0_CMD_MARK, SIM0_D_MARK, 723 + VI0_DATA1_VI0_B1_B_MARK, SCIFB1_SCK_E_MARK, SCK1_D_MARK, 724 + TS_SPSYNC0_C_MARK, GLO_SDATA_B_MARK, VI3_DATA1_B_MARK, 725 + SD2_DAT0_MARK, MMC0_D0_MARK, FMCLK_B_MARK, 726 + VI0_DATA2_VI0_B2_B_MARK, SCIFB1_RXD_E_MARK, RX1_D_MARK, 727 + TS_SDAT0_C_MARK, GLO_SS_B_MARK, VI3_DATA2_B_MARK, 728 + SD2_DAT1_MARK, MMC0_D1_MARK, FMIN_B_MARK, RDS_DATA_MARK, 729 + VI0_DATA3_VI0_B3_B_MARK, SCIFB1_TXD_E_MARK, TX1_D_MARK, 730 + TS_SCK0_C_MARK, GLO_RFON_B_MARK, VI3_DATA3_B_MARK, 731 + SD2_DAT2_MARK, MMC0_D2_MARK, BPFCLK_B_MARK, RDS_CLK_MARK, 732 + VI0_DATA4_VI0_B4_B_MARK, HRX0_D_MARK, TS_SDEN1_B_MARK, 733 + GLO_Q0_B_MARK, VI3_DATA4_B_MARK, SD2_DAT3_MARK, 734 + MMC0_D3_MARK, SIM0_RST_MARK, VI0_DATA5_VI0_B5_B_MARK, 735 + HTX0_D_MARK, TS_SPSYNC1_B_MARK, GLO_Q1_B_MARK, 736 + VI3_DATA5_B_MARK, SD2_CD_MARK, MMC0_D4_MARK, 737 + TS_SDAT0_B_MARK, USB2_EXTP_MARK, GLO_I0_MARK, 738 + VI0_DATA6_VI0_B6_B_MARK, HCTS0_N_D_MARK, TS_SDAT1_B_MARK, 739 + GLO_I0_B_MARK, VI3_DATA6_B_MARK, 740 + 741 + SD2_WP_MARK, MMC0_D5_MARK, TS_SCK0_B_MARK, USB2_IDIN_MARK, 742 + GLO_I1_MARK, VI0_DATA7_VI0_B7_B_MARK, HRTS0_N_D_MARK, 743 + TS_SCK1_B_MARK, GLO_I1_B_MARK, VI3_DATA7_B_MARK, 744 + SD3_CLK_MARK, MMC1_CLK_MARK, SD3_CMD_MARK, MMC1_CMD_MARK, 745 + MTS_N_MARK, SD3_DAT0_MARK, MMC1_D0_MARK, STM_N_MARK, 746 + SD3_DAT1_MARK, MMC1_D1_MARK, MDATA_MARK, SD3_DAT2_MARK, 747 + MMC1_D2_MARK, SDATA_MARK, SD3_DAT3_MARK, MMC1_D3_MARK, 748 + SCKZ_MARK, SD3_CD_MARK, MMC1_D4_MARK, TS_SDAT1_MARK, 749 + VSP_MARK, GLO_Q0_MARK, SIM0_RST_B_MARK, SD3_WP_MARK, 750 + MMC1_D5_MARK, TS_SCK1_MARK, GLO_Q1_MARK, FMIN_C_MARK, 751 + RDS_DATA_B_MARK, FMIN_E_MARK, RDS_DATA_D_MARK, FMIN_F_MARK, 752 + RDS_DATA_E_MARK, MLB_CLK_MARK, SCL2_B_MARK, SCL2_CIS_B_MARK, 753 + MLB_SIG_MARK, SCIFB1_RXD_D_MARK, RX1_C_MARK, SDA2_B_MARK, 754 + SDA2_CIS_B_MARK, MLB_DAT_MARK, SPV_EVEN_MARK, 755 + SCIFB1_TXD_D_MARK, TX1_C_MARK, BPFCLK_C_MARK, 756 + RDS_CLK_B_MARK, SSI_SCK0129_MARK, CAN_CLK_B_MARK, 757 + MOUT0_MARK, 758 + 759 + SSI_WS0129_MARK, CAN0_TX_B_MARK, MOUT1_MARK, 760 + SSI_SDATA0_MARK, CAN0_RX_B_MARK, MOUT2_MARK, 761 + SSI_SDATA1_MARK, CAN1_TX_B_MARK, MOUT5_MARK, 762 + SSI_SDATA2_MARK, CAN1_RX_B_MARK, SSI_SCK1_MARK, MOUT6_MARK, 763 + SSI_SCK34_MARK, STP_OPWM_0_MARK, SCIFB0_SCK_MARK, 764 + MSIOF1_SCK_MARK, CAN_DEBUG_HW_TRIGGER_MARK, SSI_WS34_MARK, 765 + STP_IVCXO27_0_MARK, SCIFB0_RXD_MARK, MSIOF1_SYNC_MARK, 766 + CAN_STEP0_MARK, SSI_SDATA3_MARK, STP_ISCLK_0_MARK, 767 + SCIFB0_TXD_MARK, MSIOF1_SS1_MARK, CAN_TXCLK_MARK, 768 + SSI_SCK4_MARK, STP_ISD_0_MARK, SCIFB0_CTS_N_MARK, 769 + MSIOF1_SS2_MARK, SSI_SCK5_C_MARK, CAN_DEBUGOUT0_MARK, 770 + SSI_WS4_MARK, STP_ISEN_0_MARK, SCIFB0_RTS_N_MARK, 771 + MSIOF1_TXD_MARK, SSI_WS5_C_MARK, CAN_DEBUGOUT1_MARK, 772 + SSI_SDATA4_MARK, STP_ISSYNC_0_MARK, MSIOF1_RXD_MARK, 773 + CAN_DEBUGOUT2_MARK, SSI_SCK5_MARK, SCIFB1_SCK_MARK, 774 + IERX_B_MARK, DU2_EXHSYNC_DU2_HSYNC_MARK, QSTH_QHS_MARK, 775 + CAN_DEBUGOUT3_MARK, SSI_WS5_MARK, SCIFB1_RXD_MARK, 776 + IECLK_B_MARK, DU2_EXVSYNC_DU2_VSYNC_MARK, QSTB_QHE_MARK, 777 + CAN_DEBUGOUT4_MARK, 778 + 779 + SSI_SDATA5_MARK, SCIFB1_TXD_MARK, IETX_B_MARK, DU2_DR2_MARK, 780 + LCDOUT2_MARK, CAN_DEBUGOUT5_MARK, SSI_SCK6_MARK, 781 + SCIFB1_CTS_N_MARK, BPFCLK_D_MARK, RDS_CLK_C_MARK, 782 + DU2_DR3_MARK, LCDOUT3_MARK, CAN_DEBUGOUT6_MARK, 783 + BPFCLK_F_MARK, RDS_CLK_E_MARK, SSI_WS6_MARK, 784 + SCIFB1_RTS_N_MARK, CAN0_TX_D_MARK, DU2_DR4_MARK, 785 + LCDOUT4_MARK, CAN_DEBUGOUT7_MARK, SSI_SDATA6_MARK, 786 + FMIN_D_MARK, RDS_DATA_C_MARK, DU2_DR5_MARK, LCDOUT5_MARK, 787 + CAN_DEBUGOUT8_MARK, SSI_SCK78_MARK, STP_IVCXO27_1_MARK, 788 + SCK1_MARK, SCIFA1_SCK_MARK, DU2_DR6_MARK, LCDOUT6_MARK, 789 + CAN_DEBUGOUT9_MARK, SSI_WS78_MARK, STP_ISCLK_1_MARK, 790 + SCIFB2_SCK_MARK, SCIFA2_CTS_N_MARK, DU2_DR7_MARK, 791 + LCDOUT7_MARK, CAN_DEBUGOUT10_MARK, SSI_SDATA7_MARK, 792 + STP_ISD_1_MARK, SCIFB2_RXD_MARK, SCIFA2_RTS_N_MARK, 793 + TCLK2_MARK, QSTVA_QVS_MARK, CAN_DEBUGOUT11_MARK, 794 + BPFCLK_E_MARK, RDS_CLK_D_MARK, SSI_SDATA7_B_MARK, 795 + FMIN_G_MARK, RDS_DATA_F_MARK, SSI_SDATA8_MARK, 796 + STP_ISEN_1_MARK, SCIFB2_TXD_MARK, CAN0_TX_C_MARK, 797 + CAN_DEBUGOUT12_MARK, SSI_SDATA8_B_MARK, SSI_SDATA9_MARK, 798 + STP_ISSYNC_1_MARK, SCIFB2_CTS_N_MARK, SSI_WS1_MARK, 799 + SSI_SDATA5_C_MARK, CAN_DEBUGOUT13_MARK, AUDIO_CLKA_MARK, 800 + SCIFB2_RTS_N_MARK, CAN_DEBUGOUT14_MARK, 801 + 802 + AUDIO_CLKB_MARK, SCIF_CLK_MARK, CAN0_RX_D_MARK, 803 + DVC_MUTE_MARK, CAN0_RX_C_MARK, CAN_DEBUGOUT15_MARK, 804 + REMOCON_MARK, SCIFA0_SCK_MARK, HSCK1_MARK, SCK0_MARK, 805 + MSIOF3_SS2_MARK, DU2_DG2_MARK, LCDOUT10_MARK, SDA1_C_MARK, 806 + SDA1_CIS_C_MARK, SCIFA0_RXD_MARK, HRX1_MARK, RX0_MARK, 807 + DU2_DR0_MARK, LCDOUT0_MARK, SCIFA0_TXD_MARK, HTX1_MARK, 808 + TX0_MARK, DU2_DR1_MARK, LCDOUT1_MARK, SCIFA0_CTS_N_MARK, 809 + HCTS1_N_MARK, CTS0_N_MARK, MSIOF3_SYNC_MARK, DU2_DG3_MARK, 810 + LCDOUT11_MARK, PWM0_B_MARK, SCL1_C_MARK, SCL1_CIS_C_MARK, 811 + SCIFA0_RTS_N_MARK, HRTS1_N_MARK, RTS0_N_TANS_MARK, 812 + MSIOF3_SS1_MARK, DU2_DG0_MARK, LCDOUT8_MARK, PWM1_B_MARK, 813 + SCIFA1_RXD_MARK, AD_DI_MARK, RX1_MARK, 814 + DU2_EXODDF_DU2_ODDF_DISP_CDE_MARK, QCPV_QDE_MARK, 815 + SCIFA1_TXD_MARK, AD_DO_MARK, TX1_MARK, DU2_DG1_MARK, 816 + LCDOUT9_MARK, SCIFA1_CTS_N_MARK, AD_CLK_MARK, 817 + CTS1_N_MARK, MSIOF3_RXD_MARK, DU0_DOTCLKOUT_MARK, QCLK_MARK, 818 + SCIFA1_RTS_N_MARK, AD_NCS_N_MARK, RTS1_N_TANS_MARK, 819 + MSIOF3_TXD_MARK, DU1_DOTCLKOUT_MARK, QSTVB_QVE_MARK, 820 + HRTS0_N_C_MARK, 821 + 822 + SCIFA2_SCK_MARK, FMCLK_MARK, MSIOF3_SCK_MARK, DU2_DG7_MARK, 823 + LCDOUT15_MARK, SCIF_CLK_B_MARK, SCIFA2_RXD_MARK, FMIN_MARK, 824 + DU2_DB0_MARK, LCDOUT16_MARK, SCL2_MARK, SCL2_CIS_MARK, 825 + SCIFA2_TXD_MARK, BPFCLK_MARK, DU2_DB1_MARK, LCDOUT17_MARK, 826 + SDA2_MARK, SDA2_CIS_MARK, HSCK0_MARK, TS_SDEN0_MARK, 827 + DU2_DG4_MARK, LCDOUT12_MARK, HCTS0_N_C_MARK, HRX0_MARK, 828 + DU2_DB2_MARK, LCDOUT18_MARK, HTX0_MARK, DU2_DB3_MARK, 829 + LCDOUT19_MARK, HCTS0_N_MARK, SSI_SCK9_MARK, DU2_DB4_MARK, 830 + LCDOUT20_MARK, HRTS0_N_MARK, SSI_WS9_MARK, DU2_DB5_MARK, 831 + LCDOUT21_MARK, MSIOF0_SCK_MARK, TS_SDAT0_MARK, ADICLK_MARK, 832 + DU2_DB6_MARK, LCDOUT22_MARK, MSIOF0_SYNC_MARK, TS_SCK0_MARK, 833 + SSI_SCK2_MARK, ADIDATA_MARK, DU2_DB7_MARK, LCDOUT23_MARK, 834 + SCIFA2_RXD_B_MARK, MSIOF0_SS1_MARK, ADICHS0_MARK, 835 + DU2_DG5_MARK, LCDOUT13_MARK, MSIOF0_TXD_MARK, ADICHS1_MARK, 836 + DU2_DG6_MARK, LCDOUT14_MARK, 837 + 838 + MSIOF0_SS2_MARK, AUDIO_CLKOUT_MARK, ADICHS2_MARK, 839 + DU2_DISP_MARK, QPOLA_MARK, HTX0_C_MARK, SCIFA2_TXD_B_MARK, 840 + MSIOF0_RXD_MARK, TS_SPSYNC0_MARK, SSI_WS2_MARK, 841 + ADICS_SAMP_MARK, DU2_CDE_MARK, QPOLB_MARK, HRX0_C_MARK, 842 + USB1_PWEN_MARK, AUDIO_CLKOUT_D_MARK, USB1_OVC_MARK, 843 + TCLK1_B_MARK, 844 + PINMUX_MARK_END, 845 + }; 846 + 847 + static const pinmux_enum_t pinmux_data[] = { 848 + PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */ 849 + 850 + PINMUX_DATA(VI1_DATA7_VI1_B7_MARK, FN_VI1_DATA7_VI1_B7), 851 + PINMUX_DATA(USB0_PWEN_MARK, FN_USB0_PWEN), 852 + PINMUX_DATA(USB0_OVC_VBUS_MARK, FN_USB0_OVC_VBUS), 853 + PINMUX_DATA(USB2_PWEN_MARK, FN_USB2_PWEN), 854 + PINMUX_DATA(USB2_OVC_MARK, FN_USB2_OVC), 855 + PINMUX_DATA(AVS1_MARK, FN_AVS1), 856 + PINMUX_DATA(AVS2_MARK, FN_AVS2), 857 + PINMUX_DATA(DU_DOTCLKIN0_MARK, FN_DU_DOTCLKIN0), 858 + PINMUX_DATA(DU_DOTCLKIN2_MARK, FN_DU_DOTCLKIN2), 859 + 860 + PINMUX_IPSR_DATA(IP0_2_0, D0), 861 + PINMUX_IPSR_MODSEL_DATA(IP0_2_0, MSIOF3_SCK_B, SEL_SOF3_1), 862 + PINMUX_IPSR_MODSEL_DATA(IP0_2_0, VI3_DATA0, SEL_VI3_0), 863 + PINMUX_IPSR_MODSEL_DATA(IP0_2_0, VI0_G4, SEL_VI0_0), 864 + PINMUX_IPSR_MODSEL_DATA(IP0_2_0, VI0_G4_B, SEL_VI0_1), 865 + PINMUX_IPSR_DATA(IP0_5_3, D1), 866 + PINMUX_IPSR_MODSEL_DATA(IP0_5_3, MSIOF3_SYNC_B, SEL_SOF3_1), 867 + PINMUX_IPSR_MODSEL_DATA(IP0_5_3, VI3_DATA1, SEL_VI3_0), 868 + PINMUX_IPSR_MODSEL_DATA(IP0_5_3, VI0_G5, SEL_VI0_0), 869 + PINMUX_IPSR_MODSEL_DATA(IP0_5_3, VI0_G5_B, SEL_VI0_1), 870 + PINMUX_IPSR_DATA(IP0_8_6, D2), 871 + PINMUX_IPSR_MODSEL_DATA(IP0_8_6, MSIOF3_RXD_B, SEL_SOF3_1), 872 + PINMUX_IPSR_MODSEL_DATA(IP0_8_6, VI3_DATA2, SEL_VI3_0), 873 + PINMUX_IPSR_MODSEL_DATA(IP0_8_6, VI0_G6, SEL_VI0_0), 874 + PINMUX_IPSR_MODSEL_DATA(IP0_8_6, VI0_G6_B, SEL_VI0_1), 875 + PINMUX_IPSR_DATA(IP0_11_9, D3), 876 + PINMUX_IPSR_MODSEL_DATA(IP0_11_9, MSIOF3_TXD_B, SEL_SOF3_1), 877 + PINMUX_IPSR_MODSEL_DATA(IP0_11_9, VI3_DATA3, SEL_VI3_0), 878 + PINMUX_IPSR_MODSEL_DATA(IP0_11_9, VI0_G7, SEL_VI0_0), 879 + PINMUX_IPSR_MODSEL_DATA(IP0_11_9, VI0_G7_B, SEL_VI0_1), 880 + PINMUX_IPSR_DATA(IP0_15_12, D4), 881 + PINMUX_IPSR_MODSEL_DATA(IP0_15_12, SCIFB1_RXD_F, SEL_SCIFB1_5), 882 + PINMUX_IPSR_MODSEL_DATA(IP0_15_12, SCIFB0_RXD_C, SEL_SCIFB_2), 883 + PINMUX_IPSR_MODSEL_DATA(IP0_15_12, VI3_DATA4, SEL_VI3_0), 884 + PINMUX_IPSR_MODSEL_DATA(IP0_15_12, VI0_R0, SEL_VI0_0), 885 + PINMUX_IPSR_MODSEL_DATA(IP0_15_12, VI0_R0_B, SEL_VI0_1), 886 + PINMUX_IPSR_MODSEL_DATA(IP0_15_12, RX0_B, SEL_SCIF0_1), 887 + PINMUX_IPSR_DATA(IP0_19_16, D5), 888 + PINMUX_IPSR_MODSEL_DATA(IP0_19_16, SCIFB1_TXD_F, SEL_SCIFB1_5), 889 + PINMUX_IPSR_MODSEL_DATA(IP0_19_16, SCIFB0_TXD_C, SEL_SCIFB_2), 890 + PINMUX_IPSR_MODSEL_DATA(IP0_19_16, VI3_DATA5, SEL_VI3_0), 891 + PINMUX_IPSR_MODSEL_DATA(IP0_19_16, VI0_R1, SEL_VI0_0), 892 + PINMUX_IPSR_MODSEL_DATA(IP0_19_16, VI0_R1_B, SEL_VI0_1), 893 + PINMUX_IPSR_MODSEL_DATA(IP0_19_16, TX0_B, SEL_SCIF0_1), 894 + PINMUX_IPSR_DATA(IP0_22_20, D6), 895 + PINMUX_IPSR_MODSEL_DATA(IP0_22_20, SCL2_C, SEL_IIC2_2), 896 + PINMUX_IPSR_MODSEL_DATA(IP0_22_20, VI3_DATA6, SEL_VI3_0), 897 + PINMUX_IPSR_MODSEL_DATA(IP0_22_20, VI0_R2, SEL_VI0_0), 898 + PINMUX_IPSR_MODSEL_DATA(IP0_22_20, VI0_R2_B, SEL_VI0_1), 899 + PINMUX_IPSR_MODSEL_DATA(IP0_22_20, SCL2_CIS_C, SEL_I2C2_2), 900 + PINMUX_IPSR_DATA(IP0_26_23, D7), 901 + PINMUX_IPSR_MODSEL_DATA(IP0_26_23, AD_DI_B, SEL_ADI_1), 902 + PINMUX_IPSR_MODSEL_DATA(IP0_26_23, SDA2_C, SEL_IIC2_2), 903 + PINMUX_IPSR_MODSEL_DATA(IP0_26_23, VI3_DATA7, SEL_VI3_0), 904 + PINMUX_IPSR_MODSEL_DATA(IP0_26_23, VI0_R3, SEL_VI0_0), 905 + PINMUX_IPSR_MODSEL_DATA(IP0_26_23, VI0_R3_B, SEL_VI0_1), 906 + PINMUX_IPSR_MODSEL_DATA(IP0_26_23, SDA2_CIS_C, SEL_I2C2_2), 907 + PINMUX_IPSR_DATA(IP0_30_27, D8), 908 + PINMUX_IPSR_MODSEL_DATA(IP0_30_27, SCIFA1_SCK_C, SEL_SCIFA1_2), 909 + PINMUX_IPSR_DATA(IP0_30_27, AVB_TXD0), 910 + PINMUX_IPSR_DATA(IP0_30_27, MII_TXD0), 911 + PINMUX_IPSR_MODSEL_DATA(IP0_30_27, VI0_G0, SEL_VI0_0), 912 + PINMUX_IPSR_MODSEL_DATA(IP0_30_27, VI0_G0_B, SEL_VI0_1), 913 + PINMUX_IPSR_MODSEL_DATA(IP0_30_27, VI2_DATA0_VI2_B0, SEL_VI2_0), 914 + 915 + PINMUX_IPSR_DATA(IP1_3_0, D9), 916 + PINMUX_IPSR_MODSEL_DATA(IP1_3_0, SCIFA1_RXD_C, SEL_SCIFA1_2), 917 + PINMUX_IPSR_DATA(IP1_3_0, AVB_TXD1), 918 + PINMUX_IPSR_DATA(IP1_3_0, MII_TXD1), 919 + PINMUX_IPSR_MODSEL_DATA(IP1_3_0, VI0_G1, SEL_VI0_0), 920 + PINMUX_IPSR_MODSEL_DATA(IP1_3_0, VI0_G1_B, SEL_VI0_1), 921 + PINMUX_IPSR_MODSEL_DATA(IP1_3_0, VI2_DATA1_VI2_B1, SEL_VI2_0), 922 + PINMUX_IPSR_DATA(IP1_7_4, D10), 923 + PINMUX_IPSR_MODSEL_DATA(IP1_7_4, SCIFA1_TXD_C, SEL_SCIFA1_2), 924 + PINMUX_IPSR_DATA(IP1_7_4, AVB_TXD2), 925 + PINMUX_IPSR_DATA(IP1_7_4, MII_TXD2), 926 + PINMUX_IPSR_MODSEL_DATA(IP1_7_4, VI0_G2, SEL_VI0_0), 927 + PINMUX_IPSR_MODSEL_DATA(IP1_7_4, VI0_G2_B, SEL_VI0_1), 928 + PINMUX_IPSR_MODSEL_DATA(IP1_7_4, VI2_DATA2_VI2_B2, SEL_VI2_0), 929 + PINMUX_IPSR_DATA(IP1_11_8, D11), 930 + PINMUX_IPSR_MODSEL_DATA(IP1_11_8, SCIFA1_CTS_N_C, SEL_SCIFA1_2), 931 + PINMUX_IPSR_DATA(IP1_11_8, AVB_TXD3), 932 + PINMUX_IPSR_DATA(IP1_11_8, MII_TXD3), 933 + PINMUX_IPSR_MODSEL_DATA(IP1_11_8, VI0_G3, SEL_VI0_0), 934 + PINMUX_IPSR_MODSEL_DATA(IP1_11_8, VI0_G3_B, SEL_VI0_1), 935 + PINMUX_IPSR_MODSEL_DATA(IP1_11_8, VI2_DATA3_VI2_B3, SEL_VI2_0), 936 + PINMUX_IPSR_DATA(IP1_14_12, D12), 937 + PINMUX_IPSR_MODSEL_DATA(IP1_14_12, SCIFA1_RTS_N_C, SEL_SCIFA1_2), 938 + PINMUX_IPSR_DATA(IP1_14_12, AVB_TXD4), 939 + PINMUX_IPSR_MODSEL_DATA(IP1_14_12, VI0_HSYNC_N, SEL_VI0_0), 940 + PINMUX_IPSR_MODSEL_DATA(IP1_14_12, VI0_HSYNC_N_B, SEL_VI0_1), 941 + PINMUX_IPSR_MODSEL_DATA(IP1_14_12, VI2_DATA4_VI2_B4, SEL_VI2_0), 942 + PINMUX_IPSR_DATA(IP1_17_15, D13), 943 + PINMUX_IPSR_MODSEL_DATA(IP1_17_15, AVB_TXD5, SEL_SCIFA1_2), 944 + PINMUX_IPSR_MODSEL_DATA(IP1_17_15, VI0_VSYNC_N, SEL_VI0_0), 945 + PINMUX_IPSR_MODSEL_DATA(IP1_17_15, VI0_VSYNC_N_B, SEL_VI0_1), 946 + PINMUX_IPSR_MODSEL_DATA(IP1_17_15, VI2_DATA5_VI2_B5, SEL_VI2_0), 947 + PINMUX_IPSR_DATA(IP1_21_18, D14), 948 + PINMUX_IPSR_MODSEL_DATA(IP1_21_18, SCIFB1_RXD_C, SEL_SCIFB1_2), 949 + PINMUX_IPSR_DATA(IP1_21_18, AVB_TXD6), 950 + PINMUX_IPSR_MODSEL_DATA(IP1_21_18, RX1_B, SEL_SCIF1_1), 951 + PINMUX_IPSR_MODSEL_DATA(IP1_21_18, VI0_CLKENB, SEL_VI0_0), 952 + PINMUX_IPSR_MODSEL_DATA(IP1_21_18, VI0_CLKENB_B, SEL_VI0_1), 953 + PINMUX_IPSR_MODSEL_DATA(IP1_21_18, VI2_DATA6_VI2_B6, SEL_VI2_0), 954 + PINMUX_IPSR_DATA(IP1_25_22, D15), 955 + PINMUX_IPSR_MODSEL_DATA(IP1_25_22, SCIFB1_TXD_C, SEL_SCIFB1_2), 956 + PINMUX_IPSR_DATA(IP1_25_22, AVB_TXD7), 957 + PINMUX_IPSR_MODSEL_DATA(IP1_25_22, TX1_B, SEL_SCIF1_1), 958 + PINMUX_IPSR_MODSEL_DATA(IP1_25_22, VI0_FIELD, SEL_VI0_0), 959 + PINMUX_IPSR_MODSEL_DATA(IP1_25_22, VI0_FIELD_B, SEL_VI0_1), 960 + PINMUX_IPSR_MODSEL_DATA(IP1_25_22, VI2_DATA7_VI2_B7, SEL_VI2_0), 961 + PINMUX_IPSR_DATA(IP1_27_26, A0), 962 + PINMUX_IPSR_DATA(IP1_27_26, PWM3), 963 + PINMUX_IPSR_DATA(IP1_29_28, A1), 964 + PINMUX_IPSR_DATA(IP1_29_28, PWM4), 965 + 966 + PINMUX_IPSR_DATA(IP2_2_0, A2), 967 + PINMUX_IPSR_DATA(IP2_2_0, PWM5), 968 + PINMUX_IPSR_MODSEL_DATA(IP2_2_0, MSIOF1_SS1_B, SEL_SOF1_1), 969 + PINMUX_IPSR_DATA(IP2_5_3, A3), 970 + PINMUX_IPSR_DATA(IP2_5_3, PWM6), 971 + PINMUX_IPSR_MODSEL_DATA(IP2_5_3, MSIOF1_SS2_B, SEL_SOF1_1), 972 + PINMUX_IPSR_DATA(IP2_8_6, A4), 973 + PINMUX_IPSR_MODSEL_DATA(IP2_8_6, MSIOF1_TXD_B, SEL_SOF1_1), 974 + PINMUX_IPSR_DATA(IP2_8_6, TPU0TO0), 975 + PINMUX_IPSR_DATA(IP2_11_9, A5), 976 + PINMUX_IPSR_MODSEL_DATA(IP2_11_9, SCIFA1_TXD_B, SEL_SCIFA1_1), 977 + PINMUX_IPSR_DATA(IP2_11_9, TPU0TO1), 978 + PINMUX_IPSR_DATA(IP2_14_12, A6), 979 + PINMUX_IPSR_MODSEL_DATA(IP2_14_12, SCIFA1_RTS_N_B, SEL_SCIFA1_1), 980 + PINMUX_IPSR_DATA(IP2_14_12, TPU0TO2), 981 + PINMUX_IPSR_DATA(IP2_17_15, A7), 982 + PINMUX_IPSR_MODSEL_DATA(IP2_17_15, SCIFA1_SCK_B, SEL_SCIFA1_1), 983 + PINMUX_IPSR_DATA(IP2_17_15, AUDIO_CLKOUT_B), 984 + PINMUX_IPSR_DATA(IP2_17_15, TPU0TO3), 985 + PINMUX_IPSR_DATA(IP2_21_18, A8), 986 + PINMUX_IPSR_MODSEL_DATA(IP2_21_18, SCIFA1_RXD_B, SEL_SCIFA1_1), 987 + PINMUX_IPSR_MODSEL_DATA(IP2_21_18, SSI_SCK5_B, SEL_SSI5_1), 988 + PINMUX_IPSR_MODSEL_DATA(IP2_21_18, VI0_R4, SEL_VI0_0), 989 + PINMUX_IPSR_MODSEL_DATA(IP2_21_18, VI0_R4_B, SEL_VI0_1), 990 + PINMUX_IPSR_MODSEL_DATA(IP2_21_18, SCIFB2_RXD_C, SEL_SCIFB2_2), 991 + PINMUX_IPSR_MODSEL_DATA(IP2_21_18, VI2_DATA0_VI2_B0_B, SEL_VI2_1), 992 + PINMUX_IPSR_DATA(IP2_25_22, A9), 993 + PINMUX_IPSR_MODSEL_DATA(IP2_25_22, SCIFA1_CTS_N_B, SEL_SCIFA1_1), 994 + PINMUX_IPSR_MODSEL_DATA(IP2_25_22, SSI_WS5_B, SEL_SSI5_1), 995 + PINMUX_IPSR_MODSEL_DATA(IP2_25_22, VI0_R5, SEL_VI0_0), 996 + PINMUX_IPSR_MODSEL_DATA(IP2_25_22, VI0_R5_B, SEL_VI0_1), 997 + PINMUX_IPSR_MODSEL_DATA(IP2_25_22, SCIFB2_TXD_C, SEL_SCIFB2_2), 998 + PINMUX_IPSR_MODSEL_DATA(IP2_25_22, VI2_DATA1_VI2_B1_B, SEL_VI2_1), 999 + PINMUX_IPSR_DATA(IP2_28_26, A10), 1000 + PINMUX_IPSR_MODSEL_DATA(IP2_28_26, SSI_SDATA5_B, SEL_SSI5_1), 1001 + PINMUX_IPSR_DATA(IP2_28_26, MSIOF2_SYNC), 1002 + PINMUX_IPSR_MODSEL_DATA(IP2_28_26, VI0_R6, SEL_VI0_0), 1003 + PINMUX_IPSR_MODSEL_DATA(IP2_28_26, VI0_R6_B, SEL_VI0_1), 1004 + PINMUX_IPSR_MODSEL_DATA(IP2_28_26, VI2_DATA2_VI2_B2_B, SEL_VI2_1), 1005 + 1006 + PINMUX_IPSR_DATA(IP3_3_0, A11), 1007 + PINMUX_IPSR_MODSEL_DATA(IP3_3_0, SCIFB2_CTS_N_B, SEL_SCIFB2_1), 1008 + PINMUX_IPSR_DATA(IP3_3_0, MSIOF2_SCK), 1009 + PINMUX_IPSR_MODSEL_DATA(IP3_3_0, VI1_R0, SEL_VI1_0), 1010 + PINMUX_IPSR_MODSEL_DATA(IP3_3_0, VI1_R0_B, SEL_VI1_1), 1011 + PINMUX_IPSR_DATA(IP3_3_0, VI2_G0), 1012 + PINMUX_IPSR_DATA(IP3_3_0, VI2_DATA3_VI2_B3_B), 1013 + PINMUX_IPSR_DATA(IP3_7_4, A12), 1014 + PINMUX_IPSR_MODSEL_DATA(IP3_7_4, SCIFB2_RXD_B, SEL_SCIFB2_1), 1015 + PINMUX_IPSR_DATA(IP3_7_4, MSIOF2_TXD), 1016 + PINMUX_IPSR_MODSEL_DATA(IP3_7_4, VI1_R1, SEL_VI1_0), 1017 + PINMUX_IPSR_MODSEL_DATA(IP3_7_4, VI1_R1_B, SEL_VI1_1), 1018 + PINMUX_IPSR_DATA(IP3_7_4, VI2_G1), 1019 + PINMUX_IPSR_DATA(IP3_7_4, VI2_DATA4_VI2_B4_B), 1020 + PINMUX_IPSR_DATA(IP3_11_8, A13), 1021 + PINMUX_IPSR_MODSEL_DATA(IP3_11_8, SCIFB2_RTS_N_B, SEL_SCIFB2_1), 1022 + PINMUX_IPSR_DATA(IP3_11_8, EX_WAIT2), 1023 + PINMUX_IPSR_DATA(IP3_11_8, MSIOF2_RXD), 1024 + PINMUX_IPSR_MODSEL_DATA(IP3_11_8, VI1_R2, SEL_VI1_0), 1025 + PINMUX_IPSR_MODSEL_DATA(IP3_11_8, VI1_R2_B, SEL_VI1_1), 1026 + PINMUX_IPSR_DATA(IP3_11_8, VI2_G2), 1027 + PINMUX_IPSR_MODSEL_DATA(IP3_11_8, VI2_DATA5_VI2_B5_B, SEL_VI2_0), 1028 + PINMUX_IPSR_DATA(IP3_14_12, A14), 1029 + PINMUX_IPSR_MODSEL_DATA(IP3_14_12, SCIFB2_TXD_B, SEL_SCIFB2_1), 1030 + PINMUX_IPSR_DATA(IP3_14_12, ATACS11_N), 1031 + PINMUX_IPSR_DATA(IP3_14_12, MSIOF2_SS1), 1032 + PINMUX_IPSR_DATA(IP3_17_15, A15), 1033 + PINMUX_IPSR_MODSEL_DATA(IP3_17_15, SCIFB2_SCK_B, SEL_SCIFB2_1), 1034 + PINMUX_IPSR_DATA(IP3_17_15, ATARD1_N), 1035 + PINMUX_IPSR_DATA(IP3_17_15, MSIOF2_SS2), 1036 + PINMUX_IPSR_DATA(IP3_19_18, A16), 1037 + PINMUX_IPSR_DATA(IP3_19_18, ATAWR1_N), 1038 + PINMUX_IPSR_DATA(IP3_22_20, A17), 1039 + PINMUX_IPSR_MODSEL_DATA(IP3_22_20, AD_DO_B, SEL_ADI_1), 1040 + PINMUX_IPSR_DATA(IP3_22_20, ATADIR1_N), 1041 + PINMUX_IPSR_DATA(IP3_25_23, A18), 1042 + PINMUX_IPSR_MODSEL_DATA(IP3_25_23, AD_CLK_B, SEL_ADI_1), 1043 + PINMUX_IPSR_DATA(IP3_25_23, ATAG1_N), 1044 + PINMUX_IPSR_DATA(IP3_28_26, A19), 1045 + PINMUX_IPSR_MODSEL_DATA(IP3_28_26, AD_NCS_N_B, SEL_ADI_1), 1046 + PINMUX_IPSR_DATA(IP3_28_26, ATACS01_N), 1047 + PINMUX_IPSR_MODSEL_DATA(IP3_28_26, EX_WAIT0_B, SEL_LBS_1), 1048 + PINMUX_IPSR_DATA(IP3_31_29, A20), 1049 + PINMUX_IPSR_DATA(IP3_31_29, SPCLK), 1050 + PINMUX_IPSR_MODSEL_DATA(IP3_31_29, VI1_R3, SEL_VI1_0), 1051 + PINMUX_IPSR_MODSEL_DATA(IP3_31_29, VI1_R3_B, SEL_VI1_1), 1052 + PINMUX_IPSR_DATA(IP3_31_29, VI2_G4), 1053 + 1054 + PINMUX_IPSR_DATA(IP4_2_0, A21), 1055 + PINMUX_IPSR_DATA(IP4_2_0, MOSI_IO0), 1056 + PINMUX_IPSR_MODSEL_DATA(IP4_2_0, VI1_R4, SEL_VI1_0), 1057 + PINMUX_IPSR_MODSEL_DATA(IP4_2_0, VI1_R4_B, SEL_VI1_1), 1058 + PINMUX_IPSR_DATA(IP4_2_0, VI2_G5), 1059 + PINMUX_IPSR_DATA(IP4_5_3, A22), 1060 + PINMUX_IPSR_DATA(IP4_5_3, MISO_IO1), 1061 + PINMUX_IPSR_MODSEL_DATA(IP4_5_3, VI1_R5, SEL_VI1_0), 1062 + PINMUX_IPSR_MODSEL_DATA(IP4_5_3, VI1_R5_B, SEL_VI1_1), 1063 + PINMUX_IPSR_DATA(IP4_5_3, VI2_G6), 1064 + PINMUX_IPSR_DATA(IP4_8_6, A23), 1065 + PINMUX_IPSR_DATA(IP4_8_6, IO2), 1066 + PINMUX_IPSR_MODSEL_DATA(IP4_8_6, VI1_G7, SEL_VI1_0), 1067 + PINMUX_IPSR_MODSEL_DATA(IP4_8_6, VI1_G7_B, SEL_VI1_1), 1068 + PINMUX_IPSR_DATA(IP4_8_6, VI2_G7), 1069 + PINMUX_IPSR_DATA(IP4_11_9, A24), 1070 + PINMUX_IPSR_DATA(IP4_11_9, IO3), 1071 + PINMUX_IPSR_MODSEL_DATA(IP4_11_9, VI1_R7, SEL_VI1_0), 1072 + PINMUX_IPSR_MODSEL_DATA(IP4_11_9, VI1_R7_B, SEL_VI1_1), 1073 + PINMUX_IPSR_MODSEL_DATA(IP4_11_9, VI2_CLKENB, SEL_VI2_0), 1074 + PINMUX_IPSR_MODSEL_DATA(IP4_11_9, VI2_CLKENB_B, SEL_VI2_1), 1075 + PINMUX_IPSR_DATA(IP4_14_12, A25), 1076 + PINMUX_IPSR_DATA(IP4_14_12, SSL), 1077 + PINMUX_IPSR_MODSEL_DATA(IP4_14_12, VI1_G6, SEL_VI1_0), 1078 + PINMUX_IPSR_MODSEL_DATA(IP4_14_12, VI1_G6_B, SEL_VI1_1), 1079 + PINMUX_IPSR_MODSEL_DATA(IP4_14_12, VI2_FIELD, SEL_VI2_0), 1080 + PINMUX_IPSR_MODSEL_DATA(IP4_14_12, VI2_FIELD_B, SEL_VI2_1), 1081 + PINMUX_IPSR_DATA(IP4_17_15, CS0_N), 1082 + PINMUX_IPSR_MODSEL_DATA(IP4_17_15, VI1_R6, SEL_VI1_0), 1083 + PINMUX_IPSR_MODSEL_DATA(IP4_17_15, VI1_R6_B, SEL_VI1_1), 1084 + PINMUX_IPSR_DATA(IP4_17_15, VI2_G3), 1085 + PINMUX_IPSR_MODSEL_DATA(IP4_17_15, MSIOF0_SS2_B, SEL_SOF0_1), 1086 + PINMUX_IPSR_DATA(IP4_20_18, CS1_N_A26), 1087 + PINMUX_IPSR_DATA(IP4_20_18, SPEEDIN), 1088 + PINMUX_IPSR_MODSEL_DATA(IP4_20_18, VI0_R7, SEL_VI0_0), 1089 + PINMUX_IPSR_MODSEL_DATA(IP4_20_18, VI0_R7_B, SEL_VI0_1), 1090 + PINMUX_IPSR_MODSEL_DATA(IP4_20_18, VI2_CLK, SEL_VI2_0), 1091 + PINMUX_IPSR_MODSEL_DATA(IP4_20_18, VI2_CLK_B, SEL_VI2_1), 1092 + PINMUX_IPSR_DATA(IP4_23_21, EX_CS0_N), 1093 + PINMUX_IPSR_MODSEL_DATA(IP4_23_21, HRX1_B, SEL_HSCIF1_1), 1094 + PINMUX_IPSR_MODSEL_DATA(IP4_23_21, VI1_G5, SEL_VI1_0), 1095 + PINMUX_IPSR_MODSEL_DATA(IP4_23_21, VI1_G5_B, SEL_VI1_1), 1096 + PINMUX_IPSR_DATA(IP4_23_21, VI2_R0), 1097 + PINMUX_IPSR_MODSEL_DATA(IP4_23_21, HTX0_B, SEL_HSCIF0_1), 1098 + PINMUX_IPSR_MODSEL_DATA(IP4_23_21, MSIOF0_SS1_B, SEL_SOF0_1), 1099 + PINMUX_IPSR_DATA(IP4_26_24, EX_CS1_N), 1100 + PINMUX_IPSR_DATA(IP4_26_24, GPS_CLK), 1101 + PINMUX_IPSR_MODSEL_DATA(IP4_26_24, HCTS1_N_B, SEL_HSCIF1_1), 1102 + PINMUX_IPSR_MODSEL_DATA(IP4_26_24, VI1_FIELD, SEL_VI1_0), 1103 + PINMUX_IPSR_MODSEL_DATA(IP4_26_24, VI1_FIELD_B, SEL_VI1_1), 1104 + PINMUX_IPSR_DATA(IP4_26_24, VI2_R1), 1105 + PINMUX_IPSR_DATA(IP4_29_27, EX_CS2_N), 1106 + PINMUX_IPSR_DATA(IP4_29_27, GPS_SIGN), 1107 + PINMUX_IPSR_MODSEL_DATA(IP4_29_27, HRTS1_N_B, SEL_HSCIF1_1), 1108 + PINMUX_IPSR_DATA(IP4_29_27, VI3_CLKENB), 1109 + PINMUX_IPSR_MODSEL_DATA(IP4_29_27, VI1_G0, SEL_VI1_0), 1110 + PINMUX_IPSR_MODSEL_DATA(IP4_29_27, VI1_G0_B, SEL_VI1_1), 1111 + PINMUX_IPSR_DATA(IP4_29_27, VI2_R2), 1112 + 1113 + PINMUX_IPSR_DATA(IP5_2_0, EX_CS3_N), 1114 + PINMUX_IPSR_DATA(IP5_2_0, GPS_MAG), 1115 + PINMUX_IPSR_DATA(IP5_2_0, VI3_FIELD), 1116 + PINMUX_IPSR_MODSEL_DATA(IP5_2_0, VI1_G1, SEL_VI1_0), 1117 + PINMUX_IPSR_MODSEL_DATA(IP5_2_0, VI1_G1_B, SEL_VI1_1), 1118 + PINMUX_IPSR_DATA(IP5_2_0, VI2_R3), 1119 + PINMUX_IPSR_MODSEL_DATA(IP5_5_3, EX_CS4_N, SEL_I2C1_0), 1120 + PINMUX_IPSR_MODSEL_DATA(IP5_5_3, MSIOF1_SCK_B, SEL_SOF1_1), 1121 + PINMUX_IPSR_DATA(IP5_5_3, VI3_HSYNC_N), 1122 + PINMUX_IPSR_MODSEL_DATA(IP5_5_3, VI2_HSYNC_N, SEL_VI2_0), 1123 + PINMUX_IPSR_MODSEL_DATA(IP5_5_3, SCL1, SEL_IIC1_0), 1124 + PINMUX_IPSR_MODSEL_DATA(IP5_5_3, VI2_HSYNC_N_B, SEL_VI2_1), 1125 + PINMUX_IPSR_DATA(IP5_5_3, INTC_EN0_N), 1126 + PINMUX_IPSR_MODSEL_DATA(IP5_5_3, SCL1_CIS, SEL_I2C1_0), 1127 + PINMUX_IPSR_DATA(IP5_9_6, EX_CS5_N), 1128 + PINMUX_IPSR_MODSEL_DATA(IP5_9_6, CAN0_RX, SEL_CAN0_0), 1129 + PINMUX_IPSR_MODSEL_DATA(IP5_9_6, MSIOF1_RXD_B, SEL_SOF1_1), 1130 + PINMUX_IPSR_DATA(IP5_9_6, VI3_VSYNC_N), 1131 + PINMUX_IPSR_MODSEL_DATA(IP5_9_6, VI1_G2, SEL_VI1_0), 1132 + PINMUX_IPSR_MODSEL_DATA(IP5_9_6, VI1_G2_B, SEL_VI1_1), 1133 + PINMUX_IPSR_DATA(IP5_9_6, VI2_R4), 1134 + PINMUX_IPSR_MODSEL_DATA(IP5_9_6, SDA1, SEL_IIC1_0), 1135 + PINMUX_IPSR_DATA(IP5_9_6, INTC_EN1_N), 1136 + PINMUX_IPSR_MODSEL_DATA(IP5_9_6, SDA1_CIS, SEL_I2C1_0), 1137 + PINMUX_IPSR_DATA(IP5_12_10, BS_N), 1138 + PINMUX_IPSR_MODSEL_DATA(IP5_12_10, IETX, SEL_IEB_0), 1139 + PINMUX_IPSR_MODSEL_DATA(IP5_12_10, HTX1_B, SEL_HSCIF1_1), 1140 + PINMUX_IPSR_MODSEL_DATA(IP5_12_10, CAN1_TX, SEL_CAN1_0), 1141 + PINMUX_IPSR_DATA(IP5_12_10, DRACK0), 1142 + PINMUX_IPSR_MODSEL_DATA(IP5_12_10, IETX_C, SEL_IEB_2), 1143 + PINMUX_IPSR_DATA(IP5_14_13, RD_N), 1144 + PINMUX_IPSR_MODSEL_DATA(IP5_14_13, CAN0_TX, SEL_CAN0_0), 1145 + PINMUX_IPSR_MODSEL_DATA(IP5_14_13, SCIFA0_SCK_B, SEL_SCFA_1), 1146 + PINMUX_IPSR_DATA(IP5_17_15, RD_WR_N), 1147 + PINMUX_IPSR_MODSEL_DATA(IP5_17_15, VI1_G3, SEL_VI1_0), 1148 + PINMUX_IPSR_MODSEL_DATA(IP5_17_15, VI1_G3_B, SEL_VI1_1), 1149 + PINMUX_IPSR_DATA(IP5_17_15, VI2_R5), 1150 + PINMUX_IPSR_MODSEL_DATA(IP5_17_15, SCIFA0_RXD_B, SEL_SCFA_1), 1151 + PINMUX_IPSR_DATA(IP5_17_15, INTC_IRQ4_N), 1152 + PINMUX_IPSR_DATA(IP5_20_18, WE0_N), 1153 + PINMUX_IPSR_MODSEL_DATA(IP5_20_18, IECLK, SEL_IEB_0), 1154 + PINMUX_IPSR_MODSEL_DATA(IP5_20_18, CAN_CLK, SEL_CANCLK_0), 1155 + PINMUX_IPSR_MODSEL_DATA(IP5_20_18, VI2_VSYNC_N, SEL_VI2_0), 1156 + PINMUX_IPSR_MODSEL_DATA(IP5_20_18, SCIFA0_TXD_B, SEL_SCFA_1), 1157 + PINMUX_IPSR_MODSEL_DATA(IP5_20_18, VI2_VSYNC_N_B, SEL_VI2_1), 1158 + PINMUX_IPSR_DATA(IP5_23_21, WE1_N), 1159 + PINMUX_IPSR_MODSEL_DATA(IP5_23_21, IERX, SEL_IEB_0), 1160 + PINMUX_IPSR_MODSEL_DATA(IP5_23_21, CAN1_RX, SEL_CAN1_0), 1161 + PINMUX_IPSR_MODSEL_DATA(IP5_23_21, VI1_G4, SEL_VI1_0), 1162 + PINMUX_IPSR_MODSEL_DATA(IP5_23_21, VI1_G4_B, SEL_VI1_1), 1163 + PINMUX_IPSR_DATA(IP5_23_21, VI2_R6), 1164 + PINMUX_IPSR_MODSEL_DATA(IP5_23_21, SCIFA0_CTS_N_B, SEL_SCFA_1), 1165 + PINMUX_IPSR_MODSEL_DATA(IP5_23_21, IERX_C, SEL_IEB_2), 1166 + PINMUX_IPSR_DATA(IP5_26_24, EX_WAIT0), 1167 + PINMUX_IPSR_DATA(IP5_26_24, IRQ3), 1168 + PINMUX_IPSR_DATA(IP5_26_24, INTC_IRQ3_N), 1169 + PINMUX_IPSR_MODSEL_DATA(IP5_26_24, VI3_CLK, SEL_VI3_0), 1170 + PINMUX_IPSR_MODSEL_DATA(IP5_26_24, SCIFA0_RTS_N_B, SEL_SCFA_1), 1171 + PINMUX_IPSR_MODSEL_DATA(IP5_26_24, HRX0_B, SEL_HSCIF0_1), 1172 + PINMUX_IPSR_MODSEL_DATA(IP5_26_24, MSIOF0_SCK_B, SEL_SOF0_1), 1173 + PINMUX_IPSR_DATA(IP5_29_27, DREQ0_N), 1174 + PINMUX_IPSR_MODSEL_DATA(IP5_29_27, VI1_HSYNC_N, SEL_VI1_0), 1175 + PINMUX_IPSR_MODSEL_DATA(IP5_29_27, VI1_HSYNC_N_B, SEL_VI1_1), 1176 + PINMUX_IPSR_DATA(IP5_29_27, VI2_R7), 1177 + PINMUX_IPSR_MODSEL_DATA(IP5_29_27, SSI_SCK78_C, SEL_SSI7_2), 1178 + PINMUX_IPSR_MODSEL_DATA(IP5_29_27, SSI_WS78_B, SEL_SSI7_1), 1179 + 1180 + PINMUX_IPSR_DATA(IP6_2_0, DACK0), 1181 + PINMUX_IPSR_DATA(IP6_2_0, IRQ0), 1182 + PINMUX_IPSR_DATA(IP6_2_0, INTC_IRQ0_N), 1183 + PINMUX_IPSR_MODSEL_DATA(IP6_2_0, SSI_SCK6_B, SEL_SSI6_1), 1184 + PINMUX_IPSR_MODSEL_DATA(IP6_2_0, VI1_VSYNC_N, SEL_VI1_0), 1185 + PINMUX_IPSR_MODSEL_DATA(IP6_2_0, VI1_VSYNC_N_B, SEL_VI1_1), 1186 + PINMUX_IPSR_MODSEL_DATA(IP6_2_0, SSI_WS78_C, SEL_SSI7_2), 1187 + PINMUX_IPSR_DATA(IP6_5_3, DREQ1_N), 1188 + PINMUX_IPSR_MODSEL_DATA(IP6_5_3, VI1_CLKENB, SEL_VI1_0), 1189 + PINMUX_IPSR_MODSEL_DATA(IP6_5_3, VI1_CLKENB_B, SEL_VI1_1), 1190 + PINMUX_IPSR_MODSEL_DATA(IP6_5_3, SSI_SDATA7_C, SEL_SSI7_2), 1191 + PINMUX_IPSR_MODSEL_DATA(IP6_5_3, SSI_SCK78_B, SEL_SSI7_1), 1192 + PINMUX_IPSR_DATA(IP6_8_6, DACK1), 1193 + PINMUX_IPSR_DATA(IP6_8_6, IRQ1), 1194 + PINMUX_IPSR_DATA(IP6_8_6, INTC_IRQ1_N), 1195 + PINMUX_IPSR_MODSEL_DATA(IP6_8_6, SSI_WS6_B, SEL_SSI6_1), 1196 + PINMUX_IPSR_MODSEL_DATA(IP6_8_6, SSI_SDATA8_C, SEL_SSI8_2), 1197 + PINMUX_IPSR_DATA(IP6_10_9, DREQ2_N), 1198 + PINMUX_IPSR_MODSEL_DATA(IP6_10_9, HSCK1_B, SEL_HSCIF1_1), 1199 + PINMUX_IPSR_MODSEL_DATA(IP6_10_9, HCTS0_N_B, SEL_HSCIF0_1), 1200 + PINMUX_IPSR_MODSEL_DATA(IP6_10_9, MSIOF0_TXD_B, SEL_SOF0_1), 1201 + PINMUX_IPSR_DATA(IP6_13_11, DACK2), 1202 + PINMUX_IPSR_DATA(IP6_13_11, IRQ2), 1203 + PINMUX_IPSR_DATA(IP6_13_11, INTC_IRQ2_N), 1204 + PINMUX_IPSR_MODSEL_DATA(IP6_13_11, SSI_SDATA6_B, SEL_SSI6_1), 1205 + PINMUX_IPSR_MODSEL_DATA(IP6_13_11, HRTS0_N_B, SEL_HSCIF0_1), 1206 + PINMUX_IPSR_MODSEL_DATA(IP6_13_11, MSIOF0_RXD_B, SEL_SOF0_1), 1207 + PINMUX_IPSR_DATA(IP6_16_14, ETH_CRS_DV), 1208 + PINMUX_IPSR_DATA(IP6_16_14, RMII_CRS_DV), 1209 + PINMUX_IPSR_MODSEL_DATA(IP6_16_14, STP_ISCLK_0_B, SEL_SSP_1), 1210 + PINMUX_IPSR_MODSEL_DATA(IP6_16_14, TS_SDEN0_D, SEL_TSIF0_3), 1211 + PINMUX_IPSR_MODSEL_DATA(IP6_16_14, GLO_Q0_C, SEL_GPS_2), 1212 + PINMUX_IPSR_MODSEL_DATA(IP6_16_14, SCL2_E, SEL_IIC2_4), 1213 + PINMUX_IPSR_MODSEL_DATA(IP6_16_14, SCL2_CIS_E, SEL_I2C2_4), 1214 + PINMUX_IPSR_DATA(IP6_19_17, ETH_RX_ER), 1215 + PINMUX_IPSR_DATA(IP6_19_17, RMII_RX_ER), 1216 + PINMUX_IPSR_MODSEL_DATA(IP6_19_17, STP_ISD_0_B, SEL_SSP_1), 1217 + PINMUX_IPSR_MODSEL_DATA(IP6_19_17, TS_SPSYNC0_D, SEL_TSIF0_3), 1218 + PINMUX_IPSR_MODSEL_DATA(IP6_19_17, GLO_Q1_C, SEL_GPS_2), 1219 + PINMUX_IPSR_MODSEL_DATA(IP6_19_17, SDA2_E, SEL_IIC2_4), 1220 + PINMUX_IPSR_MODSEL_DATA(IP6_19_17, SDA2_CIS_E, SEL_I2C2_4), 1221 + PINMUX_IPSR_DATA(IP6_22_20, ETH_RXD0), 1222 + PINMUX_IPSR_DATA(IP6_22_20, RMII_RXD0), 1223 + PINMUX_IPSR_MODSEL_DATA(IP6_22_20, STP_ISEN_0_B, SEL_SSP_1), 1224 + PINMUX_IPSR_MODSEL_DATA(IP6_22_20, TS_SDAT0_D, SEL_TSIF0_3), 1225 + PINMUX_IPSR_MODSEL_DATA(IP6_22_20, GLO_I0_C, SEL_GPS_2), 1226 + PINMUX_IPSR_MODSEL_DATA(IP6_22_20, SCIFB1_SCK_G, SEL_SCIFB1_6), 1227 + PINMUX_IPSR_MODSEL_DATA(IP6_22_20, SCK1_E, SEL_SCIF1_4), 1228 + PINMUX_IPSR_DATA(IP6_25_23, ETH_RXD1), 1229 + PINMUX_IPSR_DATA(IP6_25_23, RMII_RXD1), 1230 + PINMUX_IPSR_MODSEL_DATA(IP6_25_23, HRX0_E, SEL_HSCIF0_4), 1231 + PINMUX_IPSR_MODSEL_DATA(IP6_25_23, STP_ISSYNC_0_B, SEL_SSP_1), 1232 + PINMUX_IPSR_MODSEL_DATA(IP6_25_23, TS_SCK0_D, SEL_TSIF0_3), 1233 + PINMUX_IPSR_MODSEL_DATA(IP6_25_23, GLO_I1_C, SEL_GPS_2), 1234 + PINMUX_IPSR_MODSEL_DATA(IP6_25_23, SCIFB1_RXD_G, SEL_SCIFB1_6), 1235 + PINMUX_IPSR_MODSEL_DATA(IP6_25_23, RX1_E, SEL_SCIF1_4), 1236 + PINMUX_IPSR_DATA(IP6_28_26, ETH_LINK), 1237 + PINMUX_IPSR_DATA(IP6_28_26, RMII_LINK), 1238 + PINMUX_IPSR_MODSEL_DATA(IP6_28_26, HTX0_E, SEL_HSCIF0_4), 1239 + PINMUX_IPSR_MODSEL_DATA(IP6_28_26, STP_IVCXO27_0_B, SEL_SSP_1), 1240 + PINMUX_IPSR_MODSEL_DATA(IP6_28_26, SCIFB1_TXD_G, SEL_SCIFB1_6), 1241 + PINMUX_IPSR_MODSEL_DATA(IP6_28_26, TX1_E, SEL_SCIF1_4), 1242 + PINMUX_IPSR_DATA(IP6_31_29, ETH_REF_CLK), 1243 + PINMUX_IPSR_DATA(IP6_31_29, RMII_REF_CLK), 1244 + PINMUX_IPSR_MODSEL_DATA(IP6_31_29, HCTS0_N_E, SEL_HSCIF0_4), 1245 + PINMUX_IPSR_MODSEL_DATA(IP6_31_29, STP_IVCXO27_1_B, SEL_SSP_1), 1246 + PINMUX_IPSR_MODSEL_DATA(IP6_31_29, HRX0_F, SEL_HSCIF0_5), 1247 + 1248 + PINMUX_IPSR_DATA(IP7_2_0, ETH_MDIO), 1249 + PINMUX_IPSR_DATA(IP7_2_0, RMII_MDIO), 1250 + PINMUX_IPSR_MODSEL_DATA(IP7_2_0, HRTS0_N_E, SEL_HSCIF0_4), 1251 + PINMUX_IPSR_MODSEL_DATA(IP7_2_0, SIM0_D_C, SEL_SIM_2), 1252 + PINMUX_IPSR_MODSEL_DATA(IP7_2_0, HCTS0_N_F, SEL_HSCIF0_5), 1253 + PINMUX_IPSR_DATA(IP7_5_3, ETH_TXD1), 1254 + PINMUX_IPSR_DATA(IP7_5_3, RMII_TXD1), 1255 + PINMUX_IPSR_MODSEL_DATA(IP7_5_3, HTX0_F, SEL_HSCIF0_4), 1256 + PINMUX_IPSR_MODSEL_DATA(IP7_5_3, BPFCLK_G, SEL_SIM_2), 1257 + PINMUX_IPSR_MODSEL_DATA(IP7_5_3, RDS_CLK_F, SEL_HSCIF0_5), 1258 + PINMUX_IPSR_DATA(IP7_7_6, ETH_TX_EN), 1259 + PINMUX_IPSR_DATA(IP7_7_6, RMII_TX_EN), 1260 + PINMUX_IPSR_MODSEL_DATA(IP7_7_6, SIM0_CLK_C, SEL_SIM_2), 1261 + PINMUX_IPSR_MODSEL_DATA(IP7_7_6, HRTS0_N_F, SEL_HSCIF0_5), 1262 + PINMUX_IPSR_DATA(IP7_9_8, ETH_MAGIC), 1263 + PINMUX_IPSR_DATA(IP7_9_8, RMII_MAGIC), 1264 + PINMUX_IPSR_MODSEL_DATA(IP7_9_8, SIM0_RST_C, SEL_SIM_2), 1265 + PINMUX_IPSR_DATA(IP7_12_10, ETH_TXD0), 1266 + PINMUX_IPSR_DATA(IP7_12_10, RMII_TXD0), 1267 + PINMUX_IPSR_MODSEL_DATA(IP7_12_10, STP_ISCLK_1_B, SEL_SSP_1), 1268 + PINMUX_IPSR_MODSEL_DATA(IP7_12_10, TS_SDEN1_C, SEL_TSIF1_2), 1269 + PINMUX_IPSR_MODSEL_DATA(IP7_12_10, GLO_SCLK_C, SEL_GPS_2), 1270 + PINMUX_IPSR_DATA(IP7_15_13, ETH_MDC), 1271 + PINMUX_IPSR_DATA(IP7_15_13, RMII_MDC), 1272 + PINMUX_IPSR_MODSEL_DATA(IP7_15_13, STP_ISD_1_B, SEL_SSP_1), 1273 + PINMUX_IPSR_MODSEL_DATA(IP7_15_13, TS_SPSYNC1_C, SEL_TSIF1_2), 1274 + PINMUX_IPSR_MODSEL_DATA(IP7_15_13, GLO_SDATA_C, SEL_GPS_2), 1275 + PINMUX_IPSR_DATA(IP7_18_16, PWM0), 1276 + PINMUX_IPSR_MODSEL_DATA(IP7_18_16, SCIFA2_SCK_C, SEL_SCIFA2_2), 1277 + PINMUX_IPSR_MODSEL_DATA(IP7_18_16, STP_ISEN_1_B, SEL_SSP_1), 1278 + PINMUX_IPSR_MODSEL_DATA(IP7_18_16, TS_SDAT1_C, SEL_TSIF1_2), 1279 + PINMUX_IPSR_MODSEL_DATA(IP7_18_16, GLO_SS_C, SEL_GPS_2), 1280 + PINMUX_IPSR_DATA(IP7_21_19, PWM1), 1281 + PINMUX_IPSR_MODSEL_DATA(IP7_21_19, SCIFA2_TXD_C, SEL_SCIFA2_2), 1282 + PINMUX_IPSR_MODSEL_DATA(IP7_21_19, STP_ISSYNC_1_B, SEL_SSP_1), 1283 + PINMUX_IPSR_MODSEL_DATA(IP7_21_19, TS_SCK1_C, SEL_TSIF1_2), 1284 + PINMUX_IPSR_MODSEL_DATA(IP7_21_19, GLO_RFON_C, SEL_GPS_2), 1285 + PINMUX_IPSR_DATA(IP7_21_19, PCMOE_N), 1286 + PINMUX_IPSR_DATA(IP7_24_22, PWM2), 1287 + PINMUX_IPSR_DATA(IP7_24_22, PWMFSW0), 1288 + PINMUX_IPSR_MODSEL_DATA(IP7_24_22, SCIFA2_RXD_C, SEL_SCIFA2_2), 1289 + PINMUX_IPSR_DATA(IP7_24_22, PCMWE_N), 1290 + PINMUX_IPSR_MODSEL_DATA(IP7_24_22, IECLK_C, SEL_IEB_2), 1291 + PINMUX_IPSR_DATA(IP7_26_25, DU1_DOTCLKIN), 1292 + PINMUX_IPSR_DATA(IP7_26_25, AUDIO_CLKC), 1293 + PINMUX_IPSR_DATA(IP7_26_25, AUDIO_CLKOUT_C), 1294 + PINMUX_IPSR_MODSEL_DATA(IP7_28_27, VI0_CLK, SEL_VI0_0), 1295 + PINMUX_IPSR_DATA(IP7_28_27, ATACS00_N), 1296 + PINMUX_IPSR_DATA(IP7_28_27, AVB_RXD1), 1297 + PINMUX_IPSR_DATA(IP7_28_27, MII_RXD1), 1298 + PINMUX_IPSR_MODSEL_DATA(IP7_30_29, VI0_DATA0_VI0_B0, SEL_VI0_0), 1299 + PINMUX_IPSR_DATA(IP7_30_29, ATACS10_N), 1300 + PINMUX_IPSR_DATA(IP7_30_29, AVB_RXD2), 1301 + PINMUX_IPSR_DATA(IP7_30_29, MII_RXD2), 1302 + 1303 + PINMUX_IPSR_MODSEL_DATA(IP8_1_0, VI0_DATA1_VI0_B1, SEL_VI0_0), 1304 + PINMUX_IPSR_DATA(IP8_1_0, ATARD0_N), 1305 + PINMUX_IPSR_DATA(IP8_1_0, AVB_RXD3), 1306 + PINMUX_IPSR_DATA(IP8_1_0, MII_RXD3), 1307 + PINMUX_IPSR_MODSEL_DATA(IP8_3_2, VI0_DATA2_VI0_B2, SEL_VI0_0), 1308 + PINMUX_IPSR_DATA(IP8_3_2, ATAWR0_N), 1309 + PINMUX_IPSR_DATA(IP8_3_2, AVB_RXD4), 1310 + PINMUX_IPSR_MODSEL_DATA(IP8_5_4, VI0_DATA3_VI0_B3, SEL_VI0_0), 1311 + PINMUX_IPSR_DATA(IP8_5_4, ATADIR0_N), 1312 + PINMUX_IPSR_DATA(IP8_5_4, AVB_RXD5), 1313 + PINMUX_IPSR_MODSEL_DATA(IP8_7_6, VI0_DATA4_VI0_B4, SEL_VI0_0), 1314 + PINMUX_IPSR_DATA(IP8_7_6, ATAG0_N), 1315 + PINMUX_IPSR_DATA(IP8_7_6, AVB_RXD6), 1316 + PINMUX_IPSR_MODSEL_DATA(IP8_9_8, VI0_DATA5_VI0_B5, SEL_VI0_0), 1317 + PINMUX_IPSR_DATA(IP8_9_8, EX_WAIT1), 1318 + PINMUX_IPSR_DATA(IP8_9_8, AVB_RXD7), 1319 + PINMUX_IPSR_MODSEL_DATA(IP8_11_10, VI0_DATA6_VI0_B6, SEL_VI0_0), 1320 + PINMUX_IPSR_DATA(IP8_11_10, AVB_RX_ER), 1321 + PINMUX_IPSR_DATA(IP8_11_10, MII_RX_ER), 1322 + PINMUX_IPSR_MODSEL_DATA(IP8_13_12, VI0_DATA7_VI0_B7, SEL_VI0_0), 1323 + PINMUX_IPSR_DATA(IP8_13_12, AVB_RX_CLK), 1324 + PINMUX_IPSR_DATA(IP8_13_12, MII_RX_CLK), 1325 + PINMUX_IPSR_MODSEL_DATA(IP8_15_14, VI1_CLK, SEL_VI1_0), 1326 + PINMUX_IPSR_DATA(IP8_15_14, AVB_RX_DV), 1327 + PINMUX_IPSR_DATA(IP8_15_14, MII_RX_DV), 1328 + PINMUX_IPSR_MODSEL_DATA(IP8_17_16, VI1_DATA0_VI1_B0, SEL_VI1_0), 1329 + PINMUX_IPSR_MODSEL_DATA(IP8_17_16, SCIFA1_SCK_D, SEL_SCIFA1_3), 1330 + PINMUX_IPSR_DATA(IP8_17_16, AVB_CRS), 1331 + PINMUX_IPSR_DATA(IP8_17_16, MII_CRS), 1332 + PINMUX_IPSR_MODSEL_DATA(IP8_19_18, VI1_DATA1_VI1_B1, SEL_VI1_0), 1333 + PINMUX_IPSR_MODSEL_DATA(IP8_19_18, SCIFA1_RXD_D, SEL_SCIFA1_3), 1334 + PINMUX_IPSR_DATA(IP8_19_18, AVB_MDC), 1335 + PINMUX_IPSR_DATA(IP8_19_18, MII_MDC), 1336 + PINMUX_IPSR_MODSEL_DATA(IP8_21_20, VI1_DATA2_VI1_B2, SEL_VI1_0), 1337 + PINMUX_IPSR_MODSEL_DATA(IP8_21_20, SCIFA1_TXD_D, SEL_SCIFA1_3), 1338 + PINMUX_IPSR_DATA(IP8_21_20, AVB_MDIO), 1339 + PINMUX_IPSR_DATA(IP8_21_20, MII_MDIO), 1340 + PINMUX_IPSR_MODSEL_DATA(IP8_23_22, VI1_DATA3_VI1_B3, SEL_VI1_0), 1341 + PINMUX_IPSR_MODSEL_DATA(IP8_23_22, SCIFA1_CTS_N_D, SEL_SCIFA1_3), 1342 + PINMUX_IPSR_DATA(IP8_23_22, AVB_GTX_CLK), 1343 + PINMUX_IPSR_MODSEL_DATA(IP8_25_24, VI1_DATA4_VI1_B4, SEL_VI1_0), 1344 + PINMUX_IPSR_MODSEL_DATA(IP8_25_24, SCIFA1_RTS_N_D, SEL_SCIFA1_3), 1345 + PINMUX_IPSR_DATA(IP8_25_24, AVB_MAGIC), 1346 + PINMUX_IPSR_DATA(IP8_25_24, MII_MAGIC), 1347 + PINMUX_IPSR_MODSEL_DATA(IP8_26, VI1_DATA5_VI1_B5, SEL_VI1_0), 1348 + PINMUX_IPSR_MODSEL_DATA(IP8_26, AVB_PHY_INT, SEL_SCIFA1_3), 1349 + PINMUX_IPSR_MODSEL_DATA(IP8_27, VI1_DATA6_VI1_B6, SEL_VI1_0), 1350 + PINMUX_IPSR_DATA(IP8_27, AVB_GTXREFCLK), 1351 + PINMUX_IPSR_DATA(IP8_28, SD0_CLK), 1352 + PINMUX_IPSR_MODSEL_DATA(IP8_28, VI1_DATA0_VI1_B0_B, SEL_VI1_1), 1353 + PINMUX_IPSR_DATA(IP8_30_29, SD0_CMD), 1354 + PINMUX_IPSR_MODSEL_DATA(IP8_30_29, SCIFB1_SCK_B, SEL_SCIFB1_1), 1355 + PINMUX_IPSR_MODSEL_DATA(IP8_30_29, VI1_DATA1_VI1_B1_B, SEL_VI1_1), 1356 + 1357 + PINMUX_IPSR_DATA(IP9_1_0, SD0_DAT0), 1358 + PINMUX_IPSR_MODSEL_DATA(IP9_1_0, SCIFB1_RXD_B, SEL_SCIFB1_1), 1359 + PINMUX_IPSR_MODSEL_DATA(IP9_1_0, VI1_DATA2_VI1_B2_B, SEL_VI1_1), 1360 + PINMUX_IPSR_DATA(IP9_3_2, SD0_DAT1), 1361 + PINMUX_IPSR_MODSEL_DATA(IP9_3_2, SCIFB1_TXD_B, SEL_SCIFB1_1), 1362 + PINMUX_IPSR_MODSEL_DATA(IP9_3_2, VI1_DATA3_VI1_B3_B, SEL_VI1_1), 1363 + PINMUX_IPSR_DATA(IP9_5_4, SD0_DAT2), 1364 + PINMUX_IPSR_MODSEL_DATA(IP9_5_4, SCIFB1_CTS_N_B, SEL_SCIFB1_1), 1365 + PINMUX_IPSR_MODSEL_DATA(IP9_5_4, VI1_DATA4_VI1_B4_B, SEL_VI1_1), 1366 + PINMUX_IPSR_DATA(IP9_7_6, SD0_DAT3), 1367 + PINMUX_IPSR_MODSEL_DATA(IP9_7_6, SCIFB1_RTS_N_B, SEL_SCIFB1_1), 1368 + PINMUX_IPSR_MODSEL_DATA(IP9_7_6, VI1_DATA5_VI1_B5_B, SEL_VI1_1), 1369 + PINMUX_IPSR_DATA(IP9_11_8, SD0_CD), 1370 + PINMUX_IPSR_DATA(IP9_11_8, MMC0_D6), 1371 + PINMUX_IPSR_MODSEL_DATA(IP9_11_8, TS_SDEN0_B, SEL_TSIF0_1), 1372 + PINMUX_IPSR_DATA(IP9_11_8, USB0_EXTP), 1373 + PINMUX_IPSR_MODSEL_DATA(IP9_11_8, GLO_SCLK, SEL_GPS_0), 1374 + PINMUX_IPSR_MODSEL_DATA(IP9_11_8, VI1_DATA6_VI1_B6_B, SEL_VI1_1), 1375 + PINMUX_IPSR_MODSEL_DATA(IP9_11_8, SCL1_B, SEL_IIC1_1), 1376 + PINMUX_IPSR_MODSEL_DATA(IP9_11_8, SCL1_CIS_B, SEL_I2C1_1), 1377 + PINMUX_IPSR_MODSEL_DATA(IP9_11_8, VI2_DATA6_VI2_B6_B, SEL_VI2_1), 1378 + PINMUX_IPSR_DATA(IP9_15_12, SD0_WP), 1379 + PINMUX_IPSR_DATA(IP9_15_12, MMC0_D7), 1380 + PINMUX_IPSR_MODSEL_DATA(IP9_15_12, TS_SPSYNC0_B, SEL_TSIF0_1), 1381 + PINMUX_IPSR_DATA(IP9_15_12, USB0_IDIN), 1382 + PINMUX_IPSR_MODSEL_DATA(IP9_15_12, GLO_SDATA, SEL_GPS_0), 1383 + PINMUX_IPSR_MODSEL_DATA(IP9_15_12, VI1_DATA7_VI1_B7_B, SEL_VI1_1), 1384 + PINMUX_IPSR_MODSEL_DATA(IP9_15_12, SDA1_B, SEL_IIC1_1), 1385 + PINMUX_IPSR_MODSEL_DATA(IP9_15_12, SDA1_CIS_B, SEL_I2C1_1), 1386 + PINMUX_IPSR_MODSEL_DATA(IP9_15_12, VI2_DATA7_VI2_B7_B, SEL_VI2_1), 1387 + PINMUX_IPSR_DATA(IP9_17_16, SD1_CLK), 1388 + PINMUX_IPSR_DATA(IP9_17_16, AVB_TX_EN), 1389 + PINMUX_IPSR_DATA(IP9_17_16, MII_TX_EN), 1390 + PINMUX_IPSR_DATA(IP9_19_18, SD1_CMD), 1391 + PINMUX_IPSR_DATA(IP9_19_18, AVB_TX_ER), 1392 + PINMUX_IPSR_DATA(IP9_19_18, MII_TX_ER), 1393 + PINMUX_IPSR_MODSEL_DATA(IP9_19_18, SCIFB0_SCK_B, SEL_SCIFB_1), 1394 + PINMUX_IPSR_DATA(IP9_21_20, SD1_DAT0), 1395 + PINMUX_IPSR_DATA(IP9_21_20, AVB_TX_CLK), 1396 + PINMUX_IPSR_DATA(IP9_21_20, MII_TX_CLK), 1397 + PINMUX_IPSR_MODSEL_DATA(IP9_21_20, SCIFB0_RXD_B, SEL_SCIFB_1), 1398 + PINMUX_IPSR_DATA(IP9_23_22, SD1_DAT1), 1399 + PINMUX_IPSR_DATA(IP9_23_22, AVB_LINK), 1400 + PINMUX_IPSR_DATA(IP9_23_22, MII_LINK), 1401 + PINMUX_IPSR_MODSEL_DATA(IP9_23_22, SCIFB0_TXD_B, SEL_SCIFB_1), 1402 + PINMUX_IPSR_DATA(IP9_25_24, SD1_DAT2), 1403 + PINMUX_IPSR_DATA(IP9_25_24, AVB_COL), 1404 + PINMUX_IPSR_DATA(IP9_25_24, MII_COL), 1405 + PINMUX_IPSR_MODSEL_DATA(IP9_25_24, SCIFB0_CTS_N_B, SEL_SCIFB_1), 1406 + PINMUX_IPSR_DATA(IP9_27_26, SD1_DAT3), 1407 + PINMUX_IPSR_DATA(IP9_27_26, AVB_RXD0), 1408 + PINMUX_IPSR_DATA(IP9_27_26, MII_RXD0), 1409 + PINMUX_IPSR_MODSEL_DATA(IP9_27_26, SCIFB0_RTS_N_B, SEL_SCIFB_1), 1410 + PINMUX_IPSR_DATA(IP9_31_28, SD1_CD), 1411 + PINMUX_IPSR_DATA(IP9_31_28, MMC1_D6), 1412 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, TS_SDEN1, SEL_TSIF1_0), 1413 + PINMUX_IPSR_DATA(IP9_31_28, USB1_EXTP), 1414 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, GLO_SS, SEL_GPS_0), 1415 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, VI0_CLK_B, SEL_VI0_1), 1416 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, SCL2_D, SEL_IIC2_3), 1417 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, SCL2_CIS_D, SEL_I2C2_3), 1418 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, SIM0_CLK_B, SEL_SIM_1), 1419 + PINMUX_IPSR_MODSEL_DATA(IP9_31_28, VI3_CLK_B, SEL_VI3_1), 1420 + 1421 + PINMUX_IPSR_DATA(IP10_3_0, SD1_WP), 1422 + PINMUX_IPSR_DATA(IP10_3_0, MMC1_D7), 1423 + PINMUX_IPSR_MODSEL_DATA(IP10_3_0, TS_SPSYNC1, SEL_TSIF1_0), 1424 + PINMUX_IPSR_DATA(IP10_3_0, USB1_IDIN), 1425 + PINMUX_IPSR_MODSEL_DATA(IP10_3_0, GLO_RFON, SEL_GPS_0), 1426 + PINMUX_IPSR_MODSEL_DATA(IP10_3_0, VI1_CLK_B, SEL_VI1_1), 1427 + PINMUX_IPSR_MODSEL_DATA(IP10_3_0, SDA2_D, SEL_IIC2_3), 1428 + PINMUX_IPSR_MODSEL_DATA(IP10_3_0, SDA2_CIS_D, SEL_I2C2_3), 1429 + PINMUX_IPSR_MODSEL_DATA(IP10_3_0, SIM0_D_B, SEL_SIM_1), 1430 + PINMUX_IPSR_DATA(IP10_6_4, SD2_CLK), 1431 + PINMUX_IPSR_DATA(IP10_6_4, MMC0_CLK), 1432 + PINMUX_IPSR_MODSEL_DATA(IP10_6_4, SIM0_CLK, SEL_SIM_0), 1433 + PINMUX_IPSR_MODSEL_DATA(IP10_6_4, VI0_DATA0_VI0_B0_B, SEL_VI0_1), 1434 + PINMUX_IPSR_MODSEL_DATA(IP10_6_4, TS_SDEN0_C, SEL_TSIF0_2), 1435 + PINMUX_IPSR_MODSEL_DATA(IP10_6_4, GLO_SCLK_B, SEL_GPS_1), 1436 + PINMUX_IPSR_MODSEL_DATA(IP10_6_4, VI3_DATA0_B, SEL_VI3_1), 1437 + PINMUX_IPSR_DATA(IP10_10_7, SD2_CMD), 1438 + PINMUX_IPSR_DATA(IP10_10_7, MMC0_CMD), 1439 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, SIM0_D, SEL_SIM_0), 1440 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, VI0_DATA1_VI0_B1_B, SEL_VI0_1), 1441 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, SCIFB1_SCK_E, SEL_SCIFB1_4), 1442 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, SCK1_D, SEL_SCIF1_3), 1443 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, TS_SPSYNC0_C, SEL_TSIF0_2), 1444 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, GLO_SDATA_B, SEL_GPS_1), 1445 + PINMUX_IPSR_MODSEL_DATA(IP10_10_7, VI3_DATA1_B, SEL_VI3_1), 1446 + PINMUX_IPSR_DATA(IP10_14_11, SD2_DAT0), 1447 + PINMUX_IPSR_DATA(IP10_14_11, MMC0_D0), 1448 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, FMCLK_B, SEL_FM_1), 1449 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, VI0_DATA2_VI0_B2_B, SEL_VI0_1), 1450 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, SCIFB1_RXD_E, SEL_SCIFB1_4), 1451 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, RX1_D, SEL_SCIF1_3), 1452 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, TS_SDAT0_C, SEL_TSIF0_2), 1453 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, GLO_SS_B, SEL_GPS_1), 1454 + PINMUX_IPSR_MODSEL_DATA(IP10_14_11, VI3_DATA2_B, SEL_VI3_1), 1455 + PINMUX_IPSR_DATA(IP10_18_15, SD2_DAT1), 1456 + PINMUX_IPSR_DATA(IP10_18_15, MMC0_D1), 1457 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, FMIN_B, SEL_FM_1), 1458 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, RDS_DATA, SEL_RDS_0), 1459 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, VI0_DATA3_VI0_B3_B, SEL_VI0_1), 1460 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, SCIFB1_TXD_E, SEL_SCIFB1_4), 1461 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, TX1_D, SEL_SCIF1_3), 1462 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, TS_SCK0_C, SEL_TSIF0_2), 1463 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, GLO_RFON_B, SEL_GPS_1), 1464 + PINMUX_IPSR_MODSEL_DATA(IP10_18_15, VI3_DATA3_B, SEL_VI3_1), 1465 + PINMUX_IPSR_DATA(IP10_22_19, SD2_DAT2), 1466 + PINMUX_IPSR_DATA(IP10_22_19, MMC0_D2), 1467 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, BPFCLK_B, SEL_FM_1), 1468 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, RDS_CLK, SEL_RDS_0), 1469 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, VI0_DATA4_VI0_B4_B, SEL_VI0_1), 1470 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, HRX0_D, SEL_HSCIF0_3), 1471 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, TS_SDEN1_B, SEL_TSIF1_1), 1472 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, GLO_Q0_B, SEL_GPS_1), 1473 + PINMUX_IPSR_MODSEL_DATA(IP10_22_19, VI3_DATA4_B, SEL_VI3_1), 1474 + PINMUX_IPSR_DATA(IP10_25_23, SD2_DAT3), 1475 + PINMUX_IPSR_DATA(IP10_25_23, MMC0_D3), 1476 + PINMUX_IPSR_MODSEL_DATA(IP10_25_23, SIM0_RST, SEL_SIM_0), 1477 + PINMUX_IPSR_MODSEL_DATA(IP10_25_23, VI0_DATA5_VI0_B5_B, SEL_VI0_1), 1478 + PINMUX_IPSR_MODSEL_DATA(IP10_25_23, HTX0_D, SEL_HSCIF0_3), 1479 + PINMUX_IPSR_MODSEL_DATA(IP10_25_23, TS_SPSYNC1_B, SEL_TSIF1_1), 1480 + PINMUX_IPSR_MODSEL_DATA(IP10_25_23, GLO_Q1_B, SEL_GPS_1), 1481 + PINMUX_IPSR_MODSEL_DATA(IP10_25_23, VI3_DATA5_B, SEL_VI3_1), 1482 + PINMUX_IPSR_DATA(IP10_29_26, SD2_CD), 1483 + PINMUX_IPSR_DATA(IP10_29_26, MMC0_D4), 1484 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, TS_SDAT0_B, SEL_TSIF0_1), 1485 + PINMUX_IPSR_DATA(IP10_29_26, USB2_EXTP), 1486 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, GLO_I0, SEL_GPS_0), 1487 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, VI0_DATA6_VI0_B6_B, SEL_VI0_1), 1488 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, HCTS0_N_D, SEL_HSCIF0_3), 1489 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, TS_SDAT1_B, SEL_TSIF1_1), 1490 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, GLO_I0_B, SEL_GPS_1), 1491 + PINMUX_IPSR_MODSEL_DATA(IP10_29_26, VI3_DATA6_B, SEL_VI3_1), 1492 + 1493 + PINMUX_IPSR_DATA(IP11_3_0, SD2_WP), 1494 + PINMUX_IPSR_DATA(IP11_3_0, MMC0_D5), 1495 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, TS_SCK0_B, SEL_TSIF0_1), 1496 + PINMUX_IPSR_DATA(IP11_3_0, USB2_IDIN), 1497 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, GLO_I1, SEL_GPS_0), 1498 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, VI0_DATA7_VI0_B7_B, SEL_VI0_1), 1499 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, HRTS0_N_D, SEL_HSCIF0_3), 1500 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, TS_SCK1_B, SEL_TSIF1_1), 1501 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, GLO_I1_B, SEL_GPS_1), 1502 + PINMUX_IPSR_MODSEL_DATA(IP11_3_0, VI3_DATA7_B, SEL_VI3_1), 1503 + PINMUX_IPSR_DATA(IP11_4, SD3_CLK), 1504 + PINMUX_IPSR_DATA(IP11_4, MMC1_CLK), 1505 + PINMUX_IPSR_DATA(IP11_6_5, SD3_CMD), 1506 + PINMUX_IPSR_DATA(IP11_6_5, MMC1_CMD), 1507 + PINMUX_IPSR_DATA(IP11_6_5, MTS_N), 1508 + PINMUX_IPSR_DATA(IP11_8_7, SD3_DAT0), 1509 + PINMUX_IPSR_DATA(IP11_8_7, MMC1_D0), 1510 + PINMUX_IPSR_DATA(IP11_8_7, STM_N), 1511 + PINMUX_IPSR_DATA(IP11_10_9, SD3_DAT1), 1512 + PINMUX_IPSR_DATA(IP11_10_9, MMC1_D1), 1513 + PINMUX_IPSR_DATA(IP11_10_9, MDATA), 1514 + PINMUX_IPSR_DATA(IP11_12_11, SD3_DAT2), 1515 + PINMUX_IPSR_DATA(IP11_12_11, MMC1_D2), 1516 + PINMUX_IPSR_DATA(IP11_12_11, SDATA), 1517 + PINMUX_IPSR_DATA(IP11_14_13, SD3_DAT3), 1518 + PINMUX_IPSR_DATA(IP11_14_13, MMC1_D3), 1519 + PINMUX_IPSR_DATA(IP11_14_13, SCKZ), 1520 + PINMUX_IPSR_DATA(IP11_17_15, SD3_CD), 1521 + PINMUX_IPSR_DATA(IP11_17_15, MMC1_D4), 1522 + PINMUX_IPSR_MODSEL_DATA(IP11_17_15, TS_SDAT1, SEL_TSIF1_0), 1523 + PINMUX_IPSR_DATA(IP11_17_15, VSP), 1524 + PINMUX_IPSR_MODSEL_DATA(IP11_17_15, GLO_Q0, SEL_GPS_0), 1525 + PINMUX_IPSR_MODSEL_DATA(IP11_17_15, SIM0_RST_B, SEL_SIM_1), 1526 + PINMUX_IPSR_DATA(IP11_21_18, SD3_WP), 1527 + PINMUX_IPSR_DATA(IP11_21_18, MMC1_D5), 1528 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, TS_SCK1, SEL_TSIF1_0), 1529 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, GLO_Q1, SEL_GPS_0), 1530 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, FMIN_C, SEL_FM_2), 1531 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, RDS_DATA_B, SEL_RDS_1), 1532 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, FMIN_E, SEL_FM_4), 1533 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, RDS_DATA_D, SEL_RDS_3), 1534 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, FMIN_F, SEL_FM_5), 1535 + PINMUX_IPSR_MODSEL_DATA(IP11_21_18, RDS_DATA_E, SEL_RDS_4), 1536 + PINMUX_IPSR_DATA(IP11_23_22, MLB_CLK), 1537 + PINMUX_IPSR_MODSEL_DATA(IP11_23_22, SCL2_B, SEL_IIC2_1), 1538 + PINMUX_IPSR_MODSEL_DATA(IP11_23_22, SCL2_CIS_B, SEL_I2C2_1), 1539 + PINMUX_IPSR_DATA(IP11_26_24, MLB_SIG), 1540 + PINMUX_IPSR_MODSEL_DATA(IP11_26_24, SCIFB1_RXD_D, SEL_SCIFB1_3), 1541 + PINMUX_IPSR_MODSEL_DATA(IP11_26_24, RX1_C, SEL_SCIF1_2), 1542 + PINMUX_IPSR_MODSEL_DATA(IP11_26_24, SDA2_B, SEL_IIC2_1), 1543 + PINMUX_IPSR_MODSEL_DATA(IP11_26_24, SDA2_CIS_B, SEL_I2C2_1), 1544 + PINMUX_IPSR_DATA(IP11_29_27, MLB_DAT), 1545 + PINMUX_IPSR_DATA(IP11_29_27, SPV_EVEN), 1546 + PINMUX_IPSR_MODSEL_DATA(IP11_29_27, SCIFB1_TXD_D, SEL_SCIFB1_3), 1547 + PINMUX_IPSR_MODSEL_DATA(IP11_29_27, TX1_C, SEL_SCIF1_2), 1548 + PINMUX_IPSR_MODSEL_DATA(IP11_29_27, BPFCLK_C, SEL_FM_2), 1549 + PINMUX_IPSR_MODSEL_DATA(IP11_29_27, RDS_CLK_B, SEL_RDS_1), 1550 + PINMUX_IPSR_DATA(IP11_31_30, SSI_SCK0129), 1551 + PINMUX_IPSR_MODSEL_DATA(IP11_31_30, CAN_CLK_B, SEL_CANCLK_1), 1552 + PINMUX_IPSR_DATA(IP11_31_30, MOUT0), 1553 + 1554 + PINMUX_IPSR_DATA(IP12_1_0, SSI_WS0129), 1555 + PINMUX_IPSR_MODSEL_DATA(IP12_1_0, CAN0_TX_B, SEL_CAN0_1), 1556 + PINMUX_IPSR_DATA(IP12_1_0, MOUT1), 1557 + PINMUX_IPSR_DATA(IP12_3_2, SSI_SDATA0), 1558 + PINMUX_IPSR_MODSEL_DATA(IP12_3_2, CAN0_RX_B, SEL_CAN0_1), 1559 + PINMUX_IPSR_DATA(IP12_3_2, MOUT2), 1560 + PINMUX_IPSR_DATA(IP12_5_4, SSI_SDATA1), 1561 + PINMUX_IPSR_MODSEL_DATA(IP12_5_4, CAN1_TX_B, SEL_CAN1_1), 1562 + PINMUX_IPSR_DATA(IP12_5_4, MOUT5), 1563 + PINMUX_IPSR_DATA(IP12_7_6, SSI_SDATA2), 1564 + PINMUX_IPSR_MODSEL_DATA(IP12_7_6, CAN1_RX_B, SEL_CAN1_1), 1565 + PINMUX_IPSR_MODSEL_DATA(IP12_7_6, CAN1_TX_B, SEL_CAN1_1), 1566 + PINMUX_IPSR_DATA(IP12_7_6, MOUT6), 1567 + PINMUX_IPSR_DATA(IP12_10_8, SSI_SCK34), 1568 + PINMUX_IPSR_DATA(IP12_10_8, STP_OPWM_0), 1569 + PINMUX_IPSR_MODSEL_DATA(IP12_10_8, SCIFB0_SCK, SEL_SCIFB_0), 1570 + PINMUX_IPSR_MODSEL_DATA(IP12_10_8, MSIOF1_SCK, SEL_SOF1_0), 1571 + PINMUX_IPSR_DATA(IP12_10_8, CAN_DEBUG_HW_TRIGGER), 1572 + PINMUX_IPSR_DATA(IP12_13_11, SSI_WS34), 1573 + PINMUX_IPSR_MODSEL_DATA(IP12_13_11, STP_IVCXO27_0, SEL_SSP_0), 1574 + PINMUX_IPSR_MODSEL_DATA(IP12_13_11, SCIFB0_RXD, SEL_SCIFB_0), 1575 + PINMUX_IPSR_DATA(IP12_13_11, MSIOF1_SYNC), 1576 + PINMUX_IPSR_DATA(IP12_13_11, CAN_STEP0), 1577 + PINMUX_IPSR_DATA(IP12_16_14, SSI_SDATA3), 1578 + PINMUX_IPSR_MODSEL_DATA(IP12_16_14, STP_ISCLK_0, SEL_SSP_0), 1579 + PINMUX_IPSR_MODSEL_DATA(IP12_16_14, SCIFB0_TXD, SEL_SCIFB_0), 1580 + PINMUX_IPSR_MODSEL_DATA(IP12_16_14, MSIOF1_SS1, SEL_SOF1_0), 1581 + PINMUX_IPSR_DATA(IP12_16_14, CAN_TXCLK), 1582 + PINMUX_IPSR_DATA(IP12_19_17, SSI_SCK4), 1583 + PINMUX_IPSR_MODSEL_DATA(IP12_19_17, STP_ISD_0, SEL_SSP_0), 1584 + PINMUX_IPSR_MODSEL_DATA(IP12_19_17, SCIFB0_CTS_N, SEL_SCIFB_0), 1585 + PINMUX_IPSR_MODSEL_DATA(IP12_19_17, MSIOF1_SS2, SEL_SOF1_0), 1586 + PINMUX_IPSR_MODSEL_DATA(IP12_19_17, SSI_SCK5_C, SEL_SSI5_2), 1587 + PINMUX_IPSR_DATA(IP12_19_17, CAN_DEBUGOUT0), 1588 + PINMUX_IPSR_DATA(IP12_22_20, SSI_WS4), 1589 + PINMUX_IPSR_MODSEL_DATA(IP12_22_20, STP_ISEN_0, SEL_SSP_0), 1590 + PINMUX_IPSR_MODSEL_DATA(IP12_22_20, SCIFB0_RTS_N, SEL_SCIFB_0), 1591 + PINMUX_IPSR_MODSEL_DATA(IP12_22_20, MSIOF1_TXD, SEL_SOF1_0), 1592 + PINMUX_IPSR_MODSEL_DATA(IP12_22_20, SSI_WS5_C, SEL_SSI5_2), 1593 + PINMUX_IPSR_DATA(IP12_22_20, CAN_DEBUGOUT1), 1594 + PINMUX_IPSR_DATA(IP12_24_23, SSI_SDATA4), 1595 + PINMUX_IPSR_MODSEL_DATA(IP12_24_23, STP_ISSYNC_0, SEL_SSP_0), 1596 + PINMUX_IPSR_MODSEL_DATA(IP12_24_23, MSIOF1_RXD, SEL_SOF1_0), 1597 + PINMUX_IPSR_DATA(IP12_24_23, CAN_DEBUGOUT2), 1598 + PINMUX_IPSR_MODSEL_DATA(IP12_27_25, SSI_SCK5, SEL_SSI5_0), 1599 + PINMUX_IPSR_MODSEL_DATA(IP12_27_25, SCIFB1_SCK, SEL_SCIFB1_0), 1600 + PINMUX_IPSR_MODSEL_DATA(IP12_27_25, IERX_B, SEL_IEB_1), 1601 + PINMUX_IPSR_DATA(IP12_27_25, DU2_EXHSYNC_DU2_HSYNC), 1602 + PINMUX_IPSR_DATA(IP12_27_25, QSTH_QHS), 1603 + PINMUX_IPSR_DATA(IP12_27_25, CAN_DEBUGOUT3), 1604 + PINMUX_IPSR_MODSEL_DATA(IP12_30_28, SSI_WS5, SEL_SSI5_0), 1605 + PINMUX_IPSR_MODSEL_DATA(IP12_30_28, SCIFB1_RXD, SEL_SCIFB1_0), 1606 + PINMUX_IPSR_MODSEL_DATA(IP12_30_28, IECLK_B, SEL_IEB_1), 1607 + PINMUX_IPSR_DATA(IP12_30_28, DU2_EXVSYNC_DU2_VSYNC), 1608 + PINMUX_IPSR_DATA(IP12_30_28, QSTB_QHE), 1609 + PINMUX_IPSR_DATA(IP12_30_28, CAN_DEBUGOUT4), 1610 + 1611 + PINMUX_IPSR_MODSEL_DATA(IP13_2_0, SSI_SDATA5, SEL_SSI5_0), 1612 + PINMUX_IPSR_MODSEL_DATA(IP13_2_0, SCIFB1_TXD, SEL_SCIFB1_0), 1613 + PINMUX_IPSR_MODSEL_DATA(IP13_2_0, IETX_B, SEL_IEB_1), 1614 + PINMUX_IPSR_DATA(IP13_2_0, DU2_DR2), 1615 + PINMUX_IPSR_DATA(IP13_2_0, LCDOUT2), 1616 + PINMUX_IPSR_DATA(IP13_2_0, CAN_DEBUGOUT5), 1617 + PINMUX_IPSR_MODSEL_DATA(IP13_6_3, SSI_SCK6, SEL_SSI6_0), 1618 + PINMUX_IPSR_MODSEL_DATA(IP13_6_3, SCIFB1_CTS_N, SEL_SCIFB1_0), 1619 + PINMUX_IPSR_MODSEL_DATA(IP13_6_3, BPFCLK_D, SEL_FM_3), 1620 + PINMUX_IPSR_MODSEL_DATA(IP13_6_3, RDS_CLK_C, SEL_RDS_2), 1621 + PINMUX_IPSR_DATA(IP13_6_3, DU2_DR3), 1622 + PINMUX_IPSR_DATA(IP13_6_3, LCDOUT3), 1623 + PINMUX_IPSR_DATA(IP13_6_3, CAN_DEBUGOUT6), 1624 + PINMUX_IPSR_MODSEL_DATA(IP13_6_3, BPFCLK_F, SEL_FM_5), 1625 + PINMUX_IPSR_MODSEL_DATA(IP13_6_3, RDS_CLK_E, SEL_RDS_4), 1626 + PINMUX_IPSR_MODSEL_DATA(IP13_9_7, SSI_WS6, SEL_SSI6_0), 1627 + PINMUX_IPSR_MODSEL_DATA(IP13_9_7, SCIFB1_RTS_N, SEL_SCIFB1_0), 1628 + PINMUX_IPSR_MODSEL_DATA(IP13_9_7, CAN0_TX_D, SEL_CAN0_3), 1629 + PINMUX_IPSR_DATA(IP13_9_7, DU2_DR4), 1630 + PINMUX_IPSR_DATA(IP13_9_7, LCDOUT4), 1631 + PINMUX_IPSR_DATA(IP13_9_7, CAN_DEBUGOUT7), 1632 + PINMUX_IPSR_MODSEL_DATA(IP13_12_10, SSI_SDATA6, SEL_SSI6_0), 1633 + PINMUX_IPSR_MODSEL_DATA(IP13_12_10, FMIN_D, SEL_FM_3), 1634 + PINMUX_IPSR_MODSEL_DATA(IP13_12_10, RDS_DATA_C, SEL_RDS_2), 1635 + PINMUX_IPSR_DATA(IP13_12_10, DU2_DR5), 1636 + PINMUX_IPSR_DATA(IP13_12_10, LCDOUT5), 1637 + PINMUX_IPSR_DATA(IP13_12_10, CAN_DEBUGOUT8), 1638 + PINMUX_IPSR_MODSEL_DATA(IP13_15_13, SSI_SCK78, SEL_SSI7_0), 1639 + PINMUX_IPSR_MODSEL_DATA(IP13_15_13, STP_IVCXO27_1, SEL_SSP_0), 1640 + PINMUX_IPSR_MODSEL_DATA(IP13_15_13, SCK1, SEL_SCIF1_0), 1641 + PINMUX_IPSR_MODSEL_DATA(IP13_15_13, SCIFA1_SCK, SEL_SCIFA1_0), 1642 + PINMUX_IPSR_DATA(IP13_15_13, DU2_DR6), 1643 + PINMUX_IPSR_DATA(IP13_15_13, LCDOUT6), 1644 + PINMUX_IPSR_DATA(IP13_15_13, CAN_DEBUGOUT9), 1645 + PINMUX_IPSR_MODSEL_DATA(IP13_18_16, SSI_WS78, SEL_SSI7_0), 1646 + PINMUX_IPSR_MODSEL_DATA(IP13_18_16, STP_ISCLK_1, SEL_SSP_0), 1647 + PINMUX_IPSR_MODSEL_DATA(IP13_18_16, SCIFB2_SCK, SEL_SCIFB2_0), 1648 + PINMUX_IPSR_DATA(IP13_18_16, SCIFA2_CTS_N), 1649 + PINMUX_IPSR_DATA(IP13_18_16, DU2_DR7), 1650 + PINMUX_IPSR_DATA(IP13_18_16, LCDOUT7), 1651 + PINMUX_IPSR_DATA(IP13_18_16, CAN_DEBUGOUT10), 1652 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, SSI_SDATA7, SEL_SSI7_0), 1653 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, STP_ISD_1, SEL_SSP_0), 1654 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, SCIFB2_RXD, SEL_SCIFB2_0), 1655 + PINMUX_IPSR_DATA(IP13_22_19, SCIFA2_RTS_N), 1656 + PINMUX_IPSR_DATA(IP13_22_19, TCLK2), 1657 + PINMUX_IPSR_DATA(IP13_22_19, QSTVA_QVS), 1658 + PINMUX_IPSR_DATA(IP13_22_19, CAN_DEBUGOUT11), 1659 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, BPFCLK_E, SEL_FM_4), 1660 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, RDS_CLK_D, SEL_RDS_3), 1661 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, SSI_SDATA7_B, SEL_SSI7_1), 1662 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, FMIN_G, SEL_FM_6), 1663 + PINMUX_IPSR_MODSEL_DATA(IP13_22_19, RDS_DATA_F, SEL_RDS_5), 1664 + PINMUX_IPSR_MODSEL_DATA(IP13_25_23, SSI_SDATA8, SEL_SSI8_0), 1665 + PINMUX_IPSR_MODSEL_DATA(IP13_25_23, STP_ISEN_1, SEL_SSP_0), 1666 + PINMUX_IPSR_MODSEL_DATA(IP13_25_23, SCIFB2_TXD, SEL_SCIFB2_0), 1667 + PINMUX_IPSR_MODSEL_DATA(IP13_25_23, CAN0_TX_C, SEL_CAN0_2), 1668 + PINMUX_IPSR_DATA(IP13_25_23, CAN_DEBUGOUT12), 1669 + PINMUX_IPSR_MODSEL_DATA(IP13_25_23, SSI_SDATA8_B, SEL_SSI8_1), 1670 + PINMUX_IPSR_DATA(IP13_28_26, SSI_SDATA9), 1671 + PINMUX_IPSR_MODSEL_DATA(IP13_28_26, STP_ISSYNC_1, SEL_SSP_0), 1672 + PINMUX_IPSR_MODSEL_DATA(IP13_28_26, SCIFB2_CTS_N, SEL_SCIFB2_0), 1673 + PINMUX_IPSR_DATA(IP13_28_26, SSI_WS1), 1674 + PINMUX_IPSR_MODSEL_DATA(IP13_28_26, SSI_SDATA5_C, SEL_SSI5_2), 1675 + PINMUX_IPSR_DATA(IP13_28_26, CAN_DEBUGOUT13), 1676 + PINMUX_IPSR_DATA(IP13_30_29, AUDIO_CLKA), 1677 + PINMUX_IPSR_MODSEL_DATA(IP13_30_29, SCIFB2_RTS_N, SEL_SCIFB2_0), 1678 + PINMUX_IPSR_DATA(IP13_30_29, CAN_DEBUGOUT14), 1679 + 1680 + PINMUX_IPSR_DATA(IP14_2_0, AUDIO_CLKB), 1681 + PINMUX_IPSR_MODSEL_DATA(IP14_2_0, SCIF_CLK, SEL_SCIFCLK_0), 1682 + PINMUX_IPSR_MODSEL_DATA(IP14_2_0, CAN0_RX_D, SEL_CAN0_3), 1683 + PINMUX_IPSR_DATA(IP14_2_0, DVC_MUTE), 1684 + PINMUX_IPSR_MODSEL_DATA(IP14_2_0, CAN0_RX_C, SEL_CAN0_2), 1685 + PINMUX_IPSR_DATA(IP14_2_0, CAN_DEBUGOUT15), 1686 + PINMUX_IPSR_DATA(IP14_2_0, REMOCON), 1687 + PINMUX_IPSR_MODSEL_DATA(IP14_5_3, SCIFA0_SCK, SEL_SCFA_0), 1688 + PINMUX_IPSR_MODSEL_DATA(IP14_5_3, HSCK1, SEL_HSCIF1_0), 1689 + PINMUX_IPSR_DATA(IP14_5_3, SCK0), 1690 + PINMUX_IPSR_DATA(IP14_5_3, MSIOF3_SS2), 1691 + PINMUX_IPSR_DATA(IP14_5_3, DU2_DG2), 1692 + PINMUX_IPSR_DATA(IP14_5_3, LCDOUT10), 1693 + PINMUX_IPSR_MODSEL_DATA(IP14_5_3, SDA1_C, SEL_IIC1_2), 1694 + PINMUX_IPSR_MODSEL_DATA(IP14_5_3, SDA1_CIS_C, SEL_I2C1_2), 1695 + PINMUX_IPSR_MODSEL_DATA(IP14_8_6, SCIFA0_RXD, SEL_SCFA_0), 1696 + PINMUX_IPSR_MODSEL_DATA(IP14_8_6, HRX1, SEL_HSCIF1_0), 1697 + PINMUX_IPSR_MODSEL_DATA(IP14_8_6, RX0, SEL_SCIF0_0), 1698 + PINMUX_IPSR_DATA(IP14_8_6, DU2_DR0), 1699 + PINMUX_IPSR_DATA(IP14_8_6, LCDOUT0), 1700 + PINMUX_IPSR_MODSEL_DATA(IP14_11_9, SCIFA0_TXD, SEL_SCFA_0), 1701 + PINMUX_IPSR_MODSEL_DATA(IP14_11_9, HTX1, SEL_HSCIF1_0), 1702 + PINMUX_IPSR_MODSEL_DATA(IP14_11_9, TX0, SEL_SCIF0_0), 1703 + PINMUX_IPSR_DATA(IP14_11_9, DU2_DR1), 1704 + PINMUX_IPSR_DATA(IP14_11_9, LCDOUT1), 1705 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, SCIFA0_CTS_N, SEL_SCFA_0), 1706 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, HCTS1_N, SEL_HSCIF1_0), 1707 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, CTS0_N, SEL_SCIF0_0), 1708 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, MSIOF3_SYNC, SEL_SOF3_0), 1709 + PINMUX_IPSR_DATA(IP14_15_12, DU2_DG3), 1710 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, LCDOUT11, SEL_HSCIF1_0), 1711 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, PWM0_B, SEL_SCIF0_0), 1712 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, SCL1_C, SEL_IIC1_2), 1713 + PINMUX_IPSR_MODSEL_DATA(IP14_15_12, SCL1_CIS_C, SEL_I2C1_2), 1714 + PINMUX_IPSR_MODSEL_DATA(IP14_18_16, SCIFA0_RTS_N, SEL_SCFA_0), 1715 + PINMUX_IPSR_MODSEL_DATA(IP14_18_16, HRTS1_N, SEL_HSCIF1_0), 1716 + PINMUX_IPSR_DATA(IP14_18_16, RTS0_N_TANS), 1717 + PINMUX_IPSR_DATA(IP14_18_16, MSIOF3_SS1), 1718 + PINMUX_IPSR_DATA(IP14_18_16, DU2_DG0), 1719 + PINMUX_IPSR_DATA(IP14_18_16, LCDOUT8), 1720 + PINMUX_IPSR_DATA(IP14_18_16, PWM1_B), 1721 + PINMUX_IPSR_MODSEL_DATA(IP14_21_19, SCIFA1_RXD, SEL_SCIFA1_0), 1722 + PINMUX_IPSR_MODSEL_DATA(IP14_21_19, AD_DI, SEL_ADI_0), 1723 + PINMUX_IPSR_MODSEL_DATA(IP14_21_19, RX1, SEL_SCIF1_0), 1724 + PINMUX_IPSR_DATA(IP14_21_19, DU2_EXODDF_DU2_ODDF_DISP_CDE), 1725 + PINMUX_IPSR_DATA(IP14_21_19, QCPV_QDE), 1726 + PINMUX_IPSR_MODSEL_DATA(IP14_24_22, SCIFA1_TXD, SEL_SCIFA1_0), 1727 + PINMUX_IPSR_MODSEL_DATA(IP14_24_22, AD_DO, SEL_ADI_0), 1728 + PINMUX_IPSR_MODSEL_DATA(IP14_24_22, TX1, SEL_SCIF1_0), 1729 + PINMUX_IPSR_DATA(IP14_24_22, DU2_DG1), 1730 + PINMUX_IPSR_DATA(IP14_24_22, LCDOUT9), 1731 + PINMUX_IPSR_MODSEL_DATA(IP14_27_25, SCIFA1_CTS_N, SEL_SCIFA1_0), 1732 + PINMUX_IPSR_MODSEL_DATA(IP14_27_25, AD_CLK, SEL_ADI_0), 1733 + PINMUX_IPSR_DATA(IP14_27_25, CTS1_N), 1734 + PINMUX_IPSR_MODSEL_DATA(IP14_27_25, MSIOF3_RXD, SEL_SOF3_0), 1735 + PINMUX_IPSR_DATA(IP14_27_25, DU0_DOTCLKOUT), 1736 + PINMUX_IPSR_DATA(IP14_27_25, QCLK), 1737 + PINMUX_IPSR_MODSEL_DATA(IP14_30_28, SCIFA1_RTS_N, SEL_SCIFA1_0), 1738 + PINMUX_IPSR_MODSEL_DATA(IP14_30_28, AD_NCS_N, SEL_ADI_0), 1739 + PINMUX_IPSR_DATA(IP14_30_28, RTS1_N_TANS), 1740 + PINMUX_IPSR_MODSEL_DATA(IP14_30_28, MSIOF3_TXD, SEL_SOF3_0), 1741 + PINMUX_IPSR_DATA(IP14_30_28, DU1_DOTCLKOUT), 1742 + PINMUX_IPSR_DATA(IP14_30_28, QSTVB_QVE), 1743 + PINMUX_IPSR_MODSEL_DATA(IP14_30_28, HRTS0_N_C, SEL_HSCIF0_2), 1744 + 1745 + PINMUX_IPSR_MODSEL_DATA(IP15_2_0, SCIFA2_SCK, SEL_SCIFA2_0), 1746 + PINMUX_IPSR_MODSEL_DATA(IP15_2_0, FMCLK, SEL_FM_0), 1747 + PINMUX_IPSR_MODSEL_DATA(IP15_2_0, MSIOF3_SCK, SEL_SOF3_0), 1748 + PINMUX_IPSR_DATA(IP15_2_0, DU2_DG7), 1749 + PINMUX_IPSR_DATA(IP15_2_0, LCDOUT15), 1750 + PINMUX_IPSR_MODSEL_DATA(IP15_2_0, SCIF_CLK_B, SEL_SCIFCLK_0), 1751 + PINMUX_IPSR_MODSEL_DATA(IP15_5_3, SCIFA2_RXD, SEL_SCIFA2_0), 1752 + PINMUX_IPSR_MODSEL_DATA(IP15_5_3, FMIN, SEL_FM_0), 1753 + PINMUX_IPSR_DATA(IP15_5_3, DU2_DB0), 1754 + PINMUX_IPSR_DATA(IP15_5_3, LCDOUT16), 1755 + PINMUX_IPSR_MODSEL_DATA(IP15_5_3, SCL2, SEL_IIC2_0), 1756 + PINMUX_IPSR_MODSEL_DATA(IP15_5_3, SCL2_CIS, SEL_I2C2_0), 1757 + PINMUX_IPSR_MODSEL_DATA(IP15_8_6, SCIFA2_TXD, SEL_SCIFA2_0), 1758 + PINMUX_IPSR_MODSEL_DATA(IP15_8_6, BPFCLK, SEL_FM_0), 1759 + PINMUX_IPSR_DATA(IP15_8_6, DU2_DB1), 1760 + PINMUX_IPSR_DATA(IP15_8_6, LCDOUT17), 1761 + PINMUX_IPSR_MODSEL_DATA(IP15_8_6, SDA2, SEL_IIC2_0), 1762 + PINMUX_IPSR_MODSEL_DATA(IP15_8_6, SDA2_CIS, SEL_I2C2_0), 1763 + PINMUX_IPSR_DATA(IP15_11_9, HSCK0), 1764 + PINMUX_IPSR_MODSEL_DATA(IP15_11_9, TS_SDEN0, SEL_TSIF0_0), 1765 + PINMUX_IPSR_DATA(IP15_11_9, DU2_DG4), 1766 + PINMUX_IPSR_DATA(IP15_11_9, LCDOUT12), 1767 + PINMUX_IPSR_MODSEL_DATA(IP15_11_9, HCTS0_N_C, SEL_IIC2_0), 1768 + PINMUX_IPSR_MODSEL_DATA(IP15_11_9, SDA2_CIS, SEL_I2C2_0), 1769 + PINMUX_IPSR_MODSEL_DATA(IP15_13_12, HRX0, SEL_HSCIF0_0), 1770 + PINMUX_IPSR_DATA(IP15_13_12, DU2_DB2), 1771 + PINMUX_IPSR_DATA(IP15_13_12, LCDOUT18), 1772 + PINMUX_IPSR_MODSEL_DATA(IP15_15_14, HTX0, SEL_HSCIF0_0), 1773 + PINMUX_IPSR_DATA(IP15_15_14, DU2_DB3), 1774 + PINMUX_IPSR_DATA(IP15_15_14, LCDOUT19), 1775 + PINMUX_IPSR_MODSEL_DATA(IP15_17_16, HCTS0_N, SEL_HSCIF0_0), 1776 + PINMUX_IPSR_DATA(IP15_17_16, SSI_SCK9), 1777 + PINMUX_IPSR_DATA(IP15_17_16, DU2_DB4), 1778 + PINMUX_IPSR_DATA(IP15_17_16, LCDOUT20), 1779 + PINMUX_IPSR_MODSEL_DATA(IP15_19_18, HRTS0_N, SEL_HSCIF0_0), 1780 + PINMUX_IPSR_DATA(IP15_19_18, SSI_WS9), 1781 + PINMUX_IPSR_DATA(IP15_19_18, DU2_DB5), 1782 + PINMUX_IPSR_DATA(IP15_19_18, LCDOUT21), 1783 + PINMUX_IPSR_MODSEL_DATA(IP15_22_20, MSIOF0_SCK, SEL_SOF0_0), 1784 + PINMUX_IPSR_MODSEL_DATA(IP15_22_20, TS_SDAT0, SEL_TSIF0_0), 1785 + PINMUX_IPSR_DATA(IP15_22_20, ADICLK), 1786 + PINMUX_IPSR_DATA(IP15_22_20, DU2_DB6), 1787 + PINMUX_IPSR_DATA(IP15_22_20, LCDOUT22), 1788 + PINMUX_IPSR_DATA(IP15_25_23, MSIOF0_SYNC), 1789 + PINMUX_IPSR_MODSEL_DATA(IP15_25_23, TS_SCK0, SEL_TSIF0_0), 1790 + PINMUX_IPSR_DATA(IP15_25_23, SSI_SCK2), 1791 + PINMUX_IPSR_DATA(IP15_25_23, ADIDATA), 1792 + PINMUX_IPSR_DATA(IP15_25_23, DU2_DB7), 1793 + PINMUX_IPSR_DATA(IP15_25_23, LCDOUT23), 1794 + PINMUX_IPSR_MODSEL_DATA(IP15_25_23, SCIFA2_RXD_B, SEL_SCIFA2_1), 1795 + PINMUX_IPSR_MODSEL_DATA(IP15_27_26, MSIOF0_SS1, SEL_SOF0_0), 1796 + PINMUX_IPSR_DATA(IP15_27_26, ADICHS0), 1797 + PINMUX_IPSR_DATA(IP15_27_26, DU2_DG5), 1798 + PINMUX_IPSR_DATA(IP15_27_26, LCDOUT13), 1799 + PINMUX_IPSR_MODSEL_DATA(IP15_29_28, MSIOF0_TXD, SEL_SOF0_0), 1800 + PINMUX_IPSR_DATA(IP15_29_28, ADICHS1), 1801 + PINMUX_IPSR_DATA(IP15_29_28, DU2_DG6), 1802 + PINMUX_IPSR_DATA(IP15_29_28, LCDOUT14), 1803 + 1804 + PINMUX_IPSR_MODSEL_DATA(IP16_2_0, MSIOF0_SS2, SEL_SOF0_0), 1805 + PINMUX_IPSR_DATA(IP16_2_0, AUDIO_CLKOUT), 1806 + PINMUX_IPSR_DATA(IP16_2_0, ADICHS2), 1807 + PINMUX_IPSR_DATA(IP16_2_0, DU2_DISP), 1808 + PINMUX_IPSR_DATA(IP16_2_0, QPOLA), 1809 + PINMUX_IPSR_MODSEL_DATA(IP16_2_0, HTX0_C, SEL_HSCIF0_2), 1810 + PINMUX_IPSR_MODSEL_DATA(IP16_2_0, SCIFA2_TXD_B, SEL_SCIFA2_1), 1811 + PINMUX_IPSR_MODSEL_DATA(IP16_5_3, MSIOF0_RXD, SEL_SOF0_0), 1812 + PINMUX_IPSR_MODSEL_DATA(IP16_5_3, TS_SPSYNC0, SEL_TSIF0_0), 1813 + PINMUX_IPSR_DATA(IP16_5_3, SSI_WS2), 1814 + PINMUX_IPSR_DATA(IP16_5_3, ADICS_SAMP), 1815 + PINMUX_IPSR_DATA(IP16_5_3, DU2_CDE), 1816 + PINMUX_IPSR_DATA(IP16_5_3, QPOLB), 1817 + PINMUX_IPSR_MODSEL_DATA(IP16_5_3, HRX0_C, SEL_HSCIF0_2), 1818 + PINMUX_IPSR_DATA(IP16_6, USB1_PWEN), 1819 + PINMUX_IPSR_DATA(IP16_6, AUDIO_CLKOUT_D), 1820 + PINMUX_IPSR_DATA(IP16_7, USB1_OVC), 1821 + PINMUX_IPSR_MODSEL_DATA(IP16_7, TCLK1_B, SEL_TMU1_1), 1822 + }; 1823 + 1824 + static struct sh_pfc_pin pinmux_pins[] = { 1825 + PINMUX_GPIO_GP_ALL(), 1826 + }; 1827 + 1828 + /* - ETH -------------------------------------------------------------------- */ 1829 + static const unsigned int eth_link_pins[] = { 1830 + /* LINK */ 1831 + RCAR_GP_PIN(2, 22), 1832 + }; 1833 + static const unsigned int eth_link_mux[] = { 1834 + ETH_LINK_MARK, 1835 + }; 1836 + static const unsigned int eth_magic_pins[] = { 1837 + /* MAGIC */ 1838 + RCAR_GP_PIN(2, 27), 1839 + }; 1840 + static const unsigned int eth_magic_mux[] = { 1841 + ETH_MAGIC_MARK, 1842 + }; 1843 + static const unsigned int eth_mdio_pins[] = { 1844 + /* MDC, MDIO */ 1845 + RCAR_GP_PIN(2, 29), RCAR_GP_PIN(2, 24), 1846 + }; 1847 + static const unsigned int eth_mdio_mux[] = { 1848 + ETH_MDC_MARK, ETH_MDIO_MARK, 1849 + }; 1850 + static const unsigned int eth_rmii_pins[] = { 1851 + /* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK */ 1852 + RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 19), 1853 + RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 25), 1854 + RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 23), 1855 + }; 1856 + static const unsigned int eth_rmii_mux[] = { 1857 + ETH_RXD0_MARK, ETH_RXD1_MARK, ETH_RX_ER_MARK, ETH_CRS_DV_MARK, 1858 + ETH_TXD0_MARK, ETH_TXD1_MARK, ETH_TX_EN_MARK, ETH_REF_CLK_MARK, 1859 + }; 1860 + /* - INTC ------------------------------------------------------------------- */ 1861 + static const unsigned int intc_irq0_pins[] = { 1862 + /* IRQ */ 1863 + RCAR_GP_PIN(1, 25), 1864 + }; 1865 + static const unsigned int intc_irq0_mux[] = { 1866 + IRQ0_MARK, 1867 + }; 1868 + static const unsigned int intc_irq1_pins[] = { 1869 + /* IRQ */ 1870 + RCAR_GP_PIN(1, 27), 1871 + }; 1872 + static const unsigned int intc_irq1_mux[] = { 1873 + IRQ1_MARK, 1874 + }; 1875 + static const unsigned int intc_irq2_pins[] = { 1876 + /* IRQ */ 1877 + RCAR_GP_PIN(1, 29), 1878 + }; 1879 + static const unsigned int intc_irq2_mux[] = { 1880 + IRQ2_MARK, 1881 + }; 1882 + static const unsigned int intc_irq3_pins[] = { 1883 + /* IRQ */ 1884 + RCAR_GP_PIN(1, 23), 1885 + }; 1886 + static const unsigned int intc_irq3_mux[] = { 1887 + IRQ3_MARK, 1888 + }; 1889 + /* - SCIF0 ----------------------------------------------------------------- */ 1890 + static const unsigned int scif0_data_pins[] = { 1891 + /* RX, TX */ 1892 + RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 29), 1893 + }; 1894 + static const unsigned int scif0_data_mux[] = { 1895 + RX0_MARK, TX0_MARK, 1896 + }; 1897 + static const unsigned int scif0_clk_pins[] = { 1898 + /* SCK */ 1899 + RCAR_GP_PIN(4, 27), 1900 + }; 1901 + static const unsigned int scif0_clk_mux[] = { 1902 + SCK0_MARK, 1903 + }; 1904 + static const unsigned int scif0_ctrl_pins[] = { 1905 + /* RTS, CTS */ 1906 + RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 30), 1907 + }; 1908 + static const unsigned int scif0_ctrl_mux[] = { 1909 + RTS0_N_TANS_MARK, CTS0_N_MARK, 1910 + }; 1911 + static const unsigned int scif0_data_b_pins[] = { 1912 + /* RX, TX */ 1913 + RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5), 1914 + }; 1915 + static const unsigned int scif0_data_b_mux[] = { 1916 + RX0_B_MARK, TX0_B_MARK, 1917 + }; 1918 + /* - SCIF1 ----------------------------------------------------------------- */ 1919 + static const unsigned int scif1_data_pins[] = { 1920 + /* RX, TX */ 1921 + RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 1), 1922 + }; 1923 + static const unsigned int scif1_data_mux[] = { 1924 + RX1_MARK, TX1_MARK, 1925 + }; 1926 + static const unsigned int scif1_clk_pins[] = { 1927 + /* SCK */ 1928 + RCAR_GP_PIN(4, 20), 1929 + }; 1930 + static const unsigned int scif1_clk_mux[] = { 1931 + SCK1_MARK, 1932 + }; 1933 + static const unsigned int scif1_ctrl_pins[] = { 1934 + /* RTS, CTS */ 1935 + RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 2), 1936 + }; 1937 + static const unsigned int scif1_ctrl_mux[] = { 1938 + RTS1_N_TANS_MARK, CTS1_N_MARK, 1939 + }; 1940 + static const unsigned int scif1_data_b_pins[] = { 1941 + /* RX, TX */ 1942 + RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15), 1943 + }; 1944 + static const unsigned int scif1_data_b_mux[] = { 1945 + RX1_B_MARK, TX1_B_MARK, 1946 + }; 1947 + static const unsigned int scif1_data_c_pins[] = { 1948 + /* RX, TX */ 1949 + RCAR_GP_PIN(4, 1), RCAR_GP_PIN(4, 2), 1950 + }; 1951 + static const unsigned int scif1_data_c_mux[] = { 1952 + RX1_C_MARK, TX1_C_MARK, 1953 + }; 1954 + static const unsigned int scif1_data_d_pins[] = { 1955 + /* RX, TX */ 1956 + RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 19), 1957 + }; 1958 + static const unsigned int scif1_data_d_mux[] = { 1959 + RX1_D_MARK, TX1_D_MARK, 1960 + }; 1961 + static const unsigned int scif1_clk_d_pins[] = { 1962 + /* SCK */ 1963 + RCAR_GP_PIN(3, 17), 1964 + }; 1965 + static const unsigned int scif1_clk_d_mux[] = { 1966 + SCK1_D_MARK, 1967 + }; 1968 + static const unsigned int scif1_data_e_pins[] = { 1969 + /* RX, TX */ 1970 + RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22), 1971 + }; 1972 + static const unsigned int scif1_data_e_mux[] = { 1973 + RX1_E_MARK, TX1_E_MARK, 1974 + }; 1975 + static const unsigned int scif1_clk_e_pins[] = { 1976 + /* SCK */ 1977 + RCAR_GP_PIN(2, 20), 1978 + }; 1979 + static const unsigned int scif1_clk_e_mux[] = { 1980 + SCK1_E_MARK, 1981 + }; 1982 + /* - SCIFA0 ----------------------------------------------------------------- */ 1983 + static const unsigned int scifa0_data_pins[] = { 1984 + /* RXD, TXD */ 1985 + RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 29), 1986 + }; 1987 + static const unsigned int scifa0_data_mux[] = { 1988 + SCIFA0_RXD_MARK, SCIFA0_TXD_MARK, 1989 + }; 1990 + static const unsigned int scifa0_clk_pins[] = { 1991 + /* SCK */ 1992 + RCAR_GP_PIN(4, 27), 1993 + }; 1994 + static const unsigned int scifa0_clk_mux[] = { 1995 + SCIFA0_SCK_MARK, 1996 + }; 1997 + static const unsigned int scifa0_ctrl_pins[] = { 1998 + /* RTS, CTS */ 1999 + RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 30), 2000 + }; 2001 + static const unsigned int scifa0_ctrl_mux[] = { 2002 + SCIFA0_RTS_N_MARK, SCIFA0_CTS_N_MARK, 2003 + }; 2004 + static const unsigned int scifa0_data_b_pins[] = { 2005 + /* RXD, TXD */ 2006 + RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 21), 2007 + }; 2008 + static const unsigned int scifa0_data_b_mux[] = { 2009 + SCIFA0_RXD_B_MARK, SCIFA0_TXD_B_MARK 2010 + }; 2011 + static const unsigned int scifa0_clk_b_pins[] = { 2012 + /* SCK */ 2013 + RCAR_GP_PIN(1, 19), 2014 + }; 2015 + static const unsigned int scifa0_clk_b_mux[] = { 2016 + SCIFA0_SCK_B_MARK, 2017 + }; 2018 + static const unsigned int scifa0_ctrl_b_pins[] = { 2019 + /* RTS, CTS */ 2020 + RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), 2021 + }; 2022 + static const unsigned int scifa0_ctrl_b_mux[] = { 2023 + SCIFA0_RTS_N_B_MARK, SCIFA0_CTS_N_B_MARK, 2024 + }; 2025 + /* - SCIFA1 ----------------------------------------------------------------- */ 2026 + static const unsigned int scifa1_data_pins[] = { 2027 + /* RXD, TXD */ 2028 + RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 1), 2029 + }; 2030 + static const unsigned int scifa1_data_mux[] = { 2031 + SCIFA1_RXD_MARK, SCIFA1_TXD_MARK, 2032 + }; 2033 + static const unsigned int scifa1_clk_pins[] = { 2034 + /* SCK */ 2035 + RCAR_GP_PIN(4, 20), 2036 + }; 2037 + static const unsigned int scifa1_clk_mux[] = { 2038 + SCIFA1_SCK_MARK, 2039 + }; 2040 + static const unsigned int scifa1_ctrl_pins[] = { 2041 + /* RTS, CTS */ 2042 + RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 2), 2043 + }; 2044 + static const unsigned int scifa1_ctrl_mux[] = { 2045 + SCIFA1_RTS_N_MARK, SCIFA1_CTS_N_MARK, 2046 + }; 2047 + static const unsigned int scifa1_data_b_pins[] = { 2048 + /* RXD, TXD */ 2049 + RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 21), 2050 + }; 2051 + static const unsigned int scifa1_data_b_mux[] = { 2052 + SCIFA1_RXD_B_MARK, SCIFA1_TXD_B_MARK, 2053 + }; 2054 + static const unsigned int scifa1_clk_b_pins[] = { 2055 + /* SCK */ 2056 + RCAR_GP_PIN(0, 23), 2057 + }; 2058 + static const unsigned int scifa1_clk_b_mux[] = { 2059 + SCIFA1_SCK_B_MARK, 2060 + }; 2061 + static const unsigned int scifa1_ctrl_b_pins[] = { 2062 + /* RTS, CTS */ 2063 + RCAR_GP_PIN(0, 22), RCAR_GP_PIN(0, 25), 2064 + }; 2065 + static const unsigned int scifa1_ctrl_b_mux[] = { 2066 + SCIFA1_RTS_N_B_MARK, SCIFA1_CTS_N_B_MARK, 2067 + }; 2068 + static const unsigned int scifa1_data_c_pins[] = { 2069 + /* RXD, TXD */ 2070 + RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), 2071 + }; 2072 + static const unsigned int scifa1_data_c_mux[] = { 2073 + SCIFA1_RXD_C_MARK, SCIFA1_TXD_C_MARK, 2074 + }; 2075 + static const unsigned int scifa1_clk_c_pins[] = { 2076 + /* SCK */ 2077 + RCAR_GP_PIN(0, 8), 2078 + }; 2079 + static const unsigned int scifa1_clk_c_mux[] = { 2080 + SCIFA1_SCK_C_MARK, 2081 + }; 2082 + static const unsigned int scifa1_ctrl_c_pins[] = { 2083 + /* RTS, CTS */ 2084 + RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 11), 2085 + }; 2086 + static const unsigned int scifa1_ctrl_c_mux[] = { 2087 + SCIFA1_RTS_N_C_MARK, SCIFA1_CTS_N_C_MARK, 2088 + }; 2089 + static const unsigned int scifa1_data_d_pins[] = { 2090 + /* RXD, TXD */ 2091 + RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), 2092 + }; 2093 + static const unsigned int scifa1_data_d_mux[] = { 2094 + SCIFA1_RXD_D_MARK, SCIFA1_TXD_D_MARK, 2095 + }; 2096 + static const unsigned int scifa1_clk_d_pins[] = { 2097 + /* SCK */ 2098 + RCAR_GP_PIN(2, 10), 2099 + }; 2100 + static const unsigned int scifa1_clk_d_mux[] = { 2101 + SCIFA1_SCK_D_MARK, 2102 + }; 2103 + static const unsigned int scifa1_ctrl_d_pins[] = { 2104 + /* RTS, CTS */ 2105 + RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13), 2106 + }; 2107 + static const unsigned int scifa1_ctrl_d_mux[] = { 2108 + SCIFA1_RTS_N_D_MARK, SCIFA1_CTS_N_D_MARK, 2109 + }; 2110 + /* - SCIFA2 ----------------------------------------------------------------- */ 2111 + static const unsigned int scifa2_data_pins[] = { 2112 + /* RXD, TXD */ 2113 + RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6), 2114 + }; 2115 + static const unsigned int scifa2_data_mux[] = { 2116 + SCIFA2_RXD_MARK, SCIFA2_TXD_MARK, 2117 + }; 2118 + static const unsigned int scifa2_clk_pins[] = { 2119 + /* SCK */ 2120 + RCAR_GP_PIN(5, 4), 2121 + }; 2122 + static const unsigned int scifa2_clk_mux[] = { 2123 + SCIFA2_SCK_MARK, 2124 + }; 2125 + static const unsigned int scifa2_ctrl_pins[] = { 2126 + /* RTS, CTS */ 2127 + RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21), 2128 + }; 2129 + static const unsigned int scifa2_ctrl_mux[] = { 2130 + SCIFA2_RTS_N_MARK, SCIFA2_CTS_N_MARK, 2131 + }; 2132 + static const unsigned int scifa2_data_b_pins[] = { 2133 + /* RXD, TXD */ 2134 + RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 16), 2135 + }; 2136 + static const unsigned int scifa2_data_b_mux[] = { 2137 + SCIFA2_RXD_B_MARK, SCIFA2_TXD_B_MARK, 2138 + }; 2139 + static const unsigned int scifa2_data_c_pins[] = { 2140 + /* RXD, TXD */ 2141 + RCAR_GP_PIN(5, 31), RCAR_GP_PIN(5, 30), 2142 + }; 2143 + static const unsigned int scifa2_data_c_mux[] = { 2144 + SCIFA2_RXD_C_MARK, SCIFA2_TXD_C_MARK, 2145 + }; 2146 + static const unsigned int scifa2_clk_c_pins[] = { 2147 + /* SCK */ 2148 + RCAR_GP_PIN(5, 29), 2149 + }; 2150 + static const unsigned int scifa2_clk_c_mux[] = { 2151 + SCIFA2_SCK_C_MARK, 2152 + }; 2153 + /* - SCIFB0 ----------------------------------------------------------------- */ 2154 + static const unsigned int scifb0_data_pins[] = { 2155 + /* RXD, TXD */ 2156 + RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 10), 2157 + }; 2158 + static const unsigned int scifb0_data_mux[] = { 2159 + SCIFB0_RXD_MARK, SCIFB0_TXD_MARK, 2160 + }; 2161 + static const unsigned int scifb0_clk_pins[] = { 2162 + /* SCK */ 2163 + RCAR_GP_PIN(4, 8), 2164 + }; 2165 + static const unsigned int scifb0_clk_mux[] = { 2166 + SCIFB0_SCK_MARK, 2167 + }; 2168 + static const unsigned int scifb0_ctrl_pins[] = { 2169 + /* RTS, CTS */ 2170 + RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 11), 2171 + }; 2172 + static const unsigned int scifb0_ctrl_mux[] = { 2173 + SCIFB0_RTS_N_MARK, SCIFB0_CTS_N_MARK, 2174 + }; 2175 + static const unsigned int scifb0_data_b_pins[] = { 2176 + /* RXD, TXD */ 2177 + RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11), 2178 + }; 2179 + static const unsigned int scifb0_data_b_mux[] = { 2180 + SCIFB0_RXD_B_MARK, SCIFB0_TXD_B_MARK, 2181 + }; 2182 + static const unsigned int scifb0_clk_b_pins[] = { 2183 + /* SCK */ 2184 + RCAR_GP_PIN(3, 9), 2185 + }; 2186 + static const unsigned int scifb0_clk_b_mux[] = { 2187 + SCIFB0_SCK_B_MARK, 2188 + }; 2189 + static const unsigned int scifb0_ctrl_b_pins[] = { 2190 + /* RTS, CTS */ 2191 + RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 12), 2192 + }; 2193 + static const unsigned int scifb0_ctrl_b_mux[] = { 2194 + SCIFB0_RTS_N_B_MARK, SCIFB0_CTS_N_B_MARK, 2195 + }; 2196 + static const unsigned int scifb0_data_c_pins[] = { 2197 + /* RXD, TXD */ 2198 + RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5), 2199 + }; 2200 + static const unsigned int scifb0_data_c_mux[] = { 2201 + SCIFB0_RXD_C_MARK, SCIFB0_TXD_C_MARK, 2202 + }; 2203 + /* - SCIFB1 ----------------------------------------------------------------- */ 2204 + static const unsigned int scifb1_data_pins[] = { 2205 + /* RXD, TXD */ 2206 + RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 16), 2207 + }; 2208 + static const unsigned int scifb1_data_mux[] = { 2209 + SCIFB1_RXD_MARK, SCIFB1_TXD_MARK, 2210 + }; 2211 + static const unsigned int scifb1_clk_pins[] = { 2212 + /* SCK */ 2213 + RCAR_GP_PIN(4, 14), 2214 + }; 2215 + static const unsigned int scifb1_clk_mux[] = { 2216 + SCIFB1_SCK_MARK, 2217 + }; 2218 + static const unsigned int scifb1_ctrl_pins[] = { 2219 + /* RTS, CTS */ 2220 + RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 17), 2221 + }; 2222 + static const unsigned int scifb1_ctrl_mux[] = { 2223 + SCIFB1_RTS_N_MARK, SCIFB1_CTS_N_MARK, 2224 + }; 2225 + static const unsigned int scifb1_data_b_pins[] = { 2226 + /* RXD, TXD */ 2227 + RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 2228 + }; 2229 + static const unsigned int scifb1_data_b_mux[] = { 2230 + SCIFB1_RXD_B_MARK, SCIFB1_TXD_B_MARK, 2231 + }; 2232 + static const unsigned int scifb1_clk_b_pins[] = { 2233 + /* SCK */ 2234 + RCAR_GP_PIN(3, 1), 2235 + }; 2236 + static const unsigned int scifb1_clk_b_mux[] = { 2237 + SCIFB1_SCK_B_MARK, 2238 + }; 2239 + static const unsigned int scifb1_ctrl_b_pins[] = { 2240 + /* RTS, CTS */ 2241 + RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 4), 2242 + }; 2243 + static const unsigned int scifb1_ctrl_b_mux[] = { 2244 + SCIFB1_RTS_N_B_MARK, SCIFB1_CTS_N_B_MARK, 2245 + }; 2246 + static const unsigned int scifb1_data_c_pins[] = { 2247 + /* RXD, TXD */ 2248 + RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15), 2249 + }; 2250 + static const unsigned int scifb1_data_c_mux[] = { 2251 + SCIFB1_RXD_C_MARK, SCIFB1_TXD_C_MARK, 2252 + }; 2253 + static const unsigned int scifb1_data_d_pins[] = { 2254 + /* RXD, TXD */ 2255 + RCAR_GP_PIN(4, 1), RCAR_GP_PIN(4, 2), 2256 + }; 2257 + static const unsigned int scifb1_data_d_mux[] = { 2258 + SCIFB1_RXD_D_MARK, SCIFB1_TXD_D_MARK, 2259 + }; 2260 + static const unsigned int scifb1_data_e_pins[] = { 2261 + /* RXD, TXD */ 2262 + RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 19), 2263 + }; 2264 + static const unsigned int scifb1_data_e_mux[] = { 2265 + SCIFB1_RXD_E_MARK, SCIFB1_TXD_E_MARK, 2266 + }; 2267 + static const unsigned int scifb1_clk_e_pins[] = { 2268 + /* SCK */ 2269 + RCAR_GP_PIN(3, 17), 2270 + }; 2271 + static const unsigned int scifb1_clk_e_mux[] = { 2272 + SCIFB1_SCK_E_MARK, 2273 + }; 2274 + static const unsigned int scifb1_data_f_pins[] = { 2275 + /* RXD, TXD */ 2276 + RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5), 2277 + }; 2278 + static const unsigned int scifb1_data_f_mux[] = { 2279 + SCIFB1_RXD_F_MARK, SCIFB1_TXD_F_MARK, 2280 + }; 2281 + static const unsigned int scifb1_data_g_pins[] = { 2282 + /* RXD, TXD */ 2283 + RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22), 2284 + }; 2285 + static const unsigned int scifb1_data_g_mux[] = { 2286 + SCIFB1_RXD_G_MARK, SCIFB1_TXD_G_MARK, 2287 + }; 2288 + static const unsigned int scifb1_clk_g_pins[] = { 2289 + /* SCK */ 2290 + RCAR_GP_PIN(2, 20), 2291 + }; 2292 + static const unsigned int scifb1_clk_g_mux[] = { 2293 + SCIFB1_SCK_G_MARK, 2294 + }; 2295 + /* - SCIFB2 ----------------------------------------------------------------- */ 2296 + static const unsigned int scifb2_data_pins[] = { 2297 + /* RXD, TXD */ 2298 + RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23), 2299 + }; 2300 + static const unsigned int scifb2_data_mux[] = { 2301 + SCIFB2_RXD_MARK, SCIFB2_TXD_MARK, 2302 + }; 2303 + static const unsigned int scifb2_clk_pins[] = { 2304 + /* SCK */ 2305 + RCAR_GP_PIN(4, 21), 2306 + }; 2307 + static const unsigned int scifb2_clk_mux[] = { 2308 + SCIFB2_SCK_MARK, 2309 + }; 2310 + static const unsigned int scifb2_ctrl_pins[] = { 2311 + /* RTS, CTS */ 2312 + RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 24), 2313 + }; 2314 + static const unsigned int scifb2_ctrl_mux[] = { 2315 + SCIFB2_RTS_N_MARK, SCIFB2_CTS_N_MARK, 2316 + }; 2317 + static const unsigned int scifb2_data_b_pins[] = { 2318 + /* RXD, TXD */ 2319 + RCAR_GP_PIN(0, 28), RCAR_GP_PIN(0, 30), 2320 + }; 2321 + static const unsigned int scifb2_data_b_mux[] = { 2322 + SCIFB2_RXD_B_MARK, SCIFB2_TXD_B_MARK, 2323 + }; 2324 + static const unsigned int scifb2_clk_b_pins[] = { 2325 + /* SCK */ 2326 + RCAR_GP_PIN(0, 31), 2327 + }; 2328 + static const unsigned int scifb2_clk_b_mux[] = { 2329 + SCIFB2_SCK_B_MARK, 2330 + }; 2331 + static const unsigned int scifb2_ctrl_b_pins[] = { 2332 + /* RTS, CTS */ 2333 + RCAR_GP_PIN(0, 29), RCAR_GP_PIN(0, 27), 2334 + }; 2335 + static const unsigned int scifb2_ctrl_b_mux[] = { 2336 + SCIFB2_RTS_N_B_MARK, SCIFB2_CTS_N_B_MARK, 2337 + }; 2338 + static const unsigned int scifb2_data_c_pins[] = { 2339 + /* RXD, TXD */ 2340 + RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25), 2341 + }; 2342 + static const unsigned int scifb2_data_c_mux[] = { 2343 + SCIFB2_RXD_C_MARK, SCIFB2_TXD_C_MARK, 2344 + }; 2345 + /* - TPU0 ------------------------------------------------------------------- */ 2346 + static const unsigned int tpu0_to0_pins[] = { 2347 + /* TO */ 2348 + RCAR_GP_PIN(0, 20), 2349 + }; 2350 + static const unsigned int tpu0_to0_mux[] = { 2351 + TPU0TO0_MARK, 2352 + }; 2353 + static const unsigned int tpu0_to1_pins[] = { 2354 + /* TO */ 2355 + RCAR_GP_PIN(0, 21), 2356 + }; 2357 + static const unsigned int tpu0_to1_mux[] = { 2358 + TPU0TO1_MARK, 2359 + }; 2360 + static const unsigned int tpu0_to2_pins[] = { 2361 + /* TO */ 2362 + RCAR_GP_PIN(0, 22), 2363 + }; 2364 + static const unsigned int tpu0_to2_mux[] = { 2365 + TPU0TO2_MARK, 2366 + }; 2367 + static const unsigned int tpu0_to3_pins[] = { 2368 + /* TO */ 2369 + RCAR_GP_PIN(0, 23), 2370 + }; 2371 + static const unsigned int tpu0_to3_mux[] = { 2372 + TPU0TO3_MARK, 2373 + }; 2374 + 2375 + /* - MMCIF ------------------------------------------------------------------ */ 2376 + static const unsigned int mmc0_data1_pins[] = { 2377 + /* D[0] */ 2378 + RCAR_GP_PIN(3, 18), 2379 + }; 2380 + static const unsigned int mmc0_data1_mux[] = { 2381 + MMC0_D0_MARK, 2382 + }; 2383 + static const unsigned int mmc0_data4_pins[] = { 2384 + /* D[0:3] */ 2385 + RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 19), 2386 + RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21), 2387 + }; 2388 + static const unsigned int mmc0_data4_mux[] = { 2389 + MMC0_D0_MARK, MMC0_D1_MARK, MMC0_D2_MARK, MMC0_D3_MARK, 2390 + }; 2391 + static const unsigned int mmc0_data8_pins[] = { 2392 + /* D[0:7] */ 2393 + RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 19), 2394 + RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21), 2395 + RCAR_GP_PIN(3, 22), RCAR_GP_PIN(3, 23), 2396 + RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7), 2397 + }; 2398 + static const unsigned int mmc0_data8_mux[] = { 2399 + MMC0_D0_MARK, MMC0_D1_MARK, MMC0_D2_MARK, MMC0_D3_MARK, 2400 + MMC0_D4_MARK, MMC0_D5_MARK, MMC0_D6_MARK, MMC0_D7_MARK, 2401 + }; 2402 + static const unsigned int mmc0_ctrl_pins[] = { 2403 + /* CLK, CMD */ 2404 + RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 17), 2405 + }; 2406 + static const unsigned int mmc0_ctrl_mux[] = { 2407 + MMC0_CLK_MARK, MMC0_CMD_MARK, 2408 + }; 2409 + 2410 + static const unsigned int mmc1_data1_pins[] = { 2411 + /* D[0] */ 2412 + RCAR_GP_PIN(3, 26), 2413 + }; 2414 + static const unsigned int mmc1_data1_mux[] = { 2415 + MMC1_D0_MARK, 2416 + }; 2417 + static const unsigned int mmc1_data4_pins[] = { 2418 + /* D[0:3] */ 2419 + RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), 2420 + RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29), 2421 + }; 2422 + static const unsigned int mmc1_data4_mux[] = { 2423 + MMC1_D0_MARK, MMC1_D1_MARK, MMC1_D2_MARK, MMC1_D3_MARK, 2424 + }; 2425 + static const unsigned int mmc1_data8_pins[] = { 2426 + /* D[0:7] */ 2427 + RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), 2428 + RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29), 2429 + RCAR_GP_PIN(3, 30), RCAR_GP_PIN(3, 31), 2430 + RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), 2431 + }; 2432 + static const unsigned int mmc1_data8_mux[] = { 2433 + MMC1_D0_MARK, MMC1_D1_MARK, MMC1_D2_MARK, MMC1_D3_MARK, 2434 + MMC1_D4_MARK, MMC1_D5_MARK, MMC1_D6_MARK, MMC1_D7_MARK, 2435 + }; 2436 + static const unsigned int mmc1_ctrl_pins[] = { 2437 + /* CLK, CMD */ 2438 + RCAR_GP_PIN(3, 24), RCAR_GP_PIN(3, 25), 2439 + }; 2440 + static const unsigned int mmc1_ctrl_mux[] = { 2441 + MMC1_CLK_MARK, MMC1_CMD_MARK, 2442 + }; 2443 + 2444 + /* - SDHI ------------------------------------------------------------------- */ 2445 + static const unsigned int sdhi0_data1_pins[] = { 2446 + /* D0 */ 2447 + RCAR_GP_PIN(3, 2), 2448 + }; 2449 + static const unsigned int sdhi0_data1_mux[] = { 2450 + SD0_DAT0_MARK, 2451 + }; 2452 + static const unsigned int sdhi0_data4_pins[] = { 2453 + /* D[0:3] */ 2454 + RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), 2455 + }; 2456 + static const unsigned int sdhi0_data4_mux[] = { 2457 + SD0_DAT0_MARK, SD0_DAT1_MARK, SD0_DAT2_MARK, SD0_DAT3_MARK, 2458 + }; 2459 + static const unsigned int sdhi0_ctrl_pins[] = { 2460 + /* CLK, CMD */ 2461 + RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 1), 2462 + }; 2463 + static const unsigned int sdhi0_ctrl_mux[] = { 2464 + SD0_CLK_MARK, SD0_CMD_MARK, 2465 + }; 2466 + static const unsigned int sdhi0_cd_pins[] = { 2467 + /* CD */ 2468 + RCAR_GP_PIN(3, 6), 2469 + }; 2470 + static const unsigned int sdhi0_cd_mux[] = { 2471 + SD0_CD_MARK, 2472 + }; 2473 + static const unsigned int sdhi0_wp_pins[] = { 2474 + /* WP */ 2475 + RCAR_GP_PIN(3, 7), 2476 + }; 2477 + static const unsigned int sdhi0_wp_mux[] = { 2478 + SD0_WP_MARK, 2479 + }; 2480 + 2481 + static const unsigned int sdhi1_data1_pins[] = { 2482 + /* D0 */ 2483 + RCAR_GP_PIN(3, 10), 2484 + }; 2485 + static const unsigned int sdhi1_data1_mux[] = { 2486 + SD1_DAT0_MARK, 2487 + }; 2488 + static const unsigned int sdhi1_data4_pins[] = { 2489 + /* D[0:3] */ 2490 + RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13), 2491 + }; 2492 + static const unsigned int sdhi1_data4_mux[] = { 2493 + SD1_DAT0_MARK, SD1_DAT1_MARK, SD1_DAT2_MARK, SD1_DAT3_MARK, 2494 + }; 2495 + static const unsigned int sdhi1_ctrl_pins[] = { 2496 + /* CLK, CMD */ 2497 + RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9), 2498 + }; 2499 + static const unsigned int sdhi1_ctrl_mux[] = { 2500 + SD1_CLK_MARK, SD1_CMD_MARK, 2501 + }; 2502 + static const unsigned int sdhi1_cd_pins[] = { 2503 + /* CD */ 2504 + RCAR_GP_PIN(3, 14), 2505 + }; 2506 + static const unsigned int sdhi1_cd_mux[] = { 2507 + SD1_CD_MARK, 2508 + }; 2509 + static const unsigned int sdhi1_wp_pins[] = { 2510 + /* WP */ 2511 + RCAR_GP_PIN(3, 15), 2512 + }; 2513 + static const unsigned int sdhi1_wp_mux[] = { 2514 + SD1_WP_MARK, 2515 + }; 2516 + 2517 + static const unsigned int sdhi2_data1_pins[] = { 2518 + /* D0 */ 2519 + RCAR_GP_PIN(3, 18), 2520 + }; 2521 + static const unsigned int sdhi2_data1_mux[] = { 2522 + SD2_DAT0_MARK, 2523 + }; 2524 + static const unsigned int sdhi2_data4_pins[] = { 2525 + /* D[0:3] */ 2526 + RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21), 2527 + }; 2528 + static const unsigned int sdhi2_data4_mux[] = { 2529 + SD2_DAT0_MARK, SD2_DAT1_MARK, SD2_DAT2_MARK, SD2_DAT3_MARK, 2530 + }; 2531 + static const unsigned int sdhi2_ctrl_pins[] = { 2532 + /* CLK, CMD */ 2533 + RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 17), 2534 + }; 2535 + static const unsigned int sdhi2_ctrl_mux[] = { 2536 + SD2_CLK_MARK, SD2_CMD_MARK, 2537 + }; 2538 + static const unsigned int sdhi2_cd_pins[] = { 2539 + /* CD */ 2540 + RCAR_GP_PIN(3, 22), 2541 + }; 2542 + static const unsigned int sdhi2_cd_mux[] = { 2543 + SD2_CD_MARK, 2544 + }; 2545 + static const unsigned int sdhi2_wp_pins[] = { 2546 + /* WP */ 2547 + RCAR_GP_PIN(3, 23), 2548 + }; 2549 + static const unsigned int sdhi2_wp_mux[] = { 2550 + SD2_WP_MARK, 2551 + }; 2552 + 2553 + static const unsigned int sdhi3_data1_pins[] = { 2554 + /* D0 */ 2555 + RCAR_GP_PIN(3, 26), 2556 + }; 2557 + static const unsigned int sdhi3_data1_mux[] = { 2558 + SD3_DAT0_MARK, 2559 + }; 2560 + static const unsigned int sdhi3_data4_pins[] = { 2561 + /* D[0:3] */ 2562 + RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29), 2563 + }; 2564 + static const unsigned int sdhi3_data4_mux[] = { 2565 + SD3_DAT0_MARK, SD3_DAT1_MARK, SD3_DAT2_MARK, SD3_DAT3_MARK, 2566 + }; 2567 + static const unsigned int sdhi3_ctrl_pins[] = { 2568 + /* CLK, CMD */ 2569 + RCAR_GP_PIN(3, 24), RCAR_GP_PIN(3, 25), 2570 + }; 2571 + static const unsigned int sdhi3_ctrl_mux[] = { 2572 + SD3_CLK_MARK, SD3_CMD_MARK, 2573 + }; 2574 + static const unsigned int sdhi3_cd_pins[] = { 2575 + /* CD */ 2576 + RCAR_GP_PIN(3, 30), 2577 + }; 2578 + static const unsigned int sdhi3_cd_mux[] = { 2579 + SD3_CD_MARK, 2580 + }; 2581 + static const unsigned int sdhi3_wp_pins[] = { 2582 + /* WP */ 2583 + RCAR_GP_PIN(3, 31), 2584 + }; 2585 + static const unsigned int sdhi3_wp_mux[] = { 2586 + SD3_WP_MARK, 2587 + }; 2588 + 2589 + static const struct sh_pfc_pin_group pinmux_groups[] = { 2590 + SH_PFC_PIN_GROUP(eth_link), 2591 + SH_PFC_PIN_GROUP(eth_magic), 2592 + SH_PFC_PIN_GROUP(eth_mdio), 2593 + SH_PFC_PIN_GROUP(eth_rmii), 2594 + SH_PFC_PIN_GROUP(intc_irq0), 2595 + SH_PFC_PIN_GROUP(intc_irq1), 2596 + SH_PFC_PIN_GROUP(intc_irq2), 2597 + SH_PFC_PIN_GROUP(intc_irq3), 2598 + SH_PFC_PIN_GROUP(scif0_data), 2599 + SH_PFC_PIN_GROUP(scif0_clk), 2600 + SH_PFC_PIN_GROUP(scif0_ctrl), 2601 + SH_PFC_PIN_GROUP(scif0_data_b), 2602 + SH_PFC_PIN_GROUP(scif1_data), 2603 + SH_PFC_PIN_GROUP(scif1_clk), 2604 + SH_PFC_PIN_GROUP(scif1_ctrl), 2605 + SH_PFC_PIN_GROUP(scif1_data_b), 2606 + SH_PFC_PIN_GROUP(scif1_data_c), 2607 + SH_PFC_PIN_GROUP(scif1_data_d), 2608 + SH_PFC_PIN_GROUP(scif1_clk_d), 2609 + SH_PFC_PIN_GROUP(scif1_data_e), 2610 + SH_PFC_PIN_GROUP(scif1_clk_e), 2611 + SH_PFC_PIN_GROUP(scifa0_data), 2612 + SH_PFC_PIN_GROUP(scifa0_clk), 2613 + SH_PFC_PIN_GROUP(scifa0_ctrl), 2614 + SH_PFC_PIN_GROUP(scifa0_data_b), 2615 + SH_PFC_PIN_GROUP(scifa0_clk_b), 2616 + SH_PFC_PIN_GROUP(scifa0_ctrl_b), 2617 + SH_PFC_PIN_GROUP(scifa1_data), 2618 + SH_PFC_PIN_GROUP(scifa1_clk), 2619 + SH_PFC_PIN_GROUP(scifa1_ctrl), 2620 + SH_PFC_PIN_GROUP(scifa1_data_b), 2621 + SH_PFC_PIN_GROUP(scifa1_clk_b), 2622 + SH_PFC_PIN_GROUP(scifa1_ctrl_b), 2623 + SH_PFC_PIN_GROUP(scifa1_data_c), 2624 + SH_PFC_PIN_GROUP(scifa1_clk_c), 2625 + SH_PFC_PIN_GROUP(scifa1_ctrl_c), 2626 + SH_PFC_PIN_GROUP(scifa1_data_d), 2627 + SH_PFC_PIN_GROUP(scifa1_clk_d), 2628 + SH_PFC_PIN_GROUP(scifa1_ctrl_d), 2629 + SH_PFC_PIN_GROUP(scifa2_data), 2630 + SH_PFC_PIN_GROUP(scifa2_clk), 2631 + SH_PFC_PIN_GROUP(scifa2_ctrl), 2632 + SH_PFC_PIN_GROUP(scifa2_data_b), 2633 + SH_PFC_PIN_GROUP(scifa2_data_c), 2634 + SH_PFC_PIN_GROUP(scifa2_clk_c), 2635 + SH_PFC_PIN_GROUP(scifb0_data), 2636 + SH_PFC_PIN_GROUP(scifb0_clk), 2637 + SH_PFC_PIN_GROUP(scifb0_ctrl), 2638 + SH_PFC_PIN_GROUP(scifb0_data_b), 2639 + SH_PFC_PIN_GROUP(scifb0_clk_b), 2640 + SH_PFC_PIN_GROUP(scifb0_ctrl_b), 2641 + SH_PFC_PIN_GROUP(scifb0_data_c), 2642 + SH_PFC_PIN_GROUP(scifb1_data), 2643 + SH_PFC_PIN_GROUP(scifb1_clk), 2644 + SH_PFC_PIN_GROUP(scifb1_ctrl), 2645 + SH_PFC_PIN_GROUP(scifb1_data_b), 2646 + SH_PFC_PIN_GROUP(scifb1_clk_b), 2647 + SH_PFC_PIN_GROUP(scifb1_ctrl_b), 2648 + SH_PFC_PIN_GROUP(scifb1_data_c), 2649 + SH_PFC_PIN_GROUP(scifb1_data_d), 2650 + SH_PFC_PIN_GROUP(scifb1_data_e), 2651 + SH_PFC_PIN_GROUP(scifb1_clk_e), 2652 + SH_PFC_PIN_GROUP(scifb1_data_f), 2653 + SH_PFC_PIN_GROUP(scifb1_data_g), 2654 + SH_PFC_PIN_GROUP(scifb1_clk_g), 2655 + SH_PFC_PIN_GROUP(scifb2_data), 2656 + SH_PFC_PIN_GROUP(scifb2_clk), 2657 + SH_PFC_PIN_GROUP(scifb2_ctrl), 2658 + SH_PFC_PIN_GROUP(scifb2_data_b), 2659 + SH_PFC_PIN_GROUP(scifb2_clk_b), 2660 + SH_PFC_PIN_GROUP(scifb2_ctrl_b), 2661 + SH_PFC_PIN_GROUP(scifb2_data_c), 2662 + SH_PFC_PIN_GROUP(tpu0_to0), 2663 + SH_PFC_PIN_GROUP(tpu0_to1), 2664 + SH_PFC_PIN_GROUP(tpu0_to2), 2665 + SH_PFC_PIN_GROUP(tpu0_to3), 2666 + SH_PFC_PIN_GROUP(mmc0_data1), 2667 + SH_PFC_PIN_GROUP(mmc0_data4), 2668 + SH_PFC_PIN_GROUP(mmc0_data8), 2669 + SH_PFC_PIN_GROUP(mmc0_ctrl), 2670 + SH_PFC_PIN_GROUP(mmc1_data1), 2671 + SH_PFC_PIN_GROUP(mmc1_data4), 2672 + SH_PFC_PIN_GROUP(mmc1_data8), 2673 + SH_PFC_PIN_GROUP(mmc1_ctrl), 2674 + SH_PFC_PIN_GROUP(sdhi0_data1), 2675 + SH_PFC_PIN_GROUP(sdhi0_data4), 2676 + SH_PFC_PIN_GROUP(sdhi0_ctrl), 2677 + SH_PFC_PIN_GROUP(sdhi0_cd), 2678 + SH_PFC_PIN_GROUP(sdhi0_wp), 2679 + SH_PFC_PIN_GROUP(sdhi1_data1), 2680 + SH_PFC_PIN_GROUP(sdhi1_data4), 2681 + SH_PFC_PIN_GROUP(sdhi1_ctrl), 2682 + SH_PFC_PIN_GROUP(sdhi1_cd), 2683 + SH_PFC_PIN_GROUP(sdhi1_wp), 2684 + SH_PFC_PIN_GROUP(sdhi2_data1), 2685 + SH_PFC_PIN_GROUP(sdhi2_data4), 2686 + SH_PFC_PIN_GROUP(sdhi2_ctrl), 2687 + SH_PFC_PIN_GROUP(sdhi2_cd), 2688 + SH_PFC_PIN_GROUP(sdhi2_wp), 2689 + SH_PFC_PIN_GROUP(sdhi3_data1), 2690 + SH_PFC_PIN_GROUP(sdhi3_data4), 2691 + SH_PFC_PIN_GROUP(sdhi3_ctrl), 2692 + SH_PFC_PIN_GROUP(sdhi3_cd), 2693 + SH_PFC_PIN_GROUP(sdhi3_wp), 2694 + }; 2695 + 2696 + static const char * const eth_groups[] = { 2697 + "eth_link", 2698 + "eth_magic", 2699 + "eth_mdio", 2700 + "eth_rmii", 2701 + }; 2702 + 2703 + static const char * const intc_groups[] = { 2704 + "intc_irq0", 2705 + "intc_irq1", 2706 + "intc_irq2", 2707 + "intc_irq3", 2708 + }; 2709 + 2710 + static const char * const scif0_groups[] = { 2711 + "scif0_data", 2712 + "scif0_clk", 2713 + "scif0_ctrl", 2714 + "scif0_data_b", 2715 + }; 2716 + 2717 + static const char * const scif1_groups[] = { 2718 + "scif1_data", 2719 + "scif1_clk", 2720 + "scif1_ctrl", 2721 + "scif1_data_b", 2722 + "scif1_data_c", 2723 + "scif1_data_d", 2724 + "scif1_clk_d", 2725 + "scif1_data_e", 2726 + "scif1_clk_e", 2727 + }; 2728 + 2729 + static const char * const scifa0_groups[] = { 2730 + "scifa0_data", 2731 + "scifa0_clk", 2732 + "scifa0_ctrl", 2733 + "scifa0_data_b", 2734 + "scifa0_clk_b", 2735 + "scifa0_ctrl_b", 2736 + }; 2737 + 2738 + static const char * const scifa1_groups[] = { 2739 + "scifa1_data", 2740 + "scifa1_clk", 2741 + "scifa1_ctrl", 2742 + "scifa1_data_b", 2743 + "scifa1_clk_b", 2744 + "scifa1_ctrl_b", 2745 + "scifa1_data_c", 2746 + "scifa1_clk_c", 2747 + "scifa1_ctrl_c", 2748 + "scifa1_data_d", 2749 + "scifa1_clk_d", 2750 + "scifa1_ctrl_d", 2751 + }; 2752 + 2753 + static const char * const scifa2_groups[] = { 2754 + "scifa2_data", 2755 + "scifa2_clk", 2756 + "scifa2_ctrl", 2757 + "scifa2_data_b", 2758 + "scifa2_data_c", 2759 + "scifa2_clk_c", 2760 + }; 2761 + 2762 + static const char * const scifb0_groups[] = { 2763 + "scifb0_data", 2764 + "scifb0_clk", 2765 + "scifb0_ctrl", 2766 + "scifb0_data_b", 2767 + "scifb0_clk_b", 2768 + "scifb0_ctrl_b", 2769 + "scifb0_data_c", 2770 + }; 2771 + 2772 + static const char * const scifb1_groups[] = { 2773 + "scifb1_data", 2774 + "scifb1_clk", 2775 + "scifb1_ctrl", 2776 + "scifb1_data_b", 2777 + "scifb1_clk_b", 2778 + "scifb1_ctrl_b", 2779 + "scifb1_data_c", 2780 + "scifb1_data_d", 2781 + "scifb1_data_e", 2782 + "scifb1_clk_e", 2783 + "scifb1_data_f", 2784 + "scifb1_data_g", 2785 + "scifb1_clk_g", 2786 + }; 2787 + 2788 + static const char * const scifb2_groups[] = { 2789 + "scifb2_data", 2790 + "scifb2_clk", 2791 + "scifb2_ctrl", 2792 + "scifb2_data_b", 2793 + "scifb2_clk_b", 2794 + "scifb2_ctrl_b", 2795 + "scifb2_data_c", 2796 + }; 2797 + 2798 + static const char * const tpu0_groups[] = { 2799 + "tpu0_to0", 2800 + "tpu0_to1", 2801 + "tpu0_to2", 2802 + "tpu0_to3", 2803 + }; 2804 + 2805 + static const char * const mmc0_groups[] = { 2806 + "mmc0_data1", 2807 + "mmc0_data4", 2808 + "mmc0_data8", 2809 + "mmc0_ctrl", 2810 + }; 2811 + 2812 + static const char * const mmc1_groups[] = { 2813 + "mmc1_data1", 2814 + "mmc1_data4", 2815 + "mmc1_data8", 2816 + "mmc1_ctrl", 2817 + }; 2818 + 2819 + static const char * const sdhi0_groups[] = { 2820 + "sdhi0_data1", 2821 + "sdhi0_data4", 2822 + "sdhi0_ctrl", 2823 + "sdhi0_cd", 2824 + "sdhi0_wp", 2825 + }; 2826 + 2827 + static const char * const sdhi1_groups[] = { 2828 + "sdhi1_data1", 2829 + "sdhi1_data4", 2830 + "sdhi1_ctrl", 2831 + "sdhi1_cd", 2832 + "sdhi1_wp", 2833 + }; 2834 + 2835 + static const char * const sdhi2_groups[] = { 2836 + "sdhi2_data1", 2837 + "sdhi2_data4", 2838 + "sdhi2_ctrl", 2839 + "sdhi2_cd", 2840 + "sdhi2_wp", 2841 + }; 2842 + 2843 + static const char * const sdhi3_groups[] = { 2844 + "sdhi3_data1", 2845 + "sdhi3_data4", 2846 + "sdhi3_ctrl", 2847 + "sdhi3_cd", 2848 + "sdhi3_wp", 2849 + }; 2850 + 2851 + static const struct sh_pfc_function pinmux_functions[] = { 2852 + SH_PFC_FUNCTION(eth), 2853 + SH_PFC_FUNCTION(intc), 2854 + SH_PFC_FUNCTION(scif0), 2855 + SH_PFC_FUNCTION(scif1), 2856 + SH_PFC_FUNCTION(scifa0), 2857 + SH_PFC_FUNCTION(scifa1), 2858 + SH_PFC_FUNCTION(scifa2), 2859 + SH_PFC_FUNCTION(scifb0), 2860 + SH_PFC_FUNCTION(scifb1), 2861 + SH_PFC_FUNCTION(scifb2), 2862 + SH_PFC_FUNCTION(tpu0), 2863 + SH_PFC_FUNCTION(mmc0), 2864 + SH_PFC_FUNCTION(mmc1), 2865 + SH_PFC_FUNCTION(sdhi0), 2866 + SH_PFC_FUNCTION(sdhi1), 2867 + SH_PFC_FUNCTION(sdhi2), 2868 + SH_PFC_FUNCTION(sdhi3), 2869 + }; 2870 + 2871 + static struct pinmux_cfg_reg pinmux_config_regs[] = { 2872 + { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1) { 2873 + GP_0_31_FN, FN_IP3_17_15, 2874 + GP_0_30_FN, FN_IP3_14_12, 2875 + GP_0_29_FN, FN_IP3_11_8, 2876 + GP_0_28_FN, FN_IP3_7_4, 2877 + GP_0_27_FN, FN_IP3_3_0, 2878 + GP_0_26_FN, FN_IP2_28_26, 2879 + GP_0_25_FN, FN_IP2_25_22, 2880 + GP_0_24_FN, FN_IP2_21_18, 2881 + GP_0_23_FN, FN_IP2_17_15, 2882 + GP_0_22_FN, FN_IP2_14_12, 2883 + GP_0_21_FN, FN_IP2_11_9, 2884 + GP_0_20_FN, FN_IP2_8_6, 2885 + GP_0_19_FN, FN_IP2_5_3, 2886 + GP_0_18_FN, FN_IP2_2_0, 2887 + GP_0_17_FN, FN_IP1_29_28, 2888 + GP_0_16_FN, FN_IP1_27_26, 2889 + GP_0_15_FN, FN_IP1_25_22, 2890 + GP_0_14_FN, FN_IP1_21_18, 2891 + GP_0_13_FN, FN_IP1_17_15, 2892 + GP_0_12_FN, FN_IP1_14_12, 2893 + GP_0_11_FN, FN_IP1_11_8, 2894 + GP_0_10_FN, FN_IP1_7_4, 2895 + GP_0_9_FN, FN_IP1_3_0, 2896 + GP_0_8_FN, FN_IP0_30_27, 2897 + GP_0_7_FN, FN_IP0_26_23, 2898 + GP_0_6_FN, FN_IP0_22_20, 2899 + GP_0_5_FN, FN_IP0_19_16, 2900 + GP_0_4_FN, FN_IP0_15_12, 2901 + GP_0_3_FN, FN_IP0_11_9, 2902 + GP_0_2_FN, FN_IP0_8_6, 2903 + GP_0_1_FN, FN_IP0_5_3, 2904 + GP_0_0_FN, FN_IP0_2_0 } 2905 + }, 2906 + { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1) { 2907 + 0, 0, 2908 + 0, 0, 2909 + GP_1_29_FN, FN_IP6_13_11, 2910 + GP_1_28_FN, FN_IP6_10_9, 2911 + GP_1_27_FN, FN_IP6_8_6, 2912 + GP_1_26_FN, FN_IP6_5_3, 2913 + GP_1_25_FN, FN_IP6_2_0, 2914 + GP_1_24_FN, FN_IP5_29_27, 2915 + GP_1_23_FN, FN_IP5_26_24, 2916 + GP_1_22_FN, FN_IP5_23_21, 2917 + GP_1_21_FN, FN_IP5_20_18, 2918 + GP_1_20_FN, FN_IP5_17_15, 2919 + GP_1_19_FN, FN_IP5_14_13, 2920 + GP_1_18_FN, FN_IP5_12_10, 2921 + GP_1_17_FN, FN_IP5_9_6, 2922 + GP_1_16_FN, FN_IP5_5_3, 2923 + GP_1_15_FN, FN_IP5_2_0, 2924 + GP_1_14_FN, FN_IP4_29_27, 2925 + GP_1_13_FN, FN_IP4_26_24, 2926 + GP_1_12_FN, FN_IP4_23_21, 2927 + GP_1_11_FN, FN_IP4_20_18, 2928 + GP_1_10_FN, FN_IP4_17_15, 2929 + GP_1_9_FN, FN_IP4_14_12, 2930 + GP_1_8_FN, FN_IP4_11_9, 2931 + GP_1_7_FN, FN_IP4_8_6, 2932 + GP_1_6_FN, FN_IP4_5_3, 2933 + GP_1_5_FN, FN_IP4_2_0, 2934 + GP_1_4_FN, FN_IP3_31_29, 2935 + GP_1_3_FN, FN_IP3_28_26, 2936 + GP_1_2_FN, FN_IP3_25_23, 2937 + GP_1_1_FN, FN_IP3_22_20, 2938 + GP_1_0_FN, FN_IP3_19_18, } 2939 + }, 2940 + { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1) { 2941 + 0, 0, 2942 + 0, 0, 2943 + GP_2_29_FN, FN_IP7_15_13, 2944 + GP_2_28_FN, FN_IP7_12_10, 2945 + GP_2_27_FN, FN_IP7_9_8, 2946 + GP_2_26_FN, FN_IP7_7_6, 2947 + GP_2_25_FN, FN_IP7_5_3, 2948 + GP_2_24_FN, FN_IP7_2_0, 2949 + GP_2_23_FN, FN_IP6_31_29, 2950 + GP_2_22_FN, FN_IP6_28_26, 2951 + GP_2_21_FN, FN_IP6_25_23, 2952 + GP_2_20_FN, FN_IP6_22_20, 2953 + GP_2_19_FN, FN_IP6_19_17, 2954 + GP_2_18_FN, FN_IP6_16_14, 2955 + GP_2_17_FN, FN_VI1_DATA7_VI1_B7, 2956 + GP_2_16_FN, FN_IP8_27, 2957 + GP_2_15_FN, FN_IP8_26, 2958 + GP_2_14_FN, FN_IP8_25_24, 2959 + GP_2_13_FN, FN_IP8_23_22, 2960 + GP_2_12_FN, FN_IP8_21_20, 2961 + GP_2_11_FN, FN_IP8_19_18, 2962 + GP_2_10_FN, FN_IP8_17_16, 2963 + GP_2_9_FN, FN_IP8_15_14, 2964 + GP_2_8_FN, FN_IP8_13_12, 2965 + GP_2_7_FN, FN_IP8_11_10, 2966 + GP_2_6_FN, FN_IP8_9_8, 2967 + GP_2_5_FN, FN_IP8_7_6, 2968 + GP_2_4_FN, FN_IP8_5_4, 2969 + GP_2_3_FN, FN_IP8_3_2, 2970 + GP_2_2_FN, FN_IP8_1_0, 2971 + GP_2_1_FN, FN_IP7_30_29, 2972 + GP_2_0_FN, FN_IP7_28_27 } 2973 + }, 2974 + { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1) { 2975 + GP_3_31_FN, FN_IP11_21_18, 2976 + GP_3_30_FN, FN_IP11_17_15, 2977 + GP_3_29_FN, FN_IP11_14_13, 2978 + GP_3_28_FN, FN_IP11_12_11, 2979 + GP_3_27_FN, FN_IP11_10_9, 2980 + GP_3_26_FN, FN_IP11_8_7, 2981 + GP_3_25_FN, FN_IP11_6_5, 2982 + GP_3_24_FN, FN_IP11_4, 2983 + GP_3_23_FN, FN_IP11_3_0, 2984 + GP_3_22_FN, FN_IP10_29_26, 2985 + GP_3_21_FN, FN_IP10_25_23, 2986 + GP_3_20_FN, FN_IP10_22_19, 2987 + GP_3_19_FN, FN_IP10_18_15, 2988 + GP_3_18_FN, FN_IP10_14_11, 2989 + GP_3_17_FN, FN_IP10_10_7, 2990 + GP_3_16_FN, FN_IP10_6_4, 2991 + GP_3_15_FN, FN_IP10_3_0, 2992 + GP_3_14_FN, FN_IP9_31_28, 2993 + GP_3_13_FN, FN_IP9_27_26, 2994 + GP_3_12_FN, FN_IP9_25_24, 2995 + GP_3_11_FN, FN_IP9_23_22, 2996 + GP_3_10_FN, FN_IP9_21_20, 2997 + GP_3_9_FN, FN_IP9_19_18, 2998 + GP_3_8_FN, FN_IP9_17_16, 2999 + GP_3_7_FN, FN_IP9_15_12, 3000 + GP_3_6_FN, FN_IP9_11_8, 3001 + GP_3_5_FN, FN_IP9_7_6, 3002 + GP_3_4_FN, FN_IP9_5_4, 3003 + GP_3_3_FN, FN_IP9_3_2, 3004 + GP_3_2_FN, FN_IP9_1_0, 3005 + GP_3_1_FN, FN_IP8_30_29, 3006 + GP_3_0_FN, FN_IP8_28 } 3007 + }, 3008 + { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1) { 3009 + GP_4_31_FN, FN_IP14_18_16, 3010 + GP_4_30_FN, FN_IP14_15_12, 3011 + GP_4_29_FN, FN_IP14_11_9, 3012 + GP_4_28_FN, FN_IP14_8_6, 3013 + GP_4_27_FN, FN_IP14_5_3, 3014 + GP_4_26_FN, FN_IP14_2_0, 3015 + GP_4_25_FN, FN_IP13_30_29, 3016 + GP_4_24_FN, FN_IP13_28_26, 3017 + GP_4_23_FN, FN_IP13_25_23, 3018 + GP_4_22_FN, FN_IP13_22_19, 3019 + GP_4_21_FN, FN_IP13_18_16, 3020 + GP_4_20_FN, FN_IP13_15_13, 3021 + GP_4_19_FN, FN_IP13_12_10, 3022 + GP_4_18_FN, FN_IP13_9_7, 3023 + GP_4_17_FN, FN_IP13_6_3, 3024 + GP_4_16_FN, FN_IP13_2_0, 3025 + GP_4_15_FN, FN_IP12_30_28, 3026 + GP_4_14_FN, FN_IP12_27_25, 3027 + GP_4_13_FN, FN_IP12_24_23, 3028 + GP_4_12_FN, FN_IP12_22_20, 3029 + GP_4_11_FN, FN_IP12_19_17, 3030 + GP_4_10_FN, FN_IP12_16_14, 3031 + GP_4_9_FN, FN_IP12_13_11, 3032 + GP_4_8_FN, FN_IP12_10_8, 3033 + GP_4_7_FN, FN_IP12_7_6, 3034 + GP_4_6_FN, FN_IP12_5_4, 3035 + GP_4_5_FN, FN_IP12_3_2, 3036 + GP_4_4_FN, FN_IP12_1_0, 3037 + GP_4_3_FN, FN_IP11_31_30, 3038 + GP_4_2_FN, FN_IP11_29_27, 3039 + GP_4_1_FN, FN_IP11_26_24, 3040 + GP_4_0_FN, FN_IP11_23_22 } 3041 + }, 3042 + { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1) { 3043 + GP_5_31_FN, FN_IP7_24_22, 3044 + GP_5_30_FN, FN_IP7_21_19, 3045 + GP_5_29_FN, FN_IP7_18_16, 3046 + GP_5_28_FN, FN_DU_DOTCLKIN2, 3047 + GP_5_27_FN, FN_IP7_26_25, 3048 + GP_5_26_FN, FN_DU_DOTCLKIN0, 3049 + GP_5_25_FN, FN_AVS2, 3050 + GP_5_24_FN, FN_AVS1, 3051 + GP_5_23_FN, FN_USB2_OVC, 3052 + GP_5_22_FN, FN_USB2_PWEN, 3053 + GP_5_21_FN, FN_IP16_7, 3054 + GP_5_20_FN, FN_IP16_6, 3055 + GP_5_19_FN, FN_USB0_OVC_VBUS, 3056 + GP_5_18_FN, FN_USB0_PWEN, 3057 + GP_5_17_FN, FN_IP16_5_3, 3058 + GP_5_16_FN, FN_IP16_2_0, 3059 + GP_5_15_FN, FN_IP15_29_28, 3060 + GP_5_14_FN, FN_IP15_27_26, 3061 + GP_5_13_FN, FN_IP15_25_23, 3062 + GP_5_12_FN, FN_IP15_22_20, 3063 + GP_5_11_FN, FN_IP15_19_18, 3064 + GP_5_10_FN, FN_IP15_17_16, 3065 + GP_5_9_FN, FN_IP15_15_14, 3066 + GP_5_8_FN, FN_IP15_13_12, 3067 + GP_5_7_FN, FN_IP15_11_9, 3068 + GP_5_6_FN, FN_IP15_8_6, 3069 + GP_5_5_FN, FN_IP15_5_3, 3070 + GP_5_4_FN, FN_IP15_2_0, 3071 + GP_5_3_FN, FN_IP14_30_28, 3072 + GP_5_2_FN, FN_IP14_27_25, 3073 + GP_5_1_FN, FN_IP14_24_22, 3074 + GP_5_0_FN, FN_IP14_21_19 } 3075 + }, 3076 + { PINMUX_CFG_REG_VAR("IPSR0", 0xE6060020, 32, 3077 + 1, 4, 4, 3, 4, 4, 3, 3, 3, 3) { 3078 + /* IP0_31 [1] */ 3079 + 0, 0, 3080 + /* IP0_30_27 [4] */ 3081 + FN_D8, FN_SCIFA1_SCK_C, FN_AVB_TXD0, FN_MII_TXD0, 3082 + FN_VI0_G0, FN_VI0_G0_B, FN_VI2_DATA0_VI2_B0, 3083 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3084 + /* IP0_26_23 [4] */ 3085 + FN_D7, FN_AD_DI_B, FN_SDA2_C, 3086 + FN_VI3_DATA7, FN_VI0_R3, FN_VI0_R3_B, FN_SDA2_CIS_C, 3087 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3088 + /* IP0_22_20 [3] */ 3089 + FN_D6, FN_SCL2_C, FN_VI3_DATA6, FN_VI0_R2, FN_VI0_R2_B, 3090 + FN_SCL2_CIS_C, 0, 0, 3091 + /* IP0_19_16 [4] */ 3092 + FN_D5, FN_SCIFB1_TXD_F, FN_SCIFB0_TXD_C, FN_VI3_DATA5, 3093 + FN_VI0_R1, FN_VI0_R1_B, FN_TX0_B, 3094 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3095 + /* IP0_15_12 [4] */ 3096 + FN_D4, FN_SCIFB1_RXD_F, FN_SCIFB0_RXD_C, FN_VI3_DATA4, 3097 + FN_VI0_R0, FN_VI0_R0_B, FN_RX0_B, 3098 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3099 + /* IP0_11_9 [3] */ 3100 + FN_D3, FN_MSIOF3_TXD_B, FN_VI3_DATA3, FN_VI0_G7, FN_VI0_G7_B, 3101 + 0, 0, 0, 3102 + /* IP0_8_6 [3] */ 3103 + FN_D2, FN_MSIOF3_RXD_B, FN_VI3_DATA2, FN_VI0_G6, FN_VI0_G6_B, 3104 + 0, 0, 0, 3105 + /* IP0_5_3 [3] */ 3106 + FN_D1, FN_MSIOF3_SYNC_B, FN_VI3_DATA1, FN_VI0_G5, FN_VI0_G5_B, 3107 + 0, 0, 0, 3108 + /* IP0_2_0 [3] */ 3109 + FN_D0, FN_MSIOF3_SCK_B, FN_VI3_DATA0, FN_VI0_G4, FN_VI0_G4_B, 3110 + 0, 0, 0, } 3111 + }, 3112 + { PINMUX_CFG_REG_VAR("IPSR1", 0xE6060024, 32, 3113 + 2, 2, 2, 4, 4, 3, 3, 4, 4, 4) { 3114 + /* IP1_31_30 [2] */ 3115 + 0, 0, 0, 0, 3116 + /* IP1_29_28 [2] */ 3117 + FN_A1, FN_PWM4, 0, 0, 3118 + /* IP1_27_26 [2] */ 3119 + FN_A0, FN_PWM3, 0, 0, 3120 + /* IP1_25_22 [4] */ 3121 + FN_D15, FN_SCIFB1_TXD_C, FN_AVB_TXD7, FN_TX1_B, 3122 + FN_VI0_FIELD, FN_VI0_FIELD_B, FN_VI2_DATA7_VI2_B7, 3123 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3124 + /* IP1_21_18 [4] */ 3125 + FN_D14, FN_SCIFB1_RXD_C, FN_AVB_TXD6, FN_RX1_B, 3126 + FN_VI0_CLKENB, FN_VI0_CLKENB_B, FN_VI2_DATA6_VI2_B6, 3127 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3128 + /* IP1_17_15 [3] */ 3129 + FN_D13, FN_AVB_TXD5, FN_VI0_VSYNC_N, 3130 + FN_VI0_VSYNC_N_B, FN_VI2_DATA5_VI2_B5, 3131 + 0, 0, 0, 3132 + /* IP1_14_12 [3] */ 3133 + FN_D12, FN_SCIFA1_RTS_N_C, FN_AVB_TXD4, 3134 + FN_VI0_HSYNC_N, FN_VI0_HSYNC_N_B, FN_VI2_DATA4_VI2_B4, 3135 + 0, 0, 3136 + /* IP1_11_8 [4] */ 3137 + FN_D11, FN_SCIFA1_CTS_N_C, FN_AVB_TXD3, FN_MII_TXD3, 3138 + FN_VI0_G3, FN_VI0_G3_B, FN_VI2_DATA3_VI2_B3, 3139 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140 + /* IP1_7_4 [4] */ 3141 + FN_D10, FN_SCIFA1_TXD_C, FN_AVB_TXD2, FN_MII_TXD2, 3142 + FN_VI0_G2, FN_VI0_G2_B, FN_VI2_DATA2_VI2_B2, 3143 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3144 + /* IP1_3_0 [4] */ 3145 + FN_D9, FN_SCIFA1_RXD_C, FN_AVB_TXD1, FN_MII_TXD1, 3146 + FN_VI0_G1, FN_VI0_G1_B, FN_VI2_DATA1_VI2_B1, 3147 + 0, 0, 0, 0, 0, 0, 0, 0, 0, } 3148 + }, 3149 + { PINMUX_CFG_REG_VAR("IPSR2", 0xE6060028, 32, 3150 + 3, 3, 4, 4, 3, 3, 3, 3, 3, 3) { 3151 + /* IP2_31_29 [3] */ 3152 + 0, 0, 0, 0, 0, 0, 0, 0, 3153 + /* IP2_28_26 [3] */ 3154 + FN_A10, FN_SSI_SDATA5_B, FN_MSIOF2_SYNC, FN_VI0_R6, 3155 + FN_VI0_R6_B, FN_VI2_DATA2_VI2_B2_B, 0, 0, 3156 + /* IP2_25_22 [4] */ 3157 + FN_A9, FN_SCIFA1_CTS_N_B, FN_SSI_WS5_B, FN_VI0_R5, 3158 + FN_VI0_R5_B, FN_SCIFB2_TXD_C, 0, FN_VI2_DATA1_VI2_B1_B, 3159 + 0, 0, 0, 0, 0, 0, 0, 0, 3160 + /* IP2_21_18 [4] */ 3161 + FN_A8, FN_SCIFA1_RXD_B, FN_SSI_SCK5_B, FN_VI0_R4, 3162 + FN_VI0_R4_B, FN_SCIFB2_RXD_C, 0, FN_VI2_DATA0_VI2_B0_B, 3163 + 0, 0, 0, 0, 0, 0, 0, 0, 3164 + /* IP2_17_15 [3] */ 3165 + FN_A7, FN_SCIFA1_SCK_B, FN_AUDIO_CLKOUT_B, FN_TPU0TO3, 3166 + 0, 0, 0, 0, 3167 + /* IP2_14_12 [3] */ 3168 + FN_A6, FN_SCIFA1_RTS_N_B, FN_TPU0TO2, 0, 0, 0, 0, 0, 3169 + /* IP2_11_9 [3] */ 3170 + FN_A5, FN_SCIFA1_TXD_B, FN_TPU0TO1, 0, 0, 0, 0, 0, 3171 + /* IP2_8_6 [3] */ 3172 + FN_A4, FN_MSIOF1_TXD_B, FN_TPU0TO0, 0, 0, 0, 0, 0, 3173 + /* IP2_5_3 [3] */ 3174 + FN_A3, FN_PWM6, FN_MSIOF1_SS2_B, 0, 0, 0, 0, 0, 3175 + /* IP2_2_0 [3] */ 3176 + FN_A2, FN_PWM5, FN_MSIOF1_SS1_B, 0, 0, 0, 0, 0, } 3177 + }, 3178 + { PINMUX_CFG_REG_VAR("IPSR3", 0xE606002C, 32, 3179 + 3, 3, 3, 3, 2, 3, 3, 4, 4, 4) { 3180 + /* IP3_31_29 [3] */ 3181 + FN_A20, FN_SPCLK, FN_VI1_R3, FN_VI1_R3_B, FN_VI2_G4, 3182 + 0, 0, 0, 3183 + /* IP3_28_26 [3] */ 3184 + FN_A19, FN_AD_NCS_N_B, FN_ATACS01_N, FN_EX_WAIT0_B, 3185 + 0, 0, 0, 0, 3186 + /* IP3_25_23 [3] */ 3187 + FN_A18, FN_AD_CLK_B, FN_ATAG1_N, 0, 0, 0, 0, 0, 3188 + /* IP3_22_20 [3] */ 3189 + FN_A17, FN_AD_DO_B, FN_ATADIR1_N, 0, 0, 0, 0, 0, 3190 + /* IP3_19_18 [2] */ 3191 + FN_A16, FN_ATAWR1_N, 0, 0, 3192 + /* IP3_17_15 [3] */ 3193 + FN_A15, FN_SCIFB2_SCK_B, FN_ATARD1_N, FN_MSIOF2_SS2, 3194 + 0, 0, 0, 0, 3195 + /* IP3_14_12 [3] */ 3196 + FN_A14, FN_SCIFB2_TXD_B, FN_ATACS11_N, FN_MSIOF2_SS1, 3197 + 0, 0, 0, 0, 3198 + /* IP3_11_8 [4] */ 3199 + FN_A13, FN_SCIFB2_RTS_N_B, FN_EX_WAIT2, 3200 + FN_MSIOF2_RXD, FN_VI1_R2, FN_VI1_R2_B, FN_VI2_G2, 3201 + FN_VI2_DATA5_VI2_B5_B, 0, 0, 0, 0, 0, 0, 0, 0, 3202 + /* IP3_7_4 [4] */ 3203 + FN_A12, FN_SCIFB2_RXD_B, FN_MSIOF2_TXD, FN_VI1_R1, 3204 + FN_VI1_R1_B, FN_VI2_G1, FN_VI2_DATA4_VI2_B4_B, 3205 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3206 + /* IP3_3_0 [4] */ 3207 + FN_A11, FN_SCIFB2_CTS_N_B, FN_MSIOF2_SCK, FN_VI1_R0, 3208 + FN_VI1_R0_B, FN_VI2_G0, FN_VI2_DATA3_VI2_B3_B, 0, 3209 + 0, 0, 0, 0, 0, 0, 0, 0, } 3210 + }, 3211 + { PINMUX_CFG_REG_VAR("IPSR4", 0xE6060030, 32, 3212 + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3) { 3213 + /* IP4_31_30 [2] */ 3214 + 0, 0, 0, 0, 3215 + /* IP4_29_27 [3] */ 3216 + FN_EX_CS2_N, FN_GPS_SIGN, FN_HRTS1_N_B, 3217 + FN_VI3_CLKENB, FN_VI1_G0, FN_VI1_G0_B, FN_VI2_R2, 0, 3218 + /* IP4_26_24 [3] */ 3219 + FN_EX_CS1_N, FN_GPS_CLK, FN_HCTS1_N_B, FN_VI1_FIELD, 3220 + FN_VI1_FIELD_B, FN_VI2_R1, 0, 0, 3221 + /* IP4_23_21 [3] */ 3222 + FN_EX_CS0_N, FN_HRX1_B, FN_VI1_G5, FN_VI1_G5_B, FN_VI2_R0, 3223 + FN_HTX0_B, FN_MSIOF0_SS1_B, 0, 3224 + /* IP4_20_18 [3] */ 3225 + FN_CS1_N_A26, FN_SPEEDIN, FN_VI0_R7, FN_VI0_R7_B, 3226 + FN_VI2_CLK, FN_VI2_CLK_B, 0, 0, 3227 + /* IP4_17_15 [3] */ 3228 + FN_CS0_N, FN_VI1_R6, FN_VI1_R6_B, FN_VI2_G3, FN_MSIOF0_SS2_B, 3229 + 0, 0, 0, 3230 + /* IP4_14_12 [3] */ 3231 + FN_A25, FN_SSL, FN_VI1_G6, FN_VI1_G6_B, FN_VI2_FIELD, 3232 + FN_VI2_FIELD_B, 0, 0, 3233 + /* IP4_11_9 [3] */ 3234 + FN_A24, FN_IO3, FN_VI1_R7, FN_VI1_R7_B, FN_VI2_CLKENB, 3235 + FN_VI2_CLKENB_B, 0, 0, 3236 + /* IP4_8_6 [3] */ 3237 + FN_A23, FN_IO2, FN_VI1_G7, FN_VI1_G7_B, FN_VI2_G7, 0, 0, 0, 3238 + /* IP4_5_3 [3] */ 3239 + FN_A22, FN_MISO_IO1, FN_VI1_R5, FN_VI1_R5_B, FN_VI2_G6, 0, 0, 0, 3240 + /* IP4_2_0 [3] */ 3241 + FN_A21, FN_MOSI_IO0, FN_VI1_R4, FN_VI1_R4_B, FN_VI2_G5, 0, 0, 0, 3242 + } 3243 + }, 3244 + { PINMUX_CFG_REG_VAR("IPSR5", 0xE6060034, 32, 3245 + 2, 3, 3, 3, 3, 3, 2, 3, 4, 3, 3) { 3246 + /* IP5_31_30 [2] */ 3247 + 0, 0, 0, 0, 3248 + /* IP5_29_27 [3] */ 3249 + FN_DREQ0_N, FN_VI1_HSYNC_N, FN_VI1_HSYNC_N_B, FN_VI2_R7, 3250 + FN_SSI_SCK78_C, FN_SSI_WS78_B, 0, 0, 3251 + /* IP5_26_24 [3] */ 3252 + FN_EX_WAIT0, FN_IRQ3, FN_INTC_IRQ3_N, 3253 + FN_VI3_CLK, FN_SCIFA0_RTS_N_B, FN_HRX0_B, 3254 + FN_MSIOF0_SCK_B, 0, 3255 + /* IP5_23_21 [3] */ 3256 + FN_WE1_N, FN_IERX, FN_CAN1_RX, FN_VI1_G4, 3257 + FN_VI1_G4_B, FN_VI2_R6, FN_SCIFA0_CTS_N_B, 3258 + FN_IERX_C, 0, 3259 + /* IP5_20_18 [3] */ 3260 + FN_WE0_N, FN_IECLK, FN_CAN_CLK, 3261 + FN_VI2_VSYNC_N, FN_SCIFA0_TXD_B, FN_VI2_VSYNC_N_B, 0, 0, 3262 + /* IP5_17_15 [3] */ 3263 + FN_RD_WR_N, FN_VI1_G3, FN_VI1_G3_B, FN_VI2_R5, FN_SCIFA0_RXD_B, 3264 + FN_INTC_IRQ4_N, 0, 0, 3265 + /* IP5_14_13 [2] */ 3266 + FN_RD_N, FN_CAN0_TX, FN_SCIFA0_SCK_B, 0, 3267 + /* IP5_12_10 [3] */ 3268 + FN_BS_N, FN_IETX, FN_HTX1_B, FN_CAN1_TX, FN_DRACK0, FN_IETX_C, 3269 + 0, 0, 3270 + /* IP5_9_6 [4] */ 3271 + FN_EX_CS5_N, FN_CAN0_RX, FN_MSIOF1_RXD_B, FN_VI3_VSYNC_N, 3272 + FN_VI1_G2, FN_VI1_G2_B, FN_VI2_R4, FN_SDA1, FN_INTC_EN1_N, 3273 + FN_SDA1_CIS, 0, 0, 0, 0, 0, 0, 3274 + /* IP5_5_3 [3] */ 3275 + FN_EX_CS4_N, FN_MSIOF1_SCK_B, FN_VI3_HSYNC_N, 3276 + FN_VI2_HSYNC_N, FN_SCL1, FN_VI2_HSYNC_N_B, 3277 + FN_INTC_EN0_N, FN_SCL1_CIS, 3278 + /* IP5_2_0 [3] */ 3279 + FN_EX_CS3_N, FN_GPS_MAG, FN_VI3_FIELD, FN_VI1_G1, FN_VI1_G1_B, 3280 + FN_VI2_R3, 0, 0, } 3281 + }, 3282 + { PINMUX_CFG_REG_VAR("IPSR6", 0xE6060038, 32, 3283 + 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3) { 3284 + /* IP6_31_29 [3] */ 3285 + FN_ETH_REF_CLK, FN_RMII_REF_CLK, FN_HCTS0_N_E, 3286 + FN_STP_IVCXO27_1_B, FN_HRX0_F, 0, 0, 0, 3287 + /* IP6_28_26 [3] */ 3288 + FN_ETH_LINK, FN_RMII_LINK, FN_HTX0_E, 3289 + FN_STP_IVCXO27_0_B, FN_SCIFB1_TXD_G, FN_TX1_E, 0, 0, 3290 + /* IP6_25_23 [3] */ 3291 + FN_ETH_RXD1, FN_RMII_RXD1, FN_HRX0_E, FN_STP_ISSYNC_0_B, 3292 + FN_TS_SCK0_D, FN_GLO_I1_C, FN_SCIFB1_RXD_G, FN_RX1_E, 3293 + /* IP6_22_20 [3] */ 3294 + FN_ETH_RXD0, FN_RMII_RXD0, FN_STP_ISEN_0_B, FN_TS_SDAT0_D, 3295 + FN_GLO_I0_C, FN_SCIFB1_SCK_G, FN_SCK1_E, 0, 3296 + /* IP6_19_17 [3] */ 3297 + FN_ETH_RX_ER, FN_RMII_RX_ER, FN_STP_ISD_0_B, 3298 + FN_TS_SPSYNC0_D, FN_GLO_Q1_C, FN_SDA2_E, FN_SDA2_CIS_E, 0, 3299 + /* IP6_16_14 [3] */ 3300 + FN_ETH_CRS_DV, FN_RMII_CRS_DV, FN_STP_ISCLK_0_B, 3301 + FN_TS_SDEN0_D, FN_GLO_Q0_C, FN_SCL2_E, 3302 + FN_SCL2_CIS_E, 0, 3303 + /* IP6_13_11 [3] */ 3304 + FN_DACK2, FN_IRQ2, FN_INTC_IRQ2_N, 3305 + FN_SSI_SDATA6_B, FN_HRTS0_N_B, FN_MSIOF0_RXD_B, 0, 0, 3306 + /* IP6_10_9 [2] */ 3307 + FN_DREQ2_N, FN_HSCK1_B, FN_HCTS0_N_B, FN_MSIOF0_TXD_B, 3308 + /* IP6_8_6 [3] */ 3309 + FN_DACK1, FN_IRQ1, FN_INTC_IRQ1_N, FN_SSI_WS6_B, 3310 + FN_SSI_SDATA8_C, 0, 0, 0, 3311 + /* IP6_5_3 [3] */ 3312 + FN_DREQ1_N, FN_VI1_CLKENB, FN_VI1_CLKENB_B, 3313 + FN_SSI_SDATA7_C, FN_SSI_SCK78_B, 0, 0, 0, 3314 + /* IP6_2_0 [3] */ 3315 + FN_DACK0, FN_IRQ0, FN_INTC_IRQ0_N, FN_SSI_SCK6_B, 3316 + FN_VI1_VSYNC_N, FN_VI1_VSYNC_N_B, FN_SSI_WS78_C, 0, } 3317 + }, 3318 + { PINMUX_CFG_REG_VAR("IPSR7", 0xE606003C, 32, 3319 + 1, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 3, 3) { 3320 + /* IP7_31 [1] */ 3321 + 0, 0, 3322 + /* IP7_30_29 [2] */ 3323 + FN_VI0_DATA0_VI0_B0, FN_ATACS10_N, FN_AVB_RXD2, 3324 + FN_MII_RXD2, 3325 + /* IP7_28_27 [2] */ 3326 + FN_VI0_CLK, FN_ATACS00_N, FN_AVB_RXD1, FN_MII_RXD1, 3327 + /* IP7_26_25 [2] */ 3328 + FN_DU1_DOTCLKIN, FN_AUDIO_CLKC, FN_AUDIO_CLKOUT_C, 0, 3329 + /* IP7_24_22 [3] */ 3330 + FN_PWM2, FN_PWMFSW0, FN_SCIFA2_RXD_C, FN_PCMWE_N, FN_IECLK_C, 3331 + 0, 0, 0, 3332 + /* IP7_21_19 [3] */ 3333 + FN_PWM1, FN_SCIFA2_TXD_C, FN_STP_ISSYNC_1_B, FN_TS_SCK1_C, 3334 + FN_GLO_RFON_C, FN_PCMOE_N, 0, 0, 3335 + /* IP7_18_16 [3] */ 3336 + FN_PWM0, FN_SCIFA2_SCK_C, FN_STP_ISEN_1_B, FN_TS_SDAT1_C, 3337 + FN_GLO_SS_C, 0, 0, 0, 3338 + /* IP7_15_13 [3] */ 3339 + FN_ETH_MDC, FN_RMII_MDC, FN_STP_ISD_1_B, 3340 + FN_TS_SPSYNC1_C, FN_GLO_SDATA_C, 0, 0, 0, 3341 + /* IP7_12_10 [3] */ 3342 + FN_ETH_TXD0, FN_RMII_TXD0, FN_STP_ISCLK_1_B, FN_TS_SDEN1_C, 3343 + FN_GLO_SCLK_C, 0, 0, 0, 3344 + /* IP7_9_8 [2] */ 3345 + FN_ETH_MAGIC, FN_RMII_MAGIC, FN_SIM0_RST_C, 0, 3346 + /* IP7_7_6 [2] */ 3347 + FN_ETH_TX_EN, FN_RMII_TX_EN, FN_SIM0_CLK_C, FN_HRTS0_N_F, 3348 + /* IP7_5_3 [3] */ 3349 + FN_ETH_TXD1, FN_RMII_TXD1, FN_HTX0_F, FN_BPFCLK_G, FN_RDS_CLK_F, 3350 + 0, 0, 0, 3351 + /* IP7_2_0 [3] */ 3352 + FN_ETH_MDIO, FN_RMII_MDIO, FN_HRTS0_N_E, 3353 + FN_SIM0_D_C, FN_HCTS0_N_F, 0, 0, 0, } 3354 + }, 3355 + { PINMUX_CFG_REG_VAR("IPSR8", 0xE6060040, 32, 3356 + 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3357 + 2, 2, 2, 2, 2, 2, 2) { 3358 + /* IP8_31 [1] */ 3359 + 0, 0, 3360 + /* IP8_30_29 [2] */ 3361 + FN_SD0_CMD, FN_SCIFB1_SCK_B, FN_VI1_DATA1_VI1_B1_B, 0, 3362 + /* IP8_28 [1] */ 3363 + FN_SD0_CLK, FN_VI1_DATA0_VI1_B0_B, 3364 + /* IP8_27 [1] */ 3365 + FN_VI1_DATA6_VI1_B6, FN_AVB_GTXREFCLK, 3366 + /* IP8_26 [1] */ 3367 + FN_VI1_DATA5_VI1_B5, FN_AVB_PHY_INT, 3368 + /* IP8_25_24 [2] */ 3369 + FN_VI1_DATA4_VI1_B4, FN_SCIFA1_RTS_N_D, 3370 + FN_AVB_MAGIC, FN_MII_MAGIC, 3371 + /* IP8_23_22 [2] */ 3372 + FN_VI1_DATA3_VI1_B3, FN_SCIFA1_CTS_N_D, FN_AVB_GTX_CLK, 0, 3373 + /* IP8_21_20 [2] */ 3374 + FN_VI1_DATA2_VI1_B2, FN_SCIFA1_TXD_D, FN_AVB_MDIO, 3375 + FN_MII_MDIO, 3376 + /* IP8_19_18 [2] */ 3377 + FN_VI1_DATA1_VI1_B1, FN_SCIFA1_RXD_D, FN_AVB_MDC, FN_MII_MDC, 3378 + /* IP8_17_16 [2] */ 3379 + FN_VI1_DATA0_VI1_B0, FN_SCIFA1_SCK_D, FN_AVB_CRS, FN_MII_CRS, 3380 + /* IP8_15_14 [2] */ 3381 + FN_VI1_CLK, FN_AVB_RX_DV, FN_MII_RX_DV, 0, 3382 + /* IP8_13_12 [2] */ 3383 + FN_VI0_DATA7_VI0_B7, FN_AVB_RX_CLK, FN_MII_RX_CLK, 0, 3384 + /* IP8_11_10 [2] */ 3385 + FN_VI0_DATA6_VI0_B6, FN_AVB_RX_ER, FN_MII_RX_ER, 0, 3386 + /* IP8_9_8 [2] */ 3387 + FN_VI0_DATA5_VI0_B5, FN_EX_WAIT1, FN_AVB_RXD7, 0, 3388 + /* IP8_7_6 [2] */ 3389 + FN_VI0_DATA4_VI0_B4, FN_ATAG0_N, FN_AVB_RXD6, 0, 3390 + /* IP8_5_4 [2] */ 3391 + FN_VI0_DATA3_VI0_B3, FN_ATADIR0_N, FN_AVB_RXD5, 0, 3392 + /* IP8_3_2 [2] */ 3393 + FN_VI0_DATA2_VI0_B2, FN_ATAWR0_N, FN_AVB_RXD4, 0, 3394 + /* IP8_1_0 [2] */ 3395 + FN_VI0_DATA1_VI0_B1, FN_ATARD0_N, FN_AVB_RXD3, FN_MII_RXD3, } 3396 + }, 3397 + { PINMUX_CFG_REG_VAR("IPSR9", 0xE6060044, 32, 3398 + 4, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2) { 3399 + /* IP9_31_28 [4] */ 3400 + FN_SD1_CD, FN_MMC1_D6, FN_TS_SDEN1, FN_USB1_EXTP, 3401 + FN_GLO_SS, FN_VI0_CLK_B, FN_SCL2_D, FN_SCL2_CIS_D, 3402 + FN_SIM0_CLK_B, FN_VI3_CLK_B, 0, 0, 0, 0, 0, 0, 3403 + /* IP9_27_26 [2] */ 3404 + FN_SD1_DAT3, FN_AVB_RXD0, FN_MII_RXD0, FN_SCIFB0_RTS_N_B, 3405 + /* IP9_25_24 [2] */ 3406 + FN_SD1_DAT2, FN_AVB_COL, FN_MII_COL, FN_SCIFB0_CTS_N_B, 3407 + /* IP9_23_22 [2] */ 3408 + FN_SD1_DAT1, FN_AVB_LINK, FN_MII_LINK, FN_SCIFB0_TXD_B, 3409 + /* IP9_21_20 [2] */ 3410 + FN_SD1_DAT0, FN_AVB_TX_CLK, FN_MII_TX_CLK, FN_SCIFB0_RXD_B, 3411 + /* IP9_19_18 [2] */ 3412 + FN_SD1_CMD, FN_AVB_TX_ER, FN_MII_TX_ER, FN_SCIFB0_SCK_B, 3413 + /* IP9_17_16 [2] */ 3414 + FN_SD1_CLK, FN_AVB_TX_EN, FN_MII_TX_EN, 0, 3415 + /* IP9_15_12 [4] */ 3416 + FN_SD0_WP, FN_MMC0_D7, FN_TS_SPSYNC0_B, FN_USB0_IDIN, 3417 + FN_GLO_SDATA, FN_VI1_DATA7_VI1_B7_B, FN_SDA1_B, 3418 + FN_SDA1_CIS_B, FN_VI2_DATA7_VI2_B7_B, 0, 0, 0, 0, 0, 0, 0, 3419 + /* IP9_11_8 [4] */ 3420 + FN_SD0_CD, FN_MMC0_D6, FN_TS_SDEN0_B, FN_USB0_EXTP, 3421 + FN_GLO_SCLK, FN_VI1_DATA6_VI1_B6_B, FN_SCL1_B, 3422 + FN_SCL1_CIS_B, FN_VI2_DATA6_VI2_B6_B, 0, 0, 0, 0, 0, 0, 0, 3423 + /* IP9_7_6 [2] */ 3424 + FN_SD0_DAT3, FN_SCIFB1_RTS_N_B, FN_VI1_DATA5_VI1_B5_B, 0, 3425 + /* IP9_5_4 [2] */ 3426 + FN_SD0_DAT2, FN_SCIFB1_CTS_N_B, FN_VI1_DATA4_VI1_B4_B, 0, 3427 + /* IP9_3_2 [2] */ 3428 + FN_SD0_DAT1, FN_SCIFB1_TXD_B, FN_VI1_DATA3_VI1_B3_B, 0, 3429 + /* IP9_1_0 [2] */ 3430 + FN_SD0_DAT0, FN_SCIFB1_RXD_B, FN_VI1_DATA2_VI1_B2_B, 0, } 3431 + }, 3432 + { PINMUX_CFG_REG_VAR("IPSR10", 0xE6060048, 32, 3433 + 2, 4, 3, 4, 4, 4, 4, 3, 4) { 3434 + /* IP10_31_30 [2] */ 3435 + 0, 0, 0, 0, 3436 + /* IP10_29_26 [4] */ 3437 + FN_SD2_CD, FN_MMC0_D4, FN_TS_SDAT0_B, FN_USB2_EXTP, FN_GLO_I0, 3438 + FN_VI0_DATA6_VI0_B6_B, FN_HCTS0_N_D, FN_TS_SDAT1_B, 3439 + FN_GLO_I0_B, FN_VI3_DATA6_B, 0, 0, 0, 0, 0, 0, 3440 + /* IP10_25_23 [3] */ 3441 + FN_SD2_DAT3, FN_MMC0_D3, FN_SIM0_RST, FN_VI0_DATA5_VI0_B5_B, 3442 + FN_HTX0_D, FN_TS_SPSYNC1_B, FN_GLO_Q1_B, FN_VI3_DATA5_B, 3443 + /* IP10_22_19 [4] */ 3444 + FN_SD2_DAT2, FN_MMC0_D2, FN_BPFCLK_B, FN_RDS_CLK, 3445 + FN_VI0_DATA4_VI0_B4_B, FN_HRX0_D, FN_TS_SDEN1_B, 3446 + FN_GLO_Q0_B, FN_VI3_DATA4_B, 0, 0, 0, 0, 0, 0, 0, 3447 + /* IP10_18_15 [4] */ 3448 + FN_SD2_DAT1, FN_MMC0_D1, FN_FMIN_B, FN_RDS_DATA, 3449 + FN_VI0_DATA3_VI0_B3_B, FN_SCIFB1_TXD_E, FN_TX1_D, 3450 + FN_TS_SCK0_C, FN_GLO_RFON_B, FN_VI3_DATA3_B, 3451 + 0, 0, 0, 0, 0, 0, 3452 + /* IP10_14_11 [4] */ 3453 + FN_SD2_DAT0, FN_MMC0_D0, FN_FMCLK_B, 3454 + FN_VI0_DATA2_VI0_B2_B, FN_SCIFB1_RXD_E, FN_RX1_D, 3455 + FN_TS_SDAT0_C, FN_GLO_SS_B, FN_VI3_DATA2_B, 3456 + 0, 0, 0, 0, 0, 0, 0, 3457 + /* IP10_10_7 [4] */ 3458 + FN_SD2_CMD, FN_MMC0_CMD, FN_SIM0_D, 3459 + FN_VI0_DATA1_VI0_B1_B, FN_SCIFB1_SCK_E, FN_SCK1_D, 3460 + FN_TS_SPSYNC0_C, FN_GLO_SDATA_B, FN_VI3_DATA1_B, 3461 + 0, 0, 0, 0, 0, 0, 0, 3462 + /* IP10_6_4 [3] */ 3463 + FN_SD2_CLK, FN_MMC0_CLK, FN_SIM0_CLK, 3464 + FN_VI0_DATA0_VI0_B0_B, FN_TS_SDEN0_C, FN_GLO_SCLK_B, 3465 + FN_VI3_DATA0_B, 0, 3466 + /* IP10_3_0 [4] */ 3467 + FN_SD1_WP, FN_MMC1_D7, FN_TS_SPSYNC1, FN_USB1_IDIN, 3468 + FN_GLO_RFON, FN_VI1_CLK_B, FN_SDA2_D, FN_SDA2_CIS_D, 3469 + FN_SIM0_D_B, 0, 0, 0, 0, 0, 0, 0, } 3470 + }, 3471 + { PINMUX_CFG_REG_VAR("IPSR11", 0xE606004C, 32, 3472 + 2, 3, 3, 2, 4, 3, 2, 2, 2, 2, 2, 1, 4) { 3473 + /* IP11_31_30 [2] */ 3474 + FN_SSI_SCK0129, FN_CAN_CLK_B, FN_MOUT0, 0, 3475 + /* IP11_29_27 [3] */ 3476 + FN_MLB_DAT, FN_SPV_EVEN, FN_SCIFB1_TXD_D, FN_TX1_C, FN_BPFCLK_C, 3477 + FN_RDS_CLK_B, 0, 0, 3478 + /* IP11_26_24 [3] */ 3479 + FN_MLB_SIG, FN_SCIFB1_RXD_D, FN_RX1_C, FN_SDA2_B, FN_SDA2_CIS_B, 3480 + 0, 0, 0, 3481 + /* IP11_23_22 [2] */ 3482 + FN_MLB_CLK, FN_SCL2_B, FN_SCL2_CIS_B, 0, 3483 + /* IP11_21_18 [4] */ 3484 + FN_SD3_WP, FN_MMC1_D5, FN_TS_SCK1, FN_GLO_Q1, FN_FMIN_C, 3485 + FN_RDS_DATA_B, FN_FMIN_E, FN_RDS_DATA_D, FN_FMIN_F, 3486 + FN_RDS_DATA_E, 0, 0, 0, 0, 0, 0, 3487 + /* IP11_17_15 [3] */ 3488 + FN_SD3_CD, FN_MMC1_D4, FN_TS_SDAT1, 3489 + FN_VSP, FN_GLO_Q0, FN_SIM0_RST_B, 0, 0, 3490 + /* IP11_14_13 [2] */ 3491 + FN_SD3_DAT3, FN_MMC1_D3, FN_SCKZ, 0, 3492 + /* IP11_12_11 [2] */ 3493 + FN_SD3_DAT2, FN_MMC1_D2, FN_SDATA, 0, 3494 + /* IP11_10_9 [2] */ 3495 + FN_SD3_DAT1, FN_MMC1_D1, FN_MDATA, 0, 3496 + /* IP11_8_7 [2] */ 3497 + FN_SD3_DAT0, FN_MMC1_D0, FN_STM_N, 0, 3498 + /* IP11_6_5 [2] */ 3499 + FN_SD3_CMD, FN_MMC1_CMD, FN_MTS_N, 0, 3500 + /* IP11_4 [1] */ 3501 + FN_SD3_CLK, FN_MMC1_CLK, 3502 + /* IP11_3_0 [4] */ 3503 + FN_SD2_WP, FN_MMC0_D5, FN_TS_SCK0_B, FN_USB2_IDIN, 3504 + FN_GLO_I1, FN_VI0_DATA7_VI0_B7_B, FN_HRTS0_N_D, 3505 + FN_TS_SCK1_B, FN_GLO_I1_B, FN_VI3_DATA7_B, 0, 0, 0, 0, 0, 0, } 3506 + }, 3507 + { PINMUX_CFG_REG_VAR("IPSR12", 0xE6060050, 32, 3508 + 1, 3, 3, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2) { 3509 + /* IP12_31 [1] */ 3510 + 0, 0, 3511 + /* IP12_30_28 [3] */ 3512 + FN_SSI_WS5, FN_SCIFB1_RXD, FN_IECLK_B, 3513 + FN_DU2_EXVSYNC_DU2_VSYNC, FN_QSTB_QHE, 3514 + FN_CAN_DEBUGOUT4, 0, 0, 3515 + /* IP12_27_25 [3] */ 3516 + FN_SSI_SCK5, FN_SCIFB1_SCK, 3517 + FN_IERX_B, FN_DU2_EXHSYNC_DU2_HSYNC, FN_QSTH_QHS, 3518 + FN_CAN_DEBUGOUT3, 0, 0, 3519 + /* IP12_24_23 [2] */ 3520 + FN_SSI_SDATA4, FN_STP_ISSYNC_0, FN_MSIOF1_RXD, 3521 + FN_CAN_DEBUGOUT2, 3522 + /* IP12_22_20 [3] */ 3523 + FN_SSI_WS4, FN_STP_ISEN_0, FN_SCIFB0_RTS_N, 3524 + FN_MSIOF1_TXD, FN_SSI_WS5_C, FN_CAN_DEBUGOUT1, 0, 0, 3525 + /* IP12_19_17 [3] */ 3526 + FN_SSI_SCK4, FN_STP_ISD_0, FN_SCIFB0_CTS_N, 3527 + FN_MSIOF1_SS2, FN_SSI_SCK5_C, FN_CAN_DEBUGOUT0, 0, 0, 3528 + /* IP12_16_14 [3] */ 3529 + FN_SSI_SDATA3, FN_STP_ISCLK_0, 3530 + FN_SCIFB0_TXD, FN_MSIOF1_SS1, FN_CAN_TXCLK, 0, 0, 0, 3531 + /* IP12_13_11 [3] */ 3532 + FN_SSI_WS34, FN_STP_IVCXO27_0, FN_SCIFB0_RXD, FN_MSIOF1_SYNC, 3533 + FN_CAN_STEP0, 0, 0, 0, 3534 + /* IP12_10_8 [3] */ 3535 + FN_SSI_SCK34, FN_STP_OPWM_0, FN_SCIFB0_SCK, 3536 + FN_MSIOF1_SCK, FN_CAN_DEBUG_HW_TRIGGER, 0, 0, 0, 3537 + /* IP12_7_6 [2] */ 3538 + FN_SSI_SDATA2, FN_CAN1_RX_B, FN_SSI_SCK1, FN_MOUT6, 3539 + /* IP12_5_4 [2] */ 3540 + FN_SSI_SDATA1, FN_CAN1_TX_B, FN_MOUT5, 0, 3541 + /* IP12_3_2 [2] */ 3542 + FN_SSI_SDATA0, FN_CAN0_RX_B, FN_MOUT2, 0, 3543 + /* IP12_1_0 [2] */ 3544 + FN_SSI_WS0129, FN_CAN0_TX_B, FN_MOUT1, 0, } 3545 + }, 3546 + { PINMUX_CFG_REG_VAR("IPSR13", 0xE6060054, 32, 3547 + 1, 2, 3, 3, 4, 3, 3, 3, 3, 4, 3) { 3548 + /* IP13_31 [1] */ 3549 + 0, 0, 3550 + /* IP13_30_29 [2] */ 3551 + FN_AUDIO_CLKA, FN_SCIFB2_RTS_N, FN_CAN_DEBUGOUT14, 0, 3552 + /* IP13_28_26 [3] */ 3553 + FN_SSI_SDATA9, FN_STP_ISSYNC_1, FN_SCIFB2_CTS_N, FN_SSI_WS1, 3554 + FN_SSI_SDATA5_C, FN_CAN_DEBUGOUT13, 0, 0, 3555 + /* IP13_25_23 [3] */ 3556 + FN_SSI_SDATA8, FN_STP_ISEN_1, FN_SCIFB2_TXD, FN_CAN0_TX_C, 3557 + FN_CAN_DEBUGOUT12, FN_SSI_SDATA8_B, 0, 0, 3558 + /* IP13_22_19 [4] */ 3559 + FN_SSI_SDATA7, FN_STP_ISD_1, FN_SCIFB2_RXD, FN_SCIFA2_RTS_N, 3560 + FN_TCLK2, FN_QSTVA_QVS, FN_CAN_DEBUGOUT11, FN_BPFCLK_E, 3561 + FN_RDS_CLK_D, FN_SSI_SDATA7_B, FN_FMIN_G, FN_RDS_DATA_F, 3562 + 0, 0, 0, 0, 3563 + /* IP13_18_16 [3] */ 3564 + FN_SSI_WS78, FN_STP_ISCLK_1, FN_SCIFB2_SCK, FN_SCIFA2_CTS_N, 3565 + FN_DU2_DR7, FN_LCDOUT7, FN_CAN_DEBUGOUT10, 0, 3566 + /* IP13_15_13 [3] */ 3567 + FN_SSI_SCK78, FN_STP_IVCXO27_1, FN_SCK1, FN_SCIFA1_SCK, 3568 + FN_DU2_DR6, FN_LCDOUT6, FN_CAN_DEBUGOUT9, 0, 3569 + /* IP13_12_10 [3] */ 3570 + FN_SSI_SDATA6, FN_FMIN_D, FN_RDS_DATA_C, FN_DU2_DR5, FN_LCDOUT5, 3571 + FN_CAN_DEBUGOUT8, 0, 0, 3572 + /* IP13_9_7 [3] */ 3573 + FN_SSI_WS6, FN_SCIFB1_RTS_N, FN_CAN0_TX_D, FN_DU2_DR4, 3574 + FN_LCDOUT4, FN_CAN_DEBUGOUT7, 0, 0, 3575 + /* IP13_6_3 [4] */ 3576 + FN_SSI_SCK6, FN_SCIFB1_CTS_N, FN_BPFCLK_D, FN_RDS_CLK_C, 3577 + FN_DU2_DR3, FN_LCDOUT3, FN_CAN_DEBUGOUT6, 3578 + FN_BPFCLK_F, FN_RDS_CLK_E, 0, 0, 0, 0, 0, 0, 0, 3579 + /* IP13_2_0 [3] */ 3580 + FN_SSI_SDATA5, FN_SCIFB1_TXD, FN_IETX_B, FN_DU2_DR2, 3581 + FN_LCDOUT2, FN_CAN_DEBUGOUT5, 0, 0, } 3582 + }, 3583 + { PINMUX_CFG_REG_VAR("IPSR14", 0xE6060058, 32, 3584 + 1, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3) { 3585 + /* IP14_30 [1] */ 3586 + 0, 0, 3587 + /* IP14_30_28 [3] */ 3588 + FN_SCIFA1_RTS_N, FN_AD_NCS_N, FN_RTS1_N_TANS, 3589 + FN_MSIOF3_TXD, FN_DU1_DOTCLKOUT, FN_QSTVB_QVE, 3590 + FN_HRTS0_N_C, 0, 3591 + /* IP14_27_25 [3] */ 3592 + FN_SCIFA1_CTS_N, FN_AD_CLK, FN_CTS1_N, FN_MSIOF3_RXD, 3593 + FN_DU0_DOTCLKOUT, FN_QCLK, 0, 0, 3594 + /* IP14_24_22 [3] */ 3595 + FN_SCIFA1_TXD, FN_AD_DO, FN_TX1, FN_DU2_DG1, 3596 + FN_LCDOUT9, 0, 0, 0, 3597 + /* IP14_21_19 [3] */ 3598 + FN_SCIFA1_RXD, FN_AD_DI, FN_RX1, 3599 + FN_DU2_EXODDF_DU2_ODDF_DISP_CDE, FN_QCPV_QDE, 0, 0, 0, 3600 + /* IP14_18_16 [3] */ 3601 + FN_SCIFA0_RTS_N, FN_HRTS1_N, FN_RTS0_N_TANS, 3602 + FN_MSIOF3_SS1, FN_DU2_DG0, FN_LCDOUT8, FN_PWM1_B, 0, 3603 + /* IP14_15_12 [4] */ 3604 + FN_SCIFA0_CTS_N, FN_HCTS1_N, FN_CTS0_N, FN_MSIOF3_SYNC, 3605 + FN_DU2_DG3, FN_LCDOUT11, FN_PWM0_B, FN_SCL1_C, FN_SCL1_CIS_C, 3606 + 0, 0, 0, 0, 0, 0, 0, 3607 + /* IP14_11_9 [3] */ 3608 + FN_SCIFA0_TXD, FN_HTX1, FN_TX0, FN_DU2_DR1, FN_LCDOUT1, 3609 + 0, 0, 0, 3610 + /* IP14_8_6 [3] */ 3611 + FN_SCIFA0_RXD, FN_HRX1, FN_RX0, FN_DU2_DR0, FN_LCDOUT0, 3612 + 0, 0, 0, 3613 + /* IP14_5_3 [3] */ 3614 + FN_SCIFA0_SCK, FN_HSCK1, FN_SCK0, FN_MSIOF3_SS2, FN_DU2_DG2, 3615 + FN_LCDOUT10, FN_SDA1_C, FN_SDA1_CIS_C, 3616 + /* IP14_2_0 [3] */ 3617 + FN_AUDIO_CLKB, FN_SCIF_CLK, FN_CAN0_RX_D, 3618 + FN_DVC_MUTE, FN_CAN0_RX_C, FN_CAN_DEBUGOUT15, 3619 + FN_REMOCON, 0, } 3620 + }, 3621 + { PINMUX_CFG_REG_VAR("IPSR15", 0xE606005C, 32, 3622 + 2, 2, 2, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3) { 3623 + /* IP15_31_30 [2] */ 3624 + 0, 0, 0, 0, 3625 + /* IP15_29_28 [2] */ 3626 + FN_MSIOF0_TXD, FN_ADICHS1, FN_DU2_DG6, FN_LCDOUT14, 3627 + /* IP15_27_26 [2] */ 3628 + FN_MSIOF0_SS1, FN_ADICHS0, FN_DU2_DG5, FN_LCDOUT13, 3629 + /* IP15_25_23 [3] */ 3630 + FN_MSIOF0_SYNC, FN_TS_SCK0, FN_SSI_SCK2, FN_ADIDATA, 3631 + FN_DU2_DB7, FN_LCDOUT23, FN_SCIFA2_RXD_B, 0, 3632 + /* IP15_22_20 [3] */ 3633 + FN_MSIOF0_SCK, FN_TS_SDAT0, FN_ADICLK, 3634 + FN_DU2_DB6, FN_LCDOUT22, 0, 0, 0, 3635 + /* IP15_19_18 [2] */ 3636 + FN_HRTS0_N, FN_SSI_WS9, FN_DU2_DB5, FN_LCDOUT21, 3637 + /* IP15_17_16 [2] */ 3638 + FN_HCTS0_N, FN_SSI_SCK9, FN_DU2_DB4, FN_LCDOUT20, 3639 + /* IP15_15_14 [2] */ 3640 + FN_HTX0, FN_DU2_DB3, FN_LCDOUT19, 0, 3641 + /* IP15_13_12 [2] */ 3642 + FN_HRX0, FN_DU2_DB2, FN_LCDOUT18, 0, 3643 + /* IP15_11_9 [3] */ 3644 + FN_HSCK0, FN_TS_SDEN0, FN_DU2_DG4, FN_LCDOUT12, FN_HCTS0_N_C, 3645 + 0, 0, 0, 3646 + /* IP15_8_6 [3] */ 3647 + FN_SCIFA2_TXD, FN_BPFCLK, 0, FN_DU2_DB1, FN_LCDOUT17, 3648 + FN_SDA2, FN_SDA2_CIS, 0, 3649 + /* IP15_5_3 [3] */ 3650 + FN_SCIFA2_RXD, FN_FMIN, 0, FN_DU2_DB0, FN_LCDOUT16, 3651 + FN_SCL2, FN_SCL2_CIS, 0, 3652 + /* IP15_2_0 [3] */ 3653 + FN_SCIFA2_SCK, FN_FMCLK, 0, FN_MSIOF3_SCK, FN_DU2_DG7, 3654 + FN_LCDOUT15, FN_SCIF_CLK_B, 0, } 3655 + }, 3656 + { PINMUX_CFG_REG_VAR("IPSR16", 0xE6060160, 32, 3657 + 4, 4, 4, 4, 4, 4, 1, 1, 3, 3) { 3658 + /* IP16_31_28 [4] */ 3659 + 0, 0, 0, 0, 0, 0, 0, 0, 3660 + 0, 0, 0, 0, 0, 0, 0, 0, 3661 + /* IP16_27_24 [4] */ 3662 + 0, 0, 0, 0, 0, 0, 0, 0, 3663 + 0, 0, 0, 0, 0, 0, 0, 0, 3664 + /* IP16_23_20 [4] */ 3665 + 0, 0, 0, 0, 0, 0, 0, 0, 3666 + 0, 0, 0, 0, 0, 0, 0, 0, 3667 + /* IP16_19_16 [4] */ 3668 + 0, 0, 0, 0, 0, 0, 0, 0, 3669 + 0, 0, 0, 0, 0, 0, 0, 0, 3670 + /* IP16_15_12 [4] */ 3671 + 0, 0, 0, 0, 0, 0, 0, 0, 3672 + 0, 0, 0, 0, 0, 0, 0, 0, 3673 + /* IP16_11_8 [4] */ 3674 + 0, 0, 0, 0, 0, 0, 0, 0, 3675 + 0, 0, 0, 0, 0, 0, 0, 0, 3676 + /* IP16_7 [1] */ 3677 + FN_USB1_OVC, FN_TCLK1_B, 3678 + /* IP16_6 [1] */ 3679 + FN_USB1_PWEN, FN_AUDIO_CLKOUT_D, 3680 + /* IP16_5_3 [3] */ 3681 + FN_MSIOF0_RXD, FN_TS_SPSYNC0, FN_SSI_WS2, 3682 + FN_ADICS_SAMP, FN_DU2_CDE, FN_QPOLB, FN_HRX0_C, 0, 3683 + /* IP16_2_0 [3] */ 3684 + FN_MSIOF0_SS2, FN_AUDIO_CLKOUT, FN_ADICHS2, 3685 + FN_DU2_DISP, FN_QPOLA, FN_HTX0_C, FN_SCIFA2_TXD_B, 0, } 3686 + }, 3687 + { PINMUX_CFG_REG_VAR("MOD_SEL", 0xE6060090, 32, 3688 + 3, 2, 2, 3, 2, 1, 1, 1, 2, 1, 3689 + 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1) { 3690 + /* SEL_SCIF1 [3] */ 3691 + FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3, 3692 + FN_SEL_SCIF1_4, 0, 0, 0, 3693 + /* SEL_SCIFB [2] */ 3694 + FN_SEL_SCIFB_0, FN_SEL_SCIFB_1, FN_SEL_SCIFB_2, 0, 3695 + /* SEL_SCIFB2 [2] */ 3696 + FN_SEL_SCIFB2_0, FN_SEL_SCIFB2_1, FN_SEL_SCIFB2_2, 0, 3697 + /* SEL_SCIFB1 [3] */ 3698 + FN_SEL_SCIFB1_0, FN_SEL_SCIFB1_1, FN_SEL_SCIFB1_2, 3699 + FN_SEL_SCIFB1_3, FN_SEL_SCIFB1_4, FN_SEL_SCIFB1_5, 3700 + FN_SEL_SCIFB1_6, 0, 3701 + /* SEL_SCIFA1 [2] */ 3702 + FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2, 3703 + FN_SEL_SCIFA1_3, 3704 + /* SEL_SCIF0 [1] */ 3705 + FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, 3706 + /* SEL_SCIFA [1] */ 3707 + FN_SEL_SCFA_0, FN_SEL_SCFA_1, 3708 + /* SEL_SOF1 [1] */ 3709 + FN_SEL_SOF1_0, FN_SEL_SOF1_1, 3710 + /* SEL_SSI7 [2] */ 3711 + FN_SEL_SSI7_0, FN_SEL_SSI7_1, FN_SEL_SSI7_2, 0, 3712 + /* SEL_SSI6 [1] */ 3713 + FN_SEL_SSI6_0, FN_SEL_SSI6_1, 3714 + /* SEL_SSI5 [2] */ 3715 + FN_SEL_SSI5_0, FN_SEL_SSI5_1, FN_SEL_SSI5_2, 0, 3716 + /* SEL_VI3 [1] */ 3717 + FN_SEL_VI3_0, FN_SEL_VI3_1, 3718 + /* SEL_VI2 [1] */ 3719 + FN_SEL_VI2_0, FN_SEL_VI2_1, 3720 + /* SEL_VI1 [1] */ 3721 + FN_SEL_VI1_0, FN_SEL_VI1_1, 3722 + /* SEL_VI0 [1] */ 3723 + FN_SEL_VI0_0, FN_SEL_VI0_1, 3724 + /* SEL_TSIF1 [2] */ 3725 + FN_SEL_TSIF1_0, FN_SEL_TSIF1_1, FN_SEL_TSIF1_2, 0, 3726 + /* RESERVED [1] */ 3727 + 0, 0, 3728 + /* SEL_LBS [1] */ 3729 + FN_SEL_LBS_0, FN_SEL_LBS_1, 3730 + /* SEL_TSIF0 [2] */ 3731 + FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3, 3732 + /* SEL_SOF3 [1] */ 3733 + FN_SEL_SOF3_0, FN_SEL_SOF3_1, 3734 + /* SEL_SOF0 [1] */ 3735 + FN_SEL_SOF0_0, FN_SEL_SOF0_1, } 3736 + }, 3737 + { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xE6060094, 32, 3738 + 3, 1, 1, 1, 2, 1, 2, 1, 2, 3739 + 1, 1, 1, 3, 3, 2, 3, 2, 2) { 3740 + /* RESERVED [3] */ 3741 + 0, 0, 0, 0, 0, 0, 0, 0, 3742 + /* SEL_TMU1 [1] */ 3743 + FN_SEL_TMU1_0, FN_SEL_TMU1_1, 3744 + /* SEL_HSCIF1 [1] */ 3745 + FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, 3746 + /* SEL_SCIFCLK [1] */ 3747 + FN_SEL_SCIFCLK_0, FN_SEL_SCIFCLK_1, 3748 + /* SEL_CAN0 [2] */ 3749 + FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3, 3750 + /* SEL_CANCLK [1] */ 3751 + FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, 3752 + /* SEL_SCIFA2 [2] */ 3753 + FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1, FN_SEL_SCIFA2_2, 0, 3754 + /* SEL_CAN1 [1] */ 3755 + FN_SEL_CAN1_0, FN_SEL_CAN1_1, 3756 + /* RESERVED [2] */ 3757 + 0, 0, 0, 0, 3758 + /* RESERVED [1] (actually TX2, RX2 vs. TX2_B, RX2_B of SCIF2) */ 3759 + 0, 0, 3760 + /* SEL_ADI [1] */ 3761 + FN_SEL_ADI_0, FN_SEL_ADI_1, 3762 + /* SEL_SSP [1] */ 3763 + FN_SEL_SSP_0, FN_SEL_SSP_1, 3764 + /* SEL_FM [3] */ 3765 + FN_SEL_FM_0, FN_SEL_FM_1, FN_SEL_FM_2, FN_SEL_FM_3, 3766 + FN_SEL_FM_4, FN_SEL_FM_5, FN_SEL_FM_6, 0, 3767 + /* SEL_HSCIF0 [3] */ 3768 + FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, FN_SEL_HSCIF0_2, 3769 + FN_SEL_HSCIF0_3, FN_SEL_HSCIF0_4, FN_SEL_HSCIF0_5, 0, 0, 3770 + /* SEL_GPS [2] */ 3771 + FN_SEL_GPS_0, FN_SEL_GPS_1, FN_SEL_GPS_2, 0, 3772 + /* SEL_RDS [3] */ 3773 + FN_SEL_RDS_0, FN_SEL_RDS_1, FN_SEL_RDS_2, 3774 + FN_SEL_RDS_3, FN_SEL_RDS_4, FN_SEL_RDS_5, 0, 0, 3775 + /* SEL_SIM [2] */ 3776 + FN_SEL_SIM_0, FN_SEL_SIM_1, FN_SEL_SIM_2, 0, 3777 + /* SEL_SSI8 [2] */ 3778 + FN_SEL_SSI8_0, FN_SEL_SSI8_1, FN_SEL_SSI8_2, 0, } 3779 + }, 3780 + { PINMUX_CFG_REG_VAR("MOD_SEL3", 0xE6060098, 32, 3781 + 1, 1, 2, 4, 4, 2, 2, 3782 + 4, 2, 3, 2, 3, 2) { 3783 + /* SEL_IICDVFS [1] */ 3784 + FN_SEL_IICDVFS_0, FN_SEL_IICDVFS_1, 3785 + /* SEL_IIC0 [1] */ 3786 + FN_SEL_IIC0_0, FN_SEL_IIC0_1, 3787 + /* RESERVED [2] */ 3788 + 0, 0, 0, 0, 3789 + /* RESERVED [4] */ 3790 + 0, 0, 0, 0, 0, 0, 0, 0, 3791 + 0, 0, 0, 0, 0, 0, 0, 0, 3792 + /* RESERVED [4] */ 3793 + 0, 0, 0, 0, 0, 0, 0, 0, 3794 + 0, 0, 0, 0, 0, 0, 0, 0, 3795 + /* RESERVED [2] */ 3796 + 0, 0, 0, 0, 3797 + /* SEL_IEB [2] */ 3798 + FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2, 0, 3799 + /* RESERVED [4] */ 3800 + 0, 0, 0, 0, 0, 0, 0, 0, 3801 + 0, 0, 0, 0, 0, 0, 0, 0, 3802 + /* RESERVED [2] */ 3803 + 0, 0, 0, 0, 3804 + /* SEL_IIC2 [3] */ 3805 + FN_SEL_IIC2_0, FN_SEL_IIC2_1, FN_SEL_IIC2_2, FN_SEL_IIC2_3, 3806 + FN_SEL_IIC2_4, 0, 0, 0, 3807 + /* SEL_IIC1 [2] */ 3808 + FN_SEL_IIC1_0, FN_SEL_IIC1_1, FN_SEL_IIC1_2, 0, 3809 + /* SEL_I2C2 [3] */ 3810 + FN_SEL_I2C2_0, FN_SEL_I2C2_1, FN_SEL_I2C2_2, FN_SEL_I2C2_3, 3811 + FN_SEL_I2C2_4, 0, 0, 0, 3812 + /* SEL_I2C1 [2] */ 3813 + FN_SEL_I2C1_0, FN_SEL_I2C1_1, FN_SEL_I2C1_2, 0, } 3814 + }, 3815 + { }, 3816 + }; 3817 + 3818 + const struct sh_pfc_soc_info r8a7790_pinmux_info = { 3819 + .name = "r8a77900_pfc", 3820 + .unlock_reg = 0xe6060000, /* PMMR */ 3821 + 3822 + .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 3823 + 3824 + .pins = pinmux_pins, 3825 + .nr_pins = ARRAY_SIZE(pinmux_pins), 3826 + .groups = pinmux_groups, 3827 + .nr_groups = ARRAY_SIZE(pinmux_groups), 3828 + .functions = pinmux_functions, 3829 + .nr_functions = ARRAY_SIZE(pinmux_functions), 3830 + 3831 + .cfg_regs = pinmux_config_regs, 3832 + 3833 + .gpio_data = pinmux_data, 3834 + .gpio_data_size = ARRAY_SIZE(pinmux_data), 3835 + };
+1244 -408
drivers/pinctrl/sh-pfc/pfc-sh7372.c
··· 20 20 * along with this program; if not, write to the Free Software 21 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22 22 */ 23 + #include <linux/io.h> 23 24 #include <linux/kernel.h> 25 + #include <linux/pinctrl/pinconf-generic.h> 26 + 24 27 #include <mach/irqs.h> 25 28 #include <mach/sh7372.h> 26 29 30 + #include "core.h" 27 31 #include "sh_pfc.h" 28 32 29 33 #define CPU_ALL_PORT(fn, pfx, sfx) \ ··· 37 33 PORT_10(fn, pfx##14, sfx), PORT_10(fn, pfx##15, sfx), \ 38 34 PORT_10(fn, pfx##16, sfx), PORT_10(fn, pfx##17, sfx), \ 39 35 PORT_10(fn, pfx##18, sfx), PORT_1(fn, pfx##190, sfx) 36 + 37 + #undef _GPIO_PORT 38 + #define _GPIO_PORT(gpio, sfx) \ 39 + [gpio] = { \ 40 + .name = __stringify(PORT##gpio), \ 41 + .enum_id = PORT##gpio##_DATA, \ 42 + } 43 + 44 + #define IRQC_PIN_MUX(irq, pin) \ 45 + static const unsigned int intc_irq##irq##_pins[] = { \ 46 + pin, \ 47 + }; \ 48 + static const unsigned int intc_irq##irq##_mux[] = { \ 49 + IRQ##irq##_MARK, \ 50 + } 51 + 52 + #define IRQC_PINS_MUX(irq, pin0, pin1) \ 53 + static const unsigned int intc_irq##irq##_0_pins[] = { \ 54 + pin0, \ 55 + }; \ 56 + static const unsigned int intc_irq##irq##_0_mux[] = { \ 57 + IRQ##irq##_##pin0##_MARK, \ 58 + }; \ 59 + static const unsigned int intc_irq##irq##_1_pins[] = { \ 60 + pin1, \ 61 + }; \ 62 + static const unsigned int intc_irq##irq##_1_mux[] = { \ 63 + IRQ##irq##_##pin1##_MARK, \ 64 + } 40 65 41 66 enum { 42 67 PINMUX_RESERVED = 0, ··· 79 46 PINMUX_INPUT_BEGIN, 80 47 PORT_ALL(IN), 81 48 PINMUX_INPUT_END, 82 - 83 - /* PORT0_IN_PU -> PORT190_IN_PU */ 84 - PINMUX_INPUT_PULLUP_BEGIN, 85 - PORT_ALL(IN_PU), 86 - PINMUX_INPUT_PULLUP_END, 87 - 88 - /* PORT0_IN_PD -> PORT190_IN_PD */ 89 - PINMUX_INPUT_PULLDOWN_BEGIN, 90 - PORT_ALL(IN_PD), 91 - PINMUX_INPUT_PULLDOWN_END, 92 49 93 50 /* PORT0_OUT -> PORT190_OUT */ 94 51 PINMUX_OUTPUT_BEGIN, ··· 391 368 PINMUX_MARK_END, 392 369 }; 393 370 371 + #define _PORT_DATA(pfx, sfx) PORT_DATA_IO(pfx) 372 + #define PINMUX_DATA_GP_ALL() CPU_ALL_PORT(_PORT_DATA, , unused) 373 + 394 374 static const pinmux_enum_t pinmux_data[] = { 395 - 396 - /* specify valid pin states for each pin in GPIO mode */ 397 - PORT_DATA_IO_PD(0), PORT_DATA_IO_PD(1), 398 - PORT_DATA_O(2), PORT_DATA_I_PD(3), 399 - PORT_DATA_I_PD(4), PORT_DATA_I_PD(5), 400 - PORT_DATA_IO_PU_PD(6), PORT_DATA_I_PD(7), 401 - PORT_DATA_IO_PD(8), PORT_DATA_O(9), 402 - 403 - PORT_DATA_O(10), PORT_DATA_O(11), 404 - PORT_DATA_IO_PU_PD(12), PORT_DATA_IO_PD(13), 405 - PORT_DATA_IO_PD(14), PORT_DATA_O(15), 406 - PORT_DATA_IO_PD(16), PORT_DATA_IO_PD(17), 407 - PORT_DATA_I_PD(18), PORT_DATA_IO(19), 408 - 409 - PORT_DATA_IO(20), PORT_DATA_IO(21), 410 - PORT_DATA_IO(22), PORT_DATA_IO(23), 411 - PORT_DATA_IO(24), PORT_DATA_IO(25), 412 - PORT_DATA_IO(26), PORT_DATA_IO(27), 413 - PORT_DATA_IO(28), PORT_DATA_IO(29), 414 - 415 - PORT_DATA_IO(30), PORT_DATA_IO(31), 416 - PORT_DATA_IO(32), PORT_DATA_IO(33), 417 - PORT_DATA_IO(34), PORT_DATA_IO(35), 418 - PORT_DATA_IO(36), PORT_DATA_IO(37), 419 - PORT_DATA_IO(38), PORT_DATA_IO(39), 420 - 421 - PORT_DATA_IO(40), PORT_DATA_IO(41), 422 - PORT_DATA_IO(42), PORT_DATA_IO(43), 423 - PORT_DATA_IO(44), PORT_DATA_IO(45), 424 - PORT_DATA_IO_PU(46), PORT_DATA_IO_PU(47), 425 - PORT_DATA_IO_PU(48), PORT_DATA_IO_PU(49), 426 - 427 - PORT_DATA_IO_PU(50), PORT_DATA_IO_PU(51), 428 - PORT_DATA_IO_PU(52), PORT_DATA_IO_PU(53), 429 - PORT_DATA_IO_PU(54), PORT_DATA_IO_PU(55), 430 - PORT_DATA_IO_PU(56), PORT_DATA_IO_PU(57), 431 - PORT_DATA_IO_PU(58), PORT_DATA_IO_PU(59), 432 - 433 - PORT_DATA_IO_PU(60), PORT_DATA_IO_PU(61), 434 - PORT_DATA_IO(62), PORT_DATA_O(63), 435 - PORT_DATA_O(64), PORT_DATA_IO_PU(65), 436 - PORT_DATA_O(66), PORT_DATA_IO_PU(67), /*66?*/ 437 - PORT_DATA_O(68), PORT_DATA_IO(69), 438 - 439 - PORT_DATA_IO(70), PORT_DATA_IO(71), 440 - PORT_DATA_O(72), PORT_DATA_I_PU(73), 441 - PORT_DATA_I_PU_PD(74), PORT_DATA_IO_PU_PD(75), 442 - PORT_DATA_IO_PU_PD(76), PORT_DATA_IO_PU_PD(77), 443 - PORT_DATA_IO_PU_PD(78), PORT_DATA_IO_PU_PD(79), 444 - 445 - PORT_DATA_IO_PU_PD(80), PORT_DATA_IO_PU_PD(81), 446 - PORT_DATA_IO_PU_PD(82), PORT_DATA_IO_PU_PD(83), 447 - PORT_DATA_IO_PU_PD(84), PORT_DATA_IO_PU_PD(85), 448 - PORT_DATA_IO_PU_PD(86), PORT_DATA_IO_PU_PD(87), 449 - PORT_DATA_IO_PU_PD(88), PORT_DATA_IO_PU_PD(89), 450 - 451 - PORT_DATA_IO_PU_PD(90), PORT_DATA_IO_PU_PD(91), 452 - PORT_DATA_IO_PU_PD(92), PORT_DATA_IO_PU_PD(93), 453 - PORT_DATA_IO_PU_PD(94), PORT_DATA_IO_PU_PD(95), 454 - PORT_DATA_IO_PU(96), PORT_DATA_IO_PU_PD(97), 455 - PORT_DATA_IO_PU_PD(98), PORT_DATA_O(99), /*99?*/ 456 - 457 - PORT_DATA_IO_PD(100), PORT_DATA_IO_PD(101), 458 - PORT_DATA_IO_PD(102), PORT_DATA_IO_PD(103), 459 - PORT_DATA_IO_PD(104), PORT_DATA_IO_PD(105), 460 - PORT_DATA_IO_PU(106), PORT_DATA_IO_PU(107), 461 - PORT_DATA_IO_PU(108), PORT_DATA_IO_PU(109), 462 - 463 - PORT_DATA_IO_PU(110), PORT_DATA_IO_PU(111), 464 - PORT_DATA_IO_PD(112), PORT_DATA_IO_PD(113), 465 - PORT_DATA_IO_PU(114), PORT_DATA_IO_PU(115), 466 - PORT_DATA_IO_PU(116), PORT_DATA_IO_PU(117), 467 - PORT_DATA_IO_PU(118), PORT_DATA_IO_PU(119), 468 - 469 - PORT_DATA_IO_PU(120), PORT_DATA_IO_PD(121), 470 - PORT_DATA_IO_PD(122), PORT_DATA_IO_PD(123), 471 - PORT_DATA_IO_PD(124), PORT_DATA_IO_PD(125), 472 - PORT_DATA_IO_PD(126), PORT_DATA_IO_PD(127), 473 - PORT_DATA_IO_PD(128), PORT_DATA_IO_PU_PD(129), 474 - 475 - PORT_DATA_IO_PU_PD(130), PORT_DATA_IO_PU_PD(131), 476 - PORT_DATA_IO_PU_PD(132), PORT_DATA_IO_PU_PD(133), 477 - PORT_DATA_IO_PU_PD(134), PORT_DATA_IO_PU_PD(135), 478 - PORT_DATA_IO_PD(136), PORT_DATA_IO_PD(137), 479 - PORT_DATA_IO_PD(138), PORT_DATA_IO_PD(139), 480 - 481 - PORT_DATA_IO_PD(140), PORT_DATA_IO_PD(141), 482 - PORT_DATA_IO_PD(142), PORT_DATA_IO_PU_PD(143), 483 - PORT_DATA_IO_PD(144), PORT_DATA_IO_PD(145), 484 - PORT_DATA_IO_PD(146), PORT_DATA_IO_PD(147), 485 - PORT_DATA_IO_PD(148), PORT_DATA_IO_PD(149), 486 - 487 - PORT_DATA_IO_PD(150), PORT_DATA_IO_PD(151), 488 - PORT_DATA_IO_PU_PD(152), PORT_DATA_I_PD(153), 489 - PORT_DATA_IO_PU_PD(154), PORT_DATA_I_PD(155), 490 - PORT_DATA_IO_PD(156), PORT_DATA_IO_PD(157), 491 - PORT_DATA_I_PD(158), PORT_DATA_IO_PD(159), 492 - 493 - PORT_DATA_O(160), PORT_DATA_IO_PD(161), 494 - PORT_DATA_IO_PD(162), PORT_DATA_IO_PD(163), 495 - PORT_DATA_I_PD(164), PORT_DATA_IO_PD(165), 496 - PORT_DATA_I_PD(166), PORT_DATA_I_PD(167), 497 - PORT_DATA_I_PD(168), PORT_DATA_I_PD(169), 498 - 499 - PORT_DATA_I_PD(170), PORT_DATA_O(171), 500 - PORT_DATA_IO_PU_PD(172), PORT_DATA_IO_PU_PD(173), 501 - PORT_DATA_IO_PU_PD(174), PORT_DATA_IO_PU_PD(175), 502 - PORT_DATA_IO_PU_PD(176), PORT_DATA_IO_PU_PD(177), 503 - PORT_DATA_IO_PU_PD(178), PORT_DATA_O(179), 504 - 505 - PORT_DATA_IO_PU_PD(180), PORT_DATA_IO_PU_PD(181), 506 - PORT_DATA_IO_PU_PD(182), PORT_DATA_IO_PU_PD(183), 507 - PORT_DATA_IO_PU_PD(184), PORT_DATA_O(185), 508 - PORT_DATA_IO_PU_PD(186), PORT_DATA_IO_PU_PD(187), 509 - PORT_DATA_IO_PU_PD(188), PORT_DATA_IO_PU_PD(189), 510 - 511 - PORT_DATA_IO_PU_PD(190), 375 + PINMUX_DATA_GP_ALL(), 512 376 513 377 /* IRQ */ 514 378 PINMUX_DATA(IRQ0_6_MARK, PORT6_FN0, MSEL1CR_0_0), ··· 839 929 PINMUX_DATA(MFIv4_MARK, MSEL4CR_6_1), 840 930 }; 841 931 932 + #define SH7372_PIN(pin, cfgs) \ 933 + { \ 934 + .name = __stringify(PORT##pin), \ 935 + .enum_id = PORT##pin##_DATA, \ 936 + .configs = cfgs, \ 937 + } 938 + 939 + #define __I (SH_PFC_PIN_CFG_INPUT) 940 + #define __O (SH_PFC_PIN_CFG_OUTPUT) 941 + #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT) 942 + #define __PD (SH_PFC_PIN_CFG_PULL_DOWN) 943 + #define __PU (SH_PFC_PIN_CFG_PULL_UP) 944 + #define __PUD (SH_PFC_PIN_CFG_PULL_DOWN | SH_PFC_PIN_CFG_PULL_UP) 945 + 946 + #define SH7372_PIN_I_PD(pin) SH7372_PIN(pin, __I | __PD) 947 + #define SH7372_PIN_I_PU(pin) SH7372_PIN(pin, __I | __PU) 948 + #define SH7372_PIN_I_PU_PD(pin) SH7372_PIN(pin, __I | __PUD) 949 + #define SH7372_PIN_IO(pin) SH7372_PIN(pin, __IO) 950 + #define SH7372_PIN_IO_PD(pin) SH7372_PIN(pin, __IO | __PD) 951 + #define SH7372_PIN_IO_PU(pin) SH7372_PIN(pin, __IO | __PU) 952 + #define SH7372_PIN_IO_PU_PD(pin) SH7372_PIN(pin, __IO | __PUD) 953 + #define SH7372_PIN_O(pin) SH7372_PIN(pin, __O) 954 + #define SH7372_PIN_O_PU_PD(pin) SH7372_PIN(pin, __O | __PUD) 955 + 842 956 static struct sh_pfc_pin pinmux_pins[] = { 843 - GPIO_PORT_ALL(), 957 + /* Table 57-1 (I/O and Pull U/D) */ 958 + SH7372_PIN_IO_PD(0), SH7372_PIN_IO_PD(1), 959 + SH7372_PIN_O(2), SH7372_PIN_I_PD(3), 960 + SH7372_PIN_I_PD(4), SH7372_PIN_I_PD(5), 961 + SH7372_PIN_IO_PU_PD(6), SH7372_PIN_I_PD(7), 962 + SH7372_PIN_IO_PD(8), SH7372_PIN_O(9), 963 + SH7372_PIN_O(10), SH7372_PIN_O(11), 964 + SH7372_PIN_IO_PU_PD(12), SH7372_PIN_IO_PD(13), 965 + SH7372_PIN_IO_PD(14), SH7372_PIN_O(15), 966 + SH7372_PIN_IO_PD(16), SH7372_PIN_IO_PD(17), 967 + SH7372_PIN_I_PD(18), SH7372_PIN_IO(19), 968 + SH7372_PIN_IO(20), SH7372_PIN_IO(21), 969 + SH7372_PIN_IO(22), SH7372_PIN_IO(23), 970 + SH7372_PIN_IO(24), SH7372_PIN_IO(25), 971 + SH7372_PIN_IO(26), SH7372_PIN_IO(27), 972 + SH7372_PIN_IO(28), SH7372_PIN_IO(29), 973 + SH7372_PIN_IO(30), SH7372_PIN_IO(31), 974 + SH7372_PIN_IO(32), SH7372_PIN_IO(33), 975 + SH7372_PIN_IO(34), SH7372_PIN_IO(35), 976 + SH7372_PIN_IO(36), SH7372_PIN_IO(37), 977 + SH7372_PIN_IO(38), SH7372_PIN_IO(39), 978 + SH7372_PIN_IO(40), SH7372_PIN_IO(41), 979 + SH7372_PIN_IO(42), SH7372_PIN_IO(43), 980 + SH7372_PIN_IO(44), SH7372_PIN_IO(45), 981 + SH7372_PIN_IO_PU(46), SH7372_PIN_IO_PU(47), 982 + SH7372_PIN_IO_PU(48), SH7372_PIN_IO_PU(49), 983 + SH7372_PIN_IO_PU(50), SH7372_PIN_IO_PU(51), 984 + SH7372_PIN_IO_PU(52), SH7372_PIN_IO_PU(53), 985 + SH7372_PIN_IO_PU(54), SH7372_PIN_IO_PU(55), 986 + SH7372_PIN_IO_PU(56), SH7372_PIN_IO_PU(57), 987 + SH7372_PIN_IO_PU(58), SH7372_PIN_IO_PU(59), 988 + SH7372_PIN_IO_PU(60), SH7372_PIN_IO_PU(61), 989 + SH7372_PIN_IO(62), SH7372_PIN_O(63), 990 + SH7372_PIN_O(64), SH7372_PIN_IO_PU(65), 991 + SH7372_PIN_O_PU_PD(66), SH7372_PIN_IO_PU(67), 992 + SH7372_PIN_O(68), SH7372_PIN_IO(69), 993 + SH7372_PIN_IO(70), SH7372_PIN_IO(71), 994 + SH7372_PIN_O(72), SH7372_PIN_I_PU(73), 995 + SH7372_PIN_I_PU_PD(74), SH7372_PIN_IO_PU_PD(75), 996 + SH7372_PIN_IO_PU_PD(76), SH7372_PIN_IO_PU_PD(77), 997 + SH7372_PIN_IO_PU_PD(78), SH7372_PIN_IO_PU_PD(79), 998 + SH7372_PIN_IO_PU_PD(80), SH7372_PIN_IO_PU_PD(81), 999 + SH7372_PIN_IO_PU_PD(82), SH7372_PIN_IO_PU_PD(83), 1000 + SH7372_PIN_IO_PU_PD(84), SH7372_PIN_IO_PU_PD(85), 1001 + SH7372_PIN_IO_PU_PD(86), SH7372_PIN_IO_PU_PD(87), 1002 + SH7372_PIN_IO_PU_PD(88), SH7372_PIN_IO_PU_PD(89), 1003 + SH7372_PIN_IO_PU_PD(90), SH7372_PIN_IO_PU_PD(91), 1004 + SH7372_PIN_IO_PU_PD(92), SH7372_PIN_IO_PU_PD(93), 1005 + SH7372_PIN_IO_PU_PD(94), SH7372_PIN_IO_PU_PD(95), 1006 + SH7372_PIN_IO_PU(96), SH7372_PIN_IO_PU_PD(97), 1007 + SH7372_PIN_IO_PU_PD(98), SH7372_PIN_O_PU_PD(99), 1008 + SH7372_PIN_IO_PD(100), SH7372_PIN_IO_PD(101), 1009 + SH7372_PIN_IO_PD(102), SH7372_PIN_IO_PD(103), 1010 + SH7372_PIN_IO_PD(104), SH7372_PIN_IO_PD(105), 1011 + SH7372_PIN_IO_PU(106), SH7372_PIN_IO_PU(107), 1012 + SH7372_PIN_IO_PU(108), SH7372_PIN_IO_PU(109), 1013 + SH7372_PIN_IO_PU(110), SH7372_PIN_IO_PU(111), 1014 + SH7372_PIN_IO_PD(112), SH7372_PIN_IO_PD(113), 1015 + SH7372_PIN_IO_PU(114), SH7372_PIN_IO_PU(115), 1016 + SH7372_PIN_IO_PU(116), SH7372_PIN_IO_PU(117), 1017 + SH7372_PIN_IO_PU(118), SH7372_PIN_IO_PU(119), 1018 + SH7372_PIN_IO_PU(120), SH7372_PIN_IO_PD(121), 1019 + SH7372_PIN_IO_PD(122), SH7372_PIN_IO_PD(123), 1020 + SH7372_PIN_IO_PD(124), SH7372_PIN_IO_PD(125), 1021 + SH7372_PIN_IO_PD(126), SH7372_PIN_IO_PD(127), 1022 + SH7372_PIN_IO_PD(128), SH7372_PIN_IO_PU_PD(129), 1023 + SH7372_PIN_IO_PU_PD(130), SH7372_PIN_IO_PU_PD(131), 1024 + SH7372_PIN_IO_PU_PD(132), SH7372_PIN_IO_PU_PD(133), 1025 + SH7372_PIN_IO_PU_PD(134), SH7372_PIN_IO_PU_PD(135), 1026 + SH7372_PIN_IO_PD(136), SH7372_PIN_IO_PD(137), 1027 + SH7372_PIN_IO_PD(138), SH7372_PIN_IO_PD(139), 1028 + SH7372_PIN_IO_PD(140), SH7372_PIN_IO_PD(141), 1029 + SH7372_PIN_IO_PD(142), SH7372_PIN_IO_PU_PD(143), 1030 + SH7372_PIN_IO_PD(144), SH7372_PIN_IO_PD(145), 1031 + SH7372_PIN_IO_PD(146), SH7372_PIN_IO_PD(147), 1032 + SH7372_PIN_IO_PD(148), SH7372_PIN_IO_PD(149), 1033 + SH7372_PIN_IO_PD(150), SH7372_PIN_IO_PD(151), 1034 + SH7372_PIN_IO_PU_PD(152), SH7372_PIN_I_PD(153), 1035 + SH7372_PIN_IO_PU_PD(154), SH7372_PIN_I_PD(155), 1036 + SH7372_PIN_IO_PD(156), SH7372_PIN_IO_PD(157), 1037 + SH7372_PIN_I_PD(158), SH7372_PIN_IO_PD(159), 1038 + SH7372_PIN_O(160), SH7372_PIN_IO_PD(161), 1039 + SH7372_PIN_IO_PD(162), SH7372_PIN_IO_PD(163), 1040 + SH7372_PIN_I_PD(164), SH7372_PIN_IO_PD(165), 1041 + SH7372_PIN_I_PD(166), SH7372_PIN_I_PD(167), 1042 + SH7372_PIN_I_PD(168), SH7372_PIN_I_PD(169), 1043 + SH7372_PIN_I_PD(170), SH7372_PIN_O(171), 1044 + SH7372_PIN_IO_PU_PD(172), SH7372_PIN_IO_PU_PD(173), 1045 + SH7372_PIN_IO_PU_PD(174), SH7372_PIN_IO_PU_PD(175), 1046 + SH7372_PIN_IO_PU_PD(176), SH7372_PIN_IO_PU_PD(177), 1047 + SH7372_PIN_IO_PU_PD(178), SH7372_PIN_O(179), 1048 + SH7372_PIN_IO_PU_PD(180), SH7372_PIN_IO_PU_PD(181), 1049 + SH7372_PIN_IO_PU_PD(182), SH7372_PIN_IO_PU_PD(183), 1050 + SH7372_PIN_IO_PU_PD(184), SH7372_PIN_O(185), 1051 + SH7372_PIN_IO_PU_PD(186), SH7372_PIN_IO_PU_PD(187), 1052 + SH7372_PIN_IO_PU_PD(188), SH7372_PIN_IO_PU_PD(189), 1053 + SH7372_PIN_IO_PU_PD(190), 844 1054 }; 845 1055 1056 + /* - BSC -------------------------------------------------------------------- */ 1057 + static const unsigned int bsc_data8_pins[] = { 1058 + /* D[0:7] */ 1059 + 46, 47, 48, 49, 50, 51, 52, 53, 1060 + }; 1061 + static const unsigned int bsc_data8_mux[] = { 1062 + D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, 1063 + D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, 1064 + }; 1065 + static const unsigned int bsc_data16_pins[] = { 1066 + /* D[0:15] */ 1067 + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 1068 + }; 1069 + static const unsigned int bsc_data16_mux[] = { 1070 + D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, 1071 + D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, 1072 + D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK, 1073 + D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK, 1074 + }; 1075 + static const unsigned int bsc_cs0_pins[] = { 1076 + /* CS */ 1077 + 62, 1078 + }; 1079 + static const unsigned int bsc_cs0_mux[] = { 1080 + CS0_MARK, 1081 + }; 1082 + static const unsigned int bsc_cs2_pins[] = { 1083 + /* CS */ 1084 + 63, 1085 + }; 1086 + static const unsigned int bsc_cs2_mux[] = { 1087 + CS2_MARK, 1088 + }; 1089 + static const unsigned int bsc_cs4_pins[] = { 1090 + /* CS */ 1091 + 64, 1092 + }; 1093 + static const unsigned int bsc_cs4_mux[] = { 1094 + CS4_MARK, 1095 + }; 1096 + static const unsigned int bsc_cs5a_pins[] = { 1097 + /* CS */ 1098 + 65, 1099 + }; 1100 + static const unsigned int bsc_cs5a_mux[] = { 1101 + CS5A_MARK, 1102 + }; 1103 + static const unsigned int bsc_cs5b_pins[] = { 1104 + /* CS */ 1105 + 66, 1106 + }; 1107 + static const unsigned int bsc_cs5b_mux[] = { 1108 + CS5B_MARK, 1109 + }; 1110 + static const unsigned int bsc_cs6a_pins[] = { 1111 + /* CS */ 1112 + 67, 1113 + }; 1114 + static const unsigned int bsc_cs6a_mux[] = { 1115 + CS6A_MARK, 1116 + }; 1117 + static const unsigned int bsc_rd_we8_pins[] = { 1118 + /* RD, WE[0] */ 1119 + 69, 70, 1120 + }; 1121 + static const unsigned int bsc_rd_we8_mux[] = { 1122 + RD_FSC_MARK, WE0_FWE_MARK, 1123 + }; 1124 + static const unsigned int bsc_rd_we16_pins[] = { 1125 + /* RD, WE[0:1] */ 1126 + 69, 70, 71, 1127 + }; 1128 + static const unsigned int bsc_rd_we16_mux[] = { 1129 + RD_FSC_MARK, WE0_FWE_MARK, WE1_MARK, 1130 + }; 1131 + static const unsigned int bsc_bs_pins[] = { 1132 + /* BS */ 1133 + 19, 1134 + }; 1135 + static const unsigned int bsc_bs_mux[] = { 1136 + BS_MARK, 1137 + }; 1138 + static const unsigned int bsc_rdwr_pins[] = { 1139 + /* RDWR */ 1140 + 75, 1141 + }; 1142 + static const unsigned int bsc_rdwr_mux[] = { 1143 + RDWR_MARK, 1144 + }; 1145 + static const unsigned int bsc_wait_pins[] = { 1146 + /* WAIT */ 1147 + 74, 1148 + }; 1149 + static const unsigned int bsc_wait_mux[] = { 1150 + WAIT_MARK, 1151 + }; 1152 + /* - CEU -------------------------------------------------------------------- */ 1153 + static const unsigned int ceu_data_0_7_pins[] = { 1154 + /* D[0:7] */ 1155 + 102, 103, 104, 105, 106, 107, 108, 109, 1156 + }; 1157 + static const unsigned int ceu_data_0_7_mux[] = { 1158 + VIO_D0_MARK, VIO_D1_MARK, VIO_D2_MARK, VIO_D3_MARK, 1159 + VIO_D4_MARK, VIO_D5_MARK, VIO_D6_MARK, VIO_D7_MARK, 1160 + }; 1161 + static const unsigned int ceu_data_8_15_pins[] = { 1162 + /* D[8:15] */ 1163 + 110, 111, 112, 113, 114, 115, 116, 117, 1164 + }; 1165 + static const unsigned int ceu_data_8_15_mux[] = { 1166 + VIO_D8_MARK, VIO_D9_MARK, VIO_D10_MARK, VIO_D11_MARK, 1167 + VIO_D12_MARK, VIO_D13_MARK, VIO_D14_MARK, VIO_D15_MARK, 1168 + }; 1169 + static const unsigned int ceu_clk_0_pins[] = { 1170 + /* CKO */ 1171 + 120, 1172 + }; 1173 + static const unsigned int ceu_clk_0_mux[] = { 1174 + VIO_CKO_MARK, 1175 + }; 1176 + static const unsigned int ceu_clk_1_pins[] = { 1177 + /* CKO */ 1178 + 16, 1179 + }; 1180 + static const unsigned int ceu_clk_1_mux[] = { 1181 + VIO_CKO1_MARK, 1182 + }; 1183 + static const unsigned int ceu_clk_2_pins[] = { 1184 + /* CKO */ 1185 + 17, 1186 + }; 1187 + static const unsigned int ceu_clk_2_mux[] = { 1188 + VIO_CKO2_MARK, 1189 + }; 1190 + static const unsigned int ceu_sync_pins[] = { 1191 + /* CLK, VD, HD */ 1192 + 118, 100, 101, 1193 + }; 1194 + static const unsigned int ceu_sync_mux[] = { 1195 + VIO_CLK_MARK, VIO_VD_MARK, VIO_HD_MARK, 1196 + }; 1197 + static const unsigned int ceu_field_pins[] = { 1198 + /* FIELD */ 1199 + 119, 1200 + }; 1201 + static const unsigned int ceu_field_mux[] = { 1202 + VIO_FIELD_MARK, 1203 + }; 1204 + /* - FLCTL ------------------------------------------------------------------ */ 1205 + static const unsigned int flctl_data_pins[] = { 1206 + /* NAF[0:15] */ 1207 + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 1208 + }; 1209 + static const unsigned int flctl_data_mux[] = { 1210 + D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, 1211 + D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, 1212 + D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK, 1213 + D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK, 1214 + }; 1215 + static const unsigned int flctl_ce0_pins[] = { 1216 + /* CE */ 1217 + 68, 1218 + }; 1219 + static const unsigned int flctl_ce0_mux[] = { 1220 + FCE0_MARK, 1221 + }; 1222 + static const unsigned int flctl_ce1_pins[] = { 1223 + /* CE */ 1224 + 66, 1225 + }; 1226 + static const unsigned int flctl_ce1_mux[] = { 1227 + FCE1_MARK, 1228 + }; 1229 + static const unsigned int flctl_ctrl_pins[] = { 1230 + /* FCDE, FOE, FSC, FWE, FRB */ 1231 + 24, 23, 69, 70, 73, 1232 + }; 1233 + static const unsigned int flctl_ctrl_mux[] = { 1234 + A5_FCDE_MARK, A4_FOE_MARK, RD_FSC_MARK, WE0_FWE_MARK, FRB_MARK, 1235 + }; 1236 + /* - FSIA ------------------------------------------------------------------- */ 1237 + static const unsigned int fsia_mclk_in_pins[] = { 1238 + /* CK */ 1239 + 4, 1240 + }; 1241 + static const unsigned int fsia_mclk_in_mux[] = { 1242 + FSIACK_MARK, 1243 + }; 1244 + static const unsigned int fsia_mclk_out_pins[] = { 1245 + /* OMC */ 1246 + 8, 1247 + }; 1248 + static const unsigned int fsia_mclk_out_mux[] = { 1249 + FSIAOMC_MARK, 1250 + }; 1251 + static const unsigned int fsia_sclk_in_pins[] = { 1252 + /* ILR, IBT */ 1253 + 5, 6, 1254 + }; 1255 + static const unsigned int fsia_sclk_in_mux[] = { 1256 + FSIAILR_MARK, FSIAIBT_MARK, 1257 + }; 1258 + static const unsigned int fsia_sclk_out_pins[] = { 1259 + /* OLR, OBT */ 1260 + 9, 10, 1261 + }; 1262 + static const unsigned int fsia_sclk_out_mux[] = { 1263 + FSIAOLR_MARK, FSIAOBT_MARK, 1264 + }; 1265 + static const unsigned int fsia_data_in_pins[] = { 1266 + /* ISLD */ 1267 + 7, 1268 + }; 1269 + static const unsigned int fsia_data_in_mux[] = { 1270 + FSIAISLD_MARK, 1271 + }; 1272 + static const unsigned int fsia_data_out_pins[] = { 1273 + /* OSLD */ 1274 + 11, 1275 + }; 1276 + static const unsigned int fsia_data_out_mux[] = { 1277 + FSIAOSLD_MARK, 1278 + }; 1279 + static const unsigned int fsia_spdif_0_pins[] = { 1280 + /* SPDIF */ 1281 + 11, 1282 + }; 1283 + static const unsigned int fsia_spdif_0_mux[] = { 1284 + FSIASPDIF_11_MARK, 1285 + }; 1286 + static const unsigned int fsia_spdif_1_pins[] = { 1287 + /* SPDIF */ 1288 + 15, 1289 + }; 1290 + static const unsigned int fsia_spdif_1_mux[] = { 1291 + FSIASPDIF_15_MARK, 1292 + }; 1293 + /* - FSIB ------------------------------------------------------------------- */ 1294 + static const unsigned int fsib_mclk_in_pins[] = { 1295 + /* CK */ 1296 + 4, 1297 + }; 1298 + static const unsigned int fsib_mclk_in_mux[] = { 1299 + FSIBCK_MARK, 1300 + }; 1301 + /* - HDMI ------------------------------------------------------------------- */ 1302 + static const unsigned int hdmi_pins[] = { 1303 + /* HPD, CEC */ 1304 + 169, 170, 1305 + }; 1306 + static const unsigned int hdmi_mux[] = { 1307 + HDMI_HPD_MARK, HDMI_CEC_MARK, 1308 + }; 1309 + /* - INTC ------------------------------------------------------------------- */ 1310 + IRQC_PINS_MUX(0, 6, 162); 1311 + IRQC_PIN_MUX(1, 12); 1312 + IRQC_PINS_MUX(2, 4, 5); 1313 + IRQC_PINS_MUX(3, 8, 16); 1314 + IRQC_PINS_MUX(4, 17, 163); 1315 + IRQC_PIN_MUX(5, 18); 1316 + IRQC_PINS_MUX(6, 39, 164); 1317 + IRQC_PINS_MUX(7, 40, 167); 1318 + IRQC_PINS_MUX(8, 41, 168); 1319 + IRQC_PINS_MUX(9, 42, 169); 1320 + IRQC_PIN_MUX(10, 65); 1321 + IRQC_PIN_MUX(11, 67); 1322 + IRQC_PINS_MUX(12, 80, 137); 1323 + IRQC_PINS_MUX(13, 81, 145); 1324 + IRQC_PINS_MUX(14, 82, 146); 1325 + IRQC_PINS_MUX(15, 83, 147); 1326 + IRQC_PINS_MUX(16, 84, 170); 1327 + IRQC_PIN_MUX(17, 85); 1328 + IRQC_PIN_MUX(18, 86); 1329 + IRQC_PIN_MUX(19, 87); 1330 + IRQC_PIN_MUX(20, 92); 1331 + IRQC_PIN_MUX(21, 93); 1332 + IRQC_PIN_MUX(22, 94); 1333 + IRQC_PIN_MUX(23, 95); 1334 + IRQC_PIN_MUX(24, 112); 1335 + IRQC_PIN_MUX(25, 119); 1336 + IRQC_PINS_MUX(26, 121, 172); 1337 + IRQC_PINS_MUX(27, 122, 180); 1338 + IRQC_PINS_MUX(28, 123, 181); 1339 + IRQC_PINS_MUX(29, 129, 182); 1340 + IRQC_PINS_MUX(30, 130, 183); 1341 + IRQC_PINS_MUX(31, 138, 184); 1342 + /* - KEYSC ------------------------------------------------------------------ */ 1343 + static const unsigned int keysc_in04_0_pins[] = { 1344 + /* KEYIN[0:4] */ 1345 + 136, 135, 134, 133, 132, 1346 + }; 1347 + static const unsigned int keysc_in04_0_mux[] = { 1348 + KEYIN0_136_MARK, KEYIN1_135_MARK, KEYIN2_134_MARK, KEYIN3_133_MARK, 1349 + KEYIN4_MARK, 1350 + }; 1351 + static const unsigned int keysc_in04_1_pins[] = { 1352 + /* KEYIN[0:4] */ 1353 + 121, 122, 123, 124, 132, 1354 + }; 1355 + static const unsigned int keysc_in04_1_mux[] = { 1356 + KEYIN0_121_MARK, KEYIN1_122_MARK, KEYIN2_123_MARK, KEYIN3_124_MARK, 1357 + KEYIN4_MARK, 1358 + }; 1359 + static const unsigned int keysc_in5_pins[] = { 1360 + /* KEYIN5 */ 1361 + 131, 1362 + }; 1363 + static const unsigned int keysc_in5_mux[] = { 1364 + KEYIN5_MARK, 1365 + }; 1366 + static const unsigned int keysc_in6_pins[] = { 1367 + /* KEYIN6 */ 1368 + 130, 1369 + }; 1370 + static const unsigned int keysc_in6_mux[] = { 1371 + KEYIN6_MARK, 1372 + }; 1373 + static const unsigned int keysc_in7_pins[] = { 1374 + /* KEYIN7 */ 1375 + 129, 1376 + }; 1377 + static const unsigned int keysc_in7_mux[] = { 1378 + KEYIN7_MARK, 1379 + }; 1380 + static const unsigned int keysc_out4_pins[] = { 1381 + /* KEYOUT[0:3] */ 1382 + 128, 127, 126, 125, 1383 + }; 1384 + static const unsigned int keysc_out4_mux[] = { 1385 + KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK, 1386 + }; 1387 + static const unsigned int keysc_out5_pins[] = { 1388 + /* KEYOUT[0:4] */ 1389 + 128, 127, 126, 125, 124, 1390 + }; 1391 + static const unsigned int keysc_out5_mux[] = { 1392 + KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK, 1393 + KEYOUT4_MARK, 1394 + }; 1395 + static const unsigned int keysc_out6_pins[] = { 1396 + /* KEYOUT[0:5] */ 1397 + 128, 127, 126, 125, 124, 123, 1398 + }; 1399 + static const unsigned int keysc_out6_mux[] = { 1400 + KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK, 1401 + KEYOUT4_MARK, KEYOUT5_MARK, 1402 + }; 1403 + static const unsigned int keysc_out8_pins[] = { 1404 + /* KEYOUT[0:7] */ 1405 + 128, 127, 126, 125, 124, 123, 122, 121, 1406 + }; 1407 + static const unsigned int keysc_out8_mux[] = { 1408 + KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK, 1409 + KEYOUT4_MARK, KEYOUT5_MARK, KEYOUT6_MARK, KEYOUT7_MARK, 1410 + }; 1411 + /* - LCD -------------------------------------------------------------------- */ 1412 + static const unsigned int lcd_data8_pins[] = { 1413 + /* D[0:7] */ 1414 + 121, 122, 123, 124, 125, 126, 127, 128, 1415 + }; 1416 + static const unsigned int lcd_data8_mux[] = { 1417 + /* LCDC */ 1418 + LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK, 1419 + LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK, 1420 + }; 1421 + static const unsigned int lcd_data9_pins[] = { 1422 + /* D[0:8] */ 1423 + 121, 122, 123, 124, 125, 126, 127, 128, 1424 + 129, 1425 + 137, 138, 139, 140, 141, 142, 143, 144, 1426 + }; 1427 + static const unsigned int lcd_data9_mux[] = { 1428 + LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK, 1429 + LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK, 1430 + LCDD8_MARK, 1431 + }; 1432 + static const unsigned int lcd_data12_pins[] = { 1433 + /* D[0:11] */ 1434 + 121, 122, 123, 124, 125, 126, 127, 128, 1435 + 129, 130, 131, 132, 1436 + }; 1437 + static const unsigned int lcd_data12_mux[] = { 1438 + LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK, 1439 + LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK, 1440 + LCDD8_MARK, LCDD9_MARK, LCDD10_MARK, LCDD11_MARK, 1441 + }; 1442 + static const unsigned int lcd_data16_pins[] = { 1443 + /* D[0:15] */ 1444 + 121, 122, 123, 124, 125, 126, 127, 128, 1445 + 129, 130, 131, 132, 133, 134, 135, 136, 1446 + }; 1447 + static const unsigned int lcd_data16_mux[] = { 1448 + LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK, 1449 + LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK, 1450 + LCDD8_MARK, LCDD9_MARK, LCDD10_MARK, LCDD11_MARK, 1451 + LCDD12_MARK, LCDD13_MARK, LCDD14_MARK, LCDD15_MARK, 1452 + }; 1453 + static const unsigned int lcd_data18_pins[] = { 1454 + /* D[0:17] */ 1455 + 121, 122, 123, 124, 125, 126, 127, 128, 1456 + 129, 130, 131, 132, 133, 134, 135, 136, 1457 + 137, 138, 1458 + }; 1459 + static const unsigned int lcd_data18_mux[] = { 1460 + LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK, 1461 + LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK, 1462 + LCDD8_MARK, LCDD9_MARK, LCDD10_MARK, LCDD11_MARK, 1463 + LCDD12_MARK, LCDD13_MARK, LCDD14_MARK, LCDD15_MARK, 1464 + LCDD16_MARK, LCDD17_MARK, 1465 + }; 1466 + static const unsigned int lcd_data24_pins[] = { 1467 + /* D[0:23] */ 1468 + 121, 122, 123, 124, 125, 126, 127, 128, 1469 + 129, 130, 131, 132, 133, 134, 135, 136, 1470 + 137, 138, 139, 140, 141, 142, 143, 144, 1471 + }; 1472 + static const unsigned int lcd_data24_mux[] = { 1473 + LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK, 1474 + LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK, 1475 + LCDD8_MARK, LCDD9_MARK, LCDD10_MARK, LCDD11_MARK, 1476 + LCDD12_MARK, LCDD13_MARK, LCDD14_MARK, LCDD15_MARK, 1477 + LCDD16_MARK, LCDD17_MARK, LCDD18_MARK, LCDD19_MARK, 1478 + LCDD20_MARK, LCDD21_MARK, LCDD22_MARK, LCDD23_MARK, 1479 + }; 1480 + static const unsigned int lcd_display_pins[] = { 1481 + /* DON */ 1482 + 151, 1483 + }; 1484 + static const unsigned int lcd_display_mux[] = { 1485 + LCDDON_MARK, 1486 + }; 1487 + static const unsigned int lcd_lclk_pins[] = { 1488 + /* LCLK */ 1489 + 150, 1490 + }; 1491 + static const unsigned int lcd_lclk_mux[] = { 1492 + LCDLCLK_MARK, 1493 + }; 1494 + static const unsigned int lcd_sync_pins[] = { 1495 + /* VSYN, HSYN, DCK, DISP */ 1496 + 146, 145, 147, 149, 1497 + }; 1498 + static const unsigned int lcd_sync_mux[] = { 1499 + LCDVSYN_MARK, LCDHSYN_MARK, LCDDCK_MARK, LCDDISP_MARK, 1500 + }; 1501 + static const unsigned int lcd_sys_pins[] = { 1502 + /* CS, WR, RD, RS */ 1503 + 145, 147, 148, 149, 1504 + }; 1505 + static const unsigned int lcd_sys_mux[] = { 1506 + LCDCS_MARK, LCDWR_MARK, LCDRD_MARK, LCDRS_MARK, 1507 + }; 846 1508 /* - MMCIF ------------------------------------------------------------------ */ 847 1509 static const unsigned int mmc0_data1_0_pins[] = { 848 1510 /* D[0] */ ··· 1474 992 }; 1475 993 static const unsigned int mmc0_ctrl_1_mux[] = { 1476 994 MMCCMD1_MARK, MMCCLK1_MARK, 995 + }; 996 + /* - SCIFA0 ----------------------------------------------------------------- */ 997 + static const unsigned int scifa0_data_pins[] = { 998 + /* RXD, TXD */ 999 + 153, 152, 1000 + }; 1001 + static const unsigned int scifa0_data_mux[] = { 1002 + SCIFA0_RXD_MARK, SCIFA0_TXD_MARK, 1003 + }; 1004 + static const unsigned int scifa0_clk_pins[] = { 1005 + /* SCK */ 1006 + 156, 1007 + }; 1008 + static const unsigned int scifa0_clk_mux[] = { 1009 + SCIFA0_SCK_MARK, 1010 + }; 1011 + static const unsigned int scifa0_ctrl_pins[] = { 1012 + /* RTS, CTS */ 1013 + 157, 158, 1014 + }; 1015 + static const unsigned int scifa0_ctrl_mux[] = { 1016 + SCIFA0_RTS_MARK, SCIFA0_CTS_MARK, 1017 + }; 1018 + /* - SCIFA1 ----------------------------------------------------------------- */ 1019 + static const unsigned int scifa1_data_pins[] = { 1020 + /* RXD, TXD */ 1021 + 155, 154, 1022 + }; 1023 + static const unsigned int scifa1_data_mux[] = { 1024 + SCIFA1_RXD_MARK, SCIFA1_TXD_MARK, 1025 + }; 1026 + static const unsigned int scifa1_clk_pins[] = { 1027 + /* SCK */ 1028 + 159, 1029 + }; 1030 + static const unsigned int scifa1_clk_mux[] = { 1031 + SCIFA1_SCK_MARK, 1032 + }; 1033 + static const unsigned int scifa1_ctrl_pins[] = { 1034 + /* RTS, CTS */ 1035 + 160, 161, 1036 + }; 1037 + static const unsigned int scifa1_ctrl_mux[] = { 1038 + SCIFA1_RTS_MARK, SCIFA1_CTS_MARK, 1039 + }; 1040 + /* - SCIFA2 ----------------------------------------------------------------- */ 1041 + static const unsigned int scifa2_data_pins[] = { 1042 + /* RXD, TXD */ 1043 + 97, 96, 1044 + }; 1045 + static const unsigned int scifa2_data_mux[] = { 1046 + SCIFA2_RXD1_MARK, SCIFA2_TXD1_MARK, 1047 + }; 1048 + static const unsigned int scifa2_clk_pins[] = { 1049 + /* SCK */ 1050 + 98, 1051 + }; 1052 + static const unsigned int scifa2_clk_mux[] = { 1053 + SCIFA2_SCK1_MARK, 1054 + }; 1055 + static const unsigned int scifa2_ctrl_pins[] = { 1056 + /* RTS, CTS */ 1057 + 95, 94, 1058 + }; 1059 + static const unsigned int scifa2_ctrl_mux[] = { 1060 + SCIFA2_RTS1_MARK, SCIFA2_CTS1_MARK, 1061 + }; 1062 + /* - SCIFA3 ----------------------------------------------------------------- */ 1063 + static const unsigned int scifa3_data_pins[] = { 1064 + /* RXD, TXD */ 1065 + 144, 143, 1066 + }; 1067 + static const unsigned int scifa3_data_mux[] = { 1068 + SCIFA3_RXD_MARK, SCIFA3_TXD_MARK, 1069 + }; 1070 + static const unsigned int scifa3_clk_pins[] = { 1071 + /* SCK */ 1072 + 142, 1073 + }; 1074 + static const unsigned int scifa3_clk_mux[] = { 1075 + SCIFA3_SCK_MARK, 1076 + }; 1077 + static const unsigned int scifa3_ctrl_0_pins[] = { 1078 + /* RTS, CTS */ 1079 + 44, 43, 1080 + }; 1081 + static const unsigned int scifa3_ctrl_0_mux[] = { 1082 + SCIFA3_RTS_44_MARK, SCIFA3_CTS_43_MARK, 1083 + }; 1084 + static const unsigned int scifa3_ctrl_1_pins[] = { 1085 + /* RTS, CTS */ 1086 + 141, 140, 1087 + }; 1088 + static const unsigned int scifa3_ctrl_1_mux[] = { 1089 + SCIFA3_RTS_141_MARK, SCIFA3_CTS_140_MARK, 1090 + }; 1091 + /* - SCIFA4 ----------------------------------------------------------------- */ 1092 + static const unsigned int scifa4_data_pins[] = { 1093 + /* RXD, TXD */ 1094 + 5, 6, 1095 + }; 1096 + static const unsigned int scifa4_data_mux[] = { 1097 + SCIFA4_RXD_MARK, SCIFA4_TXD_MARK, 1098 + }; 1099 + /* - SCIFA5 ----------------------------------------------------------------- */ 1100 + static const unsigned int scifa5_data_pins[] = { 1101 + /* RXD, TXD */ 1102 + 8, 12, 1103 + }; 1104 + static const unsigned int scifa5_data_mux[] = { 1105 + SCIFA5_RXD_MARK, SCIFA5_TXD_MARK, 1106 + }; 1107 + /* - SCIFB ------------------------------------------------------------------ */ 1108 + static const unsigned int scifb_data_pins[] = { 1109 + /* RXD, TXD */ 1110 + 166, 165, 1111 + }; 1112 + static const unsigned int scifb_data_mux[] = { 1113 + SCIFB_RXD_MARK, SCIFB_TXD_MARK, 1114 + }; 1115 + static const unsigned int scifb_clk_pins[] = { 1116 + /* SCK */ 1117 + 162, 1118 + }; 1119 + static const unsigned int scifb_clk_mux[] = { 1120 + SCIFB_SCK_MARK, 1121 + }; 1122 + static const unsigned int scifb_ctrl_pins[] = { 1123 + /* RTS, CTS */ 1124 + 163, 164, 1125 + }; 1126 + static const unsigned int scifb_ctrl_mux[] = { 1127 + SCIFB_RTS_MARK, SCIFB_CTS_MARK, 1477 1128 }; 1478 1129 /* - SDHI0 ------------------------------------------------------------------ */ 1479 1130 static const unsigned int sdhi0_data1_pins[] = { ··· 1688 1073 static const unsigned int sdhi2_ctrl_mux[] = { 1689 1074 SDHICMD2_MARK, SDHICLK2_MARK, 1690 1075 }; 1076 + /* - USB0 ------------------------------------------------------------------- */ 1077 + static const unsigned int usb0_vbus_pins[] = { 1078 + /* VBUS */ 1079 + 167, 1080 + }; 1081 + static const unsigned int usb0_vbus_mux[] = { 1082 + VBUS0_0_MARK, 1083 + }; 1084 + static const unsigned int usb0_otg_id_pins[] = { 1085 + /* IDIN */ 1086 + 113, 1087 + }; 1088 + static const unsigned int usb0_otg_id_mux[] = { 1089 + IDIN_0_MARK, 1090 + }; 1091 + static const unsigned int usb0_otg_ctrl_pins[] = { 1092 + /* PWEN, EXTLP, OVCN, OVCN2 */ 1093 + 116, 114, 117, 115, 1094 + }; 1095 + static const unsigned int usb0_otg_ctrl_mux[] = { 1096 + PWEN_0_MARK, EXTLP_0_MARK, OVCN_0_MARK, OVCN2_0_MARK, 1097 + }; 1098 + /* - USB1 ------------------------------------------------------------------- */ 1099 + static const unsigned int usb1_vbus_pins[] = { 1100 + /* VBUS */ 1101 + 168, 1102 + }; 1103 + static const unsigned int usb1_vbus_mux[] = { 1104 + VBUS0_1_MARK, 1105 + }; 1106 + static const unsigned int usb1_otg_id_0_pins[] = { 1107 + /* IDIN */ 1108 + 113, 1109 + }; 1110 + static const unsigned int usb1_otg_id_0_mux[] = { 1111 + IDIN_1_113_MARK, 1112 + }; 1113 + static const unsigned int usb1_otg_id_1_pins[] = { 1114 + /* IDIN */ 1115 + 18, 1116 + }; 1117 + static const unsigned int usb1_otg_id_1_mux[] = { 1118 + IDIN_1_18_MARK, 1119 + }; 1120 + static const unsigned int usb1_otg_ctrl_0_pins[] = { 1121 + /* PWEN, EXTLP, OVCN, OVCN2 */ 1122 + 115, 116, 114, 117, 113, 1123 + }; 1124 + static const unsigned int usb1_otg_ctrl_0_mux[] = { 1125 + PWEN_1_115_MARK, EXTLP_1_MARK, OVCN_1_114_MARK, OVCN2_1_MARK, 1126 + }; 1127 + static const unsigned int usb1_otg_ctrl_1_pins[] = { 1128 + /* PWEN, EXTLP, OVCN, OVCN2 */ 1129 + 138, 116, 162, 117, 18, 1130 + }; 1131 + static const unsigned int usb1_otg_ctrl_1_mux[] = { 1132 + PWEN_1_138_MARK, EXTLP_1_MARK, OVCN_1_162_MARK, OVCN2_1_MARK, 1133 + }; 1691 1134 1692 1135 static const struct sh_pfc_pin_group pinmux_groups[] = { 1136 + SH_PFC_PIN_GROUP(bsc_data8), 1137 + SH_PFC_PIN_GROUP(bsc_data16), 1138 + SH_PFC_PIN_GROUP(bsc_cs0), 1139 + SH_PFC_PIN_GROUP(bsc_cs2), 1140 + SH_PFC_PIN_GROUP(bsc_cs4), 1141 + SH_PFC_PIN_GROUP(bsc_cs5a), 1142 + SH_PFC_PIN_GROUP(bsc_cs5b), 1143 + SH_PFC_PIN_GROUP(bsc_cs6a), 1144 + SH_PFC_PIN_GROUP(bsc_rd_we8), 1145 + SH_PFC_PIN_GROUP(bsc_rd_we16), 1146 + SH_PFC_PIN_GROUP(bsc_bs), 1147 + SH_PFC_PIN_GROUP(bsc_rdwr), 1148 + SH_PFC_PIN_GROUP(ceu_data_0_7), 1149 + SH_PFC_PIN_GROUP(ceu_data_8_15), 1150 + SH_PFC_PIN_GROUP(ceu_clk_0), 1151 + SH_PFC_PIN_GROUP(ceu_clk_1), 1152 + SH_PFC_PIN_GROUP(ceu_clk_2), 1153 + SH_PFC_PIN_GROUP(ceu_sync), 1154 + SH_PFC_PIN_GROUP(ceu_field), 1155 + SH_PFC_PIN_GROUP(flctl_data), 1156 + SH_PFC_PIN_GROUP(flctl_ce0), 1157 + SH_PFC_PIN_GROUP(flctl_ce1), 1158 + SH_PFC_PIN_GROUP(flctl_ctrl), 1159 + SH_PFC_PIN_GROUP(fsia_mclk_in), 1160 + SH_PFC_PIN_GROUP(fsia_mclk_out), 1161 + SH_PFC_PIN_GROUP(fsia_sclk_in), 1162 + SH_PFC_PIN_GROUP(fsia_sclk_out), 1163 + SH_PFC_PIN_GROUP(fsia_data_in), 1164 + SH_PFC_PIN_GROUP(fsia_data_out), 1165 + SH_PFC_PIN_GROUP(fsia_spdif_0), 1166 + SH_PFC_PIN_GROUP(fsia_spdif_1), 1167 + SH_PFC_PIN_GROUP(fsib_mclk_in), 1168 + SH_PFC_PIN_GROUP(hdmi), 1169 + SH_PFC_PIN_GROUP(intc_irq0_0), 1170 + SH_PFC_PIN_GROUP(intc_irq0_1), 1171 + SH_PFC_PIN_GROUP(intc_irq1), 1172 + SH_PFC_PIN_GROUP(intc_irq2_0), 1173 + SH_PFC_PIN_GROUP(intc_irq2_1), 1174 + SH_PFC_PIN_GROUP(intc_irq3_0), 1175 + SH_PFC_PIN_GROUP(intc_irq3_1), 1176 + SH_PFC_PIN_GROUP(intc_irq4_0), 1177 + SH_PFC_PIN_GROUP(intc_irq4_1), 1178 + SH_PFC_PIN_GROUP(intc_irq5), 1179 + SH_PFC_PIN_GROUP(intc_irq6_0), 1180 + SH_PFC_PIN_GROUP(intc_irq6_1), 1181 + SH_PFC_PIN_GROUP(intc_irq7_0), 1182 + SH_PFC_PIN_GROUP(intc_irq7_1), 1183 + SH_PFC_PIN_GROUP(intc_irq8_0), 1184 + SH_PFC_PIN_GROUP(intc_irq8_1), 1185 + SH_PFC_PIN_GROUP(intc_irq9_0), 1186 + SH_PFC_PIN_GROUP(intc_irq9_1), 1187 + SH_PFC_PIN_GROUP(intc_irq10), 1188 + SH_PFC_PIN_GROUP(intc_irq11), 1189 + SH_PFC_PIN_GROUP(intc_irq12_0), 1190 + SH_PFC_PIN_GROUP(intc_irq12_1), 1191 + SH_PFC_PIN_GROUP(intc_irq13_0), 1192 + SH_PFC_PIN_GROUP(intc_irq13_1), 1193 + SH_PFC_PIN_GROUP(intc_irq14_0), 1194 + SH_PFC_PIN_GROUP(intc_irq14_1), 1195 + SH_PFC_PIN_GROUP(intc_irq15_0), 1196 + SH_PFC_PIN_GROUP(intc_irq15_1), 1197 + SH_PFC_PIN_GROUP(intc_irq16_0), 1198 + SH_PFC_PIN_GROUP(intc_irq16_1), 1199 + SH_PFC_PIN_GROUP(intc_irq17), 1200 + SH_PFC_PIN_GROUP(intc_irq18), 1201 + SH_PFC_PIN_GROUP(intc_irq19), 1202 + SH_PFC_PIN_GROUP(intc_irq20), 1203 + SH_PFC_PIN_GROUP(intc_irq21), 1204 + SH_PFC_PIN_GROUP(intc_irq22), 1205 + SH_PFC_PIN_GROUP(intc_irq23), 1206 + SH_PFC_PIN_GROUP(intc_irq24), 1207 + SH_PFC_PIN_GROUP(intc_irq25), 1208 + SH_PFC_PIN_GROUP(intc_irq26_0), 1209 + SH_PFC_PIN_GROUP(intc_irq26_1), 1210 + SH_PFC_PIN_GROUP(intc_irq27_0), 1211 + SH_PFC_PIN_GROUP(intc_irq27_1), 1212 + SH_PFC_PIN_GROUP(intc_irq28_0), 1213 + SH_PFC_PIN_GROUP(intc_irq28_1), 1214 + SH_PFC_PIN_GROUP(intc_irq29_0), 1215 + SH_PFC_PIN_GROUP(intc_irq29_1), 1216 + SH_PFC_PIN_GROUP(intc_irq30_0), 1217 + SH_PFC_PIN_GROUP(intc_irq30_1), 1218 + SH_PFC_PIN_GROUP(intc_irq31_0), 1219 + SH_PFC_PIN_GROUP(intc_irq31_1), 1220 + SH_PFC_PIN_GROUP(keysc_in04_0), 1221 + SH_PFC_PIN_GROUP(keysc_in04_1), 1222 + SH_PFC_PIN_GROUP(keysc_in5), 1223 + SH_PFC_PIN_GROUP(keysc_in6), 1224 + SH_PFC_PIN_GROUP(keysc_in7), 1225 + SH_PFC_PIN_GROUP(keysc_out4), 1226 + SH_PFC_PIN_GROUP(keysc_out5), 1227 + SH_PFC_PIN_GROUP(keysc_out6), 1228 + SH_PFC_PIN_GROUP(keysc_out8), 1229 + SH_PFC_PIN_GROUP(lcd_data8), 1230 + SH_PFC_PIN_GROUP(lcd_data9), 1231 + SH_PFC_PIN_GROUP(lcd_data12), 1232 + SH_PFC_PIN_GROUP(lcd_data16), 1233 + SH_PFC_PIN_GROUP(lcd_data18), 1234 + SH_PFC_PIN_GROUP(lcd_data24), 1235 + SH_PFC_PIN_GROUP(lcd_display), 1236 + SH_PFC_PIN_GROUP(lcd_lclk), 1237 + SH_PFC_PIN_GROUP(lcd_sync), 1238 + SH_PFC_PIN_GROUP(lcd_sys), 1693 1239 SH_PFC_PIN_GROUP(mmc0_data1_0), 1694 1240 SH_PFC_PIN_GROUP(mmc0_data4_0), 1695 1241 SH_PFC_PIN_GROUP(mmc0_data8_0), ··· 1859 1083 SH_PFC_PIN_GROUP(mmc0_data4_1), 1860 1084 SH_PFC_PIN_GROUP(mmc0_data8_1), 1861 1085 SH_PFC_PIN_GROUP(mmc0_ctrl_1), 1086 + SH_PFC_PIN_GROUP(scifa0_data), 1087 + SH_PFC_PIN_GROUP(scifa0_clk), 1088 + SH_PFC_PIN_GROUP(scifa0_ctrl), 1089 + SH_PFC_PIN_GROUP(scifa1_data), 1090 + SH_PFC_PIN_GROUP(scifa1_clk), 1091 + SH_PFC_PIN_GROUP(scifa1_ctrl), 1092 + SH_PFC_PIN_GROUP(scifa2_data), 1093 + SH_PFC_PIN_GROUP(scifa2_clk), 1094 + SH_PFC_PIN_GROUP(scifa2_ctrl), 1095 + SH_PFC_PIN_GROUP(scifa3_data), 1096 + SH_PFC_PIN_GROUP(scifa3_clk), 1097 + SH_PFC_PIN_GROUP(scifa3_ctrl_0), 1098 + SH_PFC_PIN_GROUP(scifa3_ctrl_1), 1099 + SH_PFC_PIN_GROUP(scifa4_data), 1100 + SH_PFC_PIN_GROUP(scifa5_data), 1101 + SH_PFC_PIN_GROUP(scifb_data), 1102 + SH_PFC_PIN_GROUP(scifb_clk), 1103 + SH_PFC_PIN_GROUP(scifb_ctrl), 1862 1104 SH_PFC_PIN_GROUP(sdhi0_data1), 1863 1105 SH_PFC_PIN_GROUP(sdhi0_data4), 1864 1106 SH_PFC_PIN_GROUP(sdhi0_ctrl), ··· 1888 1094 SH_PFC_PIN_GROUP(sdhi2_data1), 1889 1095 SH_PFC_PIN_GROUP(sdhi2_data4), 1890 1096 SH_PFC_PIN_GROUP(sdhi2_ctrl), 1097 + SH_PFC_PIN_GROUP(usb0_vbus), 1098 + SH_PFC_PIN_GROUP(usb0_otg_id), 1099 + SH_PFC_PIN_GROUP(usb0_otg_ctrl), 1100 + SH_PFC_PIN_GROUP(usb1_vbus), 1101 + SH_PFC_PIN_GROUP(usb1_otg_id_0), 1102 + SH_PFC_PIN_GROUP(usb1_otg_id_1), 1103 + SH_PFC_PIN_GROUP(usb1_otg_ctrl_0), 1104 + SH_PFC_PIN_GROUP(usb1_otg_ctrl_1), 1105 + }; 1106 + 1107 + static const char * const bsc_groups[] = { 1108 + "bsc_data8", 1109 + "bsc_data16", 1110 + "bsc_cs0", 1111 + "bsc_cs2", 1112 + "bsc_cs4", 1113 + "bsc_cs5a", 1114 + "bsc_cs5b", 1115 + "bsc_cs6a", 1116 + "bsc_rd_we8", 1117 + "bsc_rd_we16", 1118 + "bsc_bs", 1119 + "bsc_rdwr", 1120 + }; 1121 + 1122 + static const char * const ceu_groups[] = { 1123 + "ceu_data_0_7", 1124 + "ceu_data_8_15", 1125 + "ceu_clk_0", 1126 + "ceu_clk_1", 1127 + "ceu_clk_2", 1128 + "ceu_sync", 1129 + "ceu_field", 1130 + }; 1131 + 1132 + static const char * const flctl_groups[] = { 1133 + "flctl_data", 1134 + "flctl_ce0", 1135 + "flctl_ce1", 1136 + "flctl_ctrl", 1137 + }; 1138 + 1139 + static const char * const fsia_groups[] = { 1140 + "fsia_mclk_in", 1141 + "fsia_mclk_out", 1142 + "fsia_sclk_in", 1143 + "fsia_sclk_out", 1144 + "fsia_data_in", 1145 + "fsia_data_out", 1146 + "fsia_spdif_0", 1147 + "fsia_spdif_1", 1148 + }; 1149 + 1150 + static const char * const fsib_groups[] = { 1151 + "fsib_mclk_in", 1152 + }; 1153 + 1154 + static const char * const hdmi_groups[] = { 1155 + "hdmi", 1156 + }; 1157 + 1158 + static const char * const intc_groups[] = { 1159 + "intc_irq0_0", 1160 + "intc_irq0_1", 1161 + "intc_irq1", 1162 + "intc_irq2_0", 1163 + "intc_irq2_1", 1164 + "intc_irq3_0", 1165 + "intc_irq3_1", 1166 + "intc_irq4_0", 1167 + "intc_irq4_1", 1168 + "intc_irq5", 1169 + "intc_irq6_0", 1170 + "intc_irq6_1", 1171 + "intc_irq7_0", 1172 + "intc_irq7_1", 1173 + "intc_irq8_0", 1174 + "intc_irq8_1", 1175 + "intc_irq9_0", 1176 + "intc_irq9_1", 1177 + "intc_irq10", 1178 + "intc_irq11", 1179 + "intc_irq12_0", 1180 + "intc_irq12_1", 1181 + "intc_irq13_0", 1182 + "intc_irq13_1", 1183 + "intc_irq14_0", 1184 + "intc_irq14_1", 1185 + "intc_irq15_0", 1186 + "intc_irq15_1", 1187 + "intc_irq16_0", 1188 + "intc_irq16_1", 1189 + "intc_irq17", 1190 + "intc_irq18", 1191 + "intc_irq19", 1192 + "intc_irq20", 1193 + "intc_irq21", 1194 + "intc_irq22", 1195 + "intc_irq23", 1196 + "intc_irq24", 1197 + "intc_irq25", 1198 + "intc_irq26_0", 1199 + "intc_irq26_1", 1200 + "intc_irq27_0", 1201 + "intc_irq27_1", 1202 + "intc_irq28_0", 1203 + "intc_irq28_1", 1204 + "intc_irq29_0", 1205 + "intc_irq29_1", 1206 + "intc_irq30_0", 1207 + "intc_irq30_1", 1208 + "intc_irq31_0", 1209 + "intc_irq31_1", 1210 + }; 1211 + 1212 + static const char * const keysc_groups[] = { 1213 + "keysc_in04_0", 1214 + "keysc_in04_1", 1215 + "keysc_in5", 1216 + "keysc_in6", 1217 + "keysc_in7", 1218 + "keysc_out4", 1219 + "keysc_out5", 1220 + "keysc_out6", 1221 + "keysc_out8", 1222 + }; 1223 + 1224 + static const char * const lcd_groups[] = { 1225 + "lcd_data8", 1226 + "lcd_data9", 1227 + "lcd_data12", 1228 + "lcd_data16", 1229 + "lcd_data18", 1230 + "lcd_data24", 1231 + "lcd_display", 1232 + "lcd_lclk", 1233 + "lcd_sync", 1234 + "lcd_sys", 1891 1235 }; 1892 1236 1893 1237 static const char * const mmc0_groups[] = { ··· 2037 1105 "mmc0_data4_1", 2038 1106 "mmc0_data8_1", 2039 1107 "mmc0_ctrl_1", 1108 + }; 1109 + 1110 + static const char * const scifa0_groups[] = { 1111 + "scifa0_data", 1112 + "scifa0_clk", 1113 + "scifa0_ctrl", 1114 + }; 1115 + 1116 + static const char * const scifa1_groups[] = { 1117 + "scifa1_data", 1118 + "scifa1_clk", 1119 + "scifa1_ctrl", 1120 + }; 1121 + 1122 + static const char * const scifa2_groups[] = { 1123 + "scifa2_data", 1124 + "scifa2_clk", 1125 + "scifa2_ctrl", 1126 + }; 1127 + 1128 + static const char * const scifa3_groups[] = { 1129 + "scifa3_data", 1130 + "scifa3_clk", 1131 + "scifa3_ctrl_0", 1132 + "scifa3_ctrl_1", 1133 + }; 1134 + 1135 + static const char * const scifa4_groups[] = { 1136 + "scifa4_data", 1137 + }; 1138 + 1139 + static const char * const scifa5_groups[] = { 1140 + "scifa5_data", 1141 + }; 1142 + 1143 + static const char * const scifb_groups[] = { 1144 + "scifb_data", 1145 + "scifb_clk", 1146 + "scifb_ctrl", 2040 1147 }; 2041 1148 2042 1149 static const char * const sdhi0_groups[] = { ··· 2098 1127 "sdhi2_ctrl", 2099 1128 }; 2100 1129 1130 + static const char * const usb0_groups[] = { 1131 + "usb0_vbus", 1132 + "usb0_otg_id", 1133 + "usb0_otg_ctrl", 1134 + }; 1135 + 1136 + static const char * const usb1_groups[] = { 1137 + "usb1_vbus", 1138 + "usb1_otg_id_0", 1139 + "usb1_otg_id_1", 1140 + "usb1_otg_ctrl_0", 1141 + "usb1_otg_ctrl_1", 1142 + }; 1143 + 2101 1144 static const struct sh_pfc_function pinmux_functions[] = { 1145 + SH_PFC_FUNCTION(bsc), 1146 + SH_PFC_FUNCTION(ceu), 1147 + SH_PFC_FUNCTION(flctl), 1148 + SH_PFC_FUNCTION(fsia), 1149 + SH_PFC_FUNCTION(fsib), 1150 + SH_PFC_FUNCTION(hdmi), 1151 + SH_PFC_FUNCTION(intc), 1152 + SH_PFC_FUNCTION(keysc), 1153 + SH_PFC_FUNCTION(lcd), 2102 1154 SH_PFC_FUNCTION(mmc0), 1155 + SH_PFC_FUNCTION(scifa0), 1156 + SH_PFC_FUNCTION(scifa1), 1157 + SH_PFC_FUNCTION(scifa2), 1158 + SH_PFC_FUNCTION(scifa3), 1159 + SH_PFC_FUNCTION(scifa4), 1160 + SH_PFC_FUNCTION(scifa5), 1161 + SH_PFC_FUNCTION(scifb), 2103 1162 SH_PFC_FUNCTION(sdhi0), 2104 1163 SH_PFC_FUNCTION(sdhi1), 2105 1164 SH_PFC_FUNCTION(sdhi2), 1165 + SH_PFC_FUNCTION(usb0), 1166 + SH_PFC_FUNCTION(usb1), 2106 1167 }; 2107 1168 2108 - #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins) 2109 - 2110 - static const struct pinmux_func pinmux_func_gpios[] = { 2111 - /* IRQ */ 2112 - GPIO_FN(IRQ0_6), GPIO_FN(IRQ0_162), GPIO_FN(IRQ1), 2113 - GPIO_FN(IRQ2_4), GPIO_FN(IRQ2_5), GPIO_FN(IRQ3_8), 2114 - GPIO_FN(IRQ3_16), GPIO_FN(IRQ4_17), GPIO_FN(IRQ4_163), 2115 - GPIO_FN(IRQ5), GPIO_FN(IRQ6_39), GPIO_FN(IRQ6_164), 2116 - GPIO_FN(IRQ7_40), GPIO_FN(IRQ7_167), GPIO_FN(IRQ8_41), 2117 - GPIO_FN(IRQ8_168), GPIO_FN(IRQ9_42), GPIO_FN(IRQ9_169), 2118 - GPIO_FN(IRQ10), GPIO_FN(IRQ11), GPIO_FN(IRQ12_80), 2119 - GPIO_FN(IRQ12_137), GPIO_FN(IRQ13_81), GPIO_FN(IRQ13_145), 2120 - GPIO_FN(IRQ14_82), GPIO_FN(IRQ14_146), GPIO_FN(IRQ15_83), 2121 - GPIO_FN(IRQ15_147), GPIO_FN(IRQ16_84), GPIO_FN(IRQ16_170), 2122 - GPIO_FN(IRQ17), GPIO_FN(IRQ18), GPIO_FN(IRQ19), 2123 - GPIO_FN(IRQ20), GPIO_FN(IRQ21), GPIO_FN(IRQ22), 2124 - GPIO_FN(IRQ23), GPIO_FN(IRQ24), GPIO_FN(IRQ25), 2125 - GPIO_FN(IRQ26_121), GPIO_FN(IRQ26_172), GPIO_FN(IRQ27_122), 2126 - GPIO_FN(IRQ27_180), GPIO_FN(IRQ28_123), GPIO_FN(IRQ28_181), 2127 - GPIO_FN(IRQ29_129), GPIO_FN(IRQ29_182), GPIO_FN(IRQ30_130), 2128 - GPIO_FN(IRQ30_183), GPIO_FN(IRQ31_138), GPIO_FN(IRQ31_184), 2129 - 2130 - /* MSIOF0 */ 2131 - GPIO_FN(MSIOF0_TSYNC), GPIO_FN(MSIOF0_TSCK), GPIO_FN(MSIOF0_RXD), 2132 - GPIO_FN(MSIOF0_RSCK), GPIO_FN(MSIOF0_RSYNC), GPIO_FN(MSIOF0_MCK0), 2133 - GPIO_FN(MSIOF0_MCK1), GPIO_FN(MSIOF0_SS1), GPIO_FN(MSIOF0_SS2), 2134 - GPIO_FN(MSIOF0_TXD), 2135 - 2136 - /* MSIOF1 */ 2137 - GPIO_FN(MSIOF1_TSCK_39), GPIO_FN(MSIOF1_TSCK_88), 2138 - GPIO_FN(MSIOF1_TSYNC_40), GPIO_FN(MSIOF1_TSYNC_89), 2139 - GPIO_FN(MSIOF1_TXD_41), GPIO_FN(MSIOF1_TXD_90), 2140 - GPIO_FN(MSIOF1_RXD_42), GPIO_FN(MSIOF1_RXD_91), 2141 - GPIO_FN(MSIOF1_SS1_43), GPIO_FN(MSIOF1_SS1_92), 2142 - GPIO_FN(MSIOF1_SS2_44), GPIO_FN(MSIOF1_SS2_93), 2143 - GPIO_FN(MSIOF1_RSCK), GPIO_FN(MSIOF1_RSYNC), 2144 - GPIO_FN(MSIOF1_MCK0), GPIO_FN(MSIOF1_MCK1), 2145 - 2146 - /* MSIOF2 */ 2147 - GPIO_FN(MSIOF2_RSCK), GPIO_FN(MSIOF2_RSYNC), GPIO_FN(MSIOF2_MCK0), 2148 - GPIO_FN(MSIOF2_MCK1), GPIO_FN(MSIOF2_SS1), GPIO_FN(MSIOF2_SS2), 2149 - GPIO_FN(MSIOF2_TSYNC), GPIO_FN(MSIOF2_TSCK), GPIO_FN(MSIOF2_RXD), 2150 - GPIO_FN(MSIOF2_TXD), 2151 - 2152 - /* BBIF1 */ 2153 - GPIO_FN(BBIF1_RXD), GPIO_FN(BBIF1_TSYNC), GPIO_FN(BBIF1_TSCK), 2154 - GPIO_FN(BBIF1_TXD), GPIO_FN(BBIF1_RSCK), GPIO_FN(BBIF1_RSYNC), 2155 - GPIO_FN(BBIF1_FLOW), GPIO_FN(BB_RX_FLOW_N), 2156 - 2157 - /* BBIF2 */ 2158 - GPIO_FN(BBIF2_TSCK1), GPIO_FN(BBIF2_TSYNC1), 2159 - GPIO_FN(BBIF2_TXD1), GPIO_FN(BBIF2_RXD), 2160 - 2161 - /* FSI */ 2162 - GPIO_FN(FSIACK), GPIO_FN(FSIBCK), GPIO_FN(FSIAILR), 2163 - GPIO_FN(FSIAIBT), GPIO_FN(FSIAISLD), GPIO_FN(FSIAOMC), 2164 - GPIO_FN(FSIAOLR), GPIO_FN(FSIAOBT), GPIO_FN(FSIAOSLD), 2165 - GPIO_FN(FSIASPDIF_11), GPIO_FN(FSIASPDIF_15), 2166 - 2167 - /* FMSI */ 2168 - GPIO_FN(FMSOCK), GPIO_FN(FMSOOLR), GPIO_FN(FMSIOLR), 2169 - GPIO_FN(FMSOOBT), GPIO_FN(FMSIOBT), GPIO_FN(FMSOSLD), 2170 - GPIO_FN(FMSOILR), GPIO_FN(FMSIILR), GPIO_FN(FMSOIBT), 2171 - GPIO_FN(FMSIIBT), GPIO_FN(FMSISLD), GPIO_FN(FMSICK), 2172 - 2173 - /* SCIFA0 */ 2174 - GPIO_FN(SCIFA0_TXD), GPIO_FN(SCIFA0_RXD), GPIO_FN(SCIFA0_SCK), 2175 - GPIO_FN(SCIFA0_RTS), GPIO_FN(SCIFA0_CTS), 2176 - 2177 - /* SCIFA1 */ 2178 - GPIO_FN(SCIFA1_TXD), GPIO_FN(SCIFA1_RXD), GPIO_FN(SCIFA1_SCK), 2179 - GPIO_FN(SCIFA1_RTS), GPIO_FN(SCIFA1_CTS), 2180 - 2181 - /* SCIFA2 */ 2182 - GPIO_FN(SCIFA2_CTS1), GPIO_FN(SCIFA2_RTS1), GPIO_FN(SCIFA2_TXD1), 2183 - GPIO_FN(SCIFA2_RXD1), GPIO_FN(SCIFA2_SCK1), 2184 - 2185 - /* SCIFA3 */ 2186 - GPIO_FN(SCIFA3_CTS_43), GPIO_FN(SCIFA3_CTS_140), 2187 - GPIO_FN(SCIFA3_RTS_44), GPIO_FN(SCIFA3_RTS_141), 2188 - GPIO_FN(SCIFA3_SCK), GPIO_FN(SCIFA3_TXD), 2189 - GPIO_FN(SCIFA3_RXD), 2190 - 2191 - /* SCIFA4 */ 2192 - GPIO_FN(SCIFA4_RXD), GPIO_FN(SCIFA4_TXD), 2193 - 2194 - /* SCIFA5 */ 2195 - GPIO_FN(SCIFA5_RXD), GPIO_FN(SCIFA5_TXD), 2196 - 2197 - /* SCIFB */ 2198 - GPIO_FN(SCIFB_SCK), GPIO_FN(SCIFB_RTS), GPIO_FN(SCIFB_CTS), 2199 - GPIO_FN(SCIFB_TXD), GPIO_FN(SCIFB_RXD), 2200 - 2201 - /* CEU */ 2202 - GPIO_FN(VIO_HD), GPIO_FN(VIO_CKO1), GPIO_FN(VIO_CKO2), 2203 - GPIO_FN(VIO_VD), GPIO_FN(VIO_CLK), GPIO_FN(VIO_FIELD), 2204 - GPIO_FN(VIO_CKO), GPIO_FN(VIO_D0), GPIO_FN(VIO_D1), 2205 - GPIO_FN(VIO_D2), GPIO_FN(VIO_D3), GPIO_FN(VIO_D4), 2206 - GPIO_FN(VIO_D5), GPIO_FN(VIO_D6), GPIO_FN(VIO_D7), 2207 - GPIO_FN(VIO_D8), GPIO_FN(VIO_D9), GPIO_FN(VIO_D10), 2208 - GPIO_FN(VIO_D11), GPIO_FN(VIO_D12), GPIO_FN(VIO_D13), 2209 - GPIO_FN(VIO_D14), GPIO_FN(VIO_D15), 2210 - 2211 - /* USB0 */ 2212 - GPIO_FN(IDIN_0), GPIO_FN(EXTLP_0), GPIO_FN(OVCN2_0), 2213 - GPIO_FN(PWEN_0), GPIO_FN(OVCN_0), GPIO_FN(VBUS0_0), 2214 - 2215 - /* USB1 */ 2216 - GPIO_FN(IDIN_1_18), GPIO_FN(IDIN_1_113), 2217 - GPIO_FN(OVCN_1_114), GPIO_FN(OVCN_1_162), 2218 - GPIO_FN(PWEN_1_115), GPIO_FN(PWEN_1_138), 2219 - GPIO_FN(EXTLP_1), GPIO_FN(OVCN2_1), 2220 - GPIO_FN(VBUS0_1), 2221 - 2222 - /* GPIO */ 2223 - GPIO_FN(GPI0), GPIO_FN(GPI1), GPIO_FN(GPO0), GPIO_FN(GPO1), 2224 - 2225 - /* BSC */ 2226 - GPIO_FN(BS), GPIO_FN(WE1), GPIO_FN(CKO), 2227 - GPIO_FN(WAIT), GPIO_FN(RDWR), 2228 - 2229 - GPIO_FN(A0), GPIO_FN(A1), GPIO_FN(A2), 2230 - GPIO_FN(A3), GPIO_FN(A6), GPIO_FN(A7), 2231 - GPIO_FN(A8), GPIO_FN(A9), GPIO_FN(A10), 2232 - GPIO_FN(A11), GPIO_FN(A12), GPIO_FN(A13), 2233 - GPIO_FN(A14), GPIO_FN(A15), GPIO_FN(A16), 2234 - GPIO_FN(A17), GPIO_FN(A18), GPIO_FN(A19), 2235 - GPIO_FN(A20), GPIO_FN(A21), GPIO_FN(A22), 2236 - GPIO_FN(A23), GPIO_FN(A24), GPIO_FN(A25), 2237 - GPIO_FN(A26), 2238 - 2239 - GPIO_FN(CS0), GPIO_FN(CS2), GPIO_FN(CS4), 2240 - GPIO_FN(CS5A), GPIO_FN(CS5B), GPIO_FN(CS6A), 2241 - 2242 - /* BSC/FLCTL */ 2243 - GPIO_FN(RD_FSC), GPIO_FN(WE0_FWE), GPIO_FN(A4_FOE), 2244 - GPIO_FN(A5_FCDE), GPIO_FN(D0_NAF0), GPIO_FN(D1_NAF1), 2245 - GPIO_FN(D2_NAF2), GPIO_FN(D3_NAF3), GPIO_FN(D4_NAF4), 2246 - GPIO_FN(D5_NAF5), GPIO_FN(D6_NAF6), GPIO_FN(D7_NAF7), 2247 - GPIO_FN(D8_NAF8), GPIO_FN(D9_NAF9), GPIO_FN(D10_NAF10), 2248 - GPIO_FN(D11_NAF11), GPIO_FN(D12_NAF12), GPIO_FN(D13_NAF13), 2249 - GPIO_FN(D14_NAF14), GPIO_FN(D15_NAF15), 2250 - 2251 - /* SPU2 */ 2252 - GPIO_FN(VINT_I), 2253 - 2254 - /* FLCTL */ 2255 - GPIO_FN(FCE1), GPIO_FN(FCE0), GPIO_FN(FRB), 2256 - 2257 - /* HSI */ 2258 - GPIO_FN(GP_RX_FLAG), GPIO_FN(GP_RX_DATA), GPIO_FN(GP_TX_READY), 2259 - GPIO_FN(GP_RX_WAKE), GPIO_FN(MP_TX_FLAG), GPIO_FN(MP_TX_DATA), 2260 - GPIO_FN(MP_RX_READY), GPIO_FN(MP_TX_WAKE), 2261 - 2262 - /* MFI */ 2263 - GPIO_FN(MFIv6), 2264 - GPIO_FN(MFIv4), 2265 - 2266 - GPIO_FN(MEMC_BUSCLK_MEMC_A0), GPIO_FN(MEMC_ADV_MEMC_DREQ0), 2267 - GPIO_FN(MEMC_WAIT_MEMC_DREQ1), GPIO_FN(MEMC_CS1_MEMC_A1), 2268 - GPIO_FN(MEMC_CS0), GPIO_FN(MEMC_NOE), 2269 - GPIO_FN(MEMC_NWE), GPIO_FN(MEMC_INT), 2270 - 2271 - GPIO_FN(MEMC_AD0), GPIO_FN(MEMC_AD1), GPIO_FN(MEMC_AD2), 2272 - GPIO_FN(MEMC_AD3), GPIO_FN(MEMC_AD4), GPIO_FN(MEMC_AD5), 2273 - GPIO_FN(MEMC_AD6), GPIO_FN(MEMC_AD7), GPIO_FN(MEMC_AD8), 2274 - GPIO_FN(MEMC_AD9), GPIO_FN(MEMC_AD10), GPIO_FN(MEMC_AD11), 2275 - GPIO_FN(MEMC_AD12), GPIO_FN(MEMC_AD13), GPIO_FN(MEMC_AD14), 2276 - GPIO_FN(MEMC_AD15), 2277 - 2278 - /* SIM */ 2279 - GPIO_FN(SIM_RST), GPIO_FN(SIM_CLK), GPIO_FN(SIM_D), 2280 - 2281 - /* TPU */ 2282 - GPIO_FN(TPU0TO0), GPIO_FN(TPU0TO1), GPIO_FN(TPU0TO2_93), 2283 - GPIO_FN(TPU0TO2_99), GPIO_FN(TPU0TO3), 2284 - 2285 - /* I2C2 */ 2286 - GPIO_FN(I2C_SCL2), GPIO_FN(I2C_SDA2), 2287 - 2288 - /* I2C3(1) */ 2289 - GPIO_FN(I2C_SCL3), GPIO_FN(I2C_SDA3), 2290 - 2291 - /* I2C3(2) */ 2292 - GPIO_FN(I2C_SCL3S), GPIO_FN(I2C_SDA3S), 2293 - 2294 - /* I2C4(2) */ 2295 - GPIO_FN(I2C_SCL4), GPIO_FN(I2C_SDA4), 2296 - 2297 - /* I2C4(2) */ 2298 - GPIO_FN(I2C_SCL4S), GPIO_FN(I2C_SDA4S), 2299 - 2300 - /* KEYSC */ 2301 - GPIO_FN(KEYOUT0), GPIO_FN(KEYIN0_121), GPIO_FN(KEYIN0_136), 2302 - GPIO_FN(KEYOUT1), GPIO_FN(KEYIN1_122), GPIO_FN(KEYIN1_135), 2303 - GPIO_FN(KEYOUT2), GPIO_FN(KEYIN2_123), GPIO_FN(KEYIN2_134), 2304 - GPIO_FN(KEYOUT3), GPIO_FN(KEYIN3_124), GPIO_FN(KEYIN3_133), 2305 - GPIO_FN(KEYOUT4), GPIO_FN(KEYIN4), GPIO_FN(KEYOUT5), 2306 - GPIO_FN(KEYIN5), GPIO_FN(KEYOUT6), GPIO_FN(KEYIN6), 2307 - GPIO_FN(KEYOUT7), GPIO_FN(KEYIN7), 2308 - 2309 - /* LCDC */ 2310 - GPIO_FN(LCDHSYN), GPIO_FN(LCDCS), GPIO_FN(LCDVSYN), 2311 - GPIO_FN(LCDDCK), GPIO_FN(LCDWR), GPIO_FN(LCDRD), 2312 - GPIO_FN(LCDDISP), GPIO_FN(LCDRS), GPIO_FN(LCDLCLK), 2313 - GPIO_FN(LCDDON), 2314 - 2315 - GPIO_FN(LCDD0), GPIO_FN(LCDD1), GPIO_FN(LCDD2), 2316 - GPIO_FN(LCDD3), GPIO_FN(LCDD4), GPIO_FN(LCDD5), 2317 - GPIO_FN(LCDD6), GPIO_FN(LCDD7), GPIO_FN(LCDD8), 2318 - GPIO_FN(LCDD9), GPIO_FN(LCDD10), GPIO_FN(LCDD11), 2319 - GPIO_FN(LCDD12), GPIO_FN(LCDD13), GPIO_FN(LCDD14), 2320 - GPIO_FN(LCDD15), GPIO_FN(LCDD16), GPIO_FN(LCDD17), 2321 - GPIO_FN(LCDD18), GPIO_FN(LCDD19), GPIO_FN(LCDD20), 2322 - GPIO_FN(LCDD21), GPIO_FN(LCDD22), GPIO_FN(LCDD23), 2323 - 2324 - GPIO_FN(LCDC0_SELECT), 2325 - GPIO_FN(LCDC1_SELECT), 2326 - 2327 - /* IRDA */ 2328 - GPIO_FN(IRDA_OUT), GPIO_FN(IRDA_IN), GPIO_FN(IRDA_FIRSEL), 2329 - GPIO_FN(IROUT_139), GPIO_FN(IROUT_140), 2330 - 2331 - /* TSIF1 */ 2332 - GPIO_FN(TS0_1SELECT), 2333 - GPIO_FN(TS0_2SELECT), 2334 - GPIO_FN(TS1_1SELECT), 2335 - GPIO_FN(TS1_2SELECT), 2336 - 2337 - GPIO_FN(TS_SPSYNC1), GPIO_FN(TS_SDAT1), 2338 - GPIO_FN(TS_SDEN1), GPIO_FN(TS_SCK1), 2339 - 2340 - /* TSIF2 */ 2341 - GPIO_FN(TS_SPSYNC2), GPIO_FN(TS_SDAT2), 2342 - GPIO_FN(TS_SDEN2), GPIO_FN(TS_SCK2), 2343 - 2344 - /* HDMI */ 2345 - GPIO_FN(HDMI_HPD), GPIO_FN(HDMI_CEC), 2346 - 2347 - /* SDENC */ 2348 - GPIO_FN(SDENC_CPG), 2349 - GPIO_FN(SDENC_DV_CLKI), 2350 - }; 1169 + #undef PORTCR 1170 + #define PORTCR(nr, reg) \ 1171 + { \ 1172 + PINMUX_CFG_REG("PORT" nr "CR", reg, 8, 4) { \ 1173 + _PCRH(PORT##nr##_IN, 0, 0, PORT##nr##_OUT), \ 1174 + PORT##nr##_FN0, PORT##nr##_FN1, \ 1175 + PORT##nr##_FN2, PORT##nr##_FN3, \ 1176 + PORT##nr##_FN4, PORT##nr##_FN5, \ 1177 + PORT##nr##_FN6, PORT##nr##_FN7 } \ 1178 + } 2351 1179 2352 1180 static const struct pinmux_cfg_reg pinmux_config_regs[] = { 2353 1181 PORTCR(0, 0xE6051000), /* PORT0CR */ ··· 2546 1776 #define EXT_IRQ16L(n) evt2irq(0x200 + ((n) << 5)) 2547 1777 #define EXT_IRQ16H(n) evt2irq(0x3200 + (((n) - 16) << 5)) 2548 1778 static const struct pinmux_irq pinmux_irqs[] = { 2549 - PINMUX_IRQ(EXT_IRQ16L(0), GPIO_PORT6, GPIO_PORT162), 2550 - PINMUX_IRQ(EXT_IRQ16L(1), GPIO_PORT12), 2551 - PINMUX_IRQ(EXT_IRQ16L(2), GPIO_PORT4, GPIO_PORT5), 2552 - PINMUX_IRQ(EXT_IRQ16L(3), GPIO_PORT8, GPIO_PORT16), 2553 - PINMUX_IRQ(EXT_IRQ16L(4), GPIO_PORT17, GPIO_PORT163), 2554 - PINMUX_IRQ(EXT_IRQ16L(5), GPIO_PORT18), 2555 - PINMUX_IRQ(EXT_IRQ16L(6), GPIO_PORT39, GPIO_PORT164), 2556 - PINMUX_IRQ(EXT_IRQ16L(7), GPIO_PORT40, GPIO_PORT167), 2557 - PINMUX_IRQ(EXT_IRQ16L(8), GPIO_PORT41, GPIO_PORT168), 2558 - PINMUX_IRQ(EXT_IRQ16L(9), GPIO_PORT42, GPIO_PORT169), 2559 - PINMUX_IRQ(EXT_IRQ16L(10), GPIO_PORT65), 2560 - PINMUX_IRQ(EXT_IRQ16L(11), GPIO_PORT67), 2561 - PINMUX_IRQ(EXT_IRQ16L(12), GPIO_PORT80, GPIO_PORT137), 2562 - PINMUX_IRQ(EXT_IRQ16L(13), GPIO_PORT81, GPIO_PORT145), 2563 - PINMUX_IRQ(EXT_IRQ16L(14), GPIO_PORT82, GPIO_PORT146), 2564 - PINMUX_IRQ(EXT_IRQ16L(15), GPIO_PORT83, GPIO_PORT147), 2565 - PINMUX_IRQ(EXT_IRQ16H(16), GPIO_PORT84, GPIO_PORT170), 2566 - PINMUX_IRQ(EXT_IRQ16H(17), GPIO_PORT85), 2567 - PINMUX_IRQ(EXT_IRQ16H(18), GPIO_PORT86), 2568 - PINMUX_IRQ(EXT_IRQ16H(19), GPIO_PORT87), 2569 - PINMUX_IRQ(EXT_IRQ16H(20), GPIO_PORT92), 2570 - PINMUX_IRQ(EXT_IRQ16H(21), GPIO_PORT93), 2571 - PINMUX_IRQ(EXT_IRQ16H(22), GPIO_PORT94), 2572 - PINMUX_IRQ(EXT_IRQ16H(23), GPIO_PORT95), 2573 - PINMUX_IRQ(EXT_IRQ16H(24), GPIO_PORT112), 2574 - PINMUX_IRQ(EXT_IRQ16H(25), GPIO_PORT119), 2575 - PINMUX_IRQ(EXT_IRQ16H(26), GPIO_PORT121, GPIO_PORT172), 2576 - PINMUX_IRQ(EXT_IRQ16H(27), GPIO_PORT122, GPIO_PORT180), 2577 - PINMUX_IRQ(EXT_IRQ16H(28), GPIO_PORT123, GPIO_PORT181), 2578 - PINMUX_IRQ(EXT_IRQ16H(29), GPIO_PORT129, GPIO_PORT182), 2579 - PINMUX_IRQ(EXT_IRQ16H(30), GPIO_PORT130, GPIO_PORT183), 2580 - PINMUX_IRQ(EXT_IRQ16H(31), GPIO_PORT138, GPIO_PORT184), 1779 + PINMUX_IRQ(EXT_IRQ16L(0), 6, 162), 1780 + PINMUX_IRQ(EXT_IRQ16L(1), 12), 1781 + PINMUX_IRQ(EXT_IRQ16L(2), 4, 5), 1782 + PINMUX_IRQ(EXT_IRQ16L(3), 8, 16), 1783 + PINMUX_IRQ(EXT_IRQ16L(4), 17, 163), 1784 + PINMUX_IRQ(EXT_IRQ16L(5), 18), 1785 + PINMUX_IRQ(EXT_IRQ16L(6), 39, 164), 1786 + PINMUX_IRQ(EXT_IRQ16L(7), 40, 167), 1787 + PINMUX_IRQ(EXT_IRQ16L(8), 41, 168), 1788 + PINMUX_IRQ(EXT_IRQ16L(9), 42, 169), 1789 + PINMUX_IRQ(EXT_IRQ16L(10), 65), 1790 + PINMUX_IRQ(EXT_IRQ16L(11), 67), 1791 + PINMUX_IRQ(EXT_IRQ16L(12), 80, 137), 1792 + PINMUX_IRQ(EXT_IRQ16L(13), 81, 145), 1793 + PINMUX_IRQ(EXT_IRQ16L(14), 82, 146), 1794 + PINMUX_IRQ(EXT_IRQ16L(15), 83, 147), 1795 + PINMUX_IRQ(EXT_IRQ16H(16), 84, 170), 1796 + PINMUX_IRQ(EXT_IRQ16H(17), 85), 1797 + PINMUX_IRQ(EXT_IRQ16H(18), 86), 1798 + PINMUX_IRQ(EXT_IRQ16H(19), 87), 1799 + PINMUX_IRQ(EXT_IRQ16H(20), 92), 1800 + PINMUX_IRQ(EXT_IRQ16H(21), 93), 1801 + PINMUX_IRQ(EXT_IRQ16H(22), 94), 1802 + PINMUX_IRQ(EXT_IRQ16H(23), 95), 1803 + PINMUX_IRQ(EXT_IRQ16H(24), 112), 1804 + PINMUX_IRQ(EXT_IRQ16H(25), 119), 1805 + PINMUX_IRQ(EXT_IRQ16H(26), 121, 172), 1806 + PINMUX_IRQ(EXT_IRQ16H(27), 122, 180), 1807 + PINMUX_IRQ(EXT_IRQ16H(28), 123, 181), 1808 + PINMUX_IRQ(EXT_IRQ16H(29), 129, 182), 1809 + PINMUX_IRQ(EXT_IRQ16H(30), 130, 183), 1810 + PINMUX_IRQ(EXT_IRQ16H(31), 138, 184), 1811 + }; 1812 + 1813 + #define PORTnCR_PULMD_OFF (0 << 6) 1814 + #define PORTnCR_PULMD_DOWN (2 << 6) 1815 + #define PORTnCR_PULMD_UP (3 << 6) 1816 + #define PORTnCR_PULMD_MASK (3 << 6) 1817 + 1818 + struct sh7372_portcr_group { 1819 + unsigned int end_pin; 1820 + unsigned int offset; 1821 + }; 1822 + 1823 + static const struct sh7372_portcr_group sh7372_portcr_offsets[] = { 1824 + { 45, 0x1000 }, { 75, 0x2000 }, { 99, 0x0000 }, { 120, 0x3000 }, 1825 + { 151, 0x0000 }, { 155, 0x3000 }, { 166, 0x0000 }, { 190, 0x2000 }, 1826 + }; 1827 + 1828 + static void __iomem *sh7372_pinmux_portcr(struct sh_pfc *pfc, unsigned int pin) 1829 + { 1830 + unsigned int i; 1831 + 1832 + for (i = 0; i < ARRAY_SIZE(sh7372_portcr_offsets); ++i) { 1833 + const struct sh7372_portcr_group *group = 1834 + &sh7372_portcr_offsets[i]; 1835 + 1836 + if (i <= group->end_pin) 1837 + return pfc->window->virt + group->offset + pin; 1838 + } 1839 + 1840 + return NULL; 1841 + } 1842 + 1843 + static unsigned int sh7372_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin) 1844 + { 1845 + void __iomem *addr = sh7372_pinmux_portcr(pfc, pin); 1846 + u32 value = ioread8(addr) & PORTnCR_PULMD_MASK; 1847 + 1848 + switch (value) { 1849 + case PORTnCR_PULMD_UP: 1850 + return PIN_CONFIG_BIAS_PULL_UP; 1851 + case PORTnCR_PULMD_DOWN: 1852 + return PIN_CONFIG_BIAS_PULL_DOWN; 1853 + case PORTnCR_PULMD_OFF: 1854 + default: 1855 + return PIN_CONFIG_BIAS_DISABLE; 1856 + } 1857 + } 1858 + 1859 + static void sh7372_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin, 1860 + unsigned int bias) 1861 + { 1862 + void __iomem *addr = sh7372_pinmux_portcr(pfc, pin); 1863 + u32 value = ioread8(addr) & ~PORTnCR_PULMD_MASK; 1864 + 1865 + switch (bias) { 1866 + case PIN_CONFIG_BIAS_PULL_UP: 1867 + value |= PORTnCR_PULMD_UP; 1868 + break; 1869 + case PIN_CONFIG_BIAS_PULL_DOWN: 1870 + value |= PORTnCR_PULMD_DOWN; 1871 + break; 1872 + } 1873 + 1874 + iowrite8(value, addr); 1875 + } 1876 + 1877 + static const struct sh_pfc_soc_operations sh7372_pinmux_ops = { 1878 + .get_bias = sh7372_pinmux_get_bias, 1879 + .set_bias = sh7372_pinmux_set_bias, 2581 1880 }; 2582 1881 2583 1882 const struct sh_pfc_soc_info sh7372_pinmux_info = { 2584 1883 .name = "sh7372_pfc", 1884 + .ops = &sh7372_pinmux_ops, 1885 + 2585 1886 .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END }, 2586 - .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END }, 2587 - .input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN, PINMUX_INPUT_PULLDOWN_END }, 2588 1887 .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END }, 2589 1888 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 2590 1889 ··· 2663 1824 .nr_groups = ARRAY_SIZE(pinmux_groups), 2664 1825 .functions = pinmux_functions, 2665 1826 .nr_functions = ARRAY_SIZE(pinmux_functions), 2666 - 2667 - .func_gpios = pinmux_func_gpios, 2668 - .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios), 2669 1827 2670 1828 .cfg_regs = pinmux_config_regs, 2671 1829 .data_regs = pinmux_data_regs,
+347 -395
drivers/pinctrl/sh-pfc/pfc-sh73a0.c
··· 20 20 */ 21 21 #include <linux/io.h> 22 22 #include <linux/kernel.h> 23 + #include <linux/module.h> 23 24 #include <linux/pinctrl/pinconf-generic.h> 25 + #include <linux/regulator/driver.h> 26 + #include <linux/regulator/machine.h> 27 + #include <linux/slab.h> 24 28 25 - #include <mach/sh73a0.h> 26 29 #include <mach/irqs.h> 27 30 28 31 #include "core.h" ··· 2541 2538 static const unsigned int sdhi2_ctrl_mux[] = { 2542 2539 SDHICMD2_MARK, SDHICLK2_MARK, 2543 2540 }; 2541 + /* - TPU0 ------------------------------------------------------------------- */ 2542 + static const unsigned int tpu0_to0_pins[] = { 2543 + /* TO */ 2544 + 55, 2545 + }; 2546 + static const unsigned int tpu0_to0_mux[] = { 2547 + TPU0TO0_MARK, 2548 + }; 2549 + static const unsigned int tpu0_to1_pins[] = { 2550 + /* TO */ 2551 + 59, 2552 + }; 2553 + static const unsigned int tpu0_to1_mux[] = { 2554 + TPU0TO1_MARK, 2555 + }; 2556 + static const unsigned int tpu0_to2_pins[] = { 2557 + /* TO */ 2558 + 140, 2559 + }; 2560 + static const unsigned int tpu0_to2_mux[] = { 2561 + TPU0TO2_MARK, 2562 + }; 2563 + static const unsigned int tpu0_to3_pins[] = { 2564 + /* TO */ 2565 + 141, 2566 + }; 2567 + static const unsigned int tpu0_to3_mux[] = { 2568 + TPU0TO3_MARK, 2569 + }; 2570 + /* - TPU1 ------------------------------------------------------------------- */ 2571 + static const unsigned int tpu1_to0_pins[] = { 2572 + /* TO */ 2573 + 246, 2574 + }; 2575 + static const unsigned int tpu1_to0_mux[] = { 2576 + TPU1TO0_MARK, 2577 + }; 2578 + static const unsigned int tpu1_to1_0_pins[] = { 2579 + /* TO */ 2580 + 28, 2581 + }; 2582 + static const unsigned int tpu1_to1_0_mux[] = { 2583 + PORT28_TPU1TO1_MARK, 2584 + }; 2585 + static const unsigned int tpu1_to1_1_pins[] = { 2586 + /* TO */ 2587 + 29, 2588 + }; 2589 + static const unsigned int tpu1_to1_1_mux[] = { 2590 + PORT29_TPU1TO1_MARK, 2591 + }; 2592 + static const unsigned int tpu1_to2_pins[] = { 2593 + /* TO */ 2594 + 153, 2595 + }; 2596 + static const unsigned int tpu1_to2_mux[] = { 2597 + TPU1TO2_MARK, 2598 + }; 2599 + static const unsigned int tpu1_to3_pins[] = { 2600 + /* TO */ 2601 + 145, 2602 + }; 2603 + static const unsigned int tpu1_to3_mux[] = { 2604 + TPU1TO3_MARK, 2605 + }; 2606 + /* - TPU2 ------------------------------------------------------------------- */ 2607 + static const unsigned int tpu2_to0_pins[] = { 2608 + /* TO */ 2609 + 248, 2610 + }; 2611 + static const unsigned int tpu2_to0_mux[] = { 2612 + TPU2TO0_MARK, 2613 + }; 2614 + static const unsigned int tpu2_to1_pins[] = { 2615 + /* TO */ 2616 + 197, 2617 + }; 2618 + static const unsigned int tpu2_to1_mux[] = { 2619 + TPU2TO1_MARK, 2620 + }; 2621 + static const unsigned int tpu2_to2_pins[] = { 2622 + /* TO */ 2623 + 50, 2624 + }; 2625 + static const unsigned int tpu2_to2_mux[] = { 2626 + TPU2TO2_MARK, 2627 + }; 2628 + static const unsigned int tpu2_to3_pins[] = { 2629 + /* TO */ 2630 + 51, 2631 + }; 2632 + static const unsigned int tpu2_to3_mux[] = { 2633 + TPU2TO3_MARK, 2634 + }; 2635 + /* - TPU3 ------------------------------------------------------------------- */ 2636 + static const unsigned int tpu3_to0_pins[] = { 2637 + /* TO */ 2638 + 163, 2639 + }; 2640 + static const unsigned int tpu3_to0_mux[] = { 2641 + TPU3TO0_MARK, 2642 + }; 2643 + static const unsigned int tpu3_to1_pins[] = { 2644 + /* TO */ 2645 + 247, 2646 + }; 2647 + static const unsigned int tpu3_to1_mux[] = { 2648 + TPU3TO1_MARK, 2649 + }; 2650 + static const unsigned int tpu3_to2_pins[] = { 2651 + /* TO */ 2652 + 54, 2653 + }; 2654 + static const unsigned int tpu3_to2_mux[] = { 2655 + TPU3TO2_MARK, 2656 + }; 2657 + static const unsigned int tpu3_to3_pins[] = { 2658 + /* TO */ 2659 + 53, 2660 + }; 2661 + static const unsigned int tpu3_to3_mux[] = { 2662 + TPU3TO3_MARK, 2663 + }; 2664 + /* - TPU4 ------------------------------------------------------------------- */ 2665 + static const unsigned int tpu4_to0_pins[] = { 2666 + /* TO */ 2667 + 241, 2668 + }; 2669 + static const unsigned int tpu4_to0_mux[] = { 2670 + TPU4TO0_MARK, 2671 + }; 2672 + static const unsigned int tpu4_to1_pins[] = { 2673 + /* TO */ 2674 + 199, 2675 + }; 2676 + static const unsigned int tpu4_to1_mux[] = { 2677 + TPU4TO1_MARK, 2678 + }; 2679 + static const unsigned int tpu4_to2_pins[] = { 2680 + /* TO */ 2681 + 58, 2682 + }; 2683 + static const unsigned int tpu4_to2_mux[] = { 2684 + TPU4TO2_MARK, 2685 + }; 2686 + static const unsigned int tpu4_to3_pins[] = { 2687 + /* TO */ 2688 + }; 2689 + static const unsigned int tpu4_to3_mux[] = { 2690 + TPU4TO3_MARK, 2691 + }; 2544 2692 /* - USB -------------------------------------------------------------------- */ 2545 2693 static const unsigned int usb_vbus_pins[] = { 2546 2694 /* VBUS */ ··· 2843 2689 SH_PFC_PIN_GROUP(sdhi2_data1), 2844 2690 SH_PFC_PIN_GROUP(sdhi2_data4), 2845 2691 SH_PFC_PIN_GROUP(sdhi2_ctrl), 2692 + SH_PFC_PIN_GROUP(tpu0_to0), 2693 + SH_PFC_PIN_GROUP(tpu0_to1), 2694 + SH_PFC_PIN_GROUP(tpu0_to2), 2695 + SH_PFC_PIN_GROUP(tpu0_to3), 2696 + SH_PFC_PIN_GROUP(tpu1_to0), 2697 + SH_PFC_PIN_GROUP(tpu1_to1_0), 2698 + SH_PFC_PIN_GROUP(tpu1_to1_1), 2699 + SH_PFC_PIN_GROUP(tpu1_to2), 2700 + SH_PFC_PIN_GROUP(tpu1_to3), 2701 + SH_PFC_PIN_GROUP(tpu2_to0), 2702 + SH_PFC_PIN_GROUP(tpu2_to1), 2703 + SH_PFC_PIN_GROUP(tpu2_to2), 2704 + SH_PFC_PIN_GROUP(tpu2_to3), 2705 + SH_PFC_PIN_GROUP(tpu3_to0), 2706 + SH_PFC_PIN_GROUP(tpu3_to1), 2707 + SH_PFC_PIN_GROUP(tpu3_to2), 2708 + SH_PFC_PIN_GROUP(tpu3_to3), 2709 + SH_PFC_PIN_GROUP(tpu4_to0), 2710 + SH_PFC_PIN_GROUP(tpu4_to1), 2711 + SH_PFC_PIN_GROUP(tpu4_to2), 2712 + SH_PFC_PIN_GROUP(tpu4_to3), 2846 2713 SH_PFC_PIN_GROUP(usb_vbus), 2847 2714 }; 2848 2715 ··· 3083 2908 "usb_vbus", 3084 2909 }; 3085 2910 2911 + static const char * const tpu0_groups[] = { 2912 + "tpu0_to0", 2913 + "tpu0_to1", 2914 + "tpu0_to2", 2915 + "tpu0_to3", 2916 + }; 2917 + 2918 + static const char * const tpu1_groups[] = { 2919 + "tpu1_to0", 2920 + "tpu1_to1_0", 2921 + "tpu1_to1_1", 2922 + "tpu1_to2", 2923 + "tpu1_to3", 2924 + }; 2925 + 2926 + static const char * const tpu2_groups[] = { 2927 + "tpu2_to0", 2928 + "tpu2_to1", 2929 + "tpu2_to2", 2930 + "tpu2_to3", 2931 + }; 2932 + 2933 + static const char * const tpu3_groups[] = { 2934 + "tpu3_to0", 2935 + "tpu3_to1", 2936 + "tpu3_to2", 2937 + "tpu3_to3", 2938 + }; 2939 + 2940 + static const char * const tpu4_groups[] = { 2941 + "tpu4_to0", 2942 + "tpu4_to1", 2943 + "tpu4_to2", 2944 + "tpu4_to3", 2945 + }; 2946 + 3086 2947 static const struct sh_pfc_function pinmux_functions[] = { 3087 2948 SH_PFC_FUNCTION(bsc), 3088 2949 SH_PFC_FUNCTION(fsia), ··· 3144 2933 SH_PFC_FUNCTION(sdhi0), 3145 2934 SH_PFC_FUNCTION(sdhi1), 3146 2935 SH_PFC_FUNCTION(sdhi2), 2936 + SH_PFC_FUNCTION(tpu0), 2937 + SH_PFC_FUNCTION(tpu1), 2938 + SH_PFC_FUNCTION(tpu2), 2939 + SH_PFC_FUNCTION(tpu3), 2940 + SH_PFC_FUNCTION(tpu4), 3147 2941 SH_PFC_FUNCTION(usb), 3148 - }; 3149 - 3150 - #define PINMUX_FN_BASE GPIO_FN_GPI0 3151 - 3152 - static const struct pinmux_func pinmux_func_gpios[] = { 3153 - /* Table 25-1 (Functions 0-7) */ 3154 - GPIO_FN(GPI0), 3155 - GPIO_FN(GPI1), 3156 - GPIO_FN(GPI2), 3157 - GPIO_FN(GPI3), 3158 - GPIO_FN(GPI4), 3159 - GPIO_FN(GPI5), 3160 - GPIO_FN(GPI6), 3161 - GPIO_FN(GPI7), 3162 - GPIO_FN(GPO7), \ 3163 - GPIO_FN(MFG0_OUT2), 3164 - GPIO_FN(GPO6), \ 3165 - GPIO_FN(MFG1_OUT2), 3166 - GPIO_FN(GPO5), \ 3167 - GPIO_FN(PORT16_VIO_CKOR), 3168 - GPIO_FN(PORT19_VIO_CKO2), 3169 - GPIO_FN(GPO0), 3170 - GPIO_FN(GPO1), 3171 - GPIO_FN(GPO2), \ 3172 - GPIO_FN(STATUS0), 3173 - GPIO_FN(GPO3), \ 3174 - GPIO_FN(STATUS1), 3175 - GPIO_FN(GPO4), \ 3176 - GPIO_FN(STATUS2), 3177 - GPIO_FN(VINT), 3178 - GPIO_FN(TCKON), 3179 - GPIO_FN(XDVFS1), \ 3180 - GPIO_FN(MFG0_OUT1), \ 3181 - GPIO_FN(PORT27_IROUT), 3182 - GPIO_FN(XDVFS2), \ 3183 - GPIO_FN(PORT28_TPU1TO1), 3184 - GPIO_FN(SIM_RST), \ 3185 - GPIO_FN(PORT29_TPU1TO1), 3186 - GPIO_FN(SIM_CLK), \ 3187 - GPIO_FN(PORT30_VIO_CKOR), 3188 - GPIO_FN(SIM_D), \ 3189 - GPIO_FN(PORT31_IROUT), 3190 - GPIO_FN(XWUP), 3191 - GPIO_FN(VACK), 3192 - GPIO_FN(XTAL1L), 3193 - GPIO_FN(PORT49_IROUT), \ 3194 - GPIO_FN(BBIF2_TSYNC2), \ 3195 - GPIO_FN(TPU2TO2), \ 3196 - 3197 - GPIO_FN(BBIF2_TSCK2), \ 3198 - GPIO_FN(TPU2TO3), \ 3199 - GPIO_FN(BBIF2_TXD2), 3200 - GPIO_FN(TPU3TO3), \ 3201 - GPIO_FN(TPU3TO2), \ 3202 - GPIO_FN(TPU0TO0), 3203 - GPIO_FN(A0), \ 3204 - GPIO_FN(BS_), 3205 - GPIO_FN(A12), \ 3206 - GPIO_FN(TPU4TO2), 3207 - GPIO_FN(A13), \ 3208 - GPIO_FN(TPU0TO1), 3209 - GPIO_FN(A14), \ 3210 - GPIO_FN(A15), \ 3211 - GPIO_FN(A16), \ 3212 - GPIO_FN(MSIOF0_SS1), 3213 - GPIO_FN(A17), \ 3214 - GPIO_FN(MSIOF0_TSYNC), 3215 - GPIO_FN(A18), \ 3216 - GPIO_FN(MSIOF0_TSCK), 3217 - GPIO_FN(A19), \ 3218 - GPIO_FN(MSIOF0_TXD), 3219 - GPIO_FN(A20), \ 3220 - GPIO_FN(MSIOF0_RSCK), 3221 - GPIO_FN(A21), \ 3222 - GPIO_FN(MSIOF0_RSYNC), 3223 - GPIO_FN(A22), \ 3224 - GPIO_FN(MSIOF0_MCK0), 3225 - GPIO_FN(A23), \ 3226 - GPIO_FN(MSIOF0_MCK1), 3227 - GPIO_FN(A24), \ 3228 - GPIO_FN(MSIOF0_RXD), 3229 - GPIO_FN(A25), \ 3230 - GPIO_FN(MSIOF0_SS2), 3231 - GPIO_FN(A26), \ 3232 - GPIO_FN(FCE1_), 3233 - GPIO_FN(DACK0), 3234 - GPIO_FN(FCE0_), \ 3235 - GPIO_FN(WAIT_), \ 3236 - GPIO_FN(DREQ0), 3237 - GPIO_FN(FRB), 3238 - GPIO_FN(CKO), 3239 - GPIO_FN(NBRSTOUT_), 3240 - GPIO_FN(NBRST_), 3241 - GPIO_FN(BBIF2_TXD), 3242 - GPIO_FN(BBIF2_RXD), 3243 - GPIO_FN(BBIF2_SYNC), 3244 - GPIO_FN(BBIF2_SCK), 3245 - GPIO_FN(MFG3_IN2), 3246 - GPIO_FN(MFG3_IN1), 3247 - GPIO_FN(BBIF1_SS2), \ 3248 - GPIO_FN(MFG3_OUT1), 3249 - GPIO_FN(HSI_RX_DATA), \ 3250 - GPIO_FN(BBIF1_RXD), 3251 - GPIO_FN(HSI_TX_WAKE), \ 3252 - GPIO_FN(BBIF1_TSCK), 3253 - GPIO_FN(HSI_TX_DATA), \ 3254 - GPIO_FN(BBIF1_TSYNC), 3255 - GPIO_FN(HSI_TX_READY), \ 3256 - GPIO_FN(BBIF1_TXD), 3257 - GPIO_FN(HSI_RX_READY), \ 3258 - GPIO_FN(BBIF1_RSCK), \ 3259 - GPIO_FN(HSI_RX_WAKE), \ 3260 - GPIO_FN(BBIF1_RSYNC), \ 3261 - GPIO_FN(HSI_RX_FLAG), \ 3262 - GPIO_FN(BBIF1_SS1), \ 3263 - GPIO_FN(BBIF1_FLOW), 3264 - GPIO_FN(HSI_TX_FLAG), 3265 - GPIO_FN(VIO_VD), \ 3266 - GPIO_FN(VIO2_VD), \ 3267 - 3268 - GPIO_FN(VIO_HD), \ 3269 - GPIO_FN(VIO2_HD), \ 3270 - GPIO_FN(VIO_D0), \ 3271 - GPIO_FN(PORT130_MSIOF2_RXD), \ 3272 - GPIO_FN(VIO_D1), \ 3273 - GPIO_FN(PORT131_MSIOF2_SS1), \ 3274 - GPIO_FN(VIO_D2), \ 3275 - GPIO_FN(PORT132_MSIOF2_SS2), \ 3276 - GPIO_FN(VIO_D3), \ 3277 - GPIO_FN(MSIOF2_TSYNC), \ 3278 - GPIO_FN(VIO_D4), \ 3279 - GPIO_FN(MSIOF2_TXD), \ 3280 - GPIO_FN(VIO_D5), \ 3281 - GPIO_FN(MSIOF2_TSCK), \ 3282 - GPIO_FN(VIO_D6), \ 3283 - GPIO_FN(VIO_D7), \ 3284 - GPIO_FN(VIO_D8), \ 3285 - GPIO_FN(VIO2_D0), \ 3286 - GPIO_FN(VIO_D9), \ 3287 - GPIO_FN(VIO2_D1), \ 3288 - GPIO_FN(VIO_D10), \ 3289 - GPIO_FN(TPU0TO2), \ 3290 - GPIO_FN(VIO2_D2), \ 3291 - GPIO_FN(VIO_D11), \ 3292 - GPIO_FN(TPU0TO3), \ 3293 - GPIO_FN(VIO2_D3), \ 3294 - GPIO_FN(VIO_D12), \ 3295 - GPIO_FN(VIO2_D4), \ 3296 - GPIO_FN(VIO_D13), \ 3297 - GPIO_FN(VIO2_D5), \ 3298 - GPIO_FN(VIO_D14), \ 3299 - GPIO_FN(VIO2_D6), \ 3300 - GPIO_FN(VIO_D15), \ 3301 - GPIO_FN(TPU1TO3), \ 3302 - GPIO_FN(VIO2_D7), \ 3303 - GPIO_FN(VIO_CLK), \ 3304 - GPIO_FN(VIO2_CLK), \ 3305 - GPIO_FN(VIO_FIELD), \ 3306 - GPIO_FN(VIO2_FIELD), \ 3307 - GPIO_FN(VIO_CKO), 3308 - GPIO_FN(A27), \ 3309 - GPIO_FN(MFG0_IN1), \ 3310 - GPIO_FN(MFG0_IN2), 3311 - GPIO_FN(TS_SPSYNC3), \ 3312 - GPIO_FN(MSIOF2_RSCK), 3313 - GPIO_FN(TS_SDAT3), \ 3314 - GPIO_FN(MSIOF2_RSYNC), 3315 - GPIO_FN(TPU1TO2), \ 3316 - GPIO_FN(TS_SDEN3), \ 3317 - GPIO_FN(PORT153_MSIOF2_SS1), 3318 - GPIO_FN(MSIOF2_MCK0), 3319 - GPIO_FN(MSIOF2_MCK1), 3320 - GPIO_FN(PORT156_MSIOF2_SS2), 3321 - GPIO_FN(PORT157_MSIOF2_RXD), 3322 - GPIO_FN(DINT_), \ 3323 - GPIO_FN(TS_SCK3), 3324 - GPIO_FN(NMI), 3325 - GPIO_FN(TPU3TO0), 3326 - GPIO_FN(BBIF2_TSYNC1), 3327 - GPIO_FN(BBIF2_TSCK1), 3328 - GPIO_FN(BBIF2_TXD1), 3329 - GPIO_FN(MFG2_OUT2), \ 3330 - GPIO_FN(TPU2TO1), 3331 - GPIO_FN(TPU4TO1), \ 3332 - GPIO_FN(MFG4_OUT2), 3333 - GPIO_FN(D16), 3334 - GPIO_FN(D17), 3335 - GPIO_FN(D18), 3336 - GPIO_FN(D19), 3337 - GPIO_FN(D20), 3338 - GPIO_FN(D21), 3339 - GPIO_FN(D22), 3340 - GPIO_FN(PORT207_MSIOF0L_SS1), \ 3341 - GPIO_FN(D23), 3342 - GPIO_FN(PORT208_MSIOF0L_SS2), \ 3343 - GPIO_FN(D24), 3344 - GPIO_FN(D25), 3345 - GPIO_FN(DREQ2), \ 3346 - GPIO_FN(PORT210_MSIOF0L_SS1), \ 3347 - GPIO_FN(D26), 3348 - GPIO_FN(PORT211_MSIOF0L_SS2), \ 3349 - GPIO_FN(D27), 3350 - GPIO_FN(TS_SPSYNC1), \ 3351 - GPIO_FN(MSIOF0L_MCK0), \ 3352 - GPIO_FN(D28), 3353 - GPIO_FN(TS_SDAT1), \ 3354 - GPIO_FN(MSIOF0L_MCK1), \ 3355 - GPIO_FN(D29), 3356 - GPIO_FN(TS_SDEN1), \ 3357 - GPIO_FN(MSIOF0L_RSCK), \ 3358 - GPIO_FN(D30), 3359 - GPIO_FN(TS_SCK1), \ 3360 - GPIO_FN(MSIOF0L_RSYNC), \ 3361 - GPIO_FN(D31), 3362 - GPIO_FN(DACK2), \ 3363 - GPIO_FN(MSIOF0L_TSYNC), \ 3364 - GPIO_FN(VIO2_FIELD3), \ 3365 - GPIO_FN(DACK3), \ 3366 - GPIO_FN(PORT218_VIO_CKOR), 3367 - GPIO_FN(DREQ3), \ 3368 - GPIO_FN(MSIOF0L_TSCK), \ 3369 - GPIO_FN(VIO2_CLK3), \ 3370 - GPIO_FN(DREQ1), \ 3371 - GPIO_FN(PWEN), \ 3372 - GPIO_FN(MSIOF0L_RXD), \ 3373 - GPIO_FN(VIO2_HD3), \ 3374 - GPIO_FN(DACK1), \ 3375 - GPIO_FN(OVCN), \ 3376 - GPIO_FN(MSIOF0L_TXD), \ 3377 - GPIO_FN(VIO2_VD3), \ 3378 - 3379 - GPIO_FN(OVCN2), 3380 - GPIO_FN(EXTLP), \ 3381 - GPIO_FN(PORT226_VIO_CKO2), 3382 - GPIO_FN(IDIN), 3383 - GPIO_FN(MFG1_IN1), 3384 - GPIO_FN(MSIOF1_TXD), \ 3385 - GPIO_FN(MSIOF1_TSYNC), \ 3386 - GPIO_FN(MSIOF1_TSCK), \ 3387 - GPIO_FN(MSIOF1_RXD), \ 3388 - GPIO_FN(MSIOF1_RSCK), \ 3389 - GPIO_FN(VIO2_CLK2), \ 3390 - GPIO_FN(MSIOF1_RSYNC), \ 3391 - GPIO_FN(MFG1_IN2), \ 3392 - GPIO_FN(VIO2_VD2), \ 3393 - GPIO_FN(MSIOF1_MCK0), \ 3394 - GPIO_FN(MSIOF1_MCK1), \ 3395 - GPIO_FN(MSIOF1_SS1), \ 3396 - GPIO_FN(VIO2_FIELD2), \ 3397 - GPIO_FN(MSIOF1_SS2), \ 3398 - GPIO_FN(VIO2_HD2), \ 3399 - GPIO_FN(PORT241_IROUT), \ 3400 - GPIO_FN(MFG4_OUT1), \ 3401 - GPIO_FN(TPU4TO0), 3402 - GPIO_FN(MFG4_IN2), 3403 - GPIO_FN(PORT243_VIO_CKO2), 3404 - GPIO_FN(MFG2_IN1), \ 3405 - GPIO_FN(MSIOF2R_RXD), 3406 - GPIO_FN(MFG2_IN2), \ 3407 - GPIO_FN(MSIOF2R_TXD), 3408 - GPIO_FN(MFG1_OUT1), \ 3409 - GPIO_FN(TPU1TO0), 3410 - GPIO_FN(MFG3_OUT2), \ 3411 - GPIO_FN(TPU3TO1), 3412 - GPIO_FN(MFG2_OUT1), \ 3413 - GPIO_FN(TPU2TO0), \ 3414 - GPIO_FN(MSIOF2R_TSCK), 3415 - GPIO_FN(PORT249_IROUT), \ 3416 - GPIO_FN(MFG4_IN1), \ 3417 - GPIO_FN(MSIOF2R_TSYNC), 3418 - GPIO_FN(SDHICLK0), 3419 - GPIO_FN(SDHICD0), 3420 - GPIO_FN(SDHID0_0), 3421 - GPIO_FN(SDHID0_1), 3422 - GPIO_FN(SDHID0_2), 3423 - GPIO_FN(SDHID0_3), 3424 - GPIO_FN(SDHICMD0), 3425 - GPIO_FN(SDHIWP0), 3426 - GPIO_FN(SDHICLK1), 3427 - GPIO_FN(SDHID1_0), \ 3428 - GPIO_FN(TS_SPSYNC2), 3429 - GPIO_FN(SDHID1_1), \ 3430 - GPIO_FN(TS_SDAT2), 3431 - GPIO_FN(SDHID1_2), \ 3432 - GPIO_FN(TS_SDEN2), 3433 - GPIO_FN(SDHID1_3), \ 3434 - GPIO_FN(TS_SCK2), 3435 - GPIO_FN(SDHICMD1), 3436 - GPIO_FN(SDHICLK2), 3437 - GPIO_FN(SDHID2_0), \ 3438 - GPIO_FN(TS_SPSYNC4), 3439 - GPIO_FN(SDHID2_1), \ 3440 - GPIO_FN(TS_SDAT4), 3441 - GPIO_FN(SDHID2_2), \ 3442 - GPIO_FN(TS_SDEN4), 3443 - GPIO_FN(SDHID2_3), \ 3444 - GPIO_FN(TS_SCK4), 3445 - GPIO_FN(SDHICMD2), 3446 - GPIO_FN(MMCCLK0), 3447 - GPIO_FN(MMCD0_0), 3448 - GPIO_FN(MMCD0_1), 3449 - GPIO_FN(MMCD0_2), 3450 - GPIO_FN(MMCD0_3), 3451 - GPIO_FN(MMCD0_4), \ 3452 - GPIO_FN(TS_SPSYNC5), 3453 - GPIO_FN(MMCD0_5), \ 3454 - GPIO_FN(TS_SDAT5), 3455 - GPIO_FN(MMCD0_6), \ 3456 - GPIO_FN(TS_SDEN5), 3457 - GPIO_FN(MMCD0_7), \ 3458 - GPIO_FN(TS_SCK5), 3459 - GPIO_FN(MMCCMD0), 3460 - GPIO_FN(RESETOUTS_), \ 3461 - GPIO_FN(EXTAL2OUT), 3462 - GPIO_FN(MCP_WAIT__MCP_FRB), 3463 - GPIO_FN(MCP_CKO), \ 3464 - GPIO_FN(MMCCLK1), 3465 - GPIO_FN(MCP_D15_MCP_NAF15), 3466 - GPIO_FN(MCP_D14_MCP_NAF14), 3467 - GPIO_FN(MCP_D13_MCP_NAF13), 3468 - GPIO_FN(MCP_D12_MCP_NAF12), 3469 - GPIO_FN(MCP_D11_MCP_NAF11), 3470 - GPIO_FN(MCP_D10_MCP_NAF10), 3471 - GPIO_FN(MCP_D9_MCP_NAF9), 3472 - GPIO_FN(MCP_D8_MCP_NAF8), \ 3473 - GPIO_FN(MMCCMD1), 3474 - GPIO_FN(MCP_D7_MCP_NAF7), \ 3475 - GPIO_FN(MMCD1_7), 3476 - 3477 - GPIO_FN(MCP_D6_MCP_NAF6), \ 3478 - GPIO_FN(MMCD1_6), 3479 - GPIO_FN(MCP_D5_MCP_NAF5), \ 3480 - GPIO_FN(MMCD1_5), 3481 - GPIO_FN(MCP_D4_MCP_NAF4), \ 3482 - GPIO_FN(MMCD1_4), 3483 - GPIO_FN(MCP_D3_MCP_NAF3), \ 3484 - GPIO_FN(MMCD1_3), 3485 - GPIO_FN(MCP_D2_MCP_NAF2), \ 3486 - GPIO_FN(MMCD1_2), 3487 - GPIO_FN(MCP_D1_MCP_NAF1), \ 3488 - GPIO_FN(MMCD1_1), 3489 - GPIO_FN(MCP_D0_MCP_NAF0), \ 3490 - GPIO_FN(MMCD1_0), 3491 - GPIO_FN(MCP_NBRSTOUT_), 3492 - GPIO_FN(MCP_WE0__MCP_FWE), \ 3493 - GPIO_FN(MCP_RDWR_MCP_FWE), 3494 - 3495 - /* MSEL2 special cases */ 3496 - GPIO_FN(TSIF2_TS_XX1), 3497 - GPIO_FN(TSIF2_TS_XX2), 3498 - GPIO_FN(TSIF2_TS_XX3), 3499 - GPIO_FN(TSIF2_TS_XX4), 3500 - GPIO_FN(TSIF2_TS_XX5), 3501 - GPIO_FN(TSIF1_TS_XX1), 3502 - GPIO_FN(TSIF1_TS_XX2), 3503 - GPIO_FN(TSIF1_TS_XX3), 3504 - GPIO_FN(TSIF1_TS_XX4), 3505 - GPIO_FN(TSIF1_TS_XX5), 3506 - GPIO_FN(TSIF0_TS_XX1), 3507 - GPIO_FN(TSIF0_TS_XX2), 3508 - GPIO_FN(TSIF0_TS_XX3), 3509 - GPIO_FN(TSIF0_TS_XX4), 3510 - GPIO_FN(TSIF0_TS_XX5), 3511 - GPIO_FN(MST1_TS_XX1), 3512 - GPIO_FN(MST1_TS_XX2), 3513 - GPIO_FN(MST1_TS_XX3), 3514 - GPIO_FN(MST1_TS_XX4), 3515 - GPIO_FN(MST1_TS_XX5), 3516 - GPIO_FN(MST0_TS_XX1), 3517 - GPIO_FN(MST0_TS_XX2), 3518 - GPIO_FN(MST0_TS_XX3), 3519 - GPIO_FN(MST0_TS_XX4), 3520 - GPIO_FN(MST0_TS_XX5), 3521 - 3522 - /* MSEL3 special cases */ 3523 - GPIO_FN(SDHI0_VCCQ_MC0_ON), 3524 - GPIO_FN(SDHI0_VCCQ_MC0_OFF), 3525 - GPIO_FN(DEBUG_MON_VIO), 3526 - GPIO_FN(DEBUG_MON_LCDD), 3527 - GPIO_FN(LCDC_LCDC0), 3528 - GPIO_FN(LCDC_LCDC1), 3529 - 3530 - /* MSEL4 special cases */ 3531 - GPIO_FN(IRQ9_MEM_INT), 3532 - GPIO_FN(IRQ9_MCP_INT), 3533 - GPIO_FN(A11), 3534 - GPIO_FN(TPU4TO3), 3535 - GPIO_FN(RESETA_N_PU_ON), 3536 - GPIO_FN(RESETA_N_PU_OFF), 3537 - GPIO_FN(EDBGREQ_PD), 3538 - GPIO_FN(EDBGREQ_PU), 3539 2942 }; 3540 2943 3541 2944 #undef PORTCR ··· 3713 3888 PINMUX_IRQ(EXT_IRQ16L(9), 308), 3714 3889 }; 3715 3890 3891 + /* ----------------------------------------------------------------------------- 3892 + * VCCQ MC0 regulator 3893 + */ 3894 + 3895 + static void sh73a0_vccq_mc0_endisable(struct regulator_dev *reg, bool enable) 3896 + { 3897 + struct sh_pfc *pfc = reg->reg_data; 3898 + void __iomem *addr = pfc->window[1].virt + 4; 3899 + unsigned long flags; 3900 + u32 value; 3901 + 3902 + spin_lock_irqsave(&pfc->lock, flags); 3903 + 3904 + value = ioread32(addr); 3905 + 3906 + if (enable) 3907 + value |= BIT(28); 3908 + else 3909 + value &= ~BIT(28); 3910 + 3911 + iowrite32(value, addr); 3912 + 3913 + spin_unlock_irqrestore(&pfc->lock, flags); 3914 + } 3915 + 3916 + static int sh73a0_vccq_mc0_enable(struct regulator_dev *reg) 3917 + { 3918 + sh73a0_vccq_mc0_endisable(reg, true); 3919 + return 0; 3920 + } 3921 + 3922 + static int sh73a0_vccq_mc0_disable(struct regulator_dev *reg) 3923 + { 3924 + sh73a0_vccq_mc0_endisable(reg, false); 3925 + return 0; 3926 + } 3927 + 3928 + static int sh73a0_vccq_mc0_is_enabled(struct regulator_dev *reg) 3929 + { 3930 + struct sh_pfc *pfc = reg->reg_data; 3931 + void __iomem *addr = pfc->window[1].virt + 4; 3932 + unsigned long flags; 3933 + u32 value; 3934 + 3935 + spin_lock_irqsave(&pfc->lock, flags); 3936 + value = ioread32(addr); 3937 + spin_unlock_irqrestore(&pfc->lock, flags); 3938 + 3939 + return !!(value & BIT(28)); 3940 + } 3941 + 3942 + static int sh73a0_vccq_mc0_get_voltage(struct regulator_dev *reg) 3943 + { 3944 + return 3300000; 3945 + } 3946 + 3947 + static struct regulator_ops sh73a0_vccq_mc0_ops = { 3948 + .enable = sh73a0_vccq_mc0_enable, 3949 + .disable = sh73a0_vccq_mc0_disable, 3950 + .is_enabled = sh73a0_vccq_mc0_is_enabled, 3951 + .get_voltage = sh73a0_vccq_mc0_get_voltage, 3952 + }; 3953 + 3954 + static const struct regulator_desc sh73a0_vccq_mc0_desc = { 3955 + .owner = THIS_MODULE, 3956 + .name = "vccq_mc0", 3957 + .type = REGULATOR_VOLTAGE, 3958 + .ops = &sh73a0_vccq_mc0_ops, 3959 + }; 3960 + 3961 + static struct regulator_consumer_supply sh73a0_vccq_mc0_consumers[] = { 3962 + REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), 3963 + }; 3964 + 3965 + static const struct regulator_init_data sh73a0_vccq_mc0_init_data = { 3966 + .constraints = { 3967 + .valid_ops_mask = REGULATOR_CHANGE_STATUS, 3968 + }, 3969 + .num_consumer_supplies = ARRAY_SIZE(sh73a0_vccq_mc0_consumers), 3970 + .consumer_supplies = sh73a0_vccq_mc0_consumers, 3971 + }; 3972 + 3973 + /* ----------------------------------------------------------------------------- 3974 + * Pin bias 3975 + */ 3976 + 3716 3977 #define PORTnCR_PULMD_OFF (0 << 6) 3717 3978 #define PORTnCR_PULMD_DOWN (2 << 6) 3718 3979 #define PORTnCR_PULMD_UP (3 << 6) ··· 3845 3934 iowrite8(value, addr); 3846 3935 } 3847 3936 3937 + /* ----------------------------------------------------------------------------- 3938 + * SoC information 3939 + */ 3940 + 3941 + struct sh73a0_pinmux_data { 3942 + struct regulator_dev *vccq_mc0; 3943 + }; 3944 + 3945 + static int sh73a0_pinmux_soc_init(struct sh_pfc *pfc) 3946 + { 3947 + struct sh73a0_pinmux_data *data; 3948 + struct regulator_config cfg = { }; 3949 + int ret; 3950 + 3951 + data = devm_kzalloc(pfc->dev, sizeof(*data), GFP_KERNEL); 3952 + if (data == NULL) 3953 + return -ENOMEM; 3954 + 3955 + cfg.dev = pfc->dev; 3956 + cfg.init_data = &sh73a0_vccq_mc0_init_data; 3957 + cfg.driver_data = pfc; 3958 + 3959 + data->vccq_mc0 = regulator_register(&sh73a0_vccq_mc0_desc, &cfg); 3960 + if (IS_ERR(data->vccq_mc0)) { 3961 + ret = PTR_ERR(data->vccq_mc0); 3962 + dev_err(pfc->dev, "Failed to register VCCQ MC0 regulator: %d\n", 3963 + ret); 3964 + return ret; 3965 + } 3966 + 3967 + pfc->soc_data = data; 3968 + 3969 + return 0; 3970 + } 3971 + 3972 + static void sh73a0_pinmux_soc_exit(struct sh_pfc *pfc) 3973 + { 3974 + struct sh73a0_pinmux_data *data = pfc->soc_data; 3975 + 3976 + regulator_unregister(data->vccq_mc0); 3977 + } 3978 + 3848 3979 static const struct sh_pfc_soc_operations sh73a0_pinmux_ops = { 3980 + .init = sh73a0_pinmux_soc_init, 3981 + .exit = sh73a0_pinmux_soc_exit, 3849 3982 .get_bias = sh73a0_pinmux_get_bias, 3850 3983 .set_bias = sh73a0_pinmux_set_bias, 3851 3984 }; ··· 3910 3955 .nr_groups = ARRAY_SIZE(pinmux_groups), 3911 3956 .functions = pinmux_functions, 3912 3957 .nr_functions = ARRAY_SIZE(pinmux_functions), 3913 - 3914 - .func_gpios = pinmux_func_gpios, 3915 - .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios), 3916 3958 3917 3959 .cfg_regs = pinmux_config_regs, 3918 3960 .data_regs = pinmux_data_regs,
+3 -1
drivers/pinctrl/sh-pfc/sh_pfc.h
··· 11 11 #ifndef __SH_PFC_H 12 12 #define __SH_PFC_H 13 13 14 + #include <linux/bug.h> 14 15 #include <linux/stringify.h> 15 - #include <asm-generic/gpio.h> 16 16 17 17 typedef unsigned short pinmux_enum_t; 18 18 ··· 129 129 struct sh_pfc; 130 130 131 131 struct sh_pfc_soc_operations { 132 + int (*init)(struct sh_pfc *pfc); 133 + void (*exit)(struct sh_pfc *pfc); 132 134 unsigned int (*get_bias)(struct sh_pfc *pfc, unsigned int pin); 133 135 void (*set_bias)(struct sh_pfc *pfc, unsigned int pin, 134 136 unsigned int bias);
+4 -1
include/linux/platform_data/gpio-rcar.h
··· 17 17 #define __GPIO_RCAR_H__ 18 18 19 19 struct gpio_rcar_config { 20 - unsigned int gpio_base; 20 + int gpio_base; 21 21 unsigned int irq_base; 22 22 unsigned int number_of_pins; 23 23 const char *pctl_name; 24 + unsigned has_both_edge_trigger:1; 24 25 }; 26 + 27 + #define RCAR_GP_PIN(bank, pin) (((bank) * 32) + (pin)) 25 28 26 29 #endif /* __GPIO_RCAR_H__ */