1578 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * SH7203 Pinmux4 *5 * Copyright (C) 2008 Magnus Damm6 */7 8#include <linux/kernel.h>9#include <cpu/sh7203.h>10 11#include "sh_pfc.h"12 13enum {14 PINMUX_RESERVED = 0,15 16 PINMUX_DATA_BEGIN,17 PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,18 PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,19 PB12_DATA,20 PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,21 PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,22 PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA,23 PC14_DATA, PC13_DATA, PC12_DATA,24 PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,25 PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,26 PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,27 PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,28 PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,29 PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,30 PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,31 PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,32 PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,33 PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,34 PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,35 PF30_DATA, PF29_DATA, PF28_DATA,36 PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,37 PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,38 PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA,39 PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,40 PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,41 PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,42 PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,43 PINMUX_DATA_END,44 45 PINMUX_INPUT_BEGIN,46 FORCE_IN,47 PA7_IN, PA6_IN, PA5_IN, PA4_IN,48 PA3_IN, PA2_IN, PA1_IN, PA0_IN,49 PB11_IN, PB10_IN, PB9_IN, PB8_IN,50 PC14_IN, PC13_IN, PC12_IN,51 PC11_IN, PC10_IN, PC9_IN, PC8_IN,52 PC7_IN, PC6_IN, PC5_IN, PC4_IN,53 PC3_IN, PC2_IN, PC1_IN, PC0_IN,54 PD15_IN, PD14_IN, PD13_IN, PD12_IN,55 PD11_IN, PD10_IN, PD9_IN, PD8_IN,56 PD7_IN, PD6_IN, PD5_IN, PD4_IN,57 PD3_IN, PD2_IN, PD1_IN, PD0_IN,58 PE15_IN, PE14_IN, PE13_IN, PE12_IN,59 PE11_IN, PE10_IN, PE9_IN, PE8_IN,60 PE7_IN, PE6_IN, PE5_IN, PE4_IN,61 PE3_IN, PE2_IN, PE1_IN, PE0_IN,62 PF30_IN, PF29_IN, PF28_IN,63 PF27_IN, PF26_IN, PF25_IN, PF24_IN,64 PF23_IN, PF22_IN, PF21_IN, PF20_IN,65 PF19_IN, PF18_IN, PF17_IN, PF16_IN,66 PF15_IN, PF14_IN, PF13_IN, PF12_IN,67 PF11_IN, PF10_IN, PF9_IN, PF8_IN,68 PF7_IN, PF6_IN, PF5_IN, PF4_IN,69 PF3_IN, PF2_IN, PF1_IN, PF0_IN,70 PINMUX_INPUT_END,71 72 PINMUX_OUTPUT_BEGIN,73 FORCE_OUT,74 PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,75 PC14_OUT, PC13_OUT, PC12_OUT,76 PC11_OUT, PC10_OUT, PC9_OUT, PC8_OUT,77 PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,78 PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,79 PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,80 PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,81 PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,82 PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,83 PE15_OUT, PE14_OUT, PE13_OUT, PE12_OUT,84 PE11_OUT, PE10_OUT, PE9_OUT, PE8_OUT,85 PE7_OUT, PE6_OUT, PE5_OUT, PE4_OUT,86 PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,87 PF30_OUT, PF29_OUT, PF28_OUT,88 PF27_OUT, PF26_OUT, PF25_OUT, PF24_OUT,89 PF23_OUT, PF22_OUT, PF21_OUT, PF20_OUT,90 PF19_OUT, PF18_OUT, PF17_OUT, PF16_OUT,91 PF15_OUT, PF14_OUT, PF13_OUT, PF12_OUT,92 PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,93 PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,94 PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,95 PINMUX_OUTPUT_END,96 97 PINMUX_FUNCTION_BEGIN,98 PB11_IOR_IN, PB11_IOR_OUT,99 PB10_IOR_IN, PB10_IOR_OUT,100 PB9_IOR_IN, PB9_IOR_OUT,101 PB8_IOR_IN, PB8_IOR_OUT,102 PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,103 PB11MD_0, PB11MD_1,104 PB10MD_0, PB10MD_1,105 PB9MD_00, PB9MD_01, PB9MD_10,106 PB8MD_00, PB8MD_01, PB8MD_10,107 PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,108 PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,109 PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,110 PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,111 PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,112 PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,113 PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,114 PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,115 116 PB12IRQ_00, PB12IRQ_01, PB12IRQ_10,117 118 PC14MD_0, PC14MD_1,119 PC13MD_0, PC13MD_1,120 PC12MD_0, PC12MD_1,121 PC11MD_00, PC11MD_01, PC11MD_10,122 PC10MD_00, PC10MD_01, PC10MD_10,123 PC9MD_0, PC9MD_1,124 PC8MD_0, PC8MD_1,125 PC7MD_0, PC7MD_1,126 PC6MD_0, PC6MD_1,127 PC5MD_0, PC5MD_1,128 PC4MD_0, PC4MD_1,129 PC3MD_0, PC3MD_1,130 PC2MD_0, PC2MD_1,131 PC1MD_0, PC1MD_1,132 PC0MD_00, PC0MD_01, PC0MD_10,133 134 PD15MD_000, PD15MD_001, PD15MD_010, PD15MD_100, PD15MD_101,135 PD14MD_000, PD14MD_001, PD14MD_010, PD14MD_101,136 PD13MD_000, PD13MD_001, PD13MD_010, PD13MD_100, PD13MD_101,137 PD12MD_000, PD12MD_001, PD12MD_010, PD12MD_100, PD12MD_101,138 PD11MD_000, PD11MD_001, PD11MD_010, PD11MD_100, PD11MD_101,139 PD10MD_000, PD10MD_001, PD10MD_010, PD10MD_100, PD10MD_101,140 PD9MD_000, PD9MD_001, PD9MD_010, PD9MD_100, PD9MD_101,141 PD8MD_000, PD8MD_001, PD8MD_010, PD8MD_100, PD8MD_101,142 PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011, PD7MD_100, PD7MD_101,143 PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011, PD6MD_100, PD6MD_101,144 PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011, PD5MD_100, PD5MD_101,145 PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011, PD4MD_100, PD4MD_101,146 PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011, PD3MD_100, PD3MD_101,147 PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011, PD2MD_100, PD2MD_101,148 PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011, PD1MD_100, PD1MD_101,149 PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011, PD0MD_100, PD0MD_101,150 151 PE15MD_00, PE15MD_01, PE15MD_11,152 PE14MD_00, PE14MD_01, PE14MD_11,153 PE13MD_00, PE13MD_11,154 PE12MD_00, PE12MD_11,155 PE11MD_000, PE11MD_001, PE11MD_010, PE11MD_100,156 PE10MD_000, PE10MD_001, PE10MD_010, PE10MD_100,157 PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,158 PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,159 PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011, PE7MD_100,160 PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011, PE6MD_100,161 PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011, PE5MD_100,162 PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011, PE4MD_100,163 PE3MD_00, PE3MD_01, PE3MD_11,164 PE2MD_00, PE2MD_01, PE2MD_11,165 PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,166 PE0MD_000, PE0MD_001, PE0MD_011, PE0MD_100,167 168 PF30MD_0, PF30MD_1,169 PF29MD_0, PF29MD_1,170 PF28MD_0, PF28MD_1,171 PF27MD_0, PF27MD_1,172 PF26MD_0, PF26MD_1,173 PF25MD_0, PF25MD_1,174 PF24MD_0, PF24MD_1,175 PF23MD_00, PF23MD_01, PF23MD_10,176 PF22MD_00, PF22MD_01, PF22MD_10,177 PF21MD_00, PF21MD_01, PF21MD_10,178 PF20MD_00, PF20MD_01, PF20MD_10,179 PF19MD_00, PF19MD_01, PF19MD_10,180 PF18MD_00, PF18MD_01, PF18MD_10,181 PF17MD_00, PF17MD_01, PF17MD_10,182 PF16MD_00, PF16MD_01, PF16MD_10,183 PF15MD_00, PF15MD_01, PF15MD_10,184 PF14MD_00, PF14MD_01, PF14MD_10,185 PF13MD_00, PF13MD_01, PF13MD_10,186 PF12MD_00, PF12MD_01, PF12MD_10,187 PF11MD_00, PF11MD_01, PF11MD_10,188 PF10MD_00, PF10MD_01, PF10MD_10,189 PF9MD_00, PF9MD_01, PF9MD_10,190 PF8MD_00, PF8MD_01, PF8MD_10,191 PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,192 PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,193 PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,194 PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,195 PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,196 PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,197 PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,198 PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,199 PINMUX_FUNCTION_END,200 201 PINMUX_MARK_BEGIN,202 PINT7_PB_MARK, PINT6_PB_MARK, PINT5_PB_MARK, PINT4_PB_MARK,203 PINT3_PB_MARK, PINT2_PB_MARK, PINT1_PB_MARK, PINT0_PB_MARK,204 PINT7_PD_MARK, PINT6_PD_MARK, PINT5_PD_MARK, PINT4_PD_MARK,205 PINT3_PD_MARK, PINT2_PD_MARK, PINT1_PD_MARK, PINT0_PD_MARK,206 IRQ7_PB_MARK, IRQ6_PB_MARK, IRQ5_PB_MARK, IRQ4_PB_MARK,207 IRQ3_PB_MARK, IRQ2_PB_MARK, IRQ1_PB_MARK, IRQ0_PB_MARK,208 IRQ7_PD_MARK, IRQ6_PD_MARK, IRQ5_PD_MARK, IRQ4_PD_MARK,209 IRQ3_PD_MARK, IRQ2_PD_MARK, IRQ1_PD_MARK, IRQ0_PD_MARK,210 IRQ7_PE_MARK, IRQ6_PE_MARK, IRQ5_PE_MARK, IRQ4_PE_MARK,211 IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,212 WDTOVF_MARK, IRQOUT_MARK, REFOUT_MARK, IRQOUT_REFOUT_MARK,213 UBCTRG_MARK,214 CTX1_MARK, CRX1_MARK, CTX0_MARK, CTX0_CTX1_MARK,215 CRX0_MARK, CRX0_CRX1_MARK,216 SDA3_MARK, SCL3_MARK,217 SDA2_MARK, SCL2_MARK,218 SDA1_MARK, SCL1_MARK,219 SDA0_MARK, SCL0_MARK,220 TEND0_PD_MARK, TEND0_PE_MARK, DACK0_PD_MARK, DACK0_PE_MARK,221 DREQ0_PD_MARK, DREQ0_PE_MARK, TEND1_PD_MARK, TEND1_PE_MARK,222 DACK1_PD_MARK, DACK1_PE_MARK, DREQ1_PD_MARK, DREQ1_PE_MARK,223 DACK2_MARK, DREQ2_MARK, DACK3_MARK, DREQ3_MARK,224 ADTRG_PD_MARK, ADTRG_PE_MARK,225 D31_MARK, D30_MARK, D29_MARK, D28_MARK,226 D27_MARK, D26_MARK, D25_MARK, D24_MARK,227 D23_MARK, D22_MARK, D21_MARK, D20_MARK,228 D19_MARK, D18_MARK, D17_MARK, D16_MARK,229 A25_MARK, A24_MARK, A23_MARK, A22_MARK,230 A21_MARK, CS4_MARK, MRES_MARK, BS_MARK,231 IOIS16_MARK, CS1_MARK, CS6_CE1B_MARK, CE2B_MARK,232 CS5_CE1A_MARK, CE2A_MARK, FRAME_MARK, WAIT_MARK,233 RDWR_MARK, CKE_MARK, CASU_MARK, BREQ_MARK,234 RASU_MARK, BACK_MARK, CASL_MARK, RASL_MARK,235 WE3_DQMUU_AH_ICIO_WR_MARK, WE2_DQMUL_ICIORD_MARK,236 WE1_DQMLU_WE_MARK, WE0_DQMLL_MARK,237 CS3_MARK, CS2_MARK, A1_MARK, A0_MARK, CS7_MARK,238 TIOC4D_MARK, TIOC4C_MARK, TIOC4B_MARK, TIOC4A_MARK,239 TIOC3D_MARK, TIOC3C_MARK, TIOC3B_MARK, TIOC3A_MARK,240 TIOC2B_MARK, TIOC1B_MARK, TIOC2A_MARK, TIOC1A_MARK,241 TIOC0D_MARK, TIOC0C_MARK, TIOC0B_MARK, TIOC0A_MARK,242 TCLKD_PD_MARK, TCLKC_PD_MARK, TCLKB_PD_MARK, TCLKA_PD_MARK,243 TCLKD_PF_MARK, TCLKC_PF_MARK, TCLKB_PF_MARK, TCLKA_PF_MARK,244 SCS0_PD_MARK, SSO0_PD_MARK, SSI0_PD_MARK, SSCK0_PD_MARK,245 SCS0_PF_MARK, SSO0_PF_MARK, SSI0_PF_MARK, SSCK0_PF_MARK,246 SCS1_PD_MARK, SSO1_PD_MARK, SSI1_PD_MARK, SSCK1_PD_MARK,247 SCS1_PF_MARK, SSO1_PF_MARK, SSI1_PF_MARK, SSCK1_PF_MARK,248 TXD0_MARK, RXD0_MARK, SCK0_MARK,249 TXD1_MARK, RXD1_MARK, SCK1_MARK,250 TXD2_MARK, RXD2_MARK, SCK2_MARK,251 RTS3_MARK, CTS3_MARK, TXD3_MARK,252 RXD3_MARK, SCK3_MARK,253 AUDIO_CLK_MARK,254 SSIDATA3_MARK, SSIWS3_MARK, SSISCK3_MARK,255 SSIDATA2_MARK, SSIWS2_MARK, SSISCK2_MARK,256 SSIDATA1_MARK, SSIWS1_MARK, SSISCK1_MARK,257 SSIDATA0_MARK, SSIWS0_MARK, SSISCK0_MARK,258 FCE_MARK, FRB_MARK,259 NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK,260 NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK,261 FSC_MARK, FOE_MARK, FCDE_MARK, FWE_MARK,262 LCD_VEPWC_MARK, LCD_VCPWC_MARK, LCD_CLK_MARK, LCD_FLM_MARK,263 LCD_M_DISP_MARK, LCD_CL2_MARK, LCD_CL1_MARK, LCD_DON_MARK,264 LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,265 LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,266 LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,267 LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,268 PINMUX_MARK_END,269};270 271static const u16 pinmux_data[] = {272 /* PA */273 PINMUX_DATA(PA7_DATA, PA7_IN),274 PINMUX_DATA(PA6_DATA, PA6_IN),275 PINMUX_DATA(PA5_DATA, PA5_IN),276 PINMUX_DATA(PA4_DATA, PA4_IN),277 PINMUX_DATA(PA3_DATA, PA3_IN),278 PINMUX_DATA(PA2_DATA, PA2_IN),279 PINMUX_DATA(PA1_DATA, PA1_IN),280 PINMUX_DATA(PA0_DATA, PA0_IN),281 282 /* PB */283 PINMUX_DATA(PB12_DATA, PB12MD_00, FORCE_OUT),284 PINMUX_DATA(WDTOVF_MARK, PB12MD_01),285 PINMUX_DATA(IRQOUT_MARK, PB12MD_10, PB12IRQ_00),286 PINMUX_DATA(REFOUT_MARK, PB12MD_10, PB12IRQ_01),287 PINMUX_DATA(IRQOUT_REFOUT_MARK, PB12MD_10, PB12IRQ_10),288 PINMUX_DATA(UBCTRG_MARK, PB12MD_11),289 290 PINMUX_DATA(PB11_DATA, PB11MD_0, PB11_IN, PB11_OUT),291 PINMUX_DATA(CTX1_MARK, PB11MD_1),292 293 PINMUX_DATA(PB10_DATA, PB10MD_0, PB10_IN, PB10_OUT),294 PINMUX_DATA(CRX1_MARK, PB10MD_1),295 296 PINMUX_DATA(PB9_DATA, PB9MD_00, PB9_IN, PB9_OUT),297 PINMUX_DATA(CTX0_MARK, PB9MD_01),298 PINMUX_DATA(CTX0_CTX1_MARK, PB9MD_10),299 300 PINMUX_DATA(PB8_DATA, PB8MD_00, PB8_IN, PB8_OUT),301 PINMUX_DATA(CRX0_MARK, PB8MD_01),302 PINMUX_DATA(CRX0_CRX1_MARK, PB8MD_10),303 304 PINMUX_DATA(PB7_DATA, PB7MD_00, FORCE_IN),305 PINMUX_DATA(SDA3_MARK, PB7MD_01),306 PINMUX_DATA(PINT7_PB_MARK, PB7MD_10),307 PINMUX_DATA(IRQ7_PB_MARK, PB7MD_11),308 309 PINMUX_DATA(PB6_DATA, PB6MD_00, FORCE_IN),310 PINMUX_DATA(SCL3_MARK, PB6MD_01),311 PINMUX_DATA(PINT6_PB_MARK, PB6MD_10),312 PINMUX_DATA(IRQ6_PB_MARK, PB6MD_11),313 314 PINMUX_DATA(PB5_DATA, PB5MD_00, FORCE_IN),315 PINMUX_DATA(SDA2_MARK, PB6MD_01),316 PINMUX_DATA(PINT5_PB_MARK, PB6MD_10),317 PINMUX_DATA(IRQ5_PB_MARK, PB6MD_11),318 319 PINMUX_DATA(PB4_DATA, PB4MD_00, FORCE_IN),320 PINMUX_DATA(SCL2_MARK, PB4MD_01),321 PINMUX_DATA(PINT4_PB_MARK, PB4MD_10),322 PINMUX_DATA(IRQ4_PB_MARK, PB4MD_11),323 324 PINMUX_DATA(PB3_DATA, PB3MD_00, FORCE_IN),325 PINMUX_DATA(SDA1_MARK, PB3MD_01),326 PINMUX_DATA(PINT3_PB_MARK, PB3MD_10),327 PINMUX_DATA(IRQ3_PB_MARK, PB3MD_11),328 329 PINMUX_DATA(PB2_DATA, PB2MD_00, FORCE_IN),330 PINMUX_DATA(SCL1_MARK, PB2MD_01),331 PINMUX_DATA(PINT2_PB_MARK, PB2MD_10),332 PINMUX_DATA(IRQ2_PB_MARK, PB2MD_11),333 334 PINMUX_DATA(PB1_DATA, PB1MD_00, FORCE_IN),335 PINMUX_DATA(SDA0_MARK, PB1MD_01),336 PINMUX_DATA(PINT1_PB_MARK, PB1MD_10),337 PINMUX_DATA(IRQ1_PB_MARK, PB1MD_11),338 339 PINMUX_DATA(PB0_DATA, PB0MD_00, FORCE_IN),340 PINMUX_DATA(SCL0_MARK, PB0MD_01),341 PINMUX_DATA(PINT0_PB_MARK, PB0MD_10),342 PINMUX_DATA(IRQ0_PB_MARK, PB0MD_11),343 344 /* PC */345 PINMUX_DATA(PC14_DATA, PC14MD_0, PC14_IN, PC14_OUT),346 PINMUX_DATA(WAIT_MARK, PC14MD_1),347 348 PINMUX_DATA(PC13_DATA, PC13MD_0, PC13_IN, PC13_OUT),349 PINMUX_DATA(RDWR_MARK, PC13MD_1),350 351 PINMUX_DATA(PC12_DATA, PC12MD_0, PC12_IN, PC12_OUT),352 PINMUX_DATA(CKE_MARK, PC12MD_1),353 354 PINMUX_DATA(PC11_DATA, PC11MD_00, PC11_IN, PC11_OUT),355 PINMUX_DATA(CASU_MARK, PC11MD_01),356 PINMUX_DATA(BREQ_MARK, PC11MD_10),357 358 PINMUX_DATA(PC10_DATA, PC10MD_00, PC10_IN, PC10_OUT),359 PINMUX_DATA(RASU_MARK, PC10MD_01),360 PINMUX_DATA(BACK_MARK, PC10MD_10),361 362 PINMUX_DATA(PC9_DATA, PC9MD_0, PC9_IN, PC9_OUT),363 PINMUX_DATA(CASL_MARK, PC9MD_1),364 365 PINMUX_DATA(PC8_DATA, PC8MD_0, PC8_IN, PC8_OUT),366 PINMUX_DATA(RASL_MARK, PC8MD_1),367 368 PINMUX_DATA(PC7_DATA, PC7MD_0, PC7_IN, PC7_OUT),369 PINMUX_DATA(WE3_DQMUU_AH_ICIO_WR_MARK, PC7MD_1),370 371 PINMUX_DATA(PC6_DATA, PC6MD_0, PC6_IN, PC6_OUT),372 PINMUX_DATA(WE2_DQMUL_ICIORD_MARK, PC6MD_1),373 374 PINMUX_DATA(PC5_DATA, PC5MD_0, PC5_IN, PC5_OUT),375 PINMUX_DATA(WE1_DQMLU_WE_MARK, PC5MD_1),376 377 PINMUX_DATA(PC4_DATA, PC4MD_0, PC4_IN, PC4_OUT),378 PINMUX_DATA(WE0_DQMLL_MARK, PC4MD_1),379 380 PINMUX_DATA(PC3_DATA, PC3MD_0, PC3_IN, PC3_OUT),381 PINMUX_DATA(CS3_MARK, PC3MD_1),382 383 PINMUX_DATA(PC2_DATA, PC2MD_0, PC2_IN, PC2_OUT),384 PINMUX_DATA(CS2_MARK, PC2MD_1),385 386 PINMUX_DATA(PC1_DATA, PC1MD_0, PC1_IN, PC1_OUT),387 PINMUX_DATA(A1_MARK, PC1MD_1),388 389 PINMUX_DATA(PC0_DATA, PC0MD_00, PC0_IN, PC0_OUT),390 PINMUX_DATA(A0_MARK, PC0MD_01),391 PINMUX_DATA(CS7_MARK, PC0MD_10),392 393 /* PD */394 PINMUX_DATA(PD15_DATA, PD15MD_000, PD15_IN, PD15_OUT),395 PINMUX_DATA(D31_MARK, PD15MD_001),396 PINMUX_DATA(PINT7_PD_MARK, PD15MD_010),397 PINMUX_DATA(ADTRG_PD_MARK, PD15MD_100),398 PINMUX_DATA(TIOC4D_MARK, PD15MD_101),399 400 PINMUX_DATA(PD14_DATA, PD14MD_000, PD14_IN, PD14_OUT),401 PINMUX_DATA(D30_MARK, PD14MD_001),402 PINMUX_DATA(PINT6_PD_MARK, PD14MD_010),403 PINMUX_DATA(TIOC4C_MARK, PD14MD_101),404 405 PINMUX_DATA(PD13_DATA, PD13MD_000, PD13_IN, PD13_OUT),406 PINMUX_DATA(D29_MARK, PD13MD_001),407 PINMUX_DATA(PINT5_PD_MARK, PD13MD_010),408 PINMUX_DATA(TEND1_PD_MARK, PD13MD_100),409 PINMUX_DATA(TIOC4B_MARK, PD13MD_101),410 411 PINMUX_DATA(PD12_DATA, PD12MD_000, PD12_IN, PD12_OUT),412 PINMUX_DATA(D28_MARK, PD12MD_001),413 PINMUX_DATA(PINT4_PD_MARK, PD12MD_010),414 PINMUX_DATA(DACK1_PD_MARK, PD12MD_100),415 PINMUX_DATA(TIOC4A_MARK, PD12MD_101),416 417 PINMUX_DATA(PD11_DATA, PD11MD_000, PD11_IN, PD11_OUT),418 PINMUX_DATA(D27_MARK, PD11MD_001),419 PINMUX_DATA(PINT3_PD_MARK, PD11MD_010),420 PINMUX_DATA(DREQ1_PD_MARK, PD11MD_100),421 PINMUX_DATA(TIOC3D_MARK, PD11MD_101),422 423 PINMUX_DATA(PD10_DATA, PD10MD_000, PD10_IN, PD10_OUT),424 PINMUX_DATA(D26_MARK, PD10MD_001),425 PINMUX_DATA(PINT2_PD_MARK, PD10MD_010),426 PINMUX_DATA(TEND0_PD_MARK, PD10MD_100),427 PINMUX_DATA(TIOC3C_MARK, PD10MD_101),428 429 PINMUX_DATA(PD9_DATA, PD9MD_000, PD9_IN, PD9_OUT),430 PINMUX_DATA(D25_MARK, PD9MD_001),431 PINMUX_DATA(PINT1_PD_MARK, PD9MD_010),432 PINMUX_DATA(DACK0_PD_MARK, PD9MD_100),433 PINMUX_DATA(TIOC3B_MARK, PD9MD_101),434 435 PINMUX_DATA(PD8_DATA, PD8MD_000, PD8_IN, PD8_OUT),436 PINMUX_DATA(D24_MARK, PD8MD_001),437 PINMUX_DATA(PINT0_PD_MARK, PD8MD_010),438 PINMUX_DATA(DREQ0_PD_MARK, PD8MD_100),439 PINMUX_DATA(TIOC3A_MARK, PD8MD_101),440 441 PINMUX_DATA(PD7_DATA, PD7MD_000, PD7_IN, PD7_OUT),442 PINMUX_DATA(D23_MARK, PD7MD_001),443 PINMUX_DATA(IRQ7_PD_MARK, PD7MD_010),444 PINMUX_DATA(SCS1_PD_MARK, PD7MD_011),445 PINMUX_DATA(TCLKD_PD_MARK, PD7MD_100),446 PINMUX_DATA(TIOC2B_MARK, PD7MD_101),447 448 PINMUX_DATA(PD6_DATA, PD6MD_000, PD6_IN, PD6_OUT),449 PINMUX_DATA(D22_MARK, PD6MD_001),450 PINMUX_DATA(IRQ6_PD_MARK, PD6MD_010),451 PINMUX_DATA(SSO1_PD_MARK, PD6MD_011),452 PINMUX_DATA(TCLKC_PD_MARK, PD6MD_100),453 PINMUX_DATA(TIOC2A_MARK, PD6MD_101),454 455 PINMUX_DATA(PD5_DATA, PD5MD_000, PD5_IN, PD5_OUT),456 PINMUX_DATA(D21_MARK, PD5MD_001),457 PINMUX_DATA(IRQ5_PD_MARK, PD5MD_010),458 PINMUX_DATA(SSI1_PD_MARK, PD5MD_011),459 PINMUX_DATA(TCLKB_PD_MARK, PD5MD_100),460 PINMUX_DATA(TIOC1B_MARK, PD5MD_101),461 462 PINMUX_DATA(PD4_DATA, PD4MD_000, PD4_IN, PD4_OUT),463 PINMUX_DATA(D20_MARK, PD4MD_001),464 PINMUX_DATA(IRQ4_PD_MARK, PD4MD_010),465 PINMUX_DATA(SSCK1_PD_MARK, PD4MD_011),466 PINMUX_DATA(TCLKA_PD_MARK, PD4MD_100),467 PINMUX_DATA(TIOC1A_MARK, PD4MD_101),468 469 PINMUX_DATA(PD3_DATA, PD3MD_000, PD3_IN, PD3_OUT),470 PINMUX_DATA(D19_MARK, PD3MD_001),471 PINMUX_DATA(IRQ3_PD_MARK, PD3MD_010),472 PINMUX_DATA(SCS0_PD_MARK, PD3MD_011),473 PINMUX_DATA(DACK3_MARK, PD3MD_100),474 PINMUX_DATA(TIOC0D_MARK, PD3MD_101),475 476 PINMUX_DATA(PD2_DATA, PD2MD_000, PD2_IN, PD2_OUT),477 PINMUX_DATA(D18_MARK, PD2MD_001),478 PINMUX_DATA(IRQ2_PD_MARK, PD2MD_010),479 PINMUX_DATA(SSO0_PD_MARK, PD2MD_011),480 PINMUX_DATA(DREQ3_MARK, PD2MD_100),481 PINMUX_DATA(TIOC0C_MARK, PD2MD_101),482 483 PINMUX_DATA(PD1_DATA, PD1MD_000, PD1_IN, PD1_OUT),484 PINMUX_DATA(D17_MARK, PD1MD_001),485 PINMUX_DATA(IRQ1_PD_MARK, PD1MD_010),486 PINMUX_DATA(SSI0_PD_MARK, PD1MD_011),487 PINMUX_DATA(DACK2_MARK, PD1MD_100),488 PINMUX_DATA(TIOC0B_MARK, PD1MD_101),489 490 PINMUX_DATA(PD0_DATA, PD0MD_000, PD0_IN, PD0_OUT),491 PINMUX_DATA(D16_MARK, PD0MD_001),492 PINMUX_DATA(IRQ0_PD_MARK, PD0MD_010),493 PINMUX_DATA(SSCK0_PD_MARK, PD0MD_011),494 PINMUX_DATA(DREQ2_MARK, PD0MD_100),495 PINMUX_DATA(TIOC0A_MARK, PD0MD_101),496 497 /* PE */498 PINMUX_DATA(PE15_DATA, PE15MD_00, PE15_IN, PE15_OUT),499 PINMUX_DATA(IOIS16_MARK, PE15MD_01),500 PINMUX_DATA(RTS3_MARK, PE15MD_11),501 502 PINMUX_DATA(PE14_DATA, PE14MD_00, PE14_IN, PE14_OUT),503 PINMUX_DATA(CS1_MARK, PE14MD_01),504 PINMUX_DATA(CTS3_MARK, PE14MD_11),505 506 PINMUX_DATA(PE13_DATA, PE13MD_00, PE13_IN, PE13_OUT),507 PINMUX_DATA(TXD3_MARK, PE13MD_11),508 509 PINMUX_DATA(PE12_DATA, PE12MD_00, PE12_IN, PE12_OUT),510 PINMUX_DATA(RXD3_MARK, PE12MD_11),511 512 PINMUX_DATA(PE11_DATA, PE11MD_000, PE11_IN, PE11_OUT),513 PINMUX_DATA(CS6_CE1B_MARK, PE11MD_001),514 PINMUX_DATA(IRQ7_PE_MARK, PE11MD_010),515 PINMUX_DATA(TEND1_PE_MARK, PE11MD_100),516 517 PINMUX_DATA(PE10_DATA, PE10MD_000, PE10_IN, PE10_OUT),518 PINMUX_DATA(CE2B_MARK, PE10MD_001),519 PINMUX_DATA(IRQ6_PE_MARK, PE10MD_010),520 PINMUX_DATA(TEND0_PE_MARK, PE10MD_100),521 522 PINMUX_DATA(PE9_DATA, PE9MD_00, PE9_IN, PE9_OUT),523 PINMUX_DATA(CS5_CE1A_MARK, PE9MD_01),524 PINMUX_DATA(IRQ5_PE_MARK, PE9MD_10),525 PINMUX_DATA(SCK3_MARK, PE9MD_11),526 527 PINMUX_DATA(PE8_DATA, PE8MD_00, PE8_IN, PE8_OUT),528 PINMUX_DATA(CE2A_MARK, PE8MD_01),529 PINMUX_DATA(IRQ4_PE_MARK, PE8MD_10),530 PINMUX_DATA(SCK2_MARK, PE8MD_11),531 532 PINMUX_DATA(PE7_DATA, PE7MD_000, PE7_IN, PE7_OUT),533 PINMUX_DATA(FRAME_MARK, PE7MD_001),534 PINMUX_DATA(IRQ3_PE_MARK, PE7MD_010),535 PINMUX_DATA(TXD2_MARK, PE7MD_011),536 PINMUX_DATA(DACK1_PE_MARK, PE7MD_100),537 538 PINMUX_DATA(PE6_DATA, PE6MD_000, PE6_IN, PE6_OUT),539 PINMUX_DATA(A25_MARK, PE6MD_001),540 PINMUX_DATA(IRQ2_PE_MARK, PE6MD_010),541 PINMUX_DATA(RXD2_MARK, PE6MD_011),542 PINMUX_DATA(DREQ1_PE_MARK, PE6MD_100),543 544 PINMUX_DATA(PE5_DATA, PE5MD_000, PE5_IN, PE5_OUT),545 PINMUX_DATA(A24_MARK, PE5MD_001),546 PINMUX_DATA(IRQ1_PE_MARK, PE5MD_010),547 PINMUX_DATA(TXD1_MARK, PE5MD_011),548 PINMUX_DATA(DACK0_PE_MARK, PE5MD_100),549 550 PINMUX_DATA(PE4_DATA, PE4MD_000, PE4_IN, PE4_OUT),551 PINMUX_DATA(A23_MARK, PE4MD_001),552 PINMUX_DATA(IRQ0_PE_MARK, PE4MD_010),553 PINMUX_DATA(RXD1_MARK, PE4MD_011),554 PINMUX_DATA(DREQ0_PE_MARK, PE4MD_100),555 556 PINMUX_DATA(PE3_DATA, PE3MD_00, PE3_IN, PE3_OUT),557 PINMUX_DATA(A22_MARK, PE3MD_01),558 PINMUX_DATA(SCK1_MARK, PE3MD_11),559 560 PINMUX_DATA(PE2_DATA, PE2MD_00, PE2_IN, PE2_OUT),561 PINMUX_DATA(A21_MARK, PE2MD_01),562 PINMUX_DATA(SCK0_MARK, PE2MD_11),563 564 PINMUX_DATA(PE1_DATA, PE1MD_00, PE1_IN, PE1_OUT),565 PINMUX_DATA(CS4_MARK, PE1MD_01),566 PINMUX_DATA(MRES_MARK, PE1MD_10),567 PINMUX_DATA(TXD0_MARK, PE1MD_11),568 569 PINMUX_DATA(PE0_DATA, PE0MD_000, PE0_IN, PE0_OUT),570 PINMUX_DATA(BS_MARK, PE0MD_001),571 PINMUX_DATA(RXD0_MARK, PE0MD_011),572 PINMUX_DATA(ADTRG_PE_MARK, PE0MD_100),573 574 /* PF */575 PINMUX_DATA(PF30_DATA, PF30MD_0, PF30_IN, PF30_OUT),576 PINMUX_DATA(AUDIO_CLK_MARK, PF30MD_1),577 578 PINMUX_DATA(PF29_DATA, PF29MD_0, PF29_IN, PF29_OUT),579 PINMUX_DATA(SSIDATA3_MARK, PF29MD_1),580 581 PINMUX_DATA(PF28_DATA, PF28MD_0, PF28_IN, PF28_OUT),582 PINMUX_DATA(SSIWS3_MARK, PF28MD_1),583 584 PINMUX_DATA(PF27_DATA, PF27MD_0, PF27_IN, PF27_OUT),585 PINMUX_DATA(SSISCK3_MARK, PF27MD_1),586 587 PINMUX_DATA(PF26_DATA, PF26MD_0, PF26_IN, PF26_OUT),588 PINMUX_DATA(SSIDATA2_MARK, PF26MD_1),589 590 PINMUX_DATA(PF25_DATA, PF25MD_0, PF25_IN, PF25_OUT),591 PINMUX_DATA(SSIWS2_MARK, PF25MD_1),592 593 PINMUX_DATA(PF24_DATA, PF24MD_0, PF24_IN, PF24_OUT),594 PINMUX_DATA(SSISCK2_MARK, PF24MD_1),595 596 PINMUX_DATA(PF23_DATA, PF23MD_00, PF23_IN, PF23_OUT),597 PINMUX_DATA(SSIDATA1_MARK, PF23MD_01),598 PINMUX_DATA(LCD_VEPWC_MARK, PF23MD_10),599 600 PINMUX_DATA(PF22_DATA, PF22MD_00, PF22_IN, PF22_OUT),601 PINMUX_DATA(SSIWS1_MARK, PF22MD_01),602 PINMUX_DATA(LCD_VCPWC_MARK, PF22MD_10),603 604 PINMUX_DATA(PF21_DATA, PF21MD_00, PF21_IN, PF21_OUT),605 PINMUX_DATA(SSISCK1_MARK, PF21MD_01),606 PINMUX_DATA(LCD_CLK_MARK, PF21MD_10),607 608 PINMUX_DATA(PF20_DATA, PF20MD_00, PF20_IN, PF20_OUT),609 PINMUX_DATA(SSIDATA0_MARK, PF20MD_01),610 PINMUX_DATA(LCD_FLM_MARK, PF20MD_10),611 612 PINMUX_DATA(PF19_DATA, PF19MD_00, PF19_IN, PF19_OUT),613 PINMUX_DATA(SSIWS0_MARK, PF19MD_01),614 PINMUX_DATA(LCD_M_DISP_MARK, PF19MD_10),615 616 PINMUX_DATA(PF18_DATA, PF18MD_00, PF18_IN, PF18_OUT),617 PINMUX_DATA(SSISCK0_MARK, PF18MD_01),618 PINMUX_DATA(LCD_CL2_MARK, PF18MD_10),619 620 PINMUX_DATA(PF17_DATA, PF17MD_00, PF17_IN, PF17_OUT),621 PINMUX_DATA(FCE_MARK, PF17MD_01),622 PINMUX_DATA(LCD_CL1_MARK, PF17MD_10),623 624 PINMUX_DATA(PF16_DATA, PF16MD_00, PF16_IN, PF16_OUT),625 PINMUX_DATA(FRB_MARK, PF16MD_01),626 PINMUX_DATA(LCD_DON_MARK, PF16MD_10),627 628 PINMUX_DATA(PF15_DATA, PF15MD_00, PF15_IN, PF15_OUT),629 PINMUX_DATA(NAF7_MARK, PF15MD_01),630 PINMUX_DATA(LCD_DATA15_MARK, PF15MD_10),631 632 PINMUX_DATA(PF14_DATA, PF14MD_00, PF14_IN, PF14_OUT),633 PINMUX_DATA(NAF6_MARK, PF14MD_01),634 PINMUX_DATA(LCD_DATA14_MARK, PF14MD_10),635 636 PINMUX_DATA(PF13_DATA, PF13MD_00, PF13_IN, PF13_OUT),637 PINMUX_DATA(NAF5_MARK, PF13MD_01),638 PINMUX_DATA(LCD_DATA13_MARK, PF13MD_10),639 640 PINMUX_DATA(PF12_DATA, PF12MD_00, PF12_IN, PF12_OUT),641 PINMUX_DATA(NAF4_MARK, PF12MD_01),642 PINMUX_DATA(LCD_DATA12_MARK, PF12MD_10),643 644 PINMUX_DATA(PF11_DATA, PF11MD_00, PF11_IN, PF11_OUT),645 PINMUX_DATA(NAF3_MARK, PF11MD_01),646 PINMUX_DATA(LCD_DATA11_MARK, PF11MD_10),647 648 PINMUX_DATA(PF10_DATA, PF10MD_00, PF10_IN, PF10_OUT),649 PINMUX_DATA(NAF2_MARK, PF10MD_01),650 PINMUX_DATA(LCD_DATA10_MARK, PF10MD_10),651 652 PINMUX_DATA(PF9_DATA, PF9MD_00, PF9_IN, PF9_OUT),653 PINMUX_DATA(NAF1_MARK, PF9MD_01),654 PINMUX_DATA(LCD_DATA9_MARK, PF9MD_10),655 656 PINMUX_DATA(PF8_DATA, PF8MD_00, PF8_IN, PF8_OUT),657 PINMUX_DATA(NAF0_MARK, PF8MD_01),658 PINMUX_DATA(LCD_DATA8_MARK, PF8MD_10),659 660 PINMUX_DATA(PF7_DATA, PF7MD_00, PF7_IN, PF7_OUT),661 PINMUX_DATA(FSC_MARK, PF7MD_01),662 PINMUX_DATA(LCD_DATA7_MARK, PF7MD_10),663 PINMUX_DATA(SCS1_PF_MARK, PF7MD_11),664 665 PINMUX_DATA(PF6_DATA, PF6MD_00, PF6_IN, PF6_OUT),666 PINMUX_DATA(FOE_MARK, PF6MD_01),667 PINMUX_DATA(LCD_DATA6_MARK, PF6MD_10),668 PINMUX_DATA(SSO1_PF_MARK, PF6MD_11),669 670 PINMUX_DATA(PF5_DATA, PF5MD_00, PF5_IN, PF5_OUT),671 PINMUX_DATA(FCDE_MARK, PF5MD_01),672 PINMUX_DATA(LCD_DATA5_MARK, PF5MD_10),673 PINMUX_DATA(SSI1_PF_MARK, PF5MD_11),674 675 PINMUX_DATA(PF4_DATA, PF4MD_00, PF4_IN, PF4_OUT),676 PINMUX_DATA(FWE_MARK, PF4MD_01),677 PINMUX_DATA(LCD_DATA4_MARK, PF4MD_10),678 PINMUX_DATA(SSCK1_PF_MARK, PF4MD_11),679 680 PINMUX_DATA(PF3_DATA, PF3MD_00, PF3_IN, PF3_OUT),681 PINMUX_DATA(TCLKD_PF_MARK, PF3MD_01),682 PINMUX_DATA(LCD_DATA3_MARK, PF3MD_10),683 PINMUX_DATA(SCS0_PF_MARK, PF3MD_11),684 685 PINMUX_DATA(PF2_DATA, PF2MD_00, PF2_IN, PF2_OUT),686 PINMUX_DATA(TCLKC_PF_MARK, PF2MD_01),687 PINMUX_DATA(LCD_DATA2_MARK, PF2MD_10),688 PINMUX_DATA(SSO0_PF_MARK, PF2MD_11),689 690 PINMUX_DATA(PF1_DATA, PF1MD_00, PF1_IN, PF1_OUT),691 PINMUX_DATA(TCLKB_PF_MARK, PF1MD_01),692 PINMUX_DATA(LCD_DATA1_MARK, PF1MD_10),693 PINMUX_DATA(SSI0_PF_MARK, PF1MD_11),694 695 PINMUX_DATA(PF0_DATA, PF0MD_00, PF0_IN, PF0_OUT),696 PINMUX_DATA(TCLKA_PF_MARK, PF0MD_01),697 PINMUX_DATA(LCD_DATA0_MARK, PF0MD_10),698 PINMUX_DATA(SSCK0_PF_MARK, PF0MD_11),699};700 701static const struct sh_pfc_pin pinmux_pins[] = {702 /* PA */703 PINMUX_GPIO(PA7),704 PINMUX_GPIO(PA6),705 PINMUX_GPIO(PA5),706 PINMUX_GPIO(PA4),707 PINMUX_GPIO(PA3),708 PINMUX_GPIO(PA2),709 PINMUX_GPIO(PA1),710 PINMUX_GPIO(PA0),711 712 /* PB */713 PINMUX_GPIO(PB12),714 PINMUX_GPIO(PB11),715 PINMUX_GPIO(PB10),716 PINMUX_GPIO(PB9),717 PINMUX_GPIO(PB8),718 PINMUX_GPIO(PB7),719 PINMUX_GPIO(PB6),720 PINMUX_GPIO(PB5),721 PINMUX_GPIO(PB4),722 PINMUX_GPIO(PB3),723 PINMUX_GPIO(PB2),724 PINMUX_GPIO(PB1),725 PINMUX_GPIO(PB0),726 727 /* PC */728 PINMUX_GPIO(PC14),729 PINMUX_GPIO(PC13),730 PINMUX_GPIO(PC12),731 PINMUX_GPIO(PC11),732 PINMUX_GPIO(PC10),733 PINMUX_GPIO(PC9),734 PINMUX_GPIO(PC8),735 PINMUX_GPIO(PC7),736 PINMUX_GPIO(PC6),737 PINMUX_GPIO(PC5),738 PINMUX_GPIO(PC4),739 PINMUX_GPIO(PC3),740 PINMUX_GPIO(PC2),741 PINMUX_GPIO(PC1),742 PINMUX_GPIO(PC0),743 744 /* PD */745 PINMUX_GPIO(PD15),746 PINMUX_GPIO(PD14),747 PINMUX_GPIO(PD13),748 PINMUX_GPIO(PD12),749 PINMUX_GPIO(PD11),750 PINMUX_GPIO(PD10),751 PINMUX_GPIO(PD9),752 PINMUX_GPIO(PD8),753 PINMUX_GPIO(PD7),754 PINMUX_GPIO(PD6),755 PINMUX_GPIO(PD5),756 PINMUX_GPIO(PD4),757 PINMUX_GPIO(PD3),758 PINMUX_GPIO(PD2),759 PINMUX_GPIO(PD1),760 PINMUX_GPIO(PD0),761 762 /* PE */763 PINMUX_GPIO(PE15),764 PINMUX_GPIO(PE14),765 PINMUX_GPIO(PE13),766 PINMUX_GPIO(PE12),767 PINMUX_GPIO(PE11),768 PINMUX_GPIO(PE10),769 PINMUX_GPIO(PE9),770 PINMUX_GPIO(PE8),771 PINMUX_GPIO(PE7),772 PINMUX_GPIO(PE6),773 PINMUX_GPIO(PE5),774 PINMUX_GPIO(PE4),775 PINMUX_GPIO(PE3),776 PINMUX_GPIO(PE2),777 PINMUX_GPIO(PE1),778 PINMUX_GPIO(PE0),779 780 /* PF */781 PINMUX_GPIO(PF30),782 PINMUX_GPIO(PF29),783 PINMUX_GPIO(PF28),784 PINMUX_GPIO(PF27),785 PINMUX_GPIO(PF26),786 PINMUX_GPIO(PF25),787 PINMUX_GPIO(PF24),788 PINMUX_GPIO(PF23),789 PINMUX_GPIO(PF22),790 PINMUX_GPIO(PF21),791 PINMUX_GPIO(PF20),792 PINMUX_GPIO(PF19),793 PINMUX_GPIO(PF18),794 PINMUX_GPIO(PF17),795 PINMUX_GPIO(PF16),796 PINMUX_GPIO(PF15),797 PINMUX_GPIO(PF14),798 PINMUX_GPIO(PF13),799 PINMUX_GPIO(PF12),800 PINMUX_GPIO(PF11),801 PINMUX_GPIO(PF10),802 PINMUX_GPIO(PF9),803 PINMUX_GPIO(PF8),804 PINMUX_GPIO(PF7),805 PINMUX_GPIO(PF6),806 PINMUX_GPIO(PF5),807 PINMUX_GPIO(PF4),808 PINMUX_GPIO(PF3),809 PINMUX_GPIO(PF2),810 PINMUX_GPIO(PF1),811 PINMUX_GPIO(PF0),812};813 814#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)815 816static const struct pinmux_func pinmux_func_gpios[] = {817 /* INTC */818 GPIO_FN(PINT7_PB),819 GPIO_FN(PINT6_PB),820 GPIO_FN(PINT5_PB),821 GPIO_FN(PINT4_PB),822 GPIO_FN(PINT3_PB),823 GPIO_FN(PINT2_PB),824 GPIO_FN(PINT1_PB),825 GPIO_FN(PINT0_PB),826 GPIO_FN(PINT7_PD),827 GPIO_FN(PINT6_PD),828 GPIO_FN(PINT5_PD),829 GPIO_FN(PINT4_PD),830 GPIO_FN(PINT3_PD),831 GPIO_FN(PINT2_PD),832 GPIO_FN(PINT1_PD),833 GPIO_FN(PINT0_PD),834 GPIO_FN(IRQ7_PB),835 GPIO_FN(IRQ6_PB),836 GPIO_FN(IRQ5_PB),837 GPIO_FN(IRQ4_PB),838 GPIO_FN(IRQ3_PB),839 GPIO_FN(IRQ2_PB),840 GPIO_FN(IRQ1_PB),841 GPIO_FN(IRQ0_PB),842 GPIO_FN(IRQ7_PD),843 GPIO_FN(IRQ6_PD),844 GPIO_FN(IRQ5_PD),845 GPIO_FN(IRQ4_PD),846 GPIO_FN(IRQ3_PD),847 GPIO_FN(IRQ2_PD),848 GPIO_FN(IRQ1_PD),849 GPIO_FN(IRQ0_PD),850 GPIO_FN(IRQ7_PE),851 GPIO_FN(IRQ6_PE),852 GPIO_FN(IRQ5_PE),853 GPIO_FN(IRQ4_PE),854 GPIO_FN(IRQ3_PE),855 GPIO_FN(IRQ2_PE),856 GPIO_FN(IRQ1_PE),857 GPIO_FN(IRQ0_PE),858 859 GPIO_FN(WDTOVF),860 GPIO_FN(IRQOUT),861 GPIO_FN(REFOUT),862 GPIO_FN(IRQOUT_REFOUT),863 GPIO_FN(UBCTRG),864 865 /* CAN */866 GPIO_FN(CTX1),867 GPIO_FN(CRX1),868 GPIO_FN(CTX0),869 GPIO_FN(CTX0_CTX1),870 GPIO_FN(CRX0),871 GPIO_FN(CRX0_CRX1),872 873 /* IIC3 */874 GPIO_FN(SDA3),875 GPIO_FN(SCL3),876 GPIO_FN(SDA2),877 GPIO_FN(SCL2),878 GPIO_FN(SDA1),879 GPIO_FN(SCL1),880 GPIO_FN(SDA0),881 GPIO_FN(SCL0),882 883 /* DMAC */884 GPIO_FN(TEND0_PD),885 GPIO_FN(TEND0_PE),886 GPIO_FN(DACK0_PD),887 GPIO_FN(DACK0_PE),888 GPIO_FN(DREQ0_PD),889 GPIO_FN(DREQ0_PE),890 GPIO_FN(TEND1_PD),891 GPIO_FN(TEND1_PE),892 GPIO_FN(DACK1_PD),893 GPIO_FN(DACK1_PE),894 GPIO_FN(DREQ1_PD),895 GPIO_FN(DREQ1_PE),896 GPIO_FN(DACK2),897 GPIO_FN(DREQ2),898 GPIO_FN(DACK3),899 GPIO_FN(DREQ3),900 901 /* ADC */902 GPIO_FN(ADTRG_PD),903 GPIO_FN(ADTRG_PE),904 905 /* BSC */906 GPIO_FN(D31),907 GPIO_FN(D30),908 GPIO_FN(D29),909 GPIO_FN(D28),910 GPIO_FN(D27),911 GPIO_FN(D26),912 GPIO_FN(D25),913 GPIO_FN(D24),914 GPIO_FN(D23),915 GPIO_FN(D22),916 GPIO_FN(D21),917 GPIO_FN(D20),918 GPIO_FN(D19),919 GPIO_FN(D18),920 GPIO_FN(D17),921 GPIO_FN(D16),922 GPIO_FN(A25),923 GPIO_FN(A24),924 GPIO_FN(A23),925 GPIO_FN(A22),926 GPIO_FN(A21),927 GPIO_FN(CS4),928 GPIO_FN(MRES),929 GPIO_FN(BS),930 GPIO_FN(IOIS16),931 GPIO_FN(CS1),932 GPIO_FN(CS6_CE1B),933 GPIO_FN(CE2B),934 GPIO_FN(CS5_CE1A),935 GPIO_FN(CE2A),936 GPIO_FN(FRAME),937 GPIO_FN(WAIT),938 GPIO_FN(RDWR),939 GPIO_FN(CKE),940 GPIO_FN(CASU),941 GPIO_FN(BREQ),942 GPIO_FN(RASU),943 GPIO_FN(BACK),944 GPIO_FN(CASL),945 GPIO_FN(RASL),946 GPIO_FN(WE3_DQMUU_AH_ICIO_WR),947 GPIO_FN(WE2_DQMUL_ICIORD),948 GPIO_FN(WE1_DQMLU_WE),949 GPIO_FN(WE0_DQMLL),950 GPIO_FN(CS3),951 GPIO_FN(CS2),952 GPIO_FN(A1),953 GPIO_FN(A0),954 GPIO_FN(CS7),955 956 /* TMU */957 GPIO_FN(TIOC4D),958 GPIO_FN(TIOC4C),959 GPIO_FN(TIOC4B),960 GPIO_FN(TIOC4A),961 GPIO_FN(TIOC3D),962 GPIO_FN(TIOC3C),963 GPIO_FN(TIOC3B),964 GPIO_FN(TIOC3A),965 GPIO_FN(TIOC2B),966 GPIO_FN(TIOC1B),967 GPIO_FN(TIOC2A),968 GPIO_FN(TIOC1A),969 GPIO_FN(TIOC0D),970 GPIO_FN(TIOC0C),971 GPIO_FN(TIOC0B),972 GPIO_FN(TIOC0A),973 GPIO_FN(TCLKD_PD),974 GPIO_FN(TCLKC_PD),975 GPIO_FN(TCLKB_PD),976 GPIO_FN(TCLKA_PD),977 GPIO_FN(TCLKD_PF),978 GPIO_FN(TCLKC_PF),979 GPIO_FN(TCLKB_PF),980 GPIO_FN(TCLKA_PF),981 982 /* SSU */983 GPIO_FN(SCS0_PD),984 GPIO_FN(SSO0_PD),985 GPIO_FN(SSI0_PD),986 GPIO_FN(SSCK0_PD),987 GPIO_FN(SCS0_PF),988 GPIO_FN(SSO0_PF),989 GPIO_FN(SSI0_PF),990 GPIO_FN(SSCK0_PF),991 GPIO_FN(SCS1_PD),992 GPIO_FN(SSO1_PD),993 GPIO_FN(SSI1_PD),994 GPIO_FN(SSCK1_PD),995 GPIO_FN(SCS1_PF),996 GPIO_FN(SSO1_PF),997 GPIO_FN(SSI1_PF),998 GPIO_FN(SSCK1_PF),999 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 1074static 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 { /* sentinel */ }1513};1514 1515static 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 { /* sentinel */ }1559};1560 1561const 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};1578