1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Pin Function Controller Support 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2015 Niklas Söderlund 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun #include <linux/init.h> 8*4882a593Smuzhiyun #include <linux/kernel.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include "sh_pfc.h" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define CPU_ALL_PORT(fn, pfx, sfx) \ 13*4882a593Smuzhiyun PORT_10(0, fn, pfx, sfx), PORT_90(0, fn, pfx, sfx), \ 14*4882a593Smuzhiyun PORT_10(100, fn, pfx##10, sfx), PORT_10(110, fn, pfx##11, sfx), \ 15*4882a593Smuzhiyun PORT_10(120, fn, pfx##12, sfx), PORT_10(130, fn, pfx##13, sfx), \ 16*4882a593Smuzhiyun PORT_10(140, fn, pfx##14, sfx), PORT_1(150, fn, pfx##150, sfx), \ 17*4882a593Smuzhiyun PORT_1(151, fn, pfx##151, sfx), PORT_1(152, fn, pfx##152, sfx), \ 18*4882a593Smuzhiyun PORT_1(153, fn, pfx##153, sfx), PORT_1(154, fn, pfx##154, sfx), \ 19*4882a593Smuzhiyun PORT_1(155, fn, pfx##155, sfx), PORT_1(156, fn, pfx##156, sfx), \ 20*4882a593Smuzhiyun PORT_1(157, fn, pfx##157, sfx), PORT_1(158, fn, pfx##158, sfx) 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #define CPU_ALL_NOGP(fn) \ 23*4882a593Smuzhiyun PIN_NOGP(LCD3_B2, "B15", fn), \ 24*4882a593Smuzhiyun PIN_NOGP(LCD3_B3, "C15", fn), \ 25*4882a593Smuzhiyun PIN_NOGP(LCD3_B4, "D15", fn), \ 26*4882a593Smuzhiyun PIN_NOGP(LCD3_B5, "B14", fn), \ 27*4882a593Smuzhiyun PIN_NOGP(LCD3_B6, "C14", fn), \ 28*4882a593Smuzhiyun PIN_NOGP(LCD3_B7, "D14", fn), \ 29*4882a593Smuzhiyun PIN_NOGP(LCD3_G2, "B17", fn), \ 30*4882a593Smuzhiyun PIN_NOGP(LCD3_G3, "C17", fn), \ 31*4882a593Smuzhiyun PIN_NOGP(LCD3_G4, "D17", fn), \ 32*4882a593Smuzhiyun PIN_NOGP(LCD3_G5, "B16", fn), \ 33*4882a593Smuzhiyun PIN_NOGP(LCD3_G6, "C16", fn), \ 34*4882a593Smuzhiyun PIN_NOGP(LCD3_G7, "D16", fn) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun enum { 37*4882a593Smuzhiyun PINMUX_RESERVED = 0, 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun PINMUX_DATA_BEGIN, 40*4882a593Smuzhiyun PORT_ALL(DATA), 41*4882a593Smuzhiyun PINMUX_DATA_END, 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun PINMUX_FUNCTION_BEGIN, 44*4882a593Smuzhiyun PORT_ALL(FN), 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun /* GPSR0 */ 47*4882a593Smuzhiyun FN_LCD3_1_0_PORT18, FN_LCD3_1_0_PORT20, FN_LCD3_1_0_PORT21, 48*4882a593Smuzhiyun FN_LCD3_1_0_PORT22, FN_LCD3_1_0_PORT23, 49*4882a593Smuzhiyun FN_JT_SEL, FN_ERR_RST_REQB, FN_REF_CLKO, FN_EXT_CLKI, FN_LCD3_PXCLKB, 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* GPSR1 */ 52*4882a593Smuzhiyun FN_LCD3_9_8_PORT38, FN_LCD3_9_8_PORT39, FN_LCD3_11_10_PORT40, 53*4882a593Smuzhiyun FN_LCD3_11_10_PORT41, FN_LCD3_11_10_PORT42, FN_LCD3_11_10_PORT43, 54*4882a593Smuzhiyun FN_IIC_1_0_PORT46, FN_IIC_1_0_PORT47, 55*4882a593Smuzhiyun FN_LCD3_R0, FN_LCD3_R1, FN_LCD3_R2, FN_LCD3_R3, FN_LCD3_R4, FN_LCD3_R5, 56*4882a593Smuzhiyun FN_IIC0_SCL, FN_IIC0_SDA, FN_SD_CKI, FN_SDI0_CKO, FN_SDI0_CKI, 57*4882a593Smuzhiyun FN_SDI0_CMD, FN_SDI0_DATA0, FN_SDI0_DATA1, FN_SDI0_DATA2, 58*4882a593Smuzhiyun FN_SDI0_DATA3, FN_SDI0_DATA4, FN_SDI0_DATA5, FN_SDI0_DATA6, 59*4882a593Smuzhiyun FN_SDI0_DATA7, FN_SDI1_CKO, FN_SDI1_CKI, FN_SDI1_CMD, 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* GPSR2 */ 62*4882a593Smuzhiyun FN_AB_1_0_PORT71, FN_AB_1_0_PORT72, FN_AB_1_0_PORT73, 63*4882a593Smuzhiyun FN_AB_1_0_PORT74, FN_AB_1_0_PORT75, FN_AB_1_0_PORT76, 64*4882a593Smuzhiyun FN_AB_1_0_PORT77, FN_AB_1_0_PORT78, FN_AB_1_0_PORT79, 65*4882a593Smuzhiyun FN_AB_1_0_PORT80, FN_AB_1_0_PORT81, FN_AB_1_0_PORT82, 66*4882a593Smuzhiyun FN_AB_1_0_PORT83, FN_AB_1_0_PORT84, FN_AB_3_2_PORT85, 67*4882a593Smuzhiyun FN_AB_3_2_PORT86, FN_AB_3_2_PORT87, FN_AB_3_2_PORT88, 68*4882a593Smuzhiyun FN_AB_5_4_PORT89, FN_AB_5_4_PORT90, FN_AB_7_6_PORT91, 69*4882a593Smuzhiyun FN_AB_7_6_PORT92, FN_AB_1_0_PORT93, FN_AB_1_0_PORT94, 70*4882a593Smuzhiyun FN_AB_1_0_PORT95, 71*4882a593Smuzhiyun FN_SDI1_DATA0, FN_SDI1_DATA1, FN_SDI1_DATA2, FN_SDI1_DATA3, 72*4882a593Smuzhiyun FN_AB_CLK, FN_AB_CSB0, FN_AB_CSB1, 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun /* GPSR3 */ 75*4882a593Smuzhiyun FN_AB_13_12_PORT104, FN_AB_13_12_PORT103, FN_AB_11_10_PORT102, 76*4882a593Smuzhiyun FN_AB_11_10_PORT101, FN_AB_11_10_PORT100, FN_AB_9_8_PORT99, 77*4882a593Smuzhiyun FN_AB_9_8_PORT98, FN_AB_9_8_PORT97, 78*4882a593Smuzhiyun FN_USI_1_0_PORT109, FN_USI_1_0_PORT110, FN_USI_1_0_PORT111, 79*4882a593Smuzhiyun FN_USI_1_0_PORT112, FN_USI_3_2_PORT113, FN_USI_3_2_PORT114, 80*4882a593Smuzhiyun FN_USI_5_4_PORT115, FN_USI_5_4_PORT116, FN_USI_5_4_PORT117, 81*4882a593Smuzhiyun FN_USI_5_4_PORT118, FN_USI_7_6_PORT119, FN_USI_9_8_PORT120, 82*4882a593Smuzhiyun FN_USI_9_8_PORT121, 83*4882a593Smuzhiyun FN_AB_A20, FN_USI0_CS1, FN_USI0_CS2, FN_USI1_DI, 84*4882a593Smuzhiyun FN_USI1_DO, 85*4882a593Smuzhiyun FN_NTSC_CLK, FN_NTSC_DATA0, FN_NTSC_DATA1, FN_NTSC_DATA2, 86*4882a593Smuzhiyun FN_NTSC_DATA3, FN_NTSC_DATA4, 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun /* GPRS4 */ 89*4882a593Smuzhiyun FN_HSI_1_0_PORT143, FN_HSI_1_0_PORT144, FN_HSI_1_0_PORT145, 90*4882a593Smuzhiyun FN_HSI_1_0_PORT146, FN_HSI_1_0_PORT147, FN_HSI_1_0_PORT148, 91*4882a593Smuzhiyun FN_HSI_1_0_PORT149, FN_HSI_1_0_PORT150, 92*4882a593Smuzhiyun FN_UART_1_0_PORT157, FN_UART_1_0_PORT158, 93*4882a593Smuzhiyun FN_NTSC_DATA5, FN_NTSC_DATA6, FN_NTSC_DATA7, FN_CAM_CLKO, 94*4882a593Smuzhiyun FN_CAM_CLKI, FN_CAM_VS, FN_CAM_HS, FN_CAM_YUV0, 95*4882a593Smuzhiyun FN_CAM_YUV1, FN_CAM_YUV2, FN_CAM_YUV3, FN_CAM_YUV4, 96*4882a593Smuzhiyun FN_CAM_YUV5, FN_CAM_YUV6, FN_CAM_YUV7, 97*4882a593Smuzhiyun FN_JT_TDO, FN_JT_TDOEN, FN_LOWPWR, FN_USB_VBUS, FN_UART1_RX, 98*4882a593Smuzhiyun FN_UART1_TX, 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun /* CHG_PINSEL_LCD3 */ 101*4882a593Smuzhiyun FN_SEL_LCD3_1_0_00, FN_SEL_LCD3_1_0_01, 102*4882a593Smuzhiyun FN_SEL_LCD3_9_8_00, FN_SEL_LCD3_9_8_10, 103*4882a593Smuzhiyun FN_SEL_LCD3_11_10_00, FN_SEL_LCD3_11_10_01, FN_SEL_LCD3_11_10_10, 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun /* CHG_PINSEL_IIC */ 106*4882a593Smuzhiyun FN_SEL_IIC_1_0_00, FN_SEL_IIC_1_0_01, 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* CHG_PINSEL_AB */ 109*4882a593Smuzhiyun FN_SEL_AB_1_0_00, FN_SEL_AB_1_0_10, FN_SEL_AB_3_2_00, 110*4882a593Smuzhiyun FN_SEL_AB_3_2_01, FN_SEL_AB_3_2_10, FN_SEL_AB_3_2_11, 111*4882a593Smuzhiyun FN_SEL_AB_5_4_00, FN_SEL_AB_5_4_01, FN_SEL_AB_5_4_10, 112*4882a593Smuzhiyun FN_SEL_AB_5_4_11, FN_SEL_AB_7_6_00, FN_SEL_AB_7_6_01, 113*4882a593Smuzhiyun FN_SEL_AB_7_6_10, 114*4882a593Smuzhiyun FN_SEL_AB_9_8_00, FN_SEL_AB_9_8_01, FN_SEL_AB_9_8_10, 115*4882a593Smuzhiyun FN_SEL_AB_11_10_00, FN_SEL_AB_11_10_10, 116*4882a593Smuzhiyun FN_SEL_AB_13_12_00, FN_SEL_AB_13_12_10, 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun /* CHG_PINSEL_USI */ 119*4882a593Smuzhiyun FN_SEL_USI_1_0_00, FN_SEL_USI_1_0_01, 120*4882a593Smuzhiyun FN_SEL_USI_3_2_00, FN_SEL_USI_3_2_01, 121*4882a593Smuzhiyun FN_SEL_USI_5_4_00, FN_SEL_USI_5_4_01, 122*4882a593Smuzhiyun FN_SEL_USI_7_6_00, FN_SEL_USI_7_6_01, 123*4882a593Smuzhiyun FN_SEL_USI_9_8_00, FN_SEL_USI_9_8_01, 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun /* CHG_PINSEL_HSI */ 126*4882a593Smuzhiyun FN_SEL_HSI_1_0_00, FN_SEL_HSI_1_0_01, 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun /* CHG_PINSEL_UART */ 129*4882a593Smuzhiyun FN_SEL_UART_1_0_00, FN_SEL_UART_1_0_01, 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun PINMUX_FUNCTION_END, 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun PINMUX_MARK_BEGIN, 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun /* GPSR0 */ 136*4882a593Smuzhiyun JT_SEL_MARK, ERR_RST_REQB_MARK, REF_CLKO_MARK, EXT_CLKI_MARK, 137*4882a593Smuzhiyun LCD3_PXCLKB_MARK, SD_CKI_MARK, 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun /* GPSR1 */ 140*4882a593Smuzhiyun LCD3_R0_MARK, LCD3_R1_MARK, LCD3_R2_MARK, LCD3_R3_MARK, LCD3_R4_MARK, 141*4882a593Smuzhiyun LCD3_R5_MARK, IIC0_SCL_MARK, IIC0_SDA_MARK, SDI0_CKO_MARK, 142*4882a593Smuzhiyun SDI0_CKI_MARK, SDI0_CMD_MARK, SDI0_DATA0_MARK, SDI0_DATA1_MARK, 143*4882a593Smuzhiyun SDI0_DATA2_MARK, SDI0_DATA3_MARK, SDI0_DATA4_MARK, SDI0_DATA5_MARK, 144*4882a593Smuzhiyun SDI0_DATA6_MARK, SDI0_DATA7_MARK, SDI1_CKO_MARK, SDI1_CKI_MARK, 145*4882a593Smuzhiyun SDI1_CMD_MARK, 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /* GPSR2 */ 148*4882a593Smuzhiyun SDI1_DATA0_MARK, SDI1_DATA1_MARK, SDI1_DATA2_MARK, SDI1_DATA3_MARK, 149*4882a593Smuzhiyun AB_CLK_MARK, AB_CSB0_MARK, AB_CSB1_MARK, 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun /* GPSR3 */ 152*4882a593Smuzhiyun AB_A20_MARK, USI0_CS1_MARK, USI0_CS2_MARK, USI1_DI_MARK, 153*4882a593Smuzhiyun USI1_DO_MARK, 154*4882a593Smuzhiyun NTSC_CLK_MARK, NTSC_DATA0_MARK, NTSC_DATA1_MARK, NTSC_DATA2_MARK, 155*4882a593Smuzhiyun NTSC_DATA3_MARK, NTSC_DATA4_MARK, 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun /* GPSR3 */ 158*4882a593Smuzhiyun NTSC_DATA5_MARK, NTSC_DATA6_MARK, NTSC_DATA7_MARK, CAM_CLKO_MARK, 159*4882a593Smuzhiyun CAM_CLKI_MARK, CAM_VS_MARK, CAM_HS_MARK, CAM_YUV0_MARK, 160*4882a593Smuzhiyun CAM_YUV1_MARK, CAM_YUV2_MARK, CAM_YUV3_MARK, CAM_YUV4_MARK, 161*4882a593Smuzhiyun CAM_YUV5_MARK, CAM_YUV6_MARK, CAM_YUV7_MARK, 162*4882a593Smuzhiyun JT_TDO_MARK, JT_TDOEN_MARK, USB_VBUS_MARK, LOWPWR_MARK, 163*4882a593Smuzhiyun UART1_RX_MARK, UART1_TX_MARK, 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun /* CHG_PINSEL_LCD3 */ 166*4882a593Smuzhiyun LCD3_PXCLK_MARK, LCD3_CLK_I_MARK, LCD3_HS_MARK, LCD3_VS_MARK, 167*4882a593Smuzhiyun LCD3_DE_MARK, LCD3_R6_MARK, LCD3_R7_MARK, LCD3_G0_MARK, LCD3_G1_MARK, 168*4882a593Smuzhiyun LCD3_G2_MARK, LCD3_G3_MARK, LCD3_G4_MARK, LCD3_G5_MARK, LCD3_G6_MARK, 169*4882a593Smuzhiyun LCD3_G7_MARK, LCD3_B0_MARK, LCD3_B1_MARK, LCD3_B2_MARK, LCD3_B3_MARK, 170*4882a593Smuzhiyun LCD3_B4_MARK, LCD3_B5_MARK, LCD3_B6_MARK, LCD3_B7_MARK, 171*4882a593Smuzhiyun YUV3_CLK_O_MARK, YUV3_CLK_I_MARK, YUV3_HS_MARK, YUV3_VS_MARK, 172*4882a593Smuzhiyun YUV3_DE_MARK, YUV3_D0_MARK, YUV3_D1_MARK, YUV3_D2_MARK, YUV3_D3_MARK, 173*4882a593Smuzhiyun YUV3_D4_MARK, YUV3_D5_MARK, YUV3_D6_MARK, YUV3_D7_MARK, YUV3_D8_MARK, 174*4882a593Smuzhiyun YUV3_D9_MARK, YUV3_D10_MARK, YUV3_D11_MARK, YUV3_D12_MARK, 175*4882a593Smuzhiyun YUV3_D13_MARK, YUV3_D14_MARK, YUV3_D15_MARK, 176*4882a593Smuzhiyun TP33_CLK_MARK, TP33_CTRL_MARK, TP33_DATA0_MARK, TP33_DATA1_MARK, 177*4882a593Smuzhiyun TP33_DATA2_MARK, TP33_DATA3_MARK, TP33_DATA4_MARK, TP33_DATA5_MARK, 178*4882a593Smuzhiyun TP33_DATA6_MARK, TP33_DATA7_MARK, TP33_DATA8_MARK, TP33_DATA9_MARK, 179*4882a593Smuzhiyun TP33_DATA10_MARK, TP33_DATA11_MARK, TP33_DATA12_MARK, TP33_DATA13_MARK, 180*4882a593Smuzhiyun TP33_DATA14_MARK, TP33_DATA15_MARK, 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun /* CHG_PINSEL_IIC */ 183*4882a593Smuzhiyun IIC1_SCL_MARK, IIC1_SDA_MARK, UART3_RX_MARK, UART3_TX_MARK, 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun /* CHG_PINSEL_AB */ 186*4882a593Smuzhiyun AB_CSB2_MARK, AB_CSB3_MARK, AB_RDB_MARK, AB_WRB_MARK, 187*4882a593Smuzhiyun AB_WAIT_MARK, AB_ADV_MARK, AB_AD0_MARK, AB_AD1_MARK, 188*4882a593Smuzhiyun AB_AD2_MARK, AB_AD3_MARK, AB_AD4_MARK, AB_AD5_MARK, 189*4882a593Smuzhiyun AB_AD6_MARK, AB_AD7_MARK, AB_AD8_MARK, AB_AD9_MARK, 190*4882a593Smuzhiyun AB_AD10_MARK, AB_AD11_MARK, AB_AD12_MARK, AB_AD13_MARK, 191*4882a593Smuzhiyun AB_AD14_MARK, AB_AD15_MARK, AB_A17_MARK, AB_A18_MARK, 192*4882a593Smuzhiyun AB_A19_MARK, AB_A21_MARK, AB_A22_MARK, AB_A23_MARK, 193*4882a593Smuzhiyun AB_A24_MARK, AB_A25_MARK, AB_A26_MARK, AB_A27_MARK, 194*4882a593Smuzhiyun AB_A28_MARK, AB_BEN0_MARK, AB_BEN1_MARK, 195*4882a593Smuzhiyun DTV_BCLK_A_MARK, DTV_PSYNC_A_MARK, DTV_VALID_A_MARK, 196*4882a593Smuzhiyun DTV_DATA_A_MARK, 197*4882a593Smuzhiyun SDI2_CKO_MARK, SDI2_CKI_MARK, SDI2_CMD_MARK, 198*4882a593Smuzhiyun SDI2_DATA0_MARK, SDI2_DATA1_MARK, SDI2_DATA2_MARK, 199*4882a593Smuzhiyun SDI2_DATA3_MARK, 200*4882a593Smuzhiyun CF_CSB0_MARK, CF_CSB1_MARK, CF_IORDB_MARK, 201*4882a593Smuzhiyun CF_IOWRB_MARK, CF_IORDY_MARK, CF_RESET_MARK, 202*4882a593Smuzhiyun CF_D00_MARK, CF_D01_MARK, CF_D02_MARK, CF_D03_MARK, 203*4882a593Smuzhiyun CF_D04_MARK, CF_D05_MARK, CF_D06_MARK, CF_D07_MARK, 204*4882a593Smuzhiyun CF_D08_MARK, CF_D09_MARK, CF_D10_MARK, CF_D11_MARK, 205*4882a593Smuzhiyun CF_D12_MARK, CF_D13_MARK, CF_D14_MARK, CF_D15_MARK, 206*4882a593Smuzhiyun CF_A00_MARK, CF_A01_MARK, CF_A02_MARK, 207*4882a593Smuzhiyun CF_INTRQ_MARK, CF_INPACKB_MARK, CF_CDB1_MARK, CF_CDB2_MARK, 208*4882a593Smuzhiyun USI5_CLK_A_MARK, USI5_DI_A_MARK, USI5_DO_A_MARK, 209*4882a593Smuzhiyun USI5_CS0_A_MARK, USI5_CS1_A_MARK, USI5_CS2_A_MARK, 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun /* CHG_PINSEL_USI */ 212*4882a593Smuzhiyun USI0_CS3_MARK, USI0_CS4_MARK, USI0_CS5_MARK, 213*4882a593Smuzhiyun USI0_CS6_MARK, 214*4882a593Smuzhiyun USI2_CLK_MARK, USI2_DI_MARK, USI2_DO_MARK, 215*4882a593Smuzhiyun USI2_CS0_MARK, USI2_CS1_MARK, USI2_CS2_MARK, 216*4882a593Smuzhiyun USI3_CLK_MARK, USI3_DI_MARK, USI3_DO_MARK, 217*4882a593Smuzhiyun USI3_CS0_MARK, 218*4882a593Smuzhiyun USI4_CLK_MARK, USI4_DI_MARK, USI4_DO_MARK, 219*4882a593Smuzhiyun USI4_CS0_MARK, USI4_CS1_MARK, 220*4882a593Smuzhiyun PWM0_MARK, PWM1_MARK, 221*4882a593Smuzhiyun DTV_BCLK_B_MARK, DTV_PSYNC_B_MARK, DTV_VALID_B_MARK, 222*4882a593Smuzhiyun DTV_DATA_B_MARK, 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun /* CHG_PINSEL_HSI */ 225*4882a593Smuzhiyun USI5_CLK_B_MARK, USI5_DO_B_MARK, USI5_CS0_B_MARK, USI5_CS1_B_MARK, 226*4882a593Smuzhiyun USI5_CS2_B_MARK, USI5_CS3_B_MARK, USI5_CS4_B_MARK, USI5_DI_B_MARK, 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun /* CHG_PINSEL_UART */ 229*4882a593Smuzhiyun UART1_CTSB_MARK, UART1_RTSB_MARK, 230*4882a593Smuzhiyun UART2_RX_MARK, UART2_TX_MARK, 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun PINMUX_MARK_END, 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun /* 236*4882a593Smuzhiyun * Pins not associated with a GPIO port. 237*4882a593Smuzhiyun */ 238*4882a593Smuzhiyun enum { 239*4882a593Smuzhiyun PORT_ASSIGN_LAST(), 240*4882a593Smuzhiyun NOGP_ALL(), 241*4882a593Smuzhiyun }; 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun /* Expand to a list of sh_pfc_pin entries (named PORT#). 244*4882a593Smuzhiyun * NOTE: No config are recorded since the driver do not handle pinconf. */ 245*4882a593Smuzhiyun #define __PIN_CFG(pn, pfx, sfx) SH_PFC_PIN_CFG(pfx, 0) 246*4882a593Smuzhiyun #define PINMUX_EMEV_GPIO_ALL() CPU_ALL_PORT(__PIN_CFG, , unused) 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun static const struct sh_pfc_pin pinmux_pins[] = { 249*4882a593Smuzhiyun PINMUX_EMEV_GPIO_ALL(), 250*4882a593Smuzhiyun PINMUX_NOGP_ALL(), 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun /* Expand to a list of name_DATA, name_FN marks */ 254*4882a593Smuzhiyun #define __PORT_DATA(pn, pfx, sfx) PINMUX_DATA(PORT##pfx##_DATA, PORT##pfx##_FN) 255*4882a593Smuzhiyun #define PINMUX_EMEV_DATA_ALL() CPU_ALL_PORT(__PORT_DATA, , unused) 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun static const u16 pinmux_data[] = { 258*4882a593Smuzhiyun PINMUX_EMEV_DATA_ALL(), /* PINMUX_DATA(PORTN_DATA, PORTN_FN), */ 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun /* GPSR0 */ 261*4882a593Smuzhiyun /* V9 */ 262*4882a593Smuzhiyun PINMUX_SINGLE(JT_SEL), 263*4882a593Smuzhiyun /* U9 */ 264*4882a593Smuzhiyun PINMUX_SINGLE(ERR_RST_REQB), 265*4882a593Smuzhiyun /* V8 */ 266*4882a593Smuzhiyun PINMUX_SINGLE(REF_CLKO), 267*4882a593Smuzhiyun /* U8 */ 268*4882a593Smuzhiyun PINMUX_SINGLE(EXT_CLKI), 269*4882a593Smuzhiyun /* B22*/ 270*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT18, LCD3_PXCLK, SEL_LCD3_1_0_00), 271*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT18, YUV3_CLK_O, SEL_LCD3_1_0_01), 272*4882a593Smuzhiyun /* C21 */ 273*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_PXCLKB), 274*4882a593Smuzhiyun /* A21 */ 275*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT20, LCD3_CLK_I, SEL_LCD3_1_0_00), 276*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT20, YUV3_CLK_I, SEL_LCD3_1_0_01), 277*4882a593Smuzhiyun /* B21 */ 278*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT21, LCD3_HS, SEL_LCD3_1_0_00), 279*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT21, YUV3_HS, SEL_LCD3_1_0_01), 280*4882a593Smuzhiyun /* C20 */ 281*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT22, LCD3_VS, SEL_LCD3_1_0_00), 282*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT22, YUV3_VS, SEL_LCD3_1_0_01), 283*4882a593Smuzhiyun /* D19 */ 284*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT23, LCD3_DE, SEL_LCD3_1_0_00), 285*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_1_0_PORT23, YUV3_DE, SEL_LCD3_1_0_01), 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun /* GPSR1 */ 288*4882a593Smuzhiyun /* A20 */ 289*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_R0), 290*4882a593Smuzhiyun /* B20 */ 291*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_R1), 292*4882a593Smuzhiyun /* A19 */ 293*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_R2), 294*4882a593Smuzhiyun /* B19 */ 295*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_R3), 296*4882a593Smuzhiyun /* C19 */ 297*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_R4), 298*4882a593Smuzhiyun /* B18 */ 299*4882a593Smuzhiyun PINMUX_SINGLE(LCD3_R5), 300*4882a593Smuzhiyun /* C18 */ 301*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_9_8_PORT38, LCD3_R6, SEL_LCD3_9_8_00), 302*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_9_8_PORT38, TP33_CLK, SEL_LCD3_9_8_10), 303*4882a593Smuzhiyun /* D18 */ 304*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_9_8_PORT39, LCD3_R7, SEL_LCD3_9_8_00), 305*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_9_8_PORT39, TP33_CTRL, SEL_LCD3_9_8_10), 306*4882a593Smuzhiyun /* A18 */ 307*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT40, LCD3_G0, SEL_LCD3_11_10_00), 308*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT40, YUV3_D0, SEL_LCD3_11_10_01), 309*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT40, TP33_DATA0, SEL_LCD3_11_10_10), 310*4882a593Smuzhiyun /* A17 */ 311*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT41, LCD3_G1, SEL_LCD3_11_10_00), 312*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT41, YUV3_D1, SEL_LCD3_11_10_01), 313*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT41, TP33_DATA1, SEL_LCD3_11_10_10), 314*4882a593Smuzhiyun /* B17 */ 315*4882a593Smuzhiyun PINMUX_DATA(LCD3_G2_MARK, FN_SEL_LCD3_11_10_00), 316*4882a593Smuzhiyun PINMUX_DATA(YUV3_D2_MARK, FN_SEL_LCD3_11_10_01), 317*4882a593Smuzhiyun PINMUX_DATA(TP33_DATA2_MARK, FN_SEL_LCD3_11_10_10), 318*4882a593Smuzhiyun /* C17 */ 319*4882a593Smuzhiyun PINMUX_DATA(LCD3_G3_MARK, FN_SEL_LCD3_11_10_00), 320*4882a593Smuzhiyun PINMUX_DATA(YUV3_D3_MARK, FN_SEL_LCD3_11_10_01), 321*4882a593Smuzhiyun PINMUX_DATA(TP33_DATA3_MARK, FN_SEL_LCD3_11_10_10), 322*4882a593Smuzhiyun /* D17 */ 323*4882a593Smuzhiyun PINMUX_DATA(LCD3_G4_MARK, FN_SEL_LCD3_11_10_00), 324*4882a593Smuzhiyun PINMUX_DATA(YUV3_D4_MARK, FN_SEL_LCD3_11_10_01), 325*4882a593Smuzhiyun PINMUX_DATA(TP33_DATA4_MARK, FN_SEL_LCD3_11_10_10), 326*4882a593Smuzhiyun /* B16 */ 327*4882a593Smuzhiyun PINMUX_DATA(LCD3_G5_MARK, FN_SEL_LCD3_11_10_00), 328*4882a593Smuzhiyun PINMUX_DATA(YUV3_D5_MARK, FN_SEL_LCD3_11_10_01), 329*4882a593Smuzhiyun PINMUX_DATA(TP33_DATA5_MARK, FN_SEL_LCD3_11_10_10), 330*4882a593Smuzhiyun /* C16 */ 331*4882a593Smuzhiyun PINMUX_DATA(LCD3_G6_MARK, FN_SEL_LCD3_11_10_00), 332*4882a593Smuzhiyun PINMUX_DATA(YUV3_D6_MARK, FN_SEL_LCD3_11_10_01), 333*4882a593Smuzhiyun PINMUX_DATA(TP33_DATA6_MARK, FN_SEL_LCD3_11_10_10), 334*4882a593Smuzhiyun /* D16 */ 335*4882a593Smuzhiyun PINMUX_DATA(LCD3_G7_MARK, FN_SEL_LCD3_11_10_00), 336*4882a593Smuzhiyun PINMUX_DATA(YUV3_D7_MARK, FN_SEL_LCD3_11_10_01), 337*4882a593Smuzhiyun PINMUX_DATA(TP33_DATA7_MARK, FN_SEL_LCD3_11_10_10), 338*4882a593Smuzhiyun /* A16 */ 339*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT42, LCD3_B0, SEL_LCD3_11_10_00), 340*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT42, YUV3_D8, SEL_LCD3_11_10_01), 341*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT42, TP33_DATA8, SEL_LCD3_11_10_10), 342*4882a593Smuzhiyun /* A15 */ 343*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B1, SEL_LCD3_11_10_00), 344*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D9, SEL_LCD3_11_10_01), 345*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA9, SEL_LCD3_11_10_10), 346*4882a593Smuzhiyun /* B15 */ 347*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B2, SEL_LCD3_11_10_00), 348*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D10, SEL_LCD3_11_10_01), 349*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA10, SEL_LCD3_11_10_10), 350*4882a593Smuzhiyun /* C15 */ 351*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B3, SEL_LCD3_11_10_00), 352*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D11, SEL_LCD3_11_10_01), 353*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA11, SEL_LCD3_11_10_10), 354*4882a593Smuzhiyun /* D15 */ 355*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B4, SEL_LCD3_11_10_00), 356*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D12, SEL_LCD3_11_10_01), 357*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA12, SEL_LCD3_11_10_10), 358*4882a593Smuzhiyun /* B14 */ 359*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B5, SEL_LCD3_11_10_00), 360*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D13, SEL_LCD3_11_10_01), 361*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA13, SEL_LCD3_11_10_10), 362*4882a593Smuzhiyun /* C14 */ 363*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B6, SEL_LCD3_11_10_00), 364*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D14, SEL_LCD3_11_10_01), 365*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA14, SEL_LCD3_11_10_10), 366*4882a593Smuzhiyun /* D14 */ 367*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B7, SEL_LCD3_11_10_00), 368*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D15, SEL_LCD3_11_10_01), 369*4882a593Smuzhiyun PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA15, SEL_LCD3_11_10_10), 370*4882a593Smuzhiyun /* AA9 */ 371*4882a593Smuzhiyun PINMUX_SINGLE(IIC0_SCL), 372*4882a593Smuzhiyun /* AA8 */ 373*4882a593Smuzhiyun PINMUX_SINGLE(IIC0_SDA), 374*4882a593Smuzhiyun /* Y9 */ 375*4882a593Smuzhiyun PINMUX_IPSR_NOFN(IIC_1_0_PORT46, IIC1_SCL, SEL_IIC_1_0_00), 376*4882a593Smuzhiyun PINMUX_IPSR_NOFN(IIC_1_0_PORT46, UART3_RX, SEL_IIC_1_0_01), 377*4882a593Smuzhiyun /* Y8 */ 378*4882a593Smuzhiyun PINMUX_IPSR_NOFN(IIC_1_0_PORT47, IIC1_SDA, SEL_IIC_1_0_00), 379*4882a593Smuzhiyun PINMUX_IPSR_NOFN(IIC_1_0_PORT47, UART3_TX, SEL_IIC_1_0_01), 380*4882a593Smuzhiyun /* AC19 */ 381*4882a593Smuzhiyun PINMUX_SINGLE(SD_CKI), 382*4882a593Smuzhiyun /* AB18 */ 383*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_CKO), 384*4882a593Smuzhiyun /* AC18 */ 385*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_CKI), 386*4882a593Smuzhiyun /* Y12 */ 387*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_CMD), 388*4882a593Smuzhiyun /* AA13 */ 389*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA0), 390*4882a593Smuzhiyun /* Y13 */ 391*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA1), 392*4882a593Smuzhiyun /* AA14 */ 393*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA2), 394*4882a593Smuzhiyun /* Y14 */ 395*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA3), 396*4882a593Smuzhiyun /* AA15 */ 397*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA4), 398*4882a593Smuzhiyun /* Y15 */ 399*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA5), 400*4882a593Smuzhiyun /* AA16 */ 401*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA6), 402*4882a593Smuzhiyun /* Y16 */ 403*4882a593Smuzhiyun PINMUX_SINGLE(SDI0_DATA7), 404*4882a593Smuzhiyun /* AB22 */ 405*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_CKO), 406*4882a593Smuzhiyun /* AA23 */ 407*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_CKI), 408*4882a593Smuzhiyun /* AC21 */ 409*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_CMD), 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun /* GPSR2 */ 412*4882a593Smuzhiyun /* AB21 */ 413*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_DATA0), 414*4882a593Smuzhiyun /* AB20 */ 415*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_DATA1), 416*4882a593Smuzhiyun /* AB19 */ 417*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_DATA2), 418*4882a593Smuzhiyun /* AA19 */ 419*4882a593Smuzhiyun PINMUX_SINGLE(SDI1_DATA3), 420*4882a593Smuzhiyun /* J23 */ 421*4882a593Smuzhiyun PINMUX_SINGLE(AB_CLK), 422*4882a593Smuzhiyun /* D21 */ 423*4882a593Smuzhiyun PINMUX_SINGLE(AB_CSB0), 424*4882a593Smuzhiyun /* E21 */ 425*4882a593Smuzhiyun PINMUX_SINGLE(AB_CSB1), 426*4882a593Smuzhiyun /* F20 */ 427*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT71, AB_CSB2, SEL_AB_1_0_00), 428*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT71, CF_CSB0, SEL_AB_1_0_10), 429*4882a593Smuzhiyun /* G20 */ 430*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT72, AB_CSB3, SEL_AB_1_0_00), 431*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT72, CF_CSB1, SEL_AB_1_0_10), 432*4882a593Smuzhiyun /* J20 */ 433*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT73, AB_RDB, SEL_AB_1_0_00), 434*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT73, CF_IORDB, SEL_AB_1_0_10), 435*4882a593Smuzhiyun /* H20 */ 436*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT74, AB_WRB, SEL_AB_1_0_00), 437*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT74, CF_IOWRB, SEL_AB_1_0_10), 438*4882a593Smuzhiyun /* L20 */ 439*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT75, AB_WAIT, SEL_AB_1_0_00), 440*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT75, CF_IORDY, SEL_AB_1_0_10), 441*4882a593Smuzhiyun /* K20 */ 442*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT76, AB_ADV, SEL_AB_1_0_00), 443*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT76, CF_RESET, SEL_AB_1_0_10), 444*4882a593Smuzhiyun /* C23 */ 445*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT77, AB_AD0, SEL_AB_1_0_00), 446*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT77, CF_D00, SEL_AB_1_0_10), 447*4882a593Smuzhiyun /* C22 */ 448*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT78, AB_AD1, SEL_AB_1_0_00), 449*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT78, CF_D01, SEL_AB_1_0_10), 450*4882a593Smuzhiyun /* D23 */ 451*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT79, AB_AD2, SEL_AB_1_0_00), 452*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT79, CF_D02, SEL_AB_1_0_10), 453*4882a593Smuzhiyun /* D22 */ 454*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT80, AB_AD3, SEL_AB_1_0_00), 455*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT80, CF_D03, SEL_AB_1_0_10), 456*4882a593Smuzhiyun /* E23 */ 457*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT81, AB_AD4, SEL_AB_1_0_00), 458*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT81, CF_D04, SEL_AB_1_0_10), 459*4882a593Smuzhiyun /* E22 */ 460*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT82, AB_AD5, SEL_AB_1_0_00), 461*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT82, CF_D05, SEL_AB_1_0_10), 462*4882a593Smuzhiyun /* F23 */ 463*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT83, AB_AD6, SEL_AB_1_0_00), 464*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT83, CF_D06, SEL_AB_1_0_10), 465*4882a593Smuzhiyun /* F22 */ 466*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT84, AB_AD7, SEL_AB_1_0_00), 467*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT84, CF_D07, SEL_AB_1_0_10), 468*4882a593Smuzhiyun /* F21 */ 469*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT85, AB_AD8, SEL_AB_3_2_00), 470*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT85, DTV_BCLK_A, SEL_AB_3_2_01), 471*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT85, CF_D08, SEL_AB_3_2_10), 472*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT85, USI5_CLK_A, SEL_AB_3_2_11), 473*4882a593Smuzhiyun /* G23 */ 474*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT86, AB_AD9, SEL_AB_3_2_00), 475*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT86, DTV_PSYNC_A, SEL_AB_3_2_01), 476*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT86, CF_D09, SEL_AB_3_2_10), 477*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT86, USI5_DI_A, SEL_AB_3_2_11), 478*4882a593Smuzhiyun /* G22 */ 479*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT87, AB_AD10, SEL_AB_3_2_00), 480*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT87, DTV_VALID_A, SEL_AB_3_2_01), 481*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT87, CF_D10, SEL_AB_3_2_10), 482*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT87, USI5_DO_A, SEL_AB_3_2_11), 483*4882a593Smuzhiyun /* G21 */ 484*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT88, AB_AD11, SEL_AB_3_2_00), 485*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT88, DTV_DATA_A, SEL_AB_3_2_01), 486*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT88, CF_D11, SEL_AB_3_2_10), 487*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_3_2_PORT88, USI5_CS0_A, SEL_AB_3_2_11), 488*4882a593Smuzhiyun /* H23 */ 489*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT89, AB_AD12, SEL_AB_5_4_00), 490*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT89, SDI2_DATA0, SEL_AB_5_4_01), 491*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT89, CF_D12, SEL_AB_5_4_10), 492*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT89, USI5_CS1_A, SEL_AB_5_4_11), 493*4882a593Smuzhiyun /* H22 */ 494*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT90, AB_AD13, SEL_AB_5_4_00), 495*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT90, SDI2_DATA1, SEL_AB_5_4_01), 496*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT90, CF_D13, SEL_AB_5_4_10), 497*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_5_4_PORT90, USI5_CS2_A, SEL_AB_5_4_11), 498*4882a593Smuzhiyun /* H21 */ 499*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_7_6_PORT91, AB_AD14, SEL_AB_7_6_00), 500*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_7_6_PORT91, SDI2_DATA2, SEL_AB_7_6_01), 501*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_7_6_PORT91, CF_D14, SEL_AB_7_6_10), 502*4882a593Smuzhiyun /* J22 */ 503*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_7_6_PORT92, AB_AD15, SEL_AB_7_6_00), 504*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_7_6_PORT92, SDI2_DATA3, SEL_AB_7_6_01), 505*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_7_6_PORT92, CF_D15, SEL_AB_7_6_10), 506*4882a593Smuzhiyun /* J21 */ 507*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT93, AB_A17, SEL_AB_1_0_00), 508*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT93, CF_A00, SEL_AB_1_0_10), 509*4882a593Smuzhiyun /* K21 */ 510*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT94, AB_A18, SEL_AB_1_0_00), 511*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT94, CF_A01, SEL_AB_1_0_10), 512*4882a593Smuzhiyun /* L21 */ 513*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT95, AB_A19, SEL_AB_1_0_00), 514*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_1_0_PORT95, CF_A02, SEL_AB_1_0_10), 515*4882a593Smuzhiyun 516*4882a593Smuzhiyun /* GPSR3 */ 517*4882a593Smuzhiyun /* M21 */ 518*4882a593Smuzhiyun PINMUX_SINGLE(AB_A20), 519*4882a593Smuzhiyun /* N21 */ 520*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT97, AB_A21, SEL_AB_9_8_00), 521*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT97, SDI2_CKO, SEL_AB_9_8_01), 522*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT97, CF_INTRQ, SEL_AB_9_8_10), 523*4882a593Smuzhiyun /* M20 */ 524*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT98, AB_A22, SEL_AB_9_8_00), 525*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT98, SDI2_CKI, SEL_AB_9_8_01), 526*4882a593Smuzhiyun /* N20 */ 527*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT99, AB_A23, SEL_AB_9_8_00), 528*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_9_8_PORT99, SDI2_CMD, SEL_AB_9_8_01), 529*4882a593Smuzhiyun /* L18 */ 530*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_11_10_PORT100, AB_A24, SEL_AB_11_10_00), 531*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_11_10_PORT100, CF_INPACKB, SEL_AB_11_10_10), 532*4882a593Smuzhiyun /* M18 */ 533*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_11_10_PORT101, AB_A25, SEL_AB_11_10_00), 534*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_11_10_PORT101, CF_CDB1, SEL_AB_11_10_10), 535*4882a593Smuzhiyun /* N18 */ 536*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_11_10_PORT102, AB_A26, SEL_AB_11_10_00), 537*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_11_10_PORT102, CF_CDB2, SEL_AB_11_10_10), 538*4882a593Smuzhiyun /* L17 */ 539*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_13_12_PORT103, AB_A27, SEL_AB_13_12_00), 540*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_13_12_PORT103, AB_BEN0, SEL_AB_13_12_10), 541*4882a593Smuzhiyun /* M17 */ 542*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_13_12_PORT104, AB_A28, SEL_AB_13_12_00), 543*4882a593Smuzhiyun PINMUX_IPSR_NOFN(AB_13_12_PORT104, AB_BEN1, SEL_AB_13_12_10), 544*4882a593Smuzhiyun /* B8 */ 545*4882a593Smuzhiyun PINMUX_SINGLE(USI0_CS1), 546*4882a593Smuzhiyun /* B9 */ 547*4882a593Smuzhiyun PINMUX_SINGLE(USI0_CS2), 548*4882a593Smuzhiyun /* C10 */ 549*4882a593Smuzhiyun PINMUX_SINGLE(USI1_DI), 550*4882a593Smuzhiyun /* D10 */ 551*4882a593Smuzhiyun PINMUX_SINGLE(USI1_DO), 552*4882a593Smuzhiyun /* AB5 */ 553*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT109, USI2_CLK, SEL_USI_1_0_00), 554*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT109, DTV_BCLK_B, SEL_USI_1_0_01), 555*4882a593Smuzhiyun /* AA6 */ 556*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT110, USI2_DI, SEL_USI_1_0_00), 557*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT110, DTV_PSYNC_B, SEL_USI_1_0_01), 558*4882a593Smuzhiyun /* AA5 */ 559*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT111, USI2_DO, SEL_USI_1_0_00), 560*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT111, DTV_VALID_B, SEL_USI_1_0_01), 561*4882a593Smuzhiyun /* Y7 */ 562*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT112, USI2_CS0, SEL_USI_1_0_00), 563*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_1_0_PORT112, DTV_DATA_B, SEL_USI_1_0_01), 564*4882a593Smuzhiyun /* AA7 */ 565*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_3_2_PORT113, USI2_CS1, SEL_USI_3_2_00), 566*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_3_2_PORT113, USI4_CS0, SEL_USI_3_2_01), 567*4882a593Smuzhiyun /* Y6 */ 568*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_3_2_PORT114, USI2_CS2, SEL_USI_3_2_00), 569*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_3_2_PORT114, USI4_CS1, SEL_USI_3_2_01), 570*4882a593Smuzhiyun /* AC5 */ 571*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT115, USI3_CLK, SEL_USI_5_4_00), 572*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT115, USI0_CS3, SEL_USI_5_4_01), 573*4882a593Smuzhiyun /* AC4 */ 574*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT116, USI3_DI, SEL_USI_5_4_00), 575*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT116, USI0_CS4, SEL_USI_5_4_01), 576*4882a593Smuzhiyun /* AC3 */ 577*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT117, USI3_DO, SEL_USI_5_4_00), 578*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT117, USI0_CS5, SEL_USI_5_4_01), 579*4882a593Smuzhiyun /* AB4 */ 580*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT118, USI3_CS0, SEL_USI_5_4_00), 581*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_5_4_PORT118, USI0_CS6, SEL_USI_5_4_01), 582*4882a593Smuzhiyun /* AB3 */ 583*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_7_6_PORT119, USI4_CLK, SEL_USI_7_6_01), 584*4882a593Smuzhiyun /* AA4 */ 585*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_9_8_PORT120, PWM0, SEL_USI_9_8_00), 586*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_9_8_PORT120, USI4_DI, SEL_USI_9_8_01), 587*4882a593Smuzhiyun /* Y5 */ 588*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_9_8_PORT121, PWM1, SEL_USI_9_8_00), 589*4882a593Smuzhiyun PINMUX_IPSR_NOFN(USI_9_8_PORT121, USI4_DO, SEL_USI_9_8_01), 590*4882a593Smuzhiyun /* V20 */ 591*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_CLK), 592*4882a593Smuzhiyun /* P20 */ 593*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA0), 594*4882a593Smuzhiyun /* P18 */ 595*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA1), 596*4882a593Smuzhiyun /* R20 */ 597*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA2), 598*4882a593Smuzhiyun /* R18 */ 599*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA3), 600*4882a593Smuzhiyun /* T20 */ 601*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA4), 602*4882a593Smuzhiyun 603*4882a593Smuzhiyun /* GPRS3 */ 604*4882a593Smuzhiyun /* T18 */ 605*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA5), 606*4882a593Smuzhiyun /* U20 */ 607*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA6), 608*4882a593Smuzhiyun /* U18 */ 609*4882a593Smuzhiyun PINMUX_SINGLE(NTSC_DATA7), 610*4882a593Smuzhiyun /* W23 */ 611*4882a593Smuzhiyun PINMUX_SINGLE(CAM_CLKO), 612*4882a593Smuzhiyun /* Y23 */ 613*4882a593Smuzhiyun PINMUX_SINGLE(CAM_CLKI), 614*4882a593Smuzhiyun /* W22 */ 615*4882a593Smuzhiyun PINMUX_SINGLE(CAM_VS), 616*4882a593Smuzhiyun /* V21 */ 617*4882a593Smuzhiyun PINMUX_SINGLE(CAM_HS), 618*4882a593Smuzhiyun /* T21 */ 619*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV0), 620*4882a593Smuzhiyun /* T22 */ 621*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV1), 622*4882a593Smuzhiyun /* T23 */ 623*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV2), 624*4882a593Smuzhiyun /* U21 */ 625*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV3), 626*4882a593Smuzhiyun /* U22 */ 627*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV4), 628*4882a593Smuzhiyun /* U23 */ 629*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV5), 630*4882a593Smuzhiyun /* V22 */ 631*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV6), 632*4882a593Smuzhiyun /* V23 */ 633*4882a593Smuzhiyun PINMUX_SINGLE(CAM_YUV7), 634*4882a593Smuzhiyun /* K22 */ 635*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT143, USI5_CLK_B, SEL_HSI_1_0_01), 636*4882a593Smuzhiyun /* K23 */ 637*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT144, USI5_DO_B, SEL_HSI_1_0_01), 638*4882a593Smuzhiyun /* L23 */ 639*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT145, USI5_CS0_B, SEL_HSI_1_0_01), 640*4882a593Smuzhiyun /* L22 */ 641*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT146, USI5_CS1_B, SEL_HSI_1_0_01), 642*4882a593Smuzhiyun /* N22 */ 643*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT147, USI5_CS2_B, SEL_HSI_1_0_01), 644*4882a593Smuzhiyun /* N23 */ 645*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT148, USI5_CS3_B, SEL_HSI_1_0_01), 646*4882a593Smuzhiyun /* M23 */ 647*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT149, USI5_CS4_B, SEL_HSI_1_0_01), 648*4882a593Smuzhiyun /* M22 */ 649*4882a593Smuzhiyun PINMUX_IPSR_NOFN(HSI_1_0_PORT150, USI5_DI_B, SEL_HSI_1_0_01), 650*4882a593Smuzhiyun /* D13 */ 651*4882a593Smuzhiyun PINMUX_SINGLE(JT_TDO), 652*4882a593Smuzhiyun /* F13 */ 653*4882a593Smuzhiyun PINMUX_SINGLE(JT_TDOEN), 654*4882a593Smuzhiyun /* AA12 */ 655*4882a593Smuzhiyun PINMUX_SINGLE(USB_VBUS), 656*4882a593Smuzhiyun /* A12 */ 657*4882a593Smuzhiyun PINMUX_SINGLE(LOWPWR), 658*4882a593Smuzhiyun /* Y11 */ 659*4882a593Smuzhiyun PINMUX_SINGLE(UART1_RX), 660*4882a593Smuzhiyun /* Y10 */ 661*4882a593Smuzhiyun PINMUX_SINGLE(UART1_TX), 662*4882a593Smuzhiyun /* AA10 */ 663*4882a593Smuzhiyun PINMUX_IPSR_NOFN(UART_1_0_PORT157, UART1_CTSB, SEL_UART_1_0_00), 664*4882a593Smuzhiyun PINMUX_IPSR_NOFN(UART_1_0_PORT157, UART2_RX, SEL_UART_1_0_01), 665*4882a593Smuzhiyun /* AB10 */ 666*4882a593Smuzhiyun PINMUX_IPSR_NOFN(UART_1_0_PORT158, UART1_RTSB, SEL_UART_1_0_00), 667*4882a593Smuzhiyun PINMUX_IPSR_NOFN(UART_1_0_PORT158, UART2_TX, SEL_UART_1_0_01), 668*4882a593Smuzhiyun }; 669*4882a593Smuzhiyun 670*4882a593Smuzhiyun 671*4882a593Smuzhiyun #define EMEV_MUX_PIN(name, pin, mark) \ 672*4882a593Smuzhiyun static const unsigned int name##_pins[] = { pin }; \ 673*4882a593Smuzhiyun static const unsigned int name##_mux[] = { mark##_MARK } 674*4882a593Smuzhiyun 675*4882a593Smuzhiyun /* = [ System ] =========== */ 676*4882a593Smuzhiyun EMEV_MUX_PIN(err_rst_reqb, 3, ERR_RST_REQB); 677*4882a593Smuzhiyun EMEV_MUX_PIN(ref_clko, 4, REF_CLKO); 678*4882a593Smuzhiyun EMEV_MUX_PIN(ext_clki, 5, EXT_CLKI); 679*4882a593Smuzhiyun EMEV_MUX_PIN(lowpwr, 154, LOWPWR); 680*4882a593Smuzhiyun 681*4882a593Smuzhiyun /* = [ External Memory] === */ 682*4882a593Smuzhiyun static const unsigned int ab_main_pins[] = { 683*4882a593Smuzhiyun /* AB_RDB, AB_WRB */ 684*4882a593Smuzhiyun 73, 74, 685*4882a593Smuzhiyun /* AB_AD[0:15] */ 686*4882a593Smuzhiyun 77, 78, 79, 80, 687*4882a593Smuzhiyun 81, 82, 83, 84, 688*4882a593Smuzhiyun 85, 86, 87, 88, 689*4882a593Smuzhiyun 89, 90, 91, 92, 690*4882a593Smuzhiyun }; 691*4882a593Smuzhiyun static const unsigned int ab_main_mux[] = { 692*4882a593Smuzhiyun AB_RDB_MARK, AB_WRB_MARK, 693*4882a593Smuzhiyun AB_AD0_MARK, AB_AD1_MARK, AB_AD2_MARK, AB_AD3_MARK, 694*4882a593Smuzhiyun AB_AD4_MARK, AB_AD5_MARK, AB_AD6_MARK, AB_AD7_MARK, 695*4882a593Smuzhiyun AB_AD8_MARK, AB_AD9_MARK, AB_AD10_MARK, AB_AD11_MARK, 696*4882a593Smuzhiyun AB_AD12_MARK, AB_AD13_MARK, AB_AD14_MARK, AB_AD15_MARK, 697*4882a593Smuzhiyun }; 698*4882a593Smuzhiyun 699*4882a593Smuzhiyun EMEV_MUX_PIN(ab_clk, 68, AB_CLK); 700*4882a593Smuzhiyun EMEV_MUX_PIN(ab_csb0, 69, AB_CSB0); 701*4882a593Smuzhiyun EMEV_MUX_PIN(ab_csb1, 70, AB_CSB1); 702*4882a593Smuzhiyun EMEV_MUX_PIN(ab_csb2, 71, AB_CSB2); 703*4882a593Smuzhiyun EMEV_MUX_PIN(ab_csb3, 72, AB_CSB3); 704*4882a593Smuzhiyun EMEV_MUX_PIN(ab_wait, 75, AB_WAIT); 705*4882a593Smuzhiyun EMEV_MUX_PIN(ab_adv, 76, AB_ADV); 706*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a17, 93, AB_A17); 707*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a18, 94, AB_A18); 708*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a19, 95, AB_A19); 709*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a20, 96, AB_A20); 710*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a21, 97, AB_A21); 711*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a22, 98, AB_A22); 712*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a23, 99, AB_A23); 713*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a24, 100, AB_A24); 714*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a25, 101, AB_A25); 715*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a26, 102, AB_A26); 716*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a27, 103, AB_A27); 717*4882a593Smuzhiyun EMEV_MUX_PIN(ab_a28, 104, AB_A28); 718*4882a593Smuzhiyun EMEV_MUX_PIN(ab_ben0, 103, AB_BEN0); 719*4882a593Smuzhiyun EMEV_MUX_PIN(ab_ben1, 104, AB_BEN1); 720*4882a593Smuzhiyun 721*4882a593Smuzhiyun /* = [ CAM ] ============== */ 722*4882a593Smuzhiyun EMEV_MUX_PIN(cam_clko, 131, CAM_CLKO); 723*4882a593Smuzhiyun static const unsigned int cam_pins[] = { 724*4882a593Smuzhiyun /* CLKI, VS, HS */ 725*4882a593Smuzhiyun 132, 133, 134, 726*4882a593Smuzhiyun /* CAM_YUV[0:7] */ 727*4882a593Smuzhiyun 135, 136, 137, 138, 728*4882a593Smuzhiyun 139, 140, 141, 142, 729*4882a593Smuzhiyun }; 730*4882a593Smuzhiyun static const unsigned int cam_mux[] = { 731*4882a593Smuzhiyun CAM_CLKI_MARK, CAM_VS_MARK, CAM_HS_MARK, 732*4882a593Smuzhiyun CAM_YUV0_MARK, CAM_YUV1_MARK, CAM_YUV2_MARK, CAM_YUV3_MARK, 733*4882a593Smuzhiyun CAM_YUV4_MARK, CAM_YUV5_MARK, CAM_YUV6_MARK, CAM_YUV7_MARK, 734*4882a593Smuzhiyun }; 735*4882a593Smuzhiyun 736*4882a593Smuzhiyun /* = [ CF ] -============== */ 737*4882a593Smuzhiyun static const unsigned int cf_ctrl_pins[] = { 738*4882a593Smuzhiyun /* CSB0, CSB1, IORDB, IOWRB, IORDY, RESET, 739*4882a593Smuzhiyun * A00, A01, A02, INTRQ, INPACKB, CDB1, CDB2 */ 740*4882a593Smuzhiyun 71, 72, 73, 74, 741*4882a593Smuzhiyun 75, 76, 93, 94, 742*4882a593Smuzhiyun 95, 97, 100, 101, 743*4882a593Smuzhiyun 102, 744*4882a593Smuzhiyun }; 745*4882a593Smuzhiyun static const unsigned int cf_ctrl_mux[] = { 746*4882a593Smuzhiyun CF_CSB0_MARK, CF_CSB1_MARK, CF_IORDB_MARK, CF_IOWRB_MARK, 747*4882a593Smuzhiyun CF_IORDY_MARK, CF_RESET_MARK, CF_A00_MARK, CF_A01_MARK, 748*4882a593Smuzhiyun CF_A02_MARK, CF_INTRQ_MARK, CF_INPACKB_MARK, CF_CDB1_MARK, 749*4882a593Smuzhiyun CF_CDB2_MARK, 750*4882a593Smuzhiyun }; 751*4882a593Smuzhiyun 752*4882a593Smuzhiyun static const unsigned int cf_data8_pins[] = { 753*4882a593Smuzhiyun /* CF_D[0:7] */ 754*4882a593Smuzhiyun 77, 78, 79, 80, 755*4882a593Smuzhiyun 81, 82, 83, 84, 756*4882a593Smuzhiyun }; 757*4882a593Smuzhiyun static const unsigned int cf_data8_mux[] = { 758*4882a593Smuzhiyun CF_D00_MARK, CF_D01_MARK, CF_D02_MARK, CF_D03_MARK, 759*4882a593Smuzhiyun CF_D04_MARK, CF_D05_MARK, CF_D06_MARK, CF_D07_MARK, 760*4882a593Smuzhiyun }; 761*4882a593Smuzhiyun static const unsigned int cf_data16_pins[] = { 762*4882a593Smuzhiyun /* CF_D[0:15] */ 763*4882a593Smuzhiyun 77, 78, 79, 80, 764*4882a593Smuzhiyun 81, 82, 83, 84, 765*4882a593Smuzhiyun 85, 86, 87, 88, 766*4882a593Smuzhiyun 89, 90, 91, 92, 767*4882a593Smuzhiyun }; 768*4882a593Smuzhiyun static const unsigned int cf_data16_mux[] = { 769*4882a593Smuzhiyun CF_D00_MARK, CF_D01_MARK, CF_D02_MARK, CF_D03_MARK, 770*4882a593Smuzhiyun CF_D04_MARK, CF_D05_MARK, CF_D06_MARK, CF_D07_MARK, 771*4882a593Smuzhiyun CF_D08_MARK, CF_D09_MARK, CF_D10_MARK, CF_D11_MARK, 772*4882a593Smuzhiyun CF_D12_MARK, CF_D13_MARK, CF_D14_MARK, CF_D15_MARK, 773*4882a593Smuzhiyun }; 774*4882a593Smuzhiyun 775*4882a593Smuzhiyun /* = [ DTV ] ============== */ 776*4882a593Smuzhiyun static const unsigned int dtv_a_pins[] = { 777*4882a593Smuzhiyun /* BCLK, PSYNC, VALID, DATA */ 778*4882a593Smuzhiyun 85, 86, 87, 88, 779*4882a593Smuzhiyun }; 780*4882a593Smuzhiyun static const unsigned int dtv_a_mux[] = { 781*4882a593Smuzhiyun DTV_BCLK_A_MARK, DTV_PSYNC_A_MARK, DTV_VALID_A_MARK, DTV_DATA_A_MARK, 782*4882a593Smuzhiyun }; 783*4882a593Smuzhiyun 784*4882a593Smuzhiyun static const unsigned int dtv_b_pins[] = { 785*4882a593Smuzhiyun /* BCLK, PSYNC, VALID, DATA */ 786*4882a593Smuzhiyun 109, 110, 111, 112, 787*4882a593Smuzhiyun }; 788*4882a593Smuzhiyun static const unsigned int dtv_b_mux[] = { 789*4882a593Smuzhiyun DTV_BCLK_B_MARK, DTV_PSYNC_B_MARK, DTV_VALID_B_MARK, DTV_DATA_B_MARK, 790*4882a593Smuzhiyun }; 791*4882a593Smuzhiyun 792*4882a593Smuzhiyun /* = [ IIC0 ] ============= */ 793*4882a593Smuzhiyun static const unsigned int iic0_pins[] = { 794*4882a593Smuzhiyun /* SCL, SDA */ 795*4882a593Smuzhiyun 44, 45, 796*4882a593Smuzhiyun }; 797*4882a593Smuzhiyun static const unsigned int iic0_mux[] = { 798*4882a593Smuzhiyun IIC0_SCL_MARK, IIC0_SDA_MARK, 799*4882a593Smuzhiyun }; 800*4882a593Smuzhiyun 801*4882a593Smuzhiyun /* = [ IIC1 ] ============= */ 802*4882a593Smuzhiyun static const unsigned int iic1_pins[] = { 803*4882a593Smuzhiyun /* SCL, SDA */ 804*4882a593Smuzhiyun 46, 47, 805*4882a593Smuzhiyun }; 806*4882a593Smuzhiyun static const unsigned int iic1_mux[] = { 807*4882a593Smuzhiyun IIC1_SCL_MARK, IIC1_SDA_MARK, 808*4882a593Smuzhiyun }; 809*4882a593Smuzhiyun 810*4882a593Smuzhiyun /* = [ JTAG ] ============= */ 811*4882a593Smuzhiyun static const unsigned int jtag_pins[] = { 812*4882a593Smuzhiyun /* SEL, TDO, TDOEN */ 813*4882a593Smuzhiyun 2, 151, 152, 814*4882a593Smuzhiyun }; 815*4882a593Smuzhiyun static const unsigned int jtag_mux[] = { 816*4882a593Smuzhiyun JT_SEL_MARK, JT_TDO_MARK, JT_TDOEN_MARK, 817*4882a593Smuzhiyun }; 818*4882a593Smuzhiyun 819*4882a593Smuzhiyun /* = [ LCD/YUV ] ========== */ 820*4882a593Smuzhiyun EMEV_MUX_PIN(lcd3_pxclk, 18, LCD3_PXCLK); 821*4882a593Smuzhiyun EMEV_MUX_PIN(lcd3_pxclkb, 19, LCD3_PXCLKB); 822*4882a593Smuzhiyun EMEV_MUX_PIN(lcd3_clk_i, 20, LCD3_CLK_I); 823*4882a593Smuzhiyun 824*4882a593Smuzhiyun static const unsigned int lcd3_sync_pins[] = { 825*4882a593Smuzhiyun /* HS, VS, DE */ 826*4882a593Smuzhiyun 21, 22, 23, 827*4882a593Smuzhiyun }; 828*4882a593Smuzhiyun static const unsigned int lcd3_sync_mux[] = { 829*4882a593Smuzhiyun LCD3_HS_MARK, LCD3_VS_MARK, LCD3_DE_MARK, 830*4882a593Smuzhiyun }; 831*4882a593Smuzhiyun 832*4882a593Smuzhiyun static const unsigned int lcd3_rgb888_pins[] = { 833*4882a593Smuzhiyun /* R[0:7], G[0:7], B[0:7] */ 834*4882a593Smuzhiyun 32, 33, 34, 35, 835*4882a593Smuzhiyun 36, 37, 38, 39, 836*4882a593Smuzhiyun 40, 41, PIN_LCD3_G2, PIN_LCD3_G3, 837*4882a593Smuzhiyun PIN_LCD3_G4, PIN_LCD3_G5, PIN_LCD3_G6, PIN_LCD3_G7, 838*4882a593Smuzhiyun 42, 43, PIN_LCD3_B2, PIN_LCD3_B3, 839*4882a593Smuzhiyun PIN_LCD3_B4, PIN_LCD3_B5, PIN_LCD3_B6, PIN_LCD3_B7 840*4882a593Smuzhiyun }; 841*4882a593Smuzhiyun static const unsigned int lcd3_rgb888_mux[] = { 842*4882a593Smuzhiyun LCD3_R0_MARK, LCD3_R1_MARK, LCD3_R2_MARK, LCD3_R3_MARK, 843*4882a593Smuzhiyun LCD3_R4_MARK, LCD3_R5_MARK, LCD3_R6_MARK, LCD3_R7_MARK, 844*4882a593Smuzhiyun LCD3_G0_MARK, LCD3_G1_MARK, LCD3_G2_MARK, LCD3_G3_MARK, 845*4882a593Smuzhiyun LCD3_G4_MARK, LCD3_G5_MARK, LCD3_G6_MARK, LCD3_G7_MARK, 846*4882a593Smuzhiyun LCD3_B0_MARK, LCD3_B1_MARK, LCD3_B2_MARK, LCD3_B3_MARK, 847*4882a593Smuzhiyun LCD3_B4_MARK, LCD3_B5_MARK, LCD3_B6_MARK, LCD3_B7_MARK, 848*4882a593Smuzhiyun }; 849*4882a593Smuzhiyun 850*4882a593Smuzhiyun EMEV_MUX_PIN(yuv3_clk_i, 20, YUV3_CLK_I); 851*4882a593Smuzhiyun static const unsigned int yuv3_pins[] = { 852*4882a593Smuzhiyun /* CLK_O, HS, VS, DE */ 853*4882a593Smuzhiyun 18, 21, 22, 23, 854*4882a593Smuzhiyun /* YUV3_D[0:15] */ 855*4882a593Smuzhiyun 40, 41, PIN_LCD3_G2, PIN_LCD3_G3, 856*4882a593Smuzhiyun PIN_LCD3_G4, PIN_LCD3_G5, PIN_LCD3_G6, PIN_LCD3_G7, 857*4882a593Smuzhiyun 42, 43, PIN_LCD3_B2, PIN_LCD3_B3, 858*4882a593Smuzhiyun PIN_LCD3_B4, PIN_LCD3_B5, PIN_LCD3_B6, PIN_LCD3_B7, 859*4882a593Smuzhiyun }; 860*4882a593Smuzhiyun static const unsigned int yuv3_mux[] = { 861*4882a593Smuzhiyun YUV3_CLK_O_MARK, YUV3_HS_MARK, YUV3_VS_MARK, YUV3_DE_MARK, 862*4882a593Smuzhiyun YUV3_D0_MARK, YUV3_D1_MARK, YUV3_D2_MARK, YUV3_D3_MARK, 863*4882a593Smuzhiyun YUV3_D4_MARK, YUV3_D5_MARK, YUV3_D6_MARK, YUV3_D7_MARK, 864*4882a593Smuzhiyun YUV3_D8_MARK, YUV3_D9_MARK, YUV3_D10_MARK, YUV3_D11_MARK, 865*4882a593Smuzhiyun YUV3_D12_MARK, YUV3_D13_MARK, YUV3_D14_MARK, YUV3_D15_MARK, 866*4882a593Smuzhiyun }; 867*4882a593Smuzhiyun 868*4882a593Smuzhiyun /* = [ NTSC ] ============= */ 869*4882a593Smuzhiyun EMEV_MUX_PIN(ntsc_clk, 122, NTSC_CLK); 870*4882a593Smuzhiyun static const unsigned int ntsc_data_pins[] = { 871*4882a593Smuzhiyun /* NTSC_DATA[0:7] */ 872*4882a593Smuzhiyun 123, 124, 125, 126, 873*4882a593Smuzhiyun 127, 128, 129, 130, 874*4882a593Smuzhiyun }; 875*4882a593Smuzhiyun static const unsigned int ntsc_data_mux[] = { 876*4882a593Smuzhiyun NTSC_DATA0_MARK, NTSC_DATA1_MARK, NTSC_DATA2_MARK, NTSC_DATA3_MARK, 877*4882a593Smuzhiyun NTSC_DATA4_MARK, NTSC_DATA5_MARK, NTSC_DATA6_MARK, NTSC_DATA7_MARK, 878*4882a593Smuzhiyun }; 879*4882a593Smuzhiyun 880*4882a593Smuzhiyun /* = [ PWM0 ] ============= */ 881*4882a593Smuzhiyun EMEV_MUX_PIN(pwm0, 120, PWM0); 882*4882a593Smuzhiyun 883*4882a593Smuzhiyun /* = [ PWM1 ] ============= */ 884*4882a593Smuzhiyun EMEV_MUX_PIN(pwm1, 121, PWM1); 885*4882a593Smuzhiyun 886*4882a593Smuzhiyun /* = [ SD ] =============== */ 887*4882a593Smuzhiyun EMEV_MUX_PIN(sd_cki, 48, SD_CKI); 888*4882a593Smuzhiyun 889*4882a593Smuzhiyun /* = [ SDIO0 ] ============ */ 890*4882a593Smuzhiyun static const unsigned int sdi0_ctrl_pins[] = { 891*4882a593Smuzhiyun /* CKO, CKI, CMD */ 892*4882a593Smuzhiyun 50, 51, 52, 893*4882a593Smuzhiyun }; 894*4882a593Smuzhiyun static const unsigned int sdi0_ctrl_mux[] = { 895*4882a593Smuzhiyun SDI0_CKO_MARK, SDI0_CKI_MARK, SDI0_CMD_MARK, 896*4882a593Smuzhiyun }; 897*4882a593Smuzhiyun 898*4882a593Smuzhiyun static const unsigned int sdi0_data1_pins[] = { 899*4882a593Smuzhiyun /* SDI0_DATA[0] */ 900*4882a593Smuzhiyun 53, 901*4882a593Smuzhiyun }; 902*4882a593Smuzhiyun static const unsigned int sdi0_data1_mux[] = { 903*4882a593Smuzhiyun SDI0_DATA0_MARK, 904*4882a593Smuzhiyun }; 905*4882a593Smuzhiyun static const unsigned int sdi0_data4_pins[] = { 906*4882a593Smuzhiyun /* SDI0_DATA[0:3] */ 907*4882a593Smuzhiyun 53, 54, 55, 56, 908*4882a593Smuzhiyun }; 909*4882a593Smuzhiyun static const unsigned int sdi0_data4_mux[] = { 910*4882a593Smuzhiyun SDI0_DATA0_MARK, SDI0_DATA1_MARK, SDI0_DATA2_MARK, SDI0_DATA3_MARK, 911*4882a593Smuzhiyun }; 912*4882a593Smuzhiyun static const unsigned int sdi0_data8_pins[] = { 913*4882a593Smuzhiyun /* SDI0_DATA[0:7] */ 914*4882a593Smuzhiyun 53, 54, 55, 56, 915*4882a593Smuzhiyun 57, 58, 59, 60 916*4882a593Smuzhiyun }; 917*4882a593Smuzhiyun static const unsigned int sdi0_data8_mux[] = { 918*4882a593Smuzhiyun SDI0_DATA0_MARK, SDI0_DATA1_MARK, SDI0_DATA2_MARK, SDI0_DATA3_MARK, 919*4882a593Smuzhiyun SDI0_DATA4_MARK, SDI0_DATA5_MARK, SDI0_DATA6_MARK, SDI0_DATA7_MARK, 920*4882a593Smuzhiyun }; 921*4882a593Smuzhiyun 922*4882a593Smuzhiyun /* = [ SDIO1 ] ============ */ 923*4882a593Smuzhiyun static const unsigned int sdi1_ctrl_pins[] = { 924*4882a593Smuzhiyun /* CKO, CKI, CMD */ 925*4882a593Smuzhiyun 61, 62, 63, 926*4882a593Smuzhiyun }; 927*4882a593Smuzhiyun static const unsigned int sdi1_ctrl_mux[] = { 928*4882a593Smuzhiyun SDI1_CKO_MARK, SDI1_CKI_MARK, SDI1_CMD_MARK, 929*4882a593Smuzhiyun }; 930*4882a593Smuzhiyun 931*4882a593Smuzhiyun static const unsigned int sdi1_data1_pins[] = { 932*4882a593Smuzhiyun /* SDI1_DATA[0] */ 933*4882a593Smuzhiyun 64, 934*4882a593Smuzhiyun }; 935*4882a593Smuzhiyun static const unsigned int sdi1_data1_mux[] = { 936*4882a593Smuzhiyun SDI1_DATA0_MARK, 937*4882a593Smuzhiyun }; 938*4882a593Smuzhiyun static const unsigned int sdi1_data4_pins[] = { 939*4882a593Smuzhiyun /* SDI1_DATA[0:3] */ 940*4882a593Smuzhiyun 64, 65, 66, 67, 941*4882a593Smuzhiyun }; 942*4882a593Smuzhiyun static const unsigned int sdi1_data4_mux[] = { 943*4882a593Smuzhiyun SDI1_DATA0_MARK, SDI1_DATA1_MARK, SDI1_DATA2_MARK, SDI1_DATA3_MARK, 944*4882a593Smuzhiyun }; 945*4882a593Smuzhiyun 946*4882a593Smuzhiyun /* = [ SDIO2 ] ============ */ 947*4882a593Smuzhiyun static const unsigned int sdi2_ctrl_pins[] = { 948*4882a593Smuzhiyun /* CKO, CKI, CMD */ 949*4882a593Smuzhiyun 97, 98, 99, 950*4882a593Smuzhiyun }; 951*4882a593Smuzhiyun static const unsigned int sdi2_ctrl_mux[] = { 952*4882a593Smuzhiyun SDI2_CKO_MARK, SDI2_CKI_MARK, SDI2_CMD_MARK, 953*4882a593Smuzhiyun }; 954*4882a593Smuzhiyun 955*4882a593Smuzhiyun static const unsigned int sdi2_data1_pins[] = { 956*4882a593Smuzhiyun /* SDI2_DATA[0] */ 957*4882a593Smuzhiyun 89, 958*4882a593Smuzhiyun }; 959*4882a593Smuzhiyun static const unsigned int sdi2_data1_mux[] = { 960*4882a593Smuzhiyun SDI2_DATA0_MARK, 961*4882a593Smuzhiyun }; 962*4882a593Smuzhiyun static const unsigned int sdi2_data4_pins[] = { 963*4882a593Smuzhiyun /* SDI2_DATA[0:3] */ 964*4882a593Smuzhiyun 89, 90, 91, 92, 965*4882a593Smuzhiyun }; 966*4882a593Smuzhiyun static const unsigned int sdi2_data4_mux[] = { 967*4882a593Smuzhiyun SDI2_DATA0_MARK, SDI2_DATA1_MARK, SDI2_DATA2_MARK, SDI2_DATA3_MARK, 968*4882a593Smuzhiyun }; 969*4882a593Smuzhiyun 970*4882a593Smuzhiyun /* = [ TP33 ] ============= */ 971*4882a593Smuzhiyun static const unsigned int tp33_pins[] = { 972*4882a593Smuzhiyun /* CLK, CTRL */ 973*4882a593Smuzhiyun 38, 39, 974*4882a593Smuzhiyun /* TP33_DATA[0:15] */ 975*4882a593Smuzhiyun 40, 41, PIN_LCD3_G2, PIN_LCD3_G3, 976*4882a593Smuzhiyun PIN_LCD3_G4, PIN_LCD3_G5, PIN_LCD3_G6, PIN_LCD3_G7, 977*4882a593Smuzhiyun 42, 43, PIN_LCD3_B2, PIN_LCD3_B3, 978*4882a593Smuzhiyun PIN_LCD3_B4, PIN_LCD3_B5, PIN_LCD3_B6, PIN_LCD3_B7, 979*4882a593Smuzhiyun }; 980*4882a593Smuzhiyun static const unsigned int tp33_mux[] = { 981*4882a593Smuzhiyun TP33_CLK_MARK, TP33_CTRL_MARK, 982*4882a593Smuzhiyun TP33_DATA0_MARK, TP33_DATA1_MARK, TP33_DATA2_MARK, TP33_DATA3_MARK, 983*4882a593Smuzhiyun TP33_DATA4_MARK, TP33_DATA5_MARK, TP33_DATA6_MARK, TP33_DATA7_MARK, 984*4882a593Smuzhiyun TP33_DATA8_MARK, TP33_DATA9_MARK, TP33_DATA10_MARK, TP33_DATA11_MARK, 985*4882a593Smuzhiyun TP33_DATA12_MARK, TP33_DATA13_MARK, TP33_DATA14_MARK, TP33_DATA15_MARK, 986*4882a593Smuzhiyun }; 987*4882a593Smuzhiyun 988*4882a593Smuzhiyun /* = [ UART1 ] ============ */ 989*4882a593Smuzhiyun static const unsigned int uart1_data_pins[] = { 990*4882a593Smuzhiyun /* RX, TX */ 991*4882a593Smuzhiyun 155, 156, 992*4882a593Smuzhiyun }; 993*4882a593Smuzhiyun static const unsigned int uart1_data_mux[] = { 994*4882a593Smuzhiyun UART1_RX_MARK, UART1_TX_MARK, 995*4882a593Smuzhiyun }; 996*4882a593Smuzhiyun 997*4882a593Smuzhiyun static const unsigned int uart1_ctrl_pins[] = { 998*4882a593Smuzhiyun /* CTSB, RTSB */ 999*4882a593Smuzhiyun 157, 158, 1000*4882a593Smuzhiyun }; 1001*4882a593Smuzhiyun static const unsigned int uart1_ctrl_mux[] = { 1002*4882a593Smuzhiyun UART1_CTSB_MARK, UART1_RTSB_MARK, 1003*4882a593Smuzhiyun }; 1004*4882a593Smuzhiyun 1005*4882a593Smuzhiyun /* = [ UART2 ] ============ */ 1006*4882a593Smuzhiyun static const unsigned int uart2_data_pins[] = { 1007*4882a593Smuzhiyun /* RX, TX */ 1008*4882a593Smuzhiyun 157, 158, 1009*4882a593Smuzhiyun }; 1010*4882a593Smuzhiyun static const unsigned int uart2_data_mux[] = { 1011*4882a593Smuzhiyun UART2_RX_MARK, UART2_TX_MARK, 1012*4882a593Smuzhiyun }; 1013*4882a593Smuzhiyun 1014*4882a593Smuzhiyun /* = [ UART3 ] ============ */ 1015*4882a593Smuzhiyun static const unsigned int uart3_data_pins[] = { 1016*4882a593Smuzhiyun /* RX, TX */ 1017*4882a593Smuzhiyun 46, 47, 1018*4882a593Smuzhiyun }; 1019*4882a593Smuzhiyun static const unsigned int uart3_data_mux[] = { 1020*4882a593Smuzhiyun UART3_RX_MARK, UART3_TX_MARK, 1021*4882a593Smuzhiyun }; 1022*4882a593Smuzhiyun 1023*4882a593Smuzhiyun /* = [ USB ] ============== */ 1024*4882a593Smuzhiyun EMEV_MUX_PIN(usb_vbus, 153, USB_VBUS); 1025*4882a593Smuzhiyun 1026*4882a593Smuzhiyun /* = [ USI0 ] ============== */ 1027*4882a593Smuzhiyun EMEV_MUX_PIN(usi0_cs1, 105, USI0_CS1); 1028*4882a593Smuzhiyun EMEV_MUX_PIN(usi0_cs2, 106, USI0_CS2); 1029*4882a593Smuzhiyun EMEV_MUX_PIN(usi0_cs3, 115, USI0_CS3); 1030*4882a593Smuzhiyun EMEV_MUX_PIN(usi0_cs4, 116, USI0_CS4); 1031*4882a593Smuzhiyun EMEV_MUX_PIN(usi0_cs5, 117, USI0_CS5); 1032*4882a593Smuzhiyun EMEV_MUX_PIN(usi0_cs6, 118, USI0_CS6); 1033*4882a593Smuzhiyun 1034*4882a593Smuzhiyun /* = [ USI1 ] ============== */ 1035*4882a593Smuzhiyun static const unsigned int usi1_pins[] = { 1036*4882a593Smuzhiyun /* DI, DO*/ 1037*4882a593Smuzhiyun 107, 108, 1038*4882a593Smuzhiyun }; 1039*4882a593Smuzhiyun static const unsigned int usi1_mux[] = { 1040*4882a593Smuzhiyun USI1_DI_MARK, USI1_DO_MARK, 1041*4882a593Smuzhiyun }; 1042*4882a593Smuzhiyun 1043*4882a593Smuzhiyun /* = [ USI2 ] ============== */ 1044*4882a593Smuzhiyun static const unsigned int usi2_pins[] = { 1045*4882a593Smuzhiyun /* CLK, DI, DO*/ 1046*4882a593Smuzhiyun 109, 110, 111, 1047*4882a593Smuzhiyun }; 1048*4882a593Smuzhiyun static const unsigned int usi2_mux[] = { 1049*4882a593Smuzhiyun USI2_CLK_MARK, USI2_DI_MARK, USI2_DO_MARK, 1050*4882a593Smuzhiyun }; 1051*4882a593Smuzhiyun EMEV_MUX_PIN(usi2_cs0, 112, USI2_CS0); 1052*4882a593Smuzhiyun EMEV_MUX_PIN(usi2_cs1, 113, USI2_CS1); 1053*4882a593Smuzhiyun EMEV_MUX_PIN(usi2_cs2, 114, USI2_CS2); 1054*4882a593Smuzhiyun 1055*4882a593Smuzhiyun /* = [ USI3 ] ============== */ 1056*4882a593Smuzhiyun static const unsigned int usi3_pins[] = { 1057*4882a593Smuzhiyun /* CLK, DI, DO*/ 1058*4882a593Smuzhiyun 115, 116, 117, 1059*4882a593Smuzhiyun }; 1060*4882a593Smuzhiyun static const unsigned int usi3_mux[] = { 1061*4882a593Smuzhiyun USI3_CLK_MARK, USI3_DI_MARK, USI3_DO_MARK, 1062*4882a593Smuzhiyun }; 1063*4882a593Smuzhiyun EMEV_MUX_PIN(usi3_cs0, 118, USI3_CS0); 1064*4882a593Smuzhiyun 1065*4882a593Smuzhiyun /* = [ USI4 ] ============== */ 1066*4882a593Smuzhiyun static const unsigned int usi4_pins[] = { 1067*4882a593Smuzhiyun /* CLK, DI, DO*/ 1068*4882a593Smuzhiyun 119, 120, 121, 1069*4882a593Smuzhiyun }; 1070*4882a593Smuzhiyun static const unsigned int usi4_mux[] = { 1071*4882a593Smuzhiyun USI4_CLK_MARK, USI4_DI_MARK, USI4_DO_MARK, 1072*4882a593Smuzhiyun }; 1073*4882a593Smuzhiyun EMEV_MUX_PIN(usi4_cs0, 113, USI4_CS0); 1074*4882a593Smuzhiyun EMEV_MUX_PIN(usi4_cs1, 114, USI4_CS1); 1075*4882a593Smuzhiyun 1076*4882a593Smuzhiyun /* = [ USI5 ] ============== */ 1077*4882a593Smuzhiyun static const unsigned int usi5_a_pins[] = { 1078*4882a593Smuzhiyun /* CLK, DI, DO*/ 1079*4882a593Smuzhiyun 85, 86, 87, 1080*4882a593Smuzhiyun }; 1081*4882a593Smuzhiyun static const unsigned int usi5_a_mux[] = { 1082*4882a593Smuzhiyun USI5_CLK_A_MARK, USI5_DI_A_MARK, USI5_DO_A_MARK, 1083*4882a593Smuzhiyun }; 1084*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs0_a, 88, USI5_CS0_A); 1085*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs1_a, 89, USI5_CS1_A); 1086*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs2_a, 90, USI5_CS2_A); 1087*4882a593Smuzhiyun 1088*4882a593Smuzhiyun static const unsigned int usi5_b_pins[] = { 1089*4882a593Smuzhiyun /* CLK, DI, DO*/ 1090*4882a593Smuzhiyun 143, 144, 150, 1091*4882a593Smuzhiyun }; 1092*4882a593Smuzhiyun static const unsigned int usi5_b_mux[] = { 1093*4882a593Smuzhiyun USI5_CLK_B_MARK, USI5_DI_B_MARK, USI5_DO_B_MARK, 1094*4882a593Smuzhiyun }; 1095*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs0_b, 145, USI5_CS0_B); 1096*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs1_b, 146, USI5_CS1_B); 1097*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs2_b, 147, USI5_CS2_B); 1098*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs3_b, 148, USI5_CS3_B); 1099*4882a593Smuzhiyun EMEV_MUX_PIN(usi5_cs4_b, 149, USI5_CS4_B); 1100*4882a593Smuzhiyun 1101*4882a593Smuzhiyun static const struct sh_pfc_pin_group pinmux_groups[] = { 1102*4882a593Smuzhiyun SH_PFC_PIN_GROUP(err_rst_reqb), 1103*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ref_clko), 1104*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ext_clki), 1105*4882a593Smuzhiyun SH_PFC_PIN_GROUP(lowpwr), 1106*4882a593Smuzhiyun 1107*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_main), 1108*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_clk), 1109*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_csb0), 1110*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_csb1), 1111*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_csb2), 1112*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_csb3), 1113*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_wait), 1114*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_adv), 1115*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a17), 1116*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a18), 1117*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a19), 1118*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a20), 1119*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a21), 1120*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a22), 1121*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a23), 1122*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a24), 1123*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a25), 1124*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a26), 1125*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a27), 1126*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_a28), 1127*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_ben0), 1128*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ab_ben1), 1129*4882a593Smuzhiyun 1130*4882a593Smuzhiyun SH_PFC_PIN_GROUP(cam_clko), 1131*4882a593Smuzhiyun SH_PFC_PIN_GROUP(cam), 1132*4882a593Smuzhiyun 1133*4882a593Smuzhiyun SH_PFC_PIN_GROUP(cf_ctrl), 1134*4882a593Smuzhiyun SH_PFC_PIN_GROUP(cf_data8), 1135*4882a593Smuzhiyun SH_PFC_PIN_GROUP(cf_data16), 1136*4882a593Smuzhiyun 1137*4882a593Smuzhiyun SH_PFC_PIN_GROUP(dtv_a), 1138*4882a593Smuzhiyun SH_PFC_PIN_GROUP(dtv_b), 1139*4882a593Smuzhiyun 1140*4882a593Smuzhiyun SH_PFC_PIN_GROUP(iic0), 1141*4882a593Smuzhiyun 1142*4882a593Smuzhiyun SH_PFC_PIN_GROUP(iic1), 1143*4882a593Smuzhiyun 1144*4882a593Smuzhiyun SH_PFC_PIN_GROUP(jtag), 1145*4882a593Smuzhiyun 1146*4882a593Smuzhiyun SH_PFC_PIN_GROUP(lcd3_pxclk), 1147*4882a593Smuzhiyun SH_PFC_PIN_GROUP(lcd3_pxclkb), 1148*4882a593Smuzhiyun SH_PFC_PIN_GROUP(lcd3_clk_i), 1149*4882a593Smuzhiyun SH_PFC_PIN_GROUP(lcd3_sync), 1150*4882a593Smuzhiyun SH_PFC_PIN_GROUP(lcd3_rgb888), 1151*4882a593Smuzhiyun SH_PFC_PIN_GROUP(yuv3_clk_i), 1152*4882a593Smuzhiyun SH_PFC_PIN_GROUP(yuv3), 1153*4882a593Smuzhiyun 1154*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ntsc_clk), 1155*4882a593Smuzhiyun SH_PFC_PIN_GROUP(ntsc_data), 1156*4882a593Smuzhiyun 1157*4882a593Smuzhiyun SH_PFC_PIN_GROUP(pwm0), 1158*4882a593Smuzhiyun 1159*4882a593Smuzhiyun SH_PFC_PIN_GROUP(pwm1), 1160*4882a593Smuzhiyun 1161*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sd_cki), 1162*4882a593Smuzhiyun 1163*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi0_ctrl), 1164*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi0_data1), 1165*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi0_data4), 1166*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi0_data8), 1167*4882a593Smuzhiyun 1168*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi1_ctrl), 1169*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi1_data1), 1170*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi1_data4), 1171*4882a593Smuzhiyun 1172*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi2_ctrl), 1173*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi2_data1), 1174*4882a593Smuzhiyun SH_PFC_PIN_GROUP(sdi2_data4), 1175*4882a593Smuzhiyun 1176*4882a593Smuzhiyun SH_PFC_PIN_GROUP(tp33), 1177*4882a593Smuzhiyun 1178*4882a593Smuzhiyun SH_PFC_PIN_GROUP(uart1_data), 1179*4882a593Smuzhiyun SH_PFC_PIN_GROUP(uart1_ctrl), 1180*4882a593Smuzhiyun 1181*4882a593Smuzhiyun SH_PFC_PIN_GROUP(uart2_data), 1182*4882a593Smuzhiyun 1183*4882a593Smuzhiyun SH_PFC_PIN_GROUP(uart3_data), 1184*4882a593Smuzhiyun 1185*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usb_vbus), 1186*4882a593Smuzhiyun 1187*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi0_cs1), 1188*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi0_cs2), 1189*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi0_cs3), 1190*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi0_cs4), 1191*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi0_cs5), 1192*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi0_cs6), 1193*4882a593Smuzhiyun 1194*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi1), 1195*4882a593Smuzhiyun 1196*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi2), 1197*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi2_cs0), 1198*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi2_cs1), 1199*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi2_cs2), 1200*4882a593Smuzhiyun 1201*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi3), 1202*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi3_cs0), 1203*4882a593Smuzhiyun 1204*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi4), 1205*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi4_cs0), 1206*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi4_cs1), 1207*4882a593Smuzhiyun 1208*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_a), 1209*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs0_a), 1210*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs1_a), 1211*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs2_a), 1212*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_b), 1213*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs0_b), 1214*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs1_b), 1215*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs2_b), 1216*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs3_b), 1217*4882a593Smuzhiyun SH_PFC_PIN_GROUP(usi5_cs4_b), 1218*4882a593Smuzhiyun }; 1219*4882a593Smuzhiyun 1220*4882a593Smuzhiyun static const char * const ab_groups[] = { 1221*4882a593Smuzhiyun "ab_main", 1222*4882a593Smuzhiyun "ab_clk", 1223*4882a593Smuzhiyun "ab_csb0", 1224*4882a593Smuzhiyun "ab_csb1", 1225*4882a593Smuzhiyun "ab_csb2", 1226*4882a593Smuzhiyun "ab_csb3", 1227*4882a593Smuzhiyun "ab_wait", 1228*4882a593Smuzhiyun "ab_adv", 1229*4882a593Smuzhiyun "ab_a17", 1230*4882a593Smuzhiyun "ab_a18", 1231*4882a593Smuzhiyun "ab_a19", 1232*4882a593Smuzhiyun "ab_a20", 1233*4882a593Smuzhiyun "ab_a21", 1234*4882a593Smuzhiyun "ab_a22", 1235*4882a593Smuzhiyun "ab_a23", 1236*4882a593Smuzhiyun "ab_a24", 1237*4882a593Smuzhiyun "ab_a25", 1238*4882a593Smuzhiyun "ab_a26", 1239*4882a593Smuzhiyun "ab_a27", 1240*4882a593Smuzhiyun "ab_a28", 1241*4882a593Smuzhiyun "ab_ben0", 1242*4882a593Smuzhiyun "ab_ben1", 1243*4882a593Smuzhiyun }; 1244*4882a593Smuzhiyun 1245*4882a593Smuzhiyun static const char * const cam_groups[] = { 1246*4882a593Smuzhiyun "cam_clko", 1247*4882a593Smuzhiyun "cam", 1248*4882a593Smuzhiyun }; 1249*4882a593Smuzhiyun 1250*4882a593Smuzhiyun static const char * const cf_groups[] = { 1251*4882a593Smuzhiyun "cf_ctrl", 1252*4882a593Smuzhiyun "cf_data8", 1253*4882a593Smuzhiyun "cf_data16", 1254*4882a593Smuzhiyun }; 1255*4882a593Smuzhiyun 1256*4882a593Smuzhiyun static const char * const dtv_groups[] = { 1257*4882a593Smuzhiyun "dtv_a", 1258*4882a593Smuzhiyun "dtv_b", 1259*4882a593Smuzhiyun }; 1260*4882a593Smuzhiyun 1261*4882a593Smuzhiyun static const char * const err_rst_reqb_groups[] = { 1262*4882a593Smuzhiyun "err_rst_reqb", 1263*4882a593Smuzhiyun }; 1264*4882a593Smuzhiyun 1265*4882a593Smuzhiyun static const char * const ext_clki_groups[] = { 1266*4882a593Smuzhiyun "ext_clki", 1267*4882a593Smuzhiyun }; 1268*4882a593Smuzhiyun 1269*4882a593Smuzhiyun static const char * const iic0_groups[] = { 1270*4882a593Smuzhiyun "iic0", 1271*4882a593Smuzhiyun }; 1272*4882a593Smuzhiyun 1273*4882a593Smuzhiyun static const char * const iic1_groups[] = { 1274*4882a593Smuzhiyun "iic1", 1275*4882a593Smuzhiyun }; 1276*4882a593Smuzhiyun 1277*4882a593Smuzhiyun static const char * const jtag_groups[] = { 1278*4882a593Smuzhiyun "jtag", 1279*4882a593Smuzhiyun }; 1280*4882a593Smuzhiyun 1281*4882a593Smuzhiyun static const char * const lcd_groups[] = { 1282*4882a593Smuzhiyun "lcd3_pxclk", 1283*4882a593Smuzhiyun "lcd3_pxclkb", 1284*4882a593Smuzhiyun "lcd3_clk_i", 1285*4882a593Smuzhiyun "lcd3_sync", 1286*4882a593Smuzhiyun "lcd3_rgb888", 1287*4882a593Smuzhiyun "yuv3_clk_i", 1288*4882a593Smuzhiyun "yuv3", 1289*4882a593Smuzhiyun }; 1290*4882a593Smuzhiyun 1291*4882a593Smuzhiyun static const char * const lowpwr_groups[] = { 1292*4882a593Smuzhiyun "lowpwr", 1293*4882a593Smuzhiyun }; 1294*4882a593Smuzhiyun 1295*4882a593Smuzhiyun static const char * const ntsc_groups[] = { 1296*4882a593Smuzhiyun "ntsc_clk", 1297*4882a593Smuzhiyun "ntsc_data", 1298*4882a593Smuzhiyun }; 1299*4882a593Smuzhiyun 1300*4882a593Smuzhiyun static const char * const pwm0_groups[] = { 1301*4882a593Smuzhiyun "pwm0", 1302*4882a593Smuzhiyun }; 1303*4882a593Smuzhiyun 1304*4882a593Smuzhiyun static const char * const pwm1_groups[] = { 1305*4882a593Smuzhiyun "pwm1", 1306*4882a593Smuzhiyun }; 1307*4882a593Smuzhiyun 1308*4882a593Smuzhiyun static const char * const ref_clko_groups[] = { 1309*4882a593Smuzhiyun "ref_clko", 1310*4882a593Smuzhiyun }; 1311*4882a593Smuzhiyun 1312*4882a593Smuzhiyun static const char * const sd_groups[] = { 1313*4882a593Smuzhiyun "sd_cki", 1314*4882a593Smuzhiyun }; 1315*4882a593Smuzhiyun 1316*4882a593Smuzhiyun static const char * const sdi0_groups[] = { 1317*4882a593Smuzhiyun "sdi0_ctrl", 1318*4882a593Smuzhiyun "sdi0_data1", 1319*4882a593Smuzhiyun "sdi0_data4", 1320*4882a593Smuzhiyun "sdi0_data8", 1321*4882a593Smuzhiyun }; 1322*4882a593Smuzhiyun 1323*4882a593Smuzhiyun static const char * const sdi1_groups[] = { 1324*4882a593Smuzhiyun "sdi1_ctrl", 1325*4882a593Smuzhiyun "sdi1_data1", 1326*4882a593Smuzhiyun "sdi1_data4", 1327*4882a593Smuzhiyun }; 1328*4882a593Smuzhiyun 1329*4882a593Smuzhiyun static const char * const sdi2_groups[] = { 1330*4882a593Smuzhiyun "sdi2_ctrl", 1331*4882a593Smuzhiyun "sdi2_data1", 1332*4882a593Smuzhiyun "sdi2_data4", 1333*4882a593Smuzhiyun }; 1334*4882a593Smuzhiyun 1335*4882a593Smuzhiyun static const char * const tp33_groups[] = { 1336*4882a593Smuzhiyun "tp33", 1337*4882a593Smuzhiyun }; 1338*4882a593Smuzhiyun 1339*4882a593Smuzhiyun static const char * const uart1_groups[] = { 1340*4882a593Smuzhiyun "uart1_data", 1341*4882a593Smuzhiyun "uart1_ctrl", 1342*4882a593Smuzhiyun }; 1343*4882a593Smuzhiyun 1344*4882a593Smuzhiyun static const char * const uart2_groups[] = { 1345*4882a593Smuzhiyun "uart2_data", 1346*4882a593Smuzhiyun }; 1347*4882a593Smuzhiyun 1348*4882a593Smuzhiyun static const char * const uart3_groups[] = { 1349*4882a593Smuzhiyun "uart3_data", 1350*4882a593Smuzhiyun }; 1351*4882a593Smuzhiyun 1352*4882a593Smuzhiyun static const char * const usb_groups[] = { 1353*4882a593Smuzhiyun "usb_vbus", 1354*4882a593Smuzhiyun }; 1355*4882a593Smuzhiyun 1356*4882a593Smuzhiyun static const char * const usi0_groups[] = { 1357*4882a593Smuzhiyun "usi0_cs1", 1358*4882a593Smuzhiyun "usi0_cs2", 1359*4882a593Smuzhiyun "usi0_cs3", 1360*4882a593Smuzhiyun "usi0_cs4", 1361*4882a593Smuzhiyun "usi0_cs5", 1362*4882a593Smuzhiyun "usi0_cs6", 1363*4882a593Smuzhiyun }; 1364*4882a593Smuzhiyun 1365*4882a593Smuzhiyun static const char * const usi1_groups[] = { 1366*4882a593Smuzhiyun "usi1", 1367*4882a593Smuzhiyun }; 1368*4882a593Smuzhiyun 1369*4882a593Smuzhiyun static const char * const usi2_groups[] = { 1370*4882a593Smuzhiyun "usi2", 1371*4882a593Smuzhiyun "usi2_cs0", 1372*4882a593Smuzhiyun "usi2_cs1", 1373*4882a593Smuzhiyun "usi2_cs2", 1374*4882a593Smuzhiyun }; 1375*4882a593Smuzhiyun 1376*4882a593Smuzhiyun static const char * const usi3_groups[] = { 1377*4882a593Smuzhiyun "usi3", 1378*4882a593Smuzhiyun "usi3_cs0", 1379*4882a593Smuzhiyun }; 1380*4882a593Smuzhiyun 1381*4882a593Smuzhiyun static const char * const usi4_groups[] = { 1382*4882a593Smuzhiyun "usi4", 1383*4882a593Smuzhiyun "usi4_cs0", 1384*4882a593Smuzhiyun "usi4_cs1", 1385*4882a593Smuzhiyun }; 1386*4882a593Smuzhiyun 1387*4882a593Smuzhiyun static const char * const usi5_groups[] = { 1388*4882a593Smuzhiyun "usi5_a", 1389*4882a593Smuzhiyun "usi5_cs0_a", 1390*4882a593Smuzhiyun "usi5_cs1_a", 1391*4882a593Smuzhiyun "usi5_cs2_a", 1392*4882a593Smuzhiyun "usi5_b", 1393*4882a593Smuzhiyun "usi5_cs0_b", 1394*4882a593Smuzhiyun "usi5_cs1_b", 1395*4882a593Smuzhiyun "usi5_cs2_b", 1396*4882a593Smuzhiyun "usi5_cs3_b", 1397*4882a593Smuzhiyun "usi5_cs4_b", 1398*4882a593Smuzhiyun }; 1399*4882a593Smuzhiyun 1400*4882a593Smuzhiyun static const struct sh_pfc_function pinmux_functions[] = { 1401*4882a593Smuzhiyun SH_PFC_FUNCTION(ab), 1402*4882a593Smuzhiyun SH_PFC_FUNCTION(cam), 1403*4882a593Smuzhiyun SH_PFC_FUNCTION(cf), 1404*4882a593Smuzhiyun SH_PFC_FUNCTION(dtv), 1405*4882a593Smuzhiyun SH_PFC_FUNCTION(err_rst_reqb), 1406*4882a593Smuzhiyun SH_PFC_FUNCTION(ext_clki), 1407*4882a593Smuzhiyun SH_PFC_FUNCTION(iic0), 1408*4882a593Smuzhiyun SH_PFC_FUNCTION(iic1), 1409*4882a593Smuzhiyun SH_PFC_FUNCTION(jtag), 1410*4882a593Smuzhiyun SH_PFC_FUNCTION(lcd), 1411*4882a593Smuzhiyun SH_PFC_FUNCTION(lowpwr), 1412*4882a593Smuzhiyun SH_PFC_FUNCTION(ntsc), 1413*4882a593Smuzhiyun SH_PFC_FUNCTION(pwm0), 1414*4882a593Smuzhiyun SH_PFC_FUNCTION(pwm1), 1415*4882a593Smuzhiyun SH_PFC_FUNCTION(ref_clko), 1416*4882a593Smuzhiyun SH_PFC_FUNCTION(sd), 1417*4882a593Smuzhiyun SH_PFC_FUNCTION(sdi0), 1418*4882a593Smuzhiyun SH_PFC_FUNCTION(sdi1), 1419*4882a593Smuzhiyun SH_PFC_FUNCTION(sdi2), 1420*4882a593Smuzhiyun SH_PFC_FUNCTION(tp33), 1421*4882a593Smuzhiyun SH_PFC_FUNCTION(uart1), 1422*4882a593Smuzhiyun SH_PFC_FUNCTION(uart2), 1423*4882a593Smuzhiyun SH_PFC_FUNCTION(uart3), 1424*4882a593Smuzhiyun SH_PFC_FUNCTION(usb), 1425*4882a593Smuzhiyun SH_PFC_FUNCTION(usi0), 1426*4882a593Smuzhiyun SH_PFC_FUNCTION(usi1), 1427*4882a593Smuzhiyun SH_PFC_FUNCTION(usi2), 1428*4882a593Smuzhiyun SH_PFC_FUNCTION(usi3), 1429*4882a593Smuzhiyun SH_PFC_FUNCTION(usi4), 1430*4882a593Smuzhiyun SH_PFC_FUNCTION(usi5), 1431*4882a593Smuzhiyun }; 1432*4882a593Smuzhiyun 1433*4882a593Smuzhiyun static const struct pinmux_cfg_reg pinmux_config_regs[] = { 1434*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR0", 0xe0140200, 32, 1, GROUP( 1435*4882a593Smuzhiyun 0, PORT31_FN, /* PIN: J18 */ 1436*4882a593Smuzhiyun 0, PORT30_FN, /* PIN: H18 */ 1437*4882a593Smuzhiyun 0, PORT29_FN, /* PIN: G18 */ 1438*4882a593Smuzhiyun 0, PORT28_FN, /* PIN: F18 */ 1439*4882a593Smuzhiyun 0, PORT27_FN, /* PIN: F17 */ 1440*4882a593Smuzhiyun 0, PORT26_FN, /* PIN: F16 */ 1441*4882a593Smuzhiyun 0, PORT25_FN, /* PIN: E20 */ 1442*4882a593Smuzhiyun 0, PORT24_FN, /* PIN: D20 */ 1443*4882a593Smuzhiyun FN_LCD3_1_0_PORT23, PORT23_FN, /* PIN: D19 */ 1444*4882a593Smuzhiyun FN_LCD3_1_0_PORT22, PORT22_FN, /* PIN: C20 */ 1445*4882a593Smuzhiyun FN_LCD3_1_0_PORT21, PORT21_FN, /* PIN: B21 */ 1446*4882a593Smuzhiyun FN_LCD3_1_0_PORT20, PORT20_FN, /* PIN: A21 */ 1447*4882a593Smuzhiyun FN_LCD3_PXCLKB, PORT19_FN, /* PIN: C21 */ 1448*4882a593Smuzhiyun FN_LCD3_1_0_PORT18, PORT18_FN, /* PIN: B22 */ 1449*4882a593Smuzhiyun 0, PORT17_FN, /* PIN: W20 */ 1450*4882a593Smuzhiyun 0, PORT16_FN, /* PIN: W21 */ 1451*4882a593Smuzhiyun 0, PORT15_FN, /* PIN: Y19 */ 1452*4882a593Smuzhiyun 0, PORT14_FN, /* PIN: Y20 */ 1453*4882a593Smuzhiyun 0, PORT13_FN, /* PIN: Y21 */ 1454*4882a593Smuzhiyun 0, PORT12_FN, /* PIN: AA20 */ 1455*4882a593Smuzhiyun 0, PORT11_FN, /* PIN: AA21 */ 1456*4882a593Smuzhiyun 0, PORT10_FN, /* PIN: AA22 */ 1457*4882a593Smuzhiyun 0, PORT9_FN, /* PIN: V15 */ 1458*4882a593Smuzhiyun 0, PORT8_FN, /* PIN: V16 */ 1459*4882a593Smuzhiyun 0, PORT7_FN, /* PIN: V17 */ 1460*4882a593Smuzhiyun 0, PORT6_FN, /* PIN: V18 */ 1461*4882a593Smuzhiyun FN_EXT_CLKI, PORT5_FN, /* PIN: U8 */ 1462*4882a593Smuzhiyun FN_REF_CLKO, PORT4_FN, /* PIN: V8 */ 1463*4882a593Smuzhiyun FN_ERR_RST_REQB, PORT3_FN, /* PIN: U9 */ 1464*4882a593Smuzhiyun FN_JT_SEL, PORT2_FN, /* PIN: V9 */ 1465*4882a593Smuzhiyun 0, PORT1_FN, /* PIN: U10 */ 1466*4882a593Smuzhiyun 0, PORT0_FN, /* PIN: V10 */ 1467*4882a593Smuzhiyun )) 1468*4882a593Smuzhiyun }, 1469*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR1", 0xe0140204, 32, 1, GROUP( 1470*4882a593Smuzhiyun FN_SDI1_CMD, PORT63_FN, /* PIN: AC21 */ 1471*4882a593Smuzhiyun FN_SDI1_CKI, PORT62_FN, /* PIN: AA23 */ 1472*4882a593Smuzhiyun FN_SDI1_CKO, PORT61_FN, /* PIN: AB22 */ 1473*4882a593Smuzhiyun FN_SDI0_DATA7, PORT60_FN, /* PIN: Y16 */ 1474*4882a593Smuzhiyun FN_SDI0_DATA6, PORT59_FN, /* PIN: AA16 */ 1475*4882a593Smuzhiyun FN_SDI0_DATA5, PORT58_FN, /* PIN: Y15 */ 1476*4882a593Smuzhiyun FN_SDI0_DATA4, PORT57_FN, /* PIN: AA15 */ 1477*4882a593Smuzhiyun FN_SDI0_DATA3, PORT56_FN, /* PIN: Y14 */ 1478*4882a593Smuzhiyun FN_SDI0_DATA2, PORT55_FN, /* PIN: AA14 */ 1479*4882a593Smuzhiyun FN_SDI0_DATA1, PORT54_FN, /* PIN: Y13 */ 1480*4882a593Smuzhiyun FN_SDI0_DATA0, PORT53_FN, /* PIN: AA13 */ 1481*4882a593Smuzhiyun FN_SDI0_CMD, PORT52_FN, /* PIN: Y12 */ 1482*4882a593Smuzhiyun FN_SDI0_CKI, PORT51_FN, /* PIN: AC18 */ 1483*4882a593Smuzhiyun FN_SDI0_CKO, PORT50_FN, /* PIN: AB18 */ 1484*4882a593Smuzhiyun 0, PORT49_FN, /* PIN: AB16 */ 1485*4882a593Smuzhiyun FN_SD_CKI, PORT48_FN, /* PIN: AC19 */ 1486*4882a593Smuzhiyun FN_IIC_1_0_PORT47, PORT47_FN, /* PIN: Y8 */ 1487*4882a593Smuzhiyun FN_IIC_1_0_PORT46, PORT46_FN, /* PIN: Y9 */ 1488*4882a593Smuzhiyun FN_IIC0_SDA, PORT45_FN, /* PIN: AA8 */ 1489*4882a593Smuzhiyun FN_IIC0_SCL, PORT44_FN, /* PIN: AA9 */ 1490*4882a593Smuzhiyun FN_LCD3_11_10_PORT43, PORT43_FN, /* PIN: A15 */ 1491*4882a593Smuzhiyun FN_LCD3_11_10_PORT42, PORT42_FN, /* PIN: A16 */ 1492*4882a593Smuzhiyun FN_LCD3_11_10_PORT41, PORT41_FN, /* PIN: A17 */ 1493*4882a593Smuzhiyun FN_LCD3_11_10_PORT40, PORT40_FN, /* PIN: A18 */ 1494*4882a593Smuzhiyun FN_LCD3_9_8_PORT39, PORT39_FN, /* PIN: D18 */ 1495*4882a593Smuzhiyun FN_LCD3_9_8_PORT38, PORT38_FN, /* PIN: C18 */ 1496*4882a593Smuzhiyun FN_LCD3_R5, PORT37_FN, /* PIN: B18 */ 1497*4882a593Smuzhiyun FN_LCD3_R4, PORT36_FN, /* PIN: C19 */ 1498*4882a593Smuzhiyun FN_LCD3_R3, PORT35_FN, /* PIN: B19 */ 1499*4882a593Smuzhiyun FN_LCD3_R2, PORT34_FN, /* PIN: A19 */ 1500*4882a593Smuzhiyun FN_LCD3_R1, PORT33_FN, /* PIN: B20 */ 1501*4882a593Smuzhiyun FN_LCD3_R0, PORT32_FN, /* PIN: A20 */ 1502*4882a593Smuzhiyun )) 1503*4882a593Smuzhiyun }, 1504*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR2", 0xe0140208, 32, 1, GROUP( 1505*4882a593Smuzhiyun FN_AB_1_0_PORT95, PORT95_FN, /* PIN: L21 */ 1506*4882a593Smuzhiyun FN_AB_1_0_PORT94, PORT94_FN, /* PIN: K21 */ 1507*4882a593Smuzhiyun FN_AB_1_0_PORT93, PORT93_FN, /* PIN: J21 */ 1508*4882a593Smuzhiyun FN_AB_7_6_PORT92, PORT92_FN, /* PIN: J22 */ 1509*4882a593Smuzhiyun FN_AB_7_6_PORT91, PORT91_FN, /* PIN: H21 */ 1510*4882a593Smuzhiyun FN_AB_5_4_PORT90, PORT90_FN, /* PIN: H22 */ 1511*4882a593Smuzhiyun FN_AB_5_4_PORT89, PORT89_FN, /* PIN: H23 */ 1512*4882a593Smuzhiyun FN_AB_3_2_PORT88, PORT88_FN, /* PIN: G21 */ 1513*4882a593Smuzhiyun FN_AB_3_2_PORT87, PORT87_FN, /* PIN: G22 */ 1514*4882a593Smuzhiyun FN_AB_3_2_PORT86, PORT86_FN, /* PIN: G23 */ 1515*4882a593Smuzhiyun FN_AB_3_2_PORT85, PORT85_FN, /* PIN: F21 */ 1516*4882a593Smuzhiyun FN_AB_1_0_PORT84, PORT84_FN, /* PIN: F22 */ 1517*4882a593Smuzhiyun FN_AB_1_0_PORT83, PORT83_FN, /* PIN: F23 */ 1518*4882a593Smuzhiyun FN_AB_1_0_PORT82, PORT82_FN, /* PIN: E22 */ 1519*4882a593Smuzhiyun FN_AB_1_0_PORT81, PORT81_FN, /* PIN: E23 */ 1520*4882a593Smuzhiyun FN_AB_1_0_PORT80, PORT80_FN, /* PIN: D22 */ 1521*4882a593Smuzhiyun FN_AB_1_0_PORT79, PORT79_FN, /* PIN: D23 */ 1522*4882a593Smuzhiyun FN_AB_1_0_PORT78, PORT78_FN, /* PIN: C22 */ 1523*4882a593Smuzhiyun FN_AB_1_0_PORT77, PORT77_FN, /* PIN: C23 */ 1524*4882a593Smuzhiyun FN_AB_1_0_PORT76, PORT76_FN, /* PIN: K20 */ 1525*4882a593Smuzhiyun FN_AB_1_0_PORT75, PORT75_FN, /* PIN: L20 */ 1526*4882a593Smuzhiyun FN_AB_1_0_PORT74, PORT74_FN, /* PIN: H20 */ 1527*4882a593Smuzhiyun FN_AB_1_0_PORT73, PORT73_FN, /* PIN: J20 */ 1528*4882a593Smuzhiyun FN_AB_1_0_PORT72, PORT72_FN, /* PIN: G20 */ 1529*4882a593Smuzhiyun FN_AB_1_0_PORT71, PORT71_FN, /* PIN: F20 */ 1530*4882a593Smuzhiyun FN_AB_CSB1, PORT70_FN, /* PIN: E21 */ 1531*4882a593Smuzhiyun FN_AB_CSB0, PORT69_FN, /* PIN: D21 */ 1532*4882a593Smuzhiyun FN_AB_CLK, PORT68_FN, /* PIN: J23 */ 1533*4882a593Smuzhiyun FN_SDI1_DATA3, PORT67_FN, /* PIN: AA19 */ 1534*4882a593Smuzhiyun FN_SDI1_DATA2, PORT66_FN, /* PIN: AB19 */ 1535*4882a593Smuzhiyun FN_SDI1_DATA1, PORT65_FN, /* PIN: AB20 */ 1536*4882a593Smuzhiyun FN_SDI1_DATA0, PORT64_FN, /* PIN: AB21 */ 1537*4882a593Smuzhiyun )) 1538*4882a593Smuzhiyun }, 1539*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR3", 0xe014020c, 32, 1, GROUP( 1540*4882a593Smuzhiyun FN_NTSC_DATA4, PORT127_FN, /* PIN: T20 */ 1541*4882a593Smuzhiyun FN_NTSC_DATA3, PORT126_FN, /* PIN: R18 */ 1542*4882a593Smuzhiyun FN_NTSC_DATA2, PORT125_FN, /* PIN: R20 */ 1543*4882a593Smuzhiyun FN_NTSC_DATA1, PORT124_FN, /* PIN: P18 */ 1544*4882a593Smuzhiyun FN_NTSC_DATA0, PORT123_FN, /* PIN: P20 */ 1545*4882a593Smuzhiyun FN_NTSC_CLK, PORT122_FN, /* PIN: V20 */ 1546*4882a593Smuzhiyun FN_USI_9_8_PORT121, PORT121_FN, /* PIN: Y5 */ 1547*4882a593Smuzhiyun FN_USI_9_8_PORT120, PORT120_FN, /* PIN: AA4 */ 1548*4882a593Smuzhiyun FN_USI_7_6_PORT119, PORT119_FN, /* PIN: AB3 */ 1549*4882a593Smuzhiyun FN_USI_5_4_PORT118, PORT118_FN, /* PIN: AB4 */ 1550*4882a593Smuzhiyun FN_USI_5_4_PORT117, PORT117_FN, /* PIN: AC3 */ 1551*4882a593Smuzhiyun FN_USI_5_4_PORT116, PORT116_FN, /* PIN: AC4 */ 1552*4882a593Smuzhiyun FN_USI_5_4_PORT115, PORT115_FN, /* PIN: AC5 */ 1553*4882a593Smuzhiyun FN_USI_3_2_PORT114, PORT114_FN, /* PIN: Y6 */ 1554*4882a593Smuzhiyun FN_USI_3_2_PORT113, PORT113_FN, /* PIN: AA7 */ 1555*4882a593Smuzhiyun FN_USI_1_0_PORT112, PORT112_FN, /* PIN: Y7 */ 1556*4882a593Smuzhiyun FN_USI_1_0_PORT111, PORT111_FN, /* PIN: AA5 */ 1557*4882a593Smuzhiyun FN_USI_1_0_PORT110, PORT110_FN, /* PIN: AA6 */ 1558*4882a593Smuzhiyun FN_USI_1_0_PORT109, PORT109_FN, /* PIN: AB5 */ 1559*4882a593Smuzhiyun FN_USI1_DO, PORT108_FN, /* PIN: D10 */ 1560*4882a593Smuzhiyun FN_USI1_DI, PORT107_FN, /* PIN: C10 */ 1561*4882a593Smuzhiyun FN_USI0_CS2, PORT106_FN, /* PIN: B9 */ 1562*4882a593Smuzhiyun FN_USI0_CS1, PORT105_FN, /* PIN: B8 */ 1563*4882a593Smuzhiyun FN_AB_13_12_PORT104, PORT104_FN, /* PIN: M17 */ 1564*4882a593Smuzhiyun FN_AB_13_12_PORT103, PORT103_FN, /* PIN: L17 */ 1565*4882a593Smuzhiyun FN_AB_11_10_PORT102, PORT102_FN, /* PIN: N18 */ 1566*4882a593Smuzhiyun FN_AB_11_10_PORT101, PORT101_FN, /* PIN: M18 */ 1567*4882a593Smuzhiyun FN_AB_11_10_PORT100, PORT100_FN, /* PIN: L18 */ 1568*4882a593Smuzhiyun FN_AB_9_8_PORT99, PORT99_FN, /* PIN: N20 */ 1569*4882a593Smuzhiyun FN_AB_9_8_PORT98, PORT98_FN, /* PIN: M20 */ 1570*4882a593Smuzhiyun FN_AB_9_8_PORT97, PORT97_FN, /* PIN: N21 */ 1571*4882a593Smuzhiyun FN_AB_A20, PORT96_FN, /* PIN: M21 */ 1572*4882a593Smuzhiyun )) 1573*4882a593Smuzhiyun }, 1574*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR4", 0xe0140210, 32, 1, GROUP( 1575*4882a593Smuzhiyun 0, 0, 1576*4882a593Smuzhiyun FN_UART_1_0_PORT158, PORT158_FN, /* PIN: AB10 */ 1577*4882a593Smuzhiyun FN_UART_1_0_PORT157, PORT157_FN, /* PIN: AA10 */ 1578*4882a593Smuzhiyun FN_UART1_TX, PORT156_FN, /* PIN: Y10 */ 1579*4882a593Smuzhiyun FN_UART1_RX, PORT155_FN, /* PIN: Y11 */ 1580*4882a593Smuzhiyun FN_LOWPWR, PORT154_FN, /* PIN: A12 */ 1581*4882a593Smuzhiyun FN_USB_VBUS, PORT153_FN, /* PIN: AA12 */ 1582*4882a593Smuzhiyun FN_JT_TDOEN, PORT152_FN, /* PIN: F13 */ 1583*4882a593Smuzhiyun FN_JT_TDO, PORT151_FN, /* PIN: D13 */ 1584*4882a593Smuzhiyun FN_HSI_1_0_PORT150, PORT150_FN, /* PIN: M22 */ 1585*4882a593Smuzhiyun FN_HSI_1_0_PORT149, PORT149_FN, /* PIN: M23 */ 1586*4882a593Smuzhiyun FN_HSI_1_0_PORT148, PORT148_FN, /* PIN: N23 */ 1587*4882a593Smuzhiyun FN_HSI_1_0_PORT147, PORT147_FN, /* PIN: N22 */ 1588*4882a593Smuzhiyun FN_HSI_1_0_PORT146, PORT146_FN, /* PIN: L22 */ 1589*4882a593Smuzhiyun FN_HSI_1_0_PORT145, PORT145_FN, /* PIN: L23 */ 1590*4882a593Smuzhiyun FN_HSI_1_0_PORT144, PORT144_FN, /* PIN: K23 */ 1591*4882a593Smuzhiyun FN_HSI_1_0_PORT143, PORT143_FN, /* PIN: K22 */ 1592*4882a593Smuzhiyun FN_CAM_YUV7, PORT142_FN, /* PIN: V23 */ 1593*4882a593Smuzhiyun FN_CAM_YUV6, PORT141_FN, /* PIN: V22 */ 1594*4882a593Smuzhiyun FN_CAM_YUV5, PORT140_FN, /* PIN: U23 */ 1595*4882a593Smuzhiyun FN_CAM_YUV4, PORT139_FN, /* PIN: U22 */ 1596*4882a593Smuzhiyun FN_CAM_YUV3, PORT138_FN, /* PIN: U21 */ 1597*4882a593Smuzhiyun FN_CAM_YUV2, PORT137_FN, /* PIN: T23 */ 1598*4882a593Smuzhiyun FN_CAM_YUV1, PORT136_FN, /* PIN: T22 */ 1599*4882a593Smuzhiyun FN_CAM_YUV0, PORT135_FN, /* PIN: T21 */ 1600*4882a593Smuzhiyun FN_CAM_HS, PORT134_FN, /* PIN: V21 */ 1601*4882a593Smuzhiyun FN_CAM_VS, PORT133_FN, /* PIN: W22 */ 1602*4882a593Smuzhiyun FN_CAM_CLKI, PORT132_FN, /* PIN: Y23 */ 1603*4882a593Smuzhiyun FN_CAM_CLKO, PORT131_FN, /* PIN: W23 */ 1604*4882a593Smuzhiyun FN_NTSC_DATA7, PORT130_FN, /* PIN: U18 */ 1605*4882a593Smuzhiyun FN_NTSC_DATA6, PORT129_FN, /* PIN: U20 */ 1606*4882a593Smuzhiyun FN_NTSC_DATA5, PORT128_FN, /* PIN: T18 */ 1607*4882a593Smuzhiyun )) 1608*4882a593Smuzhiyun }, 1609*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("CHG_PINSEL_LCD3", 0xe0140284, 32, 1610*4882a593Smuzhiyun GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1611*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1612*4882a593Smuzhiyun 2, 2), 1613*4882a593Smuzhiyun GROUP( 1614*4882a593Smuzhiyun /* 31 - 12 */ 1615*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1616*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1617*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 1618*4882a593Smuzhiyun /* 11 - 10 */ 1619*4882a593Smuzhiyun FN_SEL_LCD3_11_10_00, FN_SEL_LCD3_11_10_01, 1620*4882a593Smuzhiyun FN_SEL_LCD3_11_10_10, 0, 1621*4882a593Smuzhiyun /* 9 - 8 */ 1622*4882a593Smuzhiyun FN_SEL_LCD3_9_8_00, 0, FN_SEL_LCD3_9_8_10, 0, 1623*4882a593Smuzhiyun /* 7 - 2 */ 1624*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1625*4882a593Smuzhiyun /* 1 - 0 */ 1626*4882a593Smuzhiyun FN_SEL_LCD3_1_0_00, FN_SEL_LCD3_1_0_01, 0, 0, 1627*4882a593Smuzhiyun )) 1628*4882a593Smuzhiyun }, 1629*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("CHG_PINSEL_UART", 0xe0140288, 32, 1630*4882a593Smuzhiyun GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1631*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1632*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 2), 1633*4882a593Smuzhiyun GROUP( 1634*4882a593Smuzhiyun /* 31 - 2 */ 1635*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1636*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1638*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1639*4882a593Smuzhiyun /* 1 - 0 */ 1640*4882a593Smuzhiyun FN_SEL_UART_1_0_00, FN_SEL_UART_1_0_01, 0, 0, 1641*4882a593Smuzhiyun )) 1642*4882a593Smuzhiyun }, 1643*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("CHG_PINSEL_IIC", 0xe014028c, 32, 1644*4882a593Smuzhiyun GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1645*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1646*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 2), 1647*4882a593Smuzhiyun GROUP( 1648*4882a593Smuzhiyun /* 31 - 2 */ 1649*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1650*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1651*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1652*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1653*4882a593Smuzhiyun /* 1 - 0 */ 1654*4882a593Smuzhiyun FN_SEL_IIC_1_0_00, FN_SEL_IIC_1_0_01, 0, 0, 1655*4882a593Smuzhiyun )) 1656*4882a593Smuzhiyun }, 1657*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("CHG_PINSEL_AB", 0xe0140294, 32, 1658*4882a593Smuzhiyun GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1659*4882a593Smuzhiyun 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2), 1660*4882a593Smuzhiyun GROUP( 1661*4882a593Smuzhiyun /* 31 - 14 */ 1662*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1663*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664*4882a593Smuzhiyun 0, 0, 0, 0, 1665*4882a593Smuzhiyun /* 13 - 12 */ 1666*4882a593Smuzhiyun FN_SEL_AB_13_12_00, 0, FN_SEL_AB_13_12_10, 0, 1667*4882a593Smuzhiyun /* 11 - 10 */ 1668*4882a593Smuzhiyun FN_SEL_AB_11_10_00, 0, FN_SEL_AB_11_10_10, 0, 1669*4882a593Smuzhiyun /* 9 - 8 */ 1670*4882a593Smuzhiyun FN_SEL_AB_9_8_00, FN_SEL_AB_9_8_01, FN_SEL_AB_9_8_10, 0, 1671*4882a593Smuzhiyun /* 7 - 6 */ 1672*4882a593Smuzhiyun FN_SEL_AB_7_6_00, FN_SEL_AB_7_6_01, FN_SEL_AB_7_6_10, 0, 1673*4882a593Smuzhiyun /* 5 - 4 */ 1674*4882a593Smuzhiyun FN_SEL_AB_5_4_00, FN_SEL_AB_5_4_01, 1675*4882a593Smuzhiyun FN_SEL_AB_5_4_10, FN_SEL_AB_5_4_11, 1676*4882a593Smuzhiyun /* 3 - 2 */ 1677*4882a593Smuzhiyun FN_SEL_AB_3_2_00, FN_SEL_AB_3_2_01, 1678*4882a593Smuzhiyun FN_SEL_AB_3_2_10, FN_SEL_AB_3_2_11, 1679*4882a593Smuzhiyun /* 1 - 0 */ 1680*4882a593Smuzhiyun FN_SEL_AB_1_0_00, 0, FN_SEL_AB_1_0_10, 0, 1681*4882a593Smuzhiyun )) 1682*4882a593Smuzhiyun }, 1683*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("CHG_PINSEL_USI", 0xe0140298, 32, 1684*4882a593Smuzhiyun GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1685*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1686*4882a593Smuzhiyun 2, 2, 2), 1687*4882a593Smuzhiyun GROUP( 1688*4882a593Smuzhiyun /* 31 - 10 */ 1689*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1690*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1691*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1692*4882a593Smuzhiyun /* 9 - 8 */ 1693*4882a593Smuzhiyun FN_SEL_USI_9_8_00, FN_SEL_USI_9_8_01, 0, 0, 1694*4882a593Smuzhiyun /* 7 - 6 */ 1695*4882a593Smuzhiyun FN_SEL_USI_7_6_00, FN_SEL_USI_7_6_01, 0, 0, 1696*4882a593Smuzhiyun /* 5 - 4 */ 1697*4882a593Smuzhiyun FN_SEL_USI_5_4_00, FN_SEL_USI_5_4_01, 0, 0, 1698*4882a593Smuzhiyun /* 3 - 2 */ 1699*4882a593Smuzhiyun FN_SEL_USI_3_2_00, FN_SEL_USI_3_2_01, 0, 0, 1700*4882a593Smuzhiyun /* 1 - 0 */ 1701*4882a593Smuzhiyun FN_SEL_USI_1_0_00, FN_SEL_USI_1_0_01, 0, 0, 1702*4882a593Smuzhiyun )) 1703*4882a593Smuzhiyun }, 1704*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("CHG_PINSEL_HSI", 0xe01402a8, 32, 1705*4882a593Smuzhiyun GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1706*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1707*4882a593Smuzhiyun 1, 1, 1, 1, 1, 1, 2), 1708*4882a593Smuzhiyun GROUP( 1709*4882a593Smuzhiyun /* 31 - 2 */ 1710*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1711*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1713*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1714*4882a593Smuzhiyun /* 1 - 0 */ 1715*4882a593Smuzhiyun FN_SEL_HSI_1_0_00, FN_SEL_HSI_1_0_01, 0, 0, 1716*4882a593Smuzhiyun )) 1717*4882a593Smuzhiyun }, 1718*4882a593Smuzhiyun { }, 1719*4882a593Smuzhiyun }; 1720*4882a593Smuzhiyun 1721*4882a593Smuzhiyun const struct sh_pfc_soc_info emev2_pinmux_info = { 1722*4882a593Smuzhiyun .name = "emev2_pfc", 1723*4882a593Smuzhiyun 1724*4882a593Smuzhiyun .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 1725*4882a593Smuzhiyun 1726*4882a593Smuzhiyun .pins = pinmux_pins, 1727*4882a593Smuzhiyun .nr_pins = ARRAY_SIZE(pinmux_pins), 1728*4882a593Smuzhiyun .groups = pinmux_groups, 1729*4882a593Smuzhiyun .nr_groups = ARRAY_SIZE(pinmux_groups), 1730*4882a593Smuzhiyun .functions = pinmux_functions, 1731*4882a593Smuzhiyun .nr_functions = ARRAY_SIZE(pinmux_functions), 1732*4882a593Smuzhiyun 1733*4882a593Smuzhiyun .cfg_regs = pinmux_config_regs, 1734*4882a593Smuzhiyun 1735*4882a593Smuzhiyun .pinmux_data = pinmux_data, 1736*4882a593Smuzhiyun .pinmux_data_size = ARRAY_SIZE(pinmux_data), 1737*4882a593Smuzhiyun }; 1738