aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mv78xx0/mpp.h
blob: 80840b781eaa26cac4232b2e319c2b0bff186919 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
/*
 * linux/arch/arm/mach-mv78xx0/mpp.h -- Multi Purpose Pins
 *
 *
 * sebastien requiem <sebastien@requiem.fr>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

#ifndef __MV78X00_MPP_H
#define __MV78X00_MPP_H

#define MPP(_num, _sel, _in, _out, _78100_A0) (\
    /* MPP number */        ((_num) & 0xff) | \
    /* MPP select value */        (((_sel) & 0xf) << 8) | \
    /* may be input signal */    ((!!(_in)) << 12) | \
    /* may be output signal */    ((!!(_out)) << 13) | \
    /* available on A0 */    ((!!(_78100_A0)) << 14))

#define MPP_NUM(x)    ((x) & 0xff)
#define MPP_SEL(x)    (((x) >> 8) & 0xf)

                /*   num sel  i  o  78100_A0  */

#define MPP_INPUT_MASK        MPP(0, 0x0, 1, 0, 0)
#define MPP_OUTPUT_MASK        MPP(0, 0x0, 0, 1, 0)

#define MPP_78100_A0_MASK    MPP(0, 0x0, 0, 0, 1)

#define MPP0_GPIO        MPP(0, 0x0, 1, 1, 1)
#define MPP0_GE0_COL        MPP(0, 0x1, 1, 0, 1)
#define MPP0_GE1_TXCLK        MPP(0, 0x2, 0, 1, 1)
#define MPP0_UNUSED        MPP(0, 0x3, 0, 0, 1)

#define MPP1_GPIO        MPP(1, 0x0, 1, 1, 1)
#define MPP1_GE0_RXERR        MPP(1, 0x1, 1, 0, 1)
#define MPP1_GE1_TXCTL        MPP(1, 0x2, 0, 1, 1)
#define MPP1_UNUSED        MPP(1, 0x3, 0, 0, 1)

#define MPP2_GPIO        MPP(2, 0x0, 1, 1, 1)
#define MPP2_GE0_CRS        MPP(2, 0x1, 1, 0, 1)
#define MPP2_GE1_RXCTL        MPP(2, 0x2, 1, 0, 1)
#define MPP2_UNUSED        MPP(2, 0x3, 0, 0, 1)

#define MPP3_GPIO        MPP(3, 0x0, 1, 1, 1)
#define MPP3_GE0_TXERR        MPP(3, 0x1, 0, 1, 1)
#define MPP3_GE1_RXCLK        MPP(3, 0x2, 1, 0, 1)
#define MPP3_UNUSED        MPP(3, 0x3, 0, 0, 1)

#define MPP4_GPIO        MPP(4, 0x0, 1, 1, 1)
#define MPP4_GE0_TXD4        MPP(4, 0x1, 0, 1, 1)
#define MPP4_GE1_TXD0        MPP(4, 0x2, 0, 1, 1)
#define MPP4_UNUSED        MPP(4, 0x3, 0, 0, 1)

#define MPP5_GPIO        MPP(5, 0x0, 1, 1, 1)
#define MPP5_GE0_TXD5        MPP(5, 0x1, 0, 1, 1)
#define MPP5_GE1_TXD1        MPP(5, 0x2, 0, 1, 1)
#define MPP5_UNUSED        MPP(5, 0x3, 0, 0, 1)

#define MPP6_GPIO        MPP(6, 0x0, 1, 1, 1)
#define MPP6_GE0_TXD6        MPP(6, 0x1, 0, 1, 1)
#define MPP6_GE1_TXD2        MPP(6, 0x2, 0, 1, 1)
#define MPP6_UNUSED        MPP(6, 0x3, 0, 0, 1)

#define MPP7_GPIO        MPP(7, 0x0, 1, 1, 1)
#define MPP7_GE0_TXD7        MPP(7, 0x1, 0, 1, 1)
#define MPP7_GE1_TXD3        MPP(7, 0x2, 0, 1, 1)
#define MPP7_UNUSED        MPP(7, 0x3, 0, 0, 1)

#define MPP8_GPIO        MPP(8, 0x0, 1, 1, 1)
#define MPP8_GE0_RXD4        MPP(8, 0x1, 1, 0, 1)
#define MPP8_GE1_RXD0        MPP(8, 0x2, 1, 0, 1)
#define MPP8_UNUSED        MPP(8, 0x3, 0, 0, 1)

#define MPP9_GPIO        MPP(9, 0x0, 1, 1, 1)
#define MPP9_GE0_RXD5        MPP(9, 0x1, 1, 0, 1)
#define MPP9_GE1_RXD1        MPP(9, 0x2, 1, 0, 1)
#define MPP9_UNUSED        MPP(9, 0x3, 0, 0, 1)

#define MPP10_GPIO        MPP(10, 0x0, 1, 1, 1)
#define MPP10_GE0_RXD6        MPP(10, 0x1, 1, 0, 1)
#define MPP10_GE1_RXD2        MPP(10, 0x2, 1, 0, 1)
#define MPP10_UNUSED        MPP(10, 0x3, 0, 0, 1)

#define MPP11_GPIO        MPP(11, 0x0, 1, 1, 1)
#define MPP11_GE0_RXD7        MPP(11, 0x1, 1, 0, 1)
#define MPP11_GE1_RXD3        MPP(11, 0x2, 1, 0, 1)
#define MPP11_UNUSED        MPP(11, 0x3, 0, 0, 1)

#define MPP12_GPIO        MPP(12, 0x0, 1, 1, 1)
#define MPP12_M_BB        MPP(12, 0x3, 1, 0, 1)
#define MPP12_UA0_CTSn        MPP(12, 0x4, 1, 0, 1)
#define MPP12_NAND_FLASH_REn0    MPP(12, 0x5, 0, 1, 1)
#define MPP12_TDM0_SCSn        MPP(12, 0X6, 0, 1, 1)
#define MPP12_UNUSED        MPP(12, 0x1, 0, 0, 1)

#define MPP13_GPIO        MPP(13, 0x0, 1, 1, 1)
#define MPP13_SYSRST_OUTn    MPP(13, 0x3, 0, 1, 1)
#define MPP13_UA0_RTSn        MPP(13, 0x4, 0, 1, 1)
#define MPP13_NAN_FLASH_WEn0    MPP(13, 0x5, 0, 1, 1)
#define MPP13_TDM_SCLK        MPP(13, 0x6, 0, 1, 1)
#define MPP13_UNUSED        MPP(13, 0x1, 0, 0, 1)

#define MPP14_GPIO        MPP(14, 0x0, 1, 1, 1)
#define MPP14_SATA1_ACTn    MPP(14, 0x3, 0, 1, 1)
#define MPP14_UA1_CTSn        MPP(14, 0x4, 1, 0, 1)
#define MPP14_NAND_FLASH_REn1    MPP(14, 0x5, 0, 1, 1)
#define MPP14_TDM_SMOSI        MPP(14, 0x6, 0, 1, 1)
#define MPP14_UNUSED        MPP(14, 0x1, 0, 0, 1)

#define MPP15_GPIO        MPP(15, 0x0, 1, 1, 1)
#define MPP15_SATA0_ACTn    MPP(15, 0x3, 0, 1, 1)
#define MPP15_UA1_RTSn        MPP(15, 0x4, 0, 1, 1)
#define MPP15_NAND_FLASH_WEn1    MPP(15, 0x5, 0, 1, 1)
#define MPP15_TDM_SMISO        MPP(15, 0x6, 1, 0, 1)
#define MPP15_UNUSED        MPP(15, 0x1, 0, 0, 1)

#define MPP16_GPIO        MPP(16, 0x0, 1, 1, 1)
#define MPP16_SATA1_PRESENTn    MPP(16, 0x3, 0, 1, 1)
#define MPP16_UA2_TXD        MPP(16, 0x4, 0, 1, 1)
#define MPP16_NAND_FLASH_REn3    MPP(16, 0x5, 0, 1, 1)
#define MPP16_TDM_INTn        MPP(16, 0x6, 1, 0, 1)
#define MPP16_UNUSED        MPP(16, 0x1, 0, 0, 1)


#define MPP17_GPIO        MPP(17, 0x0, 1, 1, 1)
#define MPP17_SATA0_PRESENTn    MPP(17, 0x3, 0, 1, 1)
#define MPP17_UA2_RXD        MPP(17, 0x4, 1, 0, 1)
#define MPP17_NAND_FLASH_WEn3    MPP(17, 0x5, 0, 1, 1)
#define MPP17_TDM_RSTn        MPP(17, 0x6, 0, 1, 1)
#define MPP17_UNUSED        MPP(17, 0x1, 0, 0, 1)


#define MPP18_GPIO        MPP(18, 0x0, 1, 1, 1)
#define MPP18_UA0_CTSn        MPP(18, 0x4, 1, 0, 1)
#define MPP18_BOOT_FLASH_REn    MPP(18, 0x5, 0, 1, 1)
#define MPP18_UNUSED        MPP(18, 0x1, 0, 0, 1)



#define MPP19_GPIO        MPP(19, 0x0, 1, 1, 1)
#define MPP19_UA0_CTSn        MPP(19, 0x4, 0, 1, 1)
#define MPP19_BOOT_FLASH_WEn    MPP(19, 0x5, 0, 1, 1)
#define MPP19_UNUSED        MPP(19, 0x1, 0, 0, 1)


#define MPP20_GPIO        MPP(20, 0x0, 1, 1, 1)
#define MPP20_UA1_CTSs        MPP(20, 0x4, 1, 0, 1)
#define MPP20_TDM_PCLK        MPP(20, 0x6, 1, 1, 0)
#define MPP20_UNUSED        MPP(20, 0x1, 0, 0, 1)



#define MPP21_GPIO        MPP(21, 0x0, 1, 1, 1)
#define MPP21_UA1_CTSs        MPP(21, 0x4, 0, 1, 1)
#define MPP21_TDM_FSYNC        MPP(21, 0x6, 1, 1, 0)
#define MPP21_UNUSED        MPP(21, 0x1, 0, 0, 1)



#define MPP22_GPIO        MPP(22, 0x0, 1, 1, 1)
#define MPP22_UA3_TDX        MPP(22, 0x4, 0, 1, 1)
#define MPP22_NAND_FLASH_REn2    MPP(22, 0x5, 0, 1, 1)
#define MPP22_TDM_DRX        MPP(22, 0x6, 1, 0, 1)
#define MPP22_UNUSED        MPP(22, 0x1, 0, 0, 1)



#define MPP23_GPIO        MPP(23, 0x0, 1, 1, 1)
#define MPP23_UA3_RDX        MPP(23, 0x4, 1, 0, 1)
#define MPP23_NAND_FLASH_WEn2    MPP(23, 0x5, 0, 1, 1)
#define MPP23_TDM_DTX        MPP(23, 0x6, 0, 1, 1)
#define MPP23_UNUSED        MPP(23, 0x1, 0, 0, 1)


#define MPP24_GPIO        MPP(24, 0x0, 1, 1, 1)
#define MPP24_UA2_TXD        MPP(24, 0x4, 0, 1, 1)
#define MPP24_TDM_INTn        MPP(24, 0x6, 1, 0, 1)
#define MPP24_UNUSED        MPP(24, 0x1, 0, 0, 1)


#define MPP25_GPIO        MPP(25, 0x0, 1, 1, 1)
#define MPP25_UA2_RXD        MPP(25, 0x4, 1, 0, 1)
#define MPP25_TDM_RSTn        MPP(25, 0x6, 0, 1, 1)
#define MPP25_UNUSED        MPP(25, 0x1, 0, 0, 1)


#define MPP26_GPIO        MPP(26, 0x0, 1, 1, 1)
#define MPP26_UA2_CTSn        MPP(26, 0x4, 1, 0, 1)
#define MPP26_TDM_PCLK        MPP(26, 0x6, 1, 1, 1)
#define MPP26_UNUSED        MPP(26, 0x1, 0, 0, 1)


#define MPP27_GPIO        MPP(27, 0x0, 1, 1, 1)
#define MPP27_UA2_RTSn        MPP(27, 0x4, 0, 1, 1)
#define MPP27_TDM_FSYNC        MPP(27, 0x6, 1, 1, 1)
#define MPP27_UNUSED        MPP(27, 0x1, 0, 0, 1)


#define MPP28_GPIO        MPP(28, 0x0, 1, 1, 1)
#define MPP28_UA3_TXD        MPP(28, 0x4, 0, 1, 1)
#define MPP28_TDM_DRX        MPP(28, 0x6, 1, 0, 1)
#define MPP28_UNUSED        MPP(28, 0x1, 0, 0, 1)

#define MPP29_GPIO        MPP(29, 0x0, 1, 1, 1)
#define MPP29_UA3_RXD        MPP(29, 0x4, 1, 0, 1)
#define MPP29_SYSRST_OUTn    MPP(29, 0x5, 0, 1, 1)
#define MPP29_TDM_DTX        MPP(29, 0x6, 0, 1, 1)
#define MPP29_UNUSED        MPP(29, 0x1, 0, 0, 1)

#define MPP30_GPIO        MPP(30, 0x0, 1, 1, 1)
#define MPP30_UA3_CTSn        MPP(30, 0x4, 1, 0, 1)
#define MPP30_UNUSED        MPP(30, 0x1, 0, 0, 1)

#define MPP31_GPIO        MPP(31, 0x0, 1, 1, 1)
#define MPP31_UA3_RTSn        MPP(31, 0x4, 0, 1, 1)
#define MPP31_TDM1_SCSn        MPP(31, 0x6, 0, 1, 1)
#define MPP31_UNUSED        MPP(31, 0x1, 0, 0, 1)


#define MPP32_GPIO        MPP(32, 0x1, 1, 1, 1)
#define MPP32_UA3_TDX        MPP(32, 0x4, 0, 1, 1)
#define MPP32_SYSRST_OUTn    MPP(32, 0x5, 0, 1, 1)
#define MPP32_TDM0_RXQ        MPP(32, 0x6, 0, 1, 1)
#define MPP32_UNUSED        MPP(32, 0x3, 0, 0, 1)


#define MPP33_GPIO        MPP(33, 0x1, 1, 1, 1)
#define MPP33_UA3_RDX        MPP(33, 0x4, 1, 0, 1)
#define MPP33_TDM0_TXQ        MPP(33, 0x6, 0, 1, 1)
#define MPP33_UNUSED        MPP(33, 0x3, 0, 0, 1)



#define MPP34_GPIO        MPP(34, 0x1, 1, 1, 1)
#define MPP34_UA2_TDX        MPP(34, 0x4, 0, 1, 1)
#define MPP34_TDM1_RXQ        MPP(34, 0x6, 0, 1, 1)
#define MPP34_UNUSED        MPP(34, 0x3, 0, 0, 1)



#define MPP35_GPIO        MPP(35, 0x1, 1, 1, 1)
#define MPP35_UA2_RDX        MPP(35, 0x4, 1, 0, 1)
#define MPP35_TDM1_TXQ        MPP(35, 0x6, 0, 1, 1)
#define MPP35_UNUSED        MPP(35, 0x3, 0, 0, 1)

#define MPP36_GPIO        MPP(36, 0x1, 1, 1, 1)
#define MPP36_UA0_CTSn        MPP(36, 0x2, 1, 0, 1)
#define MPP36_UA2_TDX        MPP(36, 0x4, 0, 1, 1)
#define MPP36_TDM0_SCSn        MPP(36, 0x6, 0, 1, 1)
#define MPP36_UNUSED        MPP(36, 0x3, 0, 0, 1)


#define MPP37_GPIO        MPP(37, 0x1, 1, 1, 1)
#define MPP37_UA0_RTSn        MPP(37, 0x2, 0, 1, 1)
#define MPP37_UA2_RXD        MPP(37, 0x4, 1, 0, 1)
#define MPP37_SYSRST_OUTn    MPP(37, 0x5, 0, 1, 1)
#define MPP37_TDM_SCLK        MPP(37, 0x6, 0, 1, 1)
#define MPP37_UNUSED        MPP(37, 0x3, 0, 0, 1)




#define MPP38_GPIO        MPP(38, 0x1, 1, 1, 1)
#define MPP38_UA1_CTSn        MPP(38, 0x2, 1, 0, 1)
#define MPP38_UA3_TXD        MPP(38, 0x4, 0, 1, 1)
#define MPP38_SYSRST_OUTn    MPP(38, 0x5, 0, 1, 1)
#define MPP38_TDM_SMOSI        MPP(38, 0x6, 0, 1, 1)
#define MPP38_UNUSED        MPP(38, 0x3, 0, 0, 1)




#define MPP39_GPIO        MPP(39, 0x1, 1, 1, 1)
#define MPP39_UA1_RTSn        MPP(39, 0x2, 0, 1, 1)
#define MPP39_UA3_RXD        MPP(39, 0x4, 1, 0, 1)
#define MPP39_SYSRST_OUTn    MPP(39, 0x5, 0, 1, 1)
#define MPP39_TDM_SMISO        MPP(39, 0x6, 1, 0, 1)
#define MPP39_UNUSED        MPP(39, 0x3, 0, 0, 1)



#define MPP40_GPIO        MPP(40, 0x1, 1, 1, 1)
#define MPP40_TDM_INTn        MPP(40, 0x6, 1, 0, 1)
#define MPP40_UNUSED        MPP(40, 0x0, 0, 0, 1)



#define MPP41_GPIO        MPP(41, 0x1, 1, 1, 1)
#define MPP41_TDM_RSTn        MPP(41, 0x6, 0, 1, 1)
#define MPP41_UNUSED        MPP(41, 0x0, 0, 0, 1)



#define MPP42_GPIO        MPP(42, 0x1, 1, 1, 1)
#define MPP42_TDM_PCLK        MPP(42, 0x6, 1, 1, 1)
#define MPP42_UNUSED        MPP(42, 0x0, 0, 0, 1)



#define MPP43_GPIO        MPP(43, 0x1, 1, 1, 1)
#define MPP43_TDM_FSYNC        MPP(43, 0x6, 1, 1, 1)
#define MPP43_UNUSED        MPP(43, 0x0, 0, 0, 1)



#define MPP44_GPIO        MPP(44, 0x1, 1, 1, 1)
#define MPP44_TDM_DRX        MPP(44, 0x6, 1, 0, 1)
#define MPP44_UNUSED        MPP(44, 0x0, 0, 0, 1)



#define MPP45_GPIO        MPP(45, 0x1, 1, 1, 1)
#define MPP45_SATA0_ACTn    MPP(45, 0x3, 0, 1, 1)
#define MPP45_TDM_DRX        MPP(45, 0x6, 0, 1, 1)
#define MPP45_UNUSED        MPP(45, 0x0, 0, 0, 1)


#define MPP46_GPIO        MPP(46, 0x1, 1, 1, 1)
#define MPP46_TDM_SCSn        MPP(46, 0x6, 0, 1, 1)
#define MPP46_UNUSED        MPP(46, 0x0, 0, 0, 1)


#define MPP47_GPIO        MPP(47, 0x1, 1, 1, 1)
#define MPP47_UNUSED        MPP(47, 0x0, 0, 0, 1)



#define MPP48_GPIO        MPP(48, 0x1, 1, 1, 1)
#define MPP48_SATA1_ACTn    MPP(48, 0x3, 0, 1, 1)
#define MPP48_UNUSED        MPP(48, 0x2, 0, 0, 1)



#define MPP49_GPIO        MPP(49, 0x1, 1, 1, 1)
#define MPP49_SATA0_ACTn    MPP(49, 0x3, 0, 1, 1)
#define MPP49_M_BB        MPP(49, 0x4, 1, 0, 1)
#define MPP49_UNUSED        MPP(49, 0x2, 0, 0, 1)


#define MPP_MAX            49

void mv78xx0_mpp_conf(unsigned int *mpp_list);

#endif