1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* |
3 | * SH7720 Pinmux |
4 | * |
5 | * Copyright (C) 2008 Magnus Damm |
6 | */ |
7 | |
8 | #include <linux/kernel.h> |
9 | #include <cpu/sh7720.h> |
10 | |
11 | #include "sh_pfc.h" |
12 | |
13 | enum { |
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 | |
231 | static 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 | |
575 | static 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 | |
732 | static 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 | |
926 | static 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 | |
1109 | static 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 | |
1185 | const 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 | |