| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * SH7203 Pinmux |
| * |
| * Copyright (C) 2008 Magnus Damm |
| */ |
| |
| #include <linux/kernel.h> |
| #include <cpu/sh7203.h> |
| |
| #include "sh_pfc.h" |
| |
| enum { |
| PINMUX_RESERVED = 0, |
| |
| PINMUX_DATA_BEGIN, |
| PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA, |
| PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA, |
| PB12_DATA, |
| PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA, |
| PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA, |
| PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA, |
| PC14_DATA, PC13_DATA, PC12_DATA, |
| PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA, |
| PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA, |
| PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA, |
| PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA, |
| PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA, |
| PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA, |
| PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA, |
| PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA, |
| PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA, |
| PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA, |
| PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA, |
| PF30_DATA, PF29_DATA, PF28_DATA, |
| PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA, |
| PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA, |
| PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA, |
| PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA, |
| PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA, |
| PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA, |
| PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA, |
| PINMUX_DATA_END, |
| |
| PINMUX_INPUT_BEGIN, |
| FORCE_IN, |
| PA7_IN, PA6_IN, PA5_IN, PA4_IN, |
| PA3_IN, PA2_IN, PA1_IN, PA0_IN, |
| PB11_IN, PB10_IN, PB9_IN, PB8_IN, |
| PC14_IN, PC13_IN, PC12_IN, |
| PC11_IN, PC10_IN, PC9_IN, PC8_IN, |
| PC7_IN, PC6_IN, PC5_IN, PC4_IN, |
| PC3_IN, PC2_IN, PC1_IN, PC0_IN, |
| PD15_IN, PD14_IN, PD13_IN, PD12_IN, |
| PD11_IN, PD10_IN, PD9_IN, PD8_IN, |
| PD7_IN, PD6_IN, PD5_IN, PD4_IN, |
| PD3_IN, PD2_IN, PD1_IN, PD0_IN, |
| PE15_IN, PE14_IN, PE13_IN, PE12_IN, |
| PE11_IN, PE10_IN, PE9_IN, PE8_IN, |
| PE7_IN, PE6_IN, PE5_IN, PE4_IN, |
| PE3_IN, PE2_IN, PE1_IN, PE0_IN, |
| PF30_IN, PF29_IN, PF28_IN, |
| PF27_IN, PF26_IN, PF25_IN, PF24_IN, |
| PF23_IN, PF22_IN, PF21_IN, PF20_IN, |
| PF19_IN, PF18_IN, PF17_IN, PF16_IN, |
| PF15_IN, PF14_IN, PF13_IN, PF12_IN, |
| PF11_IN, PF10_IN, PF9_IN, PF8_IN, |
| PF7_IN, PF6_IN, PF5_IN, PF4_IN, |
| PF3_IN, PF2_IN, PF1_IN, PF0_IN, |
| PINMUX_INPUT_END, |
| |
| PINMUX_OUTPUT_BEGIN, |
| FORCE_OUT, |
| PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT, |
| PC14_OUT, PC13_OUT, PC12_OUT, |
| PC11_OUT, PC10_OUT, PC9_OUT, PC8_OUT, |
| PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT, |
| PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT, |
| PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT, |
| PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT, |
| PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT, |
| PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT, |
| PE15_OUT, PE14_OUT, PE13_OUT, PE12_OUT, |
| PE11_OUT, PE10_OUT, PE9_OUT, PE8_OUT, |
| PE7_OUT, PE6_OUT, PE5_OUT, PE4_OUT, |
| PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT, |
| PF30_OUT, PF29_OUT, PF28_OUT, |
| PF27_OUT, PF26_OUT, PF25_OUT, PF24_OUT, |
| PF23_OUT, PF22_OUT, PF21_OUT, PF20_OUT, |
| PF19_OUT, PF18_OUT, PF17_OUT, PF16_OUT, |
| PF15_OUT, PF14_OUT, PF13_OUT, PF12_OUT, |
| PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT, |
| PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT, |
| PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT, |
| PINMUX_OUTPUT_END, |
| |
| PINMUX_FUNCTION_BEGIN, |
| PB11_IOR_IN, PB11_IOR_OUT, |
| PB10_IOR_IN, PB10_IOR_OUT, |
| PB9_IOR_IN, PB9_IOR_OUT, |
| PB8_IOR_IN, PB8_IOR_OUT, |
| PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11, |
| PB11MD_0, PB11MD_1, |
| PB10MD_0, PB10MD_1, |
| PB9MD_00, PB9MD_01, PB9MD_10, |
| PB8MD_00, PB8MD_01, PB8MD_10, |
| PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11, |
| PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11, |
| PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11, |
| PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11, |
| PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11, |
| PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11, |
| PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11, |
| PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11, |
| |
| PB12IRQ_00, PB12IRQ_01, PB12IRQ_10, |
| |
| PC14MD_0, PC14MD_1, |
| PC13MD_0, PC13MD_1, |
| PC12MD_0, PC12MD_1, |
| PC11MD_00, PC11MD_01, PC11MD_10, |
| PC10MD_00, PC10MD_01, PC10MD_10, |
| PC9MD_0, PC9MD_1, |
| PC8MD_0, PC8MD_1, |
| PC7MD_0, PC7MD_1, |
| PC6MD_0, PC6MD_1, |
| PC5MD_0, PC5MD_1, |
| PC4MD_0, PC4MD_1, |
| PC3MD_0, PC3MD_1, |
| PC2MD_0, PC2MD_1, |
| PC1MD_0, PC1MD_1, |
| PC0MD_00, PC0MD_01, PC0MD_10, |
| |
| PD15MD_000, PD15MD_001, PD15MD_010, PD15MD_100, PD15MD_101, |
| PD14MD_000, PD14MD_001, PD14MD_010, PD14MD_101, |
| PD13MD_000, PD13MD_001, PD13MD_010, PD13MD_100, PD13MD_101, |
| PD12MD_000, PD12MD_001, PD12MD_010, PD12MD_100, PD12MD_101, |
| PD11MD_000, PD11MD_001, PD11MD_010, PD11MD_100, PD11MD_101, |
| PD10MD_000, PD10MD_001, PD10MD_010, PD10MD_100, PD10MD_101, |
| PD9MD_000, PD9MD_001, PD9MD_010, PD9MD_100, PD9MD_101, |
| PD8MD_000, PD8MD_001, PD8MD_010, PD8MD_100, PD8MD_101, |
| PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011, PD7MD_100, PD7MD_101, |
| PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011, PD6MD_100, PD6MD_101, |
| PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011, PD5MD_100, PD5MD_101, |
| PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011, PD4MD_100, PD4MD_101, |
| PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011, PD3MD_100, PD3MD_101, |
| PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011, PD2MD_100, PD2MD_101, |
| PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011, PD1MD_100, PD1MD_101, |
| PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011, PD0MD_100, PD0MD_101, |
| |
| PE15MD_00, PE15MD_01, PE15MD_11, |
| PE14MD_00, PE14MD_01, PE14MD_11, |
| PE13MD_00, PE13MD_11, |
| PE12MD_00, PE12MD_11, |
| PE11MD_000, PE11MD_001, PE11MD_010, PE11MD_100, |
| PE10MD_000, PE10MD_001, PE10MD_010, PE10MD_100, |
| PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11, |
| PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11, |
| PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011, PE7MD_100, |
| PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011, PE6MD_100, |
| PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011, PE5MD_100, |
| PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011, PE4MD_100, |
| PE3MD_00, PE3MD_01, PE3MD_11, |
| PE2MD_00, PE2MD_01, PE2MD_11, |
| PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11, |
| PE0MD_000, PE0MD_001, PE0MD_011, PE0MD_100, |
| |
| PF30MD_0, PF30MD_1, |
| PF29MD_0, PF29MD_1, |
| PF28MD_0, PF28MD_1, |
| PF27MD_0, PF27MD_1, |
| PF26MD_0, PF26MD_1, |
| PF25MD_0, PF25MD_1, |
| PF24MD_0, PF24MD_1, |
| PF23MD_00, PF23MD_01, PF23MD_10, |
| PF22MD_00, PF22MD_01, PF22MD_10, |
| PF21MD_00, PF21MD_01, PF21MD_10, |
| PF20MD_00, PF20MD_01, PF20MD_10, |
| PF19MD_00, PF19MD_01, PF19MD_10, |
| PF18MD_00, PF18MD_01, PF18MD_10, |
| PF17MD_00, PF17MD_01, PF17MD_10, |
| PF16MD_00, PF16MD_01, PF16MD_10, |
| PF15MD_00, PF15MD_01, PF15MD_10, |
| PF14MD_00, PF14MD_01, PF14MD_10, |
| PF13MD_00, PF13MD_01, PF13MD_10, |
| PF12MD_00, PF12MD_01, PF12MD_10, |
| PF11MD_00, PF11MD_01, PF11MD_10, |
| PF10MD_00, PF10MD_01, PF10MD_10, |
| PF9MD_00, PF9MD_01, PF9MD_10, |
| PF8MD_00, PF8MD_01, PF8MD_10, |
| PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11, |
| PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11, |
| PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11, |
| PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11, |
| PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11, |
| PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11, |
| PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11, |
| PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11, |
| PINMUX_FUNCTION_END, |
| |
| PINMUX_MARK_BEGIN, |
| PINT7_PB_MARK, PINT6_PB_MARK, PINT5_PB_MARK, PINT4_PB_MARK, |
| PINT3_PB_MARK, PINT2_PB_MARK, PINT1_PB_MARK, PINT0_PB_MARK, |
| PINT7_PD_MARK, PINT6_PD_MARK, PINT5_PD_MARK, PINT4_PD_MARK, |
| PINT3_PD_MARK, PINT2_PD_MARK, PINT1_PD_MARK, PINT0_PD_MARK, |
| IRQ7_PB_MARK, IRQ6_PB_MARK, IRQ5_PB_MARK, IRQ4_PB_MARK, |
| IRQ3_PB_MARK, IRQ2_PB_MARK, IRQ1_PB_MARK, IRQ0_PB_MARK, |
| IRQ7_PD_MARK, IRQ6_PD_MARK, IRQ5_PD_MARK, IRQ4_PD_MARK, |
| IRQ3_PD_MARK, IRQ2_PD_MARK, IRQ1_PD_MARK, IRQ0_PD_MARK, |
| IRQ7_PE_MARK, IRQ6_PE_MARK, IRQ5_PE_MARK, IRQ4_PE_MARK, |
| IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK, |
| WDTOVF_MARK, IRQOUT_MARK, REFOUT_MARK, IRQOUT_REFOUT_MARK, |
| UBCTRG_MARK, |
| CTX1_MARK, CRX1_MARK, CTX0_MARK, CTX0_CTX1_MARK, |
| CRX0_MARK, CRX0_CRX1_MARK, |
| SDA3_MARK, SCL3_MARK, |
| SDA2_MARK, SCL2_MARK, |
| SDA1_MARK, SCL1_MARK, |
| SDA0_MARK, SCL0_MARK, |
| TEND0_PD_MARK, TEND0_PE_MARK, DACK0_PD_MARK, DACK0_PE_MARK, |
| DREQ0_PD_MARK, DREQ0_PE_MARK, TEND1_PD_MARK, TEND1_PE_MARK, |
| DACK1_PD_MARK, DACK1_PE_MARK, DREQ1_PD_MARK, DREQ1_PE_MARK, |
| DACK2_MARK, DREQ2_MARK, DACK3_MARK, DREQ3_MARK, |
| ADTRG_PD_MARK, ADTRG_PE_MARK, |
| D31_MARK, D30_MARK, D29_MARK, D28_MARK, |
| D27_MARK, D26_MARK, D25_MARK, D24_MARK, |
| D23_MARK, D22_MARK, D21_MARK, D20_MARK, |
| D19_MARK, D18_MARK, D17_MARK, D16_MARK, |
| A25_MARK, A24_MARK, A23_MARK, A22_MARK, |
| A21_MARK, CS4_MARK, MRES_MARK, BS_MARK, |
| IOIS16_MARK, CS1_MARK, CS6_CE1B_MARK, CE2B_MARK, |
| CS5_CE1A_MARK, CE2A_MARK, FRAME_MARK, WAIT_MARK, |
| RDWR_MARK, CKE_MARK, CASU_MARK, BREQ_MARK, |
| RASU_MARK, BACK_MARK, CASL_MARK, RASL_MARK, |
| WE3_DQMUU_AH_ICIO_WR_MARK, WE2_DQMUL_ICIORD_MARK, |
| WE1_DQMLU_WE_MARK, WE0_DQMLL_MARK, |
| CS3_MARK, CS2_MARK, A1_MARK, A0_MARK, CS7_MARK, |
| TIOC4D_MARK, TIOC4C_MARK, TIOC4B_MARK, TIOC4A_MARK, |
| TIOC3D_MARK, TIOC3C_MARK, TIOC3B_MARK, TIOC3A_MARK, |
| TIOC2B_MARK, TIOC1B_MARK, TIOC2A_MARK, TIOC1A_MARK, |
| TIOC0D_MARK, TIOC0C_MARK, TIOC0B_MARK, TIOC0A_MARK, |
| TCLKD_PD_MARK, TCLKC_PD_MARK, TCLKB_PD_MARK, TCLKA_PD_MARK, |
| TCLKD_PF_MARK, TCLKC_PF_MARK, TCLKB_PF_MARK, TCLKA_PF_MARK, |
| SCS0_PD_MARK, SSO0_PD_MARK, SSI0_PD_MARK, SSCK0_PD_MARK, |
| SCS0_PF_MARK, SSO0_PF_MARK, SSI0_PF_MARK, SSCK0_PF_MARK, |
| SCS1_PD_MARK, SSO1_PD_MARK, SSI1_PD_MARK, SSCK1_PD_MARK, |
| SCS1_PF_MARK, SSO1_PF_MARK, SSI1_PF_MARK, SSCK1_PF_MARK, |
| TXD0_MARK, RXD0_MARK, SCK0_MARK, |
| TXD1_MARK, RXD1_MARK, SCK1_MARK, |
| TXD2_MARK, RXD2_MARK, SCK2_MARK, |
| RTS3_MARK, CTS3_MARK, TXD3_MARK, |
| RXD3_MARK, SCK3_MARK, |
| AUDIO_CLK_MARK, |
| SSIDATA3_MARK, SSIWS3_MARK, SSISCK3_MARK, |
| SSIDATA2_MARK, SSIWS2_MARK, SSISCK2_MARK, |
| SSIDATA1_MARK, SSIWS1_MARK, SSISCK1_MARK, |
| SSIDATA0_MARK, SSIWS0_MARK, SSISCK0_MARK, |
| FCE_MARK, FRB_MARK, |
| NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK, |
| NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK, |
| FSC_MARK, FOE_MARK, FCDE_MARK, FWE_MARK, |
| LCD_VEPWC_MARK, LCD_VCPWC_MARK, LCD_CLK_MARK, LCD_FLM_MARK, |
| LCD_M_DISP_MARK, LCD_CL2_MARK, LCD_CL1_MARK, LCD_DON_MARK, |
| LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK, |
| LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK, |
| LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK, |
| LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK, |
| PINMUX_MARK_END, |
| }; |
| |
| static const u16 pinmux_data[] = { |
| /* PA */ |
| PINMUX_DATA(PA7_DATA, PA7_IN), |
| PINMUX_DATA(PA6_DATA, PA6_IN), |
| PINMUX_DATA(PA5_DATA, PA5_IN), |
| PINMUX_DATA(PA4_DATA, PA4_IN), |
| PINMUX_DATA(PA3_DATA, PA3_IN), |
| PINMUX_DATA(PA2_DATA, PA2_IN), |
| PINMUX_DATA(PA1_DATA, PA1_IN), |
| PINMUX_DATA(PA0_DATA, PA0_IN), |
| |
| /* PB */ |
| PINMUX_DATA(PB12_DATA, PB12MD_00, FORCE_OUT), |
| PINMUX_DATA(WDTOVF_MARK, PB12MD_01), |
| PINMUX_DATA(IRQOUT_MARK, PB12MD_10, PB12IRQ_00), |
| PINMUX_DATA(REFOUT_MARK, PB12MD_10, PB12IRQ_01), |
| PINMUX_DATA(IRQOUT_REFOUT_MARK, PB12MD_10, PB12IRQ_10), |
| PINMUX_DATA(UBCTRG_MARK, PB12MD_11), |
| |
| PINMUX_DATA(PB11_DATA, PB11MD_0, PB11_IN, PB11_OUT), |
| PINMUX_DATA(CTX1_MARK, PB11MD_1), |
| |
| PINMUX_DATA(PB10_DATA, PB10MD_0, PB10_IN, PB10_OUT), |
| PINMUX_DATA(CRX1_MARK, PB10MD_1), |
| |
| PINMUX_DATA(PB9_DATA, PB9MD_00, PB9_IN, PB9_OUT), |
| PINMUX_DATA(CTX0_MARK, PB9MD_01), |
| PINMUX_DATA(CTX0_CTX1_MARK, PB9MD_10), |
| |
| PINMUX_DATA(PB8_DATA, PB8MD_00, PB8_IN, PB8_OUT), |
| PINMUX_DATA(CRX0_MARK, PB8MD_01), |
| PINMUX_DATA(CRX0_CRX1_MARK, PB8MD_10), |
| |
| PINMUX_DATA(PB7_DATA, PB7MD_00, FORCE_IN), |
| PINMUX_DATA(SDA3_MARK, PB7MD_01), |
| PINMUX_DATA(PINT7_PB_MARK, PB7MD_10), |
| PINMUX_DATA(IRQ7_PB_MARK, PB7MD_11), |
| |
| PINMUX_DATA(PB6_DATA, PB6MD_00, FORCE_IN), |
| PINMUX_DATA(SCL3_MARK, PB6MD_01), |
| PINMUX_DATA(PINT6_PB_MARK, PB6MD_10), |
| PINMUX_DATA(IRQ6_PB_MARK, PB6MD_11), |
| |
| PINMUX_DATA(PB5_DATA, PB5MD_00, FORCE_IN), |
| PINMUX_DATA(SDA2_MARK, PB6MD_01), |
| PINMUX_DATA(PINT5_PB_MARK, PB6MD_10), |
| PINMUX_DATA(IRQ5_PB_MARK, PB6MD_11), |
| |
| PINMUX_DATA(PB4_DATA, PB4MD_00, FORCE_IN), |
| PINMUX_DATA(SCL2_MARK, PB4MD_01), |
| PINMUX_DATA(PINT4_PB_MARK, PB4MD_10), |
| PINMUX_DATA(IRQ4_PB_MARK, PB4MD_11), |
| |
| PINMUX_DATA(PB3_DATA, PB3MD_00, FORCE_IN), |
| PINMUX_DATA(SDA1_MARK, PB3MD_01), |
| PINMUX_DATA(PINT3_PB_MARK, PB3MD_10), |
| PINMUX_DATA(IRQ3_PB_MARK, PB3MD_11), |
| |
| PINMUX_DATA(PB2_DATA, PB2MD_00, FORCE_IN), |
| PINMUX_DATA(SCL1_MARK, PB2MD_01), |
| PINMUX_DATA(PINT2_PB_MARK, PB2MD_10), |
| PINMUX_DATA(IRQ2_PB_MARK, PB2MD_11), |
| |
| PINMUX_DATA(PB1_DATA, PB1MD_00, FORCE_IN), |
| PINMUX_DATA(SDA0_MARK, PB1MD_01), |
| PINMUX_DATA(PINT1_PB_MARK, PB1MD_10), |
| PINMUX_DATA(IRQ1_PB_MARK, PB1MD_11), |
| |
| PINMUX_DATA(PB0_DATA, PB0MD_00, FORCE_IN), |
| PINMUX_DATA(SCL0_MARK, PB0MD_01), |
| PINMUX_DATA(PINT0_PB_MARK, PB0MD_10), |
| PINMUX_DATA(IRQ0_PB_MARK, PB0MD_11), |
| |
| /* PC */ |
| PINMUX_DATA(PC14_DATA, PC14MD_0, PC14_IN, PC14_OUT), |
| PINMUX_DATA(WAIT_MARK, PC14MD_1), |
| |
| PINMUX_DATA(PC13_DATA, PC13MD_0, PC13_IN, PC13_OUT), |
| PINMUX_DATA(RDWR_MARK, PC13MD_1), |
| |
| PINMUX_DATA(PC12_DATA, PC12MD_0, PC12_IN, PC12_OUT), |
| PINMUX_DATA(CKE_MARK, PC12MD_1), |
| |
| PINMUX_DATA(PC11_DATA, PC11MD_00, PC11_IN, PC11_OUT), |
| PINMUX_DATA(CASU_MARK, PC11MD_01), |
| PINMUX_DATA(BREQ_MARK, PC11MD_10), |
| |
| PINMUX_DATA(PC10_DATA, PC10MD_00, PC10_IN, PC10_OUT), |
| PINMUX_DATA(RASU_MARK, PC10MD_01), |
| PINMUX_DATA(BACK_MARK, PC10MD_10), |
| |
| PINMUX_DATA(PC9_DATA, PC9MD_0, PC9_IN, PC9_OUT), |
| PINMUX_DATA(CASL_MARK, PC9MD_1), |
| |
| PINMUX_DATA(PC8_DATA, PC8MD_0, PC8_IN, PC8_OUT), |
| PINMUX_DATA(RASL_MARK, PC8MD_1), |
| |
| PINMUX_DATA(PC7_DATA, PC7MD_0, PC7_IN, PC7_OUT), |
| PINMUX_DATA(WE3_DQMUU_AH_ICIO_WR_MARK, PC7MD_1), |
| |
| PINMUX_DATA(PC6_DATA, PC6MD_0, PC6_IN, PC6_OUT), |
| PINMUX_DATA(WE2_DQMUL_ICIORD_MARK, PC6MD_1), |
| |
| PINMUX_DATA(PC5_DATA, PC5MD_0, PC5_IN, PC5_OUT), |
| PINMUX_DATA(WE1_DQMLU_WE_MARK, PC5MD_1), |
| |
| PINMUX_DATA(PC4_DATA, PC4MD_0, PC4_IN, PC4_OUT), |
| PINMUX_DATA(WE0_DQMLL_MARK, PC4MD_1), |
| |
| PINMUX_DATA(PC3_DATA, PC3MD_0, PC3_IN, PC3_OUT), |
| PINMUX_DATA(CS3_MARK, PC3MD_1), |
| |
| PINMUX_DATA(PC2_DATA, PC2MD_0, PC2_IN, PC2_OUT), |
| PINMUX_DATA(CS2_MARK, PC2MD_1), |
| |
| PINMUX_DATA(PC1_DATA, PC1MD_0, PC1_IN, PC1_OUT), |
| PINMUX_DATA(A1_MARK, PC1MD_1), |
| |
| PINMUX_DATA(PC0_DATA, PC0MD_00, PC0_IN, PC0_OUT), |
| PINMUX_DATA(A0_MARK, PC0MD_01), |
| PINMUX_DATA(CS7_MARK, PC0MD_10), |
| |
| /* PD */ |
| PINMUX_DATA(PD15_DATA, PD15MD_000, PD15_IN, PD15_OUT), |
| PINMUX_DATA(D31_MARK, PD15MD_001), |
| PINMUX_DATA(PINT7_PD_MARK, PD15MD_010), |
| PINMUX_DATA(ADTRG_PD_MARK, PD15MD_100), |
| PINMUX_DATA(TIOC4D_MARK, PD15MD_101), |
| |
| PINMUX_DATA(PD14_DATA, PD14MD_000, PD14_IN, PD14_OUT), |
| PINMUX_DATA(D30_MARK, PD14MD_001), |
| PINMUX_DATA(PINT6_PD_MARK, PD14MD_010), |
| PINMUX_DATA(TIOC4C_MARK, PD14MD_101), |
| |
| PINMUX_DATA(PD13_DATA, PD13MD_000, PD13_IN, PD13_OUT), |
| PINMUX_DATA(D29_MARK, PD13MD_001), |
| PINMUX_DATA(PINT5_PD_MARK, PD13MD_010), |
| PINMUX_DATA(TEND1_PD_MARK, PD13MD_100), |
| PINMUX_DATA(TIOC4B_MARK, PD13MD_101), |
| |
| PINMUX_DATA(PD12_DATA, PD12MD_000, PD12_IN, PD12_OUT), |
| PINMUX_DATA(D28_MARK, PD12MD_001), |
| PINMUX_DATA(PINT4_PD_MARK, PD12MD_010), |
| PINMUX_DATA(DACK1_PD_MARK, PD12MD_100), |
| PINMUX_DATA(TIOC4A_MARK, PD12MD_101), |
| |
| PINMUX_DATA(PD11_DATA, PD11MD_000, PD11_IN, PD11_OUT), |
| PINMUX_DATA(D27_MARK, PD11MD_001), |
| PINMUX_DATA(PINT3_PD_MARK, PD11MD_010), |
| PINMUX_DATA(DREQ1_PD_MARK, PD11MD_100), |
| PINMUX_DATA(TIOC3D_MARK, PD11MD_101), |
| |
| PINMUX_DATA(PD10_DATA, PD10MD_000, PD10_IN, PD10_OUT), |
| PINMUX_DATA(D26_MARK, PD10MD_001), |
| PINMUX_DATA(PINT2_PD_MARK, PD10MD_010), |
| PINMUX_DATA(TEND0_PD_MARK, PD10MD_100), |
| PINMUX_DATA(TIOC3C_MARK, PD10MD_101), |
| |
| PINMUX_DATA(PD9_DATA, PD9MD_000, PD9_IN, PD9_OUT), |
| PINMUX_DATA(D25_MARK, PD9MD_001), |
| PINMUX_DATA(PINT1_PD_MARK, PD9MD_010), |
| PINMUX_DATA(DACK0_PD_MARK, PD9MD_100), |
| PINMUX_DATA(TIOC3B_MARK, PD9MD_101), |
| |
| PINMUX_DATA(PD8_DATA, PD8MD_000, PD8_IN, PD8_OUT), |
| PINMUX_DATA(D24_MARK, PD8MD_001), |
| PINMUX_DATA(PINT0_PD_MARK, PD8MD_010), |
| PINMUX_DATA(DREQ0_PD_MARK, PD8MD_100), |
| PINMUX_DATA(TIOC3A_MARK, PD8MD_101), |
| |
| PINMUX_DATA(PD7_DATA, PD7MD_000, PD7_IN, PD7_OUT), |
| PINMUX_DATA(D23_MARK, PD7MD_001), |
| PINMUX_DATA(IRQ7_PD_MARK, PD7MD_010), |
| PINMUX_DATA(SCS1_PD_MARK, PD7MD_011), |
| PINMUX_DATA(TCLKD_PD_MARK, PD7MD_100), |
| PINMUX_DATA(TIOC2B_MARK, PD7MD_101), |
| |
| PINMUX_DATA(PD6_DATA, PD6MD_000, PD6_IN, PD6_OUT), |
| PINMUX_DATA(D22_MARK, PD6MD_001), |
| PINMUX_DATA(IRQ6_PD_MARK, PD6MD_010), |
| PINMUX_DATA(SSO1_PD_MARK, PD6MD_011), |
| PINMUX_DATA(TCLKC_PD_MARK, PD6MD_100), |
| PINMUX_DATA(TIOC2A_MARK, PD6MD_101), |
| |
| PINMUX_DATA(PD5_DATA, PD5MD_000, PD5_IN, PD5_OUT), |
| PINMUX_DATA(D21_MARK, PD5MD_001), |
| PINMUX_DATA(IRQ5_PD_MARK, PD5MD_010), |
| PINMUX_DATA(SSI1_PD_MARK, PD5MD_011), |
| PINMUX_DATA(TCLKB_PD_MARK, PD5MD_100), |
| PINMUX_DATA(TIOC1B_MARK, PD5MD_101), |
| |
| PINMUX_DATA(PD4_DATA, PD4MD_000, PD4_IN, PD4_OUT), |
| PINMUX_DATA(D20_MARK, PD4MD_001), |
| PINMUX_DATA(IRQ4_PD_MARK, PD4MD_010), |
| PINMUX_DATA(SSCK1_PD_MARK, PD4MD_011), |
| PINMUX_DATA(TCLKA_PD_MARK, PD4MD_100), |
| PINMUX_DATA(TIOC1A_MARK, PD4MD_101), |
| |
| PINMUX_DATA(PD3_DATA, PD3MD_000, PD3_IN, PD3_OUT), |
| PINMUX_DATA(D19_MARK, PD3MD_001), |
| PINMUX_DATA(IRQ3_PD_MARK, PD3MD_010), |
| PINMUX_DATA(SCS0_PD_MARK, PD3MD_011), |
| PINMUX_DATA(DACK3_MARK, PD3MD_100), |
| PINMUX_DATA(TIOC0D_MARK, PD3MD_101), |
| |
| PINMUX_DATA(PD2_DATA, PD2MD_000, PD2_IN, PD2_OUT), |
| PINMUX_DATA(D18_MARK, PD2MD_001), |
| PINMUX_DATA(IRQ2_PD_MARK, PD2MD_010), |
| PINMUX_DATA(SSO0_PD_MARK, PD2MD_011), |
| PINMUX_DATA(DREQ3_MARK, PD2MD_100), |
| PINMUX_DATA(TIOC0C_MARK, PD2MD_101), |
| |
| PINMUX_DATA(PD1_DATA, PD1MD_000, PD1_IN, PD1_OUT), |
| PINMUX_DATA(D17_MARK, PD1MD_001), |
| PINMUX_DATA(IRQ1_PD_MARK, PD1MD_010), |
| PINMUX_DATA(SSI0_PD_MARK, PD1MD_011), |
| PINMUX_DATA(DACK2_MARK, PD1MD_100), |
| PINMUX_DATA(TIOC0B_MARK, PD1MD_101), |
| |
| PINMUX_DATA(PD0_DATA, PD0MD_000, PD0_IN, PD0_OUT), |
| PINMUX_DATA(D16_MARK, PD0MD_001), |
| PINMUX_DATA(IRQ0_PD_MARK, PD0MD_010), |
| PINMUX_DATA(SSCK0_PD_MARK, PD0MD_011), |
| PINMUX_DATA(DREQ2_MARK, PD0MD_100), |
| PINMUX_DATA(TIOC0A_MARK, PD0MD_101), |
| |
| /* PE */ |
| PINMUX_DATA(PE15_DATA, PE15MD_00, PE15_IN, PE15_OUT), |
| PINMUX_DATA(IOIS16_MARK, PE15MD_01), |
| PINMUX_DATA(RTS3_MARK, PE15MD_11), |
| |
| PINMUX_DATA(PE14_DATA, PE14MD_00, PE14_IN, PE14_OUT), |
| PINMUX_DATA(CS1_MARK, PE14MD_01), |
| PINMUX_DATA(CTS3_MARK, PE14MD_11), |
| |
| PINMUX_DATA(PE13_DATA, PE13MD_00, PE13_IN, PE13_OUT), |
| PINMUX_DATA(TXD3_MARK, PE13MD_11), |
| |
| PINMUX_DATA(PE12_DATA, PE12MD_00, PE12_IN, PE12_OUT), |
| PINMUX_DATA(RXD3_MARK, PE12MD_11), |
| |
| PINMUX_DATA(PE11_DATA, PE11MD_000, PE11_IN, PE11_OUT), |
| PINMUX_DATA(CS6_CE1B_MARK, PE11MD_001), |
| PINMUX_DATA(IRQ7_PE_MARK, PE11MD_010), |
| PINMUX_DATA(TEND1_PE_MARK, PE11MD_100), |
| |
| PINMUX_DATA(PE10_DATA, PE10MD_000, PE10_IN, PE10_OUT), |
| PINMUX_DATA(CE2B_MARK, PE10MD_001), |
| PINMUX_DATA(IRQ6_PE_MARK, PE10MD_010), |
| PINMUX_DATA(TEND0_PE_MARK, PE10MD_100), |
| |
| PINMUX_DATA(PE9_DATA, PE9MD_00, PE9_IN, PE9_OUT), |
| PINMUX_DATA(CS5_CE1A_MARK, PE9MD_01), |
| PINMUX_DATA(IRQ5_PE_MARK, PE9MD_10), |
| PINMUX_DATA(SCK3_MARK, PE9MD_11), |
| |
| PINMUX_DATA(PE8_DATA, PE8MD_00, PE8_IN, PE8_OUT), |
| PINMUX_DATA(CE2A_MARK, PE8MD_01), |
| PINMUX_DATA(IRQ4_PE_MARK, PE8MD_10), |
| PINMUX_DATA(SCK2_MARK, PE8MD_11), |
| |
| PINMUX_DATA(PE7_DATA, PE7MD_000, PE7_IN, PE7_OUT), |
| PINMUX_DATA(FRAME_MARK, PE7MD_001), |
| PINMUX_DATA(IRQ3_PE_MARK, PE7MD_010), |
| PINMUX_DATA(TXD2_MARK, PE7MD_011), |
| PINMUX_DATA(DACK1_PE_MARK, PE7MD_100), |
| |
| PINMUX_DATA(PE6_DATA, PE6MD_000, PE6_IN, PE6_OUT), |
| PINMUX_DATA(A25_MARK, PE6MD_001), |
| PINMUX_DATA(IRQ2_PE_MARK, PE6MD_010), |
| PINMUX_DATA(RXD2_MARK, PE6MD_011), |
| PINMUX_DATA(DREQ1_PE_MARK, PE6MD_100), |
| |
| PINMUX_DATA(PE5_DATA, PE5MD_000, PE5_IN, PE5_OUT), |
| PINMUX_DATA(A24_MARK, PE5MD_001), |
| PINMUX_DATA(IRQ1_PE_MARK, PE5MD_010), |
| PINMUX_DATA(TXD1_MARK, PE5MD_011), |
| PINMUX_DATA(DACK0_PE_MARK, PE5MD_100), |
| |
| PINMUX_DATA(PE4_DATA, PE4MD_000, PE4_IN, PE4_OUT), |
| PINMUX_DATA(A23_MARK, PE4MD_001), |
| PINMUX_DATA(IRQ0_PE_MARK, PE4MD_010), |
| PINMUX_DATA(RXD1_MARK, PE4MD_011), |
| PINMUX_DATA(DREQ0_PE_MARK, PE4MD_100), |
| |
| PINMUX_DATA(PE3_DATA, PE3MD_00, PE3_IN, PE3_OUT), |
| PINMUX_DATA(A22_MARK, PE3MD_01), |
| PINMUX_DATA(SCK1_MARK, PE3MD_11), |
| |
| PINMUX_DATA(PE2_DATA, PE2MD_00, PE2_IN, PE2_OUT), |
| PINMUX_DATA(A21_MARK, PE2MD_01), |
| PINMUX_DATA(SCK0_MARK, PE2MD_11), |
| |
| PINMUX_DATA(PE1_DATA, PE1MD_00, PE1_IN, PE1_OUT), |
| PINMUX_DATA(CS4_MARK, PE1MD_01), |
| PINMUX_DATA(MRES_MARK, PE1MD_10), |
| PINMUX_DATA(TXD0_MARK, PE1MD_11), |
| |
| PINMUX_DATA(PE0_DATA, PE0MD_000, PE0_IN, PE0_OUT), |
| PINMUX_DATA(BS_MARK, PE0MD_001), |
| PINMUX_DATA(RXD0_MARK, PE0MD_011), |
| PINMUX_DATA(ADTRG_PE_MARK, PE0MD_100), |
| |
| /* PF */ |
| PINMUX_DATA(PF30_DATA, PF30MD_0, PF30_IN, PF30_OUT), |
| PINMUX_DATA(AUDIO_CLK_MARK, PF30MD_1), |
| |
| PINMUX_DATA(PF29_DATA, PF29MD_0, PF29_IN, PF29_OUT), |
| PINMUX_DATA(SSIDATA3_MARK, PF29MD_1), |
| |
| PINMUX_DATA(PF28_DATA, PF28MD_0, PF28_IN, PF28_OUT), |
| PINMUX_DATA(SSIWS3_MARK, PF28MD_1), |
| |
| PINMUX_DATA(PF27_DATA, PF27MD_0, PF27_IN, PF27_OUT), |
| PINMUX_DATA(SSISCK3_MARK, PF27MD_1), |
| |
| PINMUX_DATA(PF26_DATA, PF26MD_0, PF26_IN, PF26_OUT), |
| PINMUX_DATA(SSIDATA2_MARK, PF26MD_1), |
| |
| PINMUX_DATA(PF25_DATA, PF25MD_0, PF25_IN, PF25_OUT), |
| PINMUX_DATA(SSIWS2_MARK, PF25MD_1), |
| |
| PINMUX_DATA(PF24_DATA, PF24MD_0, PF24_IN, PF24_OUT), |
| PINMUX_DATA(SSISCK2_MARK, PF24MD_1), |
| |
| PINMUX_DATA(PF23_DATA, PF23MD_00, PF23_IN, PF23_OUT), |
| PINMUX_DATA(SSIDATA1_MARK, PF23MD_01), |
| PINMUX_DATA(LCD_VEPWC_MARK, PF23MD_10), |
| |
| PINMUX_DATA(PF22_DATA, PF22MD_00, PF22_IN, PF22_OUT), |
| PINMUX_DATA(SSIWS1_MARK, PF22MD_01), |
| PINMUX_DATA(LCD_VCPWC_MARK, PF22MD_10), |
| |
| PINMUX_DATA(PF21_DATA, PF21MD_00, PF21_IN, PF21_OUT), |
| PINMUX_DATA(SSISCK1_MARK, PF21MD_01), |
| PINMUX_DATA(LCD_CLK_MARK, PF21MD_10), |
| |
| PINMUX_DATA(PF20_DATA, PF20MD_00, PF20_IN, PF20_OUT), |
| PINMUX_DATA(SSIDATA0_MARK, PF20MD_01), |
| PINMUX_DATA(LCD_FLM_MARK, PF20MD_10), |
| |
| PINMUX_DATA(PF19_DATA, PF19MD_00, PF19_IN, PF19_OUT), |
| PINMUX_DATA(SSIWS0_MARK, PF19MD_01), |
| PINMUX_DATA(LCD_M_DISP_MARK, PF19MD_10), |
| |
| PINMUX_DATA(PF18_DATA, PF18MD_00, PF18_IN, PF18_OUT), |
| PINMUX_DATA(SSISCK0_MARK, PF18MD_01), |
| PINMUX_DATA(LCD_CL2_MARK, PF18MD_10), |
| |
| PINMUX_DATA(PF17_DATA, PF17MD_00, PF17_IN, PF17_OUT), |
| PINMUX_DATA(FCE_MARK, PF17MD_01), |
| PINMUX_DATA(LCD_CL1_MARK, PF17MD_10), |
| |
| PINMUX_DATA(PF16_DATA, PF16MD_00, PF16_IN, PF16_OUT), |
| PINMUX_DATA(FRB_MARK, PF16MD_01), |
| PINMUX_DATA(LCD_DON_MARK, PF16MD_10), |
| |
| PINMUX_DATA(PF15_DATA, PF15MD_00, PF15_IN, PF15_OUT), |
| PINMUX_DATA(NAF7_MARK, PF15MD_01), |
| PINMUX_DATA(LCD_DATA15_MARK, PF15MD_10), |
| |
| PINMUX_DATA(PF14_DATA, PF14MD_00, PF14_IN, PF14_OUT), |
| PINMUX_DATA(NAF6_MARK, PF14MD_01), |
| PINMUX_DATA(LCD_DATA14_MARK, PF14MD_10), |
| |
| PINMUX_DATA(PF13_DATA, PF13MD_00, PF13_IN, PF13_OUT), |
| PINMUX_DATA(NAF5_MARK, PF13MD_01), |
| PINMUX_DATA(LCD_DATA13_MARK, PF13MD_10), |
| |
| PINMUX_DATA(PF12_DATA, PF12MD_00, PF12_IN, PF12_OUT), |
| PINMUX_DATA(NAF4_MARK, PF12MD_01), |
| PINMUX_DATA(LCD_DATA12_MARK, PF12MD_10), |
| |
| PINMUX_DATA(PF11_DATA, PF11MD_00, PF11_IN, PF11_OUT), |
| PINMUX_DATA(NAF3_MARK, PF11MD_01), |
| PINMUX_DATA(LCD_DATA11_MARK, PF11MD_10), |
| |
| PINMUX_DATA(PF10_DATA, PF10MD_00, PF10_IN, PF10_OUT), |
| PINMUX_DATA(NAF2_MARK, PF10MD_01), |
| PINMUX_DATA(LCD_DATA10_MARK, PF10MD_10), |
| |
| PINMUX_DATA(PF9_DATA, PF9MD_00, PF9_IN, PF9_OUT), |
| PINMUX_DATA(NAF1_MARK, PF9MD_01), |
| PINMUX_DATA(LCD_DATA9_MARK, PF9MD_10), |
| |
| PINMUX_DATA(PF8_DATA, PF8MD_00, PF8_IN, PF8_OUT), |
| PINMUX_DATA(NAF0_MARK, PF8MD_01), |
| PINMUX_DATA(LCD_DATA8_MARK, PF8MD_10), |
| |
| PINMUX_DATA(PF7_DATA, PF7MD_00, PF7_IN, PF7_OUT), |
| PINMUX_DATA(FSC_MARK, PF7MD_01), |
| PINMUX_DATA(LCD_DATA7_MARK, PF7MD_10), |
| PINMUX_DATA(SCS1_PF_MARK, PF7MD_11), |
| |
| PINMUX_DATA(PF6_DATA, PF6MD_00, PF6_IN, PF6_OUT), |
| PINMUX_DATA(FOE_MARK, PF6MD_01), |
| PINMUX_DATA(LCD_DATA6_MARK, PF6MD_10), |
| PINMUX_DATA(SSO1_PF_MARK, PF6MD_11), |
| |
| PINMUX_DATA(PF5_DATA, PF5MD_00, PF5_IN, PF5_OUT), |
| PINMUX_DATA(FCDE_MARK, PF5MD_01), |
| PINMUX_DATA(LCD_DATA5_MARK, PF5MD_10), |
| PINMUX_DATA(SSI1_PF_MARK, PF5MD_11), |
| |
| PINMUX_DATA(PF4_DATA, PF4MD_00, PF4_IN, PF4_OUT), |
| PINMUX_DATA(FWE_MARK, PF4MD_01), |
| PINMUX_DATA(LCD_DATA4_MARK, PF4MD_10), |
| PINMUX_DATA(SSCK1_PF_MARK, PF4MD_11), |
| |
| PINMUX_DATA(PF3_DATA, PF3MD_00, PF3_IN, PF3_OUT), |
| PINMUX_DATA(TCLKD_PF_MARK, PF3MD_01), |
| PINMUX_DATA(LCD_DATA3_MARK, PF3MD_10), |
| PINMUX_DATA(SCS0_PF_MARK, PF3MD_11), |
| |
| PINMUX_DATA(PF2_DATA, PF2MD_00, PF2_IN, PF2_OUT), |
| PINMUX_DATA(TCLKC_PF_MARK, PF2MD_01), |
| PINMUX_DATA(LCD_DATA2_MARK, PF2MD_10), |
| PINMUX_DATA(SSO0_PF_MARK, PF2MD_11), |
| |
| PINMUX_DATA(PF1_DATA, PF1MD_00, PF1_IN, PF1_OUT), |
| PINMUX_DATA(TCLKB_PF_MARK, PF1MD_01), |
| PINMUX_DATA(LCD_DATA1_MARK, PF1MD_10), |
| PINMUX_DATA(SSI0_PF_MARK, PF1MD_11), |
| |
| PINMUX_DATA(PF0_DATA, PF0MD_00, PF0_IN, PF0_OUT), |
| PINMUX_DATA(TCLKA_PF_MARK, PF0MD_01), |
| PINMUX_DATA(LCD_DATA0_MARK, PF0MD_10), |
| PINMUX_DATA(SSCK0_PF_MARK, PF0MD_11), |
| }; |
| |
| static const struct sh_pfc_pin pinmux_pins[] = { |
| /* PA */ |
| PINMUX_GPIO(PA7), |
| PINMUX_GPIO(PA6), |
| PINMUX_GPIO(PA5), |
| PINMUX_GPIO(PA4), |
| PINMUX_GPIO(PA3), |
| PINMUX_GPIO(PA2), |
| PINMUX_GPIO(PA1), |
| PINMUX_GPIO(PA0), |
| |
| /* PB */ |
| PINMUX_GPIO(PB12), |
| PINMUX_GPIO(PB11), |
| PINMUX_GPIO(PB10), |
| PINMUX_GPIO(PB9), |
| PINMUX_GPIO(PB8), |
| PINMUX_GPIO(PB7), |
| PINMUX_GPIO(PB6), |
| PINMUX_GPIO(PB5), |
| PINMUX_GPIO(PB4), |
| PINMUX_GPIO(PB3), |
| PINMUX_GPIO(PB2), |
| PINMUX_GPIO(PB1), |
| PINMUX_GPIO(PB0), |
| |
| /* PC */ |
| PINMUX_GPIO(PC14), |
| PINMUX_GPIO(PC13), |
| PINMUX_GPIO(PC12), |
| PINMUX_GPIO(PC11), |
| PINMUX_GPIO(PC10), |
| PINMUX_GPIO(PC9), |
| PINMUX_GPIO(PC8), |
| PINMUX_GPIO(PC7), |
| PINMUX_GPIO(PC6), |
| PINMUX_GPIO(PC5), |
| PINMUX_GPIO(PC4), |
| PINMUX_GPIO(PC3), |
| PINMUX_GPIO(PC2), |
| PINMUX_GPIO(PC1), |
| PINMUX_GPIO(PC0), |
| |
| /* PD */ |
| PINMUX_GPIO(PD15), |
| PINMUX_GPIO(PD14), |
| PINMUX_GPIO(PD13), |
| PINMUX_GPIO(PD12), |
| PINMUX_GPIO(PD11), |
| PINMUX_GPIO(PD10), |
| PINMUX_GPIO(PD9), |
| PINMUX_GPIO(PD8), |
| PINMUX_GPIO(PD7), |
| PINMUX_GPIO(PD6), |
| PINMUX_GPIO(PD5), |
| PINMUX_GPIO(PD4), |
| PINMUX_GPIO(PD3), |
| PINMUX_GPIO(PD2), |
| PINMUX_GPIO(PD1), |
| PINMUX_GPIO(PD0), |
| |
| /* PE */ |
| PINMUX_GPIO(PE15), |
| PINMUX_GPIO(PE14), |
| PINMUX_GPIO(PE13), |
| PINMUX_GPIO(PE12), |
| PINMUX_GPIO(PE11), |
| PINMUX_GPIO(PE10), |
| PINMUX_GPIO(PE9), |
| PINMUX_GPIO(PE8), |
| PINMUX_GPIO(PE7), |
| PINMUX_GPIO(PE6), |
| PINMUX_GPIO(PE5), |
| PINMUX_GPIO(PE4), |
| PINMUX_GPIO(PE3), |
| PINMUX_GPIO(PE2), |
| PINMUX_GPIO(PE1), |
| PINMUX_GPIO(PE0), |
| |
| /* PF */ |
| PINMUX_GPIO(PF30), |
| PINMUX_GPIO(PF29), |
| PINMUX_GPIO(PF28), |
| PINMUX_GPIO(PF27), |
| PINMUX_GPIO(PF26), |
| PINMUX_GPIO(PF25), |
| PINMUX_GPIO(PF24), |
| PINMUX_GPIO(PF23), |
| PINMUX_GPIO(PF22), |
| PINMUX_GPIO(PF21), |
| PINMUX_GPIO(PF20), |
| PINMUX_GPIO(PF19), |
| PINMUX_GPIO(PF18), |
| PINMUX_GPIO(PF17), |
| PINMUX_GPIO(PF16), |
| PINMUX_GPIO(PF15), |
| PINMUX_GPIO(PF14), |
| PINMUX_GPIO(PF13), |
| PINMUX_GPIO(PF12), |
| PINMUX_GPIO(PF11), |
| PINMUX_GPIO(PF10), |
| PINMUX_GPIO(PF9), |
| PINMUX_GPIO(PF8), |
| PINMUX_GPIO(PF7), |
| PINMUX_GPIO(PF6), |
| PINMUX_GPIO(PF5), |
| PINMUX_GPIO(PF4), |
| PINMUX_GPIO(PF3), |
| PINMUX_GPIO(PF2), |
| PINMUX_GPIO(PF1), |
| PINMUX_GPIO(PF0), |
| }; |
| |
| #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins) |
| |
| static const struct pinmux_func pinmux_func_gpios[] = { |
| /* INTC */ |
| GPIO_FN(PINT7_PB), |
| GPIO_FN(PINT6_PB), |
| GPIO_FN(PINT5_PB), |
| GPIO_FN(PINT4_PB), |
| GPIO_FN(PINT3_PB), |
| GPIO_FN(PINT2_PB), |
| GPIO_FN(PINT1_PB), |
| GPIO_FN(PINT0_PB), |
| GPIO_FN(PINT7_PD), |
| GPIO_FN(PINT6_PD), |
| GPIO_FN(PINT5_PD), |
| GPIO_FN(PINT4_PD), |
| GPIO_FN(PINT3_PD), |
| GPIO_FN(PINT2_PD), |
| GPIO_FN(PINT1_PD), |
| GPIO_FN(PINT0_PD), |
| GPIO_FN(IRQ7_PB), |
| GPIO_FN(IRQ6_PB), |
| GPIO_FN(IRQ5_PB), |
| GPIO_FN(IRQ4_PB), |
| GPIO_FN(IRQ3_PB), |
| GPIO_FN(IRQ2_PB), |
| GPIO_FN(IRQ1_PB), |
| GPIO_FN(IRQ0_PB), |
| GPIO_FN(IRQ7_PD), |
| GPIO_FN(IRQ6_PD), |
| GPIO_FN(IRQ5_PD), |
| GPIO_FN(IRQ4_PD), |
| GPIO_FN(IRQ3_PD), |
| GPIO_FN(IRQ2_PD), |
| GPIO_FN(IRQ1_PD), |
| GPIO_FN(IRQ0_PD), |
| GPIO_FN(IRQ7_PE), |
| GPIO_FN(IRQ6_PE), |
| GPIO_FN(IRQ5_PE), |
| GPIO_FN(IRQ4_PE), |
| GPIO_FN(IRQ3_PE), |
| GPIO_FN(IRQ2_PE), |
| GPIO_FN(IRQ1_PE), |
| GPIO_FN(IRQ0_PE), |
| |
| GPIO_FN(WDTOVF), |
| GPIO_FN(IRQOUT), |
| GPIO_FN(REFOUT), |
| GPIO_FN(IRQOUT_REFOUT), |
| GPIO_FN(UBCTRG), |
| |
| /* CAN */ |
| GPIO_FN(CTX1), |
| GPIO_FN(CRX1), |
| GPIO_FN(CTX0), |
| GPIO_FN(CTX0_CTX1), |
| GPIO_FN(CRX0), |
| GPIO_FN(CRX0_CRX1), |
| |
| /* IIC3 */ |
| GPIO_FN(SDA3), |
| GPIO_FN(SCL3), |
| GPIO_FN(SDA2), |
| GPIO_FN(SCL2), |
| GPIO_FN(SDA1), |
| GPIO_FN(SCL1), |
| GPIO_FN(SDA0), |
| GPIO_FN(SCL0), |
| |
| /* DMAC */ |
| GPIO_FN(TEND0_PD), |
| GPIO_FN(TEND0_PE), |
| GPIO_FN(DACK0_PD), |
| GPIO_FN(DACK0_PE), |
| GPIO_FN(DREQ0_PD), |
| GPIO_FN(DREQ0_PE), |
| GPIO_FN(TEND1_PD), |
| GPIO_FN(TEND1_PE), |
| GPIO_FN(DACK1_PD), |
| GPIO_FN(DACK1_PE), |
| GPIO_FN(DREQ1_PD), |
| GPIO_FN(DREQ1_PE), |
| GPIO_FN(DACK2), |
| GPIO_FN(DREQ2), |
| GPIO_FN(DACK3), |
| GPIO_FN(DREQ3), |
| |
| /* ADC */ |
| GPIO_FN(ADTRG_PD), |
| GPIO_FN(ADTRG_PE), |
| |
| /* BSC */ |
| GPIO_FN(D31), |
| GPIO_FN(D30), |
| GPIO_FN(D29), |
| GPIO_FN(D28), |
| GPIO_FN(D27), |
| GPIO_FN(D26), |
| GPIO_FN(D25), |
| GPIO_FN(D24), |
| GPIO_FN(D23), |
| GPIO_FN(D22), |
| GPIO_FN(D21), |
| GPIO_FN(D20), |
| GPIO_FN(D19), |
| GPIO_FN(D18), |
| GPIO_FN(D17), |
| GPIO_FN(D16), |
| GPIO_FN(A25), |
| GPIO_FN(A24), |
| GPIO_FN(A23), |
| GPIO_FN(A22), |
| GPIO_FN(A21), |
| GPIO_FN(CS4), |
| GPIO_FN(MRES), |
| GPIO_FN(BS), |
| GPIO_FN(IOIS16), |
| GPIO_FN(CS1), |
| GPIO_FN(CS6_CE1B), |
| GPIO_FN(CE2B), |
| GPIO_FN(CS5_CE1A), |
| GPIO_FN(CE2A), |
| GPIO_FN(FRAME), |
| GPIO_FN(WAIT), |
| GPIO_FN(RDWR), |
| GPIO_FN(CKE), |
| GPIO_FN(CASU), |
| GPIO_FN(BREQ), |
| GPIO_FN(RASU), |
| GPIO_FN(BACK), |
| GPIO_FN(CASL), |
| GPIO_FN(RASL), |
| GPIO_FN(WE3_DQMUU_AH_ICIO_WR), |
| GPIO_FN(WE2_DQMUL_ICIORD), |
| GPIO_FN(WE1_DQMLU_WE), |
| GPIO_FN(WE0_DQMLL), |
| GPIO_FN(CS3), |
| GPIO_FN(CS2), |
| GPIO_FN(A1), |
| GPIO_FN(A0), |
| GPIO_FN(CS7), |
| |
| /* TMU */ |
| GPIO_FN(TIOC4D), |
| GPIO_FN(TIOC4C), |
| GPIO_FN(TIOC4B), |
| GPIO_FN(TIOC4A), |
| GPIO_FN(TIOC3D), |
| GPIO_FN(TIOC3C), |
| GPIO_FN(TIOC3B), |
| GPIO_FN(TIOC3A), |
| GPIO_FN(TIOC2B), |
| GPIO_FN(TIOC1B), |
| GPIO_FN(TIOC2A), |
| GPIO_FN(TIOC1A), |
| GPIO_FN(TIOC0D), |
| GPIO_FN(TIOC0C), |
| GPIO_FN(TIOC0B), |
| GPIO_FN(TIOC0A), |
| GPIO_FN(TCLKD_PD), |
| GPIO_FN(TCLKC_PD), |
| GPIO_FN(TCLKB_PD), |
| GPIO_FN(TCLKA_PD), |
| GPIO_FN(TCLKD_PF), |
| GPIO_FN(TCLKC_PF), |
| GPIO_FN(TCLKB_PF), |
| GPIO_FN(TCLKA_PF), |
| |
| /* SSU */ |
| GPIO_FN(SCS0_PD), |
| GPIO_FN(SSO0_PD), |
| GPIO_FN(SSI0_PD), |
| GPIO_FN(SSCK0_PD), |
| GPIO_FN(SCS0_PF), |
| GPIO_FN(SSO0_PF), |
| GPIO_FN(SSI0_PF), |
| GPIO_FN(SSCK0_PF), |
| GPIO_FN(SCS1_PD), |
| GPIO_FN(SSO1_PD), |
| GPIO_FN(SSI1_PD), |
| GPIO_FN(SSCK1_PD), |
| GPIO_FN(SCS1_PF), |
| GPIO_FN(SSO1_PF), |
| GPIO_FN(SSI1_PF), |
| GPIO_FN(SSCK1_PF), |
| |
| /* SCIF */ |
| GPIO_FN(TXD0), |
| GPIO_FN(RXD0), |
| GPIO_FN(SCK0), |
| GPIO_FN(TXD1), |
| GPIO_FN(RXD1), |
| GPIO_FN(SCK1), |
| GPIO_FN(TXD2), |
| GPIO_FN(RXD2), |
| GPIO_FN(SCK2), |
| GPIO_FN(RTS3), |
| GPIO_FN(CTS3), |
| GPIO_FN(TXD3), |
| GPIO_FN(RXD3), |
| GPIO_FN(SCK3), |
| |
| /* SSI */ |
| GPIO_FN(AUDIO_CLK), |
| GPIO_FN(SSIDATA3), |
| GPIO_FN(SSIWS3), |
| GPIO_FN(SSISCK3), |
| GPIO_FN(SSIDATA2), |
| GPIO_FN(SSIWS2), |
| GPIO_FN(SSISCK2), |
| GPIO_FN(SSIDATA1), |
| GPIO_FN(SSIWS1), |
| GPIO_FN(SSISCK1), |
| GPIO_FN(SSIDATA0), |
| GPIO_FN(SSIWS0), |
| GPIO_FN(SSISCK0), |
| |
| /* FLCTL */ |
| GPIO_FN(FCE), |
| GPIO_FN(FRB), |
| GPIO_FN(NAF7), |
| GPIO_FN(NAF6), |
| GPIO_FN(NAF5), |
| GPIO_FN(NAF4), |
| GPIO_FN(NAF3), |
| GPIO_FN(NAF2), |
| GPIO_FN(NAF1), |
| GPIO_FN(NAF0), |
| GPIO_FN(FSC), |
| GPIO_FN(FOE), |
| GPIO_FN(FCDE), |
| GPIO_FN(FWE), |
| |
| /* LCDC */ |
| GPIO_FN(LCD_VEPWC), |
| GPIO_FN(LCD_VCPWC), |
| GPIO_FN(LCD_CLK), |
| GPIO_FN(LCD_FLM), |
| GPIO_FN(LCD_M_DISP), |
| GPIO_FN(LCD_CL2), |
| GPIO_FN(LCD_CL1), |
| GPIO_FN(LCD_DON), |
| GPIO_FN(LCD_DATA15), |
| GPIO_FN(LCD_DATA14), |
| GPIO_FN(LCD_DATA13), |
| GPIO_FN(LCD_DATA12), |
| GPIO_FN(LCD_DATA11), |
| GPIO_FN(LCD_DATA10), |
| GPIO_FN(LCD_DATA9), |
| GPIO_FN(LCD_DATA8), |
| GPIO_FN(LCD_DATA7), |
| GPIO_FN(LCD_DATA6), |
| GPIO_FN(LCD_DATA5), |
| GPIO_FN(LCD_DATA4), |
| GPIO_FN(LCD_DATA3), |
| GPIO_FN(LCD_DATA2), |
| GPIO_FN(LCD_DATA1), |
| GPIO_FN(LCD_DATA0), |
| }; |
| |
| static const struct pinmux_cfg_reg pinmux_config_regs[] = { |
| { PINMUX_CFG_REG_VAR("PBIORL", 0xfffe3886, 16, |
| GROUP(-4, 1, 1, 1, 1, -8), |
| GROUP( |
| /* RESERVED [4] */ |
| PB11_IN, PB11_OUT, |
| PB10_IN, PB10_OUT, |
| PB9_IN, PB9_OUT, |
| PB8_IN, PB8_OUT, |
| /* RESERVED [8] */ )) |
| }, |
| { PINMUX_CFG_REG_VAR("PBCRL4", 0xfffe3890, 16, |
| GROUP(-12, 4), |
| GROUP( |
| /* RESERVED [12] */ |
| PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PBCRL3", 0xfffe3892, 16, 4, GROUP( |
| PB11MD_0, PB11MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB10MD_0, PB10MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB9MD_00, PB9MD_01, PB9MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB8MD_00, PB8MD_01, PB8MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PBCRL2", 0xfffe3894, 16, 4, GROUP( |
| PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PBCRL1", 0xfffe3896, 16, 4, GROUP( |
| PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG_VAR("IFCR", 0xfffe38a2, 16, |
| GROUP(-12, 4), |
| GROUP( |
| /* RESERVED [12] */ |
| PB12IRQ_00, PB12IRQ_01, PB12IRQ_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PCIORL", 0xfffe3906, 16, 1, GROUP( |
| 0, 0, |
| PC14_IN, PC14_OUT, |
| PC13_IN, PC13_OUT, |
| PC12_IN, PC12_OUT, |
| PC11_IN, PC11_OUT, |
| PC10_IN, PC10_OUT, |
| PC9_IN, PC9_OUT, |
| PC8_IN, PC8_OUT, |
| PC7_IN, PC7_OUT, |
| PC6_IN, PC6_OUT, |
| PC5_IN, PC5_OUT, |
| PC4_IN, PC4_OUT, |
| PC3_IN, PC3_OUT, |
| PC2_IN, PC2_OUT, |
| PC1_IN, PC1_OUT, |
| PC0_IN, PC0_OUT )) |
| }, |
| { PINMUX_CFG_REG_VAR("PCCRL4", 0xfffe3910, 16, |
| GROUP(-4, 4, 4, 4), |
| GROUP( |
| /* RESERVED [4] */ |
| PC14MD_0, PC14MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC13MD_0, PC13MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC12MD_0, PC12MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PCCRL3", 0xfffe3912, 16, 4, GROUP( |
| PC11MD_00, PC11MD_01, PC11MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC10MD_00, PC10MD_01, PC10MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC9MD_0, PC9MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC8MD_0, PC8MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PCCRL2", 0xfffe3914, 16, 4, GROUP( |
| PC7MD_0, PC7MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC6MD_0, PC6MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC5MD_0, PC5MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC4MD_0, PC4MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PCCRL1", 0xfffe3916, 16, 4, GROUP( |
| PC3MD_0, PC3MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC2MD_0, PC2MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC1MD_0, PC1MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PC0MD_00, PC0MD_01, PC0MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PDIORL", 0xfffe3986, 16, 1, GROUP( |
| PD15_IN, PD15_OUT, |
| PD14_IN, PD14_OUT, |
| PD13_IN, PD13_OUT, |
| PD12_IN, PD12_OUT, |
| PD11_IN, PD11_OUT, |
| PD10_IN, PD10_OUT, |
| PD9_IN, PD9_OUT, |
| PD8_IN, PD8_OUT, |
| PD7_IN, PD7_OUT, |
| PD6_IN, PD6_OUT, |
| PD5_IN, PD5_OUT, |
| PD4_IN, PD4_OUT, |
| PD3_IN, PD3_OUT, |
| PD2_IN, PD2_OUT, |
| PD1_IN, PD1_OUT, |
| PD0_IN, PD0_OUT )) |
| }, |
| { PINMUX_CFG_REG("PDCRL4", 0xfffe3990, 16, 4, GROUP( |
| PD15MD_000, PD15MD_001, PD15MD_010, 0, |
| PD15MD_100, PD15MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD14MD_000, PD14MD_001, PD14MD_010, 0, |
| 0, PD14MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD13MD_000, PD13MD_001, PD13MD_010, 0, |
| PD13MD_100, PD13MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD12MD_000, PD12MD_001, PD12MD_010, 0, |
| PD12MD_100, PD12MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PDCRL3", 0xfffe3992, 16, 4, GROUP( |
| PD11MD_000, PD11MD_001, PD11MD_010, 0, |
| PD11MD_100, PD11MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD10MD_000, PD10MD_001, PD10MD_010, 0, |
| PD10MD_100, PD10MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD9MD_000, PD9MD_001, PD9MD_010, 0, |
| PD9MD_100, PD9MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD8MD_000, PD8MD_001, PD8MD_010, 0, |
| PD8MD_100, PD8MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PDCRL2", 0xfffe3994, 16, 4, GROUP( |
| PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011, |
| PD7MD_100, PD7MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011, |
| PD6MD_100, PD6MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011, |
| PD5MD_100, PD5MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011, |
| PD4MD_100, PD4MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PDCRL1", 0xfffe3996, 16, 4, GROUP( |
| PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011, |
| PD3MD_100, PD3MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011, |
| PD2MD_100, PD2MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011, |
| PD1MD_100, PD1MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011, |
| PD0MD_100, PD0MD_101, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PEIORL", 0xfffe3a06, 16, 1, GROUP( |
| PE15_IN, PE15_OUT, |
| PE14_IN, PE14_OUT, |
| PE13_IN, PE13_OUT, |
| PE12_IN, PE12_OUT, |
| PE11_IN, PE11_OUT, |
| PE10_IN, PE10_OUT, |
| PE9_IN, PE9_OUT, |
| PE8_IN, PE8_OUT, |
| PE7_IN, PE7_OUT, |
| PE6_IN, PE6_OUT, |
| PE5_IN, PE5_OUT, |
| PE4_IN, PE4_OUT, |
| PE3_IN, PE3_OUT, |
| PE2_IN, PE2_OUT, |
| PE1_IN, PE1_OUT, |
| PE0_IN, PE0_OUT )) |
| }, |
| { PINMUX_CFG_REG("PECRL4", 0xfffe3a10, 16, 4, GROUP( |
| PE15MD_00, PE15MD_01, 0, PE15MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE14MD_00, PE14MD_01, 0, PE14MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE13MD_00, 0, 0, PE13MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE12MD_00, 0, 0, PE12MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PECRL3", 0xfffe3a12, 16, 4, GROUP( |
| PE11MD_000, PE11MD_001, PE11MD_010, 0, |
| PE11MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE10MD_000, PE10MD_001, PE10MD_010, 0, |
| PE10MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PECRL2", 0xfffe3a14, 16, 4, GROUP( |
| PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011, |
| PE7MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011, |
| PE6MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011, |
| PE5MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011, |
| PE4MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PECRL1", 0xfffe3a16, 16, 4, GROUP( |
| PE3MD_00, PE3MD_01, 0, PE3MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE2MD_00, PE2MD_01, 0, PE2MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PE0MD_000, PE0MD_001, 0, PE0MD_011, |
| PE0MD_100, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFIORH", 0xfffe3a84, 16, 1, GROUP( |
| 0, 0, |
| PF30_IN, PF30_OUT, |
| PF29_IN, PF29_OUT, |
| PF28_IN, PF28_OUT, |
| PF27_IN, PF27_OUT, |
| PF26_IN, PF26_OUT, |
| PF25_IN, PF25_OUT, |
| PF24_IN, PF24_OUT, |
| PF23_IN, PF23_OUT, |
| PF22_IN, PF22_OUT, |
| PF21_IN, PF21_OUT, |
| PF20_IN, PF20_OUT, |
| PF19_IN, PF19_OUT, |
| PF18_IN, PF18_OUT, |
| PF17_IN, PF17_OUT, |
| PF16_IN, PF16_OUT )) |
| }, |
| { PINMUX_CFG_REG("PFIORL", 0xfffe3a86, 16, 1, GROUP( |
| PF15_IN, PF15_OUT, |
| PF14_IN, PF14_OUT, |
| PF13_IN, PF13_OUT, |
| PF12_IN, PF12_OUT, |
| PF11_IN, PF11_OUT, |
| PF10_IN, PF10_OUT, |
| PF9_IN, PF9_OUT, |
| PF8_IN, PF8_OUT, |
| PF7_IN, PF7_OUT, |
| PF6_IN, PF6_OUT, |
| PF5_IN, PF5_OUT, |
| PF4_IN, PF4_OUT, |
| PF3_IN, PF3_OUT, |
| PF2_IN, PF2_OUT, |
| PF1_IN, PF1_OUT, |
| PF0_IN, PF0_OUT )) |
| }, |
| { PINMUX_CFG_REG_VAR("PFCRH4", 0xfffe3a88, 16, |
| GROUP(-4, 4, 4, 4), |
| GROUP( |
| /* RESERVED [4] */ |
| |
| PF30MD_0, PF30MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF29MD_0, PF29MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF28MD_0, PF28MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRH3", 0xfffe3a8a, 16, 4, GROUP( |
| PF27MD_0, PF27MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF26MD_0, PF26MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF25MD_0, PF25MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF24MD_0, PF24MD_1, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRH2", 0xfffe3a8c, 16, 4, GROUP( |
| PF23MD_00, PF23MD_01, PF23MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF22MD_00, PF22MD_01, PF22MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF21MD_00, PF21MD_01, PF21MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF20MD_00, PF20MD_01, PF20MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRH1", 0xfffe3a8e, 16, 4, GROUP( |
| PF19MD_00, PF19MD_01, PF19MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF18MD_00, PF18MD_01, PF18MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF17MD_00, PF17MD_01, PF17MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF16MD_00, PF16MD_01, PF16MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRL4", 0xfffe3a90, 16, 4, GROUP( |
| PF15MD_00, PF15MD_01, PF15MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF14MD_00, PF14MD_01, PF14MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF13MD_00, PF13MD_01, PF13MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF12MD_00, PF12MD_01, PF12MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRL3", 0xfffe3a92, 16, 4, GROUP( |
| PF11MD_00, PF11MD_01, PF11MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF10MD_00, PF10MD_01, PF10MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF9MD_00, PF9MD_01, PF9MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF8MD_00, PF8MD_01, PF8MD_10, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRL2", 0xfffe3a94, 16, 4, GROUP( |
| PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { PINMUX_CFG_REG("PFCRL1", 0xfffe3a96, 16, 4, GROUP( |
| PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )) |
| }, |
| { /* sentinel */ } |
| }; |
| |
| static const struct pinmux_data_reg pinmux_data_regs[] = { |
| { PINMUX_DATA_REG("PADRL", 0xfffe3802, 16, GROUP( |
| 0, 0, 0, 0, |
| 0, 0, 0, 0, |
| PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA, |
| PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA )) |
| }, |
| { PINMUX_DATA_REG("PBDRL", 0xfffe3882, 16, GROUP( |
| 0, 0, 0, PB12_DATA, |
| PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA, |
| PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA, |
| PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA )) |
| }, |
| { PINMUX_DATA_REG("PCDRL", 0xfffe3902, 16, GROUP( |
| 0, PC14_DATA, PC13_DATA, PC12_DATA, |
| PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA, |
| PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA, |
| PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA )) |
| }, |
| { PINMUX_DATA_REG("PDDRL", 0xfffe3982, 16, GROUP( |
| PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA, |
| PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA, |
| PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA, |
| PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA )) |
| }, |
| { PINMUX_DATA_REG("PEDRL", 0xfffe3a02, 16, GROUP( |
| PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA, |
| PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA, |
| PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA, |
| PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA )) |
| }, |
| { PINMUX_DATA_REG("PFDRH", 0xfffe3a80, 16, GROUP( |
| 0, PF30_DATA, PF29_DATA, PF28_DATA, |
| PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA, |
| PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA, |
| PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA )) |
| }, |
| { PINMUX_DATA_REG("PFDRL", 0xfffe3a82, 16, GROUP( |
| PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA, |
| PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA, |
| PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA, |
| PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA )) |
| }, |
| { /* sentinel */ } |
| }; |
| |
| const struct sh_pfc_soc_info sh7203_pinmux_info = { |
| .name = "sh7203_pfc", |
| .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN }, |
| .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT }, |
| .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, |
| |
| .pins = pinmux_pins, |
| .nr_pins = ARRAY_SIZE(pinmux_pins), |
| .func_gpios = pinmux_func_gpios, |
| .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios), |
| |
| .cfg_regs = pinmux_config_regs, |
| .data_regs = pinmux_data_regs, |
| |
| .pinmux_data = pinmux_data, |
| .pinmux_data_size = ARRAY_SIZE(pinmux_data), |
| }; |