diff options
-rw-r--r-- | arch/arm/mach-omap2/board-3630sdp.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-generic.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-video.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/io.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/mux.c | 298 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm24xx.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/usb-ehci.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/usb-musb.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/mux.h | 220 | ||||
-rw-r--r-- | arch/arm/plat-omap/mux.c | 2 |
11 files changed, 1 insertions, 528 deletions
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c index 504d2bd222fe..f267dc04d866 100644 --- a/arch/arm/mach-omap2/board-3630sdp.c +++ b/arch/arm/mach-omap2/board-3630sdp.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <plat/common.h> | 18 | #include <plat/common.h> |
19 | #include <plat/board.h> | 19 | #include <plat/board.h> |
20 | #include <plat/gpmc-smc91x.h> | 20 | #include <plat/gpmc-smc91x.h> |
21 | #include <plat/mux.h> | ||
22 | #include <plat/usb.h> | 21 | #include <plat/usb.h> |
23 | 22 | ||
24 | #include <mach/board-zoom.h> | 23 | #include <mach/board-zoom.h> |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 16cc06860670..9a7f790d8c3a 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <asm/mach/map.h> | 26 | #include <asm/mach/map.h> |
27 | 27 | ||
28 | #include <mach/gpio.h> | 28 | #include <mach/gpio.h> |
29 | #include <plat/mux.h> | ||
30 | #include <plat/usb.h> | 29 | #include <plat/usb.h> |
31 | #include <plat/board.h> | 30 | #include <plat/board.h> |
32 | #include <plat/common.h> | 31 | #include <plat/common.h> |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index abdf321c2d41..5ddf15664ff1 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/mmc/host.h> | 25 | #include <linux/mmc/host.h> |
26 | 26 | ||
27 | #include <plat/mcspi.h> | 27 | #include <plat/mcspi.h> |
28 | #include <plat/mux.h> | ||
29 | #include <plat/board.h> | 28 | #include <plat/board.h> |
30 | #include <plat/common.h> | 29 | #include <plat/common.h> |
31 | #include <plat/dma.h> | 30 | #include <plat/dma.h> |
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c index b743a4f42649..5a1005ba9815 100644 --- a/arch/arm/mach-omap2/board-rx51-video.c +++ b/arch/arm/mach-omap2/board-rx51-video.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/mm.h> | 16 | #include <linux/mm.h> |
17 | 17 | ||
18 | #include <asm/mach-types.h> | 18 | #include <asm/mach-types.h> |
19 | #include <plat/mux.h> | ||
20 | #include <plat/display.h> | 19 | #include <plat/display.h> |
21 | #include <plat/vram.h> | 20 | #include <plat/vram.h> |
22 | #include <plat/mcspi.h> | 21 | #include <plat/mcspi.h> |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 3cfb425ea67e..b12d715dee5b 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #include <asm/mach/map.h> | 29 | #include <asm/mach/map.h> |
30 | 30 | ||
31 | #include <plat/mux.h> | ||
32 | #include <plat/sram.h> | 31 | #include <plat/sram.h> |
33 | #include <plat/sdrc.h> | 32 | #include <plat/sdrc.h> |
34 | #include <plat/gpmc.h> | 33 | #include <plat/gpmc.h> |
@@ -324,7 +323,6 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
324 | omap2430_hwmod_init(); | 323 | omap2430_hwmod_init(); |
325 | else if (cpu_is_omap34xx()) | 324 | else if (cpu_is_omap34xx()) |
326 | omap3xxx_hwmod_init(); | 325 | omap3xxx_hwmod_init(); |
327 | omap2_mux_init(); | ||
328 | /* The OPP tables have to be registered before a clk init */ | 326 | /* The OPP tables have to be registered before a clk init */ |
329 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); | 327 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); |
330 | 328 | ||
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 197e2955843b..be52fabf6dc0 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -37,7 +37,6 @@ | |||
37 | #include <asm/system.h> | 37 | #include <asm/system.h> |
38 | 38 | ||
39 | #include <plat/control.h> | 39 | #include <plat/control.h> |
40 | #include <plat/mux.h> | ||
41 | 40 | ||
42 | #include "mux.h" | 41 | #include "mux.h" |
43 | 42 | ||
@@ -78,301 +77,6 @@ void omap_mux_write_array(struct omap_board_mux *board_mux) | |||
78 | } | 77 | } |
79 | } | 78 | } |
80 | 79 | ||
81 | #if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_OMAP_MUX) | ||
82 | |||
83 | static struct omap_mux_cfg arch_mux_cfg; | ||
84 | |||
85 | /* NOTE: See mux.h for the enumeration */ | ||
86 | |||
87 | static struct pin_config __initdata_or_module omap24xx_pins[] = { | ||
88 | /* | ||
89 | * description mux mux pull pull debug | ||
90 | * offset mode ena type | ||
91 | */ | ||
92 | |||
93 | /* 24xx I2C */ | ||
94 | MUX_CFG_24XX("M19_24XX_I2C1_SCL", 0x111, 0, 0, 0, 1) | ||
95 | MUX_CFG_24XX("L15_24XX_I2C1_SDA", 0x112, 0, 0, 0, 1) | ||
96 | MUX_CFG_24XX("J15_24XX_I2C2_SCL", 0x113, 0, 0, 1, 1) | ||
97 | MUX_CFG_24XX("H19_24XX_I2C2_SDA", 0x114, 0, 0, 0, 1) | ||
98 | |||
99 | /* Menelaus interrupt */ | ||
100 | MUX_CFG_24XX("W19_24XX_SYS_NIRQ", 0x12c, 0, 1, 1, 1) | ||
101 | |||
102 | /* 24xx clocks */ | ||
103 | MUX_CFG_24XX("W14_24XX_SYS_CLKOUT", 0x137, 0, 1, 1, 1) | ||
104 | |||
105 | /* 24xx GPMC chipselects, wait pin monitoring */ | ||
106 | MUX_CFG_24XX("E2_GPMC_NCS2", 0x08e, 0, 1, 1, 1) | ||
107 | MUX_CFG_24XX("L2_GPMC_NCS7", 0x093, 0, 1, 1, 1) | ||
108 | MUX_CFG_24XX("L3_GPMC_WAIT0", 0x09a, 0, 1, 1, 1) | ||
109 | MUX_CFG_24XX("N7_GPMC_WAIT1", 0x09b, 0, 1, 1, 1) | ||
110 | MUX_CFG_24XX("M1_GPMC_WAIT2", 0x09c, 0, 1, 1, 1) | ||
111 | MUX_CFG_24XX("P1_GPMC_WAIT3", 0x09d, 0, 1, 1, 1) | ||
112 | |||
113 | /* 24xx McBSP */ | ||
114 | MUX_CFG_24XX("Y15_24XX_MCBSP2_CLKX", 0x124, 1, 1, 0, 1) | ||
115 | MUX_CFG_24XX("R14_24XX_MCBSP2_FSX", 0x125, 1, 1, 0, 1) | ||
116 | MUX_CFG_24XX("W15_24XX_MCBSP2_DR", 0x126, 1, 1, 0, 1) | ||
117 | MUX_CFG_24XX("V15_24XX_MCBSP2_DX", 0x127, 1, 1, 0, 1) | ||
118 | |||
119 | /* 24xx GPIO */ | ||
120 | MUX_CFG_24XX("M21_242X_GPIO11", 0x0c9, 3, 1, 1, 1) | ||
121 | MUX_CFG_24XX("P21_242X_GPIO12", 0x0ca, 3, 0, 0, 1) | ||
122 | MUX_CFG_24XX("AA10_242X_GPIO13", 0x0e5, 3, 0, 0, 1) | ||
123 | MUX_CFG_24XX("AA6_242X_GPIO14", 0x0e6, 3, 0, 0, 1) | ||
124 | MUX_CFG_24XX("AA4_242X_GPIO15", 0x0e7, 3, 0, 0, 1) | ||
125 | MUX_CFG_24XX("Y11_242X_GPIO16", 0x0e8, 3, 0, 0, 1) | ||
126 | MUX_CFG_24XX("AA12_242X_GPIO17", 0x0e9, 3, 0, 0, 1) | ||
127 | MUX_CFG_24XX("AA8_242X_GPIO58", 0x0ea, 3, 0, 0, 1) | ||
128 | MUX_CFG_24XX("Y20_24XX_GPIO60", 0x12c, 3, 0, 0, 1) | ||
129 | MUX_CFG_24XX("W4__24XX_GPIO74", 0x0f2, 3, 0, 0, 1) | ||
130 | MUX_CFG_24XX("N15_24XX_GPIO85", 0x103, 3, 0, 0, 1) | ||
131 | MUX_CFG_24XX("M15_24XX_GPIO92", 0x10a, 3, 0, 0, 1) | ||
132 | MUX_CFG_24XX("P20_24XX_GPIO93", 0x10b, 3, 0, 0, 1) | ||
133 | MUX_CFG_24XX("P18_24XX_GPIO95", 0x10d, 3, 0, 0, 1) | ||
134 | MUX_CFG_24XX("M18_24XX_GPIO96", 0x10e, 3, 0, 0, 1) | ||
135 | MUX_CFG_24XX("L14_24XX_GPIO97", 0x10f, 3, 0, 0, 1) | ||
136 | MUX_CFG_24XX("J15_24XX_GPIO99", 0x113, 3, 1, 1, 1) | ||
137 | MUX_CFG_24XX("V14_24XX_GPIO117", 0x128, 3, 1, 0, 1) | ||
138 | MUX_CFG_24XX("P14_24XX_GPIO125", 0x140, 3, 1, 1, 1) | ||
139 | |||
140 | /* 242x DBG GPIO */ | ||
141 | MUX_CFG_24XX("V4_242X_GPIO49", 0xd3, 3, 0, 0, 1) | ||
142 | MUX_CFG_24XX("W2_242X_GPIO50", 0xd4, 3, 0, 0, 1) | ||
143 | MUX_CFG_24XX("U4_242X_GPIO51", 0xd5, 3, 0, 0, 1) | ||
144 | MUX_CFG_24XX("V3_242X_GPIO52", 0xd6, 3, 0, 0, 1) | ||
145 | MUX_CFG_24XX("V2_242X_GPIO53", 0xd7, 3, 0, 0, 1) | ||
146 | MUX_CFG_24XX("V6_242X_GPIO53", 0xcf, 3, 0, 0, 1) | ||
147 | MUX_CFG_24XX("T4_242X_GPIO54", 0xd8, 3, 0, 0, 1) | ||
148 | MUX_CFG_24XX("Y4_242X_GPIO54", 0xd0, 3, 0, 0, 1) | ||
149 | MUX_CFG_24XX("T3_242X_GPIO55", 0xd9, 3, 0, 0, 1) | ||
150 | MUX_CFG_24XX("U2_242X_GPIO56", 0xda, 3, 0, 0, 1) | ||
151 | |||
152 | /* 24xx external DMA requests */ | ||
153 | MUX_CFG_24XX("AA10_242X_DMAREQ0", 0x0e5, 2, 0, 0, 1) | ||
154 | MUX_CFG_24XX("AA6_242X_DMAREQ1", 0x0e6, 2, 0, 0, 1) | ||
155 | MUX_CFG_24XX("E4_242X_DMAREQ2", 0x074, 2, 0, 0, 1) | ||
156 | MUX_CFG_24XX("G4_242X_DMAREQ3", 0x073, 2, 0, 0, 1) | ||
157 | MUX_CFG_24XX("D3_242X_DMAREQ4", 0x072, 2, 0, 0, 1) | ||
158 | MUX_CFG_24XX("E3_242X_DMAREQ5", 0x071, 2, 0, 0, 1) | ||
159 | |||
160 | /* UART3 */ | ||
161 | MUX_CFG_24XX("K15_24XX_UART3_TX", 0x118, 0, 0, 0, 1) | ||
162 | MUX_CFG_24XX("K14_24XX_UART3_RX", 0x119, 0, 0, 0, 1) | ||
163 | |||
164 | /* MMC/SDIO */ | ||
165 | MUX_CFG_24XX("G19_24XX_MMC_CLKO", 0x0f3, 0, 0, 0, 1) | ||
166 | MUX_CFG_24XX("H18_24XX_MMC_CMD", 0x0f4, 0, 0, 0, 1) | ||
167 | MUX_CFG_24XX("F20_24XX_MMC_DAT0", 0x0f5, 0, 0, 0, 1) | ||
168 | MUX_CFG_24XX("H14_24XX_MMC_DAT1", 0x0f6, 0, 0, 0, 1) | ||
169 | MUX_CFG_24XX("E19_24XX_MMC_DAT2", 0x0f7, 0, 0, 0, 1) | ||
170 | MUX_CFG_24XX("D19_24XX_MMC_DAT3", 0x0f8, 0, 0, 0, 1) | ||
171 | MUX_CFG_24XX("F19_24XX_MMC_DAT_DIR0", 0x0f9, 0, 0, 0, 1) | ||
172 | MUX_CFG_24XX("E20_24XX_MMC_DAT_DIR1", 0x0fa, 0, 0, 0, 1) | ||
173 | MUX_CFG_24XX("F18_24XX_MMC_DAT_DIR2", 0x0fb, 0, 0, 0, 1) | ||
174 | MUX_CFG_24XX("E18_24XX_MMC_DAT_DIR3", 0x0fc, 0, 0, 0, 1) | ||
175 | MUX_CFG_24XX("G18_24XX_MMC_CMD_DIR", 0x0fd, 0, 0, 0, 1) | ||
176 | MUX_CFG_24XX("H15_24XX_MMC_CLKI", 0x0fe, 0, 0, 0, 1) | ||
177 | |||
178 | /* Full speed USB */ | ||
179 | MUX_CFG_24XX("J20_24XX_USB0_PUEN", 0x11d, 0, 0, 0, 1) | ||
180 | MUX_CFG_24XX("J19_24XX_USB0_VP", 0x11e, 0, 0, 0, 1) | ||
181 | MUX_CFG_24XX("K20_24XX_USB0_VM", 0x11f, 0, 0, 0, 1) | ||
182 | MUX_CFG_24XX("J18_24XX_USB0_RCV", 0x120, 0, 0, 0, 1) | ||
183 | MUX_CFG_24XX("K19_24XX_USB0_TXEN", 0x121, 0, 0, 0, 1) | ||
184 | MUX_CFG_24XX("J14_24XX_USB0_SE0", 0x122, 0, 0, 0, 1) | ||
185 | MUX_CFG_24XX("K18_24XX_USB0_DAT", 0x123, 0, 0, 0, 1) | ||
186 | |||
187 | MUX_CFG_24XX("N14_24XX_USB1_SE0", 0x0ed, 2, 0, 0, 1) | ||
188 | MUX_CFG_24XX("W12_24XX_USB1_SE0", 0x0dd, 3, 0, 0, 1) | ||
189 | MUX_CFG_24XX("P15_24XX_USB1_DAT", 0x0ee, 2, 0, 0, 1) | ||
190 | MUX_CFG_24XX("R13_24XX_USB1_DAT", 0x0e0, 3, 0, 0, 1) | ||
191 | MUX_CFG_24XX("W20_24XX_USB1_TXEN", 0x0ec, 2, 0, 0, 1) | ||
192 | MUX_CFG_24XX("P13_24XX_USB1_TXEN", 0x0df, 3, 0, 0, 1) | ||
193 | MUX_CFG_24XX("V19_24XX_USB1_RCV", 0x0eb, 2, 0, 0, 1) | ||
194 | MUX_CFG_24XX("V12_24XX_USB1_RCV", 0x0de, 3, 0, 0, 1) | ||
195 | |||
196 | MUX_CFG_24XX("AA10_24XX_USB2_SE0", 0x0e5, 2, 0, 0, 1) | ||
197 | MUX_CFG_24XX("Y11_24XX_USB2_DAT", 0x0e8, 2, 0, 0, 1) | ||
198 | MUX_CFG_24XX("AA12_24XX_USB2_TXEN", 0x0e9, 2, 0, 0, 1) | ||
199 | MUX_CFG_24XX("AA6_24XX_USB2_RCV", 0x0e6, 2, 0, 0, 1) | ||
200 | MUX_CFG_24XX("AA4_24XX_USB2_TLLSE0", 0x0e7, 2, 0, 0, 1) | ||
201 | |||
202 | /* Keypad GPIO*/ | ||
203 | MUX_CFG_24XX("T19_24XX_KBR0", 0x106, 3, 1, 1, 1) | ||
204 | MUX_CFG_24XX("R19_24XX_KBR1", 0x107, 3, 1, 1, 1) | ||
205 | MUX_CFG_24XX("V18_24XX_KBR2", 0x139, 3, 1, 1, 1) | ||
206 | MUX_CFG_24XX("M21_24XX_KBR3", 0xc9, 3, 1, 1, 1) | ||
207 | MUX_CFG_24XX("E5__24XX_KBR4", 0x138, 3, 1, 1, 1) | ||
208 | MUX_CFG_24XX("M18_24XX_KBR5", 0x10e, 3, 1, 1, 1) | ||
209 | MUX_CFG_24XX("R20_24XX_KBC0", 0x108, 3, 0, 0, 1) | ||
210 | MUX_CFG_24XX("M14_24XX_KBC1", 0x109, 3, 0, 0, 1) | ||
211 | MUX_CFG_24XX("H19_24XX_KBC2", 0x114, 3, 0, 0, 1) | ||
212 | MUX_CFG_24XX("V17_24XX_KBC3", 0x135, 3, 0, 0, 1) | ||
213 | MUX_CFG_24XX("P21_24XX_KBC4", 0xca, 3, 0, 0, 1) | ||
214 | MUX_CFG_24XX("L14_24XX_KBC5", 0x10f, 3, 0, 0, 1) | ||
215 | MUX_CFG_24XX("N19_24XX_KBC6", 0x110, 3, 0, 0, 1) | ||
216 | |||
217 | /* 24xx Menelaus Keypad GPIO */ | ||
218 | MUX_CFG_24XX("B3__24XX_KBR5", 0x30, 3, 1, 1, 1) | ||
219 | MUX_CFG_24XX("AA4_24XX_KBC2", 0xe7, 3, 0, 0, 1) | ||
220 | MUX_CFG_24XX("B13_24XX_KBC6", 0x110, 3, 0, 0, 1) | ||
221 | |||
222 | /* 2430 USB */ | ||
223 | MUX_CFG_24XX("AD9_2430_USB0_PUEN", 0x133, 4, 0, 0, 1) | ||
224 | MUX_CFG_24XX("Y11_2430_USB0_VP", 0x134, 4, 0, 0, 1) | ||
225 | MUX_CFG_24XX("AD7_2430_USB0_VM", 0x135, 4, 0, 0, 1) | ||
226 | MUX_CFG_24XX("AE7_2430_USB0_RCV", 0x136, 4, 0, 0, 1) | ||
227 | MUX_CFG_24XX("AD4_2430_USB0_TXEN", 0x137, 4, 0, 0, 1) | ||
228 | MUX_CFG_24XX("AF9_2430_USB0_SE0", 0x138, 4, 0, 0, 1) | ||
229 | MUX_CFG_24XX("AE6_2430_USB0_DAT", 0x139, 4, 0, 0, 1) | ||
230 | MUX_CFG_24XX("AD24_2430_USB1_SE0", 0x107, 2, 0, 0, 1) | ||
231 | MUX_CFG_24XX("AB24_2430_USB1_RCV", 0x108, 2, 0, 0, 1) | ||
232 | MUX_CFG_24XX("Y25_2430_USB1_TXEN", 0x109, 2, 0, 0, 1) | ||
233 | MUX_CFG_24XX("AA26_2430_USB1_DAT", 0x10A, 2, 0, 0, 1) | ||
234 | |||
235 | /* 2430 HS-USB */ | ||
236 | MUX_CFG_24XX("AD9_2430_USB0HS_DATA3", 0x133, 0, 0, 0, 1) | ||
237 | MUX_CFG_24XX("Y11_2430_USB0HS_DATA4", 0x134, 0, 0, 0, 1) | ||
238 | MUX_CFG_24XX("AD7_2430_USB0HS_DATA5", 0x135, 0, 0, 0, 1) | ||
239 | MUX_CFG_24XX("AE7_2430_USB0HS_DATA6", 0x136, 0, 0, 0, 1) | ||
240 | MUX_CFG_24XX("AD4_2430_USB0HS_DATA2", 0x137, 0, 0, 0, 1) | ||
241 | MUX_CFG_24XX("AF9_2430_USB0HS_DATA0", 0x138, 0, 0, 0, 1) | ||
242 | MUX_CFG_24XX("AE6_2430_USB0HS_DATA1", 0x139, 0, 0, 0, 1) | ||
243 | MUX_CFG_24XX("AE8_2430_USB0HS_CLK", 0x13A, 0, 0, 0, 1) | ||
244 | MUX_CFG_24XX("AD8_2430_USB0HS_DIR", 0x13B, 0, 0, 0, 1) | ||
245 | MUX_CFG_24XX("AE5_2430_USB0HS_STP", 0x13c, 0, 1, 1, 1) | ||
246 | MUX_CFG_24XX("AE9_2430_USB0HS_NXT", 0x13D, 0, 0, 0, 1) | ||
247 | MUX_CFG_24XX("AC7_2430_USB0HS_DATA7", 0x13E, 0, 0, 0, 1) | ||
248 | |||
249 | /* 2430 McBSP */ | ||
250 | MUX_CFG_24XX("AD6_2430_MCBSP_CLKS", 0x011E, 0, 0, 0, 1) | ||
251 | |||
252 | MUX_CFG_24XX("AB2_2430_MCBSP1_CLKR", 0x011A, 0, 0, 0, 1) | ||
253 | MUX_CFG_24XX("AD5_2430_MCBSP1_FSR", 0x011B, 0, 0, 0, 1) | ||
254 | MUX_CFG_24XX("AA1_2430_MCBSP1_DX", 0x011C, 0, 0, 0, 1) | ||
255 | MUX_CFG_24XX("AF3_2430_MCBSP1_DR", 0x011D, 0, 0, 0, 1) | ||
256 | MUX_CFG_24XX("AB3_2430_MCBSP1_FSX", 0x011F, 0, 0, 0, 1) | ||
257 | MUX_CFG_24XX("Y9_2430_MCBSP1_CLKX", 0x0120, 0, 0, 0, 1) | ||
258 | |||
259 | MUX_CFG_24XX("AC10_2430_MCBSP2_FSX", 0x012E, 1, 0, 0, 1) | ||
260 | MUX_CFG_24XX("AD16_2430_MCBSP2_CLX", 0x012F, 1, 0, 0, 1) | ||
261 | MUX_CFG_24XX("AE13_2430_MCBSP2_DX", 0x0130, 1, 0, 0, 1) | ||
262 | MUX_CFG_24XX("AD13_2430_MCBSP2_DR", 0x0131, 1, 0, 0, 1) | ||
263 | MUX_CFG_24XX("AC10_2430_MCBSP2_FSX_OFF",0x012E, 0, 0, 0, 1) | ||
264 | MUX_CFG_24XX("AD16_2430_MCBSP2_CLX_OFF",0x012F, 0, 0, 0, 1) | ||
265 | MUX_CFG_24XX("AE13_2430_MCBSP2_DX_OFF", 0x0130, 0, 0, 0, 1) | ||
266 | MUX_CFG_24XX("AD13_2430_MCBSP2_DR_OFF", 0x0131, 0, 0, 0, 1) | ||
267 | |||
268 | MUX_CFG_24XX("AC9_2430_MCBSP3_CLKX", 0x0103, 0, 0, 0, 1) | ||
269 | MUX_CFG_24XX("AE4_2430_MCBSP3_FSX", 0x0104, 0, 0, 0, 1) | ||
270 | MUX_CFG_24XX("AE2_2430_MCBSP3_DR", 0x0105, 0, 0, 0, 1) | ||
271 | MUX_CFG_24XX("AF4_2430_MCBSP3_DX", 0x0106, 0, 0, 0, 1) | ||
272 | |||
273 | MUX_CFG_24XX("N3_2430_MCBSP4_CLKX", 0x010B, 1, 0, 0, 1) | ||
274 | MUX_CFG_24XX("AD23_2430_MCBSP4_DR", 0x010C, 1, 0, 0, 1) | ||
275 | MUX_CFG_24XX("AB25_2430_MCBSP4_DX", 0x010D, 1, 0, 0, 1) | ||
276 | MUX_CFG_24XX("AC25_2430_MCBSP4_FSX", 0x010E, 1, 0, 0, 1) | ||
277 | |||
278 | MUX_CFG_24XX("AE16_2430_MCBSP5_CLKX", 0x00ED, 1, 0, 0, 1) | ||
279 | MUX_CFG_24XX("AF12_2430_MCBSP5_FSX", 0x00ED, 1, 0, 0, 1) | ||
280 | MUX_CFG_24XX("K7_2430_MCBSP5_DX", 0x00EF, 1, 0, 0, 1) | ||
281 | MUX_CFG_24XX("M1_2430_MCBSP5_DR", 0x00F0, 1, 0, 0, 1) | ||
282 | |||
283 | /* 2430 MCSPI1 */ | ||
284 | MUX_CFG_24XX("Y18_2430_MCSPI1_CLK", 0x010F, 0, 0, 0, 1) | ||
285 | MUX_CFG_24XX("AD15_2430_MCSPI1_SIMO", 0x0110, 0, 0, 0, 1) | ||
286 | MUX_CFG_24XX("AE17_2430_MCSPI1_SOMI", 0x0111, 0, 0, 0, 1) | ||
287 | MUX_CFG_24XX("U1_2430_MCSPI1_CS0", 0x0112, 0, 0, 0, 1) | ||
288 | |||
289 | /* Touchscreen GPIO */ | ||
290 | MUX_CFG_24XX("AF19_2430_GPIO_85", 0x0113, 3, 0, 0, 1) | ||
291 | |||
292 | }; | ||
293 | |||
294 | #define OMAP24XX_PINS_SZ ARRAY_SIZE(omap24xx_pins) | ||
295 | |||
296 | #if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS) | ||
297 | |||
298 | static void __init_or_module omap2_cfg_debug(const struct pin_config *cfg, u16 reg) | ||
299 | { | ||
300 | u16 orig; | ||
301 | u8 warn = 0, debug = 0; | ||
302 | |||
303 | orig = omap_mux_read(cfg->mux_reg - OMAP_MUX_BASE_OFFSET); | ||
304 | |||
305 | #ifdef CONFIG_OMAP_MUX_DEBUG | ||
306 | debug = cfg->debug; | ||
307 | #endif | ||
308 | warn = (orig != reg); | ||
309 | if (debug || warn) | ||
310 | printk(KERN_WARNING | ||
311 | "MUX: setup %s (0x%p): 0x%04x -> 0x%04x\n", | ||
312 | cfg->name, omap_ctrl_base_get() + cfg->mux_reg, | ||
313 | orig, reg); | ||
314 | } | ||
315 | #else | ||
316 | #define omap2_cfg_debug(x, y) do {} while (0) | ||
317 | #endif | ||
318 | |||
319 | static int __init_or_module omap24xx_cfg_reg(const struct pin_config *cfg) | ||
320 | { | ||
321 | static DEFINE_SPINLOCK(mux_spin_lock); | ||
322 | unsigned long flags; | ||
323 | u8 reg = 0; | ||
324 | |||
325 | spin_lock_irqsave(&mux_spin_lock, flags); | ||
326 | reg |= cfg->mask & 0x7; | ||
327 | if (cfg->pull_val) | ||
328 | reg |= OMAP2_PULL_ENA; | ||
329 | if (cfg->pu_pd_val) | ||
330 | reg |= OMAP2_PULL_UP; | ||
331 | omap2_cfg_debug(cfg, reg); | ||
332 | omap_mux_write(reg, cfg->mux_reg - OMAP_MUX_BASE_OFFSET); | ||
333 | spin_unlock_irqrestore(&mux_spin_lock, flags); | ||
334 | |||
335 | return 0; | ||
336 | } | ||
337 | |||
338 | int __init omap2_mux_init(void) | ||
339 | { | ||
340 | u32 mux_pbase; | ||
341 | |||
342 | if (cpu_is_omap2420()) | ||
343 | mux_pbase = OMAP2420_CTRL_BASE + OMAP_MUX_BASE_OFFSET; | ||
344 | else if (cpu_is_omap2430()) | ||
345 | mux_pbase = OMAP243X_CTRL_BASE + OMAP_MUX_BASE_OFFSET; | ||
346 | else | ||
347 | return -ENODEV; | ||
348 | |||
349 | mux_base = ioremap(mux_pbase, OMAP_MUX_BASE_SZ); | ||
350 | if (!mux_base) { | ||
351 | printk(KERN_ERR "mux: Could not ioremap\n"); | ||
352 | return -ENODEV; | ||
353 | } | ||
354 | |||
355 | if (cpu_is_omap24xx()) { | ||
356 | arch_mux_cfg.pins = omap24xx_pins; | ||
357 | arch_mux_cfg.size = OMAP24XX_PINS_SZ; | ||
358 | arch_mux_cfg.cfg_reg = omap24xx_cfg_reg; | ||
359 | |||
360 | return omap_mux_register(&arch_mux_cfg); | ||
361 | } | ||
362 | |||
363 | return 0; | ||
364 | } | ||
365 | |||
366 | #else | ||
367 | int __init omap2_mux_init(void) | ||
368 | { | ||
369 | return 0; | ||
370 | } | ||
371 | #endif /* CONFIG_OMAP_MUX */ | ||
372 | |||
373 | /*----------------------------------------------------------------------------*/ | ||
374 | |||
375 | #ifdef CONFIG_ARCH_OMAP2PLUS | ||
376 | static LIST_HEAD(muxmodes); | 80 | static LIST_HEAD(muxmodes); |
377 | static DEFINE_MUTEX(muxmode_mutex); | 81 | static DEFINE_MUTEX(muxmode_mutex); |
378 | 82 | ||
@@ -1047,5 +751,3 @@ int __init omap_mux_init(u32 mux_pbase, u32 mux_size, | |||
1047 | return 0; | 751 | return 0; |
1048 | } | 752 | } |
1049 | 753 | ||
1050 | #endif /* CONFIG_ARCH_OMAP3 */ | ||
1051 | |||
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c index e321281ab6e1..6aeedeacdad8 100644 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <plat/clock.h> | 39 | #include <plat/clock.h> |
40 | #include <plat/sram.h> | 40 | #include <plat/sram.h> |
41 | #include <plat/control.h> | 41 | #include <plat/control.h> |
42 | #include <plat/mux.h> | ||
43 | #include <plat/dma.h> | 42 | #include <plat/dma.h> |
44 | #include <plat/board.h> | 43 | #include <plat/board.h> |
45 | 44 | ||
diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c index d72d1ac30333..b11bf385d360 100644 --- a/arch/arm/mach-omap2/usb-ehci.c +++ b/arch/arm/mach-omap2/usb-ehci.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/dma-mapping.h> | 23 | #include <linux/dma-mapping.h> |
24 | 24 | ||
25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
26 | #include <plat/mux.h> | ||
27 | 26 | ||
28 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
29 | #include <mach/irqs.h> | 28 | #include <mach/irqs.h> |
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c index 96f6787e00b2..33a5cde1c227 100644 --- a/arch/arm/mach-omap2/usb-musb.c +++ b/arch/arm/mach-omap2/usb-musb.c | |||
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
30 | #include <mach/irqs.h> | 30 | #include <mach/irqs.h> |
31 | #include <plat/mux.h> | ||
32 | #include <plat/usb.h> | 31 | #include <plat/usb.h> |
33 | 32 | ||
34 | #ifdef CONFIG_USB_MUSB_SOC | 33 | #ifdef CONFIG_USB_MUSB_SOC |
diff --git a/arch/arm/plat-omap/include/plat/mux.h b/arch/arm/plat-omap/include/plat/mux.h index c7472a28ce24..e1da7b17d25b 100644 --- a/arch/arm/plat-omap/include/plat/mux.h +++ b/arch/arm/plat-omap/include/plat/mux.h | |||
@@ -114,28 +114,11 @@ | |||
114 | PU_PD_REG(NA, 0) \ | 114 | PU_PD_REG(NA, 0) \ |
115 | }, | 115 | }, |
116 | 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 | |||
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 | |||
133 | struct pin_config { | 117 | struct pin_config { |
134 | char *name; | 118 | char *name; |
135 | const unsigned int mux_reg; | 119 | const unsigned int mux_reg; |
136 | unsigned char debug; | 120 | unsigned char debug; |
137 | 121 | ||
138 | #if defined(CONFIG_ARCH_OMAP1) || defined(CONFIG_ARCH_OMAP2) | ||
139 | const unsigned char mask_offset; | 122 | const unsigned char mask_offset; |
140 | const unsigned char mask; | 123 | const unsigned char mask; |
141 | 124 | ||
@@ -147,7 +130,6 @@ struct pin_config { | |||
147 | const char *pu_pd_name; | 130 | const char *pu_pd_name; |
148 | const unsigned int pu_pd_reg; | 131 | const unsigned int pu_pd_reg; |
149 | const unsigned char pu_pd_val; | 132 | const unsigned char pu_pd_val; |
150 | #endif | ||
151 | 133 | ||
152 | #if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS) | 134 | #if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS) |
153 | const char *mux_reg_name; | 135 | const char *mux_reg_name; |
@@ -446,208 +428,6 @@ enum omap1xxx_index { | |||
446 | 428 | ||
447 | }; | 429 | }; |
448 | 430 | ||
449 | enum omap24xx_index { | ||
450 | /* 24xx I2C */ | ||
451 | M19_24XX_I2C1_SCL, | ||
452 | L15_24XX_I2C1_SDA, | ||
453 | J15_24XX_I2C2_SCL, | ||
454 | H19_24XX_I2C2_SDA, | ||
455 | |||
456 | /* 24xx Menelaus interrupt */ | ||
457 | W19_24XX_SYS_NIRQ, | ||
458 | |||
459 | /* 24xx clock */ | ||
460 | W14_24XX_SYS_CLKOUT, | ||
461 | |||
462 | /* 24xx GPMC chipselects, wait pin monitoring */ | ||
463 | E2_GPMC_NCS2, | ||
464 | L2_GPMC_NCS7, | ||
465 | L3_GPMC_WAIT0, | ||
466 | N7_GPMC_WAIT1, | ||
467 | M1_GPMC_WAIT2, | ||
468 | P1_GPMC_WAIT3, | ||
469 | |||
470 | /* 242X McBSP */ | ||
471 | Y15_24XX_MCBSP2_CLKX, | ||
472 | R14_24XX_MCBSP2_FSX, | ||
473 | W15_24XX_MCBSP2_DR, | ||
474 | V15_24XX_MCBSP2_DX, | ||
475 | |||
476 | /* 24xx GPIO */ | ||
477 | M21_242X_GPIO11, | ||
478 | P21_242X_GPIO12, | ||
479 | AA10_242X_GPIO13, | ||
480 | AA6_242X_GPIO14, | ||
481 | AA4_242X_GPIO15, | ||
482 | Y11_242X_GPIO16, | ||
483 | AA12_242X_GPIO17, | ||
484 | AA8_242X_GPIO58, | ||
485 | Y20_24XX_GPIO60, | ||
486 | W4__24XX_GPIO74, | ||
487 | N15_24XX_GPIO85, | ||
488 | M15_24XX_GPIO92, | ||
489 | P20_24XX_GPIO93, | ||
490 | P18_24XX_GPIO95, | ||
491 | M18_24XX_GPIO96, | ||
492 | L14_24XX_GPIO97, | ||
493 | J15_24XX_GPIO99, | ||
494 | V14_24XX_GPIO117, | ||
495 | P14_24XX_GPIO125, | ||
496 | |||
497 | /* 242x DBG GPIO */ | ||
498 | V4_242X_GPIO49, | ||
499 | W2_242X_GPIO50, | ||
500 | U4_242X_GPIO51, | ||
501 | V3_242X_GPIO52, | ||
502 | V2_242X_GPIO53, | ||
503 | V6_242X_GPIO53, | ||
504 | T4_242X_GPIO54, | ||
505 | Y4_242X_GPIO54, | ||
506 | T3_242X_GPIO55, | ||
507 | U2_242X_GPIO56, | ||
508 | |||
509 | /* 24xx external DMA requests */ | ||
510 | AA10_242X_DMAREQ0, | ||
511 | AA6_242X_DMAREQ1, | ||
512 | E4_242X_DMAREQ2, | ||
513 | G4_242X_DMAREQ3, | ||
514 | D3_242X_DMAREQ4, | ||
515 | E3_242X_DMAREQ5, | ||
516 | |||
517 | /* UART3 */ | ||
518 | K15_24XX_UART3_TX, | ||
519 | K14_24XX_UART3_RX, | ||
520 | |||
521 | /* MMC/SDIO */ | ||
522 | G19_24XX_MMC_CLKO, | ||
523 | H18_24XX_MMC_CMD, | ||
524 | F20_24XX_MMC_DAT0, | ||
525 | H14_24XX_MMC_DAT1, | ||
526 | E19_24XX_MMC_DAT2, | ||
527 | D19_24XX_MMC_DAT3, | ||
528 | F19_24XX_MMC_DAT_DIR0, | ||
529 | E20_24XX_MMC_DAT_DIR1, | ||
530 | F18_24XX_MMC_DAT_DIR2, | ||
531 | E18_24XX_MMC_DAT_DIR3, | ||
532 | G18_24XX_MMC_CMD_DIR, | ||
533 | H15_24XX_MMC_CLKI, | ||
534 | |||
535 | /* Full speed USB */ | ||
536 | J20_24XX_USB0_PUEN, | ||
537 | J19_24XX_USB0_VP, | ||
538 | K20_24XX_USB0_VM, | ||
539 | J18_24XX_USB0_RCV, | ||
540 | K19_24XX_USB0_TXEN, | ||
541 | J14_24XX_USB0_SE0, | ||
542 | K18_24XX_USB0_DAT, | ||
543 | |||
544 | N14_24XX_USB1_SE0, | ||
545 | W12_24XX_USB1_SE0, | ||
546 | P15_24XX_USB1_DAT, | ||
547 | R13_24XX_USB1_DAT, | ||
548 | W20_24XX_USB1_TXEN, | ||
549 | P13_24XX_USB1_TXEN, | ||
550 | V19_24XX_USB1_RCV, | ||
551 | V12_24XX_USB1_RCV, | ||
552 | |||
553 | AA10_24XX_USB2_SE0, | ||
554 | Y11_24XX_USB2_DAT, | ||
555 | AA12_24XX_USB2_TXEN, | ||
556 | AA6_24XX_USB2_RCV, | ||
557 | AA4_24XX_USB2_TLLSE0, | ||
558 | |||
559 | /* Keypad GPIO*/ | ||
560 | T19_24XX_KBR0, | ||
561 | R19_24XX_KBR1, | ||
562 | V18_24XX_KBR2, | ||
563 | M21_24XX_KBR3, | ||
564 | E5__24XX_KBR4, | ||
565 | M18_24XX_KBR5, | ||
566 | R20_24XX_KBC0, | ||
567 | M14_24XX_KBC1, | ||
568 | H19_24XX_KBC2, | ||
569 | V17_24XX_KBC3, | ||
570 | P21_24XX_KBC4, | ||
571 | L14_24XX_KBC5, | ||
572 | N19_24XX_KBC6, | ||
573 | |||
574 | /* 24xx Menelaus Keypad GPIO */ | ||
575 | B3__24XX_KBR5, | ||
576 | AA4_24XX_KBC2, | ||
577 | B13_24XX_KBC6, | ||
578 | |||
579 | /* 2430 USB */ | ||
580 | AD9_2430_USB0_PUEN, | ||
581 | Y11_2430_USB0_VP, | ||
582 | AD7_2430_USB0_VM, | ||
583 | AE7_2430_USB0_RCV, | ||
584 | AD4_2430_USB0_TXEN, | ||
585 | AF9_2430_USB0_SE0, | ||
586 | AE6_2430_USB0_DAT, | ||
587 | AD24_2430_USB1_SE0, | ||
588 | AB24_2430_USB1_RCV, | ||
589 | Y25_2430_USB1_TXEN, | ||
590 | AA26_2430_USB1_DAT, | ||
591 | |||
592 | /* 2430 HS-USB */ | ||
593 | AD9_2430_USB0HS_DATA3, | ||
594 | Y11_2430_USB0HS_DATA4, | ||
595 | AD7_2430_USB0HS_DATA5, | ||
596 | AE7_2430_USB0HS_DATA6, | ||
597 | AD4_2430_USB0HS_DATA2, | ||
598 | AF9_2430_USB0HS_DATA0, | ||
599 | AE6_2430_USB0HS_DATA1, | ||
600 | AE8_2430_USB0HS_CLK, | ||
601 | AD8_2430_USB0HS_DIR, | ||
602 | AE5_2430_USB0HS_STP, | ||
603 | AE9_2430_USB0HS_NXT, | ||
604 | AC7_2430_USB0HS_DATA7, | ||
605 | |||
606 | /* 2430 McBSP */ | ||
607 | AD6_2430_MCBSP_CLKS, | ||
608 | |||
609 | AB2_2430_MCBSP1_CLKR, | ||
610 | AD5_2430_MCBSP1_FSR, | ||
611 | AA1_2430_MCBSP1_DX, | ||
612 | AF3_2430_MCBSP1_DR, | ||
613 | AB3_2430_MCBSP1_FSX, | ||
614 | Y9_2430_MCBSP1_CLKX, | ||
615 | |||
616 | AC10_2430_MCBSP2_FSX, | ||
617 | AD16_2430_MCBSP2_CLX, | ||
618 | AE13_2430_MCBSP2_DX, | ||
619 | AD13_2430_MCBSP2_DR, | ||
620 | AC10_2430_MCBSP2_FSX_OFF, | ||
621 | AD16_2430_MCBSP2_CLX_OFF, | ||
622 | AE13_2430_MCBSP2_DX_OFF, | ||
623 | AD13_2430_MCBSP2_DR_OFF, | ||
624 | |||
625 | AC9_2430_MCBSP3_CLKX, | ||
626 | AE4_2430_MCBSP3_FSX, | ||
627 | AE2_2430_MCBSP3_DR, | ||
628 | AF4_2430_MCBSP3_DX, | ||
629 | |||
630 | N3_2430_MCBSP4_CLKX, | ||
631 | AD23_2430_MCBSP4_DR, | ||
632 | AB25_2430_MCBSP4_DX, | ||
633 | AC25_2430_MCBSP4_FSX, | ||
634 | |||
635 | AE16_2430_MCBSP5_CLKX, | ||
636 | AF12_2430_MCBSP5_FSX, | ||
637 | K7_2430_MCBSP5_DX, | ||
638 | M1_2430_MCBSP5_DR, | ||
639 | |||
640 | /* 2430 McSPI*/ | ||
641 | Y18_2430_MCSPI1_CLK, | ||
642 | AD15_2430_MCSPI1_SIMO, | ||
643 | AE17_2430_MCSPI1_SOMI, | ||
644 | U1_2430_MCSPI1_CS0, | ||
645 | |||
646 | /* Touchscreen GPIO */ | ||
647 | AF19_2430_GPIO_85, | ||
648 | |||
649 | }; | ||
650 | |||
651 | struct omap_mux_cfg { | 431 | struct omap_mux_cfg { |
652 | struct pin_config *pins; | 432 | struct pin_config *pins; |
653 | unsigned long size; | 433 | unsigned long size; |
diff --git a/arch/arm/plat-omap/mux.c b/arch/arm/plat-omap/mux.c index 06703635ace1..0d4aa0d5876c 100644 --- a/arch/arm/plat-omap/mux.c +++ b/arch/arm/plat-omap/mux.c | |||
@@ -54,7 +54,7 @@ int __init_or_module omap_cfg_reg(const unsigned long index) | |||
54 | { | 54 | { |
55 | struct pin_config *reg; | 55 | struct pin_config *reg; |
56 | 56 | ||
57 | if (cpu_is_omap34xx() || cpu_is_omap44xx()) { | 57 | if (!cpu_class_is_omap1()) { |
58 | printk(KERN_ERR "mux: Broken omap_cfg_reg(%lu) entry\n", | 58 | printk(KERN_ERR "mux: Broken omap_cfg_reg(%lu) entry\n", |
59 | index); | 59 | index); |
60 | WARN_ON(1); | 60 | WARN_ON(1); |