1 /*
2  * Copyright (C) 2010 Nokia
3  * Copyright (C) 2010 Texas Instruments
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9 
10 #include <linux/module.h>
11 #include <linux/init.h>
12 
13 #include "mux.h"
14 
15 #ifdef CONFIG_OMAP_MUX
16 
17 #define _OMAP2430_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7)		\
18 {									\
19 	.reg_offset	= (OMAP2430_CONTROL_PADCONF_##M0##_OFFSET),	\
20 	.gpio		= (g),						\
21 	.muxnames	= { m0, m1, m2, m3, m4, m5, m6, m7 },		\
22 }
23 
24 #else
25 
26 #define _OMAP2430_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7)		\
27 {									\
28 	.reg_offset	= (OMAP2430_CONTROL_PADCONF_##M0##_OFFSET),	\
29 	.gpio		= (g),						\
30 }
31 
32 #endif
33 
34 #define _OMAP2430_BALLENTRY(M0, bb, bt)					\
35 {									\
36 	.reg_offset	= (OMAP2430_CONTROL_PADCONF_##M0##_OFFSET),	\
37 	.balls		= { bb, bt },					\
38 }
39 
40 /*
41  * Superset of all mux modes for omap2430
42  */
43 static struct omap_mux __initdata omap2430_muxmodes[] = {
44 	_OMAP2430_MUXENTRY(CAM_D0, 133,
45 		"cam_d0", "hw_dbg0", "sti_dout", "gpio_133",
46 		NULL, NULL, "etk_d2", "safe_mode"),
47 	_OMAP2430_MUXENTRY(CAM_D10, 146,
48 		"cam_d10", NULL, NULL, "gpio_146",
49 		NULL, NULL, "etk_d12", "safe_mode"),
50 	_OMAP2430_MUXENTRY(CAM_D11, 145,
51 		"cam_d11", NULL, NULL, "gpio_145",
52 		NULL, NULL, "etk_d13", "safe_mode"),
53 	_OMAP2430_MUXENTRY(CAM_D1, 132,
54 		"cam_d1", "hw_dbg1", "sti_din", "gpio_132",
55 		NULL, NULL, "etk_d3", "safe_mode"),
56 	_OMAP2430_MUXENTRY(CAM_D2, 129,
57 		"cam_d2", "hw_dbg2", "mcbsp1_clkx", "gpio_129",
58 		NULL, NULL, "etk_d4", "safe_mode"),
59 	_OMAP2430_MUXENTRY(CAM_D3, 128,
60 		"cam_d3", "hw_dbg3", "mcbsp1_dr", "gpio_128",
61 		NULL, NULL, "etk_d5", "safe_mode"),
62 	_OMAP2430_MUXENTRY(CAM_D4, 143,
63 		"cam_d4", "hw_dbg4", "mcbsp1_fsr", "gpio_143",
64 		NULL, NULL, "etk_d6", "safe_mode"),
65 	_OMAP2430_MUXENTRY(CAM_D5, 112,
66 		"cam_d5", "hw_dbg5", "mcbsp1_clkr", "gpio_112",
67 		NULL, NULL, "etk_d7", "safe_mode"),
68 	_OMAP2430_MUXENTRY(CAM_D6, 137,
69 		"cam_d6", "hw_dbg6", NULL, "gpio_137",
70 		NULL, NULL, "etk_d8", "safe_mode"),
71 	_OMAP2430_MUXENTRY(CAM_D7, 136,
72 		"cam_d7", "hw_dbg7", NULL, "gpio_136",
73 		NULL, NULL, "etk_d9", "safe_mode"),
74 	_OMAP2430_MUXENTRY(CAM_D8, 135,
75 		"cam_d8", "hw_dbg8", NULL, "gpio_135",
76 		NULL, NULL, "etk_d10", "safe_mode"),
77 	_OMAP2430_MUXENTRY(CAM_D9, 134,
78 		"cam_d9", "hw_dbg9", NULL, "gpio_134",
79 		NULL, NULL, "etk_d11", "safe_mode"),
80 	_OMAP2430_MUXENTRY(CAM_HS, 11,
81 		"cam_hs", "hw_dbg10", "mcbsp1_dx", "gpio_11",
82 		NULL, NULL, "etk_d1", "safe_mode"),
83 	_OMAP2430_MUXENTRY(CAM_LCLK, 0,
84 		"cam_lclk", NULL, "mcbsp_clks", NULL,
85 		NULL, NULL, "etk_c1", "safe_mode"),
86 	_OMAP2430_MUXENTRY(CAM_VS, 12,
87 		"cam_vs", "hw_dbg11", "mcbsp1_fsx", "gpio_12",
88 		NULL, NULL, "etk_d0", "safe_mode"),
89 	_OMAP2430_MUXENTRY(CAM_XCLK, 0,
90 		"cam_xclk", NULL, "sti_clk", NULL,
91 		NULL, NULL, "etk_c2", NULL),
92 	_OMAP2430_MUXENTRY(DSS_ACBIAS, 48,
93 		"dss_acbias", NULL, "mcbsp2_fsx", "gpio_48",
94 		NULL, NULL, NULL, "safe_mode"),
95 	_OMAP2430_MUXENTRY(DSS_DATA0, 40,
96 		"dss_data0", "uart1_cts", NULL, "gpio_40",
97 		NULL, NULL, NULL, "safe_mode"),
98 	_OMAP2430_MUXENTRY(DSS_DATA10, 128,
99 		"dss_data10", "sdi_data1n", NULL, "gpio_128",
100 		NULL, NULL, NULL, "safe_mode"),
101 	_OMAP2430_MUXENTRY(DSS_DATA11, 129,
102 		"dss_data11", "sdi_data1p", NULL, "gpio_129",
103 		NULL, NULL, NULL, "safe_mode"),
104 	_OMAP2430_MUXENTRY(DSS_DATA12, 130,
105 		"dss_data12", "sdi_data2n", NULL, "gpio_130",
106 		NULL, NULL, NULL, "safe_mode"),
107 	_OMAP2430_MUXENTRY(DSS_DATA13, 131,
108 		"dss_data13", "sdi_data2p", NULL, "gpio_131",
109 		NULL, NULL, NULL, "safe_mode"),
110 	_OMAP2430_MUXENTRY(DSS_DATA14, 132,
111 		"dss_data14", "sdi_data3n", NULL, "gpio_132",
112 		NULL, NULL, NULL, "safe_mode"),
113 	_OMAP2430_MUXENTRY(DSS_DATA15, 133,
114 		"dss_data15", "sdi_data3p", NULL, "gpio_133",
115 		NULL, NULL, NULL, "safe_mode"),
116 	_OMAP2430_MUXENTRY(DSS_DATA16, 46,
117 		"dss_data16", NULL, NULL, "gpio_46",
118 		NULL, NULL, NULL, "safe_mode"),
119 	_OMAP2430_MUXENTRY(DSS_DATA17, 47,
120 		"dss_data17", NULL, NULL, "gpio_47",
121 		NULL, NULL, NULL, "safe_mode"),
122 	_OMAP2430_MUXENTRY(DSS_DATA1, 41,
123 		"dss_data1", "uart1_rts", NULL, "gpio_41",
124 		NULL, NULL, NULL, "safe_mode"),
125 	_OMAP2430_MUXENTRY(DSS_DATA2, 42,
126 		"dss_data2", "uart1_tx", NULL, "gpio_42",
127 		NULL, NULL, NULL, "safe_mode"),
128 	_OMAP2430_MUXENTRY(DSS_DATA3, 43,
129 		"dss_data3", "uart1_rx", NULL, "gpio_43",
130 		NULL, NULL, NULL, "safe_mode"),
131 	_OMAP2430_MUXENTRY(DSS_DATA4, 44,
132 		"dss_data4", "uart3_rx_irrx", NULL, "gpio_44",
133 		NULL, NULL, NULL, "safe_mode"),
134 	_OMAP2430_MUXENTRY(DSS_DATA5, 45,
135 		"dss_data5", "uart3_tx_irtx", NULL, "gpio_45",
136 		NULL, NULL, NULL, "safe_mode"),
137 	_OMAP2430_MUXENTRY(DSS_DATA6, 144,
138 		"dss_data6", NULL, NULL, "gpio_144",
139 		NULL, NULL, NULL, "safe_mode"),
140 	_OMAP2430_MUXENTRY(DSS_DATA7, 147,
141 		"dss_data7", NULL, NULL, "gpio_147",
142 		NULL, NULL, NULL, "safe_mode"),
143 	_OMAP2430_MUXENTRY(DSS_DATA8, 38,
144 		"dss_data8", NULL, NULL, "gpio_38",
145 		NULL, NULL, NULL, "safe_mode"),
146 	_OMAP2430_MUXENTRY(DSS_DATA9, 39,
147 		"dss_data9", NULL, NULL, "gpio_39",
148 		NULL, NULL, NULL, "safe_mode"),
149 	_OMAP2430_MUXENTRY(DSS_HSYNC, 110,
150 		"dss_hsync", NULL, NULL, "gpio_110",
151 		NULL, NULL, NULL, "safe_mode"),
152 	_OMAP2430_MUXENTRY(GPIO_113, 113,
153 		"gpio_113", "mcbsp2_clkx", NULL, "gpio_113",
154 		NULL, NULL, NULL, "safe_mode"),
155 	_OMAP2430_MUXENTRY(GPIO_114, 114,
156 		"gpio_114", "mcbsp2_fsx", NULL, "gpio_114",
157 		NULL, NULL, NULL, "safe_mode"),
158 	_OMAP2430_MUXENTRY(GPIO_115, 115,
159 		"gpio_115", "mcbsp2_dr", NULL, "gpio_115",
160 		NULL, NULL, NULL, "safe_mode"),
161 	_OMAP2430_MUXENTRY(GPIO_116, 116,
162 		"gpio_116", "mcbsp2_dx", NULL, "gpio_116",
163 		NULL, NULL, NULL, "safe_mode"),
164 	_OMAP2430_MUXENTRY(GPIO_128, 128,
165 		"gpio_128", NULL, "sti_din", "gpio_128",
166 		NULL, "sys_boot0", NULL, "safe_mode"),
167 	_OMAP2430_MUXENTRY(GPIO_129, 129,
168 		"gpio_129", NULL, "sti_dout", "gpio_129",
169 		NULL, "sys_boot1", NULL, "safe_mode"),
170 	_OMAP2430_MUXENTRY(GPIO_130, 130,
171 		"gpio_130", NULL, NULL, "gpio_130",
172 		"jtag_emu2", "sys_boot2", NULL, "safe_mode"),
173 	_OMAP2430_MUXENTRY(GPIO_131, 131,
174 		"gpio_131", NULL, NULL, "gpio_131",
175 		"jtag_emu3", "sys_boot3", NULL, "safe_mode"),
176 	_OMAP2430_MUXENTRY(GPIO_132, 132,
177 		"gpio_132", NULL, NULL, "gpio_132",
178 		NULL, "sys_boot4", NULL, "safe_mode"),
179 	_OMAP2430_MUXENTRY(GPIO_133, 133,
180 		"gpio_133", NULL, NULL, "gpio_133",
181 		NULL, "sys_boot5", NULL, "safe_mode"),
182 	_OMAP2430_MUXENTRY(GPIO_134, 134,
183 		"gpio_134", "ccp_datn", NULL, "gpio_134",
184 		NULL, NULL, NULL, "safe_mode"),
185 	_OMAP2430_MUXENTRY(GPIO_135, 135,
186 		"gpio_135", "ccp_datp", NULL, "gpio_135",
187 		NULL, NULL, NULL, "safe_mode"),
188 	_OMAP2430_MUXENTRY(GPIO_136, 136,
189 		"gpio_136", "ccp_clkn", NULL, "gpio_136",
190 		NULL, NULL, NULL, "safe_mode"),
191 	_OMAP2430_MUXENTRY(GPIO_137, 137,
192 		"gpio_137", "ccp_clkp", NULL, "gpio_137",
193 		NULL, NULL, NULL, "safe_mode"),
194 	_OMAP2430_MUXENTRY(GPIO_138, 138,
195 		"gpio_138", "spi3_clk", NULL, "gpio_138",
196 		NULL, NULL, NULL, "safe_mode"),
197 	_OMAP2430_MUXENTRY(GPIO_139, 139,
198 		"gpio_139", "spi3_cs0", "sys_ndmareq3", "gpio_139",
199 		NULL, NULL, NULL, "safe_mode"),
200 	_OMAP2430_MUXENTRY(GPIO_140, 140,
201 		"gpio_140", "spi3_simo", "sys_ndmareq4", "gpio_140",
202 		NULL, NULL, "etk_d14", "safe_mode"),
203 	_OMAP2430_MUXENTRY(GPIO_141, 141,
204 		"gpio_141", "spi3_somi", NULL, "gpio_141",
205 		NULL, NULL, NULL, "safe_mode"),
206 	_OMAP2430_MUXENTRY(GPIO_142, 142,
207 		"gpio_142", "spi3_cs1", "sys_ndmareq2", "gpio_142",
208 		NULL, NULL, "etk_d15", "safe_mode"),
209 	_OMAP2430_MUXENTRY(GPIO_148, 148,
210 		"gpio_148", "mcbsp5_fsx", NULL, "gpio_148",
211 		NULL, NULL, NULL, "safe_mode"),
212 	_OMAP2430_MUXENTRY(GPIO_149, 149,
213 		"gpio_149", "mcbsp5_dx", NULL, "gpio_149",
214 		NULL, NULL, NULL, "safe_mode"),
215 	_OMAP2430_MUXENTRY(GPIO_150, 150,
216 		"gpio_150", "mcbsp5_dr", NULL, "gpio_150",
217 		NULL, NULL, NULL, "safe_mode"),
218 	_OMAP2430_MUXENTRY(GPIO_151, 151,
219 		"gpio_151", "sys_pwrok", NULL, "gpio_151",
220 		NULL, NULL, NULL, "safe_mode"),
221 	_OMAP2430_MUXENTRY(GPIO_152, 152,
222 		"gpio_152", "uart1_cts", "sys_ndmareq1", "gpio_152",
223 		NULL, NULL, NULL, "safe_mode"),
224 	_OMAP2430_MUXENTRY(GPIO_153, 153,
225 		"gpio_153", "uart1_rx", "sys_ndmareq0", "gpio_153",
226 		NULL, NULL, NULL, "safe_mode"),
227 	_OMAP2430_MUXENTRY(GPIO_154, 154,
228 		"gpio_154", "mcbsp5_clkx", NULL, "gpio_154",
229 		NULL, NULL, NULL, "safe_mode"),
230 	_OMAP2430_MUXENTRY(GPIO_63, 63,
231 		"gpio_63", "mcbsp4_clkx", NULL, "gpio_63",
232 		NULL, NULL, NULL, "safe_mode"),
233 	_OMAP2430_MUXENTRY(GPIO_78, 78,
234 		"gpio_78", NULL, "uart2_rts", "gpio_78",
235 		"uart3_rts_sd", NULL, NULL, "safe_mode"),
236 	_OMAP2430_MUXENTRY(GPIO_79, 79,
237 		"gpio_79", "secure_indicator", "uart2_tx", "gpio_79",
238 		"uart3_tx_irtx", NULL, NULL, "safe_mode"),
239 	_OMAP2430_MUXENTRY(GPIO_7, 7,
240 		"gpio_7", NULL, "uart2_cts", "gpio_7",
241 		"uart3_cts_rctx", NULL, NULL, "safe_mode"),
242 	_OMAP2430_MUXENTRY(GPIO_80, 80,
243 		"gpio_80", NULL, "uart2_rx", "gpio_80",
244 		"uart3_rx_irrx", NULL, NULL, "safe_mode"),
245 	_OMAP2430_MUXENTRY(GPMC_A10, 3,
246 		"gpmc_a10", NULL, "sys_ndmareq0", "gpio_3",
247 		NULL, NULL, NULL, "safe_mode"),
248 	_OMAP2430_MUXENTRY(GPMC_A1, 31,
249 		"gpmc_a1", NULL, NULL, "gpio_31",
250 		NULL, NULL, NULL, "safe_mode"),
251 	_OMAP2430_MUXENTRY(GPMC_A2, 30,
252 		"gpmc_a2", NULL, NULL, "gpio_30",
253 		NULL, NULL, NULL, "safe_mode"),
254 	_OMAP2430_MUXENTRY(GPMC_A3, 29,
255 		"gpmc_a3", NULL, NULL, "gpio_29",
256 		NULL, NULL, NULL, "safe_mode"),
257 	_OMAP2430_MUXENTRY(GPMC_A4, 49,
258 		"gpmc_a4", NULL, NULL, "gpio_49",
259 		NULL, NULL, NULL, "safe_mode"),
260 	_OMAP2430_MUXENTRY(GPMC_A5, 53,
261 		"gpmc_a5", NULL, NULL, "gpio_53",
262 		NULL, NULL, NULL, "safe_mode"),
263 	_OMAP2430_MUXENTRY(GPMC_A6, 52,
264 		"gpmc_a6", NULL, NULL, "gpio_52",
265 		NULL, NULL, NULL, "safe_mode"),
266 	_OMAP2430_MUXENTRY(GPMC_A7, 6,
267 		"gpmc_a7", NULL, NULL, "gpio_6",
268 		NULL, NULL, NULL, "safe_mode"),
269 	_OMAP2430_MUXENTRY(GPMC_A8, 5,
270 		"gpmc_a8", NULL, NULL, "gpio_5",
271 		NULL, NULL, NULL, "safe_mode"),
272 	_OMAP2430_MUXENTRY(GPMC_A9, 4,
273 		"gpmc_a9", NULL, "sys_ndmareq1", "gpio_4",
274 		NULL, NULL, NULL, "safe_mode"),
275 	_OMAP2430_MUXENTRY(GPMC_CLK, 21,
276 		"gpmc_clk", NULL, NULL, "gpio_21",
277 		NULL, NULL, NULL, "safe_mode"),
278 	_OMAP2430_MUXENTRY(GPMC_D10, 18,
279 		"gpmc_d10", NULL, NULL, "gpio_18",
280 		NULL, NULL, NULL, "safe_mode"),
281 	_OMAP2430_MUXENTRY(GPMC_D11, 57,
282 		"gpmc_d11", NULL, NULL, "gpio_57",
283 		NULL, NULL, NULL, "safe_mode"),
284 	_OMAP2430_MUXENTRY(GPMC_D12, 77,
285 		"gpmc_d12", NULL, NULL, "gpio_77",
286 		NULL, NULL, NULL, "safe_mode"),
287 	_OMAP2430_MUXENTRY(GPMC_D13, 76,
288 		"gpmc_d13", NULL, NULL, "gpio_76",
289 		NULL, NULL, NULL, "safe_mode"),
290 	_OMAP2430_MUXENTRY(GPMC_D14, 55,
291 		"gpmc_d14", NULL, NULL, "gpio_55",
292 		NULL, NULL, NULL, "safe_mode"),
293 	_OMAP2430_MUXENTRY(GPMC_D15, 54,
294 		"gpmc_d15", NULL, NULL, "gpio_54",
295 		NULL, NULL, NULL, "safe_mode"),
296 	_OMAP2430_MUXENTRY(GPMC_D8, 20,
297 		"gpmc_d8", NULL, NULL, "gpio_20",
298 		NULL, NULL, NULL, "safe_mode"),
299 	_OMAP2430_MUXENTRY(GPMC_D9, 19,
300 		"gpmc_d9", NULL, NULL, "gpio_19",
301 		NULL, NULL, NULL, "safe_mode"),
302 	_OMAP2430_MUXENTRY(GPMC_NCS1, 22,
303 		"gpmc_ncs1", NULL, NULL, "gpio_22",
304 		NULL, NULL, NULL, "safe_mode"),
305 	_OMAP2430_MUXENTRY(GPMC_NCS2, 23,
306 		"gpmc_ncs2", NULL, NULL, "gpio_23",
307 		NULL, NULL, NULL, "safe_mode"),
308 	_OMAP2430_MUXENTRY(GPMC_NCS3, 24,
309 		"gpmc_ncs3", "gpmc_io_dir", NULL, "gpio_24",
310 		NULL, NULL, NULL, "safe_mode"),
311 	_OMAP2430_MUXENTRY(GPMC_NCS4, 25,
312 		"gpmc_ncs4", NULL, NULL, "gpio_25",
313 		NULL, NULL, NULL, "safe_mode"),
314 	_OMAP2430_MUXENTRY(GPMC_NCS5, 26,
315 		"gpmc_ncs5", NULL, NULL, "gpio_26",
316 		NULL, NULL, NULL, "safe_mode"),
317 	_OMAP2430_MUXENTRY(GPMC_NCS6, 27,
318 		"gpmc_ncs6", NULL, NULL, "gpio_27",
319 		NULL, NULL, NULL, "safe_mode"),
320 	_OMAP2430_MUXENTRY(GPMC_NCS7, 28,
321 		"gpmc_ncs7", "gpmc_io_dir", NULL, "gpio_28",
322 		NULL, NULL, NULL, "safe_mode"),
323 	_OMAP2430_MUXENTRY(GPMC_WAIT1, 33,
324 		"gpmc_wait1", NULL, NULL, "gpio_33",
325 		NULL, NULL, NULL, "safe_mode"),
326 	_OMAP2430_MUXENTRY(GPMC_WAIT2, 34,
327 		"gpmc_wait2", NULL, NULL, "gpio_34",
328 		NULL, NULL, NULL, "safe_mode"),
329 	_OMAP2430_MUXENTRY(GPMC_WAIT3, 35,
330 		"gpmc_wait3", NULL, NULL, "gpio_35",
331 		NULL, NULL, NULL, "safe_mode"),
332 	_OMAP2430_MUXENTRY(HDQ_SIO, 101,
333 		"hdq_sio", "usb2_tllse0", "sys_altclk", "gpio_101",
334 		"uart3_rx_irrx", NULL, NULL, "safe_mode"),
335 	_OMAP2430_MUXENTRY(I2C1_SCL, 50,
336 		"i2c1_scl", NULL, NULL, "gpio_50",
337 		NULL, NULL, NULL, "safe_mode"),
338 	_OMAP2430_MUXENTRY(I2C1_SDA, 51,
339 		"i2c1_sda", NULL, NULL, "gpio_51",
340 		NULL, NULL, NULL, "safe_mode"),
341 	_OMAP2430_MUXENTRY(I2C2_SCL, 99,
342 		"i2c2_scl", NULL, NULL, "gpio_99",
343 		NULL, NULL, NULL, "safe_mode"),
344 	_OMAP2430_MUXENTRY(I2C2_SDA, 100,
345 		"i2c2_sda", NULL, NULL, "gpio_100",
346 		NULL, NULL, NULL, "safe_mode"),
347 	_OMAP2430_MUXENTRY(JTAG_EMU0, 127,
348 		"jtag_emu0", "secure_indicator", NULL, "gpio_127",
349 		NULL, NULL, NULL, "safe_mode"),
350 	_OMAP2430_MUXENTRY(JTAG_EMU1, 126,
351 		"jtag_emu1", NULL, NULL, "gpio_126",
352 		NULL, NULL, NULL, "safe_mode"),
353 	_OMAP2430_MUXENTRY(MCBSP1_CLKR, 92,
354 		"mcbsp1_clkr", "ssi2_dat_tx", NULL, "gpio_92",
355 		NULL, NULL, NULL, "safe_mode"),
356 	_OMAP2430_MUXENTRY(MCBSP1_CLKX, 98,
357 		"mcbsp1_clkx", "ssi2_wake", NULL, "gpio_98",
358 		NULL, NULL, NULL, "safe_mode"),
359 	_OMAP2430_MUXENTRY(MCBSP1_DR, 95,
360 		"mcbsp1_dr", "ssi2_dat_rx", NULL, "gpio_95",
361 		NULL, NULL, NULL, "safe_mode"),
362 	_OMAP2430_MUXENTRY(MCBSP1_DX, 94,
363 		"mcbsp1_dx", "ssi2_rdy_tx", NULL, "gpio_94",
364 		NULL, NULL, NULL, "safe_mode"),
365 	_OMAP2430_MUXENTRY(MCBSP1_FSR, 93,
366 		"mcbsp1_fsr", "ssi2_flag_tx", NULL, "gpio_93",
367 		"spi2_cs1", NULL, NULL, "safe_mode"),
368 	_OMAP2430_MUXENTRY(MCBSP1_FSX, 97,
369 		"mcbsp1_fsx", "ssi2_rdy_rx", NULL, "gpio_97",
370 		NULL, NULL, NULL, "safe_mode"),
371 	_OMAP2430_MUXENTRY(MCBSP2_CLKX, 147,
372 		"mcbsp2_clkx", "sdi_clkp", "dss_data23", "gpio_147",
373 		NULL, NULL, NULL, "safe_mode"),
374 	_OMAP2430_MUXENTRY(MCBSP2_DR, 144,
375 		"mcbsp2_dr", "sdi_clkn", "dss_data22", "gpio_144",
376 		NULL, NULL, NULL, "safe_mode"),
377 	_OMAP2430_MUXENTRY(MCBSP3_CLKX, 71,
378 		"mcbsp3_clkx", NULL, NULL, "gpio_71",
379 		NULL, NULL, NULL, "safe_mode"),
380 	_OMAP2430_MUXENTRY(MCBSP3_DR, 73,
381 		"mcbsp3_dr", NULL, NULL, "gpio_73",
382 		NULL, NULL, NULL, "safe_mode"),
383 	_OMAP2430_MUXENTRY(MCBSP3_DX, 74,
384 		"mcbsp3_dx", NULL, "sti_clk", "gpio_74",
385 		NULL, NULL, NULL, "safe_mode"),
386 	_OMAP2430_MUXENTRY(MCBSP3_FSX, 72,
387 		"mcbsp3_fsx", NULL, NULL, "gpio_72",
388 		NULL, NULL, NULL, "safe_mode"),
389 	_OMAP2430_MUXENTRY(MCBSP_CLKS, 96,
390 		"mcbsp_clks", "ssi2_flag_rx", NULL, "gpio_96",
391 		NULL, NULL, NULL, "safe_mode"),
392 	_OMAP2430_MUXENTRY(SDMMC1_CLKO, 0,
393 		"sdmmc1_clko", "ms_clko", NULL, NULL,
394 		NULL, "hw_dbg9", "hw_dbg3", "safe_mode"),
395 	_OMAP2430_MUXENTRY(SDMMC1_CMD, 0,
396 		"sdmmc1_cmd", "ms_bs", NULL, NULL,
397 		NULL, "hw_dbg8", "hw_dbg2", "safe_mode"),
398 	_OMAP2430_MUXENTRY(SDMMC1_DAT0, 0,
399 		"sdmmc1_dat0", "ms_dat0", NULL, NULL,
400 		NULL, "hw_dbg7", "hw_dbg1", "safe_mode"),
401 	_OMAP2430_MUXENTRY(SDMMC1_DAT1, 75,
402 		"sdmmc1_dat1", "ms_dat1", NULL, "gpio_75",
403 		NULL, "hw_dbg6", "hw_dbg0", "safe_mode"),
404 	_OMAP2430_MUXENTRY(SDMMC1_DAT2, 0,
405 		"sdmmc1_dat2", "ms_dat2", NULL, NULL,
406 		NULL, "hw_dbg5", "hw_dbg10", "safe_mode"),
407 	_OMAP2430_MUXENTRY(SDMMC1_DAT3, 0,
408 		"sdmmc1_dat3", "ms_dat3", NULL, NULL,
409 		NULL, "hw_dbg4", "hw_dbg11", "safe_mode"),
410 	_OMAP2430_MUXENTRY(SDMMC2_CLKO, 13,
411 		"sdmmc2_clko", NULL, NULL, "gpio_13",
412 		NULL, "spi3_clk", NULL, "safe_mode"),
413 	_OMAP2430_MUXENTRY(SDMMC2_CMD, 15,
414 		"sdmmc2_cmd", "usb2_rcv", NULL, "gpio_15",
415 		NULL, "spi3_simo", NULL, "safe_mode"),
416 	_OMAP2430_MUXENTRY(SDMMC2_DAT0, 16,
417 		"sdmmc2_dat0", "usb2_tllse0", NULL, "gpio_16",
418 		NULL, "spi3_somi", NULL, "safe_mode"),
419 	_OMAP2430_MUXENTRY(SDMMC2_DAT1, 58,
420 		"sdmmc2_dat1", "usb2_txen", NULL, "gpio_58",
421 		NULL, NULL, NULL, "safe_mode"),
422 	_OMAP2430_MUXENTRY(SDMMC2_DAT2, 17,
423 		"sdmmc2_dat2", "usb2_dat", NULL, "gpio_17",
424 		NULL, "spi3_cs1", NULL, "safe_mode"),
425 	_OMAP2430_MUXENTRY(SDMMC2_DAT3, 14,
426 		"sdmmc2_dat3", "usb2_se0", NULL, "gpio_14",
427 		NULL, "spi3_cs0", NULL, "safe_mode"),
428 	_OMAP2430_MUXENTRY(SDRC_A12, 2,
429 		"sdrc_a12", NULL, NULL, "gpio_2",
430 		NULL, NULL, NULL, "safe_mode"),
431 	_OMAP2430_MUXENTRY(SDRC_A13, 1,
432 		"sdrc_a13", NULL, NULL, "gpio_1",
433 		NULL, NULL, NULL, "safe_mode"),
434 	_OMAP2430_MUXENTRY(SDRC_A14, 0,
435 		"sdrc_a14", NULL, NULL, "gpio_0",
436 		NULL, NULL, NULL, "safe_mode"),
437 	_OMAP2430_MUXENTRY(SDRC_CKE1, 36,
438 		"sdrc_cke1", NULL, NULL, "gpio_36",
439 		NULL, NULL, NULL, "safe_mode"),
440 	_OMAP2430_MUXENTRY(SDRC_NCS1, 37,
441 		"sdrc_ncs1", NULL, NULL, "gpio_37",
442 		NULL, NULL, NULL, "safe_mode"),
443 	_OMAP2430_MUXENTRY(SPI1_CLK, 81,
444 		"spi1_clk", NULL, NULL, "gpio_81",
445 		NULL, NULL, NULL, "safe_mode"),
446 	_OMAP2430_MUXENTRY(SPI1_CS0, 84,
447 		"spi1_cs0", NULL, NULL, "gpio_84",
448 		NULL, NULL, NULL, "safe_mode"),
449 	_OMAP2430_MUXENTRY(SPI1_CS1, 85,
450 		"spi1_cs1", NULL, NULL, "gpio_85",
451 		NULL, NULL, NULL, "safe_mode"),
452 	_OMAP2430_MUXENTRY(SPI1_CS2, 86,
453 		"spi1_cs2", NULL, NULL, "gpio_86",
454 		NULL, NULL, NULL, "safe_mode"),
455 	_OMAP2430_MUXENTRY(SPI1_CS3, 87,
456 		"spi1_cs3", "spi2_cs1", NULL, "gpio_87",
457 		NULL, NULL, NULL, "safe_mode"),
458 	_OMAP2430_MUXENTRY(SPI1_SIMO, 82,
459 		"spi1_simo", NULL, NULL, "gpio_82",
460 		NULL, NULL, NULL, "safe_mode"),
461 	_OMAP2430_MUXENTRY(SPI1_SOMI, 83,
462 		"spi1_somi", NULL, NULL, "gpio_83",
463 		NULL, NULL, NULL, "safe_mode"),
464 	_OMAP2430_MUXENTRY(SPI2_CLK, 88,
465 		"spi2_clk", "gpt9_pwm_evt", NULL, "gpio_88",
466 		NULL, NULL, NULL, "safe_mode"),
467 	_OMAP2430_MUXENTRY(SPI2_CS0, 91,
468 		"spi2_cs0", "gpt12_pwm_evt", NULL, "gpio_91",
469 		NULL, NULL, NULL, "safe_mode"),
470 	_OMAP2430_MUXENTRY(SPI2_SIMO, 89,
471 		"spi2_simo", "gpt10_pwm_evt", NULL, "gpio_89",
472 		NULL, NULL, NULL, "safe_mode"),
473 	_OMAP2430_MUXENTRY(SPI2_SOMI, 90,
474 		"spi2_somi", "gpt11_pwm_evt", NULL, "gpio_90",
475 		NULL, NULL, NULL, "safe_mode"),
476 	_OMAP2430_MUXENTRY(SSI1_DAT_RX, 62,
477 		"ssi1_dat_rx", "uart1_rx", "usb1_dat", "gpio_62",
478 		NULL, NULL, NULL, "safe_mode"),
479 	_OMAP2430_MUXENTRY(SSI1_DAT_TX, 59,
480 		"ssi1_dat_tx", "uart1_tx", "usb1_se0", "gpio_59",
481 		NULL, NULL, NULL, "safe_mode"),
482 	_OMAP2430_MUXENTRY(SSI1_FLAG_RX, 64,
483 		"ssi1_flag_rx", "mcbsp4_dr", NULL, "gpio_64",
484 		NULL, NULL, NULL, "safe_mode"),
485 	_OMAP2430_MUXENTRY(SSI1_FLAG_TX, 60,
486 		"ssi1_flag_tx", "uart1_rts", "usb1_rcv", "gpio_60",
487 		NULL, NULL, NULL, "safe_mode"),
488 	_OMAP2430_MUXENTRY(SSI1_RDY_RX, 65,
489 		"ssi1_rdy_rx", "mcbsp4_dx", NULL, "gpio_65",
490 		NULL, NULL, NULL, "safe_mode"),
491 	_OMAP2430_MUXENTRY(SSI1_RDY_TX, 61,
492 		"ssi1_rdy_tx", "uart1_cts", "usb1_txen", "gpio_61",
493 		NULL, NULL, NULL, "safe_mode"),
494 	_OMAP2430_MUXENTRY(SSI1_WAKE, 66,
495 		"ssi1_wake", "mcbsp4_fsx", NULL, "gpio_66",
496 		NULL, NULL, NULL, "safe_mode"),
497 	_OMAP2430_MUXENTRY(SYS_CLKOUT, 111,
498 		"sys_clkout", NULL, NULL, "gpio_111",
499 		NULL, NULL, NULL, "safe_mode"),
500 	_OMAP2430_MUXENTRY(SYS_DRM_MSECURE, 118,
501 		"sys_drm_msecure", NULL, "sys_ndmareq6", "gpio_118",
502 		NULL, NULL, NULL, "safe_mode"),
503 	_OMAP2430_MUXENTRY(SYS_NIRQ0, 56,
504 		"sys_nirq0", NULL, NULL, "gpio_56",
505 		NULL, NULL, NULL, "safe_mode"),
506 	_OMAP2430_MUXENTRY(SYS_NIRQ1, 125,
507 		"sys_nirq1", NULL, "sys_ndmareq5", "gpio_125",
508 		NULL, NULL, NULL, "safe_mode"),
509 	_OMAP2430_MUXENTRY(UART1_CTS, 32,
510 		"uart1_cts", "sdi_vsync", "dss_data18", "gpio_32",
511 		"mcbsp5_clkx", NULL, NULL, "safe_mode"),
512 	_OMAP2430_MUXENTRY(UART1_RTS, 8,
513 		"uart1_rts", "sdi_hsync", "dss_data19", "gpio_8",
514 		"mcbsp5_fsx", NULL, NULL, "safe_mode"),
515 	_OMAP2430_MUXENTRY(UART1_RX, 10,
516 		"uart1_rx", "sdi_stp", "dss_data21", "gpio_10",
517 		"mcbsp5_dr", NULL, NULL, "safe_mode"),
518 	_OMAP2430_MUXENTRY(UART1_TX, 9,
519 		"uart1_tx", "sdi_den", "dss_data20", "gpio_9",
520 		"mcbsp5_dx", NULL, NULL, "safe_mode"),
521 	_OMAP2430_MUXENTRY(UART2_CTS, 67,
522 		"uart2_cts", "usb1_rcv", "gpt9_pwm_evt", "gpio_67",
523 		NULL, NULL, NULL, "safe_mode"),
524 	_OMAP2430_MUXENTRY(UART2_RTS, 68,
525 		"uart2_rts", "usb1_txen", "gpt10_pwm_evt", "gpio_68",
526 		NULL, NULL, NULL, "safe_mode"),
527 	_OMAP2430_MUXENTRY(UART2_RX, 70,
528 		"uart2_rx", "usb1_dat", "gpt12_pwm_evt", "gpio_70",
529 		NULL, NULL, NULL, "safe_mode"),
530 	_OMAP2430_MUXENTRY(UART2_TX, 69,
531 		"uart2_tx", "usb1_se0", "gpt11_pwm_evt", "gpio_69",
532 		NULL, NULL, NULL, "safe_mode"),
533 	_OMAP2430_MUXENTRY(UART3_CTS_RCTX, 102,
534 		"uart3_cts_rctx", "uart3_rx_irrx", NULL, "gpio_102",
535 		NULL, NULL, NULL, "safe_mode"),
536 	_OMAP2430_MUXENTRY(UART3_RTS_SD, 103,
537 		"uart3_rts_sd", "uart3_tx_irtx", NULL, "gpio_103",
538 		NULL, NULL, NULL, "safe_mode"),
539 	_OMAP2430_MUXENTRY(UART3_RX_IRRX, 105,
540 		"uart3_rx_irrx", NULL, NULL, "gpio_105",
541 		NULL, NULL, NULL, "safe_mode"),
542 	_OMAP2430_MUXENTRY(UART3_TX_IRTX, 104,
543 		"uart3_tx_irtx", "uart3_cts_rctx", NULL, "gpio_104",
544 		NULL, NULL, NULL, "safe_mode"),
545 	_OMAP2430_MUXENTRY(USB0HS_CLK, 120,
546 		"usb0hs_clk", NULL, NULL, "gpio_120",
547 		NULL, NULL, NULL, "safe_mode"),
548 	_OMAP2430_MUXENTRY(USB0HS_DATA0, 0,
549 		"usb0hs_data0", "uart3_tx_irtx", NULL, NULL,
550 		"usb0_txen", NULL, NULL, "safe_mode"),
551 	_OMAP2430_MUXENTRY(USB0HS_DATA1, 0,
552 		"usb0hs_data1", "uart3_rx_irrx", NULL, NULL,
553 		"usb0_dat", NULL, NULL, "safe_mode"),
554 	_OMAP2430_MUXENTRY(USB0HS_DATA2, 0,
555 		"usb0hs_data2", "uart3_rts_sd", NULL, NULL,
556 		"usb0_se0", NULL, NULL, "safe_mode"),
557 	_OMAP2430_MUXENTRY(USB0HS_DATA3, 106,
558 		"usb0hs_data3", NULL, "uart3_cts_rctx", "gpio_106",
559 		"usb0_puen", NULL, NULL, "safe_mode"),
560 	_OMAP2430_MUXENTRY(USB0HS_DATA4, 107,
561 		"usb0hs_data4", "mcbsp2_dr", NULL, "gpio_107",
562 		"usb0_vp", NULL, NULL, "safe_mode"),
563 	_OMAP2430_MUXENTRY(USB0HS_DATA5, 108,
564 		"usb0hs_data5", "mcbsp2_dx", NULL, "gpio_108",
565 		"usb0_vm", NULL, NULL, "safe_mode"),
566 	_OMAP2430_MUXENTRY(USB0HS_DATA6, 109,
567 		"usb0hs_data6", "mcbsp2_fsx", NULL, "gpio_109",
568 		"usb0_rcv", NULL, NULL, "safe_mode"),
569 	_OMAP2430_MUXENTRY(USB0HS_DATA7, 124,
570 		"usb0hs_data7", "mcbsp2_clkx", NULL, "gpio_124",
571 		NULL, NULL, NULL, "safe_mode"),
572 	_OMAP2430_MUXENTRY(USB0HS_DIR, 121,
573 		"usb0hs_dir", NULL, NULL, "gpio_121",
574 		NULL, NULL, NULL, "safe_mode"),
575 	_OMAP2430_MUXENTRY(USB0HS_NXT, 123,
576 		"usb0hs_nxt", NULL, NULL, "gpio_123",
577 		NULL, NULL, NULL, "safe_mode"),
578 	_OMAP2430_MUXENTRY(USB0HS_STP, 122,
579 		"usb0hs_stp", NULL, NULL, "gpio_122",
580 		NULL, NULL, NULL, "safe_mode"),
581 	{ .reg_offset = OMAP_MUX_TERMINATOR },
582 };
583 
584 /*
585  * Balls for POP package
586  * 447-pin s-PBGA Package, 0.00mm Ball Pitch (Bottom)
587  */
588 #ifdef CONFIG_DEBUG_FS
589 static struct omap_ball __initdata omap2430_pop_ball[] = {
590 	_OMAP2430_BALLENTRY(CAM_D0, "t8", NULL),
591 	_OMAP2430_BALLENTRY(CAM_D1, "t4", NULL),
592 	_OMAP2430_BALLENTRY(CAM_D10, "r4", NULL),
593 	_OMAP2430_BALLENTRY(CAM_D11, "w3", NULL),
594 	_OMAP2430_BALLENTRY(CAM_D2, "r2", NULL),
595 	_OMAP2430_BALLENTRY(CAM_D3, "u3", NULL),
596 	_OMAP2430_BALLENTRY(CAM_D4, "u2", NULL),
597 	_OMAP2430_BALLENTRY(CAM_D5, "v1", NULL),
598 	_OMAP2430_BALLENTRY(CAM_D6, "t3", NULL),
599 	_OMAP2430_BALLENTRY(CAM_D7, "r3", NULL),
600 	_OMAP2430_BALLENTRY(CAM_D8, "u7", NULL),
601 	_OMAP2430_BALLENTRY(CAM_D9, "t7", NULL),
602 	_OMAP2430_BALLENTRY(CAM_HS, "p2", NULL),
603 	_OMAP2430_BALLENTRY(CAM_LCLK, "r7", NULL),
604 	_OMAP2430_BALLENTRY(CAM_VS, "n2", NULL),
605 	_OMAP2430_BALLENTRY(CAM_XCLK, "p3", NULL),
606 	_OMAP2430_BALLENTRY(DSS_ACBIAS, "y3", NULL),
607 	_OMAP2430_BALLENTRY(DSS_DATA0, "v8", NULL),
608 	_OMAP2430_BALLENTRY(DSS_DATA1, "w1", NULL),
609 	_OMAP2430_BALLENTRY(DSS_DATA10, "k25", NULL),
610 	_OMAP2430_BALLENTRY(DSS_DATA11, "j25", NULL),
611 	_OMAP2430_BALLENTRY(DSS_DATA12, "k24", NULL),
612 	_OMAP2430_BALLENTRY(DSS_DATA13, "j24", NULL),
613 	_OMAP2430_BALLENTRY(DSS_DATA14, "h25", NULL),
614 	_OMAP2430_BALLENTRY(DSS_DATA15, "g25", NULL),
615 	_OMAP2430_BALLENTRY(DSS_DATA16, "ac3", NULL),
616 	_OMAP2430_BALLENTRY(DSS_DATA17, "y7", NULL),
617 	_OMAP2430_BALLENTRY(DSS_DATA2, "u8", NULL),
618 	_OMAP2430_BALLENTRY(DSS_DATA3, "u4", NULL),
619 	_OMAP2430_BALLENTRY(DSS_DATA4, "v3", NULL),
620 	_OMAP2430_BALLENTRY(DSS_DATA5, "aa4", NULL),
621 	_OMAP2430_BALLENTRY(DSS_DATA6, "w8", NULL),
622 	_OMAP2430_BALLENTRY(DSS_DATA7, "y1", NULL),
623 	_OMAP2430_BALLENTRY(DSS_DATA8, "aa2", NULL),
624 	_OMAP2430_BALLENTRY(DSS_DATA9, "ab4", NULL),
625 	_OMAP2430_BALLENTRY(DSS_HSYNC, "v2", NULL),
626 	_OMAP2430_BALLENTRY(GPIO_113, "ad16", NULL),
627 	_OMAP2430_BALLENTRY(GPIO_114, "ac10", NULL),
628 	_OMAP2430_BALLENTRY(GPIO_115, "ad13", NULL),
629 	_OMAP2430_BALLENTRY(GPIO_116, "ae15", NULL),
630 	_OMAP2430_BALLENTRY(GPIO_128, "p1", NULL),
631 	_OMAP2430_BALLENTRY(GPIO_129, "r1", NULL),
632 	_OMAP2430_BALLENTRY(GPIO_130, "p7", NULL),
633 	_OMAP2430_BALLENTRY(GPIO_131, "l8", NULL),
634 	_OMAP2430_BALLENTRY(GPIO_132, "w24", NULL),
635 	_OMAP2430_BALLENTRY(GPIO_133, "aa24", NULL),
636 	_OMAP2430_BALLENTRY(GPIO_134, "ae12", NULL),
637 	_OMAP2430_BALLENTRY(GPIO_135, "ae11", NULL),
638 	_OMAP2430_BALLENTRY(GPIO_136, "ad12", NULL),
639 	_OMAP2430_BALLENTRY(GPIO_137, "ad11", NULL),
640 	_OMAP2430_BALLENTRY(GPIO_138, "y12", NULL),
641 	_OMAP2430_BALLENTRY(GPIO_139, "ad17", NULL),
642 	_OMAP2430_BALLENTRY(GPIO_140, "l7", NULL),
643 	_OMAP2430_BALLENTRY(GPIO_141, "ac24", NULL),
644 	_OMAP2430_BALLENTRY(GPIO_142, "m3", NULL),
645 	_OMAP2430_BALLENTRY(GPIO_148, "af12", NULL),
646 	_OMAP2430_BALLENTRY(GPIO_149, "k7", NULL),
647 	_OMAP2430_BALLENTRY(GPIO_150, "m1", NULL),
648 	_OMAP2430_BALLENTRY(GPIO_151, "ad14", NULL),
649 	_OMAP2430_BALLENTRY(GPIO_152, "ad18", NULL),
650 	_OMAP2430_BALLENTRY(GPIO_153, "u24", NULL),
651 	_OMAP2430_BALLENTRY(GPIO_154, "ae16", NULL),
652 	_OMAP2430_BALLENTRY(GPIO_63, "n3", NULL),
653 	_OMAP2430_BALLENTRY(GPIO_7, "ac23", NULL),
654 	_OMAP2430_BALLENTRY(GPIO_78, "ad10", NULL),
655 	_OMAP2430_BALLENTRY(GPIO_79, "ae10", NULL),
656 	_OMAP2430_BALLENTRY(GPIO_80, "ae13", NULL),
657 	_OMAP2430_BALLENTRY(GPMC_A1, "a9", NULL),
658 	_OMAP2430_BALLENTRY(GPMC_A10, "g12", NULL),
659 	_OMAP2430_BALLENTRY(GPMC_A2, "b8", NULL),
660 	_OMAP2430_BALLENTRY(GPMC_A3, "g10", NULL),
661 	_OMAP2430_BALLENTRY(GPMC_A4, "g11", NULL),
662 	_OMAP2430_BALLENTRY(GPMC_A5, "a10", NULL),
663 	_OMAP2430_BALLENTRY(GPMC_A6, "g13", NULL),
664 	_OMAP2430_BALLENTRY(GPMC_A7, "a6", NULL),
665 	_OMAP2430_BALLENTRY(GPMC_A8, "h1", NULL),
666 	_OMAP2430_BALLENTRY(GPMC_A9, "c8", NULL),
667 	_OMAP2430_BALLENTRY(GPMC_CLK, "n1", "l1"),
668 	_OMAP2430_BALLENTRY(GPMC_D10, "d1", "n1"),
669 	_OMAP2430_BALLENTRY(GPMC_D11, "d2", "p2"),
670 	_OMAP2430_BALLENTRY(GPMC_D12, "e1", "p1"),
671 	_OMAP2430_BALLENTRY(GPMC_D13, "e3", "m1"),
672 	_OMAP2430_BALLENTRY(GPMC_D14, "c7", "j2"),
673 	_OMAP2430_BALLENTRY(GPMC_D15, "f3", "k2"),
674 	_OMAP2430_BALLENTRY(GPMC_D8, "e2", "r1"),
675 	_OMAP2430_BALLENTRY(GPMC_D9, "ab1", "t1"),
676 	_OMAP2430_BALLENTRY(GPMC_NCS1, "ac1", "w1"),
677 	_OMAP2430_BALLENTRY(GPMC_NCS2, "c6", NULL),
678 	_OMAP2430_BALLENTRY(GPMC_NCS3, "b9", NULL),
679 	_OMAP2430_BALLENTRY(GPMC_NCS4, "b4", NULL),
680 	_OMAP2430_BALLENTRY(GPMC_NCS5, "a4", NULL),
681 	_OMAP2430_BALLENTRY(GPMC_NCS6, "f1", NULL),
682 	_OMAP2430_BALLENTRY(GPMC_NCS7, "a7", NULL),
683 	_OMAP2430_BALLENTRY(GPMC_WAIT1, "j1", "y8"),
684 	_OMAP2430_BALLENTRY(GPMC_WAIT2, "b7", NULL),
685 	_OMAP2430_BALLENTRY(GPMC_WAIT3, "g14", NULL),
686 	_OMAP2430_BALLENTRY(HDQ_SIO, "h20", NULL),
687 	_OMAP2430_BALLENTRY(I2C1_SCL, "y17", NULL),
688 	_OMAP2430_BALLENTRY(I2C1_SDA, "ac19", NULL),
689 	_OMAP2430_BALLENTRY(I2C2_SCL, "n7", NULL),
690 	_OMAP2430_BALLENTRY(I2C2_SDA, "m4", NULL),
691 	_OMAP2430_BALLENTRY(JTAG_EMU0, "e25", NULL),
692 	_OMAP2430_BALLENTRY(JTAG_EMU1, "e24", NULL),
693 	_OMAP2430_BALLENTRY(MCBSP1_CLKR, "ab2", NULL),
694 	_OMAP2430_BALLENTRY(MCBSP1_CLKX, "y9", NULL),
695 	_OMAP2430_BALLENTRY(MCBSP1_DR, "af3", NULL),
696 	_OMAP2430_BALLENTRY(MCBSP1_DX, "aa1", NULL),
697 	_OMAP2430_BALLENTRY(MCBSP1_FSR, "ad5", NULL),
698 	_OMAP2430_BALLENTRY(MCBSP1_FSX, "ab3", NULL),
699 	_OMAP2430_BALLENTRY(MCBSP2_CLKX, "j26", NULL),
700 	_OMAP2430_BALLENTRY(MCBSP2_DR, "k26", NULL),
701 	_OMAP2430_BALLENTRY(MCBSP3_CLKX, "ac9", NULL),
702 	_OMAP2430_BALLENTRY(MCBSP3_DR, "ae2", NULL),
703 	_OMAP2430_BALLENTRY(MCBSP3_DX, "af4", NULL),
704 	_OMAP2430_BALLENTRY(MCBSP3_FSX, "ae4", NULL),
705 	_OMAP2430_BALLENTRY(MCBSP_CLKS, "ad6", NULL),
706 	_OMAP2430_BALLENTRY(SDMMC1_CLKO, "n23", NULL),
707 	_OMAP2430_BALLENTRY(SDMMC1_CMD, "l23", NULL),
708 	_OMAP2430_BALLENTRY(SDMMC1_DAT0, "m24", NULL),
709 	_OMAP2430_BALLENTRY(SDMMC1_DAT1, "p23", NULL),
710 	_OMAP2430_BALLENTRY(SDMMC1_DAT2, "t20", NULL),
711 	_OMAP2430_BALLENTRY(SDMMC1_DAT3, "r20", NULL),
712 	_OMAP2430_BALLENTRY(SDMMC2_CLKO, "v26", NULL),
713 	_OMAP2430_BALLENTRY(SDMMC2_CMD, "w20", NULL),
714 	_OMAP2430_BALLENTRY(SDMMC2_DAT0, "v23", NULL),
715 	_OMAP2430_BALLENTRY(SDMMC2_DAT1, "y24", NULL),
716 	_OMAP2430_BALLENTRY(SDMMC2_DAT2, "v25", NULL),
717 	_OMAP2430_BALLENTRY(SDMMC2_DAT3, "v24", NULL),
718 	_OMAP2430_BALLENTRY(SDRC_A12, "w26", "r21"),
719 	_OMAP2430_BALLENTRY(SDRC_A13, "af20", "aa15"),
720 	_OMAP2430_BALLENTRY(SDRC_A14, "af16", "y12"),
721 	_OMAP2430_BALLENTRY(SDRC_CKE1, "af15", "y13"),
722 	_OMAP2430_BALLENTRY(SDRC_NCS1, "aa25", "t20"),
723 	_OMAP2430_BALLENTRY(SPI1_CLK, "y18", NULL),
724 	_OMAP2430_BALLENTRY(SPI1_CS0, "u1", NULL),
725 	_OMAP2430_BALLENTRY(SPI1_CS1, "af19", NULL),
726 	_OMAP2430_BALLENTRY(SPI1_CS2, "ae19", NULL),
727 	_OMAP2430_BALLENTRY(SPI1_CS3, "h24", NULL),
728 	_OMAP2430_BALLENTRY(SPI1_SIMO, "ad15", NULL),
729 	_OMAP2430_BALLENTRY(SPI1_SOMI, "ae17", NULL),
730 	_OMAP2430_BALLENTRY(SPI2_CLK, "y20", NULL),
731 	_OMAP2430_BALLENTRY(SPI2_CS0, "y19", NULL),
732 	_OMAP2430_BALLENTRY(SPI2_SIMO, "ac20", NULL),
733 	_OMAP2430_BALLENTRY(SPI2_SOMI, "ad19", NULL),
734 	_OMAP2430_BALLENTRY(SSI1_DAT_RX, "aa26", NULL),
735 	_OMAP2430_BALLENTRY(SSI1_DAT_TX, "ad24", NULL),
736 	_OMAP2430_BALLENTRY(SSI1_FLAG_RX, "ad23", NULL),
737 	_OMAP2430_BALLENTRY(SSI1_FLAG_TX, "ab24", NULL),
738 	_OMAP2430_BALLENTRY(SSI1_RDY_RX, "ab25", NULL),
739 	_OMAP2430_BALLENTRY(SSI1_RDY_TX, "y25", NULL),
740 	_OMAP2430_BALLENTRY(SSI1_WAKE, "ac25", NULL),
741 	_OMAP2430_BALLENTRY(SYS_CLKOUT, "r25", NULL),
742 	_OMAP2430_BALLENTRY(SYS_DRM_MSECURE, "ae3", NULL),
743 	_OMAP2430_BALLENTRY(SYS_NIRQ0, "w25", NULL),
744 	_OMAP2430_BALLENTRY(SYS_NIRQ1, "ad21", NULL),
745 	_OMAP2430_BALLENTRY(UART1_CTS, "p24", NULL),
746 	_OMAP2430_BALLENTRY(UART1_RTS, "p25", NULL),
747 	_OMAP2430_BALLENTRY(UART1_RX, "n24", NULL),
748 	_OMAP2430_BALLENTRY(UART1_TX, "r24", NULL),
749 	_OMAP2430_BALLENTRY(UART2_CTS, "u25", NULL),
750 	_OMAP2430_BALLENTRY(UART2_RTS, "t23", NULL),
751 	_OMAP2430_BALLENTRY(UART2_RX, "t24", NULL),
752 	_OMAP2430_BALLENTRY(UART2_TX, "u20", NULL),
753 	_OMAP2430_BALLENTRY(UART3_CTS_RCTX, "m2", NULL),
754 	_OMAP2430_BALLENTRY(UART3_RTS_SD, "k2", NULL),
755 	_OMAP2430_BALLENTRY(UART3_RX_IRRX, "l3", NULL),
756 	_OMAP2430_BALLENTRY(UART3_TX_IRTX, "l2", NULL),
757 	_OMAP2430_BALLENTRY(USB0HS_CLK, "ae8", NULL),
758 	_OMAP2430_BALLENTRY(USB0HS_DATA0, "ad4", NULL),
759 	_OMAP2430_BALLENTRY(USB0HS_DATA1, "ae6", NULL),
760 	_OMAP2430_BALLENTRY(USB0HS_DATA2, "af9", NULL),
761 	_OMAP2430_BALLENTRY(USB0HS_DATA3, "ad9", NULL),
762 	_OMAP2430_BALLENTRY(USB0HS_DATA4, "y11", NULL),
763 	_OMAP2430_BALLENTRY(USB0HS_DATA5, "ad7", NULL),
764 	_OMAP2430_BALLENTRY(USB0HS_DATA6, "ae7", NULL),
765 	_OMAP2430_BALLENTRY(USB0HS_DATA7, "ac7", NULL),
766 	_OMAP2430_BALLENTRY(USB0HS_DIR, "ad8", NULL),
767 	_OMAP2430_BALLENTRY(USB0HS_NXT, "ae9", NULL),
768 	_OMAP2430_BALLENTRY(USB0HS_STP, "ae5", NULL),
769 	{ .reg_offset = OMAP_MUX_TERMINATOR },
770 };
771 #else
772 #define omap2430_pop_ball	 NULL
773 #endif
774 
omap2430_mux_init(struct omap_board_mux * board_subset,int flags)775 int __init omap2430_mux_init(struct omap_board_mux *board_subset, int flags)
776 {
777 	struct omap_ball *package_balls = NULL;
778 
779 	switch (flags & OMAP_PACKAGE_MASK) {
780 	case OMAP_PACKAGE_ZAC:
781 		package_balls = omap2430_pop_ball;
782 		break;
783 	default:
784 		pr_warning("%s: No ball data available for omap2420 package\n",
785 				__func__);
786 	}
787 
788 	return omap_mux_init("core", OMAP_MUX_REG_8BIT | OMAP_MUX_GPIO_IN_MODE3,
789 			     OMAP2430_CONTROL_PADCONF_MUX_PBASE,
790 			     OMAP2430_CONTROL_PADCONF_MUX_SIZE,
791 			     omap2430_muxmodes, NULL, board_subset,
792 			     package_balls);
793 }
794