1202 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * SH7720 Pinmux4 *5 * Copyright (C) 2008 Magnus Damm6 */7 8#include <linux/kernel.h>9#include <cpu/sh7720.h>10 11#include "sh_pfc.h"12 13enum {14 PINMUX_RESERVED = 0,15 16 PINMUX_DATA_BEGIN,17 PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,18 PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA,19 PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,20 PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA,21 PTC7_DATA, PTC6_DATA, PTC5_DATA, PTC4_DATA,22 PTC3_DATA, PTC2_DATA, PTC1_DATA, PTC0_DATA,23 PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,24 PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA,25 PTE6_DATA, PTE5_DATA, PTE4_DATA,26 PTE3_DATA, PTE2_DATA, PTE1_DATA, PTE0_DATA,27 PTF6_DATA, PTF5_DATA, PTF4_DATA,28 PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA,29 PTG6_DATA, PTG5_DATA, PTG4_DATA,30 PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA,31 PTH6_DATA, PTH5_DATA, PTH4_DATA,32 PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA,33 PTJ6_DATA, PTJ5_DATA, PTJ4_DATA,34 PTJ3_DATA, PTJ2_DATA, PTJ1_DATA, PTJ0_DATA,35 PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA,36 PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA, PTL3_DATA,37 PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,38 PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA,39 PTP4_DATA, PTP3_DATA, PTP2_DATA, PTP1_DATA, PTP0_DATA,40 PTR7_DATA, PTR6_DATA, PTR5_DATA, PTR4_DATA,41 PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA,42 PTS4_DATA, PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA,43 PTT4_DATA, PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA,44 PTU4_DATA, PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA,45 PTV4_DATA, PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA,46 PINMUX_DATA_END,47 48 PINMUX_INPUT_BEGIN,49 PTA7_IN, PTA6_IN, PTA5_IN, PTA4_IN,50 PTA3_IN, PTA2_IN, PTA1_IN, PTA0_IN,51 PTB7_IN, PTB6_IN, PTB5_IN, PTB4_IN,52 PTB3_IN, PTB2_IN, PTB1_IN, PTB0_IN,53 PTC7_IN, PTC6_IN, PTC5_IN, PTC4_IN,54 PTC3_IN, PTC2_IN, PTC1_IN, PTC0_IN,55 PTD7_IN, PTD6_IN, PTD5_IN, PTD4_IN,56 PTD3_IN, PTD2_IN, PTD1_IN, PTD0_IN,57 PTE6_IN, PTE5_IN, PTE4_IN,58 PTE3_IN, PTE2_IN, PTE1_IN, PTE0_IN,59 PTF6_IN, PTF5_IN, PTF4_IN,60 PTF3_IN, PTF2_IN, PTF1_IN, PTF0_IN,61 PTG6_IN, PTG5_IN, PTG4_IN,62 PTG3_IN, PTG2_IN, PTG1_IN, PTG0_IN,63 PTH6_IN, PTH5_IN, PTH4_IN,64 PTH3_IN, PTH2_IN, PTH1_IN, PTH0_IN,65 PTJ6_IN, PTJ5_IN, PTJ4_IN,66 PTJ3_IN, PTJ2_IN, PTJ1_IN, PTJ0_IN,67 PTK3_IN, PTK2_IN, PTK1_IN, PTK0_IN,68 PTL7_IN, PTL6_IN, PTL5_IN, PTL4_IN, PTL3_IN,69 PTM7_IN, PTM6_IN, PTM5_IN, PTM4_IN,70 PTM3_IN, PTM2_IN, PTM1_IN, PTM0_IN,71 PTP4_IN, PTP3_IN, PTP2_IN, PTP1_IN, PTP0_IN,72 PTR7_IN, PTR6_IN, PTR5_IN, PTR4_IN,73 PTR3_IN, PTR2_IN, PTR1_IN, PTR0_IN,74 PTS4_IN, PTS3_IN, PTS2_IN, PTS1_IN, PTS0_IN,75 PTT4_IN, PTT3_IN, PTT2_IN, PTT1_IN, PTT0_IN,76 PTU4_IN, PTU3_IN, PTU2_IN, PTU1_IN, PTU0_IN,77 PTV4_IN, PTV3_IN, PTV2_IN, PTV1_IN, PTV0_IN,78 PINMUX_INPUT_END,79 80 PINMUX_OUTPUT_BEGIN,81 PTA7_OUT, PTA6_OUT, PTA5_OUT, PTA4_OUT,82 PTA3_OUT, PTA2_OUT, PTA1_OUT, PTA0_OUT,83 PTB7_OUT, PTB6_OUT, PTB5_OUT, PTB4_OUT,84 PTB3_OUT, PTB2_OUT, PTB1_OUT, PTB0_OUT,85 PTC7_OUT, PTC6_OUT, PTC5_OUT, PTC4_OUT,86 PTC3_OUT, PTC2_OUT, PTC1_OUT, PTC0_OUT,87 PTD7_OUT, PTD6_OUT, PTD5_OUT, PTD4_OUT,88 PTD3_OUT, PTD2_OUT, PTD1_OUT, PTD0_OUT,89 PTE4_OUT, PTE3_OUT, PTE2_OUT, PTE1_OUT, PTE0_OUT,90 PTF0_OUT,91 PTG6_OUT, PTG5_OUT, PTG4_OUT,92 PTG3_OUT, PTG2_OUT, PTG1_OUT, PTG0_OUT,93 PTH6_OUT, PTH5_OUT, PTH4_OUT,94 PTH3_OUT, PTH2_OUT, PTH1_OUT, PTH0_OUT,95 PTJ6_OUT, PTJ5_OUT, PTJ4_OUT,96 PTJ3_OUT, PTJ2_OUT, PTJ1_OUT, PTJ0_OUT,97 PTK3_OUT, PTK2_OUT, PTK1_OUT, PTK0_OUT,98 PTL7_OUT, PTL6_OUT, PTL5_OUT, PTL4_OUT, PTL3_OUT,99 PTM7_OUT, PTM6_OUT, PTM5_OUT, PTM4_OUT,100 PTM3_OUT, PTM2_OUT, PTM1_OUT, PTM0_OUT,101 PTP4_OUT, PTP3_OUT, PTP2_OUT, PTP1_OUT, PTP0_OUT,102 PTR7_OUT, PTR6_OUT, PTR5_OUT, PTR4_OUT,103 PTR3_OUT, PTR2_OUT, PTR1_OUT, PTR0_OUT,104 PTS4_OUT, PTS3_OUT, PTS2_OUT, PTS1_OUT, PTS0_OUT,105 PTT4_OUT, PTT3_OUT, PTT2_OUT, PTT1_OUT, PTT0_OUT,106 PTU4_OUT, PTU3_OUT, PTU2_OUT, PTU1_OUT, PTU0_OUT,107 PTV4_OUT, PTV3_OUT, PTV2_OUT, PTV1_OUT, PTV0_OUT,108 PINMUX_OUTPUT_END,109 110 PINMUX_FUNCTION_BEGIN,111 PTA7_FN, PTA6_FN, PTA5_FN, PTA4_FN,112 PTA3_FN, PTA2_FN, PTA1_FN, PTA0_FN,113 PTB7_FN, PTB6_FN, PTB5_FN, PTB4_FN,114 PTB3_FN, PTB2_FN, PTB1_FN, PTB0_FN,115 PTC7_FN, PTC6_FN, PTC5_FN, PTC4_FN,116 PTC3_FN, PTC2_FN, PTC1_FN, PTC0_FN,117 PTD7_FN, PTD6_FN, PTD5_FN, PTD4_FN,118 PTD3_FN, PTD2_FN, PTD1_FN, PTD0_FN,119 PTE6_FN, PTE5_FN, PTE4_FN,120 PTE3_FN, PTE2_FN, PTE1_FN, PTE0_FN,121 PTF6_FN, PTF5_FN, PTF4_FN,122 PTF3_FN, PTF2_FN, PTF1_FN, PTF0_FN,123 PTG6_FN, PTG5_FN, PTG4_FN,124 PTG3_FN, PTG2_FN, PTG1_FN, PTG0_FN,125 PTH6_FN, PTH5_FN, PTH4_FN,126 PTH3_FN, PTH2_FN, PTH1_FN, PTH0_FN,127 PTJ6_FN, PTJ5_FN, PTJ4_FN,128 PTJ3_FN, PTJ2_FN, PTJ1_FN, PTJ0_FN,129 PTK3_FN, PTK2_FN, PTK1_FN, PTK0_FN,130 PTL7_FN, PTL6_FN, PTL5_FN, PTL4_FN, PTL3_FN,131 PTM7_FN, PTM6_FN, PTM5_FN, PTM4_FN,132 PTM3_FN, PTM2_FN, PTM1_FN, PTM0_FN,133 PTP4_FN, PTP3_FN, PTP2_FN, PTP1_FN, PTP0_FN,134 PTR7_FN, PTR6_FN, PTR5_FN, PTR4_FN,135 PTR3_FN, PTR2_FN, PTR1_FN, PTR0_FN,136 PTS4_FN, PTS3_FN, PTS2_FN, PTS1_FN, PTS0_FN,137 PTT4_FN, PTT3_FN, PTT2_FN, PTT1_FN, PTT0_FN,138 PTU4_FN, PTU3_FN, PTU2_FN, PTU1_FN, PTU0_FN,139 PTV4_FN, PTV3_FN, PTV2_FN, PTV1_FN, PTV0_FN,140 141 PSELA_1_0_00, PSELA_1_0_01, PSELA_1_0_10,142 PSELA_3_2_00, PSELA_3_2_01, PSELA_3_2_10, PSELA_3_2_11,143 PSELA_5_4_00, PSELA_5_4_01, PSELA_5_4_10, PSELA_5_4_11,144 PSELA_7_6_00, PSELA_7_6_01, PSELA_7_6_10,145 PSELA_9_8_00, PSELA_9_8_01, PSELA_9_8_10,146 PSELA_11_10_00, PSELA_11_10_01, PSELA_11_10_10,147 PSELA_13_12_00, PSELA_13_12_10,148 PSELA_15_14_00, PSELA_15_14_10,149 PSELB_9_8_00, PSELB_9_8_11,150 PSELB_11_10_00, PSELB_11_10_01, PSELB_11_10_10, PSELB_11_10_11,151 PSELB_13_12_00, PSELB_13_12_01, PSELB_13_12_10, PSELB_13_12_11,152 PSELB_15_14_00, PSELB_15_14_11,153 PSELC_9_8_00, PSELC_9_8_10,154 PSELC_11_10_00, PSELC_11_10_10,155 PSELC_13_12_00, PSELC_13_12_01, PSELC_13_12_10,156 PSELC_15_14_00, PSELC_15_14_01, PSELC_15_14_10,157 PSELD_1_0_00, PSELD_1_0_10,158 PSELD_11_10_00, PSELD_11_10_01,159 PSELD_15_14_00, PSELD_15_14_01, PSELD_15_14_10,160 PINMUX_FUNCTION_END,161 162 PINMUX_MARK_BEGIN,163 D31_MARK, D30_MARK, D29_MARK, D28_MARK,164 D27_MARK, D26_MARK, D25_MARK, D24_MARK,165 D23_MARK, D22_MARK, D21_MARK, D20_MARK,166 D19_MARK, D18_MARK, D17_MARK, D16_MARK,167 IOIS16_MARK, RAS_MARK, CAS_MARK, CKE_MARK,168 CS5B_CE1A_MARK, CS6B_CE1B_MARK,169 A25_MARK, A24_MARK, A23_MARK, A22_MARK,170 A21_MARK, A20_MARK, A19_MARK, A0_MARK,171 REFOUT_MARK, IRQOUT_MARK,172 LCD_DATA15_MARK, LCD_DATA14_MARK,173 LCD_DATA13_MARK, LCD_DATA12_MARK,174 LCD_DATA11_MARK, LCD_DATA10_MARK,175 LCD_DATA9_MARK, LCD_DATA8_MARK,176 LCD_DATA7_MARK, LCD_DATA6_MARK,177 LCD_DATA5_MARK, LCD_DATA4_MARK,178 LCD_DATA3_MARK, LCD_DATA2_MARK,179 LCD_DATA1_MARK, LCD_DATA0_MARK,180 LCD_M_DISP_MARK,181 LCD_CL1_MARK, LCD_CL2_MARK,182 LCD_DON_MARK, LCD_FLM_MARK,183 LCD_VEPWC_MARK, LCD_VCPWC_MARK,184 AFE_RXIN_MARK, AFE_RDET_MARK,185 AFE_FS_MARK, AFE_TXOUT_MARK,186 AFE_SCLK_MARK, AFE_RLYCNT_MARK,187 AFE_HC1_MARK,188 IIC_SCL_MARK, IIC_SDA_MARK,189 DA1_MARK, DA0_MARK,190 AN3_MARK, AN2_MARK, AN1_MARK, AN0_MARK, ADTRG_MARK,191 USB1D_RCV_MARK, USB1D_TXSE0_MARK,192 USB1D_TXDPLS_MARK, USB1D_DMNS_MARK,193 USB1D_DPLS_MARK, USB1D_SPEED_MARK,194 USB1D_TXENL_MARK,195 USB2_PWR_EN_MARK, USB1_PWR_EN_USBF_UPLUP_MARK, USB1D_SUSPEND_MARK,196 IRQ5_MARK, IRQ4_MARK,197 IRQ3_IRL3_MARK, IRQ2_IRL2_MARK,198 IRQ1_IRL1_MARK, IRQ0_IRL0_MARK,199 PCC_REG_MARK, PCC_DRV_MARK,200 PCC_BVD2_MARK, PCC_BVD1_MARK,201 PCC_CD2_MARK, PCC_CD1_MARK,202 PCC_RESET_MARK, PCC_RDY_MARK,203 PCC_VS2_MARK, PCC_VS1_MARK,204 AUDATA3_MARK, AUDATA2_MARK, AUDATA1_MARK, AUDATA0_MARK,205 AUDCK_MARK, AUDSYNC_MARK, ASEBRKAK_MARK, TRST_MARK,206 TMS_MARK, TDO_MARK, TDI_MARK, TCK_MARK,207 DACK1_MARK, DREQ1_MARK, DACK0_MARK, DREQ0_MARK,208 TEND1_MARK, TEND0_MARK,209 SIOF0_SYNC_MARK, SIOF0_MCLK_MARK,210 SIOF0_TXD_MARK, SIOF0_RXD_MARK,211 SIOF0_SCK_MARK,212 SIOF1_SYNC_MARK, SIOF1_MCLK_MARK,213 SIOF1_TXD_MARK, SIOF1_RXD_MARK,214 SIOF1_SCK_MARK,215 SCIF0_TXD_MARK, SCIF0_RXD_MARK,216 SCIF0_RTS_MARK, SCIF0_CTS_MARK, SCIF0_SCK_MARK,217 SCIF1_TXD_MARK, SCIF1_RXD_MARK,218 SCIF1_RTS_MARK, SCIF1_CTS_MARK, SCIF1_SCK_MARK,219 TPU_TO1_MARK, TPU_TO0_MARK,220 TPU_TI3B_MARK, TPU_TI3A_MARK,221 TPU_TI2B_MARK, TPU_TI2A_MARK,222 TPU_TO3_MARK, TPU_TO2_MARK,223 SIM_D_MARK, SIM_CLK_MARK, SIM_RST_MARK,224 MMC_DAT_MARK, MMC_CMD_MARK,225 MMC_CLK_MARK, MMC_VDDON_MARK,226 MMC_ODMOD_MARK,227 STATUS0_MARK, STATUS1_MARK,228 PINMUX_MARK_END,229};230 231static const u16 pinmux_data[] = {232 /* PTA GPIO */233 PINMUX_DATA(PTA7_DATA, PTA7_IN, PTA7_OUT),234 PINMUX_DATA(PTA6_DATA, PTA6_IN, PTA6_OUT),235 PINMUX_DATA(PTA5_DATA, PTA5_IN, PTA5_OUT),236 PINMUX_DATA(PTA4_DATA, PTA4_IN, PTA4_OUT),237 PINMUX_DATA(PTA3_DATA, PTA3_IN, PTA3_OUT),238 PINMUX_DATA(PTA2_DATA, PTA2_IN, PTA2_OUT),239 PINMUX_DATA(PTA1_DATA, PTA1_IN, PTA1_OUT),240 PINMUX_DATA(PTA0_DATA, PTA0_IN, PTA0_OUT),241 242 /* PTB GPIO */243 PINMUX_DATA(PTB7_DATA, PTB7_IN, PTB7_OUT),244 PINMUX_DATA(PTB6_DATA, PTB6_IN, PTB6_OUT),245 PINMUX_DATA(PTB5_DATA, PTB5_IN, PTB5_OUT),246 PINMUX_DATA(PTB4_DATA, PTB4_IN, PTB4_OUT),247 PINMUX_DATA(PTB3_DATA, PTB3_IN, PTB3_OUT),248 PINMUX_DATA(PTB2_DATA, PTB2_IN, PTB2_OUT),249 PINMUX_DATA(PTB1_DATA, PTB1_IN, PTB1_OUT),250 PINMUX_DATA(PTB0_DATA, PTB0_IN, PTB0_OUT),251 252 /* PTC GPIO */253 PINMUX_DATA(PTC7_DATA, PTC7_IN, PTC7_OUT),254 PINMUX_DATA(PTC6_DATA, PTC6_IN, PTC6_OUT),255 PINMUX_DATA(PTC5_DATA, PTC5_IN, PTC5_OUT),256 PINMUX_DATA(PTC4_DATA, PTC4_IN, PTC4_OUT),257 PINMUX_DATA(PTC3_DATA, PTC3_IN, PTC3_OUT),258 PINMUX_DATA(PTC2_DATA, PTC2_IN, PTC2_OUT),259 PINMUX_DATA(PTC1_DATA, PTC1_IN, PTC1_OUT),260 PINMUX_DATA(PTC0_DATA, PTC0_IN, PTC0_OUT),261 262 /* PTD GPIO */263 PINMUX_DATA(PTD7_DATA, PTD7_IN, PTD7_OUT),264 PINMUX_DATA(PTD6_DATA, PTD6_IN, PTD6_OUT),265 PINMUX_DATA(PTD5_DATA, PTD5_IN, PTD5_OUT),266 PINMUX_DATA(PTD4_DATA, PTD4_IN, PTD4_OUT),267 PINMUX_DATA(PTD3_DATA, PTD3_IN, PTD3_OUT),268 PINMUX_DATA(PTD2_DATA, PTD2_IN, PTD2_OUT),269 PINMUX_DATA(PTD1_DATA, PTD1_IN, PTD1_OUT),270 PINMUX_DATA(PTD0_DATA, PTD0_IN, PTD0_OUT),271 272 /* PTE GPIO */273 PINMUX_DATA(PTE6_DATA, PTE6_IN),274 PINMUX_DATA(PTE5_DATA, PTE5_IN),275 PINMUX_DATA(PTE4_DATA, PTE4_IN, PTE4_OUT),276 PINMUX_DATA(PTE3_DATA, PTE3_IN, PTE3_OUT),277 PINMUX_DATA(PTE2_DATA, PTE2_IN, PTE2_OUT),278 PINMUX_DATA(PTE1_DATA, PTE1_IN, PTE1_OUT),279 PINMUX_DATA(PTE0_DATA, PTE0_IN, PTE0_OUT),280 281 /* PTF GPIO */282 PINMUX_DATA(PTF6_DATA, PTF6_IN),283 PINMUX_DATA(PTF5_DATA, PTF5_IN),284 PINMUX_DATA(PTF4_DATA, PTF4_IN),285 PINMUX_DATA(PTF3_DATA, PTF3_IN),286 PINMUX_DATA(PTF2_DATA, PTF2_IN),287 PINMUX_DATA(PTF1_DATA, PTF1_IN),288 PINMUX_DATA(PTF0_DATA, PTF0_IN, PTF0_OUT),289 290 /* PTG GPIO */291 PINMUX_DATA(PTG6_DATA, PTG6_IN, PTG6_OUT),292 PINMUX_DATA(PTG5_DATA, PTG5_IN, PTG5_OUT),293 PINMUX_DATA(PTG4_DATA, PTG4_IN, PTG4_OUT),294 PINMUX_DATA(PTG3_DATA, PTG3_IN, PTG3_OUT),295 PINMUX_DATA(PTG2_DATA, PTG2_IN, PTG2_OUT),296 PINMUX_DATA(PTG1_DATA, PTG1_IN, PTG1_OUT),297 PINMUX_DATA(PTG0_DATA, PTG0_IN, PTG0_OUT),298 299 /* PTH GPIO */300 PINMUX_DATA(PTH6_DATA, PTH6_IN, PTH6_OUT),301 PINMUX_DATA(PTH5_DATA, PTH5_IN, PTH5_OUT),302 PINMUX_DATA(PTH4_DATA, PTH4_IN, PTH4_OUT),303 PINMUX_DATA(PTH3_DATA, PTH3_IN, PTH3_OUT),304 PINMUX_DATA(PTH2_DATA, PTH2_IN, PTH2_OUT),305 PINMUX_DATA(PTH1_DATA, PTH1_IN, PTH1_OUT),306 PINMUX_DATA(PTH0_DATA, PTH0_IN, PTH0_OUT),307 308 /* PTJ GPIO */309 PINMUX_DATA(PTJ6_DATA, PTJ6_IN, PTJ6_OUT),310 PINMUX_DATA(PTJ5_DATA, PTJ5_IN, PTJ5_OUT),311 PINMUX_DATA(PTJ4_DATA, PTJ4_IN, PTJ4_OUT),312 PINMUX_DATA(PTJ3_DATA, PTJ3_IN, PTJ3_OUT),313 PINMUX_DATA(PTJ2_DATA, PTJ2_IN, PTJ2_OUT),314 PINMUX_DATA(PTJ1_DATA, PTJ1_IN, PTJ1_OUT),315 PINMUX_DATA(PTJ0_DATA, PTJ0_IN, PTJ0_OUT),316 317 /* PTK GPIO */318 PINMUX_DATA(PTK3_DATA, PTK3_IN, PTK3_OUT),319 PINMUX_DATA(PTK2_DATA, PTK2_IN, PTK2_OUT),320 PINMUX_DATA(PTK1_DATA, PTK1_IN, PTK1_OUT),321 PINMUX_DATA(PTK0_DATA, PTK0_IN, PTK0_OUT),322 323 /* PTL GPIO */324 PINMUX_DATA(PTL7_DATA, PTL7_IN, PTL7_OUT),325 PINMUX_DATA(PTL6_DATA, PTL6_IN, PTL6_OUT),326 PINMUX_DATA(PTL5_DATA, PTL5_IN, PTL5_OUT),327 PINMUX_DATA(PTL4_DATA, PTL4_IN, PTL4_OUT),328 PINMUX_DATA(PTL3_DATA, PTL3_IN, PTL3_OUT),329 330 /* PTM GPIO */331 PINMUX_DATA(PTM7_DATA, PTM7_IN, PTM7_OUT),332 PINMUX_DATA(PTM6_DATA, PTM6_IN, PTM6_OUT),333 PINMUX_DATA(PTM5_DATA, PTM5_IN, PTM5_OUT),334 PINMUX_DATA(PTM4_DATA, PTM4_IN, PTM4_OUT),335 PINMUX_DATA(PTM3_DATA, PTM3_IN, PTM3_OUT),336 PINMUX_DATA(PTM2_DATA, PTM2_IN, PTM2_OUT),337 PINMUX_DATA(PTM1_DATA, PTM1_IN, PTM1_OUT),338 PINMUX_DATA(PTM0_DATA, PTM0_IN, PTM0_OUT),339 340 /* PTP GPIO */341 PINMUX_DATA(PTP4_DATA, PTP4_IN, PTP4_OUT),342 PINMUX_DATA(PTP3_DATA, PTP3_IN, PTP3_OUT),343 PINMUX_DATA(PTP2_DATA, PTP2_IN, PTP2_OUT),344 PINMUX_DATA(PTP1_DATA, PTP1_IN, PTP1_OUT),345 PINMUX_DATA(PTP0_DATA, PTP0_IN, PTP0_OUT),346 347 /* PTR GPIO */348 PINMUX_DATA(PTR7_DATA, PTR7_IN, PTR7_OUT),349 PINMUX_DATA(PTR6_DATA, PTR6_IN, PTR6_OUT),350 PINMUX_DATA(PTR5_DATA, PTR5_IN, PTR5_OUT),351 PINMUX_DATA(PTR4_DATA, PTR4_IN, PTR4_OUT),352 PINMUX_DATA(PTR3_DATA, PTR3_IN, PTR3_OUT),353 PINMUX_DATA(PTR2_DATA, PTR2_IN, PTR2_OUT),354 PINMUX_DATA(PTR1_DATA, PTR1_IN, PTR1_OUT),355 PINMUX_DATA(PTR0_DATA, PTR0_IN, PTR0_OUT),356 357 /* PTS GPIO */358 PINMUX_DATA(PTS4_DATA, PTS4_IN, PTS4_OUT),359 PINMUX_DATA(PTS3_DATA, PTS3_IN, PTS3_OUT),360 PINMUX_DATA(PTS2_DATA, PTS2_IN, PTS2_OUT),361 PINMUX_DATA(PTS1_DATA, PTS1_IN, PTS1_OUT),362 PINMUX_DATA(PTS0_DATA, PTS0_IN, PTS0_OUT),363 364 /* PTT GPIO */365 PINMUX_DATA(PTT4_DATA, PTT4_IN, PTT4_OUT),366 PINMUX_DATA(PTT3_DATA, PTT3_IN, PTT3_OUT),367 PINMUX_DATA(PTT2_DATA, PTT2_IN, PTT2_OUT),368 PINMUX_DATA(PTT1_DATA, PTT1_IN, PTT1_OUT),369 PINMUX_DATA(PTT0_DATA, PTT0_IN, PTT0_OUT),370 371 /* PTU GPIO */372 PINMUX_DATA(PTU4_DATA, PTU4_IN, PTU4_OUT),373 PINMUX_DATA(PTU3_DATA, PTU3_IN, PTU3_OUT),374 PINMUX_DATA(PTU2_DATA, PTU2_IN, PTU2_OUT),375 PINMUX_DATA(PTU1_DATA, PTU1_IN, PTU1_OUT),376 PINMUX_DATA(PTU0_DATA, PTU0_IN, PTU0_OUT),377 378 /* PTV GPIO */379 PINMUX_DATA(PTV4_DATA, PTV4_IN, PTV4_OUT),380 PINMUX_DATA(PTV3_DATA, PTV3_IN, PTV3_OUT),381 PINMUX_DATA(PTV2_DATA, PTV2_IN, PTV2_OUT),382 PINMUX_DATA(PTV1_DATA, PTV1_IN, PTV1_OUT),383 PINMUX_DATA(PTV0_DATA, PTV0_IN, PTV0_OUT),384 385 /* PTA FN */386 PINMUX_DATA(D23_MARK, PTA7_FN),387 PINMUX_DATA(D22_MARK, PTA6_FN),388 PINMUX_DATA(D21_MARK, PTA5_FN),389 PINMUX_DATA(D20_MARK, PTA4_FN),390 PINMUX_DATA(D19_MARK, PTA3_FN),391 PINMUX_DATA(D18_MARK, PTA2_FN),392 PINMUX_DATA(D17_MARK, PTA1_FN),393 PINMUX_DATA(D16_MARK, PTA0_FN),394 395 /* PTB FN */396 PINMUX_DATA(D31_MARK, PTB7_FN),397 PINMUX_DATA(D30_MARK, PTB6_FN),398 PINMUX_DATA(D29_MARK, PTB5_FN),399 PINMUX_DATA(D28_MARK, PTB4_FN),400 PINMUX_DATA(D27_MARK, PTB3_FN),401 PINMUX_DATA(D26_MARK, PTB2_FN),402 PINMUX_DATA(D25_MARK, PTB1_FN),403 PINMUX_DATA(D24_MARK, PTB0_FN),404 405 /* PTC FN */406 PINMUX_DATA(LCD_DATA7_MARK, PTC7_FN),407 PINMUX_DATA(LCD_DATA6_MARK, PTC6_FN),408 PINMUX_DATA(LCD_DATA5_MARK, PTC5_FN),409 PINMUX_DATA(LCD_DATA4_MARK, PTC4_FN),410 PINMUX_DATA(LCD_DATA3_MARK, PTC3_FN),411 PINMUX_DATA(LCD_DATA2_MARK, PTC2_FN),412 PINMUX_DATA(LCD_DATA1_MARK, PTC1_FN),413 PINMUX_DATA(LCD_DATA0_MARK, PTC0_FN),414 415 /* PTD FN */416 PINMUX_DATA(LCD_DATA15_MARK, PTD7_FN),417 PINMUX_DATA(LCD_DATA14_MARK, PTD6_FN),418 PINMUX_DATA(LCD_DATA13_MARK, PTD5_FN),419 PINMUX_DATA(LCD_DATA12_MARK, PTD4_FN),420 PINMUX_DATA(LCD_DATA11_MARK, PTD3_FN),421 PINMUX_DATA(LCD_DATA10_MARK, PTD2_FN),422 PINMUX_DATA(LCD_DATA9_MARK, PTD1_FN),423 PINMUX_DATA(LCD_DATA8_MARK, PTD0_FN),424 425 /* PTE FN */426 PINMUX_DATA(IIC_SCL_MARK, PSELB_9_8_00, PTE6_FN),427 PINMUX_DATA(AFE_RXIN_MARK, PSELB_9_8_11, PTE6_FN),428 PINMUX_DATA(IIC_SDA_MARK, PSELB_9_8_00, PTE5_FN),429 PINMUX_DATA(AFE_RDET_MARK, PSELB_9_8_11, PTE5_FN),430 PINMUX_DATA(LCD_M_DISP_MARK, PTE4_FN),431 PINMUX_DATA(LCD_CL1_MARK, PTE3_FN),432 PINMUX_DATA(LCD_CL2_MARK, PTE2_FN),433 PINMUX_DATA(LCD_DON_MARK, PTE1_FN),434 PINMUX_DATA(LCD_FLM_MARK, PTE0_FN),435 436 /* PTF FN */437 PINMUX_DATA(DA1_MARK, PTF6_FN),438 PINMUX_DATA(DA0_MARK, PTF5_FN),439 PINMUX_DATA(AN3_MARK, PTF4_FN),440 PINMUX_DATA(AN2_MARK, PTF3_FN),441 PINMUX_DATA(AN1_MARK, PTF2_FN),442 PINMUX_DATA(AN0_MARK, PTF1_FN),443 PINMUX_DATA(ADTRG_MARK, PTF0_FN),444 445 /* PTG FN */446 PINMUX_DATA(USB1D_RCV_MARK, PSELA_3_2_00, PTG6_FN),447 PINMUX_DATA(AFE_FS_MARK, PSELA_3_2_01, PTG6_FN),448 PINMUX_DATA(PCC_REG_MARK, PSELA_3_2_10, PTG6_FN),449 PINMUX_DATA(IRQ5_MARK, PSELA_3_2_11, PTG6_FN),450 PINMUX_DATA(USB1D_TXSE0_MARK, PSELA_5_4_00, PTG5_FN),451 PINMUX_DATA(AFE_TXOUT_MARK, PSELA_5_4_01, PTG5_FN),452 PINMUX_DATA(PCC_DRV_MARK, PSELA_5_4_10, PTG5_FN),453 PINMUX_DATA(IRQ4_MARK, PSELA_5_4_11, PTG5_FN),454 PINMUX_DATA(USB1D_TXDPLS_MARK, PSELA_7_6_00, PTG4_FN),455 PINMUX_DATA(AFE_SCLK_MARK, PSELA_7_6_01, PTG4_FN),456 PINMUX_DATA(IOIS16_MARK, PSELA_7_6_10, PTG4_FN),457 PINMUX_DATA(USB1D_DMNS_MARK, PSELA_9_8_00, PTG3_FN),458 PINMUX_DATA(AFE_RLYCNT_MARK, PSELA_9_8_01, PTG3_FN),459 PINMUX_DATA(PCC_BVD2_MARK, PSELA_9_8_10, PTG3_FN),460 PINMUX_DATA(USB1D_DPLS_MARK, PSELA_11_10_00, PTG2_FN),461 PINMUX_DATA(AFE_HC1_MARK, PSELA_11_10_01, PTG2_FN),462 PINMUX_DATA(PCC_BVD1_MARK, PSELA_11_10_10, PTG2_FN),463 PINMUX_DATA(USB1D_SPEED_MARK, PSELA_13_12_00, PTG1_FN),464 PINMUX_DATA(PCC_CD2_MARK, PSELA_13_12_10, PTG1_FN),465 PINMUX_DATA(USB1D_TXENL_MARK, PSELA_15_14_00, PTG0_FN),466 PINMUX_DATA(PCC_CD1_MARK, PSELA_15_14_10, PTG0_FN),467 468 /* PTH FN */469 PINMUX_DATA(RAS_MARK, PTH6_FN),470 PINMUX_DATA(CAS_MARK, PTH5_FN),471 PINMUX_DATA(CKE_MARK, PTH4_FN),472 PINMUX_DATA(STATUS1_MARK, PTH3_FN),473 PINMUX_DATA(STATUS0_MARK, PTH2_FN),474 PINMUX_DATA(USB2_PWR_EN_MARK, PTH1_FN),475 PINMUX_DATA(USB1_PWR_EN_USBF_UPLUP_MARK, PTH0_FN),476 477 /* PTJ FN */478 PINMUX_DATA(AUDCK_MARK, PTJ6_FN),479 PINMUX_DATA(ASEBRKAK_MARK, PTJ5_FN),480 PINMUX_DATA(AUDATA3_MARK, PTJ4_FN),481 PINMUX_DATA(AUDATA2_MARK, PTJ3_FN),482 PINMUX_DATA(AUDATA1_MARK, PTJ2_FN),483 PINMUX_DATA(AUDATA0_MARK, PTJ1_FN),484 PINMUX_DATA(AUDSYNC_MARK, PTJ0_FN),485 486 /* PTK FN */487 PINMUX_DATA(PCC_RESET_MARK, PTK3_FN),488 PINMUX_DATA(PCC_RDY_MARK, PTK2_FN),489 PINMUX_DATA(PCC_VS2_MARK, PTK1_FN),490 PINMUX_DATA(PCC_VS1_MARK, PTK0_FN),491 492 /* PTL FN */493 PINMUX_DATA(TRST_MARK, PTL7_FN),494 PINMUX_DATA(TMS_MARK, PTL6_FN),495 PINMUX_DATA(TDO_MARK, PTL5_FN),496 PINMUX_DATA(TDI_MARK, PTL4_FN),497 PINMUX_DATA(TCK_MARK, PTL3_FN),498 499 /* PTM FN */500 PINMUX_DATA(DREQ1_MARK, PTM7_FN),501 PINMUX_DATA(DREQ0_MARK, PTM6_FN),502 PINMUX_DATA(DACK1_MARK, PTM5_FN),503 PINMUX_DATA(DACK0_MARK, PTM4_FN),504 PINMUX_DATA(TEND1_MARK, PTM3_FN),505 PINMUX_DATA(TEND0_MARK, PTM2_FN),506 PINMUX_DATA(CS5B_CE1A_MARK, PTM1_FN),507 PINMUX_DATA(CS6B_CE1B_MARK, PTM0_FN),508 509 /* PTP FN */510 PINMUX_DATA(USB1D_SUSPEND_MARK, PSELA_1_0_00, PTP4_FN),511 PINMUX_DATA(REFOUT_MARK, PSELA_1_0_01, PTP4_FN),512 PINMUX_DATA(IRQOUT_MARK, PSELA_1_0_10, PTP4_FN),513 PINMUX_DATA(IRQ3_IRL3_MARK, PTP3_FN),514 PINMUX_DATA(IRQ2_IRL2_MARK, PTP2_FN),515 PINMUX_DATA(IRQ1_IRL1_MARK, PTP1_FN),516 PINMUX_DATA(IRQ0_IRL0_MARK, PTP0_FN),517 518 /* PTR FN */519 PINMUX_DATA(A25_MARK, PTR7_FN),520 PINMUX_DATA(A24_MARK, PTR6_FN),521 PINMUX_DATA(A23_MARK, PTR5_FN),522 PINMUX_DATA(A22_MARK, PTR4_FN),523 PINMUX_DATA(A21_MARK, PTR3_FN),524 PINMUX_DATA(A20_MARK, PTR2_FN),525 PINMUX_DATA(A19_MARK, PTR1_FN),526 PINMUX_DATA(A0_MARK, PTR0_FN),527 528 /* PTS FN */529 PINMUX_DATA(SIOF0_SYNC_MARK, PTS4_FN),530 PINMUX_DATA(SIOF0_MCLK_MARK, PTS3_FN),531 PINMUX_DATA(SIOF0_TXD_MARK, PTS2_FN),532 PINMUX_DATA(SIOF0_RXD_MARK, PTS1_FN),533 PINMUX_DATA(SIOF0_SCK_MARK, PTS0_FN),534 535 /* PTT FN */536 PINMUX_DATA(SCIF0_CTS_MARK, PSELB_15_14_00, PTT4_FN),537 PINMUX_DATA(TPU_TO1_MARK, PSELB_15_14_11, PTT4_FN),538 PINMUX_DATA(SCIF0_RTS_MARK, PSELB_15_14_00, PTT3_FN),539 PINMUX_DATA(TPU_TO0_MARK, PSELB_15_14_11, PTT3_FN),540 PINMUX_DATA(SCIF0_TXD_MARK, PTT2_FN),541 PINMUX_DATA(SCIF0_RXD_MARK, PTT1_FN),542 PINMUX_DATA(SCIF0_SCK_MARK, PTT0_FN),543 544 /* PTU FN */545 PINMUX_DATA(SIOF1_SYNC_MARK, PTU4_FN),546 PINMUX_DATA(SIOF1_MCLK_MARK, PSELD_11_10_00, PTU3_FN),547 PINMUX_DATA(TPU_TI3B_MARK, PSELD_11_10_01, PTU3_FN),548 PINMUX_DATA(SIOF1_TXD_MARK, PSELD_15_14_00, PTU2_FN),549 PINMUX_DATA(TPU_TI3A_MARK, PSELD_15_14_01, PTU2_FN),550 PINMUX_DATA(MMC_DAT_MARK, PSELD_15_14_10, PTU2_FN),551 PINMUX_DATA(SIOF1_RXD_MARK, PSELC_13_12_00, PTU1_FN),552 PINMUX_DATA(TPU_TI2B_MARK, PSELC_13_12_01, PTU1_FN),553 PINMUX_DATA(MMC_CMD_MARK, PSELC_13_12_10, PTU1_FN),554 PINMUX_DATA(SIOF1_SCK_MARK, PSELC_15_14_00, PTU0_FN),555 PINMUX_DATA(TPU_TI2A_MARK, PSELC_15_14_01, PTU0_FN),556 PINMUX_DATA(MMC_CLK_MARK, PSELC_15_14_10, PTU0_FN),557 558 /* PTV FN */559 PINMUX_DATA(SCIF1_CTS_MARK, PSELB_11_10_00, PTV4_FN),560 PINMUX_DATA(TPU_TO3_MARK, PSELB_11_10_01, PTV4_FN),561 PINMUX_DATA(MMC_VDDON_MARK, PSELB_11_10_10, PTV4_FN),562 PINMUX_DATA(LCD_VEPWC_MARK, PSELB_11_10_11, PTV4_FN),563 PINMUX_DATA(SCIF1_RTS_MARK, PSELB_13_12_00, PTV3_FN),564 PINMUX_DATA(TPU_TO2_MARK, PSELB_13_12_01, PTV3_FN),565 PINMUX_DATA(MMC_ODMOD_MARK, PSELB_13_12_10, PTV3_FN),566 PINMUX_DATA(LCD_VCPWC_MARK, PSELB_13_12_11, PTV3_FN),567 PINMUX_DATA(SCIF1_TXD_MARK, PSELC_9_8_00, PTV2_FN),568 PINMUX_DATA(SIM_D_MARK, PSELC_9_8_10, PTV2_FN),569 PINMUX_DATA(SCIF1_RXD_MARK, PSELC_11_10_00, PTV1_FN),570 PINMUX_DATA(SIM_RST_MARK, PSELC_11_10_10, PTV1_FN),571 PINMUX_DATA(SCIF1_SCK_MARK, PSELD_1_0_00, PTV0_FN),572 PINMUX_DATA(SIM_CLK_MARK, PSELD_1_0_10, PTV0_FN),573};574 575static const struct sh_pfc_pin pinmux_pins[] = {576 /* PTA */577 PINMUX_GPIO(PTA7),578 PINMUX_GPIO(PTA6),579 PINMUX_GPIO(PTA5),580 PINMUX_GPIO(PTA4),581 PINMUX_GPIO(PTA3),582 PINMUX_GPIO(PTA2),583 PINMUX_GPIO(PTA1),584 PINMUX_GPIO(PTA0),585 586 /* PTB */587 PINMUX_GPIO(PTB7),588 PINMUX_GPIO(PTB6),589 PINMUX_GPIO(PTB5),590 PINMUX_GPIO(PTB4),591 PINMUX_GPIO(PTB3),592 PINMUX_GPIO(PTB2),593 PINMUX_GPIO(PTB1),594 PINMUX_GPIO(PTB0),595 596 /* PTC */597 PINMUX_GPIO(PTC7),598 PINMUX_GPIO(PTC6),599 PINMUX_GPIO(PTC5),600 PINMUX_GPIO(PTC4),601 PINMUX_GPIO(PTC3),602 PINMUX_GPIO(PTC2),603 PINMUX_GPIO(PTC1),604 PINMUX_GPIO(PTC0),605 606 /* PTD */607 PINMUX_GPIO(PTD7),608 PINMUX_GPIO(PTD6),609 PINMUX_GPIO(PTD5),610 PINMUX_GPIO(PTD4),611 PINMUX_GPIO(PTD3),612 PINMUX_GPIO(PTD2),613 PINMUX_GPIO(PTD1),614 PINMUX_GPIO(PTD0),615 616 /* PTE */617 PINMUX_GPIO(PTE6),618 PINMUX_GPIO(PTE5),619 PINMUX_GPIO(PTE4),620 PINMUX_GPIO(PTE3),621 PINMUX_GPIO(PTE2),622 PINMUX_GPIO(PTE1),623 PINMUX_GPIO(PTE0),624 625 /* PTF */626 PINMUX_GPIO(PTF6),627 PINMUX_GPIO(PTF5),628 PINMUX_GPIO(PTF4),629 PINMUX_GPIO(PTF3),630 PINMUX_GPIO(PTF2),631 PINMUX_GPIO(PTF1),632 PINMUX_GPIO(PTF0),633 634 /* PTG */635 PINMUX_GPIO(PTG6),636 PINMUX_GPIO(PTG5),637 PINMUX_GPIO(PTG4),638 PINMUX_GPIO(PTG3),639 PINMUX_GPIO(PTG2),640 PINMUX_GPIO(PTG1),641 PINMUX_GPIO(PTG0),642 643 /* PTH */644 PINMUX_GPIO(PTH6),645 PINMUX_GPIO(PTH5),646 PINMUX_GPIO(PTH4),647 PINMUX_GPIO(PTH3),648 PINMUX_GPIO(PTH2),649 PINMUX_GPIO(PTH1),650 PINMUX_GPIO(PTH0),651 652 /* PTJ */653 PINMUX_GPIO(PTJ6),654 PINMUX_GPIO(PTJ5),655 PINMUX_GPIO(PTJ4),656 PINMUX_GPIO(PTJ3),657 PINMUX_GPIO(PTJ2),658 PINMUX_GPIO(PTJ1),659 PINMUX_GPIO(PTJ0),660 661 /* PTK */662 PINMUX_GPIO(PTK3),663 PINMUX_GPIO(PTK2),664 PINMUX_GPIO(PTK1),665 PINMUX_GPIO(PTK0),666 667 /* PTL */668 PINMUX_GPIO(PTL7),669 PINMUX_GPIO(PTL6),670 PINMUX_GPIO(PTL5),671 PINMUX_GPIO(PTL4),672 PINMUX_GPIO(PTL3),673 674 /* PTM */675 PINMUX_GPIO(PTM7),676 PINMUX_GPIO(PTM6),677 PINMUX_GPIO(PTM5),678 PINMUX_GPIO(PTM4),679 PINMUX_GPIO(PTM3),680 PINMUX_GPIO(PTM2),681 PINMUX_GPIO(PTM1),682 PINMUX_GPIO(PTM0),683 684 /* PTP */685 PINMUX_GPIO(PTP4),686 PINMUX_GPIO(PTP3),687 PINMUX_GPIO(PTP2),688 PINMUX_GPIO(PTP1),689 PINMUX_GPIO(PTP0),690 691 /* PTR */692 PINMUX_GPIO(PTR7),693 PINMUX_GPIO(PTR6),694 PINMUX_GPIO(PTR5),695 PINMUX_GPIO(PTR4),696 PINMUX_GPIO(PTR3),697 PINMUX_GPIO(PTR2),698 PINMUX_GPIO(PTR1),699 PINMUX_GPIO(PTR0),700 701 /* PTS */702 PINMUX_GPIO(PTS4),703 PINMUX_GPIO(PTS3),704 PINMUX_GPIO(PTS2),705 PINMUX_GPIO(PTS1),706 PINMUX_GPIO(PTS0),707 708 /* PTT */709 PINMUX_GPIO(PTT4),710 PINMUX_GPIO(PTT3),711 PINMUX_GPIO(PTT2),712 PINMUX_GPIO(PTT1),713 PINMUX_GPIO(PTT0),714 715 /* PTU */716 PINMUX_GPIO(PTU4),717 PINMUX_GPIO(PTU3),718 PINMUX_GPIO(PTU2),719 PINMUX_GPIO(PTU1),720 PINMUX_GPIO(PTU0),721 722 /* PTV */723 PINMUX_GPIO(PTV4),724 PINMUX_GPIO(PTV3),725 PINMUX_GPIO(PTV2),726 PINMUX_GPIO(PTV1),727 PINMUX_GPIO(PTV0),728};729 730#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)731 732static const struct pinmux_func pinmux_func_gpios[] = {733 /* BSC */734 GPIO_FN(D31),735 GPIO_FN(D30),736 GPIO_FN(D29),737 GPIO_FN(D28),738 GPIO_FN(D27),739 GPIO_FN(D26),740 GPIO_FN(D25),741 GPIO_FN(D24),742 GPIO_FN(D23),743 GPIO_FN(D22),744 GPIO_FN(D21),745 GPIO_FN(D20),746 GPIO_FN(D19),747 GPIO_FN(D18),748 GPIO_FN(D17),749 GPIO_FN(D16),750 GPIO_FN(IOIS16),751 GPIO_FN(RAS),752 GPIO_FN(CAS),753 GPIO_FN(CKE),754 GPIO_FN(CS5B_CE1A),755 GPIO_FN(CS6B_CE1B),756 GPIO_FN(A25),757 GPIO_FN(A24),758 GPIO_FN(A23),759 GPIO_FN(A22),760 GPIO_FN(A21),761 GPIO_FN(A20),762 GPIO_FN(A19),763 GPIO_FN(A0),764 GPIO_FN(REFOUT),765 GPIO_FN(IRQOUT),766 767 /* LCDC */768 GPIO_FN(LCD_DATA15),769 GPIO_FN(LCD_DATA14),770 GPIO_FN(LCD_DATA13),771 GPIO_FN(LCD_DATA12),772 GPIO_FN(LCD_DATA11),773 GPIO_FN(LCD_DATA10),774 GPIO_FN(LCD_DATA9),775 GPIO_FN(LCD_DATA8),776 GPIO_FN(LCD_DATA7),777 GPIO_FN(LCD_DATA6),778 GPIO_FN(LCD_DATA5),779 GPIO_FN(LCD_DATA4),780 GPIO_FN(LCD_DATA3),781 GPIO_FN(LCD_DATA2),782 GPIO_FN(LCD_DATA1),783 GPIO_FN(LCD_DATA0),784 GPIO_FN(LCD_M_DISP),785 GPIO_FN(LCD_CL1),786 GPIO_FN(LCD_CL2),787 GPIO_FN(LCD_DON),788 GPIO_FN(LCD_FLM),789 GPIO_FN(LCD_VEPWC),790 GPIO_FN(LCD_VCPWC),791 792 /* AFEIF */793 GPIO_FN(AFE_RXIN),794 GPIO_FN(AFE_RDET),795 GPIO_FN(AFE_FS),796 GPIO_FN(AFE_TXOUT),797 GPIO_FN(AFE_SCLK),798 GPIO_FN(AFE_RLYCNT),799 GPIO_FN(AFE_HC1),800 801 /* IIC */802 GPIO_FN(IIC_SCL),803 GPIO_FN(IIC_SDA),804 805 /* DAC */806 GPIO_FN(DA1),807 GPIO_FN(DA0),808 809 /* ADC */810 GPIO_FN(AN3),811 GPIO_FN(AN2),812 GPIO_FN(AN1),813 GPIO_FN(AN0),814 GPIO_FN(ADTRG),815 816 /* USB */817 GPIO_FN(USB1D_RCV),818 GPIO_FN(USB1D_TXSE0),819 GPIO_FN(USB1D_TXDPLS),820 GPIO_FN(USB1D_DMNS),821 GPIO_FN(USB1D_DPLS),822 GPIO_FN(USB1D_SPEED),823 GPIO_FN(USB1D_TXENL),824 825 GPIO_FN(USB2_PWR_EN),826 GPIO_FN(USB1_PWR_EN_USBF_UPLUP),827 GPIO_FN(USB1D_SUSPEND),828 829 /* INTC */830 GPIO_FN(IRQ5),831 GPIO_FN(IRQ4),832 GPIO_FN(IRQ3_IRL3),833 GPIO_FN(IRQ2_IRL2),834 GPIO_FN(IRQ1_IRL1),835 GPIO_FN(IRQ0_IRL0),836 837 /* PCC */838 GPIO_FN(PCC_REG),839 GPIO_FN(PCC_DRV),840 GPIO_FN(PCC_BVD2),841 GPIO_FN(PCC_BVD1),842 GPIO_FN(PCC_CD2),843 GPIO_FN(PCC_CD1),844 GPIO_FN(PCC_RESET),845 GPIO_FN(PCC_RDY),846 GPIO_FN(PCC_VS2),847 GPIO_FN(PCC_VS1),848 849 /* HUDI */850 GPIO_FN(AUDATA3),851 GPIO_FN(AUDATA2),852 GPIO_FN(AUDATA1),853 GPIO_FN(AUDATA0),854 GPIO_FN(AUDCK),855 GPIO_FN(AUDSYNC),856 GPIO_FN(ASEBRKAK),857 GPIO_FN(TRST),858 GPIO_FN(TMS),859 GPIO_FN(TDO),860 GPIO_FN(TDI),861 GPIO_FN(TCK),862 863 /* DMAC */864 GPIO_FN(DACK1),865 GPIO_FN(DREQ1),866 GPIO_FN(DACK0),867 GPIO_FN(DREQ0),868 GPIO_FN(TEND1),869 GPIO_FN(TEND0),870 871 /* SIOF0 */872 GPIO_FN(SIOF0_SYNC),873 GPIO_FN(SIOF0_MCLK),874 GPIO_FN(SIOF0_TXD),875 GPIO_FN(SIOF0_RXD),876 GPIO_FN(SIOF0_SCK),877 878 /* SIOF1 */879 GPIO_FN(SIOF1_SYNC),880 GPIO_FN(SIOF1_MCLK),881 GPIO_FN(SIOF1_TXD),882 GPIO_FN(SIOF1_RXD),883 GPIO_FN(SIOF1_SCK),884 885 /* SCIF0 */886 GPIO_FN(SCIF0_TXD),887 GPIO_FN(SCIF0_RXD),888 GPIO_FN(SCIF0_RTS),889 GPIO_FN(SCIF0_CTS),890 GPIO_FN(SCIF0_SCK),891 892 /* SCIF1 */893 GPIO_FN(SCIF1_TXD),894 GPIO_FN(SCIF1_RXD),895 GPIO_FN(SCIF1_RTS),896 GPIO_FN(SCIF1_CTS),897 GPIO_FN(SCIF1_SCK),898 899 /* TPU */900 GPIO_FN(TPU_TO1),901 GPIO_FN(TPU_TO0),902 GPIO_FN(TPU_TI3B),903 GPIO_FN(TPU_TI3A),904 GPIO_FN(TPU_TI2B),905 GPIO_FN(TPU_TI2A),906 GPIO_FN(TPU_TO3),907 GPIO_FN(TPU_TO2),908 909 /* SIM */910 GPIO_FN(SIM_D),911 GPIO_FN(SIM_CLK),912 GPIO_FN(SIM_RST),913 914 /* MMC */915 GPIO_FN(MMC_DAT),916 GPIO_FN(MMC_CMD),917 GPIO_FN(MMC_CLK),918 GPIO_FN(MMC_VDDON),919 GPIO_FN(MMC_ODMOD),920 921 /* SYSC */922 GPIO_FN(STATUS0),923 GPIO_FN(STATUS1),924};925 926static const struct pinmux_cfg_reg pinmux_config_regs[] = {927 { PINMUX_CFG_REG("PACR", 0xa4050100, 16, 2, GROUP(928 PTA7_FN, PTA7_OUT, 0, PTA7_IN,929 PTA6_FN, PTA6_OUT, 0, PTA6_IN,930 PTA5_FN, PTA5_OUT, 0, PTA5_IN,931 PTA4_FN, PTA4_OUT, 0, PTA4_IN,932 PTA3_FN, PTA3_OUT, 0, PTA3_IN,933 PTA2_FN, PTA2_OUT, 0, PTA2_IN,934 PTA1_FN, PTA1_OUT, 0, PTA1_IN,935 PTA0_FN, PTA0_OUT, 0, PTA0_IN ))936 },937 { PINMUX_CFG_REG("PBCR", 0xa4050102, 16, 2, GROUP(938 PTB7_FN, PTB7_OUT, 0, PTB7_IN,939 PTB6_FN, PTB6_OUT, 0, PTB6_IN,940 PTB5_FN, PTB5_OUT, 0, PTB5_IN,941 PTB4_FN, PTB4_OUT, 0, PTB4_IN,942 PTB3_FN, PTB3_OUT, 0, PTB3_IN,943 PTB2_FN, PTB2_OUT, 0, PTB2_IN,944 PTB1_FN, PTB1_OUT, 0, PTB1_IN,945 PTB0_FN, PTB0_OUT, 0, PTB0_IN ))946 },947 { PINMUX_CFG_REG("PCCR", 0xa4050104, 16, 2, GROUP(948 PTC7_FN, PTC7_OUT, 0, PTC7_IN,949 PTC6_FN, PTC6_OUT, 0, PTC6_IN,950 PTC5_FN, PTC5_OUT, 0, PTC5_IN,951 PTC4_FN, PTC4_OUT, 0, PTC4_IN,952 PTC3_FN, PTC3_OUT, 0, PTC3_IN,953 PTC2_FN, PTC2_OUT, 0, PTC2_IN,954 PTC1_FN, PTC1_OUT, 0, PTC1_IN,955 PTC0_FN, PTC0_OUT, 0, PTC0_IN ))956 },957 { PINMUX_CFG_REG("PDCR", 0xa4050106, 16, 2, GROUP(958 PTD7_FN, PTD7_OUT, 0, PTD7_IN,959 PTD6_FN, PTD6_OUT, 0, PTD6_IN,960 PTD5_FN, PTD5_OUT, 0, PTD5_IN,961 PTD4_FN, PTD4_OUT, 0, PTD4_IN,962 PTD3_FN, PTD3_OUT, 0, PTD3_IN,963 PTD2_FN, PTD2_OUT, 0, PTD2_IN,964 PTD1_FN, PTD1_OUT, 0, PTD1_IN,965 PTD0_FN, PTD0_OUT, 0, PTD0_IN ))966 },967 { PINMUX_CFG_REG("PECR", 0xa4050108, 16, 2, GROUP(968 0, 0, 0, 0,969 PTE6_FN, 0, 0, PTE6_IN,970 PTE5_FN, 0, 0, PTE5_IN,971 PTE4_FN, PTE4_OUT, 0, PTE4_IN,972 PTE3_FN, PTE3_OUT, 0, PTE3_IN,973 PTE2_FN, PTE2_OUT, 0, PTE2_IN,974 PTE1_FN, PTE1_OUT, 0, PTE1_IN,975 PTE0_FN, PTE0_OUT, 0, PTE0_IN ))976 },977 { PINMUX_CFG_REG("PFCR", 0xa405010a, 16, 2, GROUP(978 0, 0, 0, 0,979 PTF6_FN, 0, 0, PTF6_IN,980 PTF5_FN, 0, 0, PTF5_IN,981 PTF4_FN, 0, 0, PTF4_IN,982 PTF3_FN, 0, 0, PTF3_IN,983 PTF2_FN, 0, 0, PTF2_IN,984 PTF1_FN, 0, 0, PTF1_IN,985 PTF0_FN, 0, 0, PTF0_IN ))986 },987 { PINMUX_CFG_REG("PGCR", 0xa405010c, 16, 2, GROUP(988 0, 0, 0, 0,989 PTG6_FN, PTG6_OUT, 0, PTG6_IN,990 PTG5_FN, PTG5_OUT, 0, PTG5_IN,991 PTG4_FN, PTG4_OUT, 0, PTG4_IN,992 PTG3_FN, PTG3_OUT, 0, PTG3_IN,993 PTG2_FN, PTG2_OUT, 0, PTG2_IN,994 PTG1_FN, PTG1_OUT, 0, PTG1_IN,995 PTG0_FN, PTG0_OUT, 0, PTG0_IN ))996 },997 { PINMUX_CFG_REG("PHCR", 0xa405010e, 16, 2, GROUP(998 0, 0, 0, 0,999 PTH6_FN, PTH6_OUT, 0, PTH6_IN,1000 PTH5_FN, PTH5_OUT, 0, PTH5_IN,1001 PTH4_FN, PTH4_OUT, 0, PTH4_IN,1002 PTH3_FN, PTH3_OUT, 0, PTH3_IN,1003 PTH2_FN, PTH2_OUT, 0, PTH2_IN,1004 PTH1_FN, PTH1_OUT, 0, PTH1_IN,1005 PTH0_FN, PTH0_OUT, 0, PTH0_IN ))1006 },1007 { PINMUX_CFG_REG("PJCR", 0xa4050110, 16, 2, GROUP(1008 0, 0, 0, 0,1009 PTJ6_FN, PTJ6_OUT, 0, PTJ6_IN,1010 PTJ5_FN, PTJ5_OUT, 0, PTJ5_IN,1011 PTJ4_FN, PTJ4_OUT, 0, PTJ4_IN,1012 PTJ3_FN, PTJ3_OUT, 0, PTJ3_IN,1013 PTJ2_FN, PTJ2_OUT, 0, PTJ2_IN,1014 PTJ1_FN, PTJ1_OUT, 0, PTJ1_IN,1015 PTJ0_FN, PTJ0_OUT, 0, PTJ0_IN ))1016 },1017 { PINMUX_CFG_REG_VAR("PKCR", 0xa4050112, 16,1018 GROUP(-8, 2, 2, 2, 2),1019 GROUP(1020 /* RESERVED [8] */1021 PTK3_FN, PTK3_OUT, 0, PTK3_IN,1022 PTK2_FN, PTK2_OUT, 0, PTK2_IN,1023 PTK1_FN, PTK1_OUT, 0, PTK1_IN,1024 PTK0_FN, PTK0_OUT, 0, PTK0_IN ))1025 },1026 { PINMUX_CFG_REG_VAR("PLCR", 0xa4050114, 16,1027 GROUP(2, 2, 2, 2, 2, -6),1028 GROUP(1029 PTL7_FN, PTL7_OUT, 0, PTL7_IN,1030 PTL6_FN, PTL6_OUT, 0, PTL6_IN,1031 PTL5_FN, PTL5_OUT, 0, PTL5_IN,1032 PTL4_FN, PTL4_OUT, 0, PTL4_IN,1033 PTL3_FN, PTL3_OUT, 0, PTL3_IN,1034 /* RESERVED [6] */ ))1035 },1036 { PINMUX_CFG_REG("PMCR", 0xa4050116, 16, 2, GROUP(1037 PTM7_FN, PTM7_OUT, 0, PTM7_IN,1038 PTM6_FN, PTM6_OUT, 0, PTM6_IN,1039 PTM5_FN, PTM5_OUT, 0, PTM5_IN,1040 PTM4_FN, PTM4_OUT, 0, PTM4_IN,1041 PTM3_FN, PTM3_OUT, 0, PTM3_IN,1042 PTM2_FN, PTM2_OUT, 0, PTM2_IN,1043 PTM1_FN, PTM1_OUT, 0, PTM1_IN,1044 PTM0_FN, PTM0_OUT, 0, PTM0_IN ))1045 },1046 { PINMUX_CFG_REG_VAR("PPCR", 0xa4050118, 16,1047 GROUP(-6, 2, 2, 2, 2, 2),1048 GROUP(1049 /* RESERVED [6] */1050 PTP4_FN, PTP4_OUT, 0, PTP4_IN,1051 PTP3_FN, PTP3_OUT, 0, PTP3_IN,1052 PTP2_FN, PTP2_OUT, 0, PTP2_IN,1053 PTP1_FN, PTP1_OUT, 0, PTP1_IN,1054 PTP0_FN, PTP0_OUT, 0, PTP0_IN ))1055 },1056 { PINMUX_CFG_REG("PRCR", 0xa405011a, 16, 2, GROUP(1057 PTR7_FN, PTR7_OUT, 0, PTR7_IN,1058 PTR6_FN, PTR6_OUT, 0, PTR6_IN,1059 PTR5_FN, PTR5_OUT, 0, PTR5_IN,1060 PTR4_FN, PTR4_OUT, 0, PTR4_IN,1061 PTR3_FN, PTR3_OUT, 0, PTR3_IN,1062 PTR2_FN, PTR2_OUT, 0, PTR2_IN,1063 PTR1_FN, PTR1_OUT, 0, PTR1_IN,1064 PTR0_FN, PTR0_OUT, 0, PTR0_IN ))1065 },1066 { PINMUX_CFG_REG_VAR("PSCR", 0xa405011c, 16,1067 GROUP(-6, 2, 2, 2, 2, 2),1068 GROUP(1069 /* RESERVED [6] */1070 PTS4_FN, PTS4_OUT, 0, PTS4_IN,1071 PTS3_FN, PTS3_OUT, 0, PTS3_IN,1072 PTS2_FN, PTS2_OUT, 0, PTS2_IN,1073 PTS1_FN, PTS1_OUT, 0, PTS1_IN,1074 PTS0_FN, PTS0_OUT, 0, PTS0_IN ))1075 },1076 { PINMUX_CFG_REG_VAR("PTCR", 0xa405011e, 16,1077 GROUP(-6, 2, 2, 2, 2, 2),1078 GROUP(1079 /* RESERVED [6] */1080 PTT4_FN, PTT4_OUT, 0, PTT4_IN,1081 PTT3_FN, PTT3_OUT, 0, PTT3_IN,1082 PTT2_FN, PTT2_OUT, 0, PTT2_IN,1083 PTT1_FN, PTT1_OUT, 0, PTT1_IN,1084 PTT0_FN, PTT0_OUT, 0, PTT0_IN ))1085 },1086 { PINMUX_CFG_REG_VAR("PUCR", 0xa4050120, 16,1087 GROUP(-6, 2, 2, 2, 2, 2),1088 GROUP(1089 /* RESERVED [6] */1090 PTU4_FN, PTU4_OUT, 0, PTU4_IN,1091 PTU3_FN, PTU3_OUT, 0, PTU3_IN,1092 PTU2_FN, PTU2_OUT, 0, PTU2_IN,1093 PTU1_FN, PTU1_OUT, 0, PTU1_IN,1094 PTU0_FN, PTU0_OUT, 0, PTU0_IN ))1095 },1096 { PINMUX_CFG_REG_VAR("PVCR", 0xa4050122, 16,1097 GROUP(-6, 2, 2, 2, 2, 2),1098 GROUP(1099 /* RESERVED [6] */1100 PTV4_FN, PTV4_OUT, 0, PTV4_IN,1101 PTV3_FN, PTV3_OUT, 0, PTV3_IN,1102 PTV2_FN, PTV2_OUT, 0, PTV2_IN,1103 PTV1_FN, PTV1_OUT, 0, PTV1_IN,1104 PTV0_FN, PTV0_OUT, 0, PTV0_IN ))1105 },1106 { /* sentinel */ }1107};1108 1109static const struct pinmux_data_reg pinmux_data_regs[] = {1110 { PINMUX_DATA_REG("PADR", 0xa4050140, 8, GROUP(1111 PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,1112 PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA ))1113 },1114 { PINMUX_DATA_REG("PBDR", 0xa4050142, 8, GROUP(1115 PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,1116 PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA ))1117 },1118 { PINMUX_DATA_REG("PCDR", 0xa4050144, 8, GROUP(1119 PTC7_DATA, PTC6_DATA, PTC5_DATA, PTC4_DATA,1120 PTC3_DATA, PTC2_DATA, PTC1_DATA, PTC0_DATA ))1121 },1122 { PINMUX_DATA_REG("PDDR", 0xa4050126, 8, GROUP(1123 PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,1124 PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA ))1125 },1126 { PINMUX_DATA_REG("PEDR", 0xa4050148, 8, GROUP(1127 0, PTE6_DATA, PTE5_DATA, PTE4_DATA,1128 PTE3_DATA, PTE2_DATA, PTE1_DATA, PTE0_DATA ))1129 },1130 { PINMUX_DATA_REG("PFDR", 0xa405014a, 8, GROUP(1131 0, PTF6_DATA, PTF5_DATA, PTF4_DATA,1132 PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA ))1133 },1134 { PINMUX_DATA_REG("PGDR", 0xa405014c, 8, GROUP(1135 0, PTG6_DATA, PTG5_DATA, PTG4_DATA,1136 PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA ))1137 },1138 { PINMUX_DATA_REG("PHDR", 0xa405014e, 8, GROUP(1139 0, PTH6_DATA, PTH5_DATA, PTH4_DATA,1140 PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA ))1141 },1142 { PINMUX_DATA_REG("PJDR", 0xa4050150, 8, GROUP(1143 0, PTJ6_DATA, PTJ5_DATA, PTJ4_DATA,1144 PTJ3_DATA, PTJ2_DATA, PTJ1_DATA, PTJ0_DATA ))1145 },1146 { PINMUX_DATA_REG("PKDR", 0xa4050152, 8, GROUP(1147 0, 0, 0, 0,1148 PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA ))1149 },1150 { PINMUX_DATA_REG("PLDR", 0xa4050154, 8, GROUP(1151 PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA,1152 PTL3_DATA, 0, 0, 0 ))1153 },1154 { PINMUX_DATA_REG("PMDR", 0xa4050156, 8, GROUP(1155 PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,1156 PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA ))1157 },1158 { PINMUX_DATA_REG("PPDR", 0xa4050158, 8, GROUP(1159 0, 0, 0, PTP4_DATA,1160 PTP3_DATA, PTP2_DATA, PTP1_DATA, PTP0_DATA ))1161 },1162 { PINMUX_DATA_REG("PRDR", 0xa405015a, 8, GROUP(1163 PTR7_DATA, PTR6_DATA, PTR5_DATA, PTR4_DATA,1164 PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA ))1165 },1166 { PINMUX_DATA_REG("PSDR", 0xa405015c, 8, GROUP(1167 0, 0, 0, PTS4_DATA,1168 PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA ))1169 },1170 { PINMUX_DATA_REG("PTDR", 0xa405015e, 8, GROUP(1171 0, 0, 0, PTT4_DATA,1172 PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA ))1173 },1174 { PINMUX_DATA_REG("PUDR", 0xa4050160, 8, GROUP(1175 0, 0, 0, PTU4_DATA,1176 PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA ))1177 },1178 { PINMUX_DATA_REG("PVDR", 0xa4050162, 8, GROUP(1179 0, 0, 0, PTV4_DATA,1180 PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA ))1181 },1182 { /* sentinel */ }1183};1184 1185const struct sh_pfc_soc_info sh7720_pinmux_info = {1186 .name = "sh7720_pfc",1187 .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },1188 .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },1189 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },1190 1191 .pins = pinmux_pins,1192 .nr_pins = ARRAY_SIZE(pinmux_pins),1193 .func_gpios = pinmux_func_gpios,1194 .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),1195 1196 .cfg_regs = pinmux_config_regs,1197 .data_regs = pinmux_data_regs,1198 1199 .pinmux_data = pinmux_data,1200 .pinmux_data_size = ARRAY_SIZE(pinmux_data),1201};1202