blob: 064e987b09cbf5b93244107c553f823244e3a89c [file] [log] [blame]
Kuninori Morimoto63b6d7e2018-09-07 02:13:29 +00001// SPDX-License-Identifier: GPL-2.0
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002/*
3 * SH7757 (B0 step) Pinmux
4 *
5 * Copyright (C) 2009-2010 Renesas Solutions Corp.
6 *
7 * Author : Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
8 *
9 * Based on SH7723 Pinmux
10 * Copyright (C) 2008 Magnus Damm
Laurent Pinchart0bb92672012-12-15 23:51:37 +010011 */
12
13#include <linux/init.h>
14#include <linux/kernel.h>
Laurent Pinchart0bb92672012-12-15 23:51:37 +010015#include <cpu/sh7757.h>
16
Laurent Pinchartc3323802012-12-15 23:51:55 +010017#include "sh_pfc.h"
18
Laurent Pinchart0bb92672012-12-15 23:51:37 +010019enum {
20 PINMUX_RESERVED = 0,
21
22 PINMUX_DATA_BEGIN,
23 PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
24 PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA,
25 PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
26 PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA,
27 PTC7_DATA, PTC6_DATA, PTC5_DATA, PTC4_DATA,
28 PTC3_DATA, PTC2_DATA, PTC1_DATA, PTC0_DATA,
29 PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
30 PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA,
31 PTE7_DATA, PTE6_DATA, PTE5_DATA, PTE4_DATA,
32 PTE3_DATA, PTE2_DATA, PTE1_DATA, PTE0_DATA,
33 PTF7_DATA, PTF6_DATA, PTF5_DATA, PTF4_DATA,
34 PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA,
35 PTG7_DATA, PTG6_DATA, PTG5_DATA, PTG4_DATA,
36 PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA,
37 PTH7_DATA, PTH6_DATA, PTH5_DATA, PTH4_DATA,
38 PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA,
39 PTI7_DATA, PTI6_DATA, PTI5_DATA, PTI4_DATA,
40 PTI3_DATA, PTI2_DATA, PTI1_DATA, PTI0_DATA,
41 PTJ6_DATA, PTJ5_DATA, PTJ4_DATA,
42 PTJ3_DATA, PTJ2_DATA, PTJ1_DATA, PTJ0_DATA,
43 PTK7_DATA, PTK6_DATA, PTK5_DATA, PTK4_DATA,
44 PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA,
45 PTL6_DATA, PTL5_DATA, PTL4_DATA,
46 PTL3_DATA, PTL2_DATA, PTL1_DATA, PTL0_DATA,
47 PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
48 PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA,
49 PTN6_DATA, PTN5_DATA, PTN4_DATA,
50 PTN3_DATA, PTN2_DATA, PTN1_DATA, PTN0_DATA,
51 PTO7_DATA, PTO6_DATA, PTO5_DATA, PTO4_DATA,
52 PTO3_DATA, PTO2_DATA, PTO1_DATA, PTO0_DATA,
53 PTP7_DATA, PTP6_DATA, PTP5_DATA, PTP4_DATA,
54 PTP3_DATA, PTP2_DATA, PTP1_DATA, PTP0_DATA,
55 PTQ6_DATA, PTQ5_DATA, PTQ4_DATA,
56 PTQ3_DATA, PTQ2_DATA, PTQ1_DATA, PTQ0_DATA,
57 PTR7_DATA, PTR6_DATA, PTR5_DATA, PTR4_DATA,
58 PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA,
59 PTS7_DATA, PTS6_DATA, PTS5_DATA, PTS4_DATA,
60 PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA,
61 PTT7_DATA, PTT6_DATA, PTT5_DATA, PTT4_DATA,
62 PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA,
63 PTU7_DATA, PTU6_DATA, PTU5_DATA, PTU4_DATA,
64 PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA,
65 PTV7_DATA, PTV6_DATA, PTV5_DATA, PTV4_DATA,
66 PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA,
67 PTW7_DATA, PTW6_DATA, PTW5_DATA, PTW4_DATA,
68 PTW3_DATA, PTW2_DATA, PTW1_DATA, PTW0_DATA,
69 PTX7_DATA, PTX6_DATA, PTX5_DATA, PTX4_DATA,
70 PTX3_DATA, PTX2_DATA, PTX1_DATA, PTX0_DATA,
71 PTY7_DATA, PTY6_DATA, PTY5_DATA, PTY4_DATA,
72 PTY3_DATA, PTY2_DATA, PTY1_DATA, PTY0_DATA,
73 PTZ7_DATA, PTZ6_DATA, PTZ5_DATA, PTZ4_DATA,
74 PTZ3_DATA, PTZ2_DATA, PTZ1_DATA, PTZ0_DATA,
75 PINMUX_DATA_END,
76
77 PINMUX_INPUT_BEGIN,
78 PTA7_IN, PTA6_IN, PTA5_IN, PTA4_IN,
79 PTA3_IN, PTA2_IN, PTA1_IN, PTA0_IN,
80 PTB7_IN, PTB6_IN, PTB5_IN, PTB4_IN,
81 PTB3_IN, PTB2_IN, PTB1_IN, PTB0_IN,
82 PTC7_IN, PTC6_IN, PTC5_IN, PTC4_IN,
83 PTC3_IN, PTC2_IN, PTC1_IN, PTC0_IN,
84 PTD7_IN, PTD6_IN, PTD5_IN, PTD4_IN,
85 PTD3_IN, PTD2_IN, PTD1_IN, PTD0_IN,
86 PTE7_IN, PTE6_IN, PTE5_IN, PTE4_IN,
87 PTE3_IN, PTE2_IN, PTE1_IN, PTE0_IN,
88 PTF7_IN, PTF6_IN, PTF5_IN, PTF4_IN,
89 PTF3_IN, PTF2_IN, PTF1_IN, PTF0_IN,
90 PTG7_IN, PTG6_IN, PTG5_IN, PTG4_IN,
91 PTG3_IN, PTG2_IN, PTG1_IN, PTG0_IN,
92 PTH7_IN, PTH6_IN, PTH5_IN, PTH4_IN,
93 PTH3_IN, PTH2_IN, PTH1_IN, PTH0_IN,
94 PTI7_IN, PTI6_IN, PTI5_IN, PTI4_IN,
95 PTI3_IN, PTI2_IN, PTI1_IN, PTI0_IN,
96 PTJ6_IN, PTJ5_IN, PTJ4_IN,
97 PTJ3_IN, PTJ2_IN, PTJ1_IN, PTJ0_IN,
98 PTK7_IN, PTK6_IN, PTK5_IN, PTK4_IN,
99 PTK3_IN, PTK2_IN, PTK1_IN, PTK0_IN,
100 PTL6_IN, PTL5_IN, PTL4_IN,
101 PTL3_IN, PTL2_IN, PTL1_IN, PTL0_IN,
102 PTM7_IN, PTM6_IN, PTM5_IN, PTM4_IN,
103 PTM3_IN, PTM2_IN, PTM1_IN, PTM0_IN,
104 PTN6_IN, PTN5_IN, PTN4_IN,
105 PTN3_IN, PTN2_IN, PTN1_IN, PTN0_IN,
106 PTO7_IN, PTO6_IN, PTO5_IN, PTO4_IN,
107 PTO3_IN, PTO2_IN, PTO1_IN, PTO0_IN,
108 PTP7_IN, PTP6_IN, PTP5_IN, PTP4_IN,
109 PTP3_IN, PTP2_IN, PTP1_IN, PTP0_IN,
110 PTQ6_IN, PTQ5_IN, PTQ4_IN,
111 PTQ3_IN, PTQ2_IN, PTQ1_IN, PTQ0_IN,
112 PTR7_IN, PTR6_IN, PTR5_IN, PTR4_IN,
113 PTR3_IN, PTR2_IN, PTR1_IN, PTR0_IN,
114 PTS7_IN, PTS6_IN, PTS5_IN, PTS4_IN,
115 PTS3_IN, PTS2_IN, PTS1_IN, PTS0_IN,
116 PTT7_IN, PTT6_IN, PTT5_IN, PTT4_IN,
117 PTT3_IN, PTT2_IN, PTT1_IN, PTT0_IN,
118 PTU7_IN, PTU6_IN, PTU5_IN, PTU4_IN,
119 PTU3_IN, PTU2_IN, PTU1_IN, PTU0_IN,
120 PTV7_IN, PTV6_IN, PTV5_IN, PTV4_IN,
121 PTV3_IN, PTV2_IN, PTV1_IN, PTV0_IN,
122 PTW7_IN, PTW6_IN, PTW5_IN, PTW4_IN,
123 PTW3_IN, PTW2_IN, PTW1_IN, PTW0_IN,
124 PTX7_IN, PTX6_IN, PTX5_IN, PTX4_IN,
125 PTX3_IN, PTX2_IN, PTX1_IN, PTX0_IN,
126 PTY7_IN, PTY6_IN, PTY5_IN, PTY4_IN,
127 PTY3_IN, PTY2_IN, PTY1_IN, PTY0_IN,
128 PTZ7_IN, PTZ6_IN, PTZ5_IN, PTZ4_IN,
129 PTZ3_IN, PTZ2_IN, PTZ1_IN, PTZ0_IN,
130 PINMUX_INPUT_END,
131
Laurent Pinchart0bb92672012-12-15 23:51:37 +0100132 PINMUX_OUTPUT_BEGIN,
133 PTA7_OUT, PTA6_OUT, PTA5_OUT, PTA4_OUT,
134 PTA3_OUT, PTA2_OUT, PTA1_OUT, PTA0_OUT,
135 PTB7_OUT, PTB6_OUT, PTB5_OUT, PTB4_OUT,
136 PTB3_OUT, PTB2_OUT, PTB1_OUT, PTB0_OUT,
137 PTC7_OUT, PTC6_OUT, PTC5_OUT, PTC4_OUT,
138 PTC3_OUT, PTC2_OUT, PTC1_OUT, PTC0_OUT,
139 PTD7_OUT, PTD6_OUT, PTD5_OUT, PTD4_OUT,
140 PTD3_OUT, PTD2_OUT, PTD1_OUT, PTD0_OUT,
141 PTE7_OUT, PTE6_OUT, PTE5_OUT, PTE4_OUT,
142 PTE3_OUT, PTE2_OUT, PTE1_OUT, PTE0_OUT,
143 PTF7_OUT, PTF6_OUT, PTF5_OUT, PTF4_OUT,
144 PTF3_OUT, PTF2_OUT, PTF1_OUT, PTF0_OUT,
145 PTG7_OUT, PTG6_OUT, PTG5_OUT, PTG4_OUT,
146 PTG3_OUT, PTG2_OUT, PTG1_OUT, PTG0_OUT,
147 PTH7_OUT, PTH6_OUT, PTH5_OUT, PTH4_OUT,
148 PTH3_OUT, PTH2_OUT, PTH1_OUT, PTH0_OUT,
149 PTI7_OUT, PTI6_OUT, PTI5_OUT, PTI4_OUT,
150 PTI3_OUT, PTI2_OUT, PTI1_OUT, PTI0_OUT,
151 PTJ6_OUT, PTJ5_OUT, PTJ4_OUT,
152 PTJ3_OUT, PTJ2_OUT, PTJ1_OUT, PTJ0_OUT,
153 PTK7_OUT, PTK6_OUT, PTK5_OUT, PTK4_OUT,
154 PTK3_OUT, PTK2_OUT, PTK1_OUT, PTK0_OUT,
155 PTL6_OUT, PTL5_OUT, PTL4_OUT,
156 PTL3_OUT, PTL2_OUT, PTL1_OUT, PTL0_OUT,
157 PTM7_OUT, PTM6_OUT, PTM5_OUT, PTM4_OUT,
158 PTM3_OUT, PTM2_OUT, PTM1_OUT, PTM0_OUT,
159 PTN6_OUT, PTN5_OUT, PTN4_OUT,
160 PTN3_OUT, PTN2_OUT, PTN1_OUT, PTN0_OUT,
161 PTO7_OUT, PTO6_OUT, PTO5_OUT, PTO4_OUT,
162 PTO3_OUT, PTO2_OUT, PTO1_OUT, PTO0_OUT,
163 PTP7_OUT, PTP6_OUT, PTP5_OUT, PTP4_OUT,
164 PTP3_OUT, PTP2_OUT, PTP1_OUT, PTP0_OUT,
165 PTQ6_OUT, PTQ5_OUT, PTQ4_OUT,
166 PTQ3_OUT, PTQ2_OUT, PTQ1_OUT, PTQ0_OUT,
167 PTR7_OUT, PTR6_OUT, PTR5_OUT, PTR4_OUT,
168 PTR3_OUT, PTR2_OUT, PTR1_OUT, PTR0_OUT,
169 PTS7_OUT, PTS6_OUT, PTS5_OUT, PTS4_OUT,
170 PTS3_OUT, PTS2_OUT, PTS1_OUT, PTS0_OUT,
171 PTT7_OUT, PTT6_OUT, PTT5_OUT, PTT4_OUT,
172 PTT3_OUT, PTT2_OUT, PTT1_OUT, PTT0_OUT,
173 PTU7_OUT, PTU6_OUT, PTU5_OUT, PTU4_OUT,
174 PTU3_OUT, PTU2_OUT, PTU1_OUT, PTU0_OUT,
175 PTV7_OUT, PTV6_OUT, PTV5_OUT, PTV4_OUT,
176 PTV3_OUT, PTV2_OUT, PTV1_OUT, PTV0_OUT,
177 PTW7_OUT, PTW6_OUT, PTW5_OUT, PTW4_OUT,
178 PTW3_OUT, PTW2_OUT, PTW1_OUT, PTW0_OUT,
179 PTX7_OUT, PTX6_OUT, PTX5_OUT, PTX4_OUT,
180 PTX3_OUT, PTX2_OUT, PTX1_OUT, PTX0_OUT,
181 PTY7_OUT, PTY6_OUT, PTY5_OUT, PTY4_OUT,
182 PTY3_OUT, PTY2_OUT, PTY1_OUT, PTY0_OUT,
183 PTZ7_OUT, PTZ6_OUT, PTZ5_OUT, PTZ4_OUT,
184 PTZ3_OUT, PTZ2_OUT, PTZ1_OUT, PTZ0_OUT,
185 PINMUX_OUTPUT_END,
186
187 PINMUX_FUNCTION_BEGIN,
188 PTA7_FN, PTA6_FN, PTA5_FN, PTA4_FN,
189 PTA3_FN, PTA2_FN, PTA1_FN, PTA0_FN,
190 PTB7_FN, PTB6_FN, PTB5_FN, PTB4_FN,
191 PTB3_FN, PTB2_FN, PTB1_FN, PTB0_FN,
192 PTC7_FN, PTC6_FN, PTC5_FN, PTC4_FN,
193 PTC3_FN, PTC2_FN, PTC1_FN, PTC0_FN,
194 PTD7_FN, PTD6_FN, PTD5_FN, PTD4_FN,
195 PTD3_FN, PTD2_FN, PTD1_FN, PTD0_FN,
196 PTE7_FN, PTE6_FN, PTE5_FN, PTE4_FN,
197 PTE3_FN, PTE2_FN, PTE1_FN, PTE0_FN,
198 PTF7_FN, PTF6_FN, PTF5_FN, PTF4_FN,
199 PTF3_FN, PTF2_FN, PTF1_FN, PTF0_FN,
200 PTG7_FN, PTG6_FN, PTG5_FN, PTG4_FN,
201 PTG3_FN, PTG2_FN, PTG1_FN, PTG0_FN,
202 PTH7_FN, PTH6_FN, PTH5_FN, PTH4_FN,
203 PTH3_FN, PTH2_FN, PTH1_FN, PTH0_FN,
204 PTI7_FN, PTI6_FN, PTI5_FN, PTI4_FN,
205 PTI3_FN, PTI2_FN, PTI1_FN, PTI0_FN,
206 PTJ6_FN, PTJ5_FN, PTJ4_FN,
207 PTJ3_FN, PTJ2_FN, PTJ1_FN, PTJ0_FN,
208 PTK7_FN, PTK6_FN, PTK5_FN, PTK4_FN,
209 PTK3_FN, PTK2_FN, PTK1_FN, PTK0_FN,
210 PTL6_FN, PTL5_FN, PTL4_FN,
211 PTL3_FN, PTL2_FN, PTL1_FN, PTL0_FN,
212 PTM7_FN, PTM6_FN, PTM5_FN, PTM4_FN,
213 PTM3_FN, PTM2_FN, PTM1_FN, PTM0_FN,
214 PTN6_FN, PTN5_FN, PTN4_FN,
215 PTN3_FN, PTN2_FN, PTN1_FN, PTN0_FN,
216 PTO7_FN, PTO6_FN, PTO5_FN, PTO4_FN,
217 PTO3_FN, PTO2_FN, PTO1_FN, PTO0_FN,
218 PTP7_FN, PTP6_FN, PTP5_FN, PTP4_FN,
219 PTP3_FN, PTP2_FN, PTP1_FN, PTP0_FN,
220 PTQ6_FN, PTQ5_FN, PTQ4_FN,
221 PTQ3_FN, PTQ2_FN, PTQ1_FN, PTQ0_FN,
222 PTR7_FN, PTR6_FN, PTR5_FN, PTR4_FN,
223 PTR3_FN, PTR2_FN, PTR1_FN, PTR0_FN,
224 PTS7_FN, PTS6_FN, PTS5_FN, PTS4_FN,
225 PTS3_FN, PTS2_FN, PTS1_FN, PTS0_FN,
226 PTT7_FN, PTT6_FN, PTT5_FN, PTT4_FN,
227 PTT3_FN, PTT2_FN, PTT1_FN, PTT0_FN,
228 PTU7_FN, PTU6_FN, PTU5_FN, PTU4_FN,
229 PTU3_FN, PTU2_FN, PTU1_FN, PTU0_FN,
230 PTV7_FN, PTV6_FN, PTV5_FN, PTV4_FN,
231 PTV3_FN, PTV2_FN, PTV1_FN, PTV0_FN,
232 PTW7_FN, PTW6_FN, PTW5_FN, PTW4_FN,
233 PTW3_FN, PTW2_FN, PTW1_FN, PTW0_FN,
234 PTX7_FN, PTX6_FN, PTX5_FN, PTX4_FN,
235 PTX3_FN, PTX2_FN, PTX1_FN, PTX0_FN,
236 PTY7_FN, PTY6_FN, PTY5_FN, PTY4_FN,
237 PTY3_FN, PTY2_FN, PTY1_FN, PTY0_FN,
238 PTZ7_FN, PTZ6_FN, PTZ5_FN, PTZ4_FN,
239 PTZ3_FN, PTZ2_FN, PTZ1_FN, PTZ0_FN,
240
241 PS0_15_FN1, PS0_15_FN2,
242 PS0_14_FN1, PS0_14_FN2,
243 PS0_13_FN1, PS0_13_FN2,
244 PS0_12_FN1, PS0_12_FN2,
245 PS0_11_FN1, PS0_11_FN2,
246 PS0_10_FN1, PS0_10_FN2,
247 PS0_9_FN1, PS0_9_FN2,
248 PS0_8_FN1, PS0_8_FN2,
249 PS0_7_FN1, PS0_7_FN2,
250 PS0_6_FN1, PS0_6_FN2,
251 PS0_5_FN1, PS0_5_FN2,
252 PS0_4_FN1, PS0_4_FN2,
253 PS0_3_FN1, PS0_3_FN2,
254 PS0_2_FN1, PS0_2_FN2,
255
256 PS1_10_FN1, PS1_10_FN2,
257 PS1_9_FN1, PS1_9_FN2,
258 PS1_8_FN1, PS1_8_FN2,
259 PS1_2_FN1, PS1_2_FN2,
260
261 PS2_13_FN1, PS2_13_FN2,
262 PS2_12_FN1, PS2_12_FN2,
263 PS2_7_FN1, PS2_7_FN2,
264 PS2_6_FN1, PS2_6_FN2,
265 PS2_5_FN1, PS2_5_FN2,
266 PS2_4_FN1, PS2_4_FN2,
267 PS2_2_FN1, PS2_2_FN2,
268
269 PS3_15_FN1, PS3_15_FN2,
270 PS3_14_FN1, PS3_14_FN2,
271 PS3_13_FN1, PS3_13_FN2,
272 PS3_12_FN1, PS3_12_FN2,
273 PS3_11_FN1, PS3_11_FN2,
274 PS3_10_FN1, PS3_10_FN2,
275 PS3_9_FN1, PS3_9_FN2,
276 PS3_8_FN1, PS3_8_FN2,
277 PS3_7_FN1, PS3_7_FN2,
278 PS3_2_FN1, PS3_2_FN2,
279 PS3_1_FN1, PS3_1_FN2,
280
281 PS4_14_FN1, PS4_14_FN2,
282 PS4_13_FN1, PS4_13_FN2,
283 PS4_12_FN1, PS4_12_FN2,
284 PS4_10_FN1, PS4_10_FN2,
285 PS4_9_FN1, PS4_9_FN2,
286 PS4_8_FN1, PS4_8_FN2,
287 PS4_4_FN1, PS4_4_FN2,
288 PS4_3_FN1, PS4_3_FN2,
289 PS4_2_FN1, PS4_2_FN2,
290 PS4_1_FN1, PS4_1_FN2,
291 PS4_0_FN1, PS4_0_FN2,
292
293 PS5_11_FN1, PS5_11_FN2,
294 PS5_10_FN1, PS5_10_FN2,
295 PS5_9_FN1, PS5_9_FN2,
296 PS5_8_FN1, PS5_8_FN2,
297 PS5_7_FN1, PS5_7_FN2,
298 PS5_6_FN1, PS5_6_FN2,
299 PS5_5_FN1, PS5_5_FN2,
300 PS5_4_FN1, PS5_4_FN2,
301 PS5_3_FN1, PS5_3_FN2,
302 PS5_2_FN1, PS5_2_FN2,
303
304 PS6_15_FN1, PS6_15_FN2,
305 PS6_14_FN1, PS6_14_FN2,
306 PS6_13_FN1, PS6_13_FN2,
307 PS6_12_FN1, PS6_12_FN2,
308 PS6_11_FN1, PS6_11_FN2,
309 PS6_10_FN1, PS6_10_FN2,
310 PS6_9_FN1, PS6_9_FN2,
311 PS6_8_FN1, PS6_8_FN2,
312 PS6_7_FN1, PS6_7_FN2,
313 PS6_6_FN1, PS6_6_FN2,
314 PS6_5_FN1, PS6_5_FN2,
315 PS6_4_FN1, PS6_4_FN2,
316 PS6_3_FN1, PS6_3_FN2,
317 PS6_2_FN1, PS6_2_FN2,
318 PS6_1_FN1, PS6_1_FN2,
319 PS6_0_FN1, PS6_0_FN2,
320
321 PS7_15_FN1, PS7_15_FN2,
322 PS7_14_FN1, PS7_14_FN2,
323 PS7_13_FN1, PS7_13_FN2,
324 PS7_12_FN1, PS7_12_FN2,
325 PS7_11_FN1, PS7_11_FN2,
326 PS7_10_FN1, PS7_10_FN2,
327 PS7_9_FN1, PS7_9_FN2,
328 PS7_8_FN1, PS7_8_FN2,
329 PS7_7_FN1, PS7_7_FN2,
330 PS7_6_FN1, PS7_6_FN2,
331 PS7_5_FN1, PS7_5_FN2,
332 PS7_4_FN1, PS7_4_FN2,
333
334 PS8_15_FN1, PS8_15_FN2,
335 PS8_14_FN1, PS8_14_FN2,
336 PS8_13_FN1, PS8_13_FN2,
337 PS8_12_FN1, PS8_12_FN2,
338 PS8_11_FN1, PS8_11_FN2,
339 PS8_10_FN1, PS8_10_FN2,
340 PS8_9_FN1, PS8_9_FN2,
341 PS8_8_FN1, PS8_8_FN2,
342 PINMUX_FUNCTION_END,
343
344 PINMUX_MARK_BEGIN,
345 /* PTA (mobule: LBSC, RGMII) */
346 BS_MARK, RDWR_MARK, WE1_MARK, RDY_MARK,
347 ET0_MDC_MARK, ET0_MDIO_MARK, ET1_MDC_MARK, ET1_MDIO_MARK,
348
349 /* PTB (mobule: INTC, ONFI, TMU) */
350 IRQ15_MARK, IRQ14_MARK, IRQ13_MARK, IRQ12_MARK,
351 IRQ11_MARK, IRQ10_MARK, IRQ9_MARK, IRQ8_MARK,
352 ON_NRE_MARK, ON_NWE_MARK, ON_NWP_MARK, ON_NCE0_MARK,
353 ON_R_B0_MARK, ON_ALE_MARK, ON_CLE_MARK, TCLK_MARK,
354
355 /* PTC (mobule: IRQ, PWMU) */
356 IRQ7_MARK, IRQ6_MARK, IRQ5_MARK, IRQ4_MARK,
357 IRQ3_MARK, IRQ2_MARK, IRQ1_MARK, IRQ0_MARK,
358 PWMU0_MARK, PWMU1_MARK, PWMU2_MARK, PWMU3_MARK,
359 PWMU4_MARK, PWMU5_MARK,
360
361 /* PTD (mobule: SPI0, DMAC) */
362 SP0_MOSI_MARK, SP0_MISO_MARK, SP0_SCK_MARK, SP0_SCK_FB_MARK,
363 SP0_SS0_MARK, SP0_SS1_MARK, SP0_SS2_MARK, SP0_SS3_MARK,
364 DREQ0_MARK, DACK0_MARK, TEND0_MARK,
365
366 /* PTE (mobule: RMII) */
367 RMII0_CRS_DV_MARK, RMII0_TXD1_MARK,
368 RMII0_TXD0_MARK, RMII0_TXEN_MARK,
369 RMII0_REFCLK_MARK, RMII0_RXD1_MARK,
370 RMII0_RXD0_MARK, RMII0_RX_ER_MARK,
371
372 /* PTF (mobule: RMII, SerMux) */
373 RMII1_CRS_DV_MARK, RMII1_TXD1_MARK,
374 RMII1_TXD0_MARK, RMII1_TXEN_MARK,
375 RMII1_REFCLK_MARK, RMII1_RXD1_MARK,
376 RMII1_RXD0_MARK, RMII1_RX_ER_MARK,
377 RAC_RI_MARK,
378
379 /* PTG (mobule: system, LBSC, LPC, WDT, LPC, eMMC) */
380 BOOTFMS_MARK, BOOTWP_MARK, A25_MARK, A24_MARK,
381 SERIRQ_MARK, WDTOVF_MARK, LPCPD_MARK, LDRQ_MARK,
382 MMCCLK_MARK, MMCCMD_MARK,
383
384 /* PTH (mobule: SPI1, LPC, DMAC, ADC) */
385 SP1_MOSI_MARK, SP1_MISO_MARK, SP1_SCK_MARK, SP1_SCK_FB_MARK,
386 SP1_SS0_MARK, SP1_SS1_MARK, WP_MARK, FMS0_MARK,
387 TEND1_MARK, DREQ1_MARK, DACK1_MARK, ADTRG1_MARK,
388 ADTRG0_MARK,
389
390 /* PTI (mobule: LBSC, SDHI) */
391 D15_MARK, D14_MARK, D13_MARK, D12_MARK,
392 D11_MARK, D10_MARK, D9_MARK, D8_MARK,
393 SD_WP_MARK, SD_CD_MARK, SD_CLK_MARK, SD_CMD_MARK,
394 SD_D3_MARK, SD_D2_MARK, SD_D1_MARK, SD_D0_MARK,
395
396 /* PTJ (mobule: SCIF234) */
397 RTS3_MARK, CTS3_MARK, TXD3_MARK, RXD3_MARK,
398 RTS4_MARK, RXD4_MARK, TXD4_MARK,
399
400 /* PTK (mobule: SERMUX, LBSC, SCIF) */
401 COM2_TXD_MARK, COM2_RXD_MARK, COM2_RTS_MARK, COM2_CTS_MARK,
402 COM2_DTR_MARK, COM2_DSR_MARK, COM2_DCD_MARK, CLKOUT_MARK,
403 SCK2_MARK, SCK4_MARK, SCK3_MARK,
404
405 /* PTL (mobule: SERMUX, SCIF, LBSC, AUD) */
406 RAC_RXD_MARK, RAC_RTS_MARK, RAC_CTS_MARK, RAC_DTR_MARK,
407 RAC_DSR_MARK, RAC_DCD_MARK, RAC_TXD_MARK, RXD2_MARK,
408 CS5_MARK, CS6_MARK, AUDSYNC_MARK, AUDCK_MARK,
409 TXD2_MARK,
410
411 /* PTM (mobule: LBSC, IIC) */
412 CS4_MARK, RD_MARK, WE0_MARK, CS0_MARK,
413 SDA6_MARK, SCL6_MARK, SDA7_MARK, SCL7_MARK,
414
415 /* PTN (mobule: USB, JMC, SGPIO, WDT) */
416 VBUS_EN_MARK, VBUS_OC_MARK, JMCTCK_MARK, JMCTMS_MARK,
417 JMCTDO_MARK, JMCTDI_MARK, JMCTRST_MARK,
418 SGPIO1_CLK_MARK, SGPIO1_LOAD_MARK, SGPIO1_DI_MARK,
419 SGPIO1_DO_MARK, SUB_CLKIN_MARK,
420
421 /* PTO (mobule: SGPIO, SerMux) */
422 SGPIO0_CLK_MARK, SGPIO0_LOAD_MARK, SGPIO0_DI_MARK,
423 SGPIO0_DO_MARK, SGPIO2_CLK_MARK, SGPIO2_LOAD_MARK,
424 SGPIO2_DI_MARK, SGPIO2_DO_MARK,
425 COM1_TXD_MARK, COM1_RXD_MARK, COM1_RTS_MARK, COM1_CTS_MARK,
426
427 /* PTQ (mobule: LPC) */
428 LAD3_MARK, LAD2_MARK, LAD1_MARK, LAD0_MARK,
429 LFRAME_MARK, LRESET_MARK, LCLK_MARK,
430
431 /* PTR (mobule: GRA, IIC) */
432 DDC3_MARK, DDC2_MARK, SDA2_MARK, SCL2_MARK,
433 SDA1_MARK, SCL1_MARK, SDA0_MARK, SCL0_MARK,
434 SDA8_MARK, SCL8_MARK,
435
436 /* PTS (mobule: GRA, IIC) */
437 DDC1_MARK, DDC0_MARK, SDA5_MARK, SCL5_MARK,
438 SDA4_MARK, SCL4_MARK, SDA3_MARK, SCL3_MARK,
439 SDA9_MARK, SCL9_MARK,
440
441 /* PTT (mobule: PWMX, AUD) */
442 PWMX7_MARK, PWMX6_MARK, PWMX5_MARK, PWMX4_MARK,
443 PWMX3_MARK, PWMX2_MARK, PWMX1_MARK, PWMX0_MARK,
444 AUDATA3_MARK, AUDATA2_MARK, AUDATA1_MARK, AUDATA0_MARK,
445 STATUS1_MARK, STATUS0_MARK,
446
447 /* PTU (mobule: LPC, APM) */
448 LGPIO7_MARK, LGPIO6_MARK, LGPIO5_MARK, LGPIO4_MARK,
449 LGPIO3_MARK, LGPIO2_MARK, LGPIO1_MARK, LGPIO0_MARK,
450 APMONCTL_O_MARK, APMPWBTOUT_O_MARK, APMSCI_O_MARK,
451 APMVDDON_MARK, APMSLPBTN_MARK, APMPWRBTN_MARK, APMS5N_MARK,
452 APMS3N_MARK,
453
454 /* PTV (mobule: LBSC, SerMux, R-SPI, EVC, GRA) */
455 A23_MARK, A22_MARK, A21_MARK, A20_MARK,
456 A19_MARK, A18_MARK, A17_MARK, A16_MARK,
457 COM2_RI_MARK, R_SPI_MOSI_MARK, R_SPI_MISO_MARK,
458 R_SPI_RSPCK_MARK, R_SPI_SSL0_MARK, R_SPI_SSL1_MARK,
459 EVENT7_MARK, EVENT6_MARK, VBIOS_DI_MARK, VBIOS_DO_MARK,
460 VBIOS_CLK_MARK, VBIOS_CS_MARK,
461
462 /* PTW (mobule: LBSC, EVC, SCIF) */
463 A15_MARK, A14_MARK, A13_MARK, A12_MARK,
464 A11_MARK, A10_MARK, A9_MARK, A8_MARK,
465 EVENT5_MARK, EVENT4_MARK, EVENT3_MARK, EVENT2_MARK,
466 EVENT1_MARK, EVENT0_MARK, CTS4_MARK, CTS2_MARK,
467
468 /* PTX (mobule: LBSC, SCIF, SIM) */
469 A7_MARK, A6_MARK, A5_MARK, A4_MARK,
470 A3_MARK, A2_MARK, A1_MARK, A0_MARK,
471 RTS2_MARK, SIM_D_MARK, SIM_CLK_MARK, SIM_RST_MARK,
472
473 /* PTY (mobule: LBSC) */
474 D7_MARK, D6_MARK, D5_MARK, D4_MARK,
475 D3_MARK, D2_MARK, D1_MARK, D0_MARK,
476
477 /* PTZ (mobule: eMMC, ONFI) */
478 MMCDAT7_MARK, MMCDAT6_MARK, MMCDAT5_MARK, MMCDAT4_MARK,
479 MMCDAT3_MARK, MMCDAT2_MARK, MMCDAT1_MARK, MMCDAT0_MARK,
480 ON_DQ7_MARK, ON_DQ6_MARK, ON_DQ5_MARK, ON_DQ4_MARK,
481 ON_DQ3_MARK, ON_DQ2_MARK, ON_DQ1_MARK, ON_DQ0_MARK,
482
483 PINMUX_MARK_END,
484};
485
Laurent Pinchart533743d2013-07-15 13:03:20 +0200486static const u16 pinmux_data[] = {
Laurent Pinchart0bb92672012-12-15 23:51:37 +0100487 /* PTA GPIO */
488 PINMUX_DATA(PTA7_DATA, PTA7_IN, PTA7_OUT),
489 PINMUX_DATA(PTA6_DATA, PTA6_IN, PTA6_OUT),
490 PINMUX_DATA(PTA5_DATA, PTA5_IN, PTA5_OUT),
491 PINMUX_DATA(PTA4_DATA, PTA4_IN, PTA4_OUT),
492 PINMUX_DATA(PTA3_DATA, PTA3_IN, PTA3_OUT),
493 PINMUX_DATA(PTA2_DATA, PTA2_IN, PTA2_OUT),
494 PINMUX_DATA(PTA1_DATA, PTA1_IN, PTA1_OUT),
495 PINMUX_DATA(PTA0_DATA, PTA0_IN, PTA0_OUT),
496
497 /* PTB GPIO */
498 PINMUX_DATA(PTB7_DATA, PTB7_IN, PTB7_OUT),
499 PINMUX_DATA(PTB6_DATA, PTB6_IN, PTB6_OUT),
500 PINMUX_DATA(PTB5_DATA, PTB5_IN, PTB5_OUT),
501 PINMUX_DATA(PTB4_DATA, PTB4_IN, PTB4_OUT),
502 PINMUX_DATA(PTB3_DATA, PTB3_IN, PTB3_OUT),
503 PINMUX_DATA(PTB2_DATA, PTB2_IN, PTB2_OUT),
504 PINMUX_DATA(PTB1_DATA, PTB1_IN, PTB1_OUT),
505 PINMUX_DATA(PTB0_DATA, PTB0_IN, PTB0_OUT),
506
507 /* PTC GPIO */
508 PINMUX_DATA(PTC7_DATA, PTC7_IN, PTC7_OUT),
509 PINMUX_DATA(PTC6_DATA, PTC6_IN, PTC6_OUT),
510 PINMUX_DATA(PTC5_DATA, PTC5_IN, PTC5_OUT),
511 PINMUX_DATA(PTC4_DATA, PTC4_IN, PTC4_OUT),
512 PINMUX_DATA(PTC3_DATA, PTC3_IN, PTC3_OUT),
513 PINMUX_DATA(PTC2_DATA, PTC2_IN, PTC2_OUT),
514 PINMUX_DATA(PTC1_DATA, PTC1_IN, PTC1_OUT),
515 PINMUX_DATA(PTC0_DATA, PTC0_IN, PTC0_OUT),
516
517 /* PTD GPIO */
518 PINMUX_DATA(PTD7_DATA, PTD7_IN, PTD7_OUT),
519 PINMUX_DATA(PTD6_DATA, PTD6_IN, PTD6_OUT),
520 PINMUX_DATA(PTD5_DATA, PTD5_IN, PTD5_OUT),
521 PINMUX_DATA(PTD4_DATA, PTD4_IN, PTD4_OUT),
522 PINMUX_DATA(PTD3_DATA, PTD3_IN, PTD3_OUT),
523 PINMUX_DATA(PTD2_DATA, PTD2_IN, PTD2_OUT),
524 PINMUX_DATA(PTD1_DATA, PTD1_IN, PTD1_OUT),
525 PINMUX_DATA(PTD0_DATA, PTD0_IN, PTD0_OUT),
526
527 /* PTE GPIO */
528 PINMUX_DATA(PTE7_DATA, PTE7_IN, PTE7_OUT),
529 PINMUX_DATA(PTE6_DATA, PTE6_IN, PTE6_OUT),
530 PINMUX_DATA(PTE5_DATA, PTE5_IN, PTE5_OUT),
531 PINMUX_DATA(PTE4_DATA, PTE4_IN, PTE4_OUT),
532 PINMUX_DATA(PTE3_DATA, PTE3_IN, PTE3_OUT),
533 PINMUX_DATA(PTE2_DATA, PTE2_IN, PTE2_OUT),
534 PINMUX_DATA(PTE1_DATA, PTE1_IN, PTE1_OUT),
535 PINMUX_DATA(PTE0_DATA, PTE0_IN, PTE0_OUT),
536
537 /* PTF GPIO */
538 PINMUX_DATA(PTF7_DATA, PTF7_IN, PTF7_OUT),
539 PINMUX_DATA(PTF6_DATA, PTF6_IN, PTF6_OUT),
540 PINMUX_DATA(PTF5_DATA, PTF5_IN, PTF5_OUT),
541 PINMUX_DATA(PTF4_DATA, PTF4_IN, PTF4_OUT),
542 PINMUX_DATA(PTF3_DATA, PTF3_IN, PTF3_OUT),
543 PINMUX_DATA(PTF2_DATA, PTF2_IN, PTF2_OUT),
544 PINMUX_DATA(PTF1_DATA, PTF1_IN, PTF1_OUT),
545 PINMUX_DATA(PTF0_DATA, PTF0_IN, PTF0_OUT),
546
547 /* PTG GPIO */
548 PINMUX_DATA(PTG7_DATA, PTG7_IN, PTG7_OUT),
549 PINMUX_DATA(PTG6_DATA, PTG6_IN, PTG6_OUT),
550 PINMUX_DATA(PTG5_DATA, PTG5_IN, PTG5_OUT),
551 PINMUX_DATA(PTG4_DATA, PTG4_IN, PTG4_OUT),
552 PINMUX_DATA(PTG3_DATA, PTG3_IN, PTG3_OUT),
553 PINMUX_DATA(PTG2_DATA, PTG2_IN, PTG2_OUT),
554 PINMUX_DATA(PTG1_DATA, PTG1_IN, PTG1_OUT),
555 PINMUX_DATA(PTG0_DATA, PTG0_IN, PTG0_OUT),
556
557 /* PTH GPIO */
558 PINMUX_DATA(PTH7_DATA, PTH7_IN, PTH7_OUT),
559 PINMUX_DATA(PTH6_DATA, PTH6_IN, PTH6_OUT),
560 PINMUX_DATA(PTH5_DATA, PTH5_IN, PTH5_OUT),
561 PINMUX_DATA(PTH4_DATA, PTH4_IN, PTH4_OUT),
562 PINMUX_DATA(PTH3_DATA, PTH3_IN, PTH3_OUT),
563 PINMUX_DATA(PTH2_DATA, PTH2_IN, PTH2_OUT),
564 PINMUX_DATA(PTH1_DATA, PTH1_IN, PTH1_OUT),
565 PINMUX_DATA(PTH0_DATA, PTH0_IN, PTH0_OUT),
566
567 /* PTI GPIO */
568 PINMUX_DATA(PTI7_DATA, PTI7_IN, PTI7_OUT),
569 PINMUX_DATA(PTI6_DATA, PTI6_IN, PTI6_OUT),
570 PINMUX_DATA(PTI5_DATA, PTI5_IN, PTI5_OUT),
571 PINMUX_DATA(PTI4_DATA, PTI4_IN, PTI4_OUT),
572 PINMUX_DATA(PTI3_DATA, PTI3_IN, PTI3_OUT),
573 PINMUX_DATA(PTI2_DATA, PTI2_IN, PTI2_OUT),
574 PINMUX_DATA(PTI1_DATA, PTI1_IN, PTI1_OUT),
575 PINMUX_DATA(PTI0_DATA, PTI0_IN, PTI0_OUT),
576
577 /* PTJ GPIO */
578 PINMUX_DATA(PTJ6_DATA, PTJ6_IN, PTJ6_OUT),
579 PINMUX_DATA(PTJ5_DATA, PTJ5_IN, PTJ5_OUT),
580 PINMUX_DATA(PTJ4_DATA, PTJ4_IN, PTJ4_OUT),
581 PINMUX_DATA(PTJ3_DATA, PTJ3_IN, PTJ3_OUT),
582 PINMUX_DATA(PTJ2_DATA, PTJ2_IN, PTJ2_OUT),
583 PINMUX_DATA(PTJ1_DATA, PTJ1_IN, PTJ1_OUT),
584 PINMUX_DATA(PTJ0_DATA, PTJ0_IN, PTJ0_OUT),
585
586 /* PTK GPIO */
587 PINMUX_DATA(PTK7_DATA, PTK7_IN, PTK7_OUT),
588 PINMUX_DATA(PTK6_DATA, PTK6_IN, PTK6_OUT),
589 PINMUX_DATA(PTK5_DATA, PTK5_IN, PTK5_OUT),
590 PINMUX_DATA(PTK4_DATA, PTK4_IN, PTK4_OUT),
591 PINMUX_DATA(PTK3_DATA, PTK3_IN, PTK3_OUT),
592 PINMUX_DATA(PTK2_DATA, PTK2_IN, PTK2_OUT),
593 PINMUX_DATA(PTK1_DATA, PTK1_IN, PTK1_OUT),
594 PINMUX_DATA(PTK0_DATA, PTK0_IN, PTK0_OUT),
595
596 /* PTL GPIO */
597 PINMUX_DATA(PTL6_DATA, PTL6_IN, PTL6_OUT),
598 PINMUX_DATA(PTL5_DATA, PTL5_IN, PTL5_OUT),
599 PINMUX_DATA(PTL4_DATA, PTL4_IN, PTL4_OUT),
600 PINMUX_DATA(PTL3_DATA, PTL3_IN, PTL3_OUT),
601 PINMUX_DATA(PTL2_DATA, PTL2_IN, PTL2_OUT),
602 PINMUX_DATA(PTL1_DATA, PTL1_IN, PTL1_OUT),
603 PINMUX_DATA(PTL0_DATA, PTL0_IN, PTL0_OUT),
604
605 /* PTM GPIO */
606 PINMUX_DATA(PTM6_DATA, PTM6_IN, PTM6_OUT),
607 PINMUX_DATA(PTM5_DATA, PTM5_IN, PTM5_OUT),
608 PINMUX_DATA(PTM4_DATA, PTM4_IN, PTM4_OUT),
609 PINMUX_DATA(PTM3_DATA, PTM3_IN, PTM3_OUT),
610 PINMUX_DATA(PTM2_DATA, PTM2_IN, PTM2_OUT),
611 PINMUX_DATA(PTM1_DATA, PTM1_IN, PTM1_OUT),
612 PINMUX_DATA(PTM0_DATA, PTM0_IN, PTM0_OUT),
613
614 /* PTN GPIO */
615 PINMUX_DATA(PTN6_DATA, PTN6_IN, PTN6_OUT),
616 PINMUX_DATA(PTN5_DATA, PTN5_IN, PTN5_OUT),
617 PINMUX_DATA(PTN4_DATA, PTN4_IN, PTN4_OUT),
618 PINMUX_DATA(PTN3_DATA, PTN3_IN, PTN3_OUT),
619 PINMUX_DATA(PTN2_DATA, PTN2_IN, PTN2_OUT),
620 PINMUX_DATA(PTN1_DATA, PTN1_IN, PTN1_OUT),
621 PINMUX_DATA(PTN0_DATA, PTN0_IN, PTN0_OUT),
622
623 /* PTO GPIO */
624 PINMUX_DATA(PTO7_DATA, PTO7_IN, PTO7_OUT),
625 PINMUX_DATA(PTO6_DATA, PTO6_IN, PTO6_OUT),
626 PINMUX_DATA(PTO5_DATA, PTO5_IN, PTO5_OUT),
627 PINMUX_DATA(PTO4_DATA, PTO4_IN, PTO4_OUT),
628 PINMUX_DATA(PTO3_DATA, PTO3_IN, PTO3_OUT),
629 PINMUX_DATA(PTO2_DATA, PTO2_IN, PTO2_OUT),
630 PINMUX_DATA(PTO1_DATA, PTO1_IN, PTO1_OUT),
631 PINMUX_DATA(PTO0_DATA, PTO0_IN, PTO0_OUT),
632
633 /* PTQ GPIO */
634 PINMUX_DATA(PTQ6_DATA, PTQ6_IN, PTQ6_OUT),
635 PINMUX_DATA(PTQ5_DATA, PTQ5_IN, PTQ5_OUT),
636 PINMUX_DATA(PTQ4_DATA, PTQ4_IN, PTQ4_OUT),
637 PINMUX_DATA(PTQ3_DATA, PTQ3_IN, PTQ3_OUT),
638 PINMUX_DATA(PTQ2_DATA, PTQ2_IN, PTQ2_OUT),
639 PINMUX_DATA(PTQ1_DATA, PTQ1_IN, PTQ1_OUT),
640 PINMUX_DATA(PTQ0_DATA, PTQ0_IN, PTQ0_OUT),
641
642 /* PTR GPIO */
643 PINMUX_DATA(PTR7_DATA, PTR7_IN, PTR7_OUT),
644 PINMUX_DATA(PTR6_DATA, PTR6_IN, PTR6_OUT),
645 PINMUX_DATA(PTR5_DATA, PTR5_IN, PTR5_OUT),
646 PINMUX_DATA(PTR4_DATA, PTR4_IN, PTR4_OUT),
647 PINMUX_DATA(PTR3_DATA, PTR3_IN, PTR3_OUT),
648 PINMUX_DATA(PTR2_DATA, PTR2_IN, PTR2_OUT),
649 PINMUX_DATA(PTR1_DATA, PTR1_IN, PTR1_OUT),
650 PINMUX_DATA(PTR0_DATA, PTR0_IN, PTR0_OUT),
651
652 /* PTS GPIO */
653 PINMUX_DATA(PTS7_DATA, PTS7_IN, PTS7_OUT),
654 PINMUX_DATA(PTS6_DATA, PTS6_IN, PTS6_OUT),
655 PINMUX_DATA(PTS5_DATA, PTS5_IN, PTS5_OUT),
656 PINMUX_DATA(PTS4_DATA, PTS4_IN, PTS4_OUT),
657 PINMUX_DATA(PTS3_DATA, PTS3_IN, PTS3_OUT),
658 PINMUX_DATA(PTS2_DATA, PTS2_IN, PTS2_OUT),
659 PINMUX_DATA(PTS1_DATA, PTS1_IN, PTS1_OUT),
660 PINMUX_DATA(PTS0_DATA, PTS0_IN, PTS0_OUT),
661
662 /* PTT GPIO */
663 PINMUX_DATA(PTT7_DATA, PTT7_IN, PTT7_OUT),
664 PINMUX_DATA(PTT6_DATA, PTT6_IN, PTT6_OUT),
665 PINMUX_DATA(PTT5_DATA, PTT5_IN, PTT5_OUT),
666 PINMUX_DATA(PTT4_DATA, PTT4_IN, PTT4_OUT),
667 PINMUX_DATA(PTT3_DATA, PTT3_IN, PTT3_OUT),
668 PINMUX_DATA(PTT2_DATA, PTT2_IN, PTT2_OUT),
669 PINMUX_DATA(PTT1_DATA, PTT1_IN, PTT1_OUT),
670 PINMUX_DATA(PTT0_DATA, PTT0_IN, PTT0_OUT),
671
672 /* PTU GPIO */
673 PINMUX_DATA(PTU7_DATA, PTU7_IN, PTU7_OUT),
674 PINMUX_DATA(PTU6_DATA, PTU6_IN, PTU6_OUT),
675 PINMUX_DATA(PTU5_DATA, PTU5_IN, PTU5_OUT),
676 PINMUX_DATA(PTU4_DATA, PTU4_IN, PTU4_OUT),
677 PINMUX_DATA(PTU3_DATA, PTU3_IN, PTU3_OUT),
678 PINMUX_DATA(PTU2_DATA, PTU2_IN, PTU2_OUT),
679 PINMUX_DATA(PTU1_DATA, PTU1_IN, PTU1_OUT),
680 PINMUX_DATA(PTU0_DATA, PTU0_IN, PTU0_OUT),
681
682 /* PTV GPIO */
683 PINMUX_DATA(PTV7_DATA, PTV7_IN, PTV7_OUT),
684 PINMUX_DATA(PTV6_DATA, PTV6_IN, PTV6_OUT),
685 PINMUX_DATA(PTV5_DATA, PTV5_IN, PTV5_OUT),
686 PINMUX_DATA(PTV4_DATA, PTV4_IN, PTV4_OUT),
687 PINMUX_DATA(PTV3_DATA, PTV3_IN, PTV3_OUT),
688 PINMUX_DATA(PTV2_DATA, PTV2_IN, PTV2_OUT),
689 PINMUX_DATA(PTV1_DATA, PTV1_IN, PTV1_OUT),
690 PINMUX_DATA(PTV0_DATA, PTV0_IN, PTV0_OUT),
691
692 /* PTW GPIO */
693 PINMUX_DATA(PTW7_DATA, PTW7_IN, PTW7_OUT),
694 PINMUX_DATA(PTW6_DATA, PTW6_IN, PTW6_OUT),
695 PINMUX_DATA(PTW5_DATA, PTW5_IN, PTW5_OUT),
696 PINMUX_DATA(PTW4_DATA, PTW4_IN, PTW4_OUT),
697 PINMUX_DATA(PTW3_DATA, PTW3_IN, PTW3_OUT),
698 PINMUX_DATA(PTW2_DATA, PTW2_IN, PTW2_OUT),
699 PINMUX_DATA(PTW1_DATA, PTW1_IN, PTW1_OUT),
700 PINMUX_DATA(PTW0_DATA, PTW0_IN, PTW0_OUT),
701
702 /* PTX GPIO */
703 PINMUX_DATA(PTX7_DATA, PTX7_IN, PTX7_OUT),
704 PINMUX_DATA(PTX6_DATA, PTX6_IN, PTX6_OUT),
705 PINMUX_DATA(PTX5_DATA, PTX5_IN, PTX5_OUT),
706 PINMUX_DATA(PTX4_DATA, PTX4_IN, PTX4_OUT),
707 PINMUX_DATA(PTX3_DATA, PTX3_IN, PTX3_OUT),
708 PINMUX_DATA(PTX2_DATA, PTX2_IN, PTX2_OUT),
709 PINMUX_DATA(PTX1_DATA, PTX1_IN, PTX1_OUT),
710 PINMUX_DATA(PTX0_DATA, PTX0_IN, PTX0_OUT),
711
712 /* PTY GPIO */
713 PINMUX_DATA(PTY7_DATA, PTY7_IN, PTY7_OUT),
714 PINMUX_DATA(PTY6_DATA, PTY6_IN, PTY6_OUT),
715 PINMUX_DATA(PTY5_DATA, PTY5_IN, PTY5_OUT),
716 PINMUX_DATA(PTY4_DATA, PTY4_IN, PTY4_OUT),
717 PINMUX_DATA(PTY3_DATA, PTY3_IN, PTY3_OUT),
718 PINMUX_DATA(PTY2_DATA, PTY2_IN, PTY2_OUT),
719 PINMUX_DATA(PTY1_DATA, PTY1_IN, PTY1_OUT),
720 PINMUX_DATA(PTY0_DATA, PTY0_IN, PTY0_OUT),
721
722 /* PTZ GPIO */
723 PINMUX_DATA(PTZ7_DATA, PTZ7_IN, PTZ7_OUT),
724 PINMUX_DATA(PTZ6_DATA, PTZ6_IN, PTZ6_OUT),
725 PINMUX_DATA(PTZ5_DATA, PTZ5_IN, PTZ5_OUT),
726 PINMUX_DATA(PTZ4_DATA, PTZ4_IN, PTZ4_OUT),
727 PINMUX_DATA(PTZ3_DATA, PTZ3_IN, PTZ3_OUT),
728 PINMUX_DATA(PTZ2_DATA, PTZ2_IN, PTZ2_OUT),
729 PINMUX_DATA(PTZ1_DATA, PTZ1_IN, PTZ1_OUT),
730 PINMUX_DATA(PTZ0_DATA, PTZ0_IN, PTZ0_OUT),
731
732 /* PTA FN */
733 PINMUX_DATA(BS_MARK, PTA7_FN),
734 PINMUX_DATA(RDWR_MARK, PTA6_FN),
735 PINMUX_DATA(WE1_MARK, PTA5_FN),
736 PINMUX_DATA(RDY_MARK, PTA4_FN),
737 PINMUX_DATA(ET0_MDC_MARK, PTA3_FN),
738 PINMUX_DATA(ET0_MDIO_MARK, PTA2_FN),
739 PINMUX_DATA(ET1_MDC_MARK, PTA1_FN),
740 PINMUX_DATA(ET1_MDIO_MARK, PTA0_FN),
741
742 /* PTB FN */
743 PINMUX_DATA(IRQ15_MARK, PS0_15_FN1, PTB7_FN),
744 PINMUX_DATA(ON_NRE_MARK, PS0_15_FN2, PTB7_FN),
745 PINMUX_DATA(IRQ14_MARK, PS0_14_FN1, PTB6_FN),
746 PINMUX_DATA(ON_NWE_MARK, PS0_14_FN2, PTB6_FN),
747 PINMUX_DATA(IRQ13_MARK, PS0_13_FN1, PTB5_FN),
748 PINMUX_DATA(ON_NWP_MARK, PS0_13_FN2, PTB5_FN),
749 PINMUX_DATA(IRQ12_MARK, PS0_12_FN1, PTB4_FN),
750 PINMUX_DATA(ON_NCE0_MARK, PS0_12_FN2, PTB4_FN),
751 PINMUX_DATA(IRQ11_MARK, PS0_11_FN1, PTB3_FN),
752 PINMUX_DATA(ON_R_B0_MARK, PS0_11_FN2, PTB3_FN),
753 PINMUX_DATA(IRQ10_MARK, PS0_10_FN1, PTB2_FN),
754 PINMUX_DATA(ON_ALE_MARK, PS0_10_FN2, PTB2_FN),
755 PINMUX_DATA(IRQ9_MARK, PS0_9_FN1, PTB1_FN),
756 PINMUX_DATA(ON_CLE_MARK, PS0_9_FN2, PTB1_FN),
757 PINMUX_DATA(IRQ8_MARK, PS0_8_FN1, PTB0_FN),
758 PINMUX_DATA(TCLK_MARK, PS0_8_FN2, PTB0_FN),
759
760 /* PTC FN */
761 PINMUX_DATA(IRQ7_MARK, PS0_7_FN1, PTC7_FN),
762 PINMUX_DATA(PWMU0_MARK, PS0_7_FN2, PTC7_FN),
763 PINMUX_DATA(IRQ6_MARK, PS0_6_FN1, PTC6_FN),
764 PINMUX_DATA(PWMU1_MARK, PS0_6_FN2, PTC6_FN),
765 PINMUX_DATA(IRQ5_MARK, PS0_5_FN1, PTC5_FN),
766 PINMUX_DATA(PWMU2_MARK, PS0_5_FN2, PTC5_FN),
767 PINMUX_DATA(IRQ4_MARK, PS0_4_FN1, PTC5_FN),
768 PINMUX_DATA(PWMU3_MARK, PS0_4_FN2, PTC4_FN),
769 PINMUX_DATA(IRQ3_MARK, PS0_3_FN1, PTC3_FN),
770 PINMUX_DATA(PWMU4_MARK, PS0_3_FN2, PTC3_FN),
771 PINMUX_DATA(IRQ2_MARK, PS0_2_FN1, PTC2_FN),
772 PINMUX_DATA(PWMU5_MARK, PS0_2_FN2, PTC2_FN),
773 PINMUX_DATA(IRQ1_MARK, PTC1_FN),
774 PINMUX_DATA(IRQ0_MARK, PTC0_FN),
775
776 /* PTD FN */
777 PINMUX_DATA(SP0_MOSI_MARK, PTD7_FN),
778 PINMUX_DATA(SP0_MISO_MARK, PTD6_FN),
779 PINMUX_DATA(SP0_SCK_MARK, PTD5_FN),
780 PINMUX_DATA(SP0_SCK_FB_MARK, PTD4_FN),
781 PINMUX_DATA(SP0_SS0_MARK, PTD3_FN),
782 PINMUX_DATA(SP0_SS1_MARK, PS1_10_FN1, PTD2_FN),
783 PINMUX_DATA(DREQ0_MARK, PS1_10_FN2, PTD2_FN),
784 PINMUX_DATA(SP0_SS2_MARK, PS1_9_FN1, PTD1_FN),
785 PINMUX_DATA(DACK0_MARK, PS1_9_FN2, PTD1_FN),
786 PINMUX_DATA(SP0_SS3_MARK, PS1_8_FN1, PTD0_FN),
787 PINMUX_DATA(TEND0_MARK, PS1_8_FN2, PTD0_FN),
788
789 /* PTE FN */
790 PINMUX_DATA(RMII0_CRS_DV_MARK, PTE7_FN),
791 PINMUX_DATA(RMII0_TXD1_MARK, PTE6_FN),
792 PINMUX_DATA(RMII0_TXD0_MARK, PTE5_FN),
793 PINMUX_DATA(RMII0_TXEN_MARK, PTE4_FN),
794 PINMUX_DATA(RMII0_REFCLK_MARK, PTE3_FN),
795 PINMUX_DATA(RMII0_RXD1_MARK, PTE2_FN),
796 PINMUX_DATA(RMII0_RXD0_MARK, PTE1_FN),
797 PINMUX_DATA(RMII0_RX_ER_MARK, PTE0_FN),
798
799 /* PTF FN */
800 PINMUX_DATA(RMII1_CRS_DV_MARK, PTF7_FN),
801 PINMUX_DATA(RMII1_TXD1_MARK, PTF6_FN),
802 PINMUX_DATA(RMII1_TXD0_MARK, PTF5_FN),
803 PINMUX_DATA(RMII1_TXEN_MARK, PTF4_FN),
804 PINMUX_DATA(RMII1_REFCLK_MARK, PTF3_FN),
805 PINMUX_DATA(RMII1_RXD1_MARK, PS1_2_FN1, PTF2_FN),
806 PINMUX_DATA(RAC_RI_MARK, PS1_2_FN2, PTF2_FN),
807 PINMUX_DATA(RMII1_RXD0_MARK, PTF1_FN),
808 PINMUX_DATA(RMII1_RX_ER_MARK, PTF0_FN),
809
810 /* PTG FN */
811 PINMUX_DATA(BOOTFMS_MARK, PTG7_FN),
812 PINMUX_DATA(BOOTWP_MARK, PTG6_FN),
813 PINMUX_DATA(A25_MARK, PS2_13_FN1, PTG5_FN),
814 PINMUX_DATA(MMCCLK_MARK, PS2_13_FN2, PTG5_FN),
815 PINMUX_DATA(A24_MARK, PS2_12_FN1, PTG4_FN),
816 PINMUX_DATA(MMCCMD_MARK, PS2_12_FN2, PTG4_FN),
817 PINMUX_DATA(SERIRQ_MARK, PTG3_FN),
818 PINMUX_DATA(WDTOVF_MARK, PTG2_FN),
819 PINMUX_DATA(LPCPD_MARK, PTG1_FN),
820 PINMUX_DATA(LDRQ_MARK, PTG0_FN),
821
822 /* PTH FN */
823 PINMUX_DATA(SP1_MOSI_MARK, PS2_7_FN1, PTH7_FN),
824 PINMUX_DATA(TEND1_MARK, PS2_7_FN2, PTH7_FN),
825 PINMUX_DATA(SP1_MISO_MARK, PS2_6_FN1, PTH6_FN),
826 PINMUX_DATA(DREQ1_MARK, PS2_6_FN2, PTH6_FN),
827 PINMUX_DATA(SP1_SCK_MARK, PS2_5_FN1, PTH5_FN),
828 PINMUX_DATA(DACK1_MARK, PS2_5_FN2, PTH5_FN),
829 PINMUX_DATA(SP1_SCK_FB_MARK, PS2_4_FN1, PTH4_FN),
830 PINMUX_DATA(ADTRG1_MARK, PS2_4_FN2, PTH4_FN),
831 PINMUX_DATA(SP1_SS0_MARK, PTH3_FN),
832 PINMUX_DATA(SP1_SS1_MARK, PS2_2_FN1, PTH2_FN),
833 PINMUX_DATA(ADTRG0_MARK, PS2_2_FN2, PTH2_FN),
834 PINMUX_DATA(WP_MARK, PTH1_FN),
835 PINMUX_DATA(FMS0_MARK, PTH0_FN),
836
837 /* PTI FN */
838 PINMUX_DATA(D15_MARK, PS3_15_FN1, PTI7_FN),
839 PINMUX_DATA(SD_WP_MARK, PS3_15_FN2, PTI7_FN),
840 PINMUX_DATA(D14_MARK, PS3_14_FN1, PTI6_FN),
841 PINMUX_DATA(SD_CD_MARK, PS3_14_FN2, PTI6_FN),
842 PINMUX_DATA(D13_MARK, PS3_13_FN1, PTI5_FN),
843 PINMUX_DATA(SD_CLK_MARK, PS3_13_FN2, PTI5_FN),
844 PINMUX_DATA(D12_MARK, PS3_12_FN1, PTI4_FN),
845 PINMUX_DATA(SD_CMD_MARK, PS3_12_FN2, PTI4_FN),
846 PINMUX_DATA(D11_MARK, PS3_11_FN1, PTI3_FN),
847 PINMUX_DATA(SD_D3_MARK, PS3_11_FN2, PTI3_FN),
848 PINMUX_DATA(D10_MARK, PS3_10_FN1, PTI2_FN),
849 PINMUX_DATA(SD_D2_MARK, PS3_10_FN2, PTI2_FN),
850 PINMUX_DATA(D9_MARK, PS3_9_FN1, PTI1_FN),
851 PINMUX_DATA(SD_D1_MARK, PS3_9_FN2, PTI1_FN),
852 PINMUX_DATA(D8_MARK, PS3_8_FN1, PTI0_FN),
853 PINMUX_DATA(SD_D0_MARK, PS3_8_FN2, PTI0_FN),
854
855 /* PTJ FN */
856 PINMUX_DATA(RTS3_MARK, PTJ6_FN),
857 PINMUX_DATA(CTS3_MARK, PTJ5_FN),
858 PINMUX_DATA(TXD3_MARK, PTJ4_FN),
859 PINMUX_DATA(RXD3_MARK, PTJ3_FN),
860 PINMUX_DATA(RTS4_MARK, PTJ2_FN),
861 PINMUX_DATA(RXD4_MARK, PTJ1_FN),
862 PINMUX_DATA(TXD4_MARK, PTJ0_FN),
863
864 /* PTK FN */
865 PINMUX_DATA(COM2_TXD_MARK, PS3_7_FN1, PTK7_FN),
866 PINMUX_DATA(SCK2_MARK, PS3_7_FN2, PTK7_FN),
867 PINMUX_DATA(COM2_RXD_MARK, PTK6_FN),
868 PINMUX_DATA(COM2_RTS_MARK, PTK5_FN),
869 PINMUX_DATA(COM2_CTS_MARK, PTK4_FN),
870 PINMUX_DATA(COM2_DTR_MARK, PTK3_FN),
871 PINMUX_DATA(COM2_DSR_MARK, PS3_2_FN1, PTK2_FN),
872 PINMUX_DATA(SCK4_MARK, PS3_2_FN2, PTK2_FN),
873 PINMUX_DATA(COM2_DCD_MARK, PS3_1_FN1, PTK1_FN),
874 PINMUX_DATA(SCK3_MARK, PS3_1_FN2, PTK1_FN),
875 PINMUX_DATA(CLKOUT_MARK, PTK0_FN),
876
877 /* PTL FN */
878 PINMUX_DATA(RAC_RXD_MARK, PS4_14_FN1, PTL6_FN),
879 PINMUX_DATA(RXD2_MARK, PS4_14_FN2, PTL6_FN),
880 PINMUX_DATA(RAC_RTS_MARK, PS4_13_FN1, PTL5_FN),
881 PINMUX_DATA(CS5_MARK, PS4_13_FN2, PTL5_FN),
882 PINMUX_DATA(RAC_CTS_MARK, PS4_12_FN1, PTL4_FN),
883 PINMUX_DATA(CS6_MARK, PS4_12_FN2, PTL4_FN),
884 PINMUX_DATA(RAC_DTR_MARK, PTL3_FN),
885 PINMUX_DATA(RAC_DSR_MARK, PS4_10_FN1, PTL2_FN),
886 PINMUX_DATA(AUDSYNC_MARK, PS4_10_FN2, PTL2_FN),
887 PINMUX_DATA(RAC_DCD_MARK, PS4_9_FN1, PTL1_FN),
888 PINMUX_DATA(AUDCK_MARK, PS4_9_FN2, PTL1_FN),
889 PINMUX_DATA(RAC_TXD_MARK, PS4_8_FN1, PTL0_FN),
890 PINMUX_DATA(TXD2_MARK, PS4_8_FN1, PTL0_FN),
891
892 /* PTM FN */
893 PINMUX_DATA(CS4_MARK, PTM7_FN),
894 PINMUX_DATA(RD_MARK, PTM6_FN),
895 PINMUX_DATA(WE0_MARK, PTM7_FN),
896 PINMUX_DATA(CS0_MARK, PTM4_FN),
897 PINMUX_DATA(SDA6_MARK, PTM3_FN),
898 PINMUX_DATA(SCL6_MARK, PTM2_FN),
899 PINMUX_DATA(SDA7_MARK, PTM1_FN),
900 PINMUX_DATA(SCL7_MARK, PTM0_FN),
901
902 /* PTN FN */
903 PINMUX_DATA(VBUS_EN_MARK, PTN6_FN),
904 PINMUX_DATA(VBUS_OC_MARK, PTN5_FN),
905 PINMUX_DATA(JMCTCK_MARK, PS4_4_FN1, PTN4_FN),
906 PINMUX_DATA(SGPIO1_CLK_MARK, PS4_4_FN2, PTN4_FN),
907 PINMUX_DATA(JMCTMS_MARK, PS4_3_FN1, PTN5_FN),
908 PINMUX_DATA(SGPIO1_LOAD_MARK, PS4_3_FN2, PTN5_FN),
909 PINMUX_DATA(JMCTDO_MARK, PS4_2_FN1, PTN2_FN),
910 PINMUX_DATA(SGPIO1_DO_MARK, PS4_2_FN2, PTN2_FN),
911 PINMUX_DATA(JMCTDI_MARK, PS4_1_FN1, PTN1_FN),
912 PINMUX_DATA(SGPIO1_DI_MARK, PS4_1_FN2, PTN1_FN),
913 PINMUX_DATA(JMCTRST_MARK, PS4_0_FN1, PTN0_FN),
914 PINMUX_DATA(SUB_CLKIN_MARK, PS4_0_FN2, PTN0_FN),
915
916 /* PTO FN */
917 PINMUX_DATA(SGPIO0_CLK_MARK, PTO7_FN),
918 PINMUX_DATA(SGPIO0_LOAD_MARK, PTO6_FN),
919 PINMUX_DATA(SGPIO0_DI_MARK, PTO5_FN),
920 PINMUX_DATA(SGPIO0_DO_MARK, PTO4_FN),
921 PINMUX_DATA(SGPIO2_CLK_MARK, PS5_11_FN1, PTO3_FN),
922 PINMUX_DATA(COM1_TXD_MARK, PS5_11_FN2, PTO3_FN),
923 PINMUX_DATA(SGPIO2_LOAD_MARK, PS5_10_FN1, PTO2_FN),
924 PINMUX_DATA(COM1_RXD_MARK, PS5_10_FN2, PTO2_FN),
925 PINMUX_DATA(SGPIO2_DI_MARK, PS5_9_FN1, PTO1_FN),
926 PINMUX_DATA(COM1_RTS_MARK, PS5_9_FN2, PTO1_FN),
927 PINMUX_DATA(SGPIO2_DO_MARK, PS5_8_FN1, PTO0_FN),
928 PINMUX_DATA(COM1_CTS_MARK, PS5_8_FN2, PTO0_FN),
929
930 /* PTP FN */
931
932 /* PTQ FN */
933 PINMUX_DATA(LAD3_MARK, PTQ6_FN),
934 PINMUX_DATA(LAD2_MARK, PTQ5_FN),
935 PINMUX_DATA(LAD1_MARK, PTQ4_FN),
936 PINMUX_DATA(LAD0_MARK, PTQ3_FN),
937 PINMUX_DATA(LFRAME_MARK, PTQ2_FN),
938 PINMUX_DATA(LRESET_MARK, PTQ1_FN),
939 PINMUX_DATA(LCLK_MARK, PTQ0_FN),
940
941 /* PTR FN */
942 PINMUX_DATA(SDA8_MARK, PTR7_FN), /* DDC3? */
943 PINMUX_DATA(SCL8_MARK, PTR6_FN), /* DDC2? */
944 PINMUX_DATA(SDA2_MARK, PTR5_FN),
945 PINMUX_DATA(SCL2_MARK, PTR4_FN),
946 PINMUX_DATA(SDA1_MARK, PTR3_FN),
947 PINMUX_DATA(SCL1_MARK, PTR2_FN),
948 PINMUX_DATA(SDA0_MARK, PTR1_FN),
949 PINMUX_DATA(SCL0_MARK, PTR0_FN),
950
951 /* PTS FN */
952 PINMUX_DATA(SDA9_MARK, PTS7_FN), /* DDC1? */
953 PINMUX_DATA(SCL9_MARK, PTS6_FN), /* DDC0? */
954 PINMUX_DATA(SDA5_MARK, PTS5_FN),
955 PINMUX_DATA(SCL5_MARK, PTS4_FN),
956 PINMUX_DATA(SDA4_MARK, PTS3_FN),
957 PINMUX_DATA(SCL4_MARK, PTS2_FN),
958 PINMUX_DATA(SDA3_MARK, PTS1_FN),
959 PINMUX_DATA(SCL3_MARK, PTS0_FN),
960
961 /* PTT FN */
962 PINMUX_DATA(PWMX7_MARK, PS5_7_FN1, PTT7_FN),
963 PINMUX_DATA(AUDATA3_MARK, PS5_7_FN2, PTT7_FN),
964 PINMUX_DATA(PWMX6_MARK, PS5_6_FN1, PTT6_FN),
965 PINMUX_DATA(AUDATA2_MARK, PS5_6_FN2, PTT6_FN),
966 PINMUX_DATA(PWMX5_MARK, PS5_5_FN1, PTT5_FN),
967 PINMUX_DATA(AUDATA1_MARK, PS5_5_FN2, PTT5_FN),
968 PINMUX_DATA(PWMX4_MARK, PS5_4_FN1, PTT4_FN),
969 PINMUX_DATA(AUDATA0_MARK, PS5_4_FN2, PTT4_FN),
970 PINMUX_DATA(PWMX3_MARK, PS5_3_FN1, PTT3_FN),
971 PINMUX_DATA(STATUS1_MARK, PS5_3_FN2, PTT3_FN),
972 PINMUX_DATA(PWMX2_MARK, PS5_2_FN1, PTT2_FN),
973 PINMUX_DATA(STATUS0_MARK, PS5_2_FN2, PTT2_FN),
974 PINMUX_DATA(PWMX1_MARK, PTT1_FN),
975 PINMUX_DATA(PWMX0_MARK, PTT0_FN),
976
977 /* PTU FN */
978 PINMUX_DATA(LGPIO7_MARK, PS6_15_FN1, PTU7_FN),
979 PINMUX_DATA(APMONCTL_O_MARK, PS6_15_FN2, PTU7_FN),
980 PINMUX_DATA(LGPIO6_MARK, PS6_14_FN1, PTU6_FN),
981 PINMUX_DATA(APMPWBTOUT_O_MARK, PS6_14_FN2, PTU6_FN),
982 PINMUX_DATA(LGPIO5_MARK, PS6_13_FN1, PTU5_FN),
983 PINMUX_DATA(APMSCI_O_MARK, PS6_13_FN2, PTU5_FN),
984 PINMUX_DATA(LGPIO4_MARK, PS6_12_FN1, PTU4_FN),
985 PINMUX_DATA(APMVDDON_MARK, PS6_12_FN2, PTU4_FN),
986 PINMUX_DATA(LGPIO3_MARK, PS6_11_FN1, PTU3_FN),
987 PINMUX_DATA(APMSLPBTN_MARK, PS6_11_FN2, PTU3_FN),
988 PINMUX_DATA(LGPIO2_MARK, PS6_10_FN1, PTU2_FN),
989 PINMUX_DATA(APMPWRBTN_MARK, PS6_10_FN2, PTU2_FN),
990 PINMUX_DATA(LGPIO1_MARK, PS6_9_FN1, PTU1_FN),
991 PINMUX_DATA(APMS5N_MARK, PS6_9_FN2, PTU1_FN),
992 PINMUX_DATA(LGPIO0_MARK, PS6_8_FN1, PTU0_FN),
993 PINMUX_DATA(APMS3N_MARK, PS6_8_FN2, PTU0_FN),
994
995 /* PTV FN */
996 PINMUX_DATA(A23_MARK, PS6_7_FN1, PTV7_FN),
997 PINMUX_DATA(COM2_RI_MARK, PS6_7_FN2, PTV7_FN),
998 PINMUX_DATA(A22_MARK, PS6_6_FN1, PTV6_FN),
999 PINMUX_DATA(R_SPI_MOSI_MARK, PS6_6_FN2, PTV6_FN),
1000 PINMUX_DATA(A21_MARK, PS6_5_FN1, PTV5_FN),
1001 PINMUX_DATA(R_SPI_MISO_MARK, PS6_5_FN2, PTV5_FN),
1002 PINMUX_DATA(A20_MARK, PS6_4_FN1, PTV4_FN),
1003 PINMUX_DATA(R_SPI_RSPCK_MARK, PS6_4_FN2, PTV4_FN),
1004 PINMUX_DATA(A19_MARK, PS6_3_FN1, PTV3_FN),
1005 PINMUX_DATA(R_SPI_SSL0_MARK, PS6_3_FN2, PTV3_FN),
1006 PINMUX_DATA(A18_MARK, PS6_2_FN1, PTV2_FN),
1007 PINMUX_DATA(R_SPI_SSL1_MARK, PS6_2_FN2, PTV2_FN),
1008 PINMUX_DATA(A17_MARK, PS6_1_FN1, PTV1_FN),
1009 PINMUX_DATA(EVENT7_MARK, PS6_1_FN2, PTV1_FN),
1010 PINMUX_DATA(A16_MARK, PS6_0_FN1, PTV0_FN),
1011 PINMUX_DATA(EVENT6_MARK, PS6_0_FN1, PTV0_FN),
1012
1013 /* PTW FN */
1014 PINMUX_DATA(A15_MARK, PS7_15_FN1, PTW7_FN),
1015 PINMUX_DATA(EVENT5_MARK, PS7_15_FN2, PTW7_FN),
1016 PINMUX_DATA(A14_MARK, PS7_14_FN1, PTW6_FN),
1017 PINMUX_DATA(EVENT4_MARK, PS7_14_FN2, PTW6_FN),
1018 PINMUX_DATA(A13_MARK, PS7_13_FN1, PTW5_FN),
1019 PINMUX_DATA(EVENT3_MARK, PS7_13_FN2, PTW5_FN),
1020 PINMUX_DATA(A12_MARK, PS7_12_FN1, PTW4_FN),
1021 PINMUX_DATA(EVENT2_MARK, PS7_12_FN2, PTW4_FN),
1022 PINMUX_DATA(A11_MARK, PS7_11_FN1, PTW3_FN),
1023 PINMUX_DATA(EVENT1_MARK, PS7_11_FN2, PTW3_FN),
1024 PINMUX_DATA(A10_MARK, PS7_10_FN1, PTW2_FN),
1025 PINMUX_DATA(EVENT0_MARK, PS7_10_FN2, PTW2_FN),
1026 PINMUX_DATA(A9_MARK, PS7_9_FN1, PTW1_FN),
1027 PINMUX_DATA(CTS4_MARK, PS7_9_FN2, PTW1_FN),
1028 PINMUX_DATA(A8_MARK, PS7_8_FN1, PTW0_FN),
1029 PINMUX_DATA(CTS2_MARK, PS7_8_FN2, PTW0_FN),
1030
1031 /* PTX FN */
1032 PINMUX_DATA(A7_MARK, PS7_7_FN1, PTX7_FN),
1033 PINMUX_DATA(RTS2_MARK, PS7_7_FN2, PTX7_FN),
1034 PINMUX_DATA(A6_MARK, PS7_6_FN1, PTX6_FN),
1035 PINMUX_DATA(SIM_D_MARK, PS7_6_FN2, PTX6_FN),
1036 PINMUX_DATA(A5_MARK, PS7_5_FN1, PTX5_FN),
1037 PINMUX_DATA(SIM_CLK_MARK, PS7_5_FN2, PTX5_FN),
1038 PINMUX_DATA(A4_MARK, PS7_4_FN1, PTX4_FN),
1039 PINMUX_DATA(SIM_RST_MARK, PS7_4_FN2, PTX4_FN),
1040 PINMUX_DATA(A3_MARK, PTX3_FN),
1041 PINMUX_DATA(A2_MARK, PTX2_FN),
1042 PINMUX_DATA(A1_MARK, PTX1_FN),
1043 PINMUX_DATA(A0_MARK, PTX0_FN),
1044
1045 /* PTY FN */
1046 PINMUX_DATA(D7_MARK, PTY7_FN),
1047 PINMUX_DATA(D6_MARK, PTY6_FN),
1048 PINMUX_DATA(D5_MARK, PTY5_FN),
1049 PINMUX_DATA(D4_MARK, PTY4_FN),
1050 PINMUX_DATA(D3_MARK, PTY3_FN),
1051 PINMUX_DATA(D2_MARK, PTY2_FN),
1052 PINMUX_DATA(D1_MARK, PTY1_FN),
1053 PINMUX_DATA(D0_MARK, PTY0_FN),
1054
1055 /* PTZ FN */
1056 PINMUX_DATA(MMCDAT7_MARK, PS8_15_FN1, PTZ7_FN),
1057 PINMUX_DATA(ON_DQ7_MARK, PS8_15_FN2, PTZ7_FN),
1058 PINMUX_DATA(MMCDAT6_MARK, PS8_14_FN1, PTZ6_FN),
1059 PINMUX_DATA(ON_DQ6_MARK, PS8_14_FN2, PTZ6_FN),
1060 PINMUX_DATA(MMCDAT5_MARK, PS8_13_FN1, PTZ5_FN),
1061 PINMUX_DATA(ON_DQ5_MARK, PS8_13_FN2, PTZ5_FN),
1062 PINMUX_DATA(MMCDAT4_MARK, PS8_12_FN1, PTZ4_FN),
1063 PINMUX_DATA(ON_DQ4_MARK, PS8_12_FN2, PTZ4_FN),
1064 PINMUX_DATA(MMCDAT3_MARK, PS8_11_FN1, PTZ3_FN),
1065 PINMUX_DATA(ON_DQ3_MARK, PS8_11_FN2, PTZ3_FN),
1066 PINMUX_DATA(MMCDAT2_MARK, PS8_10_FN1, PTZ2_FN),
1067 PINMUX_DATA(ON_DQ2_MARK, PS8_10_FN2, PTZ2_FN),
1068 PINMUX_DATA(MMCDAT1_MARK, PS8_9_FN1, PTZ1_FN),
1069 PINMUX_DATA(ON_DQ1_MARK, PS8_9_FN2, PTZ1_FN),
1070 PINMUX_DATA(MMCDAT0_MARK, PS8_8_FN1, PTZ0_FN),
1071 PINMUX_DATA(ON_DQ0_MARK, PS8_8_FN2, PTZ0_FN),
1072};
1073
Laurent Pinchartf41a1ef2013-12-16 20:25:16 +01001074static const struct sh_pfc_pin pinmux_pins[] = {
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001075 /* PTA */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001076 PINMUX_GPIO(PTA7),
1077 PINMUX_GPIO(PTA6),
1078 PINMUX_GPIO(PTA5),
1079 PINMUX_GPIO(PTA4),
1080 PINMUX_GPIO(PTA3),
1081 PINMUX_GPIO(PTA2),
1082 PINMUX_GPIO(PTA1),
1083 PINMUX_GPIO(PTA0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001084
1085 /* PTB */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001086 PINMUX_GPIO(PTB7),
1087 PINMUX_GPIO(PTB6),
1088 PINMUX_GPIO(PTB5),
1089 PINMUX_GPIO(PTB4),
1090 PINMUX_GPIO(PTB3),
1091 PINMUX_GPIO(PTB2),
1092 PINMUX_GPIO(PTB1),
1093 PINMUX_GPIO(PTB0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001094
1095 /* PTC */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001096 PINMUX_GPIO(PTC7),
1097 PINMUX_GPIO(PTC6),
1098 PINMUX_GPIO(PTC5),
1099 PINMUX_GPIO(PTC4),
1100 PINMUX_GPIO(PTC3),
1101 PINMUX_GPIO(PTC2),
1102 PINMUX_GPIO(PTC1),
1103 PINMUX_GPIO(PTC0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001104
1105 /* PTD */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001106 PINMUX_GPIO(PTD7),
1107 PINMUX_GPIO(PTD6),
1108 PINMUX_GPIO(PTD5),
1109 PINMUX_GPIO(PTD4),
1110 PINMUX_GPIO(PTD3),
1111 PINMUX_GPIO(PTD2),
1112 PINMUX_GPIO(PTD1),
1113 PINMUX_GPIO(PTD0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001114
1115 /* PTE */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001116 PINMUX_GPIO(PTE7),
1117 PINMUX_GPIO(PTE6),
1118 PINMUX_GPIO(PTE5),
1119 PINMUX_GPIO(PTE4),
1120 PINMUX_GPIO(PTE3),
1121 PINMUX_GPIO(PTE2),
1122 PINMUX_GPIO(PTE1),
1123 PINMUX_GPIO(PTE0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001124
1125 /* PTF */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001126 PINMUX_GPIO(PTF7),
1127 PINMUX_GPIO(PTF6),
1128 PINMUX_GPIO(PTF5),
1129 PINMUX_GPIO(PTF4),
1130 PINMUX_GPIO(PTF3),
1131 PINMUX_GPIO(PTF2),
1132 PINMUX_GPIO(PTF1),
1133 PINMUX_GPIO(PTF0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001134
1135 /* PTG */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001136 PINMUX_GPIO(PTG7),
1137 PINMUX_GPIO(PTG6),
1138 PINMUX_GPIO(PTG5),
1139 PINMUX_GPIO(PTG4),
1140 PINMUX_GPIO(PTG3),
1141 PINMUX_GPIO(PTG2),
1142 PINMUX_GPIO(PTG1),
1143 PINMUX_GPIO(PTG0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001144
1145 /* PTH */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001146 PINMUX_GPIO(PTH7),
1147 PINMUX_GPIO(PTH6),
1148 PINMUX_GPIO(PTH5),
1149 PINMUX_GPIO(PTH4),
1150 PINMUX_GPIO(PTH3),
1151 PINMUX_GPIO(PTH2),
1152 PINMUX_GPIO(PTH1),
1153 PINMUX_GPIO(PTH0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001154
1155 /* PTI */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001156 PINMUX_GPIO(PTI7),
1157 PINMUX_GPIO(PTI6),
1158 PINMUX_GPIO(PTI5),
1159 PINMUX_GPIO(PTI4),
1160 PINMUX_GPIO(PTI3),
1161 PINMUX_GPIO(PTI2),
1162 PINMUX_GPIO(PTI1),
1163 PINMUX_GPIO(PTI0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001164
1165 /* PTJ */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001166 PINMUX_GPIO(PTJ6),
1167 PINMUX_GPIO(PTJ5),
1168 PINMUX_GPIO(PTJ4),
1169 PINMUX_GPIO(PTJ3),
1170 PINMUX_GPIO(PTJ2),
1171 PINMUX_GPIO(PTJ1),
1172 PINMUX_GPIO(PTJ0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001173
1174 /* PTK */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001175 PINMUX_GPIO(PTK7),
1176 PINMUX_GPIO(PTK6),
1177 PINMUX_GPIO(PTK5),
1178 PINMUX_GPIO(PTK4),
1179 PINMUX_GPIO(PTK3),
1180 PINMUX_GPIO(PTK2),
1181 PINMUX_GPIO(PTK1),
1182 PINMUX_GPIO(PTK0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001183
1184 /* PTL */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001185 PINMUX_GPIO(PTL6),
1186 PINMUX_GPIO(PTL5),
1187 PINMUX_GPIO(PTL4),
1188 PINMUX_GPIO(PTL3),
1189 PINMUX_GPIO(PTL2),
1190 PINMUX_GPIO(PTL1),
1191 PINMUX_GPIO(PTL0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001192
1193 /* PTM */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001194 PINMUX_GPIO(PTM7),
1195 PINMUX_GPIO(PTM6),
1196 PINMUX_GPIO(PTM5),
1197 PINMUX_GPIO(PTM4),
1198 PINMUX_GPIO(PTM3),
1199 PINMUX_GPIO(PTM2),
1200 PINMUX_GPIO(PTM1),
1201 PINMUX_GPIO(PTM0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001202
1203 /* PTN */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001204 PINMUX_GPIO(PTN6),
1205 PINMUX_GPIO(PTN5),
1206 PINMUX_GPIO(PTN4),
1207 PINMUX_GPIO(PTN3),
1208 PINMUX_GPIO(PTN2),
1209 PINMUX_GPIO(PTN1),
1210 PINMUX_GPIO(PTN0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001211
1212 /* PTO */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001213 PINMUX_GPIO(PTO7),
1214 PINMUX_GPIO(PTO6),
1215 PINMUX_GPIO(PTO5),
1216 PINMUX_GPIO(PTO4),
1217 PINMUX_GPIO(PTO3),
1218 PINMUX_GPIO(PTO2),
1219 PINMUX_GPIO(PTO1),
1220 PINMUX_GPIO(PTO0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001221
1222 /* PTP */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001223 PINMUX_GPIO(PTP7),
1224 PINMUX_GPIO(PTP6),
1225 PINMUX_GPIO(PTP5),
1226 PINMUX_GPIO(PTP4),
1227 PINMUX_GPIO(PTP3),
1228 PINMUX_GPIO(PTP2),
1229 PINMUX_GPIO(PTP1),
1230 PINMUX_GPIO(PTP0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001231
1232 /* PTQ */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001233 PINMUX_GPIO(PTQ6),
1234 PINMUX_GPIO(PTQ5),
1235 PINMUX_GPIO(PTQ4),
1236 PINMUX_GPIO(PTQ3),
1237 PINMUX_GPIO(PTQ2),
1238 PINMUX_GPIO(PTQ1),
1239 PINMUX_GPIO(PTQ0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001240
1241 /* PTR */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001242 PINMUX_GPIO(PTR7),
1243 PINMUX_GPIO(PTR6),
1244 PINMUX_GPIO(PTR5),
1245 PINMUX_GPIO(PTR4),
1246 PINMUX_GPIO(PTR3),
1247 PINMUX_GPIO(PTR2),
1248 PINMUX_GPIO(PTR1),
1249 PINMUX_GPIO(PTR0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001250
1251 /* PTS */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001252 PINMUX_GPIO(PTS7),
1253 PINMUX_GPIO(PTS6),
1254 PINMUX_GPIO(PTS5),
1255 PINMUX_GPIO(PTS4),
1256 PINMUX_GPIO(PTS3),
1257 PINMUX_GPIO(PTS2),
1258 PINMUX_GPIO(PTS1),
1259 PINMUX_GPIO(PTS0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001260
1261 /* PTT */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001262 PINMUX_GPIO(PTT7),
1263 PINMUX_GPIO(PTT6),
1264 PINMUX_GPIO(PTT5),
1265 PINMUX_GPIO(PTT4),
1266 PINMUX_GPIO(PTT3),
1267 PINMUX_GPIO(PTT2),
1268 PINMUX_GPIO(PTT1),
1269 PINMUX_GPIO(PTT0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001270
1271 /* PTU */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001272 PINMUX_GPIO(PTU7),
1273 PINMUX_GPIO(PTU6),
1274 PINMUX_GPIO(PTU5),
1275 PINMUX_GPIO(PTU4),
1276 PINMUX_GPIO(PTU3),
1277 PINMUX_GPIO(PTU2),
1278 PINMUX_GPIO(PTU1),
1279 PINMUX_GPIO(PTU0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001280
1281 /* PTV */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001282 PINMUX_GPIO(PTV7),
1283 PINMUX_GPIO(PTV6),
1284 PINMUX_GPIO(PTV5),
1285 PINMUX_GPIO(PTV4),
1286 PINMUX_GPIO(PTV3),
1287 PINMUX_GPIO(PTV2),
1288 PINMUX_GPIO(PTV1),
1289 PINMUX_GPIO(PTV0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001290
1291 /* PTW */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001292 PINMUX_GPIO(PTW7),
1293 PINMUX_GPIO(PTW6),
1294 PINMUX_GPIO(PTW5),
1295 PINMUX_GPIO(PTW4),
1296 PINMUX_GPIO(PTW3),
1297 PINMUX_GPIO(PTW2),
1298 PINMUX_GPIO(PTW1),
1299 PINMUX_GPIO(PTW0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001300
1301 /* PTX */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001302 PINMUX_GPIO(PTX7),
1303 PINMUX_GPIO(PTX6),
1304 PINMUX_GPIO(PTX5),
1305 PINMUX_GPIO(PTX4),
1306 PINMUX_GPIO(PTX3),
1307 PINMUX_GPIO(PTX2),
1308 PINMUX_GPIO(PTX1),
1309 PINMUX_GPIO(PTX0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001310
1311 /* PTY */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001312 PINMUX_GPIO(PTY7),
1313 PINMUX_GPIO(PTY6),
1314 PINMUX_GPIO(PTY5),
1315 PINMUX_GPIO(PTY4),
1316 PINMUX_GPIO(PTY3),
1317 PINMUX_GPIO(PTY2),
1318 PINMUX_GPIO(PTY1),
1319 PINMUX_GPIO(PTY0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001320
1321 /* PTZ */
Laurent Pinchart7cbb0e52013-07-15 21:16:25 +02001322 PINMUX_GPIO(PTZ7),
1323 PINMUX_GPIO(PTZ6),
1324 PINMUX_GPIO(PTZ5),
1325 PINMUX_GPIO(PTZ4),
1326 PINMUX_GPIO(PTZ3),
1327 PINMUX_GPIO(PTZ2),
1328 PINMUX_GPIO(PTZ1),
1329 PINMUX_GPIO(PTZ0),
Laurent Pincharta373ed02012-11-29 13:24:07 +01001330};
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001331
Laurent Pincharta373ed02012-11-29 13:24:07 +01001332#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
1333
Laurent Pinchartcd3c1be2013-02-16 18:47:05 +01001334static const struct pinmux_func pinmux_func_gpios[] = {
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001335 /* PTA (mobule: LBSC, RGMII) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001336 GPIO_FN(BS),
1337 GPIO_FN(RDWR),
1338 GPIO_FN(WE1),
1339 GPIO_FN(RDY),
1340 GPIO_FN(ET0_MDC),
1341 GPIO_FN(ET0_MDIO),
1342 GPIO_FN(ET1_MDC),
1343 GPIO_FN(ET1_MDIO),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001344
1345 /* PTB (mobule: INTC, ONFI, TMU) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001346 GPIO_FN(IRQ15),
1347 GPIO_FN(IRQ14),
1348 GPIO_FN(IRQ13),
1349 GPIO_FN(IRQ12),
1350 GPIO_FN(IRQ11),
1351 GPIO_FN(IRQ10),
1352 GPIO_FN(IRQ9),
1353 GPIO_FN(IRQ8),
1354 GPIO_FN(ON_NRE),
1355 GPIO_FN(ON_NWE),
1356 GPIO_FN(ON_NWP),
1357 GPIO_FN(ON_NCE0),
1358 GPIO_FN(ON_R_B0),
1359 GPIO_FN(ON_ALE),
1360 GPIO_FN(ON_CLE),
1361 GPIO_FN(TCLK),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001362
1363 /* PTC (mobule: IRQ, PWMU) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001364 GPIO_FN(IRQ7),
1365 GPIO_FN(IRQ6),
1366 GPIO_FN(IRQ5),
1367 GPIO_FN(IRQ4),
1368 GPIO_FN(IRQ3),
1369 GPIO_FN(IRQ2),
1370 GPIO_FN(IRQ1),
1371 GPIO_FN(IRQ0),
1372 GPIO_FN(PWMU0),
1373 GPIO_FN(PWMU1),
1374 GPIO_FN(PWMU2),
1375 GPIO_FN(PWMU3),
1376 GPIO_FN(PWMU4),
1377 GPIO_FN(PWMU5),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001378
1379 /* PTD (mobule: SPI0, DMAC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001380 GPIO_FN(SP0_MOSI),
1381 GPIO_FN(SP0_MISO),
1382 GPIO_FN(SP0_SCK),
1383 GPIO_FN(SP0_SCK_FB),
1384 GPIO_FN(SP0_SS0),
1385 GPIO_FN(SP0_SS1),
1386 GPIO_FN(SP0_SS2),
1387 GPIO_FN(SP0_SS3),
1388 GPIO_FN(DREQ0),
1389 GPIO_FN(DACK0),
1390 GPIO_FN(TEND0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001391
1392 /* PTE (mobule: RMII) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001393 GPIO_FN(RMII0_CRS_DV),
1394 GPIO_FN(RMII0_TXD1),
1395 GPIO_FN(RMII0_TXD0),
1396 GPIO_FN(RMII0_TXEN),
1397 GPIO_FN(RMII0_REFCLK),
1398 GPIO_FN(RMII0_RXD1),
1399 GPIO_FN(RMII0_RXD0),
1400 GPIO_FN(RMII0_RX_ER),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001401
1402 /* PTF (mobule: RMII, SerMux) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001403 GPIO_FN(RMII1_CRS_DV),
1404 GPIO_FN(RMII1_TXD1),
1405 GPIO_FN(RMII1_TXD0),
1406 GPIO_FN(RMII1_TXEN),
1407 GPIO_FN(RMII1_REFCLK),
1408 GPIO_FN(RMII1_RXD1),
1409 GPIO_FN(RMII1_RXD0),
1410 GPIO_FN(RMII1_RX_ER),
1411 GPIO_FN(RAC_RI),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001412
1413 /* PTG (mobule: system, LBSC, LPC, WDT, LPC, eMMC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001414 GPIO_FN(BOOTFMS),
1415 GPIO_FN(BOOTWP),
1416 GPIO_FN(A25),
1417 GPIO_FN(A24),
1418 GPIO_FN(SERIRQ),
1419 GPIO_FN(WDTOVF),
1420 GPIO_FN(LPCPD),
1421 GPIO_FN(LDRQ),
1422 GPIO_FN(MMCCLK),
1423 GPIO_FN(MMCCMD),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001424
1425 /* PTH (mobule: SPI1, LPC, DMAC, ADC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001426 GPIO_FN(SP1_MOSI),
1427 GPIO_FN(SP1_MISO),
1428 GPIO_FN(SP1_SCK),
1429 GPIO_FN(SP1_SCK_FB),
1430 GPIO_FN(SP1_SS0),
1431 GPIO_FN(SP1_SS1),
1432 GPIO_FN(WP),
1433 GPIO_FN(FMS0),
1434 GPIO_FN(TEND1),
1435 GPIO_FN(DREQ1),
1436 GPIO_FN(DACK1),
1437 GPIO_FN(ADTRG1),
1438 GPIO_FN(ADTRG0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001439
1440 /* PTI (mobule: LBSC, SDHI) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001441 GPIO_FN(D15),
1442 GPIO_FN(D14),
1443 GPIO_FN(D13),
1444 GPIO_FN(D12),
1445 GPIO_FN(D11),
1446 GPIO_FN(D10),
1447 GPIO_FN(D9),
1448 GPIO_FN(D8),
1449 GPIO_FN(SD_WP),
1450 GPIO_FN(SD_CD),
1451 GPIO_FN(SD_CLK),
1452 GPIO_FN(SD_CMD),
1453 GPIO_FN(SD_D3),
1454 GPIO_FN(SD_D2),
1455 GPIO_FN(SD_D1),
1456 GPIO_FN(SD_D0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001457
1458 /* PTJ (mobule: SCIF234, SERMUX) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001459 GPIO_FN(RTS3),
1460 GPIO_FN(CTS3),
1461 GPIO_FN(TXD3),
1462 GPIO_FN(RXD3),
1463 GPIO_FN(RTS4),
1464 GPIO_FN(RXD4),
1465 GPIO_FN(TXD4),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001466
1467 /* PTK (mobule: SERMUX, LBSC, SCIF) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001468 GPIO_FN(COM2_TXD),
1469 GPIO_FN(COM2_RXD),
1470 GPIO_FN(COM2_RTS),
1471 GPIO_FN(COM2_CTS),
1472 GPIO_FN(COM2_DTR),
1473 GPIO_FN(COM2_DSR),
1474 GPIO_FN(COM2_DCD),
1475 GPIO_FN(CLKOUT),
1476 GPIO_FN(SCK2),
1477 GPIO_FN(SCK4),
1478 GPIO_FN(SCK3),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001479
1480 /* PTL (mobule: SERMUX, SCIF, LBSC, AUD) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001481 GPIO_FN(RAC_RXD),
1482 GPIO_FN(RAC_RTS),
1483 GPIO_FN(RAC_CTS),
1484 GPIO_FN(RAC_DTR),
1485 GPIO_FN(RAC_DSR),
1486 GPIO_FN(RAC_DCD),
1487 GPIO_FN(RAC_TXD),
1488 GPIO_FN(RXD2),
1489 GPIO_FN(CS5),
1490 GPIO_FN(CS6),
1491 GPIO_FN(AUDSYNC),
1492 GPIO_FN(AUDCK),
1493 GPIO_FN(TXD2),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001494
1495 /* PTM (mobule: LBSC, IIC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001496 GPIO_FN(CS4),
1497 GPIO_FN(RD),
1498 GPIO_FN(WE0),
1499 GPIO_FN(CS0),
1500 GPIO_FN(SDA6),
1501 GPIO_FN(SCL6),
1502 GPIO_FN(SDA7),
1503 GPIO_FN(SCL7),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001504
1505 /* PTN (mobule: USB, JMC, SGPIO, WDT) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001506 GPIO_FN(VBUS_EN),
1507 GPIO_FN(VBUS_OC),
1508 GPIO_FN(JMCTCK),
1509 GPIO_FN(JMCTMS),
1510 GPIO_FN(JMCTDO),
1511 GPIO_FN(JMCTDI),
1512 GPIO_FN(JMCTRST),
1513 GPIO_FN(SGPIO1_CLK),
1514 GPIO_FN(SGPIO1_LOAD),
1515 GPIO_FN(SGPIO1_DI),
1516 GPIO_FN(SGPIO1_DO),
1517 GPIO_FN(SUB_CLKIN),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001518
1519 /* PTO (mobule: SGPIO, SerMux) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001520 GPIO_FN(SGPIO0_CLK),
1521 GPIO_FN(SGPIO0_LOAD),
1522 GPIO_FN(SGPIO0_DI),
1523 GPIO_FN(SGPIO0_DO),
1524 GPIO_FN(SGPIO2_CLK),
1525 GPIO_FN(SGPIO2_LOAD),
1526 GPIO_FN(SGPIO2_DI),
1527 GPIO_FN(SGPIO2_DO),
1528 GPIO_FN(COM1_TXD),
1529 GPIO_FN(COM1_RXD),
1530 GPIO_FN(COM1_RTS),
1531 GPIO_FN(COM1_CTS),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001532
1533 /* PTP (mobule: EVC, ADC) */
1534
1535 /* PTQ (mobule: LPC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001536 GPIO_FN(LAD3),
1537 GPIO_FN(LAD2),
1538 GPIO_FN(LAD1),
1539 GPIO_FN(LAD0),
1540 GPIO_FN(LFRAME),
1541 GPIO_FN(LRESET),
1542 GPIO_FN(LCLK),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001543
1544 /* PTR (mobule: GRA, IIC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001545 GPIO_FN(DDC3),
1546 GPIO_FN(DDC2),
1547 GPIO_FN(SDA8),
1548 GPIO_FN(SCL8),
1549 GPIO_FN(SDA2),
1550 GPIO_FN(SCL2),
1551 GPIO_FN(SDA1),
1552 GPIO_FN(SCL1),
1553 GPIO_FN(SDA0),
1554 GPIO_FN(SCL0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001555
1556 /* PTS (mobule: GRA, IIC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001557 GPIO_FN(DDC1),
1558 GPIO_FN(DDC0),
1559 GPIO_FN(SDA9),
1560 GPIO_FN(SCL9),
1561 GPIO_FN(SDA5),
1562 GPIO_FN(SCL5),
1563 GPIO_FN(SDA4),
1564 GPIO_FN(SCL4),
1565 GPIO_FN(SDA3),
1566 GPIO_FN(SCL3),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001567
1568 /* PTT (mobule: PWMX, AUD) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001569 GPIO_FN(PWMX7),
1570 GPIO_FN(PWMX6),
1571 GPIO_FN(PWMX5),
1572 GPIO_FN(PWMX4),
1573 GPIO_FN(PWMX3),
1574 GPIO_FN(PWMX2),
1575 GPIO_FN(PWMX1),
1576 GPIO_FN(PWMX0),
1577 GPIO_FN(AUDATA3),
1578 GPIO_FN(AUDATA2),
1579 GPIO_FN(AUDATA1),
1580 GPIO_FN(AUDATA0),
1581 GPIO_FN(STATUS1),
1582 GPIO_FN(STATUS0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001583
1584 /* PTU (mobule: LPC, APM) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001585 GPIO_FN(LGPIO7),
1586 GPIO_FN(LGPIO6),
1587 GPIO_FN(LGPIO5),
1588 GPIO_FN(LGPIO4),
1589 GPIO_FN(LGPIO3),
1590 GPIO_FN(LGPIO2),
1591 GPIO_FN(LGPIO1),
1592 GPIO_FN(LGPIO0),
1593 GPIO_FN(APMONCTL_O),
1594 GPIO_FN(APMPWBTOUT_O),
1595 GPIO_FN(APMSCI_O),
1596 GPIO_FN(APMVDDON),
1597 GPIO_FN(APMSLPBTN),
1598 GPIO_FN(APMPWRBTN),
1599 GPIO_FN(APMS5N),
1600 GPIO_FN(APMS3N),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001601
1602 /* PTV (mobule: LBSC, SerMux, R-SPI, EVC, GRA) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001603 GPIO_FN(A23),
1604 GPIO_FN(A22),
1605 GPIO_FN(A21),
1606 GPIO_FN(A20),
1607 GPIO_FN(A19),
1608 GPIO_FN(A18),
1609 GPIO_FN(A17),
1610 GPIO_FN(A16),
1611 GPIO_FN(COM2_RI),
1612 GPIO_FN(R_SPI_MOSI),
1613 GPIO_FN(R_SPI_MISO),
1614 GPIO_FN(R_SPI_RSPCK),
1615 GPIO_FN(R_SPI_SSL0),
1616 GPIO_FN(R_SPI_SSL1),
1617 GPIO_FN(EVENT7),
1618 GPIO_FN(EVENT6),
1619 GPIO_FN(VBIOS_DI),
1620 GPIO_FN(VBIOS_DO),
1621 GPIO_FN(VBIOS_CLK),
1622 GPIO_FN(VBIOS_CS),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001623
1624 /* PTW (mobule: LBSC, EVC, SCIF) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001625 GPIO_FN(A15),
1626 GPIO_FN(A14),
1627 GPIO_FN(A13),
1628 GPIO_FN(A12),
1629 GPIO_FN(A11),
1630 GPIO_FN(A10),
1631 GPIO_FN(A9),
1632 GPIO_FN(A8),
1633 GPIO_FN(EVENT5),
1634 GPIO_FN(EVENT4),
1635 GPIO_FN(EVENT3),
1636 GPIO_FN(EVENT2),
1637 GPIO_FN(EVENT1),
1638 GPIO_FN(EVENT0),
1639 GPIO_FN(CTS4),
1640 GPIO_FN(CTS2),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001641
1642 /* PTX (mobule: LBSC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001643 GPIO_FN(A7),
1644 GPIO_FN(A6),
1645 GPIO_FN(A5),
1646 GPIO_FN(A4),
1647 GPIO_FN(A3),
1648 GPIO_FN(A2),
1649 GPIO_FN(A1),
1650 GPIO_FN(A0),
1651 GPIO_FN(RTS2),
1652 GPIO_FN(SIM_D),
1653 GPIO_FN(SIM_CLK),
1654 GPIO_FN(SIM_RST),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001655
1656 /* PTY (mobule: LBSC) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001657 GPIO_FN(D7),
1658 GPIO_FN(D6),
1659 GPIO_FN(D5),
1660 GPIO_FN(D4),
1661 GPIO_FN(D3),
1662 GPIO_FN(D2),
1663 GPIO_FN(D1),
1664 GPIO_FN(D0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001665
1666 /* PTZ (mobule: eMMC, ONFI) */
Laurent Pinchart35ad4272012-11-28 22:05:49 +01001667 GPIO_FN(MMCDAT7),
1668 GPIO_FN(MMCDAT6),
1669 GPIO_FN(MMCDAT5),
1670 GPIO_FN(MMCDAT4),
1671 GPIO_FN(MMCDAT3),
1672 GPIO_FN(MMCDAT2),
1673 GPIO_FN(MMCDAT1),
1674 GPIO_FN(MMCDAT0),
1675 GPIO_FN(ON_DQ7),
1676 GPIO_FN(ON_DQ6),
1677 GPIO_FN(ON_DQ5),
1678 GPIO_FN(ON_DQ4),
1679 GPIO_FN(ON_DQ3),
1680 GPIO_FN(ON_DQ2),
1681 GPIO_FN(ON_DQ1),
1682 GPIO_FN(ON_DQ0),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001683};
1684
Laurent Pinchartcd3c1be2013-02-16 18:47:05 +01001685static const struct pinmux_cfg_reg pinmux_config_regs[] = {
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001686 { PINMUX_CFG_REG("PACR", 0xffec0000, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001687 PTA7_FN, PTA7_OUT, PTA7_IN, 0,
1688 PTA6_FN, PTA6_OUT, PTA6_IN, 0,
1689 PTA5_FN, PTA5_OUT, PTA5_IN, 0,
1690 PTA4_FN, PTA4_OUT, PTA4_IN, 0,
1691 PTA3_FN, PTA3_OUT, PTA3_IN, 0,
1692 PTA2_FN, PTA2_OUT, PTA2_IN, 0,
1693 PTA1_FN, PTA1_OUT, PTA1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001694 PTA0_FN, PTA0_OUT, PTA0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001695 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001696 { PINMUX_CFG_REG("PBCR", 0xffec0002, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001697 PTB7_FN, PTB7_OUT, PTB7_IN, 0,
1698 PTB6_FN, PTB6_OUT, PTB6_IN, 0,
1699 PTB5_FN, PTB5_OUT, PTB5_IN, 0,
1700 PTB4_FN, PTB4_OUT, PTB4_IN, 0,
1701 PTB3_FN, PTB3_OUT, PTB3_IN, 0,
1702 PTB2_FN, PTB2_OUT, PTB2_IN, 0,
1703 PTB1_FN, PTB1_OUT, PTB1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001704 PTB0_FN, PTB0_OUT, PTB0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001705 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001706 { PINMUX_CFG_REG("PCCR", 0xffec0004, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001707 PTC7_FN, PTC7_OUT, PTC7_IN, 0,
1708 PTC6_FN, PTC6_OUT, PTC6_IN, 0,
1709 PTC5_FN, PTC5_OUT, PTC5_IN, 0,
1710 PTC4_FN, PTC4_OUT, PTC4_IN, 0,
1711 PTC3_FN, PTC3_OUT, PTC3_IN, 0,
1712 PTC2_FN, PTC2_OUT, PTC2_IN, 0,
1713 PTC1_FN, PTC1_OUT, PTC1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001714 PTC0_FN, PTC0_OUT, PTC0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001715 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001716 { PINMUX_CFG_REG("PDCR", 0xffec0006, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001717 PTD7_FN, PTD7_OUT, PTD7_IN, 0,
1718 PTD6_FN, PTD6_OUT, PTD6_IN, 0,
1719 PTD5_FN, PTD5_OUT, PTD5_IN, 0,
1720 PTD4_FN, PTD4_OUT, PTD4_IN, 0,
1721 PTD3_FN, PTD3_OUT, PTD3_IN, 0,
1722 PTD2_FN, PTD2_OUT, PTD2_IN, 0,
1723 PTD1_FN, PTD1_OUT, PTD1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001724 PTD0_FN, PTD0_OUT, PTD0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001725 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001726 { PINMUX_CFG_REG("PECR", 0xffec0008, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001727 PTE7_FN, PTE7_OUT, PTE7_IN, 0,
1728 PTE6_FN, PTE6_OUT, PTE6_IN, 0,
1729 PTE5_FN, PTE5_OUT, PTE5_IN, 0,
1730 PTE4_FN, PTE4_OUT, PTE4_IN, 0,
1731 PTE3_FN, PTE3_OUT, PTE3_IN, 0,
1732 PTE2_FN, PTE2_OUT, PTE2_IN, 0,
1733 PTE1_FN, PTE1_OUT, PTE1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001734 PTE0_FN, PTE0_OUT, PTE0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001735 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001736 { PINMUX_CFG_REG("PFCR", 0xffec000a, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001737 PTF7_FN, PTF7_OUT, PTF7_IN, 0,
1738 PTF6_FN, PTF6_OUT, PTF6_IN, 0,
1739 PTF5_FN, PTF5_OUT, PTF5_IN, 0,
1740 PTF4_FN, PTF4_OUT, PTF4_IN, 0,
1741 PTF3_FN, PTF3_OUT, PTF3_IN, 0,
1742 PTF2_FN, PTF2_OUT, PTF2_IN, 0,
1743 PTF1_FN, PTF1_OUT, PTF1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001744 PTF0_FN, PTF0_OUT, PTF0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001745 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001746 { PINMUX_CFG_REG("PGCR", 0xffec000c, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001747 PTG7_FN, PTG7_OUT, PTG7_IN, 0,
1748 PTG6_FN, PTG6_OUT, PTG6_IN, 0,
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001749 PTG5_FN, PTG5_OUT, PTG5_IN, 0,
Laurent Pinchart5f860722013-07-16 01:54:13 +02001750 PTG4_FN, PTG4_OUT, PTG4_IN, 0,
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001751 PTG3_FN, PTG3_OUT, PTG3_IN, 0,
1752 PTG2_FN, PTG2_OUT, PTG2_IN, 0,
1753 PTG1_FN, PTG1_OUT, PTG1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001754 PTG0_FN, PTG0_OUT, PTG0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001755 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001756 { PINMUX_CFG_REG("PHCR", 0xffec000e, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001757 PTH7_FN, PTH7_OUT, PTH7_IN, 0,
1758 PTH6_FN, PTH6_OUT, PTH6_IN, 0,
1759 PTH5_FN, PTH5_OUT, PTH5_IN, 0,
1760 PTH4_FN, PTH4_OUT, PTH4_IN, 0,
1761 PTH3_FN, PTH3_OUT, PTH3_IN, 0,
1762 PTH2_FN, PTH2_OUT, PTH2_IN, 0,
1763 PTH1_FN, PTH1_OUT, PTH1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001764 PTH0_FN, PTH0_OUT, PTH0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001765 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001766 { PINMUX_CFG_REG("PICR", 0xffec0010, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001767 PTI7_FN, PTI7_OUT, PTI7_IN, 0,
1768 PTI6_FN, PTI6_OUT, PTI6_IN, 0,
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001769 PTI5_FN, PTI5_OUT, PTI5_IN, 0,
Laurent Pinchart5f860722013-07-16 01:54:13 +02001770 PTI4_FN, PTI4_OUT, PTI4_IN, 0,
1771 PTI3_FN, PTI3_OUT, PTI3_IN, 0,
1772 PTI2_FN, PTI2_OUT, PTI2_IN, 0,
1773 PTI1_FN, PTI1_OUT, PTI1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001774 PTI0_FN, PTI0_OUT, PTI0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001775 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001776 { PINMUX_CFG_REG("PJCR", 0xffec0012, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001777 0, 0, 0, 0, /* reserved: always set 1 */
Laurent Pinchart5f860722013-07-16 01:54:13 +02001778 PTJ6_FN, PTJ6_OUT, PTJ6_IN, 0,
1779 PTJ5_FN, PTJ5_OUT, PTJ5_IN, 0,
1780 PTJ4_FN, PTJ4_OUT, PTJ4_IN, 0,
1781 PTJ3_FN, PTJ3_OUT, PTJ3_IN, 0,
1782 PTJ2_FN, PTJ2_OUT, PTJ2_IN, 0,
1783 PTJ1_FN, PTJ1_OUT, PTJ1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001784 PTJ0_FN, PTJ0_OUT, PTJ0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001785 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001786 { PINMUX_CFG_REG("PKCR", 0xffec0014, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001787 PTK7_FN, PTK7_OUT, PTK7_IN, 0,
1788 PTK6_FN, PTK6_OUT, PTK6_IN, 0,
1789 PTK5_FN, PTK5_OUT, PTK5_IN, 0,
1790 PTK4_FN, PTK4_OUT, PTK4_IN, 0,
1791 PTK3_FN, PTK3_OUT, PTK3_IN, 0,
1792 PTK2_FN, PTK2_OUT, PTK2_IN, 0,
1793 PTK1_FN, PTK1_OUT, PTK1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001794 PTK0_FN, PTK0_OUT, PTK0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001795 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001796 { PINMUX_CFG_REG("PLCR", 0xffec0016, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001797 0, 0, 0, 0, /* reserved: always set 1 */
Laurent Pinchart5f860722013-07-16 01:54:13 +02001798 PTL6_FN, PTL6_OUT, PTL6_IN, 0,
1799 PTL5_FN, PTL5_OUT, PTL5_IN, 0,
1800 PTL4_FN, PTL4_OUT, PTL4_IN, 0,
1801 PTL3_FN, PTL3_OUT, PTL3_IN, 0,
1802 PTL2_FN, PTL2_OUT, PTL2_IN, 0,
1803 PTL1_FN, PTL1_OUT, PTL1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001804 PTL0_FN, PTL0_OUT, PTL0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001805 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001806 { PINMUX_CFG_REG("PMCR", 0xffec0018, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001807 PTM7_FN, PTM7_OUT, PTM7_IN, 0,
1808 PTM6_FN, PTM6_OUT, PTM6_IN, 0,
1809 PTM5_FN, PTM5_OUT, PTM5_IN, 0,
1810 PTM4_FN, PTM4_OUT, PTM4_IN, 0,
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001811 PTM3_FN, PTM3_OUT, PTM3_IN, 0,
1812 PTM2_FN, PTM2_OUT, PTM2_IN, 0,
1813 PTM1_FN, PTM1_OUT, PTM1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001814 PTM0_FN, PTM0_OUT, PTM0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001815 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001816 { PINMUX_CFG_REG("PNCR", 0xffec001a, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001817 0, 0, 0, 0, /* reserved: always set 1 */
1818 PTN6_FN, PTN6_OUT, PTN6_IN, 0,
1819 PTN5_FN, PTN5_OUT, PTN5_IN, 0,
Laurent Pinchart5f860722013-07-16 01:54:13 +02001820 PTN4_FN, PTN4_OUT, PTN4_IN, 0,
1821 PTN3_FN, PTN3_OUT, PTN3_IN, 0,
1822 PTN2_FN, PTN2_OUT, PTN2_IN, 0,
1823 PTN1_FN, PTN1_OUT, PTN1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001824 PTN0_FN, PTN0_OUT, PTN0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001825 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001826 { PINMUX_CFG_REG("POCR", 0xffec001c, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001827 PTO7_FN, PTO7_OUT, PTO7_IN, 0,
1828 PTO6_FN, PTO6_OUT, PTO6_IN, 0,
1829 PTO5_FN, PTO5_OUT, PTO5_IN, 0,
1830 PTO4_FN, PTO4_OUT, PTO4_IN, 0,
1831 PTO3_FN, PTO3_OUT, PTO3_IN, 0,
1832 PTO2_FN, PTO2_OUT, PTO2_IN, 0,
1833 PTO1_FN, PTO1_OUT, PTO1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001834 PTO0_FN, PTO0_OUT, PTO0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001835 },
1836#if 0 /* FIXME: Remove it? */
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001837 { PINMUX_CFG_REG("PPCR", 0xffec001e, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001838 0, 0, 0, 0, /* reserved: always set 1 */
1839 PTP6_FN, PTP6_OUT, PTP6_IN, 0,
1840 PTP5_FN, PTP5_OUT, PTP5_IN, 0,
1841 PTP4_FN, PTP4_OUT, PTP4_IN, 0,
1842 PTP3_FN, PTP3_OUT, PTP3_IN, 0,
1843 PTP2_FN, PTP2_OUT, PTP2_IN, 0,
1844 PTP1_FN, PTP1_OUT, PTP1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001845 PTP0_FN, PTP0_OUT, PTP0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001846 },
1847#endif
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001848 { PINMUX_CFG_REG("PQCR", 0xffec0020, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001849 0, 0, 0, 0, /* reserved: always set 1 */
1850 PTQ6_FN, PTQ6_OUT, PTQ6_IN, 0,
1851 PTQ5_FN, PTQ5_OUT, PTQ5_IN, 0,
1852 PTQ4_FN, PTQ4_OUT, PTQ4_IN, 0,
1853 PTQ3_FN, PTQ3_OUT, PTQ3_IN, 0,
1854 PTQ2_FN, PTQ2_OUT, PTQ2_IN, 0,
1855 PTQ1_FN, PTQ1_OUT, PTQ1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001856 PTQ0_FN, PTQ0_OUT, PTQ0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001857 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001858 { PINMUX_CFG_REG("PRCR", 0xffec0022, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001859 PTR7_FN, PTR7_OUT, PTR7_IN, 0,
1860 PTR6_FN, PTR6_OUT, PTR6_IN, 0,
1861 PTR5_FN, PTR5_OUT, PTR5_IN, 0,
1862 PTR4_FN, PTR4_OUT, PTR4_IN, 0,
1863 PTR3_FN, PTR3_OUT, PTR3_IN, 0,
1864 PTR2_FN, PTR2_OUT, PTR2_IN, 0,
1865 PTR1_FN, PTR1_OUT, PTR1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001866 PTR0_FN, PTR0_OUT, PTR0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001867 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001868 { PINMUX_CFG_REG("PSCR", 0xffec0024, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001869 PTS7_FN, PTS7_OUT, PTS7_IN, 0,
1870 PTS6_FN, PTS6_OUT, PTS6_IN, 0,
1871 PTS5_FN, PTS5_OUT, PTS5_IN, 0,
1872 PTS4_FN, PTS4_OUT, PTS4_IN, 0,
1873 PTS3_FN, PTS3_OUT, PTS3_IN, 0,
1874 PTS2_FN, PTS2_OUT, PTS2_IN, 0,
1875 PTS1_FN, PTS1_OUT, PTS1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001876 PTS0_FN, PTS0_OUT, PTS0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001877 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001878 { PINMUX_CFG_REG("PTCR", 0xffec0026, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001879 PTT7_FN, PTT7_OUT, PTT7_IN, 0,
1880 PTT6_FN, PTT6_OUT, PTT6_IN, 0,
1881 PTT5_FN, PTT5_OUT, PTT5_IN, 0,
1882 PTT4_FN, PTT4_OUT, PTT4_IN, 0,
1883 PTT3_FN, PTT3_OUT, PTT3_IN, 0,
1884 PTT2_FN, PTT2_OUT, PTT2_IN, 0,
1885 PTT1_FN, PTT1_OUT, PTT1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001886 PTT0_FN, PTT0_OUT, PTT0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001887 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001888 { PINMUX_CFG_REG("PUCR", 0xffec0028, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001889 PTU7_FN, PTU7_OUT, PTU7_IN, 0,
1890 PTU6_FN, PTU6_OUT, PTU6_IN, 0,
1891 PTU5_FN, PTU5_OUT, PTU5_IN, 0,
1892 PTU4_FN, PTU4_OUT, PTU4_IN, 0,
1893 PTU3_FN, PTU3_OUT, PTU3_IN, 0,
1894 PTU2_FN, PTU2_OUT, PTU2_IN, 0,
1895 PTU1_FN, PTU1_OUT, PTU1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001896 PTU0_FN, PTU0_OUT, PTU0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001897 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001898 { PINMUX_CFG_REG("PVCR", 0xffec002a, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001899 PTV7_FN, PTV7_OUT, PTV7_IN, 0,
1900 PTV6_FN, PTV6_OUT, PTV6_IN, 0,
1901 PTV5_FN, PTV5_OUT, PTV5_IN, 0,
1902 PTV4_FN, PTV4_OUT, PTV4_IN, 0,
1903 PTV3_FN, PTV3_OUT, PTV3_IN, 0,
1904 PTV2_FN, PTV2_OUT, PTV2_IN, 0,
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001905 PTV1_FN, PTV1_OUT, PTV1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001906 PTV0_FN, PTV0_OUT, PTV0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001907 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001908 { PINMUX_CFG_REG("PWCR", 0xffec002c, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001909 PTW7_FN, PTW7_OUT, PTW7_IN, 0,
1910 PTW6_FN, PTW6_OUT, PTW6_IN, 0,
1911 PTW5_FN, PTW5_OUT, PTW5_IN, 0,
1912 PTW4_FN, PTW4_OUT, PTW4_IN, 0,
1913 PTW3_FN, PTW3_OUT, PTW3_IN, 0,
1914 PTW2_FN, PTW2_OUT, PTW2_IN, 0,
Laurent Pinchart5f860722013-07-16 01:54:13 +02001915 PTW1_FN, PTW1_OUT, PTW1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001916 PTW0_FN, PTW0_OUT, PTW0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001917 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001918 { PINMUX_CFG_REG("PXCR", 0xffec002e, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001919 PTX7_FN, PTX7_OUT, PTX7_IN, 0,
1920 PTX6_FN, PTX6_OUT, PTX6_IN, 0,
1921 PTX5_FN, PTX5_OUT, PTX5_IN, 0,
1922 PTX4_FN, PTX4_OUT, PTX4_IN, 0,
1923 PTX3_FN, PTX3_OUT, PTX3_IN, 0,
1924 PTX2_FN, PTX2_OUT, PTX2_IN, 0,
1925 PTX1_FN, PTX1_OUT, PTX1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001926 PTX0_FN, PTX0_OUT, PTX0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001927 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001928 { PINMUX_CFG_REG("PYCR", 0xffec0030, 16, 2, GROUP(
Laurent Pinchart5f860722013-07-16 01:54:13 +02001929 PTY7_FN, PTY7_OUT, PTY7_IN, 0,
1930 PTY6_FN, PTY6_OUT, PTY6_IN, 0,
1931 PTY5_FN, PTY5_OUT, PTY5_IN, 0,
1932 PTY4_FN, PTY4_OUT, PTY4_IN, 0,
1933 PTY3_FN, PTY3_OUT, PTY3_IN, 0,
1934 PTY2_FN, PTY2_OUT, PTY2_IN, 0,
1935 PTY1_FN, PTY1_OUT, PTY1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001936 PTY0_FN, PTY0_OUT, PTY0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001937 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001938 { PINMUX_CFG_REG("PZCR", 0xffec0032, 16, 2, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001939 PTZ7_FN, PTZ7_OUT, PTZ7_IN, 0,
1940 PTZ6_FN, PTZ6_OUT, PTZ6_IN, 0,
1941 PTZ5_FN, PTZ5_OUT, PTZ5_IN, 0,
1942 PTZ4_FN, PTZ4_OUT, PTZ4_IN, 0,
1943 PTZ3_FN, PTZ3_OUT, PTZ3_IN, 0,
1944 PTZ2_FN, PTZ2_OUT, PTZ2_IN, 0,
1945 PTZ1_FN, PTZ1_OUT, PTZ1_IN, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001946 PTZ0_FN, PTZ0_OUT, PTZ0_IN, 0 ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001947 },
1948
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001949 { PINMUX_CFG_REG("PSEL0", 0xffec0070, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001950 PS0_15_FN1, PS0_15_FN2,
1951 PS0_14_FN1, PS0_14_FN2,
1952 PS0_13_FN1, PS0_13_FN2,
1953 PS0_12_FN1, PS0_12_FN2,
1954 PS0_11_FN1, PS0_11_FN2,
1955 PS0_10_FN1, PS0_10_FN2,
1956 PS0_9_FN1, PS0_9_FN2,
1957 PS0_8_FN1, PS0_8_FN2,
1958 PS0_7_FN1, PS0_7_FN2,
1959 PS0_6_FN1, PS0_6_FN2,
1960 PS0_5_FN1, PS0_5_FN2,
1961 PS0_4_FN1, PS0_4_FN2,
1962 PS0_3_FN1, PS0_3_FN2,
1963 PS0_2_FN1, PS0_2_FN2,
1964 0, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001965 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001966 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001967 { PINMUX_CFG_REG("PSEL1", 0xffec0072, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001968 0, 0,
1969 0, 0,
1970 0, 0,
1971 0, 0,
1972 0, 0,
1973 PS1_10_FN1, PS1_10_FN2,
1974 PS1_9_FN1, PS1_9_FN2,
1975 PS1_8_FN1, PS1_8_FN2,
1976 0, 0,
1977 0, 0,
1978 0, 0,
1979 0, 0,
1980 0, 0,
1981 PS1_2_FN1, PS1_2_FN2,
1982 0, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001983 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001984 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01001985 { PINMUX_CFG_REG("PSEL2", 0xffec0074, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01001986 0, 0,
1987 0, 0,
1988 PS2_13_FN1, PS2_13_FN2,
1989 PS2_12_FN1, PS2_12_FN2,
1990 0, 0,
1991 0, 0,
1992 0, 0,
1993 0, 0,
1994 PS2_7_FN1, PS2_7_FN2,
1995 PS2_6_FN1, PS2_6_FN2,
1996 PS2_5_FN1, PS2_5_FN2,
1997 PS2_4_FN1, PS2_4_FN2,
1998 0, 0,
1999 PS2_2_FN1, PS2_2_FN2,
2000 0, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002001 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002002 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002003 { PINMUX_CFG_REG("PSEL3", 0xffec0076, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002004 PS3_15_FN1, PS3_15_FN2,
2005 PS3_14_FN1, PS3_14_FN2,
2006 PS3_13_FN1, PS3_13_FN2,
2007 PS3_12_FN1, PS3_12_FN2,
2008 PS3_11_FN1, PS3_11_FN2,
2009 PS3_10_FN1, PS3_10_FN2,
2010 PS3_9_FN1, PS3_9_FN2,
2011 PS3_8_FN1, PS3_8_FN2,
2012 PS3_7_FN1, PS3_7_FN2,
2013 0, 0,
2014 0, 0,
2015 0, 0,
2016 0, 0,
2017 PS3_2_FN1, PS3_2_FN2,
2018 PS3_1_FN1, PS3_1_FN2,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002019 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002020 },
2021
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002022 { PINMUX_CFG_REG("PSEL4", 0xffec0078, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002023 0, 0,
2024 PS4_14_FN1, PS4_14_FN2,
2025 PS4_13_FN1, PS4_13_FN2,
2026 PS4_12_FN1, PS4_12_FN2,
2027 0, 0,
2028 PS4_10_FN1, PS4_10_FN2,
2029 PS4_9_FN1, PS4_9_FN2,
2030 PS4_8_FN1, PS4_8_FN2,
2031 0, 0,
2032 0, 0,
2033 0, 0,
2034 PS4_4_FN1, PS4_4_FN2,
2035 PS4_3_FN1, PS4_3_FN2,
2036 PS4_2_FN1, PS4_2_FN2,
2037 PS4_1_FN1, PS4_1_FN2,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002038 PS4_0_FN1, PS4_0_FN2, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002039 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002040 { PINMUX_CFG_REG("PSEL5", 0xffec007a, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002041 0, 0,
2042 0, 0,
2043 0, 0,
2044 0, 0,
2045 PS5_11_FN1, PS5_11_FN2,
2046 PS5_10_FN1, PS5_10_FN2,
2047 PS5_9_FN1, PS5_9_FN2,
2048 PS5_8_FN1, PS5_8_FN2,
2049 PS5_7_FN1, PS5_7_FN2,
2050 PS5_6_FN1, PS5_6_FN2,
2051 PS5_5_FN1, PS5_5_FN2,
2052 PS5_4_FN1, PS5_4_FN2,
2053 PS5_3_FN1, PS5_3_FN2,
2054 PS5_2_FN1, PS5_2_FN2,
2055 0, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002056 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002057 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002058 { PINMUX_CFG_REG("PSEL6", 0xffec007c, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002059 PS6_15_FN1, PS6_15_FN2,
2060 PS6_14_FN1, PS6_14_FN2,
2061 PS6_13_FN1, PS6_13_FN2,
2062 PS6_12_FN1, PS6_12_FN2,
2063 PS6_11_FN1, PS6_11_FN2,
2064 PS6_10_FN1, PS6_10_FN2,
2065 PS6_9_FN1, PS6_9_FN2,
2066 PS6_8_FN1, PS6_8_FN2,
2067 PS6_7_FN1, PS6_7_FN2,
2068 PS6_6_FN1, PS6_6_FN2,
2069 PS6_5_FN1, PS6_5_FN2,
2070 PS6_4_FN1, PS6_4_FN2,
2071 PS6_3_FN1, PS6_3_FN2,
2072 PS6_2_FN1, PS6_2_FN2,
2073 PS6_1_FN1, PS6_1_FN2,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002074 PS6_0_FN1, PS6_0_FN2, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002075 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002076 { PINMUX_CFG_REG("PSEL7", 0xffec0082, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002077 PS7_15_FN1, PS7_15_FN2,
2078 PS7_14_FN1, PS7_14_FN2,
2079 PS7_13_FN1, PS7_13_FN2,
2080 PS7_12_FN1, PS7_12_FN2,
2081 PS7_11_FN1, PS7_11_FN2,
2082 PS7_10_FN1, PS7_10_FN2,
2083 PS7_9_FN1, PS7_9_FN2,
2084 PS7_8_FN1, PS7_8_FN2,
2085 PS7_7_FN1, PS7_7_FN2,
2086 PS7_6_FN1, PS7_6_FN2,
2087 PS7_5_FN1, PS7_5_FN2,
2088 0, 0,
2089 0, 0,
2090 0, 0,
2091 0, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002092 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002093 },
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002094 { PINMUX_CFG_REG("PSEL8", 0xffec0084, 16, 1, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002095 PS8_15_FN1, PS8_15_FN2,
2096 PS8_14_FN1, PS8_14_FN2,
2097 PS8_13_FN1, PS8_13_FN2,
2098 PS8_12_FN1, PS8_12_FN2,
2099 PS8_11_FN1, PS8_11_FN2,
2100 PS8_10_FN1, PS8_10_FN2,
2101 PS8_9_FN1, PS8_9_FN2,
2102 PS8_8_FN1, PS8_8_FN2,
2103 0, 0,
2104 0, 0,
2105 0, 0,
2106 0, 0,
2107 0, 0,
2108 0, 0,
2109 0, 0,
Geert Uytterhoevenefca8da02018-12-12 19:50:36 +01002110 0, 0, ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002111 },
2112 {}
2113};
2114
Laurent Pinchartcd3c1be2013-02-16 18:47:05 +01002115static const struct pinmux_data_reg pinmux_data_regs[] = {
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002116 { PINMUX_DATA_REG("PADR", 0xffec0034, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002117 PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002118 PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002119 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002120 { PINMUX_DATA_REG("PBDR", 0xffec0036, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002121 PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002122 PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002123 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002124 { PINMUX_DATA_REG("PCDR", 0xffec0038, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002125 PTC7_DATA, PTC6_DATA, PTC5_DATA, PTC4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002126 PTC3_DATA, PTC2_DATA, PTC1_DATA, PTC0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002127 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002128 { PINMUX_DATA_REG("PDDR", 0xffec003a, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002129 PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002130 PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002131 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002132 { PINMUX_DATA_REG("PEDR", 0xffec003c, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002133 PTE7_DATA, PTE6_DATA, PTE5_DATA, PTE4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002134 PTE3_DATA, PTE2_DATA, PTE1_DATA, PTE0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002135 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002136 { PINMUX_DATA_REG("PFDR", 0xffec003e, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002137 PTF7_DATA, PTF6_DATA, PTF5_DATA, PTF4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002138 PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002139 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002140 { PINMUX_DATA_REG("PGDR", 0xffec0040, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002141 PTG7_DATA, PTG6_DATA, PTG5_DATA, PTG4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002142 PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002143 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002144 { PINMUX_DATA_REG("PHDR", 0xffec0042, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002145 PTH7_DATA, PTH6_DATA, PTH5_DATA, PTH4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002146 PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002147 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002148 { PINMUX_DATA_REG("PIDR", 0xffec0044, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002149 PTI7_DATA, PTI6_DATA, PTI5_DATA, PTI4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002150 PTI3_DATA, PTI2_DATA, PTI1_DATA, PTI0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002151 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002152 { PINMUX_DATA_REG("PJDR", 0xffec0046, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002153 0, PTJ6_DATA, PTJ5_DATA, PTJ4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002154 PTJ3_DATA, PTJ2_DATA, PTJ1_DATA, PTJ0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002155 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002156 { PINMUX_DATA_REG("PKDR", 0xffec0048, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002157 PTK7_DATA, PTK6_DATA, PTK5_DATA, PTK4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002158 PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002159 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002160 { PINMUX_DATA_REG("PLDR", 0xffec004a, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002161 0, PTL6_DATA, PTL5_DATA, PTL4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002162 PTL3_DATA, PTL2_DATA, PTL1_DATA, PTL0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002163 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002164 { PINMUX_DATA_REG("PMDR", 0xffec004c, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002165 PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002166 PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002167 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002168 { PINMUX_DATA_REG("PNDR", 0xffec004e, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002169 0, PTN6_DATA, PTN5_DATA, PTN4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002170 PTN3_DATA, PTN2_DATA, PTN1_DATA, PTN0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002171 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002172 { PINMUX_DATA_REG("PODR", 0xffec0050, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002173 PTO7_DATA, PTO6_DATA, PTO5_DATA, PTO4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002174 PTO3_DATA, PTO2_DATA, PTO1_DATA, PTO0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002175 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002176 { PINMUX_DATA_REG("PPDR", 0xffec0052, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002177 PTP7_DATA, PTP6_DATA, PTP5_DATA, PTP4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002178 PTP3_DATA, PTP2_DATA, PTP1_DATA, PTP0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002179 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002180 { PINMUX_DATA_REG("PQDR", 0xffec0054, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002181 0, PTQ6_DATA, PTQ5_DATA, PTQ4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002182 PTQ3_DATA, PTQ2_DATA, PTQ1_DATA, PTQ0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002183 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002184 { PINMUX_DATA_REG("PRDR", 0xffec0056, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002185 PTR7_DATA, PTR6_DATA, PTR5_DATA, PTR4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002186 PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002187 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002188 { PINMUX_DATA_REG("PSDR", 0xffec0058, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002189 PTS7_DATA, PTS6_DATA, PTS5_DATA, PTS4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002190 PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002191 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002192 { PINMUX_DATA_REG("PTDR", 0xffec005a, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002193 PTT7_DATA, PTT6_DATA, PTT5_DATA, PTT4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002194 PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002195 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002196 { PINMUX_DATA_REG("PUDR", 0xffec005c, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002197 PTU7_DATA, PTU6_DATA, PTU5_DATA, PTU4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002198 PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002199 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002200 { PINMUX_DATA_REG("PVDR", 0xffec005e, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002201 PTV7_DATA, PTV6_DATA, PTV5_DATA, PTV4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002202 PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002203 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002204 { PINMUX_DATA_REG("PWDR", 0xffec0060, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002205 PTW7_DATA, PTW6_DATA, PTW5_DATA, PTW4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002206 PTW3_DATA, PTW2_DATA, PTW1_DATA, PTW0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002207 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002208 { PINMUX_DATA_REG("PXDR", 0xffec0062, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002209 PTX7_DATA, PTX6_DATA, PTX5_DATA, PTX4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002210 PTX3_DATA, PTX2_DATA, PTX1_DATA, PTX0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002211 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002212 { PINMUX_DATA_REG("PYDR", 0xffec0064, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002213 PTY7_DATA, PTY6_DATA, PTY5_DATA, PTY4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002214 PTY3_DATA, PTY2_DATA, PTY1_DATA, PTY0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002215 },
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002216 { PINMUX_DATA_REG("PZDR", 0xffec0066, 8, GROUP(
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002217 PTZ7_DATA, PTZ6_DATA, PTZ5_DATA, PTZ4_DATA,
Geert Uytterhoeven19b593a2019-01-21 19:20:53 +01002218 PTZ3_DATA, PTZ2_DATA, PTZ1_DATA, PTZ0_DATA ))
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002219 },
2220 { },
2221};
2222
Laurent Pinchartcd3c1be2013-02-16 18:47:05 +01002223const struct sh_pfc_soc_info sh7757_pinmux_info = {
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002224 .name = "sh7757_pfc",
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002225 .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002226 .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002227 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2228
Laurent Pincharta373ed02012-11-29 13:24:07 +01002229 .pins = pinmux_pins,
2230 .nr_pins = ARRAY_SIZE(pinmux_pins),
2231 .func_gpios = pinmux_func_gpios,
2232 .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
Laurent Pinchartd7a7ca52012-11-28 17:51:00 +01002233
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002234 .cfg_regs = pinmux_config_regs,
2235 .data_regs = pinmux_data_regs,
2236
Geert Uytterhoevenb8b47d62015-09-21 16:27:23 +02002237 .pinmux_data = pinmux_data,
2238 .pinmux_data_size = ARRAY_SIZE(pinmux_data),
Laurent Pinchart0bb92672012-12-15 23:51:37 +01002239};