]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/arm/plat-omap/include/plat/mux.h
omap1: I2C mux and clocks for omap7xx
[net-next-2.6.git] / arch / arm / plat-omap / include / plat / mux.h
CommitLineData
1da177e4 1/*
a09e64fb 2 * arch/arm/plat-omap/include/mach/mux.h
1da177e4
LT
3 *
4 * Table of the Omap register configurations for the FUNC_MUX and
5 * PULL_DWN combinations.
6 *
9330899e
TL
7 * Copyright (C) 2004 - 2008 Texas Instruments Inc.
8 * Copyright (C) 2003 - 2008 Nokia Corporation
1da177e4 9 *
9330899e 10 * Written by Tony Lindgren
1da177e4
LT
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 * NOTE: Please use the following naming style for new pin entries.
27 * For example, W8_1610_MMC2_DAT0, where:
28 * - W8 = ball
29 * - 1610 = 1510 or 1610, none if common for both 1510 and 1610
30 * - MMC2_DAT0 = function
1da177e4
LT
31 */
32
33#ifndef __ASM_ARCH_MUX_H
34#define __ASM_ARCH_MUX_H
35
36#define PU_PD_SEL_NA 0 /* No pu_pd reg available */
37#define PULL_DWN_CTRL_NA 0 /* No pull-down control needed */
38
39#ifdef CONFIG_OMAP_MUX_DEBUG
40#define MUX_REG(reg, mode_offset, mode) .mux_reg_name = "FUNC_MUX_CTRL_"#reg, \
41 .mux_reg = FUNC_MUX_CTRL_##reg, \
42 .mask_offset = mode_offset, \
43 .mask = mode,
44
45#define PULL_REG(reg, bit, status) .pull_name = "PULL_DWN_CTRL_"#reg, \
46 .pull_reg = PULL_DWN_CTRL_##reg, \
47 .pull_bit = bit, \
48 .pull_val = status,
49
50#define PU_PD_REG(reg, status) .pu_pd_name = "PU_PD_SEL_"#reg, \
51 .pu_pd_reg = PU_PD_SEL_##reg, \
52 .pu_pd_val = status,
53
7c006926 54#define MUX_REG_7XX(reg, mode_offset, mode) .mux_reg_name = "OMAP7XX_IO_CONF_"#reg, \
b51988db 55 .mux_reg = OMAP7XX_IO_CONF_##reg, \
9ad5897c
TL
56 .mask_offset = mode_offset, \
57 .mask = mode,
58
7c006926 59#define PULL_REG_7XX(reg, bit, status) .pull_name = "OMAP7XX_IO_CONF_"#reg, \
b51988db 60 .pull_reg = OMAP7XX_IO_CONF_##reg, \
9ad5897c
TL
61 .pull_bit = bit, \
62 .pull_val = status,
63
1da177e4
LT
64#else
65
66#define MUX_REG(reg, mode_offset, mode) .mux_reg = FUNC_MUX_CTRL_##reg, \
67 .mask_offset = mode_offset, \
68 .mask = mode,
69
70#define PULL_REG(reg, bit, status) .pull_reg = PULL_DWN_CTRL_##reg, \
71 .pull_bit = bit, \
72 .pull_val = status,
73
74#define PU_PD_REG(reg, status) .pu_pd_reg = PU_PD_SEL_##reg, \
75 .pu_pd_val = status,
76
7c006926 77#define MUX_REG_7XX(reg, mode_offset, mode) \
b51988db 78 .mux_reg = OMAP7XX_IO_CONF_##reg, \
9ad5897c
TL
79 .mask_offset = mode_offset, \
80 .mask = mode,
81
7c006926 82#define PULL_REG_7XX(reg, bit, status) .pull_reg = OMAP7XX_IO_CONF_##reg, \
9ad5897c
TL
83 .pull_bit = bit, \
84 .pull_val = status,
85
1da177e4
LT
86#endif /* CONFIG_OMAP_MUX_DEBUG */
87
88#define MUX_CFG(desc, mux_reg, mode_offset, mode, \
89 pull_reg, pull_bit, pull_status, \
90 pu_pd_reg, pu_pd_status, debug_status) \
91{ \
92 .name = desc, \
93 .debug = debug_status, \
94 MUX_REG(mux_reg, mode_offset, mode) \
95 PULL_REG(pull_reg, pull_bit, pull_status) \
96 PU_PD_REG(pu_pd_reg, pu_pd_status) \
97},
98
9ad5897c
TL
99
100/*
56739a69 101 * OMAP730/850 has a slightly different config for the pin mux.
b51988db 102 * - config regs are the OMAP7XX_IO_CONF_x regs (see omap730.h) regs and
9ad5897c
TL
103 * not the FUNC_MUX_CTRL_x regs from hardware.h
104 * - for pull-up/down, only has one enable bit which is is in the same register
105 * as mux config
106 */
7c006926 107#define MUX_CFG_7XX(desc, mux_reg, mode_offset, mode, \
8d7f9f50 108 pull_bit, pull_status, debug_status)\
9ad5897c
TL
109{ \
110 .name = desc, \
111 .debug = debug_status, \
7c006926
AB
112 MUX_REG_7XX(mux_reg, mode_offset, mode) \
113 PULL_REG_7XX(mux_reg, pull_bit, pull_status) \
8d7f9f50 114 PU_PD_REG(NA, 0) \
9ad5897c
TL
115},
116
117#define MUX_CFG_24XX(desc, reg_offset, mode, \
118 pull_en, pull_mode, dbg) \
119{ \
120 .name = desc, \
121 .debug = dbg, \
122 .mux_reg = reg_offset, \
123 .mask = mode, \
124 .pull_val = pull_en, \
125 .pu_pd_val = pull_mode, \
126},
127
2351872c
VP
128/* 24xx/34xx mux bit defines */
129#define OMAP2_PULL_ENA (1 << 3)
130#define OMAP2_PULL_UP (1 << 4)
131#define OMAP2_ALTELECTRICALSEL (1 << 5)
132
9ad5897c 133struct pin_config {
2351872c
VP
134 char *name;
135 const unsigned int mux_reg;
136 unsigned char debug;
1da177e4 137
2351872c 138#if defined(CONFIG_ARCH_OMAP1) || defined(CONFIG_ARCH_OMAP24XX)
1da177e4
LT
139 const unsigned char mask_offset;
140 const unsigned char mask;
141
142 const char *pull_name;
143 const unsigned int pull_reg;
144 const unsigned char pull_val;
145 const unsigned char pull_bit;
146
147 const char *pu_pd_name;
148 const unsigned int pu_pd_reg;
149 const unsigned char pu_pd_val;
2351872c
VP
150#endif
151
152#if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS)
153 const char *mux_reg_name;
154#endif
155
9ad5897c 156};
1da177e4 157
7c006926 158enum omap7xx_index {
9ad5897c 159 /* OMAP 730 keyboard */
7c006926
AB
160 E2_7XX_KBR0,
161 J7_7XX_KBR1,
162 E1_7XX_KBR2,
163 F3_7XX_KBR3,
164 D2_7XX_KBR4,
165 C2_7XX_KBC0,
166 D3_7XX_KBC1,
167 E4_7XX_KBC2,
168 F4_7XX_KBC3,
169 E3_7XX_KBC4,
8d7f9f50
TL
170
171 /* USB */
7c006926
AB
172 AA17_7XX_USB_DM,
173 W16_7XX_USB_PU_EN,
174 W17_7XX_USB_VBUSI,
106997c1
CM
175 W18_7XX_USB_DMCK_OUT,
176 W19_7XX_USB_DCRST,
490a5665
CM
177
178 /* MMC */
179 MMC_7XX_CMD,
180 MMC_7XX_CLK,
181 MMC_7XX_DAT0,
bf92a407
CM
182
183 /* I2C */
184 I2C_7XX_SCL,
185 I2C_7XX_SDA,
9ad5897c
TL
186};
187
188enum omap1xxx_index {
1da177e4
LT
189 /* UART1 (BT_UART_GATING)*/
190 UART1_TX = 0,
191 UART1_RTS,
192
193 /* UART2 (COM_UART_GATING)*/
194 UART2_TX,
195 UART2_RX,
196 UART2_CTS,
197 UART2_RTS,
198
199 /* UART3 (GIGA_UART_GATING) */
200 UART3_TX,
201 UART3_RX,
202 UART3_CTS,
203 UART3_RTS,
204 UART3_CLKREQ,
205 UART3_BCLK, /* 12MHz clock out */
206 Y15_1610_UART3_RTS,
207
208 /* PWT & PWL */
209 PWT,
210 PWL,
211
212 /* USB master generic */
213 R18_USB_VBUS,
214 R18_1510_USB_GPIO0,
215 W4_USB_PUEN,
216 W4_USB_CLKO,
217 W4_USB_HIGHZ,
218 W4_GPIO58,
219
220 /* USB1 master */
221 USB1_SUSP,
222 USB1_SEO,
223 W13_1610_USB1_SE0,
224 USB1_TXEN,
225 USB1_TXD,
226 USB1_VP,
227 USB1_VM,
228 USB1_RCV,
229 USB1_SPEED,
230 R13_1610_USB1_SPEED,
231 R13_1710_USB1_SE0,
232
233 /* USB2 master */
234 USB2_SUSP,
235 USB2_VP,
236 USB2_TXEN,
237 USB2_VM,
238 USB2_RCV,
239 USB2_SEO,
240 USB2_TXD,
241
242 /* OMAP-1510 GPIO */
243 R18_1510_GPIO0,
244 R19_1510_GPIO1,
245 M14_1510_GPIO2,
246
247 /* OMAP1610 GPIO */
248 P18_1610_GPIO3,
249 Y15_1610_GPIO17,
250
251 /* OMAP-1710 GPIO */
252 R18_1710_GPIO0,
253 V2_1710_GPIO10,
254 N21_1710_GPIO14,
255 W15_1710_GPIO40,
256
257 /* MPUIO */
258 MPUIO2,
9839c6b8 259 N15_1610_MPUIO2,
1da177e4
LT
260 MPUIO4,
261 MPUIO5,
262 T20_1610_MPUIO5,
263 W11_1610_MPUIO6,
264 V10_1610_MPUIO7,
265 W11_1610_MPUIO9,
266 V10_1610_MPUIO10,
267 W10_1610_MPUIO11,
268 E20_1610_MPUIO13,
269 U20_1610_MPUIO14,
270 E19_1610_MPUIO15,
271
272 /* MCBSP2 */
273 MCBSP2_CLKR,
274 MCBSP2_CLKX,
275 MCBSP2_DR,
276 MCBSP2_DX,
277 MCBSP2_FSR,
278 MCBSP2_FSX,
279
280 /* MCBSP3 */
281 MCBSP3_CLKX,
282
283 /* Misc ballouts */
284 BALLOUT_V8_ARMIO3,
9839c6b8 285 N20_HDQ,
1da177e4
LT
286
287 /* OMAP-1610 MMC2 */
288 W8_1610_MMC2_DAT0,
289 V8_1610_MMC2_DAT1,
290 W15_1610_MMC2_DAT2,
291 R10_1610_MMC2_DAT3,
292 Y10_1610_MMC2_CLK,
293 Y8_1610_MMC2_CMD,
294 V9_1610_MMC2_CMDDIR,
295 V5_1610_MMC2_DATDIR0,
296 W19_1610_MMC2_DATDIR1,
297 R18_1610_MMC2_CLKIN,
298
299 /* OMAP-1610 External Trace Interface */
300 M19_1610_ETM_PSTAT0,
301 L15_1610_ETM_PSTAT1,
302 L18_1610_ETM_PSTAT2,
303 L19_1610_ETM_D0,
304 J19_1610_ETM_D6,
305 J18_1610_ETM_D7,
306
bb13b5fd 307 /* OMAP16XX GPIO */
1da177e4
LT
308 P20_1610_GPIO4,
309 V9_1610_GPIO7,
310 W8_1610_GPIO9,
9839c6b8 311 N20_1610_GPIO11,
1da177e4
LT
312 N19_1610_GPIO13,
313 P10_1610_GPIO22,
314 V5_1610_GPIO24,
315 AA20_1610_GPIO_41,
316 W19_1610_GPIO48,
317 M7_1610_GPIO62,
bb13b5fd
TL
318 V14_16XX_GPIO37,
319 R9_16XX_GPIO18,
320 L14_16XX_GPIO49,
1da177e4
LT
321
322 /* OMAP-1610 uWire */
323 V19_1610_UWIRE_SCLK,
324 U18_1610_UWIRE_SDI,
325 W21_1610_UWIRE_SDO,
326 N14_1610_UWIRE_CS0,
9839c6b8 327 P15_1610_UWIRE_CS3,
1da177e4
LT
328 N15_1610_UWIRE_CS1,
329
75a1d10e
MH
330 /* OMAP-1610 SPI */
331 U19_1610_SPIF_SCK,
332 U18_1610_SPIF_DIN,
333 P20_1610_SPIF_DIN,
334 W21_1610_SPIF_DOUT,
335 R18_1610_SPIF_DOUT,
336 N14_1610_SPIF_CS0,
337 N15_1610_SPIF_CS1,
338 T19_1610_SPIF_CS2,
339 P15_1610_SPIF_CS3,
340
1da177e4
LT
341 /* OMAP-1610 Flash */
342 L3_1610_FLASH_CS2B_OE,
343 M8_1610_FLASH_CS2B_WE,
344
345 /* First MMC */
346 MMC_CMD,
347 MMC_DAT1,
348 MMC_DAT2,
349 MMC_DAT0,
350 MMC_CLK,
351 MMC_DAT3,
352
353 /* OMAP-1710 MMC CMDDIR and DATDIR0 */
354 M15_1710_MMC_CLKI,
355 P19_1710_MMC_CMDDIR,
356 P20_1710_MMC_DATDIR0,
357
358 /* OMAP-1610 USB0 alternate pin configuration */
359 W9_USB0_TXEN,
360 AA9_USB0_VP,
361 Y5_USB0_RCV,
362 R9_USB0_VM,
363 V6_USB0_TXD,
364 W5_USB0_SE0,
365 V9_USB0_SPEED,
366 V9_USB0_SUSP,
367
368 /* USB2 */
369 W9_USB2_TXEN,
370 AA9_USB2_VP,
371 Y5_USB2_RCV,
372 R9_USB2_VM,
373 V6_USB2_TXD,
374 W5_USB2_SE0,
375
bb13b5fd 376 /* 16XX UART */
1da177e4 377 R13_1610_UART1_TX,
bb13b5fd 378 V14_16XX_UART1_RX,
1da177e4
LT
379 R14_1610_UART1_CTS,
380 AA15_1610_UART1_RTS,
bb13b5fd
TL
381 R9_16XX_UART2_RX,
382 L14_16XX_UART3_RX,
1da177e4
LT
383
384 /* I2C OMAP-1610 */
385 I2C_SCL,
386 I2C_SDA,
387
388 /* Keypad */
389 F18_1610_KBC0,
390 D20_1610_KBC1,
391 D19_1610_KBC2,
392 E18_1610_KBC3,
393 C21_1610_KBC4,
394 G18_1610_KBR0,
395 F19_1610_KBR1,
396 H14_1610_KBR2,
397 E20_1610_KBR3,
398 E19_1610_KBR4,
399 N19_1610_KBR5,
400
401 /* Power management */
402 T20_1610_LOW_PWR,
403
404 /* MCLK Settings */
405 V5_1710_MCLK_ON,
406 V5_1710_MCLK_OFF,
407 R10_1610_MCLK_ON,
408 R10_1610_MCLK_OFF,
409
410 /* CompactFlash controller */
411 P11_1610_CF_CD2,
412 R11_1610_CF_IOIS16,
413 V10_1610_CF_IREQ,
414 W10_1610_CF_RESET,
415 W11_1610_CF_CD1,
c72d8950
DB
416
417 /* parallel camera */
418 J15_1610_CAM_LCLK,
419 J18_1610_CAM_D7,
420 J19_1610_CAM_D6,
421 J14_1610_CAM_D5,
422 K18_1610_CAM_D4,
423 K19_1610_CAM_D3,
424 K15_1610_CAM_D2,
425 K14_1610_CAM_D1,
426 L19_1610_CAM_D0,
427 L18_1610_CAM_VS,
428 L15_1610_CAM_HS,
429 M19_1610_CAM_RSTZ,
430 Y15_1610_CAM_OUTCLK,
431
432 /* serial camera */
433 H19_1610_CAM_EXCLK,
434 Y12_1610_CCP_CLKP,
435 W13_1610_CCP_CLKM,
436 W14_1610_CCP_DATAP,
437 Y14_1610_CCP_DATAM,
438
9ad5897c 439};
1da177e4 440
9ad5897c
TL
441enum omap24xx_index {
442 /* 24xx I2C */
443 M19_24XX_I2C1_SCL,
444 L15_24XX_I2C1_SDA,
445 J15_24XX_I2C2_SCL,
446 H19_24XX_I2C2_SDA,
1da177e4 447
9ad5897c
TL
448 /* 24xx Menelaus interrupt */
449 W19_24XX_SYS_NIRQ,
1da177e4 450
8d7f9f50
TL
451 /* 24xx clock */
452 W14_24XX_SYS_CLKOUT,
453
7bbb3cc5
KP
454 /* 24xx GPMC chipselects, wait pin monitoring */
455 E2_GPMC_NCS2,
456 L2_GPMC_NCS7,
3cbc9605
TL
457 L3_GPMC_WAIT0,
458 N7_GPMC_WAIT1,
459 M1_GPMC_WAIT2,
460 P1_GPMC_WAIT3,
461
8d7f9f50
TL
462 /* 242X McBSP */
463 Y15_24XX_MCBSP2_CLKX,
464 R14_24XX_MCBSP2_FSX,
465 W15_24XX_MCBSP2_DR,
466 V15_24XX_MCBSP2_DX,
467
9ad5897c 468 /* 24xx GPIO */
8d7f9f50 469 M21_242X_GPIO11,
7bbb3cc5 470 P21_242X_GPIO12,
8d7f9f50
TL
471 AA10_242X_GPIO13,
472 AA6_242X_GPIO14,
473 AA4_242X_GPIO15,
474 Y11_242X_GPIO16,
475 AA12_242X_GPIO17,
476 AA8_242X_GPIO58,
9ad5897c 477 Y20_24XX_GPIO60,
8d7f9f50 478 W4__24XX_GPIO74,
f7337a19 479 N15_24XX_GPIO85,
9ad5897c 480 M15_24XX_GPIO92,
f7337a19
TL
481 P20_24XX_GPIO93,
482 P18_24XX_GPIO95,
483 M18_24XX_GPIO96,
484 L14_24XX_GPIO97,
7bbb3cc5 485 J15_24XX_GPIO99,
8d7f9f50 486 V14_24XX_GPIO117,
7bbb3cc5 487 P14_24XX_GPIO125,
8d7f9f50 488
5ac42153
TL
489 /* 242x DBG GPIO */
490 V4_242X_GPIO49,
491 W2_242X_GPIO50,
492 U4_242X_GPIO51,
493 V3_242X_GPIO52,
494 V2_242X_GPIO53,
495 V6_242X_GPIO53,
496 T4_242X_GPIO54,
497 Y4_242X_GPIO54,
498 T3_242X_GPIO55,
499 U2_242X_GPIO56,
500
501 /* 24xx external DMA requests */
502 AA10_242X_DMAREQ0,
503 AA6_242X_DMAREQ1,
504 E4_242X_DMAREQ2,
505 G4_242X_DMAREQ3,
506 D3_242X_DMAREQ4,
507 E3_242X_DMAREQ5,
508
8d7f9f50
TL
509 /* UART3 */
510 K15_24XX_UART3_TX,
511 K14_24XX_UART3_RX,
512
abc45e1d
KP
513 /* MMC/SDIO */
514 G19_24XX_MMC_CLKO,
515 H18_24XX_MMC_CMD,
516 F20_24XX_MMC_DAT0,
517 H14_24XX_MMC_DAT1,
518 E19_24XX_MMC_DAT2,
519 D19_24XX_MMC_DAT3,
520 F19_24XX_MMC_DAT_DIR0,
521 E20_24XX_MMC_DAT_DIR1,
522 F18_24XX_MMC_DAT_DIR2,
523 E18_24XX_MMC_DAT_DIR3,
524 G18_24XX_MMC_CMD_DIR,
525 H15_24XX_MMC_CLKI,
526
7bbb3cc5
KP
527 /* Full speed USB */
528 J20_24XX_USB0_PUEN,
529 J19_24XX_USB0_VP,
530 K20_24XX_USB0_VM,
531 J18_24XX_USB0_RCV,
532 K19_24XX_USB0_TXEN,
533 J14_24XX_USB0_SE0,
534 K18_24XX_USB0_DAT,
535
536 N14_24XX_USB1_SE0,
537 W12_24XX_USB1_SE0,
538 P15_24XX_USB1_DAT,
539 R13_24XX_USB1_DAT,
540 W20_24XX_USB1_TXEN,
541 P13_24XX_USB1_TXEN,
542 V19_24XX_USB1_RCV,
543 V12_24XX_USB1_RCV,
544
545 AA10_24XX_USB2_SE0,
546 Y11_24XX_USB2_DAT,
547 AA12_24XX_USB2_TXEN,
548 AA6_24XX_USB2_RCV,
549 AA4_24XX_USB2_TLLSE0,
550
8d7f9f50
TL
551 /* Keypad GPIO*/
552 T19_24XX_KBR0,
553 R19_24XX_KBR1,
554 V18_24XX_KBR2,
555 M21_24XX_KBR3,
556 E5__24XX_KBR4,
557 M18_24XX_KBR5,
558 R20_24XX_KBC0,
559 M14_24XX_KBC1,
560 H19_24XX_KBC2,
561 V17_24XX_KBC3,
562 P21_24XX_KBC4,
563 L14_24XX_KBC5,
564 N19_24XX_KBC6,
565
566 /* 24xx Menelaus Keypad GPIO */
567 B3__24XX_KBR5,
568 AA4_24XX_KBC2,
569 B13_24XX_KBC6,
f7337a19
TL
570
571 /* 2430 USB */
572 AD9_2430_USB0_PUEN,
573 Y11_2430_USB0_VP,
574 AD7_2430_USB0_VM,
575 AE7_2430_USB0_RCV,
576 AD4_2430_USB0_TXEN,
577 AF9_2430_USB0_SE0,
578 AE6_2430_USB0_DAT,
579 AD24_2430_USB1_SE0,
580 AB24_2430_USB1_RCV,
581 Y25_2430_USB1_TXEN,
582 AA26_2430_USB1_DAT,
583
584 /* 2430 HS-USB */
585 AD9_2430_USB0HS_DATA3,
586 Y11_2430_USB0HS_DATA4,
587 AD7_2430_USB0HS_DATA5,
588 AE7_2430_USB0HS_DATA6,
589 AD4_2430_USB0HS_DATA2,
590 AF9_2430_USB0HS_DATA0,
591 AE6_2430_USB0HS_DATA1,
592 AE8_2430_USB0HS_CLK,
593 AD8_2430_USB0HS_DIR,
594 AE5_2430_USB0HS_STP,
595 AE9_2430_USB0HS_NXT,
596 AC7_2430_USB0HS_DATA7,
597
598 /* 2430 McBSP */
2619bc32
AK
599 AD6_2430_MCBSP_CLKS,
600
601 AB2_2430_MCBSP1_CLKR,
602 AD5_2430_MCBSP1_FSR,
603 AA1_2430_MCBSP1_DX,
604 AF3_2430_MCBSP1_DR,
605 AB3_2430_MCBSP1_FSX,
606 Y9_2430_MCBSP1_CLKX,
607
f7337a19
TL
608 AC10_2430_MCBSP2_FSX,
609 AD16_2430_MCBSP2_CLX,
610 AE13_2430_MCBSP2_DX,
611 AD13_2430_MCBSP2_DR,
612 AC10_2430_MCBSP2_FSX_OFF,
613 AD16_2430_MCBSP2_CLX_OFF,
614 AE13_2430_MCBSP2_DX_OFF,
615 AD13_2430_MCBSP2_DR_OFF,
616
2619bc32
AK
617 AC9_2430_MCBSP3_CLKX,
618 AE4_2430_MCBSP3_FSX,
619 AE2_2430_MCBSP3_DR,
620 AF4_2430_MCBSP3_DX,
621
622 N3_2430_MCBSP4_CLKX,
623 AD23_2430_MCBSP4_DR,
624 AB25_2430_MCBSP4_DX,
625 AC25_2430_MCBSP4_FSX,
626
627 AE16_2430_MCBSP5_CLKX,
628 AF12_2430_MCBSP5_FSX,
629 K7_2430_MCBSP5_DX,
630 M1_2430_MCBSP5_DR,
631
632 /* 2430 McSPI*/
633 Y18_2430_MCSPI1_CLK,
634 AD15_2430_MCSPI1_SIMO,
635 AE17_2430_MCSPI1_SOMI,
636 U1_2430_MCSPI1_CS0,
637
638 /* Touchscreen GPIO */
639 AF19_2430_GPIO_85,
640
9ad5897c 641};
1da177e4 642
7d7f665d
TL
643struct omap_mux_cfg {
644 struct pin_config *pins;
645 unsigned long size;
646 int (*cfg_reg)(const struct pin_config *cfg);
647};
648
1da177e4
LT
649#ifdef CONFIG_OMAP_MUX
650/* setup pin muxing in Linux */
9ad5897c 651extern int omap1_mux_init(void);
7d7f665d 652extern int omap_mux_register(struct omap_mux_cfg *);
9ad5897c 653extern int omap_cfg_reg(unsigned long reg_cfg);
1da177e4
LT
654#else
655/* boot loader does it all (no warnings from CONFIG_OMAP_MUX_WARNINGS) */
9ad5897c 656static inline int omap1_mux_init(void) { return 0; }
9ad5897c 657static inline int omap_cfg_reg(unsigned long reg_cfg) { return 0; }
1da177e4
LT
658#endif
659
15f45e6f
TL
660extern int omap2_mux_init(void);
661
1da177e4 662#endif