Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * SH7203 Pinmux
0004  *
0005  *  Copyright (C) 2008  Magnus Damm
0006  */
0007 
0008 #include <linux/kernel.h>
0009 #include <cpu/sh7203.h>
0010 
0011 #include "sh_pfc.h"
0012 
0013 enum {
0014     PINMUX_RESERVED = 0,
0015 
0016     PINMUX_DATA_BEGIN,
0017     PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
0018     PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
0019     PB12_DATA,
0020     PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
0021     PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
0022     PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA,
0023     PC14_DATA, PC13_DATA, PC12_DATA,
0024     PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,
0025     PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
0026     PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
0027     PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
0028     PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
0029     PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
0030     PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
0031     PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,
0032     PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,
0033     PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
0034     PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
0035     PF30_DATA, PF29_DATA, PF28_DATA,
0036     PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,
0037     PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
0038     PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA,
0039     PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
0040     PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
0041     PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
0042     PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,
0043     PINMUX_DATA_END,
0044 
0045     PINMUX_INPUT_BEGIN,
0046     FORCE_IN,
0047     PA7_IN, PA6_IN, PA5_IN, PA4_IN,
0048     PA3_IN, PA2_IN, PA1_IN, PA0_IN,
0049     PB11_IN, PB10_IN, PB9_IN, PB8_IN,
0050     PC14_IN, PC13_IN, PC12_IN,
0051     PC11_IN, PC10_IN, PC9_IN, PC8_IN,
0052     PC7_IN, PC6_IN, PC5_IN, PC4_IN,
0053     PC3_IN, PC2_IN, PC1_IN, PC0_IN,
0054     PD15_IN, PD14_IN, PD13_IN, PD12_IN,
0055     PD11_IN, PD10_IN, PD9_IN, PD8_IN,
0056     PD7_IN, PD6_IN, PD5_IN, PD4_IN,
0057     PD3_IN, PD2_IN, PD1_IN, PD0_IN,
0058     PE15_IN, PE14_IN, PE13_IN, PE12_IN,
0059     PE11_IN, PE10_IN, PE9_IN, PE8_IN,
0060     PE7_IN, PE6_IN, PE5_IN, PE4_IN,
0061     PE3_IN, PE2_IN, PE1_IN, PE0_IN,
0062     PF30_IN, PF29_IN, PF28_IN,
0063     PF27_IN, PF26_IN, PF25_IN, PF24_IN,
0064     PF23_IN, PF22_IN, PF21_IN, PF20_IN,
0065     PF19_IN, PF18_IN, PF17_IN, PF16_IN,
0066     PF15_IN, PF14_IN, PF13_IN, PF12_IN,
0067     PF11_IN, PF10_IN, PF9_IN, PF8_IN,
0068     PF7_IN, PF6_IN, PF5_IN, PF4_IN,
0069     PF3_IN, PF2_IN, PF1_IN, PF0_IN,
0070     PINMUX_INPUT_END,
0071 
0072     PINMUX_OUTPUT_BEGIN,
0073     FORCE_OUT,
0074     PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
0075     PC14_OUT, PC13_OUT, PC12_OUT,
0076     PC11_OUT, PC10_OUT, PC9_OUT, PC8_OUT,
0077     PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
0078     PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
0079     PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
0080     PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
0081     PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
0082     PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
0083     PE15_OUT, PE14_OUT, PE13_OUT, PE12_OUT,
0084     PE11_OUT, PE10_OUT, PE9_OUT, PE8_OUT,
0085     PE7_OUT, PE6_OUT, PE5_OUT, PE4_OUT,
0086     PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
0087     PF30_OUT, PF29_OUT, PF28_OUT,
0088     PF27_OUT, PF26_OUT, PF25_OUT, PF24_OUT,
0089     PF23_OUT, PF22_OUT, PF21_OUT, PF20_OUT,
0090     PF19_OUT, PF18_OUT, PF17_OUT, PF16_OUT,
0091     PF15_OUT, PF14_OUT, PF13_OUT, PF12_OUT,
0092     PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
0093     PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
0094     PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
0095     PINMUX_OUTPUT_END,
0096 
0097     PINMUX_FUNCTION_BEGIN,
0098     PB11_IOR_IN, PB11_IOR_OUT,
0099     PB10_IOR_IN, PB10_IOR_OUT,
0100     PB9_IOR_IN, PB9_IOR_OUT,
0101     PB8_IOR_IN, PB8_IOR_OUT,
0102     PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
0103     PB11MD_0, PB11MD_1,
0104     PB10MD_0, PB10MD_1,
0105     PB9MD_00, PB9MD_01, PB9MD_10,
0106     PB8MD_00, PB8MD_01, PB8MD_10,
0107     PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
0108     PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
0109     PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
0110     PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
0111     PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
0112     PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
0113     PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
0114     PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
0115 
0116     PB12IRQ_00, PB12IRQ_01, PB12IRQ_10,
0117 
0118     PC14MD_0, PC14MD_1,
0119     PC13MD_0, PC13MD_1,
0120     PC12MD_0, PC12MD_1,
0121     PC11MD_00, PC11MD_01, PC11MD_10,
0122     PC10MD_00, PC10MD_01, PC10MD_10,
0123     PC9MD_0, PC9MD_1,
0124     PC8MD_0, PC8MD_1,
0125     PC7MD_0, PC7MD_1,
0126     PC6MD_0, PC6MD_1,
0127     PC5MD_0, PC5MD_1,
0128     PC4MD_0, PC4MD_1,
0129     PC3MD_0, PC3MD_1,
0130     PC2MD_0, PC2MD_1,
0131     PC1MD_0, PC1MD_1,
0132     PC0MD_00, PC0MD_01, PC0MD_10,
0133 
0134     PD15MD_000, PD15MD_001, PD15MD_010, PD15MD_100, PD15MD_101,
0135     PD14MD_000, PD14MD_001, PD14MD_010, PD14MD_101,
0136     PD13MD_000, PD13MD_001, PD13MD_010, PD13MD_100, PD13MD_101,
0137     PD12MD_000, PD12MD_001, PD12MD_010, PD12MD_100, PD12MD_101,
0138     PD11MD_000, PD11MD_001, PD11MD_010, PD11MD_100, PD11MD_101,
0139     PD10MD_000, PD10MD_001, PD10MD_010, PD10MD_100, PD10MD_101,
0140     PD9MD_000, PD9MD_001, PD9MD_010, PD9MD_100, PD9MD_101,
0141     PD8MD_000, PD8MD_001, PD8MD_010, PD8MD_100, PD8MD_101,
0142     PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011, PD7MD_100, PD7MD_101,
0143     PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011, PD6MD_100, PD6MD_101,
0144     PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011, PD5MD_100, PD5MD_101,
0145     PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011, PD4MD_100, PD4MD_101,
0146     PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011, PD3MD_100, PD3MD_101,
0147     PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011, PD2MD_100, PD2MD_101,
0148     PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011, PD1MD_100, PD1MD_101,
0149     PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011, PD0MD_100, PD0MD_101,
0150 
0151     PE15MD_00, PE15MD_01, PE15MD_11,
0152     PE14MD_00, PE14MD_01, PE14MD_11,
0153     PE13MD_00, PE13MD_11,
0154     PE12MD_00, PE12MD_11,
0155     PE11MD_000, PE11MD_001, PE11MD_010, PE11MD_100,
0156     PE10MD_000, PE10MD_001, PE10MD_010, PE10MD_100,
0157     PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
0158     PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
0159     PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011, PE7MD_100,
0160     PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011, PE6MD_100,
0161     PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011, PE5MD_100,
0162     PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011, PE4MD_100,
0163     PE3MD_00, PE3MD_01, PE3MD_11,
0164     PE2MD_00, PE2MD_01, PE2MD_11,
0165     PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
0166     PE0MD_000, PE0MD_001, PE0MD_011, PE0MD_100,
0167 
0168     PF30MD_0, PF30MD_1,
0169     PF29MD_0, PF29MD_1,
0170     PF28MD_0, PF28MD_1,
0171     PF27MD_0, PF27MD_1,
0172     PF26MD_0, PF26MD_1,
0173     PF25MD_0, PF25MD_1,
0174     PF24MD_0, PF24MD_1,
0175     PF23MD_00, PF23MD_01, PF23MD_10,
0176     PF22MD_00, PF22MD_01, PF22MD_10,
0177     PF21MD_00, PF21MD_01, PF21MD_10,
0178     PF20MD_00, PF20MD_01, PF20MD_10,
0179     PF19MD_00, PF19MD_01, PF19MD_10,
0180     PF18MD_00, PF18MD_01, PF18MD_10,
0181     PF17MD_00, PF17MD_01, PF17MD_10,
0182     PF16MD_00, PF16MD_01, PF16MD_10,
0183     PF15MD_00, PF15MD_01, PF15MD_10,
0184     PF14MD_00, PF14MD_01, PF14MD_10,
0185     PF13MD_00, PF13MD_01, PF13MD_10,
0186     PF12MD_00, PF12MD_01, PF12MD_10,
0187     PF11MD_00, PF11MD_01, PF11MD_10,
0188     PF10MD_00, PF10MD_01, PF10MD_10,
0189     PF9MD_00, PF9MD_01, PF9MD_10,
0190     PF8MD_00, PF8MD_01, PF8MD_10,
0191     PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,
0192     PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
0193     PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
0194     PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
0195     PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,
0196     PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
0197     PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
0198     PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
0199     PINMUX_FUNCTION_END,
0200 
0201     PINMUX_MARK_BEGIN,
0202     PINT7_PB_MARK, PINT6_PB_MARK, PINT5_PB_MARK, PINT4_PB_MARK,
0203     PINT3_PB_MARK, PINT2_PB_MARK, PINT1_PB_MARK, PINT0_PB_MARK,
0204     PINT7_PD_MARK, PINT6_PD_MARK, PINT5_PD_MARK, PINT4_PD_MARK,
0205     PINT3_PD_MARK, PINT2_PD_MARK, PINT1_PD_MARK, PINT0_PD_MARK,
0206     IRQ7_PB_MARK, IRQ6_PB_MARK, IRQ5_PB_MARK, IRQ4_PB_MARK,
0207     IRQ3_PB_MARK, IRQ2_PB_MARK, IRQ1_PB_MARK, IRQ0_PB_MARK,
0208     IRQ7_PD_MARK, IRQ6_PD_MARK, IRQ5_PD_MARK, IRQ4_PD_MARK,
0209     IRQ3_PD_MARK, IRQ2_PD_MARK, IRQ1_PD_MARK, IRQ0_PD_MARK,
0210     IRQ7_PE_MARK, IRQ6_PE_MARK, IRQ5_PE_MARK, IRQ4_PE_MARK,
0211     IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,
0212     WDTOVF_MARK, IRQOUT_MARK, REFOUT_MARK, IRQOUT_REFOUT_MARK,
0213     UBCTRG_MARK,
0214     CTX1_MARK, CRX1_MARK, CTX0_MARK, CTX0_CTX1_MARK,
0215     CRX0_MARK, CRX0_CRX1_MARK,
0216     SDA3_MARK, SCL3_MARK,
0217     SDA2_MARK, SCL2_MARK,
0218     SDA1_MARK, SCL1_MARK,
0219     SDA0_MARK, SCL0_MARK,
0220     TEND0_PD_MARK, TEND0_PE_MARK, DACK0_PD_MARK, DACK0_PE_MARK,
0221     DREQ0_PD_MARK, DREQ0_PE_MARK, TEND1_PD_MARK, TEND1_PE_MARK,
0222     DACK1_PD_MARK, DACK1_PE_MARK, DREQ1_PD_MARK, DREQ1_PE_MARK,
0223     DACK2_MARK, DREQ2_MARK, DACK3_MARK, DREQ3_MARK,
0224     ADTRG_PD_MARK, ADTRG_PE_MARK,
0225     D31_MARK, D30_MARK, D29_MARK, D28_MARK,
0226     D27_MARK, D26_MARK, D25_MARK, D24_MARK,
0227     D23_MARK, D22_MARK, D21_MARK, D20_MARK,
0228     D19_MARK, D18_MARK, D17_MARK, D16_MARK,
0229     A25_MARK, A24_MARK, A23_MARK, A22_MARK,
0230     A21_MARK, CS4_MARK, MRES_MARK, BS_MARK,
0231     IOIS16_MARK, CS1_MARK, CS6_CE1B_MARK, CE2B_MARK,
0232     CS5_CE1A_MARK, CE2A_MARK, FRAME_MARK, WAIT_MARK,
0233     RDWR_MARK, CKE_MARK, CASU_MARK, BREQ_MARK,
0234     RASU_MARK, BACK_MARK, CASL_MARK, RASL_MARK,
0235     WE3_DQMUU_AH_ICIO_WR_MARK, WE2_DQMUL_ICIORD_MARK,
0236     WE1_DQMLU_WE_MARK, WE0_DQMLL_MARK,
0237     CS3_MARK, CS2_MARK, A1_MARK, A0_MARK, CS7_MARK,
0238     TIOC4D_MARK, TIOC4C_MARK, TIOC4B_MARK, TIOC4A_MARK,
0239     TIOC3D_MARK, TIOC3C_MARK, TIOC3B_MARK, TIOC3A_MARK,
0240     TIOC2B_MARK, TIOC1B_MARK, TIOC2A_MARK, TIOC1A_MARK,
0241     TIOC0D_MARK, TIOC0C_MARK, TIOC0B_MARK, TIOC0A_MARK,
0242     TCLKD_PD_MARK, TCLKC_PD_MARK, TCLKB_PD_MARK, TCLKA_PD_MARK,
0243     TCLKD_PF_MARK, TCLKC_PF_MARK, TCLKB_PF_MARK, TCLKA_PF_MARK,
0244     SCS0_PD_MARK, SSO0_PD_MARK, SSI0_PD_MARK, SSCK0_PD_MARK,
0245     SCS0_PF_MARK, SSO0_PF_MARK, SSI0_PF_MARK, SSCK0_PF_MARK,
0246     SCS1_PD_MARK, SSO1_PD_MARK, SSI1_PD_MARK, SSCK1_PD_MARK,
0247     SCS1_PF_MARK, SSO1_PF_MARK, SSI1_PF_MARK, SSCK1_PF_MARK,
0248     TXD0_MARK, RXD0_MARK, SCK0_MARK,
0249     TXD1_MARK, RXD1_MARK, SCK1_MARK,
0250     TXD2_MARK, RXD2_MARK, SCK2_MARK,
0251     RTS3_MARK, CTS3_MARK, TXD3_MARK,
0252     RXD3_MARK, SCK3_MARK,
0253     AUDIO_CLK_MARK,
0254     SSIDATA3_MARK, SSIWS3_MARK, SSISCK3_MARK,
0255     SSIDATA2_MARK, SSIWS2_MARK, SSISCK2_MARK,
0256     SSIDATA1_MARK, SSIWS1_MARK, SSISCK1_MARK,
0257     SSIDATA0_MARK, SSIWS0_MARK, SSISCK0_MARK,
0258     FCE_MARK, FRB_MARK,
0259     NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK,
0260     NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK,
0261     FSC_MARK, FOE_MARK, FCDE_MARK, FWE_MARK,
0262     LCD_VEPWC_MARK, LCD_VCPWC_MARK, LCD_CLK_MARK, LCD_FLM_MARK,
0263     LCD_M_DISP_MARK, LCD_CL2_MARK, LCD_CL1_MARK, LCD_DON_MARK,
0264     LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
0265     LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
0266     LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
0267     LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
0268     PINMUX_MARK_END,
0269 };
0270 
0271 static const u16 pinmux_data[] = {
0272     /* PA */
0273     PINMUX_DATA(PA7_DATA, PA7_IN),
0274     PINMUX_DATA(PA6_DATA, PA6_IN),
0275     PINMUX_DATA(PA5_DATA, PA5_IN),
0276     PINMUX_DATA(PA4_DATA, PA4_IN),
0277     PINMUX_DATA(PA3_DATA, PA3_IN),
0278     PINMUX_DATA(PA2_DATA, PA2_IN),
0279     PINMUX_DATA(PA1_DATA, PA1_IN),
0280     PINMUX_DATA(PA0_DATA, PA0_IN),
0281 
0282     /* PB */
0283     PINMUX_DATA(PB12_DATA, PB12MD_00, FORCE_OUT),
0284     PINMUX_DATA(WDTOVF_MARK, PB12MD_01),
0285     PINMUX_DATA(IRQOUT_MARK, PB12MD_10, PB12IRQ_00),
0286     PINMUX_DATA(REFOUT_MARK, PB12MD_10, PB12IRQ_01),
0287     PINMUX_DATA(IRQOUT_REFOUT_MARK, PB12MD_10, PB12IRQ_10),
0288     PINMUX_DATA(UBCTRG_MARK, PB12MD_11),
0289 
0290     PINMUX_DATA(PB11_DATA, PB11MD_0, PB11_IN, PB11_OUT),
0291     PINMUX_DATA(CTX1_MARK, PB11MD_1),
0292 
0293     PINMUX_DATA(PB10_DATA, PB10MD_0, PB10_IN, PB10_OUT),
0294     PINMUX_DATA(CRX1_MARK, PB10MD_1),
0295 
0296     PINMUX_DATA(PB9_DATA, PB9MD_00, PB9_IN, PB9_OUT),
0297     PINMUX_DATA(CTX0_MARK, PB9MD_01),
0298     PINMUX_DATA(CTX0_CTX1_MARK, PB9MD_10),
0299 
0300     PINMUX_DATA(PB8_DATA, PB8MD_00, PB8_IN, PB8_OUT),
0301     PINMUX_DATA(CRX0_MARK, PB8MD_01),
0302     PINMUX_DATA(CRX0_CRX1_MARK, PB8MD_10),
0303 
0304     PINMUX_DATA(PB7_DATA, PB7MD_00, FORCE_IN),
0305     PINMUX_DATA(SDA3_MARK, PB7MD_01),
0306     PINMUX_DATA(PINT7_PB_MARK, PB7MD_10),
0307     PINMUX_DATA(IRQ7_PB_MARK, PB7MD_11),
0308 
0309     PINMUX_DATA(PB6_DATA, PB6MD_00, FORCE_IN),
0310     PINMUX_DATA(SCL3_MARK, PB6MD_01),
0311     PINMUX_DATA(PINT6_PB_MARK, PB6MD_10),
0312     PINMUX_DATA(IRQ6_PB_MARK, PB6MD_11),
0313 
0314     PINMUX_DATA(PB5_DATA, PB5MD_00, FORCE_IN),
0315     PINMUX_DATA(SDA2_MARK, PB6MD_01),
0316     PINMUX_DATA(PINT5_PB_MARK, PB6MD_10),
0317     PINMUX_DATA(IRQ5_PB_MARK, PB6MD_11),
0318 
0319     PINMUX_DATA(PB4_DATA, PB4MD_00, FORCE_IN),
0320     PINMUX_DATA(SCL2_MARK, PB4MD_01),
0321     PINMUX_DATA(PINT4_PB_MARK, PB4MD_10),
0322     PINMUX_DATA(IRQ4_PB_MARK, PB4MD_11),
0323 
0324     PINMUX_DATA(PB3_DATA, PB3MD_00, FORCE_IN),
0325     PINMUX_DATA(SDA1_MARK, PB3MD_01),
0326     PINMUX_DATA(PINT3_PB_MARK, PB3MD_10),
0327     PINMUX_DATA(IRQ3_PB_MARK, PB3MD_11),
0328 
0329     PINMUX_DATA(PB2_DATA, PB2MD_00, FORCE_IN),
0330     PINMUX_DATA(SCL1_MARK, PB2MD_01),
0331     PINMUX_DATA(PINT2_PB_MARK, PB2MD_10),
0332     PINMUX_DATA(IRQ2_PB_MARK, PB2MD_11),
0333 
0334     PINMUX_DATA(PB1_DATA, PB1MD_00, FORCE_IN),
0335     PINMUX_DATA(SDA0_MARK, PB1MD_01),
0336     PINMUX_DATA(PINT1_PB_MARK, PB1MD_10),
0337     PINMUX_DATA(IRQ1_PB_MARK, PB1MD_11),
0338 
0339     PINMUX_DATA(PB0_DATA, PB0MD_00, FORCE_IN),
0340     PINMUX_DATA(SCL0_MARK, PB0MD_01),
0341     PINMUX_DATA(PINT0_PB_MARK, PB0MD_10),
0342     PINMUX_DATA(IRQ0_PB_MARK, PB0MD_11),
0343 
0344     /* PC */
0345     PINMUX_DATA(PC14_DATA, PC14MD_0, PC14_IN, PC14_OUT),
0346     PINMUX_DATA(WAIT_MARK, PC14MD_1),
0347 
0348     PINMUX_DATA(PC13_DATA, PC13MD_0, PC13_IN, PC13_OUT),
0349     PINMUX_DATA(RDWR_MARK, PC13MD_1),
0350 
0351     PINMUX_DATA(PC12_DATA, PC12MD_0, PC12_IN, PC12_OUT),
0352     PINMUX_DATA(CKE_MARK, PC12MD_1),
0353 
0354     PINMUX_DATA(PC11_DATA, PC11MD_00, PC11_IN, PC11_OUT),
0355     PINMUX_DATA(CASU_MARK, PC11MD_01),
0356     PINMUX_DATA(BREQ_MARK, PC11MD_10),
0357 
0358     PINMUX_DATA(PC10_DATA, PC10MD_00, PC10_IN, PC10_OUT),
0359     PINMUX_DATA(RASU_MARK, PC10MD_01),
0360     PINMUX_DATA(BACK_MARK, PC10MD_10),
0361 
0362     PINMUX_DATA(PC9_DATA, PC9MD_0, PC9_IN, PC9_OUT),
0363     PINMUX_DATA(CASL_MARK, PC9MD_1),
0364 
0365     PINMUX_DATA(PC8_DATA, PC8MD_0, PC8_IN, PC8_OUT),
0366     PINMUX_DATA(RASL_MARK, PC8MD_1),
0367 
0368     PINMUX_DATA(PC7_DATA, PC7MD_0, PC7_IN, PC7_OUT),
0369     PINMUX_DATA(WE3_DQMUU_AH_ICIO_WR_MARK, PC7MD_1),
0370 
0371     PINMUX_DATA(PC6_DATA, PC6MD_0, PC6_IN, PC6_OUT),
0372     PINMUX_DATA(WE2_DQMUL_ICIORD_MARK, PC6MD_1),
0373 
0374     PINMUX_DATA(PC5_DATA, PC5MD_0, PC5_IN, PC5_OUT),
0375     PINMUX_DATA(WE1_DQMLU_WE_MARK, PC5MD_1),
0376 
0377     PINMUX_DATA(PC4_DATA, PC4MD_0, PC4_IN, PC4_OUT),
0378     PINMUX_DATA(WE0_DQMLL_MARK, PC4MD_1),
0379 
0380     PINMUX_DATA(PC3_DATA, PC3MD_0, PC3_IN, PC3_OUT),
0381     PINMUX_DATA(CS3_MARK, PC3MD_1),
0382 
0383     PINMUX_DATA(PC2_DATA, PC2MD_0, PC2_IN, PC2_OUT),
0384     PINMUX_DATA(CS2_MARK, PC2MD_1),
0385 
0386     PINMUX_DATA(PC1_DATA, PC1MD_0, PC1_IN, PC1_OUT),
0387     PINMUX_DATA(A1_MARK, PC1MD_1),
0388 
0389     PINMUX_DATA(PC0_DATA, PC0MD_00, PC0_IN, PC0_OUT),
0390     PINMUX_DATA(A0_MARK, PC0MD_01),
0391     PINMUX_DATA(CS7_MARK, PC0MD_10),
0392 
0393     /* PD */
0394     PINMUX_DATA(PD15_DATA, PD15MD_000, PD15_IN, PD15_OUT),
0395     PINMUX_DATA(D31_MARK, PD15MD_001),
0396     PINMUX_DATA(PINT7_PD_MARK, PD15MD_010),
0397     PINMUX_DATA(ADTRG_PD_MARK, PD15MD_100),
0398     PINMUX_DATA(TIOC4D_MARK, PD15MD_101),
0399 
0400     PINMUX_DATA(PD14_DATA, PD14MD_000, PD14_IN, PD14_OUT),
0401     PINMUX_DATA(D30_MARK, PD14MD_001),
0402     PINMUX_DATA(PINT6_PD_MARK, PD14MD_010),
0403     PINMUX_DATA(TIOC4C_MARK, PD14MD_101),
0404 
0405     PINMUX_DATA(PD13_DATA, PD13MD_000, PD13_IN, PD13_OUT),
0406     PINMUX_DATA(D29_MARK, PD13MD_001),
0407     PINMUX_DATA(PINT5_PD_MARK, PD13MD_010),
0408     PINMUX_DATA(TEND1_PD_MARK, PD13MD_100),
0409     PINMUX_DATA(TIOC4B_MARK, PD13MD_101),
0410 
0411     PINMUX_DATA(PD12_DATA, PD12MD_000, PD12_IN, PD12_OUT),
0412     PINMUX_DATA(D28_MARK, PD12MD_001),
0413     PINMUX_DATA(PINT4_PD_MARK, PD12MD_010),
0414     PINMUX_DATA(DACK1_PD_MARK, PD12MD_100),
0415     PINMUX_DATA(TIOC4A_MARK, PD12MD_101),
0416 
0417     PINMUX_DATA(PD11_DATA, PD11MD_000, PD11_IN, PD11_OUT),
0418     PINMUX_DATA(D27_MARK, PD11MD_001),
0419     PINMUX_DATA(PINT3_PD_MARK, PD11MD_010),
0420     PINMUX_DATA(DREQ1_PD_MARK, PD11MD_100),
0421     PINMUX_DATA(TIOC3D_MARK, PD11MD_101),
0422 
0423     PINMUX_DATA(PD10_DATA, PD10MD_000, PD10_IN, PD10_OUT),
0424     PINMUX_DATA(D26_MARK, PD10MD_001),
0425     PINMUX_DATA(PINT2_PD_MARK, PD10MD_010),
0426     PINMUX_DATA(TEND0_PD_MARK, PD10MD_100),
0427     PINMUX_DATA(TIOC3C_MARK, PD10MD_101),
0428 
0429     PINMUX_DATA(PD9_DATA, PD9MD_000, PD9_IN, PD9_OUT),
0430     PINMUX_DATA(D25_MARK, PD9MD_001),
0431     PINMUX_DATA(PINT1_PD_MARK, PD9MD_010),
0432     PINMUX_DATA(DACK0_PD_MARK, PD9MD_100),
0433     PINMUX_DATA(TIOC3B_MARK, PD9MD_101),
0434 
0435     PINMUX_DATA(PD8_DATA, PD8MD_000, PD8_IN, PD8_OUT),
0436     PINMUX_DATA(D24_MARK, PD8MD_001),
0437     PINMUX_DATA(PINT0_PD_MARK, PD8MD_010),
0438     PINMUX_DATA(DREQ0_PD_MARK, PD8MD_100),
0439     PINMUX_DATA(TIOC3A_MARK, PD8MD_101),
0440 
0441     PINMUX_DATA(PD7_DATA, PD7MD_000, PD7_IN, PD7_OUT),
0442     PINMUX_DATA(D23_MARK, PD7MD_001),
0443     PINMUX_DATA(IRQ7_PD_MARK, PD7MD_010),
0444     PINMUX_DATA(SCS1_PD_MARK, PD7MD_011),
0445     PINMUX_DATA(TCLKD_PD_MARK, PD7MD_100),
0446     PINMUX_DATA(TIOC2B_MARK, PD7MD_101),
0447 
0448     PINMUX_DATA(PD6_DATA, PD6MD_000, PD6_IN, PD6_OUT),
0449     PINMUX_DATA(D22_MARK, PD6MD_001),
0450     PINMUX_DATA(IRQ6_PD_MARK, PD6MD_010),
0451     PINMUX_DATA(SSO1_PD_MARK, PD6MD_011),
0452     PINMUX_DATA(TCLKC_PD_MARK, PD6MD_100),
0453     PINMUX_DATA(TIOC2A_MARK, PD6MD_101),
0454 
0455     PINMUX_DATA(PD5_DATA, PD5MD_000, PD5_IN, PD5_OUT),
0456     PINMUX_DATA(D21_MARK, PD5MD_001),
0457     PINMUX_DATA(IRQ5_PD_MARK, PD5MD_010),
0458     PINMUX_DATA(SSI1_PD_MARK, PD5MD_011),
0459     PINMUX_DATA(TCLKB_PD_MARK, PD5MD_100),
0460     PINMUX_DATA(TIOC1B_MARK, PD5MD_101),
0461 
0462     PINMUX_DATA(PD4_DATA, PD4MD_000, PD4_IN, PD4_OUT),
0463     PINMUX_DATA(D20_MARK, PD4MD_001),
0464     PINMUX_DATA(IRQ4_PD_MARK, PD4MD_010),
0465     PINMUX_DATA(SSCK1_PD_MARK, PD4MD_011),
0466     PINMUX_DATA(TCLKA_PD_MARK, PD4MD_100),
0467     PINMUX_DATA(TIOC1A_MARK, PD4MD_101),
0468 
0469     PINMUX_DATA(PD3_DATA, PD3MD_000, PD3_IN, PD3_OUT),
0470     PINMUX_DATA(D19_MARK, PD3MD_001),
0471     PINMUX_DATA(IRQ3_PD_MARK, PD3MD_010),
0472     PINMUX_DATA(SCS0_PD_MARK, PD3MD_011),
0473     PINMUX_DATA(DACK3_MARK, PD3MD_100),
0474     PINMUX_DATA(TIOC0D_MARK, PD3MD_101),
0475 
0476     PINMUX_DATA(PD2_DATA, PD2MD_000, PD2_IN, PD2_OUT),
0477     PINMUX_DATA(D18_MARK, PD2MD_001),
0478     PINMUX_DATA(IRQ2_PD_MARK, PD2MD_010),
0479     PINMUX_DATA(SSO0_PD_MARK, PD2MD_011),
0480     PINMUX_DATA(DREQ3_MARK, PD2MD_100),
0481     PINMUX_DATA(TIOC0C_MARK, PD2MD_101),
0482 
0483     PINMUX_DATA(PD1_DATA, PD1MD_000, PD1_IN, PD1_OUT),
0484     PINMUX_DATA(D17_MARK, PD1MD_001),
0485     PINMUX_DATA(IRQ1_PD_MARK, PD1MD_010),
0486     PINMUX_DATA(SSI0_PD_MARK, PD1MD_011),
0487     PINMUX_DATA(DACK2_MARK, PD1MD_100),
0488     PINMUX_DATA(TIOC0B_MARK, PD1MD_101),
0489 
0490     PINMUX_DATA(PD0_DATA, PD0MD_000, PD0_IN, PD0_OUT),
0491     PINMUX_DATA(D16_MARK, PD0MD_001),
0492     PINMUX_DATA(IRQ0_PD_MARK, PD0MD_010),
0493     PINMUX_DATA(SSCK0_PD_MARK, PD0MD_011),
0494     PINMUX_DATA(DREQ2_MARK, PD0MD_100),
0495     PINMUX_DATA(TIOC0A_MARK, PD0MD_101),
0496 
0497     /* PE */
0498     PINMUX_DATA(PE15_DATA, PE15MD_00, PE15_IN, PE15_OUT),
0499     PINMUX_DATA(IOIS16_MARK, PE15MD_01),
0500     PINMUX_DATA(RTS3_MARK, PE15MD_11),
0501 
0502     PINMUX_DATA(PE14_DATA, PE14MD_00, PE14_IN, PE14_OUT),
0503     PINMUX_DATA(CS1_MARK, PE14MD_01),
0504     PINMUX_DATA(CTS3_MARK, PE14MD_11),
0505 
0506     PINMUX_DATA(PE13_DATA, PE13MD_00, PE13_IN, PE13_OUT),
0507     PINMUX_DATA(TXD3_MARK, PE13MD_11),
0508 
0509     PINMUX_DATA(PE12_DATA, PE12MD_00, PE12_IN, PE12_OUT),
0510     PINMUX_DATA(RXD3_MARK, PE12MD_11),
0511 
0512     PINMUX_DATA(PE11_DATA, PE11MD_000, PE11_IN, PE11_OUT),
0513     PINMUX_DATA(CS6_CE1B_MARK, PE11MD_001),
0514     PINMUX_DATA(IRQ7_PE_MARK, PE11MD_010),
0515     PINMUX_DATA(TEND1_PE_MARK, PE11MD_100),
0516 
0517     PINMUX_DATA(PE10_DATA, PE10MD_000, PE10_IN, PE10_OUT),
0518     PINMUX_DATA(CE2B_MARK, PE10MD_001),
0519     PINMUX_DATA(IRQ6_PE_MARK, PE10MD_010),
0520     PINMUX_DATA(TEND0_PE_MARK, PE10MD_100),
0521 
0522     PINMUX_DATA(PE9_DATA, PE9MD_00, PE9_IN, PE9_OUT),
0523     PINMUX_DATA(CS5_CE1A_MARK, PE9MD_01),
0524     PINMUX_DATA(IRQ5_PE_MARK, PE9MD_10),
0525     PINMUX_DATA(SCK3_MARK, PE9MD_11),
0526 
0527     PINMUX_DATA(PE8_DATA, PE8MD_00, PE8_IN, PE8_OUT),
0528     PINMUX_DATA(CE2A_MARK, PE8MD_01),
0529     PINMUX_DATA(IRQ4_PE_MARK, PE8MD_10),
0530     PINMUX_DATA(SCK2_MARK, PE8MD_11),
0531 
0532     PINMUX_DATA(PE7_DATA, PE7MD_000, PE7_IN, PE7_OUT),
0533     PINMUX_DATA(FRAME_MARK, PE7MD_001),
0534     PINMUX_DATA(IRQ3_PE_MARK, PE7MD_010),
0535     PINMUX_DATA(TXD2_MARK, PE7MD_011),
0536     PINMUX_DATA(DACK1_PE_MARK, PE7MD_100),
0537 
0538     PINMUX_DATA(PE6_DATA, PE6MD_000, PE6_IN, PE6_OUT),
0539     PINMUX_DATA(A25_MARK, PE6MD_001),
0540     PINMUX_DATA(IRQ2_PE_MARK, PE6MD_010),
0541     PINMUX_DATA(RXD2_MARK, PE6MD_011),
0542     PINMUX_DATA(DREQ1_PE_MARK, PE6MD_100),
0543 
0544     PINMUX_DATA(PE5_DATA, PE5MD_000, PE5_IN, PE5_OUT),
0545     PINMUX_DATA(A24_MARK, PE5MD_001),
0546     PINMUX_DATA(IRQ1_PE_MARK, PE5MD_010),
0547     PINMUX_DATA(TXD1_MARK, PE5MD_011),
0548     PINMUX_DATA(DACK0_PE_MARK, PE5MD_100),
0549 
0550     PINMUX_DATA(PE4_DATA, PE4MD_000, PE4_IN, PE4_OUT),
0551     PINMUX_DATA(A23_MARK, PE4MD_001),
0552     PINMUX_DATA(IRQ0_PE_MARK, PE4MD_010),
0553     PINMUX_DATA(RXD1_MARK, PE4MD_011),
0554     PINMUX_DATA(DREQ0_PE_MARK, PE4MD_100),
0555 
0556     PINMUX_DATA(PE3_DATA, PE3MD_00, PE3_IN, PE3_OUT),
0557     PINMUX_DATA(A22_MARK, PE3MD_01),
0558     PINMUX_DATA(SCK1_MARK, PE3MD_11),
0559 
0560     PINMUX_DATA(PE2_DATA, PE2MD_00, PE2_IN, PE2_OUT),
0561     PINMUX_DATA(A21_MARK, PE2MD_01),
0562     PINMUX_DATA(SCK0_MARK, PE2MD_11),
0563 
0564     PINMUX_DATA(PE1_DATA, PE1MD_00, PE1_IN, PE1_OUT),
0565     PINMUX_DATA(CS4_MARK, PE1MD_01),
0566     PINMUX_DATA(MRES_MARK, PE1MD_10),
0567     PINMUX_DATA(TXD0_MARK, PE1MD_11),
0568 
0569     PINMUX_DATA(PE0_DATA, PE0MD_000, PE0_IN, PE0_OUT),
0570     PINMUX_DATA(BS_MARK, PE0MD_001),
0571     PINMUX_DATA(RXD0_MARK, PE0MD_011),
0572     PINMUX_DATA(ADTRG_PE_MARK, PE0MD_100),
0573 
0574     /* PF */
0575     PINMUX_DATA(PF30_DATA, PF30MD_0, PF30_IN, PF30_OUT),
0576     PINMUX_DATA(AUDIO_CLK_MARK, PF30MD_1),
0577 
0578     PINMUX_DATA(PF29_DATA, PF29MD_0, PF29_IN, PF29_OUT),
0579     PINMUX_DATA(SSIDATA3_MARK, PF29MD_1),
0580 
0581     PINMUX_DATA(PF28_DATA, PF28MD_0, PF28_IN, PF28_OUT),
0582     PINMUX_DATA(SSIWS3_MARK, PF28MD_1),
0583 
0584     PINMUX_DATA(PF27_DATA, PF27MD_0, PF27_IN, PF27_OUT),
0585     PINMUX_DATA(SSISCK3_MARK, PF27MD_1),
0586 
0587     PINMUX_DATA(PF26_DATA, PF26MD_0, PF26_IN, PF26_OUT),
0588     PINMUX_DATA(SSIDATA2_MARK, PF26MD_1),
0589 
0590     PINMUX_DATA(PF25_DATA, PF25MD_0, PF25_IN, PF25_OUT),
0591     PINMUX_DATA(SSIWS2_MARK, PF25MD_1),
0592 
0593     PINMUX_DATA(PF24_DATA, PF24MD_0, PF24_IN, PF24_OUT),
0594     PINMUX_DATA(SSISCK2_MARK, PF24MD_1),
0595 
0596     PINMUX_DATA(PF23_DATA, PF23MD_00, PF23_IN, PF23_OUT),
0597     PINMUX_DATA(SSIDATA1_MARK, PF23MD_01),
0598     PINMUX_DATA(LCD_VEPWC_MARK, PF23MD_10),
0599 
0600     PINMUX_DATA(PF22_DATA, PF22MD_00, PF22_IN, PF22_OUT),
0601     PINMUX_DATA(SSIWS1_MARK, PF22MD_01),
0602     PINMUX_DATA(LCD_VCPWC_MARK, PF22MD_10),
0603 
0604     PINMUX_DATA(PF21_DATA, PF21MD_00, PF21_IN, PF21_OUT),
0605     PINMUX_DATA(SSISCK1_MARK, PF21MD_01),
0606     PINMUX_DATA(LCD_CLK_MARK, PF21MD_10),
0607 
0608     PINMUX_DATA(PF20_DATA, PF20MD_00, PF20_IN, PF20_OUT),
0609     PINMUX_DATA(SSIDATA0_MARK, PF20MD_01),
0610     PINMUX_DATA(LCD_FLM_MARK, PF20MD_10),
0611 
0612     PINMUX_DATA(PF19_DATA, PF19MD_00, PF19_IN, PF19_OUT),
0613     PINMUX_DATA(SSIWS0_MARK, PF19MD_01),
0614     PINMUX_DATA(LCD_M_DISP_MARK, PF19MD_10),
0615 
0616     PINMUX_DATA(PF18_DATA, PF18MD_00, PF18_IN, PF18_OUT),
0617     PINMUX_DATA(SSISCK0_MARK, PF18MD_01),
0618     PINMUX_DATA(LCD_CL2_MARK, PF18MD_10),
0619 
0620     PINMUX_DATA(PF17_DATA, PF17MD_00, PF17_IN, PF17_OUT),
0621     PINMUX_DATA(FCE_MARK, PF17MD_01),
0622     PINMUX_DATA(LCD_CL1_MARK, PF17MD_10),
0623 
0624     PINMUX_DATA(PF16_DATA, PF16MD_00, PF16_IN, PF16_OUT),
0625     PINMUX_DATA(FRB_MARK, PF16MD_01),
0626     PINMUX_DATA(LCD_DON_MARK, PF16MD_10),
0627 
0628     PINMUX_DATA(PF15_DATA, PF15MD_00, PF15_IN, PF15_OUT),
0629     PINMUX_DATA(NAF7_MARK, PF15MD_01),
0630     PINMUX_DATA(LCD_DATA15_MARK, PF15MD_10),
0631 
0632     PINMUX_DATA(PF14_DATA, PF14MD_00, PF14_IN, PF14_OUT),
0633     PINMUX_DATA(NAF6_MARK, PF14MD_01),
0634     PINMUX_DATA(LCD_DATA14_MARK, PF14MD_10),
0635 
0636     PINMUX_DATA(PF13_DATA, PF13MD_00, PF13_IN, PF13_OUT),
0637     PINMUX_DATA(NAF5_MARK, PF13MD_01),
0638     PINMUX_DATA(LCD_DATA13_MARK, PF13MD_10),
0639 
0640     PINMUX_DATA(PF12_DATA, PF12MD_00, PF12_IN, PF12_OUT),
0641     PINMUX_DATA(NAF4_MARK, PF12MD_01),
0642     PINMUX_DATA(LCD_DATA12_MARK, PF12MD_10),
0643 
0644     PINMUX_DATA(PF11_DATA, PF11MD_00, PF11_IN, PF11_OUT),
0645     PINMUX_DATA(NAF3_MARK, PF11MD_01),
0646     PINMUX_DATA(LCD_DATA11_MARK, PF11MD_10),
0647 
0648     PINMUX_DATA(PF10_DATA, PF10MD_00, PF10_IN, PF10_OUT),
0649     PINMUX_DATA(NAF2_MARK, PF10MD_01),
0650     PINMUX_DATA(LCD_DATA10_MARK, PF10MD_10),
0651 
0652     PINMUX_DATA(PF9_DATA, PF9MD_00, PF9_IN, PF9_OUT),
0653     PINMUX_DATA(NAF1_MARK, PF9MD_01),
0654     PINMUX_DATA(LCD_DATA9_MARK, PF9MD_10),
0655 
0656     PINMUX_DATA(PF8_DATA, PF8MD_00, PF8_IN, PF8_OUT),
0657     PINMUX_DATA(NAF0_MARK, PF8MD_01),
0658     PINMUX_DATA(LCD_DATA8_MARK, PF8MD_10),
0659 
0660     PINMUX_DATA(PF7_DATA, PF7MD_00, PF7_IN, PF7_OUT),
0661     PINMUX_DATA(FSC_MARK, PF7MD_01),
0662     PINMUX_DATA(LCD_DATA7_MARK, PF7MD_10),
0663     PINMUX_DATA(SCS1_PF_MARK, PF7MD_11),
0664 
0665     PINMUX_DATA(PF6_DATA, PF6MD_00, PF6_IN, PF6_OUT),
0666     PINMUX_DATA(FOE_MARK, PF6MD_01),
0667     PINMUX_DATA(LCD_DATA6_MARK, PF6MD_10),
0668     PINMUX_DATA(SSO1_PF_MARK, PF6MD_11),
0669 
0670     PINMUX_DATA(PF5_DATA, PF5MD_00, PF5_IN, PF5_OUT),
0671     PINMUX_DATA(FCDE_MARK, PF5MD_01),
0672     PINMUX_DATA(LCD_DATA5_MARK, PF5MD_10),
0673     PINMUX_DATA(SSI1_PF_MARK, PF5MD_11),
0674 
0675     PINMUX_DATA(PF4_DATA, PF4MD_00, PF4_IN, PF4_OUT),
0676     PINMUX_DATA(FWE_MARK, PF4MD_01),
0677     PINMUX_DATA(LCD_DATA4_MARK, PF4MD_10),
0678     PINMUX_DATA(SSCK1_PF_MARK, PF4MD_11),
0679 
0680     PINMUX_DATA(PF3_DATA, PF3MD_00, PF3_IN, PF3_OUT),
0681     PINMUX_DATA(TCLKD_PF_MARK, PF3MD_01),
0682     PINMUX_DATA(LCD_DATA3_MARK, PF3MD_10),
0683     PINMUX_DATA(SCS0_PF_MARK, PF3MD_11),
0684 
0685     PINMUX_DATA(PF2_DATA, PF2MD_00, PF2_IN, PF2_OUT),
0686     PINMUX_DATA(TCLKC_PF_MARK, PF2MD_01),
0687     PINMUX_DATA(LCD_DATA2_MARK, PF2MD_10),
0688     PINMUX_DATA(SSO0_PF_MARK, PF2MD_11),
0689 
0690     PINMUX_DATA(PF1_DATA, PF1MD_00, PF1_IN, PF1_OUT),
0691     PINMUX_DATA(TCLKB_PF_MARK, PF1MD_01),
0692     PINMUX_DATA(LCD_DATA1_MARK, PF1MD_10),
0693     PINMUX_DATA(SSI0_PF_MARK, PF1MD_11),
0694 
0695     PINMUX_DATA(PF0_DATA, PF0MD_00, PF0_IN, PF0_OUT),
0696     PINMUX_DATA(TCLKA_PF_MARK, PF0MD_01),
0697     PINMUX_DATA(LCD_DATA0_MARK, PF0MD_10),
0698     PINMUX_DATA(SSCK0_PF_MARK, PF0MD_11),
0699 };
0700 
0701 static const struct sh_pfc_pin pinmux_pins[] = {
0702     /* PA */
0703     PINMUX_GPIO(PA7),
0704     PINMUX_GPIO(PA6),
0705     PINMUX_GPIO(PA5),
0706     PINMUX_GPIO(PA4),
0707     PINMUX_GPIO(PA3),
0708     PINMUX_GPIO(PA2),
0709     PINMUX_GPIO(PA1),
0710     PINMUX_GPIO(PA0),
0711 
0712     /* PB */
0713     PINMUX_GPIO(PB12),
0714     PINMUX_GPIO(PB11),
0715     PINMUX_GPIO(PB10),
0716     PINMUX_GPIO(PB9),
0717     PINMUX_GPIO(PB8),
0718     PINMUX_GPIO(PB7),
0719     PINMUX_GPIO(PB6),
0720     PINMUX_GPIO(PB5),
0721     PINMUX_GPIO(PB4),
0722     PINMUX_GPIO(PB3),
0723     PINMUX_GPIO(PB2),
0724     PINMUX_GPIO(PB1),
0725     PINMUX_GPIO(PB0),
0726 
0727     /* PC */
0728     PINMUX_GPIO(PC14),
0729     PINMUX_GPIO(PC13),
0730     PINMUX_GPIO(PC12),
0731     PINMUX_GPIO(PC11),
0732     PINMUX_GPIO(PC10),
0733     PINMUX_GPIO(PC9),
0734     PINMUX_GPIO(PC8),
0735     PINMUX_GPIO(PC7),
0736     PINMUX_GPIO(PC6),
0737     PINMUX_GPIO(PC5),
0738     PINMUX_GPIO(PC4),
0739     PINMUX_GPIO(PC3),
0740     PINMUX_GPIO(PC2),
0741     PINMUX_GPIO(PC1),
0742     PINMUX_GPIO(PC0),
0743 
0744     /* PD */
0745     PINMUX_GPIO(PD15),
0746     PINMUX_GPIO(PD14),
0747     PINMUX_GPIO(PD13),
0748     PINMUX_GPIO(PD12),
0749     PINMUX_GPIO(PD11),
0750     PINMUX_GPIO(PD10),
0751     PINMUX_GPIO(PD9),
0752     PINMUX_GPIO(PD8),
0753     PINMUX_GPIO(PD7),
0754     PINMUX_GPIO(PD6),
0755     PINMUX_GPIO(PD5),
0756     PINMUX_GPIO(PD4),
0757     PINMUX_GPIO(PD3),
0758     PINMUX_GPIO(PD2),
0759     PINMUX_GPIO(PD1),
0760     PINMUX_GPIO(PD0),
0761 
0762     /* PE */
0763     PINMUX_GPIO(PE15),
0764     PINMUX_GPIO(PE14),
0765     PINMUX_GPIO(PE13),
0766     PINMUX_GPIO(PE12),
0767     PINMUX_GPIO(PE11),
0768     PINMUX_GPIO(PE10),
0769     PINMUX_GPIO(PE9),
0770     PINMUX_GPIO(PE8),
0771     PINMUX_GPIO(PE7),
0772     PINMUX_GPIO(PE6),
0773     PINMUX_GPIO(PE5),
0774     PINMUX_GPIO(PE4),
0775     PINMUX_GPIO(PE3),
0776     PINMUX_GPIO(PE2),
0777     PINMUX_GPIO(PE1),
0778     PINMUX_GPIO(PE0),
0779 
0780     /* PF */
0781     PINMUX_GPIO(PF30),
0782     PINMUX_GPIO(PF29),
0783     PINMUX_GPIO(PF28),
0784     PINMUX_GPIO(PF27),
0785     PINMUX_GPIO(PF26),
0786     PINMUX_GPIO(PF25),
0787     PINMUX_GPIO(PF24),
0788     PINMUX_GPIO(PF23),
0789     PINMUX_GPIO(PF22),
0790     PINMUX_GPIO(PF21),
0791     PINMUX_GPIO(PF20),
0792     PINMUX_GPIO(PF19),
0793     PINMUX_GPIO(PF18),
0794     PINMUX_GPIO(PF17),
0795     PINMUX_GPIO(PF16),
0796     PINMUX_GPIO(PF15),
0797     PINMUX_GPIO(PF14),
0798     PINMUX_GPIO(PF13),
0799     PINMUX_GPIO(PF12),
0800     PINMUX_GPIO(PF11),
0801     PINMUX_GPIO(PF10),
0802     PINMUX_GPIO(PF9),
0803     PINMUX_GPIO(PF8),
0804     PINMUX_GPIO(PF7),
0805     PINMUX_GPIO(PF6),
0806     PINMUX_GPIO(PF5),
0807     PINMUX_GPIO(PF4),
0808     PINMUX_GPIO(PF3),
0809     PINMUX_GPIO(PF2),
0810     PINMUX_GPIO(PF1),
0811     PINMUX_GPIO(PF0),
0812 };
0813 
0814 #define PINMUX_FN_BASE  ARRAY_SIZE(pinmux_pins)
0815 
0816 static const struct pinmux_func pinmux_func_gpios[] = {
0817     /* INTC */
0818     GPIO_FN(PINT7_PB),
0819     GPIO_FN(PINT6_PB),
0820     GPIO_FN(PINT5_PB),
0821     GPIO_FN(PINT4_PB),
0822     GPIO_FN(PINT3_PB),
0823     GPIO_FN(PINT2_PB),
0824     GPIO_FN(PINT1_PB),
0825     GPIO_FN(PINT0_PB),
0826     GPIO_FN(PINT7_PD),
0827     GPIO_FN(PINT6_PD),
0828     GPIO_FN(PINT5_PD),
0829     GPIO_FN(PINT4_PD),
0830     GPIO_FN(PINT3_PD),
0831     GPIO_FN(PINT2_PD),
0832     GPIO_FN(PINT1_PD),
0833     GPIO_FN(PINT0_PD),
0834     GPIO_FN(IRQ7_PB),
0835     GPIO_FN(IRQ6_PB),
0836     GPIO_FN(IRQ5_PB),
0837     GPIO_FN(IRQ4_PB),
0838     GPIO_FN(IRQ3_PB),
0839     GPIO_FN(IRQ2_PB),
0840     GPIO_FN(IRQ1_PB),
0841     GPIO_FN(IRQ0_PB),
0842     GPIO_FN(IRQ7_PD),
0843     GPIO_FN(IRQ6_PD),
0844     GPIO_FN(IRQ5_PD),
0845     GPIO_FN(IRQ4_PD),
0846     GPIO_FN(IRQ3_PD),
0847     GPIO_FN(IRQ2_PD),
0848     GPIO_FN(IRQ1_PD),
0849     GPIO_FN(IRQ0_PD),
0850     GPIO_FN(IRQ7_PE),
0851     GPIO_FN(IRQ6_PE),
0852     GPIO_FN(IRQ5_PE),
0853     GPIO_FN(IRQ4_PE),
0854     GPIO_FN(IRQ3_PE),
0855     GPIO_FN(IRQ2_PE),
0856     GPIO_FN(IRQ1_PE),
0857     GPIO_FN(IRQ0_PE),
0858 
0859     GPIO_FN(WDTOVF),
0860     GPIO_FN(IRQOUT),
0861     GPIO_FN(REFOUT),
0862     GPIO_FN(IRQOUT_REFOUT),
0863     GPIO_FN(UBCTRG),
0864 
0865     /* CAN */
0866     GPIO_FN(CTX1),
0867     GPIO_FN(CRX1),
0868     GPIO_FN(CTX0),
0869     GPIO_FN(CTX0_CTX1),
0870     GPIO_FN(CRX0),
0871     GPIO_FN(CRX0_CRX1),
0872 
0873     /* IIC3 */
0874     GPIO_FN(SDA3),
0875     GPIO_FN(SCL3),
0876     GPIO_FN(SDA2),
0877     GPIO_FN(SCL2),
0878     GPIO_FN(SDA1),
0879     GPIO_FN(SCL1),
0880     GPIO_FN(SDA0),
0881     GPIO_FN(SCL0),
0882 
0883     /* DMAC */
0884     GPIO_FN(TEND0_PD),
0885     GPIO_FN(TEND0_PE),
0886     GPIO_FN(DACK0_PD),
0887     GPIO_FN(DACK0_PE),
0888     GPIO_FN(DREQ0_PD),
0889     GPIO_FN(DREQ0_PE),
0890     GPIO_FN(TEND1_PD),
0891     GPIO_FN(TEND1_PE),
0892     GPIO_FN(DACK1_PD),
0893     GPIO_FN(DACK1_PE),
0894     GPIO_FN(DREQ1_PD),
0895     GPIO_FN(DREQ1_PE),
0896     GPIO_FN(DACK2),
0897     GPIO_FN(DREQ2),
0898     GPIO_FN(DACK3),
0899     GPIO_FN(DREQ3),
0900 
0901     /* ADC */
0902     GPIO_FN(ADTRG_PD),
0903     GPIO_FN(ADTRG_PE),
0904 
0905     /* BSC */
0906     GPIO_FN(D31),
0907     GPIO_FN(D30),
0908     GPIO_FN(D29),
0909     GPIO_FN(D28),
0910     GPIO_FN(D27),
0911     GPIO_FN(D26),
0912     GPIO_FN(D25),
0913     GPIO_FN(D24),
0914     GPIO_FN(D23),
0915     GPIO_FN(D22),
0916     GPIO_FN(D21),
0917     GPIO_FN(D20),
0918     GPIO_FN(D19),
0919     GPIO_FN(D18),
0920     GPIO_FN(D17),
0921     GPIO_FN(D16),
0922     GPIO_FN(A25),
0923     GPIO_FN(A24),
0924     GPIO_FN(A23),
0925     GPIO_FN(A22),
0926     GPIO_FN(A21),
0927     GPIO_FN(CS4),
0928     GPIO_FN(MRES),
0929     GPIO_FN(BS),
0930     GPIO_FN(IOIS16),
0931     GPIO_FN(CS1),
0932     GPIO_FN(CS6_CE1B),
0933     GPIO_FN(CE2B),
0934     GPIO_FN(CS5_CE1A),
0935     GPIO_FN(CE2A),
0936     GPIO_FN(FRAME),
0937     GPIO_FN(WAIT),
0938     GPIO_FN(RDWR),
0939     GPIO_FN(CKE),
0940     GPIO_FN(CASU),
0941     GPIO_FN(BREQ),
0942     GPIO_FN(RASU),
0943     GPIO_FN(BACK),
0944     GPIO_FN(CASL),
0945     GPIO_FN(RASL),
0946     GPIO_FN(WE3_DQMUU_AH_ICIO_WR),
0947     GPIO_FN(WE2_DQMUL_ICIORD),
0948     GPIO_FN(WE1_DQMLU_WE),
0949     GPIO_FN(WE0_DQMLL),
0950     GPIO_FN(CS3),
0951     GPIO_FN(CS2),
0952     GPIO_FN(A1),
0953     GPIO_FN(A0),
0954     GPIO_FN(CS7),
0955 
0956     /* TMU */
0957     GPIO_FN(TIOC4D),
0958     GPIO_FN(TIOC4C),
0959     GPIO_FN(TIOC4B),
0960     GPIO_FN(TIOC4A),
0961     GPIO_FN(TIOC3D),
0962     GPIO_FN(TIOC3C),
0963     GPIO_FN(TIOC3B),
0964     GPIO_FN(TIOC3A),
0965     GPIO_FN(TIOC2B),
0966     GPIO_FN(TIOC1B),
0967     GPIO_FN(TIOC2A),
0968     GPIO_FN(TIOC1A),
0969     GPIO_FN(TIOC0D),
0970     GPIO_FN(TIOC0C),
0971     GPIO_FN(TIOC0B),
0972     GPIO_FN(TIOC0A),
0973     GPIO_FN(TCLKD_PD),
0974     GPIO_FN(TCLKC_PD),
0975     GPIO_FN(TCLKB_PD),
0976     GPIO_FN(TCLKA_PD),
0977     GPIO_FN(TCLKD_PF),
0978     GPIO_FN(TCLKC_PF),
0979     GPIO_FN(TCLKB_PF),
0980     GPIO_FN(TCLKA_PF),
0981 
0982     /* SSU */
0983     GPIO_FN(SCS0_PD),
0984     GPIO_FN(SSO0_PD),
0985     GPIO_FN(SSI0_PD),
0986     GPIO_FN(SSCK0_PD),
0987     GPIO_FN(SCS0_PF),
0988     GPIO_FN(SSO0_PF),
0989     GPIO_FN(SSI0_PF),
0990     GPIO_FN(SSCK0_PF),
0991     GPIO_FN(SCS1_PD),
0992     GPIO_FN(SSO1_PD),
0993     GPIO_FN(SSI1_PD),
0994     GPIO_FN(SSCK1_PD),
0995     GPIO_FN(SCS1_PF),
0996     GPIO_FN(SSO1_PF),
0997     GPIO_FN(SSI1_PF),
0998     GPIO_FN(SSCK1_PF),
0999 
1000     /* SCIF */
1001     GPIO_FN(TXD0),
1002     GPIO_FN(RXD0),
1003     GPIO_FN(SCK0),
1004     GPIO_FN(TXD1),
1005     GPIO_FN(RXD1),
1006     GPIO_FN(SCK1),
1007     GPIO_FN(TXD2),
1008     GPIO_FN(RXD2),
1009     GPIO_FN(SCK2),
1010     GPIO_FN(RTS3),
1011     GPIO_FN(CTS3),
1012     GPIO_FN(TXD3),
1013     GPIO_FN(RXD3),
1014     GPIO_FN(SCK3),
1015 
1016     /* SSI */
1017     GPIO_FN(AUDIO_CLK),
1018     GPIO_FN(SSIDATA3),
1019     GPIO_FN(SSIWS3),
1020     GPIO_FN(SSISCK3),
1021     GPIO_FN(SSIDATA2),
1022     GPIO_FN(SSIWS2),
1023     GPIO_FN(SSISCK2),
1024     GPIO_FN(SSIDATA1),
1025     GPIO_FN(SSIWS1),
1026     GPIO_FN(SSISCK1),
1027     GPIO_FN(SSIDATA0),
1028     GPIO_FN(SSIWS0),
1029     GPIO_FN(SSISCK0),
1030 
1031     /* FLCTL */
1032     GPIO_FN(FCE),
1033     GPIO_FN(FRB),
1034     GPIO_FN(NAF7),
1035     GPIO_FN(NAF6),
1036     GPIO_FN(NAF5),
1037     GPIO_FN(NAF4),
1038     GPIO_FN(NAF3),
1039     GPIO_FN(NAF2),
1040     GPIO_FN(NAF1),
1041     GPIO_FN(NAF0),
1042     GPIO_FN(FSC),
1043     GPIO_FN(FOE),
1044     GPIO_FN(FCDE),
1045     GPIO_FN(FWE),
1046 
1047     /* LCDC */
1048     GPIO_FN(LCD_VEPWC),
1049     GPIO_FN(LCD_VCPWC),
1050     GPIO_FN(LCD_CLK),
1051     GPIO_FN(LCD_FLM),
1052     GPIO_FN(LCD_M_DISP),
1053     GPIO_FN(LCD_CL2),
1054     GPIO_FN(LCD_CL1),
1055     GPIO_FN(LCD_DON),
1056     GPIO_FN(LCD_DATA15),
1057     GPIO_FN(LCD_DATA14),
1058     GPIO_FN(LCD_DATA13),
1059     GPIO_FN(LCD_DATA12),
1060     GPIO_FN(LCD_DATA11),
1061     GPIO_FN(LCD_DATA10),
1062     GPIO_FN(LCD_DATA9),
1063     GPIO_FN(LCD_DATA8),
1064     GPIO_FN(LCD_DATA7),
1065     GPIO_FN(LCD_DATA6),
1066     GPIO_FN(LCD_DATA5),
1067     GPIO_FN(LCD_DATA4),
1068     GPIO_FN(LCD_DATA3),
1069     GPIO_FN(LCD_DATA2),
1070     GPIO_FN(LCD_DATA1),
1071     GPIO_FN(LCD_DATA0),
1072 };
1073 
1074 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1075     { PINMUX_CFG_REG_VAR("PBIORL", 0xfffe3886, 16,
1076                  GROUP(-4, 1, 1, 1, 1, -8),
1077                  GROUP(
1078         /* RESERVED [4] */
1079         PB11_IN, PB11_OUT,
1080         PB10_IN, PB10_OUT,
1081         PB9_IN, PB9_OUT,
1082         PB8_IN, PB8_OUT,
1083         /* RESERVED [8] */ ))
1084     },
1085     { PINMUX_CFG_REG_VAR("PBCRL4", 0xfffe3890, 16,
1086                  GROUP(-12, 4),
1087                  GROUP(
1088         /* RESERVED [12] */
1089         PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
1090         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1091     },
1092     { PINMUX_CFG_REG("PBCRL3", 0xfffe3892, 16, 4, GROUP(
1093         PB11MD_0, PB11MD_1,
1094         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095 
1096         PB10MD_0, PB10MD_1,
1097         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1098 
1099         PB9MD_00, PB9MD_01, PB9MD_10, 0,
1100         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1101 
1102         PB8MD_00, PB8MD_01, PB8MD_10, 0,
1103         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1104     },
1105     { PINMUX_CFG_REG("PBCRL2", 0xfffe3894, 16, 4, GROUP(
1106         PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
1107         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1108 
1109         PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
1110         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1111 
1112         PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
1113         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1114 
1115         PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
1116         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1117     },
1118     { PINMUX_CFG_REG("PBCRL1", 0xfffe3896, 16, 4, GROUP(
1119         PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
1120         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121 
1122         PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
1123         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1124 
1125         PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
1126         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1127 
1128         PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
1129         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1130     },
1131     { PINMUX_CFG_REG_VAR("IFCR", 0xfffe38a2, 16,
1132                  GROUP(-12, 4),
1133                  GROUP(
1134         /* RESERVED [12] */
1135         PB12IRQ_00, PB12IRQ_01, PB12IRQ_10, 0,
1136         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1137     },
1138     { PINMUX_CFG_REG("PCIORL", 0xfffe3906, 16, 1, GROUP(
1139         0, 0,
1140         PC14_IN, PC14_OUT,
1141         PC13_IN, PC13_OUT,
1142         PC12_IN, PC12_OUT,
1143         PC11_IN, PC11_OUT,
1144         PC10_IN, PC10_OUT,
1145         PC9_IN, PC9_OUT,
1146         PC8_IN, PC8_OUT,
1147         PC7_IN, PC7_OUT,
1148         PC6_IN, PC6_OUT,
1149         PC5_IN, PC5_OUT,
1150         PC4_IN, PC4_OUT,
1151         PC3_IN, PC3_OUT,
1152         PC2_IN, PC2_OUT,
1153         PC1_IN, PC1_OUT,
1154         PC0_IN, PC0_OUT ))
1155     },
1156     { PINMUX_CFG_REG_VAR("PCCRL4", 0xfffe3910, 16,
1157                  GROUP(-4, 4, 4, 4),
1158                  GROUP(
1159         /* RESERVED [4] */
1160         PC14MD_0, PC14MD_1,
1161         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1162 
1163         PC13MD_0, PC13MD_1,
1164         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1165 
1166         PC12MD_0, PC12MD_1,
1167         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1168     },
1169     { PINMUX_CFG_REG("PCCRL3", 0xfffe3912, 16, 4, GROUP(
1170         PC11MD_00, PC11MD_01, PC11MD_10, 0,
1171         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 
1173         PC10MD_00, PC10MD_01, PC10MD_10, 0,
1174         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1175 
1176         PC9MD_0, PC9MD_1,
1177         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 
1179         PC8MD_0, PC8MD_1,
1180         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1181     },
1182     { PINMUX_CFG_REG("PCCRL2", 0xfffe3914, 16, 4, GROUP(
1183         PC7MD_0, PC7MD_1,
1184         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1185 
1186         PC6MD_0, PC6MD_1,
1187         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1188 
1189         PC5MD_0, PC5MD_1,
1190         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1191 
1192         PC4MD_0, PC4MD_1,
1193         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1194     },
1195     { PINMUX_CFG_REG("PCCRL1", 0xfffe3916, 16, 4, GROUP(
1196         PC3MD_0, PC3MD_1,
1197         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198 
1199         PC2MD_0, PC2MD_1,
1200         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 
1202         PC1MD_0, PC1MD_1,
1203         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 
1205         PC0MD_00, PC0MD_01, PC0MD_10, 0,
1206         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1207     },
1208     { PINMUX_CFG_REG("PDIORL", 0xfffe3986, 16, 1, GROUP(
1209         PD15_IN, PD15_OUT,
1210         PD14_IN, PD14_OUT,
1211         PD13_IN, PD13_OUT,
1212         PD12_IN, PD12_OUT,
1213         PD11_IN, PD11_OUT,
1214         PD10_IN, PD10_OUT,
1215         PD9_IN, PD9_OUT,
1216         PD8_IN, PD8_OUT,
1217         PD7_IN, PD7_OUT,
1218         PD6_IN, PD6_OUT,
1219         PD5_IN, PD5_OUT,
1220         PD4_IN, PD4_OUT,
1221         PD3_IN, PD3_OUT,
1222         PD2_IN, PD2_OUT,
1223         PD1_IN, PD1_OUT,
1224         PD0_IN, PD0_OUT ))
1225     },
1226     { PINMUX_CFG_REG("PDCRL4", 0xfffe3990, 16, 4, GROUP(
1227         PD15MD_000, PD15MD_001, PD15MD_010, 0,
1228         PD15MD_100, PD15MD_101, 0, 0,
1229         0, 0, 0, 0, 0, 0, 0, 0,
1230 
1231         PD14MD_000, PD14MD_001, PD14MD_010, 0,
1232         0, PD14MD_101, 0, 0,
1233         0, 0, 0, 0, 0, 0, 0, 0,
1234 
1235         PD13MD_000, PD13MD_001, PD13MD_010, 0,
1236         PD13MD_100, PD13MD_101, 0, 0,
1237         0, 0, 0, 0, 0, 0, 0, 0,
1238 
1239         PD12MD_000, PD12MD_001, PD12MD_010, 0,
1240         PD12MD_100, PD12MD_101, 0, 0,
1241         0, 0, 0, 0, 0, 0, 0, 0 ))
1242     },
1243     { PINMUX_CFG_REG("PDCRL3", 0xfffe3992, 16, 4, GROUP(
1244         PD11MD_000, PD11MD_001, PD11MD_010, 0,
1245         PD11MD_100, PD11MD_101, 0, 0,
1246         0, 0, 0, 0, 0, 0, 0, 0,
1247 
1248         PD10MD_000, PD10MD_001, PD10MD_010, 0,
1249         PD10MD_100, PD10MD_101, 0, 0,
1250         0, 0, 0, 0, 0, 0, 0, 0,
1251 
1252         PD9MD_000, PD9MD_001, PD9MD_010, 0,
1253         PD9MD_100, PD9MD_101, 0, 0,
1254         0, 0, 0, 0, 0, 0, 0, 0,
1255 
1256         PD8MD_000, PD8MD_001, PD8MD_010, 0,
1257         PD8MD_100, PD8MD_101, 0, 0,
1258         0, 0, 0, 0, 0, 0, 0, 0 ))
1259     },
1260     { PINMUX_CFG_REG("PDCRL2", 0xfffe3994, 16, 4, GROUP(
1261         PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011,
1262         PD7MD_100, PD7MD_101, 0, 0,
1263         0, 0, 0, 0, 0, 0, 0, 0,
1264 
1265         PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011,
1266         PD6MD_100, PD6MD_101, 0, 0,
1267         0, 0, 0, 0, 0, 0, 0, 0,
1268 
1269         PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011,
1270         PD5MD_100, PD5MD_101, 0, 0,
1271         0, 0, 0, 0, 0, 0, 0, 0,
1272 
1273         PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011,
1274         PD4MD_100, PD4MD_101, 0, 0,
1275         0, 0, 0, 0, 0, 0, 0, 0 ))
1276     },
1277     { PINMUX_CFG_REG("PDCRL1", 0xfffe3996, 16, 4, GROUP(
1278         PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011,
1279         PD3MD_100, PD3MD_101, 0, 0,
1280         0, 0, 0, 0, 0, 0, 0, 0,
1281 
1282         PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011,
1283         PD2MD_100, PD2MD_101, 0, 0,
1284         0, 0, 0, 0, 0, 0, 0, 0,
1285 
1286         PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011,
1287         PD1MD_100, PD1MD_101, 0, 0,
1288         0, 0, 0, 0, 0, 0, 0, 0,
1289 
1290         PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011,
1291         PD0MD_100, PD0MD_101, 0, 0,
1292         0, 0, 0, 0, 0, 0, 0, 0 ))
1293     },
1294     { PINMUX_CFG_REG("PEIORL", 0xfffe3a06, 16, 1, GROUP(
1295         PE15_IN, PE15_OUT,
1296         PE14_IN, PE14_OUT,
1297         PE13_IN, PE13_OUT,
1298         PE12_IN, PE12_OUT,
1299         PE11_IN, PE11_OUT,
1300         PE10_IN, PE10_OUT,
1301         PE9_IN, PE9_OUT,
1302         PE8_IN, PE8_OUT,
1303         PE7_IN, PE7_OUT,
1304         PE6_IN, PE6_OUT,
1305         PE5_IN, PE5_OUT,
1306         PE4_IN, PE4_OUT,
1307         PE3_IN, PE3_OUT,
1308         PE2_IN, PE2_OUT,
1309         PE1_IN, PE1_OUT,
1310         PE0_IN, PE0_OUT ))
1311     },
1312     { PINMUX_CFG_REG("PECRL4", 0xfffe3a10, 16, 4, GROUP(
1313         PE15MD_00, PE15MD_01, 0, PE15MD_11,
1314         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1315 
1316         PE14MD_00, PE14MD_01, 0, PE14MD_11,
1317         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318 
1319         PE13MD_00, 0, 0, PE13MD_11,
1320         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321 
1322         PE12MD_00, 0, 0, PE12MD_11,
1323         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1324     },
1325     { PINMUX_CFG_REG("PECRL3", 0xfffe3a12, 16, 4, GROUP(
1326         PE11MD_000, PE11MD_001, PE11MD_010, 0,
1327         PE11MD_100, 0, 0, 0,
1328         0, 0, 0, 0, 0, 0, 0, 0,
1329 
1330         PE10MD_000, PE10MD_001, PE10MD_010, 0,
1331         PE10MD_100, 0, 0, 0,
1332         0, 0, 0, 0, 0, 0, 0, 0,
1333 
1334         PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
1335         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336 
1337         PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
1338         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1339     },
1340     { PINMUX_CFG_REG("PECRL2", 0xfffe3a14, 16, 4, GROUP(
1341         PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011,
1342         PE7MD_100, 0, 0, 0,
1343         0, 0, 0, 0, 0, 0, 0, 0,
1344 
1345         PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011,
1346         PE6MD_100, 0, 0, 0,
1347         0, 0, 0, 0, 0, 0, 0, 0,
1348 
1349         PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011,
1350         PE5MD_100, 0, 0, 0,
1351         0, 0, 0, 0, 0, 0, 0, 0,
1352 
1353         PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011,
1354         PE4MD_100, 0, 0, 0,
1355         0, 0, 0, 0, 0, 0, 0, 0 ))
1356     },
1357     { PINMUX_CFG_REG("PECRL1", 0xfffe3a16, 16, 4, GROUP(
1358         PE3MD_00, PE3MD_01, 0, PE3MD_11,
1359         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1360 
1361         PE2MD_00, PE2MD_01, 0, PE2MD_11,
1362         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 
1364         PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
1365         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366 
1367         PE0MD_000, PE0MD_001, 0, PE0MD_011,
1368         PE0MD_100, 0, 0, 0,
1369         0, 0, 0, 0, 0, 0, 0, 0 ))
1370     },
1371     { PINMUX_CFG_REG("PFIORH", 0xfffe3a84, 16, 1, GROUP(
1372         0, 0,
1373         PF30_IN, PF30_OUT,
1374         PF29_IN, PF29_OUT,
1375         PF28_IN, PF28_OUT,
1376         PF27_IN, PF27_OUT,
1377         PF26_IN, PF26_OUT,
1378         PF25_IN, PF25_OUT,
1379         PF24_IN, PF24_OUT,
1380         PF23_IN, PF23_OUT,
1381         PF22_IN, PF22_OUT,
1382         PF21_IN, PF21_OUT,
1383         PF20_IN, PF20_OUT,
1384         PF19_IN, PF19_OUT,
1385         PF18_IN, PF18_OUT,
1386         PF17_IN, PF17_OUT,
1387         PF16_IN, PF16_OUT ))
1388     },
1389     { PINMUX_CFG_REG("PFIORL", 0xfffe3a86, 16, 1, GROUP(
1390         PF15_IN, PF15_OUT,
1391         PF14_IN, PF14_OUT,
1392         PF13_IN, PF13_OUT,
1393         PF12_IN, PF12_OUT,
1394         PF11_IN, PF11_OUT,
1395         PF10_IN, PF10_OUT,
1396         PF9_IN, PF9_OUT,
1397         PF8_IN, PF8_OUT,
1398         PF7_IN, PF7_OUT,
1399         PF6_IN, PF6_OUT,
1400         PF5_IN, PF5_OUT,
1401         PF4_IN, PF4_OUT,
1402         PF3_IN, PF3_OUT,
1403         PF2_IN, PF2_OUT,
1404         PF1_IN, PF1_OUT,
1405         PF0_IN, PF0_OUT ))
1406     },
1407     { PINMUX_CFG_REG_VAR("PFCRH4", 0xfffe3a88, 16,
1408                  GROUP(-4, 4, 4, 4),
1409                  GROUP(
1410         /* RESERVED [4] */
1411 
1412         PF30MD_0, PF30MD_1,
1413         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414 
1415         PF29MD_0, PF29MD_1,
1416         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1417 
1418         PF28MD_0, PF28MD_1,
1419         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1420     },
1421     { PINMUX_CFG_REG("PFCRH3", 0xfffe3a8a, 16, 4, GROUP(
1422         PF27MD_0, PF27MD_1,
1423         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 
1425         PF26MD_0, PF26MD_1,
1426         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 
1428         PF25MD_0, PF25MD_1,
1429         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 
1431         PF24MD_0, PF24MD_1,
1432         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1433     },
1434     { PINMUX_CFG_REG("PFCRH2", 0xfffe3a8c, 16, 4, GROUP(
1435         PF23MD_00, PF23MD_01, PF23MD_10, 0,
1436         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 
1438         PF22MD_00, PF22MD_01, PF22MD_10, 0,
1439         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 
1441         PF21MD_00, PF21MD_01, PF21MD_10, 0,
1442         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443 
1444         PF20MD_00, PF20MD_01, PF20MD_10, 0,
1445         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1446     },
1447     { PINMUX_CFG_REG("PFCRH1", 0xfffe3a8e, 16, 4, GROUP(
1448         PF19MD_00, PF19MD_01, PF19MD_10, 0,
1449         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 
1451         PF18MD_00, PF18MD_01, PF18MD_10, 0,
1452         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 
1454         PF17MD_00, PF17MD_01, PF17MD_10, 0,
1455         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 
1457         PF16MD_00, PF16MD_01, PF16MD_10, 0,
1458         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1459     },
1460     { PINMUX_CFG_REG("PFCRL4", 0xfffe3a90, 16, 4, GROUP(
1461         PF15MD_00, PF15MD_01, PF15MD_10, 0,
1462         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 
1464         PF14MD_00, PF14MD_01, PF14MD_10, 0,
1465         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466 
1467         PF13MD_00, PF13MD_01, PF13MD_10, 0,
1468         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469 
1470         PF12MD_00, PF12MD_01, PF12MD_10, 0,
1471         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1472     },
1473     { PINMUX_CFG_REG("PFCRL3", 0xfffe3a92, 16, 4, GROUP(
1474         PF11MD_00, PF11MD_01, PF11MD_10, 0,
1475         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 
1477         PF10MD_00, PF10MD_01, PF10MD_10, 0,
1478         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 
1480         PF9MD_00, PF9MD_01, PF9MD_10, 0,
1481         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 
1483         PF8MD_00, PF8MD_01, PF8MD_10, 0,
1484         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1485     },
1486     { PINMUX_CFG_REG("PFCRL2", 0xfffe3a94, 16, 4, GROUP(
1487         PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,
1488         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 
1490         PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
1491         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 
1493         PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
1494         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 
1496         PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
1497         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1498     },
1499     { PINMUX_CFG_REG("PFCRL1", 0xfffe3a96, 16, 4, GROUP(
1500         PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,
1501         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 
1503         PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
1504         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 
1506         PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
1507         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508 
1509         PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
1510         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1511     },
1512     {}
1513 };
1514 
1515 static const struct pinmux_data_reg pinmux_data_regs[] = {
1516     { PINMUX_DATA_REG("PADRL", 0xfffe3802, 16, GROUP(
1517         0, 0, 0, 0,
1518         0, 0, 0, 0,
1519         PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
1520         PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA ))
1521     },
1522     { PINMUX_DATA_REG("PBDRL", 0xfffe3882, 16, GROUP(
1523         0, 0, 0, PB12_DATA,
1524         PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
1525         PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
1526         PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA ))
1527     },
1528     { PINMUX_DATA_REG("PCDRL", 0xfffe3902, 16, GROUP(
1529         0, PC14_DATA, PC13_DATA, PC12_DATA,
1530         PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,
1531         PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
1532         PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA ))
1533     },
1534     { PINMUX_DATA_REG("PDDRL", 0xfffe3982, 16, GROUP(
1535         PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
1536         PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
1537         PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
1538         PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA ))
1539     },
1540     { PINMUX_DATA_REG("PEDRL", 0xfffe3a02, 16, GROUP(
1541         PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,
1542         PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,
1543         PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
1544         PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA ))
1545     },
1546     { PINMUX_DATA_REG("PFDRH", 0xfffe3a80, 16, GROUP(
1547         0, PF30_DATA, PF29_DATA, PF28_DATA,
1548         PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,
1549         PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
1550         PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA ))
1551     },
1552     { PINMUX_DATA_REG("PFDRL", 0xfffe3a82, 16, GROUP(
1553         PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
1554         PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
1555         PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
1556         PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA ))
1557     },
1558     { },
1559 };
1560 
1561 const struct sh_pfc_soc_info sh7203_pinmux_info = {
1562     .name = "sh7203_pfc",
1563     .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
1564     .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
1565     .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1566 
1567     .pins = pinmux_pins,
1568     .nr_pins = ARRAY_SIZE(pinmux_pins),
1569     .func_gpios = pinmux_func_gpios,
1570     .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
1571 
1572     .cfg_regs = pinmux_config_regs,
1573     .data_regs = pinmux_data_regs,
1574 
1575     .pinmux_data = pinmux_data,
1576     .pinmux_data_size = ARRAY_SIZE(pinmux_data),
1577 };