aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/board-3430sdp.c1
-rw-r--r--arch/arm/mach-omap2/board-cm-t35.c1
-rw-r--r--arch/arm/mach-omap2/board-igep0020.c1
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c1
-rw-r--r--arch/arm/mach-omap2/board-omap3evm.c1
-rw-r--r--arch/arm/mach-omap2/board-omap3pandora.c1
-rw-r--r--arch/arm/mach-omap2/board-overo.c1
-rw-r--r--arch/arm/mach-omap2/board-rx51.c1
-rw-r--r--arch/arm/mach-omap2/io.c1
-rw-r--r--arch/arm/mach-omap2/mux.c368
-rw-r--r--arch/arm/plat-omap/include/plat/mux.h226
11 files changed, 14 insertions, 589 deletions
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index ded3e875ec80..4cfb7b68dfad 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -31,7 +31,6 @@
31#include <asm/mach/map.h> 31#include <asm/mach/map.h>
32 32
33#include <plat/mcspi.h> 33#include <plat/mcspi.h>
34#include <plat/mux.h>
35#include <plat/board.h> 34#include <plat/board.h>
36#include <plat/usb.h> 35#include <plat/usb.h>
37#include <plat/common.h> 36#include <plat/common.h>
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 10a595548724..507c9222699d 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -38,7 +38,6 @@
38 38
39#include <plat/board.h> 39#include <plat/board.h>
40#include <plat/common.h> 40#include <plat/common.h>
41#include <plat/mux.h>
42#include <plat/nand.h> 41#include <plat/nand.h>
43#include <plat/gpmc.h> 42#include <plat/gpmc.h>
44#include <plat/usb.h> 43#include <plat/usb.h>
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 7e3217a18283..44239e3ec02e 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -27,7 +27,6 @@
27#include <plat/board.h> 27#include <plat/board.h>
28#include <plat/common.h> 28#include <plat/common.h>
29#include <plat/gpmc.h> 29#include <plat/gpmc.h>
30#include <plat/mux.h>
31#include <plat/usb.h> 30#include <plat/usb.h>
32 31
33#include "mux.h" 32#include "mux.h"
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 9e606b107ee6..6ada8029f9a8 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -41,7 +41,6 @@
41#include <plat/common.h> 41#include <plat/common.h>
42#include <plat/gpmc.h> 42#include <plat/gpmc.h>
43#include <plat/nand.h> 43#include <plat/nand.h>
44#include <plat/mux.h>
45#include <plat/usb.h> 44#include <plat/usb.h>
46#include <plat/timer-gp.h> 45#include <plat/timer-gp.h>
47 46
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index 0457f615339f..18913e96e34d 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -38,7 +38,6 @@
38#include <asm/mach/map.h> 38#include <asm/mach/map.h>
39 39
40#include <plat/board.h> 40#include <plat/board.h>
41#include <plat/mux.h>
42#include <plat/usb.h> 41#include <plat/usb.h>
43#include <plat/common.h> 42#include <plat/common.h>
44#include <plat/mcspi.h> 43#include <plat/mcspi.h>
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index bca5ad9efe9c..c1cc99ce0e29 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -40,7 +40,6 @@
40#include <mach/hardware.h> 40#include <mach/hardware.h>
41#include <plat/mcspi.h> 41#include <plat/mcspi.h>
42#include <plat/usb.h> 42#include <plat/usb.h>
43#include <plat/mux.h>
44 43
45#include "mux.h" 44#include "mux.h"
46#include "sdram-micron-mt46h32m32lf-6.h" 45#include "sdram-micron-mt46h32m32lf-6.h"
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index 1ebde4c3bf46..5b78a87217e0 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -44,7 +44,6 @@
44#include <plat/gpmc.h> 44#include <plat/gpmc.h>
45#include <mach/hardware.h> 45#include <mach/hardware.h>
46#include <plat/nand.h> 46#include <plat/nand.h>
47#include <plat/mux.h>
48#include <plat/usb.h> 47#include <plat/usb.h>
49 48
50#include "mux.h" 49#include "mux.h"
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
index fd71c005105d..67bb3476b707 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
@@ -23,7 +23,6 @@
23#include <asm/mach/map.h> 23#include <asm/mach/map.h>
24 24
25#include <plat/mcspi.h> 25#include <plat/mcspi.h>
26#include <plat/mux.h>
27#include <plat/board.h> 26#include <plat/board.h>
28#include <plat/common.h> 27#include <plat/common.h>
29#include <plat/dma.h> 28#include <plat/dma.h>
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index ac9ea6007f27..a8749e8017b9 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -33,6 +33,7 @@
33#include <plat/sdrc.h> 33#include <plat/sdrc.h>
34#include <plat/gpmc.h> 34#include <plat/gpmc.h>
35#include <plat/serial.h> 35#include <plat/serial.h>
36#include <plat/mux.h>
36#include <plat/vram.h> 37#include <plat/vram.h>
37 38
38#include "clock.h" 39#include "clock.h"
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index d9684331e080..e071b3fd1878 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -67,13 +67,12 @@ static inline void omap_mux_write(u16 val, u16 reg)
67 __raw_writew(val, mux_base + reg); 67 __raw_writew(val, mux_base + reg);
68} 68}
69 69
70#ifdef CONFIG_OMAP_MUX 70#if defined(CONFIG_ARCH_OMAP24XX) && defined(CONFIG_OMAP_MUX)
71 71
72static struct omap_mux_cfg arch_mux_cfg; 72static struct omap_mux_cfg arch_mux_cfg;
73 73
74/* NOTE: See mux.h for the enumeration */ 74/* NOTE: See mux.h for the enumeration */
75 75
76#ifdef CONFIG_ARCH_OMAP24XX
77static struct pin_config __initdata_or_module omap24xx_pins[] = { 76static struct pin_config __initdata_or_module omap24xx_pins[] = {
78/* 77/*
79 * description mux mux pull pull debug 78 * description mux mux pull pull debug
@@ -283,333 +282,8 @@ MUX_CFG_24XX("AF19_2430_GPIO_85", 0x0113, 3, 0, 0, 1)
283 282
284#define OMAP24XX_PINS_SZ ARRAY_SIZE(omap24xx_pins) 283#define OMAP24XX_PINS_SZ ARRAY_SIZE(omap24xx_pins)
285 284
286#else
287#define omap24xx_pins NULL
288#define OMAP24XX_PINS_SZ 0
289#endif /* CONFIG_ARCH_OMAP24XX */
290
291#ifdef CONFIG_ARCH_OMAP34XX
292static struct pin_config __initdata_or_module omap34xx_pins[] = {
293/*
294 * Name, reg-offset,
295 * mux-mode | [active-mode | off-mode]
296 */
297
298/* 34xx I2C */
299MUX_CFG_34XX("K21_34XX_I2C1_SCL", 0x1ba,
300 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
301MUX_CFG_34XX("J21_34XX_I2C1_SDA", 0x1bc,
302 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
303MUX_CFG_34XX("AF15_34XX_I2C2_SCL", 0x1be,
304 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
305MUX_CFG_34XX("AE15_34XX_I2C2_SDA", 0x1c0,
306 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
307MUX_CFG_34XX("AF14_34XX_I2C3_SCL", 0x1c2,
308 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
309MUX_CFG_34XX("AG14_34XX_I2C3_SDA", 0x1c4,
310 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
311MUX_CFG_34XX("AD26_34XX_I2C4_SCL", 0xa00,
312 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
313MUX_CFG_34XX("AE26_34XX_I2C4_SDA", 0xa02,
314 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
315
316/* PHY - HSUSB: 12-pin ULPI PHY: Port 1*/
317MUX_CFG_34XX("Y8_3430_USB1HS_PHY_CLK", 0x5da,
318 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_OUTPUT)
319MUX_CFG_34XX("Y9_3430_USB1HS_PHY_STP", 0x5d8,
320 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_OUTPUT)
321MUX_CFG_34XX("AA14_3430_USB1HS_PHY_DIR", 0x5ec,
322 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
323MUX_CFG_34XX("AA11_3430_USB1HS_PHY_NXT", 0x5ee,
324 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
325MUX_CFG_34XX("W13_3430_USB1HS_PHY_D0", 0x5dc,
326 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
327MUX_CFG_34XX("W12_3430_USB1HS_PHY_D1", 0x5de,
328 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
329MUX_CFG_34XX("W11_3430_USB1HS_PHY_D2", 0x5e0,
330 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
331MUX_CFG_34XX("Y11_3430_USB1HS_PHY_D3", 0x5ea,
332 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
333MUX_CFG_34XX("W9_3430_USB1HS_PHY_D4", 0x5e4,
334 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
335MUX_CFG_34XX("Y12_3430_USB1HS_PHY_D5", 0x5e6,
336 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
337MUX_CFG_34XX("W8_3430_USB1HS_PHY_D6", 0x5e8,
338 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
339MUX_CFG_34XX("Y13_3430_USB1HS_PHY_D7", 0x5e2,
340 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
341
342/* PHY - HSUSB: 12-pin ULPI PHY: Port 2*/
343MUX_CFG_34XX("AA8_3430_USB2HS_PHY_CLK", 0x5f0,
344 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_OUTPUT)
345MUX_CFG_34XX("AA10_3430_USB2HS_PHY_STP", 0x5f2,
346 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_OUTPUT)
347MUX_CFG_34XX("AA9_3430_USB2HS_PHY_DIR", 0x5f4,
348 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
349MUX_CFG_34XX("AB11_3430_USB2HS_PHY_NXT", 0x5f6,
350 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
351MUX_CFG_34XX("AB10_3430_USB2HS_PHY_D0", 0x5f8,
352 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
353MUX_CFG_34XX("AB9_3430_USB2HS_PHY_D1", 0x5fa,
354 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
355MUX_CFG_34XX("W3_3430_USB2HS_PHY_D2", 0x1d4,
356 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
357MUX_CFG_34XX("T4_3430_USB2HS_PHY_D3", 0x1de,
358 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
359MUX_CFG_34XX("T3_3430_USB2HS_PHY_D4", 0x1d8,
360 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
361MUX_CFG_34XX("R3_3430_USB2HS_PHY_D5", 0x1da,
362 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
363MUX_CFG_34XX("R4_3430_USB2HS_PHY_D6", 0x1dc,
364 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
365MUX_CFG_34XX("T2_3430_USB2HS_PHY_D7", 0x1d6,
366 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN)
367
368/* TLL - HSUSB: 12-pin TLL Port 1*/
369MUX_CFG_34XX("Y8_3430_USB1HS_TLL_CLK", 0x5da,
370 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
371MUX_CFG_34XX("Y9_3430_USB1HS_TLL_STP", 0x5d8,
372 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLUP)
373MUX_CFG_34XX("AA14_3430_USB1HS_TLL_DIR", 0x5ec,
374 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
375MUX_CFG_34XX("AA11_3430_USB1HS_TLL_NXT", 0x5ee,
376 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
377MUX_CFG_34XX("W13_3430_USB1HS_TLL_D0", 0x5dc,
378 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
379MUX_CFG_34XX("W12_3430_USB1HS_TLL_D1", 0x5de,
380 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
381MUX_CFG_34XX("W11_3430_USB1HS_TLL_D2", 0x5e0,
382 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
383MUX_CFG_34XX("Y11_3430_USB1HS_TLL_D3", 0x5ea,
384 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
385MUX_CFG_34XX("W9_3430_USB1HS_TLL_D4", 0x5e4,
386 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
387MUX_CFG_34XX("Y12_3430_USB1HS_TLL_D5", 0x5e6,
388 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
389MUX_CFG_34XX("W8_3430_USB1HS_TLL_D6", 0x5e8,
390 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
391MUX_CFG_34XX("Y13_3430_USB1HS_TLL_D7", 0x5e2,
392 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
393
394/* TLL - HSUSB: 12-pin TLL Port 2*/
395MUX_CFG_34XX("AA8_3430_USB2HS_TLL_CLK", 0x5f0,
396 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
397MUX_CFG_34XX("AA10_3430_USB2HS_TLL_STP", 0x5f2,
398 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLUP)
399MUX_CFG_34XX("AA9_3430_USB2HS_TLL_DIR", 0x5f4,
400 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
401MUX_CFG_34XX("AB11_3430_USB2HS_TLL_NXT", 0x5f6,
402 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
403MUX_CFG_34XX("AB10_3430_USB2HS_TLL_D0", 0x5f8,
404 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
405MUX_CFG_34XX("AB9_3430_USB2HS_TLL_D1", 0x5fa,
406 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
407MUX_CFG_34XX("W3_3430_USB2HS_TLL_D2", 0x1d4,
408 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
409MUX_CFG_34XX("T4_3430_USB2HS_TLL_D3", 0x1de,
410 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
411MUX_CFG_34XX("T3_3430_USB2HS_TLL_D4", 0x1d8,
412 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
413MUX_CFG_34XX("R3_3430_USB2HS_TLL_D5", 0x1da,
414 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
415MUX_CFG_34XX("R4_3430_USB2HS_TLL_D6", 0x1dc,
416 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
417MUX_CFG_34XX("T2_3430_USB2HS_TLL_D7", 0x1d6,
418 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)
419
420/* TLL - HSUSB: 12-pin TLL Port 3*/
421MUX_CFG_34XX("AA6_3430_USB3HS_TLL_CLK", 0x180,
422 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
423MUX_CFG_34XX("AB3_3430_USB3HS_TLL_STP", 0x166,
424 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLUP)
425MUX_CFG_34XX("AA3_3430_USB3HS_TLL_DIR", 0x168,
426 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
427MUX_CFG_34XX("Y3_3430_USB3HS_TLL_NXT", 0x16a,
428 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
429MUX_CFG_34XX("AA5_3430_USB3HS_TLL_D0", 0x186,
430 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
431MUX_CFG_34XX("Y4_3430_USB3HS_TLL_D1", 0x184,
432 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
433MUX_CFG_34XX("Y5_3430_USB3HS_TLL_D2", 0x188,
434 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
435MUX_CFG_34XX("W5_3430_USB3HS_TLL_D3", 0x18a,
436 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
437MUX_CFG_34XX("AB12_3430_USB3HS_TLL_D4", 0x16c,
438 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
439MUX_CFG_34XX("AB13_3430_USB3HS_TLL_D5", 0x16e,
440 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
441MUX_CFG_34XX("AA13_3430_USB3HS_TLL_D6", 0x170,
442 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
443MUX_CFG_34XX("AA12_3430_USB3HS_TLL_D7", 0x172,
444 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
445
446/* PHY FSUSB: FS Serial for Port 1 (multiple PHY modes supported) */
447MUX_CFG_34XX("AF10_3430_USB1FS_PHY_MM1_RXDP", 0x5d8,
448 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
449MUX_CFG_34XX("AG9_3430_USB1FS_PHY_MM1_RXDM", 0x5ee,
450 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
451MUX_CFG_34XX("W13_3430_USB1FS_PHY_MM1_RXRCV", 0x5dc,
452 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
453MUX_CFG_34XX("W12_3430_USB1FS_PHY_MM1_TXSE0", 0x5de,
454 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
455MUX_CFG_34XX("W11_3430_USB1FS_PHY_MM1_TXDAT", 0x5e0,
456 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
457MUX_CFG_34XX("Y11_3430_USB1FS_PHY_MM1_TXEN_N", 0x5ea,
458 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_OUTPUT)
459
460/* PHY FSUSB: FS Serial for Port 2 (multiple PHY modes supported) */
461MUX_CFG_34XX("AF7_3430_USB2FS_PHY_MM2_RXDP", 0x5f2,
462 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
463MUX_CFG_34XX("AH7_3430_USB2FS_PHY_MM2_RXDM", 0x5f6,
464 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
465MUX_CFG_34XX("AB10_3430_USB2FS_PHY_MM2_RXRCV", 0x5f8,
466 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
467MUX_CFG_34XX("AB9_3430_USB2FS_PHY_MM2_TXSE0", 0x5fa,
468 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
469MUX_CFG_34XX("W3_3430_USB2FS_PHY_MM2_TXDAT", 0x1d4,
470 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN)
471MUX_CFG_34XX("T4_3430_USB2FS_PHY_MM2_TXEN_N", 0x1de,
472 OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_OUTPUT)
473
474/* PHY FSUSB: FS Serial for Port 3 (multiple PHY modes supported) */
475MUX_CFG_34XX("AH3_3430_USB3FS_PHY_MM3_RXDP", 0x166,
476 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
477MUX_CFG_34XX("AE3_3430_USB3FS_PHY_MM3_RXDM", 0x16a,
478 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
479MUX_CFG_34XX("AD1_3430_USB3FS_PHY_MM3_RXRCV", 0x186,
480 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
481MUX_CFG_34XX("AE1_3430_USB3FS_PHY_MM3_TXSE0", 0x184,
482 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
483MUX_CFG_34XX("AD2_3430_USB3FS_PHY_MM3_TXDAT", 0x188,
484 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_INPUT_PULLDOWN)
485MUX_CFG_34XX("AC1_3430_USB3FS_PHY_MM3_TXEN_N", 0x18a,
486 OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_OUTPUT)
487
488
489/* 34XX GPIO - bidirectional, unless the name has an "_OUT" suffix.
490 * (Always specify PIN_INPUT, except for names suffixed by "_OUT".)
491 * No internal pullup/pulldown without "_UP" or "_DOWN" suffix.
492 */
493MUX_CFG_34XX("AF26_34XX_GPIO0", 0x1e0,
494 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
495MUX_CFG_34XX("AF22_34XX_GPIO9", 0xa18,
496 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
497MUX_CFG_34XX("AG9_34XX_GPIO23", 0x5ee,
498 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
499MUX_CFG_34XX("AH8_34XX_GPIO29", 0x5fa,
500 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
501MUX_CFG_34XX("U8_34XX_GPIO54_OUT", 0x0b4,
502 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
503MUX_CFG_34XX("U8_34XX_GPIO54_DOWN", 0x0b4,
504 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLDOWN)
505MUX_CFG_34XX("L8_34XX_GPIO63", 0x0ce,
506 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
507MUX_CFG_34XX("G25_34XX_GPIO86_OUT", 0x0fc,
508 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
509MUX_CFG_34XX("AG4_34XX_GPIO134_OUT", 0x160,
510 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
511MUX_CFG_34XX("AF4_34XX_GPIO135_OUT", 0x162,
512 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
513MUX_CFG_34XX("AE4_34XX_GPIO136_OUT", 0x164,
514 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
515MUX_CFG_34XX("AF6_34XX_GPIO140_UP", 0x16c,
516 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
517MUX_CFG_34XX("AE6_34XX_GPIO141", 0x16e,
518 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
519MUX_CFG_34XX("AF5_34XX_GPIO142", 0x170,
520 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
521MUX_CFG_34XX("AE5_34XX_GPIO143", 0x172,
522 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
523MUX_CFG_34XX("H19_34XX_GPIO164_OUT", 0x19c,
524 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
525MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6,
526 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
527
528/* OMAP3 SDRC CKE signals to SDR/DDR ram chips */
529MUX_CFG_34XX("H16_34XX_SDRC_CKE0", 0x262,
530 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT)
531MUX_CFG_34XX("H17_34XX_SDRC_CKE1", 0x264,
532 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT)
533
534/* MMC1 */
535MUX_CFG_34XX("N28_3430_MMC1_CLK", 0x144,
536 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
537MUX_CFG_34XX("M27_3430_MMC1_CMD", 0x146,
538 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
539MUX_CFG_34XX("N27_3430_MMC1_DAT0", 0x148,
540 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
541MUX_CFG_34XX("N26_3430_MMC1_DAT1", 0x14a,
542 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
543MUX_CFG_34XX("N25_3430_MMC1_DAT2", 0x14c,
544 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
545MUX_CFG_34XX("P28_3430_MMC1_DAT3", 0x14e,
546 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
547MUX_CFG_34XX("P27_3430_MMC1_DAT4", 0x150,
548 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
549MUX_CFG_34XX("P26_3430_MMC1_DAT5", 0x152,
550 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
551MUX_CFG_34XX("R27_3430_MMC1_DAT6", 0x154,
552 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
553MUX_CFG_34XX("R25_3430_MMC1_DAT7", 0x156,
554 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
555
556/* MMC2 */
557MUX_CFG_34XX("AE2_3430_MMC2_CLK", 0x158,
558 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
559MUX_CFG_34XX("AG5_3430_MMC2_CMD", 0x15A,
560 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
561MUX_CFG_34XX("AH5_3430_MMC2_DAT0", 0x15c,
562 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
563MUX_CFG_34XX("AH4_3430_MMC2_DAT1", 0x15e,
564 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
565MUX_CFG_34XX("AG4_3430_MMC2_DAT2", 0x160,
566 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
567MUX_CFG_34XX("AF4_3430_MMC2_DAT3", 0x162,
568 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
569MUX_CFG_34XX("AE4_3430_MMC2_DAT4", 0x164,
570 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
571MUX_CFG_34XX("AH3_3430_MMC2_DAT5", 0x166,
572 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
573MUX_CFG_34XX("AF3_3430_MMC2_DAT6", 0x168,
574 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
575MUX_CFG_34XX("AE3_3430_MMC2_DAT7", 0x16A,
576 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
577
578/* MMC3 */
579MUX_CFG_34XX("AF10_3430_MMC3_CLK", 0x5d8,
580 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
581MUX_CFG_34XX("AC3_3430_MMC3_CMD", 0x1d0,
582 OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLUP)
583MUX_CFG_34XX("AE11_3430_MMC3_DAT0", 0x5e4,
584 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
585MUX_CFG_34XX("AH9_3430_MMC3_DAT1", 0x5e6,
586 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
587MUX_CFG_34XX("AF13_3430_MMC3_DAT2", 0x5e8,
588 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
589MUX_CFG_34XX("AF13_3430_MMC3_DAT3", 0x5e2,
590 OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
591
592/* SYS_NIRQ T2 INT1 */
593MUX_CFG_34XX("AF26_34XX_SYS_NIRQ", 0x1E0,
594 OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP |
595 OMAP34XX_MUX_MODE0)
596/* EHCI GPIO's on OMAP3EVM (Rev >= E) */
597MUX_CFG_34XX("AH14_34XX_GPIO21", 0x5ea,
598 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
599MUX_CFG_34XX("AF9_34XX_GPIO22", 0x5ec,
600 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
601MUX_CFG_34XX("U3_34XX_GPIO61", 0x0c8,
602 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
603};
604
605#define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins)
606
607#else
608#define omap34xx_pins NULL
609#define OMAP34XX_PINS_SZ 0
610#endif /* CONFIG_ARCH_OMAP34XX */
611
612#if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS) 285#if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS)
286
613static void __init_or_module omap2_cfg_debug(const struct pin_config *cfg, u16 reg) 287static void __init_or_module omap2_cfg_debug(const struct pin_config *cfg, u16 reg)
614{ 288{
615 u16 orig; 289 u16 orig;
@@ -631,7 +305,6 @@ static void __init_or_module omap2_cfg_debug(const struct pin_config *cfg, u16 r
631#define omap2_cfg_debug(x, y) do {} while (0) 305#define omap2_cfg_debug(x, y) do {} while (0)
632#endif 306#endif
633 307
634#ifdef CONFIG_ARCH_OMAP24XX
635static int __init_or_module omap24xx_cfg_reg(const struct pin_config *cfg) 308static int __init_or_module omap24xx_cfg_reg(const struct pin_config *cfg)
636{ 309{
637 static DEFINE_SPINLOCK(mux_spin_lock); 310 static DEFINE_SPINLOCK(mux_spin_lock);
@@ -650,28 +323,6 @@ static int __init_or_module omap24xx_cfg_reg(const struct pin_config *cfg)
650 323
651 return 0; 324 return 0;
652} 325}
653#else
654#define omap24xx_cfg_reg NULL
655#endif
656
657#ifdef CONFIG_ARCH_OMAP34XX
658static int __init_or_module omap34xx_cfg_reg(const struct pin_config *cfg)
659{
660 static DEFINE_SPINLOCK(mux_spin_lock);
661 unsigned long flags;
662 u16 reg = 0;
663
664 spin_lock_irqsave(&mux_spin_lock, flags);
665 reg |= cfg->mux_val;
666 omap2_cfg_debug(cfg, reg);
667 omap_mux_write(reg, cfg->mux_reg - OMAP_MUX_BASE_OFFSET);
668 spin_unlock_irqrestore(&mux_spin_lock, flags);
669
670 return 0;
671}
672#else
673#define omap34xx_cfg_reg NULL
674#endif
675 326
676int __init omap2_mux_init(void) 327int __init omap2_mux_init(void)
677{ 328{
@@ -694,21 +345,23 @@ int __init omap2_mux_init(void)
694 arch_mux_cfg.pins = omap24xx_pins; 345 arch_mux_cfg.pins = omap24xx_pins;
695 arch_mux_cfg.size = OMAP24XX_PINS_SZ; 346 arch_mux_cfg.size = OMAP24XX_PINS_SZ;
696 arch_mux_cfg.cfg_reg = omap24xx_cfg_reg; 347 arch_mux_cfg.cfg_reg = omap24xx_cfg_reg;
697 } else if (cpu_is_omap34xx()) { 348
698 arch_mux_cfg.pins = omap34xx_pins; 349 return omap_mux_register(&arch_mux_cfg);
699 arch_mux_cfg.size = OMAP34XX_PINS_SZ;
700 arch_mux_cfg.cfg_reg = omap34xx_cfg_reg;
701 } 350 }
702 351
703 return omap_mux_register(&arch_mux_cfg); 352 return 0;
704} 353}
705 354
355#else
356int __init omap2_mux_init(void)
357{
358 return 0;
359}
706#endif /* CONFIG_OMAP_MUX */ 360#endif /* CONFIG_OMAP_MUX */
707 361
708/*----------------------------------------------------------------------------*/ 362/*----------------------------------------------------------------------------*/
709 363
710#ifdef CONFIG_ARCH_OMAP34XX 364#ifdef CONFIG_ARCH_OMAP34XX
711
712static LIST_HEAD(muxmodes); 365static LIST_HEAD(muxmodes);
713static DEFINE_MUTEX(muxmode_mutex); 366static DEFINE_MUTEX(muxmode_mutex);
714 367
@@ -1353,3 +1006,4 @@ int __init omap_mux_init(u32 mux_pbase, u32 mux_size,
1353} 1006}
1354 1007
1355#endif /* CONFIG_ARCH_OMAP34XX */ 1008#endif /* CONFIG_ARCH_OMAP34XX */
1009
diff --git a/arch/arm/plat-omap/include/plat/mux.h b/arch/arm/plat-omap/include/plat/mux.h
index ba77de601501..6067cf79f088 100644
--- a/arch/arm/plat-omap/include/plat/mux.h
+++ b/arch/arm/plat-omap/include/plat/mux.h
@@ -130,58 +130,11 @@
130#define OMAP2_PULL_UP (1 << 4) 130#define OMAP2_PULL_UP (1 << 4)
131#define OMAP2_ALTELECTRICALSEL (1 << 5) 131#define OMAP2_ALTELECTRICALSEL (1 << 5)
132 132
133/* 34xx specific mux bit defines */
134#define OMAP3_INPUT_EN (1 << 8)
135#define OMAP3_OFF_EN (1 << 9)
136#define OMAP3_OFFOUT_EN (1 << 10)
137#define OMAP3_OFFOUT_VAL (1 << 11)
138#define OMAP3_OFF_PULL_EN (1 << 12)
139#define OMAP3_OFF_PULL_UP (1 << 13)
140#define OMAP3_WAKEUP_EN (1 << 14)
141
142/* 34xx mux mode options for each pin. See TRM for options */
143#define OMAP34XX_MUX_MODE0 0
144#define OMAP34XX_MUX_MODE1 1
145#define OMAP34XX_MUX_MODE2 2
146#define OMAP34XX_MUX_MODE3 3
147#define OMAP34XX_MUX_MODE4 4
148#define OMAP34XX_MUX_MODE5 5
149#define OMAP34XX_MUX_MODE6 6
150#define OMAP34XX_MUX_MODE7 7
151
152/* 34xx active pin states */
153#define OMAP34XX_PIN_OUTPUT 0
154#define OMAP34XX_PIN_INPUT OMAP3_INPUT_EN
155#define OMAP34XX_PIN_INPUT_PULLUP (OMAP2_PULL_ENA | OMAP3_INPUT_EN \
156 | OMAP2_PULL_UP)
157#define OMAP34XX_PIN_INPUT_PULLDOWN (OMAP2_PULL_ENA | OMAP3_INPUT_EN)
158
159/* 34xx off mode states */
160#define OMAP34XX_PIN_OFF_NONE 0
161#define OMAP34XX_PIN_OFF_OUTPUT_HIGH (OMAP3_OFF_EN | OMAP3_OFFOUT_EN \
162 | OMAP3_OFFOUT_VAL)
163#define OMAP34XX_PIN_OFF_OUTPUT_LOW (OMAP3_OFF_EN | OMAP3_OFFOUT_EN)
164#define OMAP34XX_PIN_OFF_INPUT_PULLUP (OMAP3_OFF_EN | OMAP3_OFF_PULL_EN \
165 | OMAP3_OFF_PULL_UP)
166#define OMAP34XX_PIN_OFF_INPUT_PULLDOWN (OMAP3_OFF_EN | OMAP3_OFF_PULL_EN)
167#define OMAP34XX_PIN_OFF_WAKEUPENABLE OMAP3_WAKEUP_EN
168
169#define MUX_CFG_34XX(desc, reg_offset, mux_value) { \
170 .name = desc, \
171 .debug = 0, \
172 .mux_reg = reg_offset, \
173 .mux_val = mux_value \
174},
175
176struct pin_config { 133struct pin_config {
177 char *name; 134 char *name;
178 const unsigned int mux_reg; 135 const unsigned int mux_reg;
179 unsigned char debug; 136 unsigned char debug;
180 137
181#if defined(CONFIG_ARCH_OMAP34XX)
182 u16 mux_val; /* Wake-up, off mode, pull, mux mode */
183#endif
184
185#if defined(CONFIG_ARCH_OMAP1) || defined(CONFIG_ARCH_OMAP24XX) 138#if defined(CONFIG_ARCH_OMAP1) || defined(CONFIG_ARCH_OMAP24XX)
186 const unsigned char mask_offset; 139 const unsigned char mask_offset;
187 const unsigned char mask; 140 const unsigned char mask;
@@ -681,181 +634,6 @@ enum omap24xx_index {
681 634
682}; 635};
683 636
684enum omap34xx_index {
685 /* 34xx I2C */
686 K21_34XX_I2C1_SCL,
687 J21_34XX_I2C1_SDA,
688 AF15_34XX_I2C2_SCL,
689 AE15_34XX_I2C2_SDA,
690 AF14_34XX_I2C3_SCL,
691 AG14_34XX_I2C3_SDA,
692 AD26_34XX_I2C4_SCL,
693 AE26_34XX_I2C4_SDA,
694
695 /* PHY - HSUSB: 12-pin ULPI PHY: Port 1*/
696 Y8_3430_USB1HS_PHY_CLK,
697 Y9_3430_USB1HS_PHY_STP,
698 AA14_3430_USB1HS_PHY_DIR,
699 AA11_3430_USB1HS_PHY_NXT,
700 W13_3430_USB1HS_PHY_DATA0,
701 W12_3430_USB1HS_PHY_DATA1,
702 W11_3430_USB1HS_PHY_DATA2,
703 Y11_3430_USB1HS_PHY_DATA3,
704 W9_3430_USB1HS_PHY_DATA4,
705 Y12_3430_USB1HS_PHY_DATA5,
706 W8_3430_USB1HS_PHY_DATA6,
707 Y13_3430_USB1HS_PHY_DATA7,
708
709 /* PHY - HSUSB: 12-pin ULPI PHY: Port 2*/
710 AA8_3430_USB2HS_PHY_CLK,
711 AA10_3430_USB2HS_PHY_STP,
712 AA9_3430_USB2HS_PHY_DIR,
713 AB11_3430_USB2HS_PHY_NXT,
714 AB10_3430_USB2HS_PHY_DATA0,
715 AB9_3430_USB2HS_PHY_DATA1,
716 W3_3430_USB2HS_PHY_DATA2,
717 T4_3430_USB2HS_PHY_DATA3,
718 T3_3430_USB2HS_PHY_DATA4,
719 R3_3430_USB2HS_PHY_DATA5,
720 R4_3430_USB2HS_PHY_DATA6,
721 T2_3430_USB2HS_PHY_DATA7,
722
723
724 /* TLL - HSUSB: 12-pin TLL Port 1*/
725 Y8_3430_USB1HS_TLL_CLK,
726 Y9_3430_USB1HS_TLL_STP,
727 AA14_3430_USB1HS_TLL_DIR,
728 AA11_3430_USB1HS_TLL_NXT,
729 W13_3430_USB1HS_TLL_DATA0,
730 W12_3430_USB1HS_TLL_DATA1,
731 W11_3430_USB1HS_TLL_DATA2,
732 Y11_3430_USB1HS_TLL_DATA3,
733 W9_3430_USB1HS_TLL_DATA4,
734 Y12_3430_USB1HS_TLL_DATA5,
735 W8_3430_USB1HS_TLL_DATA6,
736 Y13_3430_USB1HS_TLL_DATA7,
737
738 /* TLL - HSUSB: 12-pin TLL Port 2*/
739 AA8_3430_USB2HS_TLL_CLK,
740 AA10_3430_USB2HS_TLL_STP,
741 AA9_3430_USB2HS_TLL_DIR,
742 AB11_3430_USB2HS_TLL_NXT,
743 AB10_3430_USB2HS_TLL_DATA0,
744 AB9_3430_USB2HS_TLL_DATA1,
745 W3_3430_USB2HS_TLL_DATA2,
746 T4_3430_USB2HS_TLL_DATA3,
747 T3_3430_USB2HS_TLL_DATA4,
748 R3_3430_USB2HS_TLL_DATA5,
749 R4_3430_USB2HS_TLL_DATA6,
750 T2_3430_USB2HS_TLL_DATA7,
751
752 /* TLL - HSUSB: 12-pin TLL Port 3*/
753 AA6_3430_USB3HS_TLL_CLK,
754 AB3_3430_USB3HS_TLL_STP,
755 AA3_3430_USB3HS_TLL_DIR,
756 Y3_3430_USB3HS_TLL_NXT,
757 AA5_3430_USB3HS_TLL_DATA0,
758 Y4_3430_USB3HS_TLL_DATA1,
759 Y5_3430_USB3HS_TLL_DATA2,
760 W5_3430_USB3HS_TLL_DATA3,
761 AB12_3430_USB3HS_TLL_DATA4,
762 AB13_3430_USB3HS_TLL_DATA5,
763 AA13_3430_USB3HS_TLL_DATA6,
764 AA12_3430_USB3HS_TLL_DATA7,
765
766 /* PHY FSUSB: FS Serial for Port 1 (multiple PHY modes supported) */
767 AF10_3430_USB1FS_PHY_MM1_RXDP,
768 AG9_3430_USB1FS_PHY_MM1_RXDM,
769 W13_3430_USB1FS_PHY_MM1_RXRCV,
770 W12_3430_USB1FS_PHY_MM1_TXSE0,
771 W11_3430_USB1FS_PHY_MM1_TXDAT,
772 Y11_3430_USB1FS_PHY_MM1_TXEN_N,
773
774 /* PHY FSUSB: FS Serial for Port 2 (multiple PHY modes supported) */
775 AF7_3430_USB2FS_PHY_MM2_RXDP,
776 AH7_3430_USB2FS_PHY_MM2_RXDM,
777 AB10_3430_USB2FS_PHY_MM2_RXRCV,
778 AB9_3430_USB2FS_PHY_MM2_TXSE0,
779 W3_3430_USB2FS_PHY_MM2_TXDAT,
780 T4_3430_USB2FS_PHY_MM2_TXEN_N,
781
782 /* PHY FSUSB: FS Serial for Port 3 (multiple PHY modes supported) */
783 AH3_3430_USB3FS_PHY_MM3_RXDP,
784 AE3_3430_USB3FS_PHY_MM3_RXDM,
785 AD1_3430_USB3FS_PHY_MM3_RXRCV,
786 AE1_3430_USB3FS_PHY_MM3_TXSE0,
787 AD2_3430_USB3FS_PHY_MM3_TXDAT,
788 AC1_3430_USB3FS_PHY_MM3_TXEN_N,
789
790 /* 34xx GPIO
791 * - normally these are bidirectional, no internal pullup/pulldown
792 * - "_UP" suffix (GPIO3_UP) if internal pullup is configured
793 * - "_DOWN" suffix (GPIO3_DOWN) with internal pulldown
794 * - "_OUT" suffix (GPIO3_OUT) for output-only pins (unlike 24xx)
795 */
796 AF26_34XX_GPIO0,
797 AF22_34XX_GPIO9,
798 AG9_34XX_GPIO23,
799 AH8_34XX_GPIO29,
800 U8_34XX_GPIO54_OUT,
801 U8_34XX_GPIO54_DOWN,
802 L8_34XX_GPIO63,
803 G25_34XX_GPIO86_OUT,
804 AG4_34XX_GPIO134_OUT,
805 AF4_34XX_GPIO135_OUT,
806 AE4_34XX_GPIO136_OUT,
807 AF6_34XX_GPIO140_UP,
808 AE6_34XX_GPIO141,
809 AF5_34XX_GPIO142,
810 AE5_34XX_GPIO143,
811 H19_34XX_GPIO164_OUT,
812 J25_34XX_GPIO170,
813
814 /* OMAP3 SDRC CKE signals to SDR/DDR ram chips */
815 H16_34XX_SDRC_CKE0,
816 H17_34XX_SDRC_CKE1,
817
818 /* MMC1 */
819 N28_3430_MMC1_CLK,
820 M27_3430_MMC1_CMD,
821 N27_3430_MMC1_DAT0,
822 N26_3430_MMC1_DAT1,
823 N25_3430_MMC1_DAT2,
824 P28_3430_MMC1_DAT3,
825 P27_3430_MMC1_DAT4,
826 P26_3430_MMC1_DAT5,
827 R27_3430_MMC1_DAT6,
828 R25_3430_MMC1_DAT7,
829
830 /* MMC2 */
831 AE2_3430_MMC2_CLK,
832 AG5_3430_MMC2_CMD,
833 AH5_3430_MMC2_DAT0,
834 AH4_3430_MMC2_DAT1,
835 AG4_3430_MMC2_DAT2,
836 AF4_3430_MMC2_DAT3,
837 AE4_3430_MMC2_DAT4,
838 AH3_3430_MMC2_DAT5,
839 AF3_3430_MMC2_DAT6,
840 AE3_3430_MMC2_DAT7,
841
842 /* MMC3 */
843 AF10_3430_MMC3_CLK,
844 AC3_3430_MMC3_CMD,
845 AE11_3430_MMC3_DAT0,
846 AH9_3430_MMC3_DAT1,
847 AF13_3430_MMC3_DAT2,
848 AF13_3430_MMC3_DAT3,
849
850 /* SYS_NIRQ T2 INT1 */
851 AF26_34XX_SYS_NIRQ,
852
853 /* EHCI GPIO's for OMAP3EVM (Rev >= E) */
854 AH14_34XX_GPIO21,
855 AF9_34XX_GPIO22,
856 U3_34XX_GPIO61,
857};
858
859struct omap_mux_cfg { 637struct omap_mux_cfg {
860 struct pin_config *pins; 638 struct pin_config *pins;
861 unsigned long size; 639 unsigned long size;
@@ -865,14 +643,14 @@ struct omap_mux_cfg {
865#ifdef CONFIG_OMAP_MUX 643#ifdef CONFIG_OMAP_MUX
866/* setup pin muxing in Linux */ 644/* setup pin muxing in Linux */
867extern int omap1_mux_init(void); 645extern int omap1_mux_init(void);
868extern int omap2_mux_init(void);
869extern int omap_mux_register(struct omap_mux_cfg *); 646extern int omap_mux_register(struct omap_mux_cfg *);
870extern int omap_cfg_reg(unsigned long reg_cfg); 647extern int omap_cfg_reg(unsigned long reg_cfg);
871#else 648#else
872/* boot loader does it all (no warnings from CONFIG_OMAP_MUX_WARNINGS) */ 649/* boot loader does it all (no warnings from CONFIG_OMAP_MUX_WARNINGS) */
873static inline int omap1_mux_init(void) { return 0; } 650static inline int omap1_mux_init(void) { return 0; }
874static inline int omap2_mux_init(void) { return 0; }
875static inline int omap_cfg_reg(unsigned long reg_cfg) { return 0; } 651static inline int omap_cfg_reg(unsigned long reg_cfg) { return 0; }
876#endif 652#endif
877 653
654extern int omap2_mux_init(void);
655
878#endif 656#endif