Commit 7bbb3cc5c816fc167601ce9519adae5eced3ea6d

Authored by Kyungmin Park
Committed by Tony Lindgren
1 parent d30c736966

ARM: OMAP: 24xx pinmux updates

Add some OMAP 24xx pin mux declarations to support:

 - TUSB 6010 EVM (on H4)
 - All three full speed USB ports
 - GPIOs used with USB0 on Apollon and H4

For OMAP2, issue MUX_WARNINGS and debug messages correctly; and make the
message look more like the OMAP1 message.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>

Showing 3 changed files with 76 additions and 7 deletions Side-by-side Diff

arch/arm/mach-omap2/mux.c
... ... @@ -43,7 +43,7 @@
43 43 /* 24xx I2C */
44 44 MUX_CFG_24XX("M19_24XX_I2C1_SCL", 0x111, 0, 0, 0, 1)
45 45 MUX_CFG_24XX("L15_24XX_I2C1_SDA", 0x112, 0, 0, 0, 1)
46   -MUX_CFG_24XX("J15_24XX_I2C2_SCL", 0x113, 0, 0, 0, 1)
  46 +MUX_CFG_24XX("J15_24XX_I2C2_SCL", 0x113, 0, 0, 1, 1)
47 47 MUX_CFG_24XX("H19_24XX_I2C2_SDA", 0x114, 0, 0, 0, 1)
48 48  
49 49 /* Menelaus interrupt */
... ... @@ -52,7 +52,9 @@
52 52 /* 24xx clocks */
53 53 MUX_CFG_24XX("W14_24XX_SYS_CLKOUT", 0x137, 0, 1, 1, 1)
54 54  
55   -/* 24xx GPMC wait pin monitoring */
  55 +/* 24xx GPMC chipselects, wait pin monitoring */
  56 +MUX_CFG_24XX("E2_GPMC_NCS2", 0x08e, 0, 1, 1, 1)
  57 +MUX_CFG_24XX("L2_GPMC_NCS7", 0x093, 0, 1, 1, 1)
56 58 MUX_CFG_24XX("L3_GPMC_WAIT0", 0x09a, 0, 1, 1, 1)
57 59 MUX_CFG_24XX("N7_GPMC_WAIT1", 0x09b, 0, 1, 1, 1)
58 60 MUX_CFG_24XX("M1_GPMC_WAIT2", 0x09c, 0, 1, 1, 1)
... ... @@ -66,6 +68,7 @@
66 68  
67 69 /* 24xx GPIO */
68 70 MUX_CFG_24XX("M21_242X_GPIO11", 0x0c9, 3, 1, 1, 1)
  71 +MUX_CFG_24XX("P21_242X_GPIO12", 0x0ca, 3, 0, 0, 1)
69 72 MUX_CFG_24XX("AA10_242X_GPIO13", 0x0e5, 3, 0, 0, 1)
70 73 MUX_CFG_24XX("AA6_242X_GPIO14", 0x0e6, 3, 0, 0, 1)
71 74 MUX_CFG_24XX("AA4_242X_GPIO15", 0x0e7, 3, 0, 0, 1)
72 75  
... ... @@ -75,7 +78,9 @@
75 78 MUX_CFG_24XX("Y20_24XX_GPIO60", 0x12c, 3, 0, 0, 1)
76 79 MUX_CFG_24XX("W4__24XX_GPIO74", 0x0f2, 3, 0, 0, 1)
77 80 MUX_CFG_24XX("M15_24XX_GPIO92", 0x10a, 3, 0, 0, 1)
  81 +MUX_CFG_24XX("J15_24XX_GPIO99", 0x113, 3, 1, 1, 1)
78 82 MUX_CFG_24XX("V14_24XX_GPIO117", 0x128, 3, 1, 0, 1)
  83 +MUX_CFG_24XX("P14_24XX_GPIO125", 0x140, 3, 1, 1, 1)
79 84  
80 85 /* 242x DBG GPIO */
81 86 MUX_CFG_24XX("V4_242X_GPIO49", 0xd3, 3, 0, 0, 1)
... ... @@ -117,6 +122,30 @@
117 122 MUX_CFG_24XX("E18_24XX_MMC_DAT_DIR3", 0x0fc, 0, 0, 0, 1)
118 123 MUX_CFG_24XX("G18_24XX_MMC_CMD_DIR", 0x0fd, 0, 0, 0, 1)
119 124 MUX_CFG_24XX("H15_24XX_MMC_CLKI", 0x0fe, 0, 0, 0, 1)
  125 +
  126 +/* Full speed USB */
  127 +MUX_CFG_24XX("J20_24XX_USB0_PUEN", 0x11d, 0, 0, 0, 1)
  128 +MUX_CFG_24XX("J19_24XX_USB0_VP", 0x11e, 0, 0, 0, 1)
  129 +MUX_CFG_24XX("K20_24XX_USB0_VM", 0x11f, 0, 0, 0, 1)
  130 +MUX_CFG_24XX("J18_24XX_USB0_RCV", 0x120, 0, 0, 0, 1)
  131 +MUX_CFG_24XX("K19_24XX_USB0_TXEN", 0x121, 0, 0, 0, 1)
  132 +MUX_CFG_24XX("J14_24XX_USB0_SE0", 0x122, 0, 0, 0, 1)
  133 +MUX_CFG_24XX("K18_24XX_USB0_DAT", 0x123, 0, 0, 0, 1)
  134 +
  135 +MUX_CFG_24XX("N14_24XX_USB1_SE0", 0x0ed, 2, 0, 0, 1)
  136 +MUX_CFG_24XX("W12_24XX_USB1_SE0", 0x0dd, 3, 0, 0, 1)
  137 +MUX_CFG_24XX("P15_24XX_USB1_DAT", 0x0ee, 2, 0, 0, 1)
  138 +MUX_CFG_24XX("R13_24XX_USB1_DAT", 0x0e0, 3, 0, 0, 1)
  139 +MUX_CFG_24XX("W20_24XX_USB1_TXEN", 0x0ec, 2, 0, 0, 1)
  140 +MUX_CFG_24XX("P13_24XX_USB1_TXEN", 0x0df, 3, 0, 0, 1)
  141 +MUX_CFG_24XX("V19_24XX_USB1_RCV", 0x0eb, 2, 0, 0, 1)
  142 +MUX_CFG_24XX("V12_24XX_USB1_RCV", 0x0de, 3, 0, 0, 1)
  143 +
  144 +MUX_CFG_24XX("AA10_24XX_USB2_SE0", 0x0e5, 2, 0, 0, 1)
  145 +MUX_CFG_24XX("Y11_24XX_USB2_DAT", 0x0e8, 2, 0, 0, 1)
  146 +MUX_CFG_24XX("AA12_24XX_USB2_TXEN", 0x0e9, 2, 0, 0, 1)
  147 +MUX_CFG_24XX("AA6_24XX_USB2_RCV", 0x0e6, 2, 0, 0, 1)
  148 +MUX_CFG_24XX("AA4_24XX_USB2_TLLSE0", 0x0e7, 2, 0, 0, 1)
120 149  
121 150 /* Keypad GPIO*/
122 151 MUX_CFG_24XX("T19_24XX_KBR0", 0x106, 3, 1, 1, 1)
arch/arm/plat-omap/mux.c
... ... @@ -83,10 +83,21 @@
83 83 reg |= OMAP24XX_PULL_ENA;
84 84 if(cfg->pu_pd_val)
85 85 reg |= OMAP24XX_PULL_UP;
86   -#ifdef CONFIG_OMAP_MUX_DEBUG
87   - printk("Muxing %s (0x%08x): 0x%02x -> 0x%02x\n",
88   - cfg->name, OMAP24XX_L4_BASE + cfg->mux_reg,
89   - omap_readb(OMAP24XX_L4_BASE + cfg->mux_reg), reg);
  86 +#if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS)
  87 + {
  88 + u8 orig = omap_readb(OMAP24XX_L4_BASE + cfg->mux_reg);
  89 + u8 debug = 0;
  90 +
  91 +#ifdef CONFIG_OMAP_MUX_DEBUG
  92 + debug = cfg->debug;
  93 +#endif
  94 + warn = (orig != reg);
  95 + if (debug || warn)
  96 + printk("MUX: setup %s (0x%08x): 0x%02x -> 0x%02x\n",
  97 + cfg->name,
  98 + OMAP24XX_L4_BASE + cfg->mux_reg,
  99 + orig, reg);
  100 + }
90 101 #endif
91 102 omap_writeb(reg, OMAP24XX_L4_BASE + cfg->mux_reg);
92 103  
include/asm-arm/arch-omap/mux.h
... ... @@ -421,7 +421,9 @@
421 421 /* 24xx clock */
422 422 W14_24XX_SYS_CLKOUT,
423 423  
424   - /* 24xx GPMC wait pin monitoring */
  424 + /* 24xx GPMC chipselects, wait pin monitoring */
  425 + E2_GPMC_NCS2,
  426 + L2_GPMC_NCS7,
425 427 L3_GPMC_WAIT0,
426 428 N7_GPMC_WAIT1,
427 429 M1_GPMC_WAIT2,
... ... @@ -435,6 +437,7 @@
435 437  
436 438 /* 24xx GPIO */
437 439 M21_242X_GPIO11,
  440 + P21_242X_GPIO12,
438 441 AA10_242X_GPIO13,
439 442 AA6_242X_GPIO14,
440 443 AA4_242X_GPIO15,
441 444  
... ... @@ -444,7 +447,9 @@
444 447 Y20_24XX_GPIO60,
445 448 W4__24XX_GPIO74,
446 449 M15_24XX_GPIO92,
  450 + J15_24XX_GPIO99,
447 451 V14_24XX_GPIO117,
  452 + P14_24XX_GPIO125,
448 453  
449 454 /* 242x DBG GPIO */
450 455 V4_242X_GPIO49,
... ... @@ -485,6 +490,30 @@
485 490 E18_24XX_MMC_DAT_DIR3,
486 491 G18_24XX_MMC_CMD_DIR,
487 492 H15_24XX_MMC_CLKI,
  493 +
  494 + /* Full speed USB */
  495 + J20_24XX_USB0_PUEN,
  496 + J19_24XX_USB0_VP,
  497 + K20_24XX_USB0_VM,
  498 + J18_24XX_USB0_RCV,
  499 + K19_24XX_USB0_TXEN,
  500 + J14_24XX_USB0_SE0,
  501 + K18_24XX_USB0_DAT,
  502 +
  503 + N14_24XX_USB1_SE0,
  504 + W12_24XX_USB1_SE0,
  505 + P15_24XX_USB1_DAT,
  506 + R13_24XX_USB1_DAT,
  507 + W20_24XX_USB1_TXEN,
  508 + P13_24XX_USB1_TXEN,
  509 + V19_24XX_USB1_RCV,
  510 + V12_24XX_USB1_RCV,
  511 +
  512 + AA10_24XX_USB2_SE0,
  513 + Y11_24XX_USB2_DAT,
  514 + AA12_24XX_USB2_TXEN,
  515 + AA6_24XX_USB2_RCV,
  516 + AA4_24XX_USB2_TLLSE0,
488 517  
489 518 /* Keypad GPIO*/
490 519 T19_24XX_KBR0,