1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * SH7786 Pinmux 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2008, 2009 Renesas Solutions Corp. 6*4882a593Smuzhiyun * Kuninori Morimoto <morimoto.kuninori@renesas.com> 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * Based on SH7785 pinmux 9*4882a593Smuzhiyun * 10*4882a593Smuzhiyun * Copyright (C) 2008 Magnus Damm 11*4882a593Smuzhiyun */ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <linux/init.h> 14*4882a593Smuzhiyun #include <linux/kernel.h> 15*4882a593Smuzhiyun #include <cpu/sh7786.h> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #include "sh_pfc.h" 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun enum { 20*4882a593Smuzhiyun PINMUX_RESERVED = 0, 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun PINMUX_DATA_BEGIN, 23*4882a593Smuzhiyun PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA, 24*4882a593Smuzhiyun PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA, 25*4882a593Smuzhiyun PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA, 26*4882a593Smuzhiyun PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA, 27*4882a593Smuzhiyun PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA, 28*4882a593Smuzhiyun PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA, 29*4882a593Smuzhiyun PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA, 30*4882a593Smuzhiyun PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA, 31*4882a593Smuzhiyun PE7_DATA, PE6_DATA, 32*4882a593Smuzhiyun PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA, 33*4882a593Smuzhiyun PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA, 34*4882a593Smuzhiyun PG7_DATA, PG6_DATA, PG5_DATA, 35*4882a593Smuzhiyun PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA, 36*4882a593Smuzhiyun PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA, 37*4882a593Smuzhiyun PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA, 38*4882a593Smuzhiyun PJ3_DATA, PJ2_DATA, PJ1_DATA, 39*4882a593Smuzhiyun PINMUX_DATA_END, 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun PINMUX_INPUT_BEGIN, 42*4882a593Smuzhiyun PA7_IN, PA6_IN, PA5_IN, PA4_IN, 43*4882a593Smuzhiyun PA3_IN, PA2_IN, PA1_IN, PA0_IN, 44*4882a593Smuzhiyun PB7_IN, PB6_IN, PB5_IN, PB4_IN, 45*4882a593Smuzhiyun PB3_IN, PB2_IN, PB1_IN, PB0_IN, 46*4882a593Smuzhiyun PC7_IN, PC6_IN, PC5_IN, PC4_IN, 47*4882a593Smuzhiyun PC3_IN, PC2_IN, PC1_IN, PC0_IN, 48*4882a593Smuzhiyun PD7_IN, PD6_IN, PD5_IN, PD4_IN, 49*4882a593Smuzhiyun PD3_IN, PD2_IN, PD1_IN, PD0_IN, 50*4882a593Smuzhiyun PE7_IN, PE6_IN, 51*4882a593Smuzhiyun PF7_IN, PF6_IN, PF5_IN, PF4_IN, 52*4882a593Smuzhiyun PF3_IN, PF2_IN, PF1_IN, PF0_IN, 53*4882a593Smuzhiyun PG7_IN, PG6_IN, PG5_IN, 54*4882a593Smuzhiyun PH7_IN, PH6_IN, PH5_IN, PH4_IN, 55*4882a593Smuzhiyun PH3_IN, PH2_IN, PH1_IN, PH0_IN, 56*4882a593Smuzhiyun PJ7_IN, PJ6_IN, PJ5_IN, PJ4_IN, 57*4882a593Smuzhiyun PJ3_IN, PJ2_IN, PJ1_IN, 58*4882a593Smuzhiyun PINMUX_INPUT_END, 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun PINMUX_OUTPUT_BEGIN, 61*4882a593Smuzhiyun PA7_OUT, PA6_OUT, PA5_OUT, PA4_OUT, 62*4882a593Smuzhiyun PA3_OUT, PA2_OUT, PA1_OUT, PA0_OUT, 63*4882a593Smuzhiyun PB7_OUT, PB6_OUT, PB5_OUT, PB4_OUT, 64*4882a593Smuzhiyun PB3_OUT, PB2_OUT, PB1_OUT, PB0_OUT, 65*4882a593Smuzhiyun PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT, 66*4882a593Smuzhiyun PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT, 67*4882a593Smuzhiyun PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT, 68*4882a593Smuzhiyun PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT, 69*4882a593Smuzhiyun PE7_OUT, PE6_OUT, 70*4882a593Smuzhiyun PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT, 71*4882a593Smuzhiyun PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT, 72*4882a593Smuzhiyun PG7_OUT, PG6_OUT, PG5_OUT, 73*4882a593Smuzhiyun PH7_OUT, PH6_OUT, PH5_OUT, PH4_OUT, 74*4882a593Smuzhiyun PH3_OUT, PH2_OUT, PH1_OUT, PH0_OUT, 75*4882a593Smuzhiyun PJ7_OUT, PJ6_OUT, PJ5_OUT, PJ4_OUT, 76*4882a593Smuzhiyun PJ3_OUT, PJ2_OUT, PJ1_OUT, 77*4882a593Smuzhiyun PINMUX_OUTPUT_END, 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun PINMUX_FUNCTION_BEGIN, 80*4882a593Smuzhiyun PA7_FN, PA6_FN, PA5_FN, PA4_FN, 81*4882a593Smuzhiyun PA3_FN, PA2_FN, PA1_FN, PA0_FN, 82*4882a593Smuzhiyun PB7_FN, PB6_FN, PB5_FN, PB4_FN, 83*4882a593Smuzhiyun PB3_FN, PB2_FN, PB1_FN, PB0_FN, 84*4882a593Smuzhiyun PC7_FN, PC6_FN, PC5_FN, PC4_FN, 85*4882a593Smuzhiyun PC3_FN, PC2_FN, PC1_FN, PC0_FN, 86*4882a593Smuzhiyun PD7_FN, PD6_FN, PD5_FN, PD4_FN, 87*4882a593Smuzhiyun PD3_FN, PD2_FN, PD1_FN, PD0_FN, 88*4882a593Smuzhiyun PE7_FN, PE6_FN, 89*4882a593Smuzhiyun PF7_FN, PF6_FN, PF5_FN, PF4_FN, 90*4882a593Smuzhiyun PF3_FN, PF2_FN, PF1_FN, PF0_FN, 91*4882a593Smuzhiyun PG7_FN, PG6_FN, PG5_FN, 92*4882a593Smuzhiyun PH7_FN, PH6_FN, PH5_FN, PH4_FN, 93*4882a593Smuzhiyun PH3_FN, PH2_FN, PH1_FN, PH0_FN, 94*4882a593Smuzhiyun PJ7_FN, PJ6_FN, PJ5_FN, PJ4_FN, 95*4882a593Smuzhiyun PJ3_FN, PJ2_FN, PJ1_FN, 96*4882a593Smuzhiyun P1MSEL14_0, P1MSEL14_1, 97*4882a593Smuzhiyun P1MSEL13_0, P1MSEL13_1, 98*4882a593Smuzhiyun P1MSEL12_0, P1MSEL12_1, 99*4882a593Smuzhiyun P1MSEL11_0, P1MSEL11_1, 100*4882a593Smuzhiyun P1MSEL10_0, P1MSEL10_1, 101*4882a593Smuzhiyun P1MSEL9_0, P1MSEL9_1, 102*4882a593Smuzhiyun P1MSEL8_0, P1MSEL8_1, 103*4882a593Smuzhiyun P1MSEL7_0, P1MSEL7_1, 104*4882a593Smuzhiyun P1MSEL6_0, P1MSEL6_1, 105*4882a593Smuzhiyun P1MSEL5_0, P1MSEL5_1, 106*4882a593Smuzhiyun P1MSEL4_0, P1MSEL4_1, 107*4882a593Smuzhiyun P1MSEL3_0, P1MSEL3_1, 108*4882a593Smuzhiyun P1MSEL2_0, P1MSEL2_1, 109*4882a593Smuzhiyun P1MSEL1_0, P1MSEL1_1, 110*4882a593Smuzhiyun P1MSEL0_0, P1MSEL0_1, 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun P2MSEL15_0, P2MSEL15_1, 113*4882a593Smuzhiyun P2MSEL14_0, P2MSEL14_1, 114*4882a593Smuzhiyun P2MSEL13_0, P2MSEL13_1, 115*4882a593Smuzhiyun P2MSEL12_0, P2MSEL12_1, 116*4882a593Smuzhiyun P2MSEL11_0, P2MSEL11_1, 117*4882a593Smuzhiyun P2MSEL10_0, P2MSEL10_1, 118*4882a593Smuzhiyun P2MSEL9_0, P2MSEL9_1, 119*4882a593Smuzhiyun P2MSEL8_0, P2MSEL8_1, 120*4882a593Smuzhiyun P2MSEL7_0, P2MSEL7_1, 121*4882a593Smuzhiyun P2MSEL6_0, P2MSEL6_1, 122*4882a593Smuzhiyun P2MSEL5_0, P2MSEL5_1, 123*4882a593Smuzhiyun P2MSEL4_0, P2MSEL4_1, 124*4882a593Smuzhiyun P2MSEL3_0, P2MSEL3_1, 125*4882a593Smuzhiyun P2MSEL2_0, P2MSEL2_1, 126*4882a593Smuzhiyun P2MSEL1_0, P2MSEL1_1, 127*4882a593Smuzhiyun P2MSEL0_0, P2MSEL0_1, 128*4882a593Smuzhiyun PINMUX_FUNCTION_END, 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun PINMUX_MARK_BEGIN, 131*4882a593Smuzhiyun DCLKIN_MARK, DCLKOUT_MARK, ODDF_MARK, 132*4882a593Smuzhiyun VSYNC_MARK, HSYNC_MARK, CDE_MARK, DISP_MARK, 133*4882a593Smuzhiyun DR0_MARK, DR1_MARK, DR2_MARK, DR3_MARK, DR4_MARK, DR5_MARK, 134*4882a593Smuzhiyun DG0_MARK, DG1_MARK, DG2_MARK, DG3_MARK, DG4_MARK, DG5_MARK, 135*4882a593Smuzhiyun DB0_MARK, DB1_MARK, DB2_MARK, DB3_MARK, DB4_MARK, DB5_MARK, 136*4882a593Smuzhiyun ETH_MAGIC_MARK, ETH_LINK_MARK, ETH_TX_ER_MARK, ETH_TX_EN_MARK, 137*4882a593Smuzhiyun ETH_MDIO_MARK, ETH_RX_CLK_MARK, ETH_MDC_MARK, ETH_COL_MARK, 138*4882a593Smuzhiyun ETH_TX_CLK_MARK, ETH_CRS_MARK, ETH_RX_DV_MARK, ETH_RX_ER_MARK, 139*4882a593Smuzhiyun ETH_TXD3_MARK, ETH_TXD2_MARK, ETH_TXD1_MARK, ETH_TXD0_MARK, 140*4882a593Smuzhiyun ETH_RXD3_MARK, ETH_RXD2_MARK, ETH_RXD1_MARK, ETH_RXD0_MARK, 141*4882a593Smuzhiyun HSPI_CLK_MARK, HSPI_CS_MARK, HSPI_RX_MARK, HSPI_TX_MARK, 142*4882a593Smuzhiyun SCIF0_CTS_MARK, SCIF0_RTS_MARK, 143*4882a593Smuzhiyun SCIF0_SCK_MARK, SCIF0_RXD_MARK, SCIF0_TXD_MARK, 144*4882a593Smuzhiyun SCIF1_SCK_MARK, SCIF1_RXD_MARK, SCIF1_TXD_MARK, 145*4882a593Smuzhiyun SCIF3_SCK_MARK, SCIF3_RXD_MARK, SCIF3_TXD_MARK, 146*4882a593Smuzhiyun SCIF4_SCK_MARK, SCIF4_RXD_MARK, SCIF4_TXD_MARK, 147*4882a593Smuzhiyun SCIF5_SCK_MARK, SCIF5_RXD_MARK, SCIF5_TXD_MARK, 148*4882a593Smuzhiyun BREQ_MARK, IOIS16_MARK, CE2B_MARK, CE2A_MARK, BACK_MARK, 149*4882a593Smuzhiyun FALE_MARK, FRB_MARK, FSTATUS_MARK, 150*4882a593Smuzhiyun FSE_MARK, FCLE_MARK, 151*4882a593Smuzhiyun DACK0_MARK, DACK1_MARK, DACK2_MARK, DACK3_MARK, 152*4882a593Smuzhiyun DREQ0_MARK, DREQ1_MARK, DREQ2_MARK, DREQ3_MARK, 153*4882a593Smuzhiyun DRAK0_MARK, DRAK1_MARK, DRAK2_MARK, DRAK3_MARK, 154*4882a593Smuzhiyun USB_OVC1_MARK, USB_OVC0_MARK, 155*4882a593Smuzhiyun USB_PENC1_MARK, USB_PENC0_MARK, 156*4882a593Smuzhiyun HAC_RES_MARK, 157*4882a593Smuzhiyun HAC1_SDOUT_MARK, HAC1_SDIN_MARK, HAC1_SYNC_MARK, HAC1_BITCLK_MARK, 158*4882a593Smuzhiyun HAC0_SDOUT_MARK, HAC0_SDIN_MARK, HAC0_SYNC_MARK, HAC0_BITCLK_MARK, 159*4882a593Smuzhiyun SSI0_SDATA_MARK, SSI0_SCK_MARK, SSI0_WS_MARK, SSI0_CLK_MARK, 160*4882a593Smuzhiyun SSI1_SDATA_MARK, SSI1_SCK_MARK, SSI1_WS_MARK, SSI1_CLK_MARK, 161*4882a593Smuzhiyun SSI2_SDATA_MARK, SSI2_SCK_MARK, SSI2_WS_MARK, 162*4882a593Smuzhiyun SSI3_SDATA_MARK, SSI3_SCK_MARK, SSI3_WS_MARK, 163*4882a593Smuzhiyun SDIF1CMD_MARK, SDIF1CD_MARK, SDIF1WP_MARK, SDIF1CLK_MARK, 164*4882a593Smuzhiyun SDIF1D3_MARK, SDIF1D2_MARK, SDIF1D1_MARK, SDIF1D0_MARK, 165*4882a593Smuzhiyun SDIF0CMD_MARK, SDIF0CD_MARK, SDIF0WP_MARK, SDIF0CLK_MARK, 166*4882a593Smuzhiyun SDIF0D3_MARK, SDIF0D2_MARK, SDIF0D1_MARK, SDIF0D0_MARK, 167*4882a593Smuzhiyun TCLK_MARK, 168*4882a593Smuzhiyun IRL7_MARK, IRL6_MARK, IRL5_MARK, IRL4_MARK, 169*4882a593Smuzhiyun PINMUX_MARK_END, 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun static const u16 pinmux_data[] = { 173*4882a593Smuzhiyun /* PA GPIO */ 174*4882a593Smuzhiyun PINMUX_DATA(PA7_DATA, PA7_IN, PA7_OUT), 175*4882a593Smuzhiyun PINMUX_DATA(PA6_DATA, PA6_IN, PA6_OUT), 176*4882a593Smuzhiyun PINMUX_DATA(PA5_DATA, PA5_IN, PA5_OUT), 177*4882a593Smuzhiyun PINMUX_DATA(PA4_DATA, PA4_IN, PA4_OUT), 178*4882a593Smuzhiyun PINMUX_DATA(PA3_DATA, PA3_IN, PA3_OUT), 179*4882a593Smuzhiyun PINMUX_DATA(PA2_DATA, PA2_IN, PA2_OUT), 180*4882a593Smuzhiyun PINMUX_DATA(PA1_DATA, PA1_IN, PA1_OUT), 181*4882a593Smuzhiyun PINMUX_DATA(PA0_DATA, PA0_IN, PA0_OUT), 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun /* PB GPIO */ 184*4882a593Smuzhiyun PINMUX_DATA(PB7_DATA, PB7_IN, PB7_OUT), 185*4882a593Smuzhiyun PINMUX_DATA(PB6_DATA, PB6_IN, PB6_OUT), 186*4882a593Smuzhiyun PINMUX_DATA(PB5_DATA, PB5_IN, PB5_OUT), 187*4882a593Smuzhiyun PINMUX_DATA(PB4_DATA, PB4_IN, PB4_OUT), 188*4882a593Smuzhiyun PINMUX_DATA(PB3_DATA, PB3_IN, PB3_OUT), 189*4882a593Smuzhiyun PINMUX_DATA(PB2_DATA, PB2_IN, PB2_OUT), 190*4882a593Smuzhiyun PINMUX_DATA(PB1_DATA, PB1_IN, PB1_OUT), 191*4882a593Smuzhiyun PINMUX_DATA(PB0_DATA, PB0_IN, PB0_OUT), 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun /* PC GPIO */ 194*4882a593Smuzhiyun PINMUX_DATA(PC7_DATA, PC7_IN, PC7_OUT), 195*4882a593Smuzhiyun PINMUX_DATA(PC6_DATA, PC6_IN, PC6_OUT), 196*4882a593Smuzhiyun PINMUX_DATA(PC5_DATA, PC5_IN, PC5_OUT), 197*4882a593Smuzhiyun PINMUX_DATA(PC4_DATA, PC4_IN, PC4_OUT), 198*4882a593Smuzhiyun PINMUX_DATA(PC3_DATA, PC3_IN, PC3_OUT), 199*4882a593Smuzhiyun PINMUX_DATA(PC2_DATA, PC2_IN, PC2_OUT), 200*4882a593Smuzhiyun PINMUX_DATA(PC1_DATA, PC1_IN, PC1_OUT), 201*4882a593Smuzhiyun PINMUX_DATA(PC0_DATA, PC0_IN, PC0_OUT), 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun /* PD GPIO */ 204*4882a593Smuzhiyun PINMUX_DATA(PD7_DATA, PD7_IN, PD7_OUT), 205*4882a593Smuzhiyun PINMUX_DATA(PD6_DATA, PD6_IN, PD6_OUT), 206*4882a593Smuzhiyun PINMUX_DATA(PD5_DATA, PD5_IN, PD5_OUT), 207*4882a593Smuzhiyun PINMUX_DATA(PD4_DATA, PD4_IN, PD4_OUT), 208*4882a593Smuzhiyun PINMUX_DATA(PD3_DATA, PD3_IN, PD3_OUT), 209*4882a593Smuzhiyun PINMUX_DATA(PD2_DATA, PD2_IN, PD2_OUT), 210*4882a593Smuzhiyun PINMUX_DATA(PD1_DATA, PD1_IN, PD1_OUT), 211*4882a593Smuzhiyun PINMUX_DATA(PD0_DATA, PD0_IN, PD0_OUT), 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun /* PE GPIO */ 214*4882a593Smuzhiyun PINMUX_DATA(PE7_DATA, PE7_IN, PE7_OUT), 215*4882a593Smuzhiyun PINMUX_DATA(PE6_DATA, PE6_IN, PE6_OUT), 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun /* PF GPIO */ 218*4882a593Smuzhiyun PINMUX_DATA(PF7_DATA, PF7_IN, PF7_OUT), 219*4882a593Smuzhiyun PINMUX_DATA(PF6_DATA, PF6_IN, PF6_OUT), 220*4882a593Smuzhiyun PINMUX_DATA(PF5_DATA, PF5_IN, PF5_OUT), 221*4882a593Smuzhiyun PINMUX_DATA(PF4_DATA, PF4_IN, PF4_OUT), 222*4882a593Smuzhiyun PINMUX_DATA(PF3_DATA, PF3_IN, PF3_OUT), 223*4882a593Smuzhiyun PINMUX_DATA(PF2_DATA, PF2_IN, PF2_OUT), 224*4882a593Smuzhiyun PINMUX_DATA(PF1_DATA, PF1_IN, PF1_OUT), 225*4882a593Smuzhiyun PINMUX_DATA(PF0_DATA, PF0_IN, PF0_OUT), 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun /* PG GPIO */ 228*4882a593Smuzhiyun PINMUX_DATA(PG7_DATA, PG7_IN, PG7_OUT), 229*4882a593Smuzhiyun PINMUX_DATA(PG6_DATA, PG6_IN, PG6_OUT), 230*4882a593Smuzhiyun PINMUX_DATA(PG5_DATA, PG5_IN, PG5_OUT), 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun /* PH GPIO */ 233*4882a593Smuzhiyun PINMUX_DATA(PH7_DATA, PH7_IN, PH7_OUT), 234*4882a593Smuzhiyun PINMUX_DATA(PH6_DATA, PH6_IN, PH6_OUT), 235*4882a593Smuzhiyun PINMUX_DATA(PH5_DATA, PH5_IN, PH5_OUT), 236*4882a593Smuzhiyun PINMUX_DATA(PH4_DATA, PH4_IN, PH4_OUT), 237*4882a593Smuzhiyun PINMUX_DATA(PH3_DATA, PH3_IN, PH3_OUT), 238*4882a593Smuzhiyun PINMUX_DATA(PH2_DATA, PH2_IN, PH2_OUT), 239*4882a593Smuzhiyun PINMUX_DATA(PH1_DATA, PH1_IN, PH1_OUT), 240*4882a593Smuzhiyun PINMUX_DATA(PH0_DATA, PH0_IN, PH0_OUT), 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun /* PJ GPIO */ 243*4882a593Smuzhiyun PINMUX_DATA(PJ7_DATA, PJ7_IN, PJ7_OUT), 244*4882a593Smuzhiyun PINMUX_DATA(PJ6_DATA, PJ6_IN, PJ6_OUT), 245*4882a593Smuzhiyun PINMUX_DATA(PJ5_DATA, PJ5_IN, PJ5_OUT), 246*4882a593Smuzhiyun PINMUX_DATA(PJ4_DATA, PJ4_IN, PJ4_OUT), 247*4882a593Smuzhiyun PINMUX_DATA(PJ3_DATA, PJ3_IN, PJ3_OUT), 248*4882a593Smuzhiyun PINMUX_DATA(PJ2_DATA, PJ2_IN, PJ2_OUT), 249*4882a593Smuzhiyun PINMUX_DATA(PJ1_DATA, PJ1_IN, PJ1_OUT), 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun /* PA FN */ 252*4882a593Smuzhiyun PINMUX_DATA(CDE_MARK, P1MSEL2_0, PA7_FN), 253*4882a593Smuzhiyun PINMUX_DATA(DISP_MARK, P1MSEL2_0, PA6_FN), 254*4882a593Smuzhiyun PINMUX_DATA(DR5_MARK, P1MSEL2_0, PA5_FN), 255*4882a593Smuzhiyun PINMUX_DATA(DR4_MARK, P1MSEL2_0, PA4_FN), 256*4882a593Smuzhiyun PINMUX_DATA(DR3_MARK, P1MSEL2_0, PA3_FN), 257*4882a593Smuzhiyun PINMUX_DATA(DR2_MARK, P1MSEL2_0, PA2_FN), 258*4882a593Smuzhiyun PINMUX_DATA(DR1_MARK, P1MSEL2_0, PA1_FN), 259*4882a593Smuzhiyun PINMUX_DATA(DR0_MARK, P1MSEL2_0, PA0_FN), 260*4882a593Smuzhiyun PINMUX_DATA(ETH_MAGIC_MARK, P1MSEL2_1, PA7_FN), 261*4882a593Smuzhiyun PINMUX_DATA(ETH_LINK_MARK, P1MSEL2_1, PA6_FN), 262*4882a593Smuzhiyun PINMUX_DATA(ETH_TX_ER_MARK, P1MSEL2_1, PA5_FN), 263*4882a593Smuzhiyun PINMUX_DATA(ETH_TX_EN_MARK, P1MSEL2_1, PA4_FN), 264*4882a593Smuzhiyun PINMUX_DATA(ETH_TXD3_MARK, P1MSEL2_1, PA3_FN), 265*4882a593Smuzhiyun PINMUX_DATA(ETH_TXD2_MARK, P1MSEL2_1, PA2_FN), 266*4882a593Smuzhiyun PINMUX_DATA(ETH_TXD1_MARK, P1MSEL2_1, PA1_FN), 267*4882a593Smuzhiyun PINMUX_DATA(ETH_TXD0_MARK, P1MSEL2_1, PA0_FN), 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun /* PB FN */ 270*4882a593Smuzhiyun PINMUX_DATA(VSYNC_MARK, P1MSEL3_0, PB7_FN), 271*4882a593Smuzhiyun PINMUX_DATA(ODDF_MARK, P1MSEL3_0, PB6_FN), 272*4882a593Smuzhiyun PINMUX_DATA(DG5_MARK, P1MSEL2_0, PB5_FN), 273*4882a593Smuzhiyun PINMUX_DATA(DG4_MARK, P1MSEL2_0, PB4_FN), 274*4882a593Smuzhiyun PINMUX_DATA(DG3_MARK, P1MSEL2_0, PB3_FN), 275*4882a593Smuzhiyun PINMUX_DATA(DG2_MARK, P1MSEL2_0, PB2_FN), 276*4882a593Smuzhiyun PINMUX_DATA(DG1_MARK, P1MSEL2_0, PB1_FN), 277*4882a593Smuzhiyun PINMUX_DATA(DG0_MARK, P1MSEL2_0, PB0_FN), 278*4882a593Smuzhiyun PINMUX_DATA(HSPI_CLK_MARK, P1MSEL3_1, PB7_FN), 279*4882a593Smuzhiyun PINMUX_DATA(HSPI_CS_MARK, P1MSEL3_1, PB6_FN), 280*4882a593Smuzhiyun PINMUX_DATA(ETH_MDIO_MARK, P1MSEL2_1, PB5_FN), 281*4882a593Smuzhiyun PINMUX_DATA(ETH_RX_CLK_MARK, P1MSEL2_1, PB4_FN), 282*4882a593Smuzhiyun PINMUX_DATA(ETH_MDC_MARK, P1MSEL2_1, PB3_FN), 283*4882a593Smuzhiyun PINMUX_DATA(ETH_COL_MARK, P1MSEL2_1, PB2_FN), 284*4882a593Smuzhiyun PINMUX_DATA(ETH_TX_CLK_MARK, P1MSEL2_1, PB1_FN), 285*4882a593Smuzhiyun PINMUX_DATA(ETH_CRS_MARK, P1MSEL2_1, PB0_FN), 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun /* PC FN */ 288*4882a593Smuzhiyun PINMUX_DATA(DCLKIN_MARK, P1MSEL3_0, PC7_FN), 289*4882a593Smuzhiyun PINMUX_DATA(HSYNC_MARK, P1MSEL3_0, PC6_FN), 290*4882a593Smuzhiyun PINMUX_DATA(DB5_MARK, P1MSEL2_0, PC5_FN), 291*4882a593Smuzhiyun PINMUX_DATA(DB4_MARK, P1MSEL2_0, PC4_FN), 292*4882a593Smuzhiyun PINMUX_DATA(DB3_MARK, P1MSEL2_0, PC3_FN), 293*4882a593Smuzhiyun PINMUX_DATA(DB2_MARK, P1MSEL2_0, PC2_FN), 294*4882a593Smuzhiyun PINMUX_DATA(DB1_MARK, P1MSEL2_0, PC1_FN), 295*4882a593Smuzhiyun PINMUX_DATA(DB0_MARK, P1MSEL2_0, PC0_FN), 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun PINMUX_DATA(HSPI_RX_MARK, P1MSEL3_1, PC7_FN), 298*4882a593Smuzhiyun PINMUX_DATA(HSPI_TX_MARK, P1MSEL3_1, PC6_FN), 299*4882a593Smuzhiyun PINMUX_DATA(ETH_RXD3_MARK, P1MSEL2_1, PC5_FN), 300*4882a593Smuzhiyun PINMUX_DATA(ETH_RXD2_MARK, P1MSEL2_1, PC4_FN), 301*4882a593Smuzhiyun PINMUX_DATA(ETH_RXD1_MARK, P1MSEL2_1, PC3_FN), 302*4882a593Smuzhiyun PINMUX_DATA(ETH_RXD0_MARK, P1MSEL2_1, PC2_FN), 303*4882a593Smuzhiyun PINMUX_DATA(ETH_RX_DV_MARK, P1MSEL2_1, PC1_FN), 304*4882a593Smuzhiyun PINMUX_DATA(ETH_RX_ER_MARK, P1MSEL2_1, PC0_FN), 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun /* PD FN */ 307*4882a593Smuzhiyun PINMUX_DATA(DCLKOUT_MARK, PD7_FN), 308*4882a593Smuzhiyun PINMUX_DATA(SCIF1_SCK_MARK, PD6_FN), 309*4882a593Smuzhiyun PINMUX_DATA(SCIF1_RXD_MARK, PD5_FN), 310*4882a593Smuzhiyun PINMUX_DATA(SCIF1_TXD_MARK, PD4_FN), 311*4882a593Smuzhiyun PINMUX_DATA(DACK1_MARK, P1MSEL13_1, P1MSEL12_0, PD3_FN), 312*4882a593Smuzhiyun PINMUX_DATA(BACK_MARK, P1MSEL13_0, P1MSEL12_1, PD3_FN), 313*4882a593Smuzhiyun PINMUX_DATA(FALE_MARK, P1MSEL13_0, P1MSEL12_0, PD3_FN), 314*4882a593Smuzhiyun PINMUX_DATA(DACK0_MARK, P1MSEL14_1, PD2_FN), 315*4882a593Smuzhiyun PINMUX_DATA(FCLE_MARK, P1MSEL14_0, PD2_FN), 316*4882a593Smuzhiyun PINMUX_DATA(DREQ1_MARK, P1MSEL10_0, P1MSEL9_1, PD1_FN), 317*4882a593Smuzhiyun PINMUX_DATA(BREQ_MARK, P1MSEL10_1, P1MSEL9_0, PD1_FN), 318*4882a593Smuzhiyun PINMUX_DATA(USB_OVC1_MARK, P1MSEL10_0, P1MSEL9_0, PD1_FN), 319*4882a593Smuzhiyun PINMUX_DATA(DREQ0_MARK, P1MSEL11_1, PD0_FN), 320*4882a593Smuzhiyun PINMUX_DATA(USB_OVC0_MARK, P1MSEL11_0, PD0_FN), 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun /* PE FN */ 323*4882a593Smuzhiyun PINMUX_DATA(USB_PENC1_MARK, PE7_FN), 324*4882a593Smuzhiyun PINMUX_DATA(USB_PENC0_MARK, PE6_FN), 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun /* PF FN */ 327*4882a593Smuzhiyun PINMUX_DATA(HAC1_SDOUT_MARK, P2MSEL15_0, P2MSEL14_0, PF7_FN), 328*4882a593Smuzhiyun PINMUX_DATA(HAC1_SDIN_MARK, P2MSEL15_0, P2MSEL14_0, PF6_FN), 329*4882a593Smuzhiyun PINMUX_DATA(HAC1_SYNC_MARK, P2MSEL15_0, P2MSEL14_0, PF5_FN), 330*4882a593Smuzhiyun PINMUX_DATA(HAC1_BITCLK_MARK, P2MSEL15_0, P2MSEL14_0, PF4_FN), 331*4882a593Smuzhiyun PINMUX_DATA(HAC0_SDOUT_MARK, P2MSEL13_0, P2MSEL12_0, PF3_FN), 332*4882a593Smuzhiyun PINMUX_DATA(HAC0_SDIN_MARK, P2MSEL13_0, P2MSEL12_0, PF2_FN), 333*4882a593Smuzhiyun PINMUX_DATA(HAC0_SYNC_MARK, P2MSEL13_0, P2MSEL12_0, PF1_FN), 334*4882a593Smuzhiyun PINMUX_DATA(HAC0_BITCLK_MARK, P2MSEL13_0, P2MSEL12_0, PF0_FN), 335*4882a593Smuzhiyun PINMUX_DATA(SSI1_SDATA_MARK, P2MSEL15_0, P2MSEL14_1, PF7_FN), 336*4882a593Smuzhiyun PINMUX_DATA(SSI1_SCK_MARK, P2MSEL15_0, P2MSEL14_1, PF6_FN), 337*4882a593Smuzhiyun PINMUX_DATA(SSI1_WS_MARK, P2MSEL15_0, P2MSEL14_1, PF5_FN), 338*4882a593Smuzhiyun PINMUX_DATA(SSI1_CLK_MARK, P2MSEL15_0, P2MSEL14_1, PF4_FN), 339*4882a593Smuzhiyun PINMUX_DATA(SSI0_SDATA_MARK, P2MSEL13_0, P2MSEL12_1, PF3_FN), 340*4882a593Smuzhiyun PINMUX_DATA(SSI0_SCK_MARK, P2MSEL13_0, P2MSEL12_1, PF2_FN), 341*4882a593Smuzhiyun PINMUX_DATA(SSI0_WS_MARK, P2MSEL13_0, P2MSEL12_1, PF1_FN), 342*4882a593Smuzhiyun PINMUX_DATA(SSI0_CLK_MARK, P2MSEL13_0, P2MSEL12_1, PF0_FN), 343*4882a593Smuzhiyun PINMUX_DATA(SDIF1CMD_MARK, P2MSEL15_1, P2MSEL14_0, PF7_FN), 344*4882a593Smuzhiyun PINMUX_DATA(SDIF1CD_MARK, P2MSEL15_1, P2MSEL14_0, PF6_FN), 345*4882a593Smuzhiyun PINMUX_DATA(SDIF1WP_MARK, P2MSEL15_1, P2MSEL14_0, PF5_FN), 346*4882a593Smuzhiyun PINMUX_DATA(SDIF1CLK_MARK, P2MSEL15_1, P2MSEL14_0, PF4_FN), 347*4882a593Smuzhiyun PINMUX_DATA(SDIF1D3_MARK, P2MSEL13_1, P2MSEL12_0, PF3_FN), 348*4882a593Smuzhiyun PINMUX_DATA(SDIF1D2_MARK, P2MSEL13_1, P2MSEL12_0, PF2_FN), 349*4882a593Smuzhiyun PINMUX_DATA(SDIF1D1_MARK, P2MSEL13_1, P2MSEL12_0, PF1_FN), 350*4882a593Smuzhiyun PINMUX_DATA(SDIF1D0_MARK, P2MSEL13_1, P2MSEL12_0, PF0_FN), 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun /* PG FN */ 353*4882a593Smuzhiyun PINMUX_DATA(SCIF3_SCK_MARK, P1MSEL8_0, PG7_FN), 354*4882a593Smuzhiyun PINMUX_DATA(SSI2_SDATA_MARK, P1MSEL8_1, PG7_FN), 355*4882a593Smuzhiyun PINMUX_DATA(SCIF3_RXD_MARK, P1MSEL7_0, P1MSEL6_0, PG6_FN), 356*4882a593Smuzhiyun PINMUX_DATA(SSI2_SCK_MARK, P1MSEL7_1, P1MSEL6_0, PG6_FN), 357*4882a593Smuzhiyun PINMUX_DATA(TCLK_MARK, P1MSEL7_0, P1MSEL6_1, PG6_FN), 358*4882a593Smuzhiyun PINMUX_DATA(SCIF3_TXD_MARK, P1MSEL5_0, P1MSEL4_0, PG5_FN), 359*4882a593Smuzhiyun PINMUX_DATA(SSI2_WS_MARK, P1MSEL5_1, P1MSEL4_0, PG5_FN), 360*4882a593Smuzhiyun PINMUX_DATA(HAC_RES_MARK, P1MSEL5_0, P1MSEL4_1, PG5_FN), 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun /* PH FN */ 363*4882a593Smuzhiyun PINMUX_DATA(DACK3_MARK, P2MSEL4_0, PH7_FN), 364*4882a593Smuzhiyun PINMUX_DATA(SDIF0CMD_MARK, P2MSEL4_1, PH7_FN), 365*4882a593Smuzhiyun PINMUX_DATA(DACK2_MARK, P2MSEL4_0, PH6_FN), 366*4882a593Smuzhiyun PINMUX_DATA(SDIF0CD_MARK, P2MSEL4_1, PH6_FN), 367*4882a593Smuzhiyun PINMUX_DATA(DREQ3_MARK, P2MSEL4_0, PH5_FN), 368*4882a593Smuzhiyun PINMUX_DATA(SDIF0WP_MARK, P2MSEL4_1, PH5_FN), 369*4882a593Smuzhiyun PINMUX_DATA(DREQ2_MARK, P2MSEL3_0, P2MSEL2_1, PH4_FN), 370*4882a593Smuzhiyun PINMUX_DATA(SDIF0CLK_MARK, P2MSEL3_1, P2MSEL2_0, PH4_FN), 371*4882a593Smuzhiyun PINMUX_DATA(SCIF0_CTS_MARK, P2MSEL3_0, P2MSEL2_0, PH4_FN), 372*4882a593Smuzhiyun PINMUX_DATA(SDIF0D3_MARK, P2MSEL1_1, P2MSEL0_0, PH3_FN), 373*4882a593Smuzhiyun PINMUX_DATA(SCIF0_RTS_MARK, P2MSEL1_0, P2MSEL0_0, PH3_FN), 374*4882a593Smuzhiyun PINMUX_DATA(IRL7_MARK, P2MSEL1_0, P2MSEL0_1, PH3_FN), 375*4882a593Smuzhiyun PINMUX_DATA(SDIF0D2_MARK, P2MSEL1_1, P2MSEL0_0, PH2_FN), 376*4882a593Smuzhiyun PINMUX_DATA(SCIF0_SCK_MARK, P2MSEL1_0, P2MSEL0_0, PH2_FN), 377*4882a593Smuzhiyun PINMUX_DATA(IRL6_MARK, P2MSEL1_0, P2MSEL0_1, PH2_FN), 378*4882a593Smuzhiyun PINMUX_DATA(SDIF0D1_MARK, P2MSEL1_1, P2MSEL0_0, PH1_FN), 379*4882a593Smuzhiyun PINMUX_DATA(SCIF0_RXD_MARK, P2MSEL1_0, P2MSEL0_0, PH1_FN), 380*4882a593Smuzhiyun PINMUX_DATA(IRL5_MARK, P2MSEL1_0, P2MSEL0_1, PH1_FN), 381*4882a593Smuzhiyun PINMUX_DATA(SDIF0D0_MARK, P2MSEL1_1, P2MSEL0_0, PH0_FN), 382*4882a593Smuzhiyun PINMUX_DATA(SCIF0_TXD_MARK, P2MSEL1_0, P2MSEL0_0, PH0_FN), 383*4882a593Smuzhiyun PINMUX_DATA(IRL4_MARK, P2MSEL1_0, P2MSEL0_1, PH0_FN), 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun /* PJ FN */ 386*4882a593Smuzhiyun PINMUX_DATA(SCIF5_SCK_MARK, P2MSEL11_1, PJ7_FN), 387*4882a593Smuzhiyun PINMUX_DATA(FRB_MARK, P2MSEL11_0, PJ7_FN), 388*4882a593Smuzhiyun PINMUX_DATA(SCIF5_RXD_MARK, P2MSEL10_0, PJ6_FN), 389*4882a593Smuzhiyun PINMUX_DATA(IOIS16_MARK, P2MSEL10_1, PJ6_FN), 390*4882a593Smuzhiyun PINMUX_DATA(SCIF5_TXD_MARK, P2MSEL10_0, PJ5_FN), 391*4882a593Smuzhiyun PINMUX_DATA(CE2B_MARK, P2MSEL10_1, PJ5_FN), 392*4882a593Smuzhiyun PINMUX_DATA(DRAK3_MARK, P2MSEL7_0, PJ4_FN), 393*4882a593Smuzhiyun PINMUX_DATA(CE2A_MARK, P2MSEL7_1, PJ4_FN), 394*4882a593Smuzhiyun PINMUX_DATA(SCIF4_SCK_MARK, P2MSEL9_0, P2MSEL8_0, PJ3_FN), 395*4882a593Smuzhiyun PINMUX_DATA(DRAK2_MARK, P2MSEL9_0, P2MSEL8_1, PJ3_FN), 396*4882a593Smuzhiyun PINMUX_DATA(SSI3_WS_MARK, P2MSEL9_1, P2MSEL8_0, PJ3_FN), 397*4882a593Smuzhiyun PINMUX_DATA(SCIF4_RXD_MARK, P2MSEL6_1, P2MSEL5_0, PJ2_FN), 398*4882a593Smuzhiyun PINMUX_DATA(DRAK1_MARK, P2MSEL6_0, P2MSEL5_1, PJ2_FN), 399*4882a593Smuzhiyun PINMUX_DATA(FSTATUS_MARK, P2MSEL6_0, P2MSEL5_0, PJ2_FN), 400*4882a593Smuzhiyun PINMUX_DATA(SSI3_SDATA_MARK, P2MSEL6_1, P2MSEL5_1, PJ2_FN), 401*4882a593Smuzhiyun PINMUX_DATA(SCIF4_TXD_MARK, P2MSEL6_1, P2MSEL5_0, PJ1_FN), 402*4882a593Smuzhiyun PINMUX_DATA(DRAK0_MARK, P2MSEL6_0, P2MSEL5_1, PJ1_FN), 403*4882a593Smuzhiyun PINMUX_DATA(FSE_MARK, P2MSEL6_0, P2MSEL5_0, PJ1_FN), 404*4882a593Smuzhiyun PINMUX_DATA(SSI3_SCK_MARK, P2MSEL6_1, P2MSEL5_1, PJ1_FN), 405*4882a593Smuzhiyun }; 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun static const struct sh_pfc_pin pinmux_pins[] = { 408*4882a593Smuzhiyun /* PA */ 409*4882a593Smuzhiyun PINMUX_GPIO(PA7), 410*4882a593Smuzhiyun PINMUX_GPIO(PA6), 411*4882a593Smuzhiyun PINMUX_GPIO(PA5), 412*4882a593Smuzhiyun PINMUX_GPIO(PA4), 413*4882a593Smuzhiyun PINMUX_GPIO(PA3), 414*4882a593Smuzhiyun PINMUX_GPIO(PA2), 415*4882a593Smuzhiyun PINMUX_GPIO(PA1), 416*4882a593Smuzhiyun PINMUX_GPIO(PA0), 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun /* PB */ 419*4882a593Smuzhiyun PINMUX_GPIO(PB7), 420*4882a593Smuzhiyun PINMUX_GPIO(PB6), 421*4882a593Smuzhiyun PINMUX_GPIO(PB5), 422*4882a593Smuzhiyun PINMUX_GPIO(PB4), 423*4882a593Smuzhiyun PINMUX_GPIO(PB3), 424*4882a593Smuzhiyun PINMUX_GPIO(PB2), 425*4882a593Smuzhiyun PINMUX_GPIO(PB1), 426*4882a593Smuzhiyun PINMUX_GPIO(PB0), 427*4882a593Smuzhiyun 428*4882a593Smuzhiyun /* PC */ 429*4882a593Smuzhiyun PINMUX_GPIO(PC7), 430*4882a593Smuzhiyun PINMUX_GPIO(PC6), 431*4882a593Smuzhiyun PINMUX_GPIO(PC5), 432*4882a593Smuzhiyun PINMUX_GPIO(PC4), 433*4882a593Smuzhiyun PINMUX_GPIO(PC3), 434*4882a593Smuzhiyun PINMUX_GPIO(PC2), 435*4882a593Smuzhiyun PINMUX_GPIO(PC1), 436*4882a593Smuzhiyun PINMUX_GPIO(PC0), 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun /* PD */ 439*4882a593Smuzhiyun PINMUX_GPIO(PD7), 440*4882a593Smuzhiyun PINMUX_GPIO(PD6), 441*4882a593Smuzhiyun PINMUX_GPIO(PD5), 442*4882a593Smuzhiyun PINMUX_GPIO(PD4), 443*4882a593Smuzhiyun PINMUX_GPIO(PD3), 444*4882a593Smuzhiyun PINMUX_GPIO(PD2), 445*4882a593Smuzhiyun PINMUX_GPIO(PD1), 446*4882a593Smuzhiyun PINMUX_GPIO(PD0), 447*4882a593Smuzhiyun 448*4882a593Smuzhiyun /* PE */ 449*4882a593Smuzhiyun PINMUX_GPIO(PE7), 450*4882a593Smuzhiyun PINMUX_GPIO(PE6), 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun /* PF */ 453*4882a593Smuzhiyun PINMUX_GPIO(PF7), 454*4882a593Smuzhiyun PINMUX_GPIO(PF6), 455*4882a593Smuzhiyun PINMUX_GPIO(PF5), 456*4882a593Smuzhiyun PINMUX_GPIO(PF4), 457*4882a593Smuzhiyun PINMUX_GPIO(PF3), 458*4882a593Smuzhiyun PINMUX_GPIO(PF2), 459*4882a593Smuzhiyun PINMUX_GPIO(PF1), 460*4882a593Smuzhiyun PINMUX_GPIO(PF0), 461*4882a593Smuzhiyun 462*4882a593Smuzhiyun /* PG */ 463*4882a593Smuzhiyun PINMUX_GPIO(PG7), 464*4882a593Smuzhiyun PINMUX_GPIO(PG6), 465*4882a593Smuzhiyun PINMUX_GPIO(PG5), 466*4882a593Smuzhiyun 467*4882a593Smuzhiyun /* PH */ 468*4882a593Smuzhiyun PINMUX_GPIO(PH7), 469*4882a593Smuzhiyun PINMUX_GPIO(PH6), 470*4882a593Smuzhiyun PINMUX_GPIO(PH5), 471*4882a593Smuzhiyun PINMUX_GPIO(PH4), 472*4882a593Smuzhiyun PINMUX_GPIO(PH3), 473*4882a593Smuzhiyun PINMUX_GPIO(PH2), 474*4882a593Smuzhiyun PINMUX_GPIO(PH1), 475*4882a593Smuzhiyun PINMUX_GPIO(PH0), 476*4882a593Smuzhiyun 477*4882a593Smuzhiyun /* PJ */ 478*4882a593Smuzhiyun PINMUX_GPIO(PJ7), 479*4882a593Smuzhiyun PINMUX_GPIO(PJ6), 480*4882a593Smuzhiyun PINMUX_GPIO(PJ5), 481*4882a593Smuzhiyun PINMUX_GPIO(PJ4), 482*4882a593Smuzhiyun PINMUX_GPIO(PJ3), 483*4882a593Smuzhiyun PINMUX_GPIO(PJ2), 484*4882a593Smuzhiyun PINMUX_GPIO(PJ1), 485*4882a593Smuzhiyun }; 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins) 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun static const struct pinmux_func pinmux_func_gpios[] = { 490*4882a593Smuzhiyun /* FN */ 491*4882a593Smuzhiyun GPIO_FN(CDE), 492*4882a593Smuzhiyun GPIO_FN(ETH_MAGIC), 493*4882a593Smuzhiyun GPIO_FN(DISP), 494*4882a593Smuzhiyun GPIO_FN(ETH_LINK), 495*4882a593Smuzhiyun GPIO_FN(DR5), 496*4882a593Smuzhiyun GPIO_FN(ETH_TX_ER), 497*4882a593Smuzhiyun GPIO_FN(DR4), 498*4882a593Smuzhiyun GPIO_FN(ETH_TX_EN), 499*4882a593Smuzhiyun GPIO_FN(DR3), 500*4882a593Smuzhiyun GPIO_FN(ETH_TXD3), 501*4882a593Smuzhiyun GPIO_FN(DR2), 502*4882a593Smuzhiyun GPIO_FN(ETH_TXD2), 503*4882a593Smuzhiyun GPIO_FN(DR1), 504*4882a593Smuzhiyun GPIO_FN(ETH_TXD1), 505*4882a593Smuzhiyun GPIO_FN(DR0), 506*4882a593Smuzhiyun GPIO_FN(ETH_TXD0), 507*4882a593Smuzhiyun GPIO_FN(VSYNC), 508*4882a593Smuzhiyun GPIO_FN(HSPI_CLK), 509*4882a593Smuzhiyun GPIO_FN(ODDF), 510*4882a593Smuzhiyun GPIO_FN(HSPI_CS), 511*4882a593Smuzhiyun GPIO_FN(DG5), 512*4882a593Smuzhiyun GPIO_FN(ETH_MDIO), 513*4882a593Smuzhiyun GPIO_FN(DG4), 514*4882a593Smuzhiyun GPIO_FN(ETH_RX_CLK), 515*4882a593Smuzhiyun GPIO_FN(DG3), 516*4882a593Smuzhiyun GPIO_FN(ETH_MDC), 517*4882a593Smuzhiyun GPIO_FN(DG2), 518*4882a593Smuzhiyun GPIO_FN(ETH_COL), 519*4882a593Smuzhiyun GPIO_FN(DG1), 520*4882a593Smuzhiyun GPIO_FN(ETH_TX_CLK), 521*4882a593Smuzhiyun GPIO_FN(DG0), 522*4882a593Smuzhiyun GPIO_FN(ETH_CRS), 523*4882a593Smuzhiyun GPIO_FN(DCLKIN), 524*4882a593Smuzhiyun GPIO_FN(HSPI_RX), 525*4882a593Smuzhiyun GPIO_FN(HSYNC), 526*4882a593Smuzhiyun GPIO_FN(HSPI_TX), 527*4882a593Smuzhiyun GPIO_FN(DB5), 528*4882a593Smuzhiyun GPIO_FN(ETH_RXD3), 529*4882a593Smuzhiyun GPIO_FN(DB4), 530*4882a593Smuzhiyun GPIO_FN(ETH_RXD2), 531*4882a593Smuzhiyun GPIO_FN(DB3), 532*4882a593Smuzhiyun GPIO_FN(ETH_RXD1), 533*4882a593Smuzhiyun GPIO_FN(DB2), 534*4882a593Smuzhiyun GPIO_FN(ETH_RXD0), 535*4882a593Smuzhiyun GPIO_FN(DB1), 536*4882a593Smuzhiyun GPIO_FN(ETH_RX_DV), 537*4882a593Smuzhiyun GPIO_FN(DB0), 538*4882a593Smuzhiyun GPIO_FN(ETH_RX_ER), 539*4882a593Smuzhiyun GPIO_FN(DCLKOUT), 540*4882a593Smuzhiyun GPIO_FN(SCIF1_SCK), 541*4882a593Smuzhiyun GPIO_FN(SCIF1_RXD), 542*4882a593Smuzhiyun GPIO_FN(SCIF1_TXD), 543*4882a593Smuzhiyun GPIO_FN(DACK1), 544*4882a593Smuzhiyun GPIO_FN(BACK), 545*4882a593Smuzhiyun GPIO_FN(FALE), 546*4882a593Smuzhiyun GPIO_FN(DACK0), 547*4882a593Smuzhiyun GPIO_FN(FCLE), 548*4882a593Smuzhiyun GPIO_FN(DREQ1), 549*4882a593Smuzhiyun GPIO_FN(BREQ), 550*4882a593Smuzhiyun GPIO_FN(USB_OVC1), 551*4882a593Smuzhiyun GPIO_FN(DREQ0), 552*4882a593Smuzhiyun GPIO_FN(USB_OVC0), 553*4882a593Smuzhiyun GPIO_FN(USB_PENC1), 554*4882a593Smuzhiyun GPIO_FN(USB_PENC0), 555*4882a593Smuzhiyun GPIO_FN(HAC1_SDOUT), 556*4882a593Smuzhiyun GPIO_FN(SSI1_SDATA), 557*4882a593Smuzhiyun GPIO_FN(SDIF1CMD), 558*4882a593Smuzhiyun GPIO_FN(HAC1_SDIN), 559*4882a593Smuzhiyun GPIO_FN(SSI1_SCK), 560*4882a593Smuzhiyun GPIO_FN(SDIF1CD), 561*4882a593Smuzhiyun GPIO_FN(HAC1_SYNC), 562*4882a593Smuzhiyun GPIO_FN(SSI1_WS), 563*4882a593Smuzhiyun GPIO_FN(SDIF1WP), 564*4882a593Smuzhiyun GPIO_FN(HAC1_BITCLK), 565*4882a593Smuzhiyun GPIO_FN(SSI1_CLK), 566*4882a593Smuzhiyun GPIO_FN(SDIF1CLK), 567*4882a593Smuzhiyun GPIO_FN(HAC0_SDOUT), 568*4882a593Smuzhiyun GPIO_FN(SSI0_SDATA), 569*4882a593Smuzhiyun GPIO_FN(SDIF1D3), 570*4882a593Smuzhiyun GPIO_FN(HAC0_SDIN), 571*4882a593Smuzhiyun GPIO_FN(SSI0_SCK), 572*4882a593Smuzhiyun GPIO_FN(SDIF1D2), 573*4882a593Smuzhiyun GPIO_FN(HAC0_SYNC), 574*4882a593Smuzhiyun GPIO_FN(SSI0_WS), 575*4882a593Smuzhiyun GPIO_FN(SDIF1D1), 576*4882a593Smuzhiyun GPIO_FN(HAC0_BITCLK), 577*4882a593Smuzhiyun GPIO_FN(SSI0_CLK), 578*4882a593Smuzhiyun GPIO_FN(SDIF1D0), 579*4882a593Smuzhiyun GPIO_FN(SCIF3_SCK), 580*4882a593Smuzhiyun GPIO_FN(SSI2_SDATA), 581*4882a593Smuzhiyun GPIO_FN(SCIF3_RXD), 582*4882a593Smuzhiyun GPIO_FN(TCLK), 583*4882a593Smuzhiyun GPIO_FN(SSI2_SCK), 584*4882a593Smuzhiyun GPIO_FN(SCIF3_TXD), 585*4882a593Smuzhiyun GPIO_FN(HAC_RES), 586*4882a593Smuzhiyun GPIO_FN(SSI2_WS), 587*4882a593Smuzhiyun GPIO_FN(DACK3), 588*4882a593Smuzhiyun GPIO_FN(SDIF0CMD), 589*4882a593Smuzhiyun GPIO_FN(DACK2), 590*4882a593Smuzhiyun GPIO_FN(SDIF0CD), 591*4882a593Smuzhiyun GPIO_FN(DREQ3), 592*4882a593Smuzhiyun GPIO_FN(SDIF0WP), 593*4882a593Smuzhiyun GPIO_FN(SCIF0_CTS), 594*4882a593Smuzhiyun GPIO_FN(DREQ2), 595*4882a593Smuzhiyun GPIO_FN(SDIF0CLK), 596*4882a593Smuzhiyun GPIO_FN(SCIF0_RTS), 597*4882a593Smuzhiyun GPIO_FN(IRL7), 598*4882a593Smuzhiyun GPIO_FN(SDIF0D3), 599*4882a593Smuzhiyun GPIO_FN(SCIF0_SCK), 600*4882a593Smuzhiyun GPIO_FN(IRL6), 601*4882a593Smuzhiyun GPIO_FN(SDIF0D2), 602*4882a593Smuzhiyun GPIO_FN(SCIF0_RXD), 603*4882a593Smuzhiyun GPIO_FN(IRL5), 604*4882a593Smuzhiyun GPIO_FN(SDIF0D1), 605*4882a593Smuzhiyun GPIO_FN(SCIF0_TXD), 606*4882a593Smuzhiyun GPIO_FN(IRL4), 607*4882a593Smuzhiyun GPIO_FN(SDIF0D0), 608*4882a593Smuzhiyun GPIO_FN(SCIF5_SCK), 609*4882a593Smuzhiyun GPIO_FN(FRB), 610*4882a593Smuzhiyun GPIO_FN(SCIF5_RXD), 611*4882a593Smuzhiyun GPIO_FN(IOIS16), 612*4882a593Smuzhiyun GPIO_FN(SCIF5_TXD), 613*4882a593Smuzhiyun GPIO_FN(CE2B), 614*4882a593Smuzhiyun GPIO_FN(DRAK3), 615*4882a593Smuzhiyun GPIO_FN(CE2A), 616*4882a593Smuzhiyun GPIO_FN(SCIF4_SCK), 617*4882a593Smuzhiyun GPIO_FN(DRAK2), 618*4882a593Smuzhiyun GPIO_FN(SSI3_WS), 619*4882a593Smuzhiyun GPIO_FN(SCIF4_RXD), 620*4882a593Smuzhiyun GPIO_FN(DRAK1), 621*4882a593Smuzhiyun GPIO_FN(SSI3_SDATA), 622*4882a593Smuzhiyun GPIO_FN(FSTATUS), 623*4882a593Smuzhiyun GPIO_FN(SCIF4_TXD), 624*4882a593Smuzhiyun GPIO_FN(DRAK0), 625*4882a593Smuzhiyun GPIO_FN(SSI3_SCK), 626*4882a593Smuzhiyun GPIO_FN(FSE), 627*4882a593Smuzhiyun }; 628*4882a593Smuzhiyun 629*4882a593Smuzhiyun static const struct pinmux_cfg_reg pinmux_config_regs[] = { 630*4882a593Smuzhiyun { PINMUX_CFG_REG("PACR", 0xffcc0000, 16, 2, GROUP( 631*4882a593Smuzhiyun PA7_FN, PA7_OUT, PA7_IN, 0, 632*4882a593Smuzhiyun PA6_FN, PA6_OUT, PA6_IN, 0, 633*4882a593Smuzhiyun PA5_FN, PA5_OUT, PA5_IN, 0, 634*4882a593Smuzhiyun PA4_FN, PA4_OUT, PA4_IN, 0, 635*4882a593Smuzhiyun PA3_FN, PA3_OUT, PA3_IN, 0, 636*4882a593Smuzhiyun PA2_FN, PA2_OUT, PA2_IN, 0, 637*4882a593Smuzhiyun PA1_FN, PA1_OUT, PA1_IN, 0, 638*4882a593Smuzhiyun PA0_FN, PA0_OUT, PA0_IN, 0 )) 639*4882a593Smuzhiyun }, 640*4882a593Smuzhiyun { PINMUX_CFG_REG("PBCR", 0xffcc0002, 16, 2, GROUP( 641*4882a593Smuzhiyun PB7_FN, PB7_OUT, PB7_IN, 0, 642*4882a593Smuzhiyun PB6_FN, PB6_OUT, PB6_IN, 0, 643*4882a593Smuzhiyun PB5_FN, PB5_OUT, PB5_IN, 0, 644*4882a593Smuzhiyun PB4_FN, PB4_OUT, PB4_IN, 0, 645*4882a593Smuzhiyun PB3_FN, PB3_OUT, PB3_IN, 0, 646*4882a593Smuzhiyun PB2_FN, PB2_OUT, PB2_IN, 0, 647*4882a593Smuzhiyun PB1_FN, PB1_OUT, PB1_IN, 0, 648*4882a593Smuzhiyun PB0_FN, PB0_OUT, PB0_IN, 0 )) 649*4882a593Smuzhiyun }, 650*4882a593Smuzhiyun { PINMUX_CFG_REG("PCCR", 0xffcc0004, 16, 2, GROUP( 651*4882a593Smuzhiyun PC7_FN, PC7_OUT, PC7_IN, 0, 652*4882a593Smuzhiyun PC6_FN, PC6_OUT, PC6_IN, 0, 653*4882a593Smuzhiyun PC5_FN, PC5_OUT, PC5_IN, 0, 654*4882a593Smuzhiyun PC4_FN, PC4_OUT, PC4_IN, 0, 655*4882a593Smuzhiyun PC3_FN, PC3_OUT, PC3_IN, 0, 656*4882a593Smuzhiyun PC2_FN, PC2_OUT, PC2_IN, 0, 657*4882a593Smuzhiyun PC1_FN, PC1_OUT, PC1_IN, 0, 658*4882a593Smuzhiyun PC0_FN, PC0_OUT, PC0_IN, 0 )) 659*4882a593Smuzhiyun }, 660*4882a593Smuzhiyun { PINMUX_CFG_REG("PDCR", 0xffcc0006, 16, 2, GROUP( 661*4882a593Smuzhiyun PD7_FN, PD7_OUT, PD7_IN, 0, 662*4882a593Smuzhiyun PD6_FN, PD6_OUT, PD6_IN, 0, 663*4882a593Smuzhiyun PD5_FN, PD5_OUT, PD5_IN, 0, 664*4882a593Smuzhiyun PD4_FN, PD4_OUT, PD4_IN, 0, 665*4882a593Smuzhiyun PD3_FN, PD3_OUT, PD3_IN, 0, 666*4882a593Smuzhiyun PD2_FN, PD2_OUT, PD2_IN, 0, 667*4882a593Smuzhiyun PD1_FN, PD1_OUT, PD1_IN, 0, 668*4882a593Smuzhiyun PD0_FN, PD0_OUT, PD0_IN, 0 )) 669*4882a593Smuzhiyun }, 670*4882a593Smuzhiyun { PINMUX_CFG_REG("PECR", 0xffcc0008, 16, 2, GROUP( 671*4882a593Smuzhiyun PE7_FN, PE7_OUT, PE7_IN, 0, 672*4882a593Smuzhiyun PE6_FN, PE6_OUT, PE6_IN, 0, 673*4882a593Smuzhiyun 0, 0, 0, 0, 674*4882a593Smuzhiyun 0, 0, 0, 0, 675*4882a593Smuzhiyun 0, 0, 0, 0, 676*4882a593Smuzhiyun 0, 0, 0, 0, 677*4882a593Smuzhiyun 0, 0, 0, 0, 678*4882a593Smuzhiyun 0, 0, 0, 0, )) 679*4882a593Smuzhiyun }, 680*4882a593Smuzhiyun { PINMUX_CFG_REG("PFCR", 0xffcc000a, 16, 2, GROUP( 681*4882a593Smuzhiyun PF7_FN, PF7_OUT, PF7_IN, 0, 682*4882a593Smuzhiyun PF6_FN, PF6_OUT, PF6_IN, 0, 683*4882a593Smuzhiyun PF5_FN, PF5_OUT, PF5_IN, 0, 684*4882a593Smuzhiyun PF4_FN, PF4_OUT, PF4_IN, 0, 685*4882a593Smuzhiyun PF3_FN, PF3_OUT, PF3_IN, 0, 686*4882a593Smuzhiyun PF2_FN, PF2_OUT, PF2_IN, 0, 687*4882a593Smuzhiyun PF1_FN, PF1_OUT, PF1_IN, 0, 688*4882a593Smuzhiyun PF0_FN, PF0_OUT, PF0_IN, 0 )) 689*4882a593Smuzhiyun }, 690*4882a593Smuzhiyun { PINMUX_CFG_REG("PGCR", 0xffcc000c, 16, 2, GROUP( 691*4882a593Smuzhiyun PG7_FN, PG7_OUT, PG7_IN, 0, 692*4882a593Smuzhiyun PG6_FN, PG6_OUT, PG6_IN, 0, 693*4882a593Smuzhiyun PG5_FN, PG5_OUT, PG5_IN, 0, 694*4882a593Smuzhiyun 0, 0, 0, 0, 695*4882a593Smuzhiyun 0, 0, 0, 0, 696*4882a593Smuzhiyun 0, 0, 0, 0, 697*4882a593Smuzhiyun 0, 0, 0, 0, 698*4882a593Smuzhiyun 0, 0, 0, 0, )) 699*4882a593Smuzhiyun }, 700*4882a593Smuzhiyun { PINMUX_CFG_REG("PHCR", 0xffcc000e, 16, 2, GROUP( 701*4882a593Smuzhiyun PH7_FN, PH7_OUT, PH7_IN, 0, 702*4882a593Smuzhiyun PH6_FN, PH6_OUT, PH6_IN, 0, 703*4882a593Smuzhiyun PH5_FN, PH5_OUT, PH5_IN, 0, 704*4882a593Smuzhiyun PH4_FN, PH4_OUT, PH4_IN, 0, 705*4882a593Smuzhiyun PH3_FN, PH3_OUT, PH3_IN, 0, 706*4882a593Smuzhiyun PH2_FN, PH2_OUT, PH2_IN, 0, 707*4882a593Smuzhiyun PH1_FN, PH1_OUT, PH1_IN, 0, 708*4882a593Smuzhiyun PH0_FN, PH0_OUT, PH0_IN, 0 )) 709*4882a593Smuzhiyun }, 710*4882a593Smuzhiyun { PINMUX_CFG_REG("PJCR", 0xffcc0010, 16, 2, GROUP( 711*4882a593Smuzhiyun PJ7_FN, PJ7_OUT, PJ7_IN, 0, 712*4882a593Smuzhiyun PJ6_FN, PJ6_OUT, PJ6_IN, 0, 713*4882a593Smuzhiyun PJ5_FN, PJ5_OUT, PJ5_IN, 0, 714*4882a593Smuzhiyun PJ4_FN, PJ4_OUT, PJ4_IN, 0, 715*4882a593Smuzhiyun PJ3_FN, PJ3_OUT, PJ3_IN, 0, 716*4882a593Smuzhiyun PJ2_FN, PJ2_OUT, PJ2_IN, 0, 717*4882a593Smuzhiyun PJ1_FN, PJ1_OUT, PJ1_IN, 0, 718*4882a593Smuzhiyun 0, 0, 0, 0, )) 719*4882a593Smuzhiyun }, 720*4882a593Smuzhiyun { PINMUX_CFG_REG("P1MSELR", 0xffcc0080, 16, 1, GROUP( 721*4882a593Smuzhiyun 0, 0, 722*4882a593Smuzhiyun P1MSEL14_0, P1MSEL14_1, 723*4882a593Smuzhiyun P1MSEL13_0, P1MSEL13_1, 724*4882a593Smuzhiyun P1MSEL12_0, P1MSEL12_1, 725*4882a593Smuzhiyun P1MSEL11_0, P1MSEL11_1, 726*4882a593Smuzhiyun P1MSEL10_0, P1MSEL10_1, 727*4882a593Smuzhiyun P1MSEL9_0, P1MSEL9_1, 728*4882a593Smuzhiyun P1MSEL8_0, P1MSEL8_1, 729*4882a593Smuzhiyun P1MSEL7_0, P1MSEL7_1, 730*4882a593Smuzhiyun P1MSEL6_0, P1MSEL6_1, 731*4882a593Smuzhiyun P1MSEL5_0, P1MSEL5_1, 732*4882a593Smuzhiyun P1MSEL4_0, P1MSEL4_1, 733*4882a593Smuzhiyun P1MSEL3_0, P1MSEL3_1, 734*4882a593Smuzhiyun P1MSEL2_0, P1MSEL2_1, 735*4882a593Smuzhiyun P1MSEL1_0, P1MSEL1_1, 736*4882a593Smuzhiyun P1MSEL0_0, P1MSEL0_1 )) 737*4882a593Smuzhiyun }, 738*4882a593Smuzhiyun { PINMUX_CFG_REG("P2MSELR", 0xffcc0082, 16, 1, GROUP( 739*4882a593Smuzhiyun P2MSEL15_0, P2MSEL15_1, 740*4882a593Smuzhiyun P2MSEL14_0, P2MSEL14_1, 741*4882a593Smuzhiyun P2MSEL13_0, P2MSEL13_1, 742*4882a593Smuzhiyun P2MSEL12_0, P2MSEL12_1, 743*4882a593Smuzhiyun P2MSEL11_0, P2MSEL11_1, 744*4882a593Smuzhiyun P2MSEL10_0, P2MSEL10_1, 745*4882a593Smuzhiyun P2MSEL9_0, P2MSEL9_1, 746*4882a593Smuzhiyun P2MSEL8_0, P2MSEL8_1, 747*4882a593Smuzhiyun P2MSEL7_0, P2MSEL7_1, 748*4882a593Smuzhiyun P2MSEL6_0, P2MSEL6_1, 749*4882a593Smuzhiyun P2MSEL5_0, P2MSEL5_1, 750*4882a593Smuzhiyun P2MSEL4_0, P2MSEL4_1, 751*4882a593Smuzhiyun P2MSEL3_0, P2MSEL3_1, 752*4882a593Smuzhiyun P2MSEL2_0, P2MSEL2_1, 753*4882a593Smuzhiyun P2MSEL1_0, P2MSEL1_1, 754*4882a593Smuzhiyun P2MSEL0_0, P2MSEL0_1 )) 755*4882a593Smuzhiyun }, 756*4882a593Smuzhiyun {} 757*4882a593Smuzhiyun }; 758*4882a593Smuzhiyun 759*4882a593Smuzhiyun static const struct pinmux_data_reg pinmux_data_regs[] = { 760*4882a593Smuzhiyun { PINMUX_DATA_REG("PADR", 0xffcc0020, 8, GROUP( 761*4882a593Smuzhiyun PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA, 762*4882a593Smuzhiyun PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA )) 763*4882a593Smuzhiyun }, 764*4882a593Smuzhiyun { PINMUX_DATA_REG("PBDR", 0xffcc0022, 8, GROUP( 765*4882a593Smuzhiyun PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA, 766*4882a593Smuzhiyun PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA )) 767*4882a593Smuzhiyun }, 768*4882a593Smuzhiyun { PINMUX_DATA_REG("PCDR", 0xffcc0024, 8, GROUP( 769*4882a593Smuzhiyun PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA, 770*4882a593Smuzhiyun PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA )) 771*4882a593Smuzhiyun }, 772*4882a593Smuzhiyun { PINMUX_DATA_REG("PDDR", 0xffcc0026, 8, GROUP( 773*4882a593Smuzhiyun PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA, 774*4882a593Smuzhiyun PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA )) 775*4882a593Smuzhiyun }, 776*4882a593Smuzhiyun { PINMUX_DATA_REG("PEDR", 0xffcc0028, 8, GROUP( 777*4882a593Smuzhiyun PE7_DATA, PE6_DATA, 778*4882a593Smuzhiyun 0, 0, 0, 0, 0, 0 )) 779*4882a593Smuzhiyun }, 780*4882a593Smuzhiyun { PINMUX_DATA_REG("PFDR", 0xffcc002a, 8, GROUP( 781*4882a593Smuzhiyun PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA, 782*4882a593Smuzhiyun PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA )) 783*4882a593Smuzhiyun }, 784*4882a593Smuzhiyun { PINMUX_DATA_REG("PGDR", 0xffcc002c, 8, GROUP( 785*4882a593Smuzhiyun PG7_DATA, PG6_DATA, PG5_DATA, 0, 786*4882a593Smuzhiyun 0, 0, 0, 0 )) 787*4882a593Smuzhiyun }, 788*4882a593Smuzhiyun { PINMUX_DATA_REG("PHDR", 0xffcc002e, 8, GROUP( 789*4882a593Smuzhiyun PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA, 790*4882a593Smuzhiyun PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA )) 791*4882a593Smuzhiyun }, 792*4882a593Smuzhiyun { PINMUX_DATA_REG("PJDR", 0xffcc0030, 8, GROUP( 793*4882a593Smuzhiyun PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA, 794*4882a593Smuzhiyun PJ3_DATA, PJ2_DATA, PJ1_DATA, 0 )) 795*4882a593Smuzhiyun }, 796*4882a593Smuzhiyun { }, 797*4882a593Smuzhiyun }; 798*4882a593Smuzhiyun 799*4882a593Smuzhiyun const struct sh_pfc_soc_info sh7786_pinmux_info = { 800*4882a593Smuzhiyun .name = "sh7786_pfc", 801*4882a593Smuzhiyun .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END }, 802*4882a593Smuzhiyun .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END }, 803*4882a593Smuzhiyun .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 804*4882a593Smuzhiyun 805*4882a593Smuzhiyun .pins = pinmux_pins, 806*4882a593Smuzhiyun .nr_pins = ARRAY_SIZE(pinmux_pins), 807*4882a593Smuzhiyun .func_gpios = pinmux_func_gpios, 808*4882a593Smuzhiyun .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios), 809*4882a593Smuzhiyun 810*4882a593Smuzhiyun .cfg_regs = pinmux_config_regs, 811*4882a593Smuzhiyun .data_regs = pinmux_data_regs, 812*4882a593Smuzhiyun 813*4882a593Smuzhiyun .pinmux_data = pinmux_data, 814*4882a593Smuzhiyun .pinmux_data_size = ARRAY_SIZE(pinmux_data), 815*4882a593Smuzhiyun }; 816