1 /*
2  * Copyright (C) 2009 Nokia
3  * Copyright (C) 2009 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 _OMAP3_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7)		\
18 {									\
19 	.reg_offset	= (OMAP3_CONTROL_PADCONF_##M0##_OFFSET),	\
20 	.gpio		= (g),						\
21 	.muxnames	= { m0, m1, m2, m3, m4, m5, m6, m7 },		\
22 }
23 
24 #else
25 
26 #define _OMAP3_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7)		\
27 {									\
28 	.reg_offset	= (OMAP3_CONTROL_PADCONF_##M0##_OFFSET),	\
29 	.gpio		= (g),						\
30 }
31 
32 #endif
33 
34 #define _OMAP3_BALLENTRY(M0, bb, bt)					\
35 {									\
36 	.reg_offset	= (OMAP3_CONTROL_PADCONF_##M0##_OFFSET),	\
37 	.balls		= { bb, bt },					\
38 }
39 
40 /*
41  * Superset of all mux modes for omap3
42  */
43 static struct omap_mux __initdata omap3_muxmodes[] = {
44 	_OMAP3_MUXENTRY(CAM_D0, 99,
45 		"cam_d0", NULL, NULL, NULL,
46 		"gpio_99", NULL, NULL, "safe_mode"),
47 	_OMAP3_MUXENTRY(CAM_D1, 100,
48 		"cam_d1", NULL, NULL, NULL,
49 		"gpio_100", NULL, NULL, "safe_mode"),
50 	_OMAP3_MUXENTRY(CAM_D10, 109,
51 		"cam_d10", NULL, NULL, NULL,
52 		"gpio_109", "hw_dbg8", NULL, "safe_mode"),
53 	_OMAP3_MUXENTRY(CAM_D11, 110,
54 		"cam_d11", NULL, NULL, NULL,
55 		"gpio_110", "hw_dbg9", NULL, "safe_mode"),
56 	_OMAP3_MUXENTRY(CAM_D2, 101,
57 		"cam_d2", NULL, NULL, NULL,
58 		"gpio_101", "hw_dbg4", NULL, "safe_mode"),
59 	_OMAP3_MUXENTRY(CAM_D3, 102,
60 		"cam_d3", NULL, NULL, NULL,
61 		"gpio_102", "hw_dbg5", NULL, "safe_mode"),
62 	_OMAP3_MUXENTRY(CAM_D4, 103,
63 		"cam_d4", NULL, NULL, NULL,
64 		"gpio_103", "hw_dbg6", NULL, "safe_mode"),
65 	_OMAP3_MUXENTRY(CAM_D5, 104,
66 		"cam_d5", NULL, NULL, NULL,
67 		"gpio_104", "hw_dbg7", NULL, "safe_mode"),
68 	_OMAP3_MUXENTRY(CAM_D6, 105,
69 		"cam_d6", NULL, NULL, NULL,
70 		"gpio_105", NULL, NULL, "safe_mode"),
71 	_OMAP3_MUXENTRY(CAM_D7, 106,
72 		"cam_d7", NULL, NULL, NULL,
73 		"gpio_106", NULL, NULL, "safe_mode"),
74 	_OMAP3_MUXENTRY(CAM_D8, 107,
75 		"cam_d8", NULL, NULL, NULL,
76 		"gpio_107", NULL, NULL, "safe_mode"),
77 	_OMAP3_MUXENTRY(CAM_D9, 108,
78 		"cam_d9", NULL, NULL, NULL,
79 		"gpio_108", NULL, NULL, "safe_mode"),
80 	_OMAP3_MUXENTRY(CAM_FLD, 98,
81 		"cam_fld", NULL, "cam_global_reset", NULL,
82 		"gpio_98", "hw_dbg3", NULL, "safe_mode"),
83 	_OMAP3_MUXENTRY(CAM_HS, 94,
84 		"cam_hs", NULL, NULL, NULL,
85 		"gpio_94", "hw_dbg0", NULL, "safe_mode"),
86 	_OMAP3_MUXENTRY(CAM_PCLK, 97,
87 		"cam_pclk", NULL, NULL, NULL,
88 		"gpio_97", "hw_dbg2", NULL, "safe_mode"),
89 	_OMAP3_MUXENTRY(CAM_STROBE, 126,
90 		"cam_strobe", NULL, NULL, NULL,
91 		"gpio_126", "hw_dbg11", NULL, "safe_mode"),
92 	_OMAP3_MUXENTRY(CAM_VS, 95,
93 		"cam_vs", NULL, NULL, NULL,
94 		"gpio_95", "hw_dbg1", NULL, "safe_mode"),
95 	_OMAP3_MUXENTRY(CAM_WEN, 167,
96 		"cam_wen", NULL, "cam_shutter", NULL,
97 		"gpio_167", "hw_dbg10", NULL, "safe_mode"),
98 	_OMAP3_MUXENTRY(CAM_XCLKA, 96,
99 		"cam_xclka", NULL, NULL, NULL,
100 		"gpio_96", NULL, NULL, "safe_mode"),
101 	_OMAP3_MUXENTRY(CAM_XCLKB, 111,
102 		"cam_xclkb", NULL, NULL, NULL,
103 		"gpio_111", NULL, NULL, "safe_mode"),
104 	_OMAP3_MUXENTRY(CSI2_DX0, 112,
105 		"csi2_dx0", NULL, NULL, NULL,
106 		"gpio_112", NULL, NULL, "safe_mode"),
107 	_OMAP3_MUXENTRY(CSI2_DX1, 114,
108 		"csi2_dx1", NULL, NULL, NULL,
109 		"gpio_114", NULL, NULL, "safe_mode"),
110 	_OMAP3_MUXENTRY(CSI2_DY0, 113,
111 		"csi2_dy0", NULL, NULL, NULL,
112 		"gpio_113", NULL, NULL, "safe_mode"),
113 	_OMAP3_MUXENTRY(CSI2_DY1, 115,
114 		"csi2_dy1", NULL, NULL, NULL,
115 		"gpio_115", NULL, NULL, "safe_mode"),
116 	_OMAP3_MUXENTRY(DSS_ACBIAS, 69,
117 		"dss_acbias", NULL, NULL, NULL,
118 		"gpio_69", NULL, NULL, "safe_mode"),
119 	_OMAP3_MUXENTRY(DSS_DATA0, 70,
120 		"dss_data0", NULL, "uart1_cts", NULL,
121 		"gpio_70", NULL, NULL, "safe_mode"),
122 	_OMAP3_MUXENTRY(DSS_DATA1, 71,
123 		"dss_data1", NULL, "uart1_rts", NULL,
124 		"gpio_71", NULL, NULL, "safe_mode"),
125 	_OMAP3_MUXENTRY(DSS_DATA10, 80,
126 		"dss_data10", NULL, NULL, NULL,
127 		"gpio_80", NULL, NULL, "safe_mode"),
128 	_OMAP3_MUXENTRY(DSS_DATA11, 81,
129 		"dss_data11", NULL, NULL, NULL,
130 		"gpio_81", NULL, NULL, "safe_mode"),
131 	_OMAP3_MUXENTRY(DSS_DATA12, 82,
132 		"dss_data12", NULL, NULL, NULL,
133 		"gpio_82", NULL, NULL, "safe_mode"),
134 	_OMAP3_MUXENTRY(DSS_DATA13, 83,
135 		"dss_data13", NULL, NULL, NULL,
136 		"gpio_83", NULL, NULL, "safe_mode"),
137 	_OMAP3_MUXENTRY(DSS_DATA14, 84,
138 		"dss_data14", NULL, NULL, NULL,
139 		"gpio_84", NULL, NULL, "safe_mode"),
140 	_OMAP3_MUXENTRY(DSS_DATA15, 85,
141 		"dss_data15", NULL, NULL, NULL,
142 		"gpio_85", NULL, NULL, "safe_mode"),
143 	_OMAP3_MUXENTRY(DSS_DATA16, 86,
144 		"dss_data16", NULL, NULL, NULL,
145 		"gpio_86", NULL, NULL, "safe_mode"),
146 	_OMAP3_MUXENTRY(DSS_DATA17, 87,
147 		"dss_data17", NULL, NULL, NULL,
148 		"gpio_87", NULL, NULL, "safe_mode"),
149 	_OMAP3_MUXENTRY(DSS_DATA18, 88,
150 		"dss_data18", NULL, "mcspi3_clk", "dss_data0",
151 		"gpio_88", NULL, NULL, "safe_mode"),
152 	_OMAP3_MUXENTRY(DSS_DATA19, 89,
153 		"dss_data19", NULL, "mcspi3_simo", "dss_data1",
154 		"gpio_89", NULL, NULL, "safe_mode"),
155 	_OMAP3_MUXENTRY(DSS_DATA20, 90,
156 		"dss_data20", NULL, "mcspi3_somi", "dss_data2",
157 		"gpio_90", NULL, NULL, "safe_mode"),
158 	_OMAP3_MUXENTRY(DSS_DATA21, 91,
159 		"dss_data21", NULL, "mcspi3_cs0", "dss_data3",
160 		"gpio_91", NULL, NULL, "safe_mode"),
161 	_OMAP3_MUXENTRY(DSS_DATA22, 92,
162 		"dss_data22", NULL, "mcspi3_cs1", "dss_data4",
163 		"gpio_92", NULL, NULL, "safe_mode"),
164 	_OMAP3_MUXENTRY(DSS_DATA23, 93,
165 		"dss_data23", NULL, NULL, "dss_data5",
166 		"gpio_93", NULL, NULL, "safe_mode"),
167 	_OMAP3_MUXENTRY(DSS_DATA2, 72,
168 		"dss_data2", NULL, NULL, NULL,
169 		"gpio_72", NULL, NULL, "safe_mode"),
170 	_OMAP3_MUXENTRY(DSS_DATA3, 73,
171 		"dss_data3", NULL, NULL, NULL,
172 		"gpio_73", NULL, NULL, "safe_mode"),
173 	_OMAP3_MUXENTRY(DSS_DATA4, 74,
174 		"dss_data4", NULL, "uart3_rx_irrx", NULL,
175 		"gpio_74", NULL, NULL, "safe_mode"),
176 	_OMAP3_MUXENTRY(DSS_DATA5, 75,
177 		"dss_data5", NULL, "uart3_tx_irtx", NULL,
178 		"gpio_75", NULL, NULL, "safe_mode"),
179 	_OMAP3_MUXENTRY(DSS_DATA6, 76,
180 		"dss_data6", NULL, "uart1_tx", NULL,
181 		"gpio_76", "hw_dbg14", NULL, "safe_mode"),
182 	_OMAP3_MUXENTRY(DSS_DATA7, 77,
183 		"dss_data7", NULL, "uart1_rx", NULL,
184 		"gpio_77", "hw_dbg15", NULL, "safe_mode"),
185 	_OMAP3_MUXENTRY(DSS_DATA8, 78,
186 		"dss_data8", NULL, NULL, NULL,
187 		"gpio_78", "hw_dbg16", NULL, "safe_mode"),
188 	_OMAP3_MUXENTRY(DSS_DATA9, 79,
189 		"dss_data9", NULL, NULL, NULL,
190 		"gpio_79", "hw_dbg17", NULL, "safe_mode"),
191 	_OMAP3_MUXENTRY(DSS_HSYNC, 67,
192 		"dss_hsync", NULL, NULL, NULL,
193 		"gpio_67", "hw_dbg13", NULL, "safe_mode"),
194 	_OMAP3_MUXENTRY(DSS_PCLK, 66,
195 		"dss_pclk", NULL, NULL, NULL,
196 		"gpio_66", "hw_dbg12", NULL, "safe_mode"),
197 	_OMAP3_MUXENTRY(DSS_VSYNC, 68,
198 		"dss_vsync", NULL, NULL, NULL,
199 		"gpio_68", NULL, NULL, "safe_mode"),
200 	_OMAP3_MUXENTRY(ETK_CLK, 12,
201 		"etk_clk", "mcbsp5_clkx", "sdmmc3_clk", "hsusb1_stp",
202 		"gpio_12", "mm1_rxdp", "hsusb1_tll_stp", "hw_dbg0"),
203 	_OMAP3_MUXENTRY(ETK_CTL, 13,
204 		"etk_ctl", NULL, "sdmmc3_cmd", "hsusb1_clk",
205 		"gpio_13", NULL, "hsusb1_tll_clk", "hw_dbg1"),
206 	_OMAP3_MUXENTRY(ETK_D0, 14,
207 		"etk_d0", "mcspi3_simo", "sdmmc3_dat4", "hsusb1_data0",
208 		"gpio_14", "mm1_rxrcv", "hsusb1_tll_data0", "hw_dbg2"),
209 	_OMAP3_MUXENTRY(ETK_D1, 15,
210 		"etk_d1", "mcspi3_somi", NULL, "hsusb1_data1",
211 		"gpio_15", "mm1_txse0", "hsusb1_tll_data1", "hw_dbg3"),
212 	_OMAP3_MUXENTRY(ETK_D10, 24,
213 		"etk_d10", NULL, "uart1_rx", "hsusb2_clk",
214 		"gpio_24", NULL, "hsusb2_tll_clk", "hw_dbg12"),
215 	_OMAP3_MUXENTRY(ETK_D11, 25,
216 		"etk_d11", NULL, NULL, "hsusb2_stp",
217 		"gpio_25", "mm2_rxdp", "hsusb2_tll_stp", "hw_dbg13"),
218 	_OMAP3_MUXENTRY(ETK_D12, 26,
219 		"etk_d12", NULL, NULL, "hsusb2_dir",
220 		"gpio_26", NULL, "hsusb2_tll_dir", "hw_dbg14"),
221 	_OMAP3_MUXENTRY(ETK_D13, 27,
222 		"etk_d13", NULL, NULL, "hsusb2_nxt",
223 		"gpio_27", "mm2_rxdm", "hsusb2_tll_nxt", "hw_dbg15"),
224 	_OMAP3_MUXENTRY(ETK_D14, 28,
225 		"etk_d14", NULL, NULL, "hsusb2_data0",
226 		"gpio_28", "mm2_rxrcv", "hsusb2_tll_data0", "hw_dbg16"),
227 	_OMAP3_MUXENTRY(ETK_D15, 29,
228 		"etk_d15", NULL, NULL, "hsusb2_data1",
229 		"gpio_29", "mm2_txse0", "hsusb2_tll_data1", "hw_dbg17"),
230 	_OMAP3_MUXENTRY(ETK_D2, 16,
231 		"etk_d2", "mcspi3_cs0", NULL, "hsusb1_data2",
232 		"gpio_16", "mm1_txdat", "hsusb1_tll_data2", "hw_dbg4"),
233 	_OMAP3_MUXENTRY(ETK_D3, 17,
234 		"etk_d3", "mcspi3_clk", "sdmmc3_dat3", "hsusb1_data7",
235 		"gpio_17", NULL, "hsusb1_tll_data7", "hw_dbg5"),
236 	_OMAP3_MUXENTRY(ETK_D4, 18,
237 		"etk_d4", "mcbsp5_dr", "sdmmc3_dat0", "hsusb1_data4",
238 		"gpio_18", NULL, "hsusb1_tll_data4", "hw_dbg6"),
239 	_OMAP3_MUXENTRY(ETK_D5, 19,
240 		"etk_d5", "mcbsp5_fsx", "sdmmc3_dat1", "hsusb1_data5",
241 		"gpio_19", NULL, "hsusb1_tll_data5", "hw_dbg7"),
242 	_OMAP3_MUXENTRY(ETK_D6, 20,
243 		"etk_d6", "mcbsp5_dx", "sdmmc3_dat2", "hsusb1_data6",
244 		"gpio_20", NULL, "hsusb1_tll_data6", "hw_dbg8"),
245 	_OMAP3_MUXENTRY(ETK_D7, 21,
246 		"etk_d7", "mcspi3_cs1", "sdmmc3_dat7", "hsusb1_data3",
247 		"gpio_21", "mm1_txen_n", "hsusb1_tll_data3", "hw_dbg9"),
248 	_OMAP3_MUXENTRY(ETK_D8, 22,
249 		"etk_d8", "sys_drm_msecure", "sdmmc3_dat6", "hsusb1_dir",
250 		"gpio_22", NULL, "hsusb1_tll_dir", "hw_dbg10"),
251 	_OMAP3_MUXENTRY(ETK_D9, 23,
252 		"etk_d9", "sys_secure_indicator", "sdmmc3_dat5", "hsusb1_nxt",
253 		"gpio_23", "mm1_rxdm", "hsusb1_tll_nxt", "hw_dbg11"),
254 	_OMAP3_MUXENTRY(GPMC_A1, 34,
255 		"gpmc_a1", NULL, NULL, NULL,
256 		"gpio_34", NULL, NULL, "safe_mode"),
257 	_OMAP3_MUXENTRY(GPMC_A10, 43,
258 		"gpmc_a10", "sys_ndmareq3", NULL, NULL,
259 		"gpio_43", NULL, NULL, "safe_mode"),
260 	_OMAP3_MUXENTRY(GPMC_A2, 35,
261 		"gpmc_a2", NULL, NULL, NULL,
262 		"gpio_35", NULL, NULL, "safe_mode"),
263 	_OMAP3_MUXENTRY(GPMC_A3, 36,
264 		"gpmc_a3", NULL, NULL, NULL,
265 		"gpio_36", NULL, NULL, "safe_mode"),
266 	_OMAP3_MUXENTRY(GPMC_A4, 37,
267 		"gpmc_a4", NULL, NULL, NULL,
268 		"gpio_37", NULL, NULL, "safe_mode"),
269 	_OMAP3_MUXENTRY(GPMC_A5, 38,
270 		"gpmc_a5", NULL, NULL, NULL,
271 		"gpio_38", NULL, NULL, "safe_mode"),
272 	_OMAP3_MUXENTRY(GPMC_A6, 39,
273 		"gpmc_a6", NULL, NULL, NULL,
274 		"gpio_39", NULL, NULL, "safe_mode"),
275 	_OMAP3_MUXENTRY(GPMC_A7, 40,
276 		"gpmc_a7", NULL, NULL, NULL,
277 		"gpio_40", NULL, NULL, "safe_mode"),
278 	_OMAP3_MUXENTRY(GPMC_A8, 41,
279 		"gpmc_a8", NULL, NULL, NULL,
280 		"gpio_41", NULL, NULL, "safe_mode"),
281 	_OMAP3_MUXENTRY(GPMC_A9, 42,
282 		"gpmc_a9", "sys_ndmareq2", NULL, NULL,
283 		"gpio_42", NULL, NULL, "safe_mode"),
284 	_OMAP3_MUXENTRY(GPMC_CLK, 59,
285 		"gpmc_clk", NULL, NULL, NULL,
286 		"gpio_59", NULL, NULL, "safe_mode"),
287 	_OMAP3_MUXENTRY(GPMC_D10, 46,
288 		"gpmc_d10", NULL, NULL, NULL,
289 		"gpio_46", NULL, NULL, "safe_mode"),
290 	_OMAP3_MUXENTRY(GPMC_D11, 47,
291 		"gpmc_d11", NULL, NULL, NULL,
292 		"gpio_47", NULL, NULL, "safe_mode"),
293 	_OMAP3_MUXENTRY(GPMC_D12, 48,
294 		"gpmc_d12", NULL, NULL, NULL,
295 		"gpio_48", NULL, NULL, "safe_mode"),
296 	_OMAP3_MUXENTRY(GPMC_D13, 49,
297 		"gpmc_d13", NULL, NULL, NULL,
298 		"gpio_49", NULL, NULL, "safe_mode"),
299 	_OMAP3_MUXENTRY(GPMC_D14, 50,
300 		"gpmc_d14", NULL, NULL, NULL,
301 		"gpio_50", NULL, NULL, "safe_mode"),
302 	_OMAP3_MUXENTRY(GPMC_D15, 51,
303 		"gpmc_d15", NULL, NULL, NULL,
304 		"gpio_51", NULL, NULL, "safe_mode"),
305 	_OMAP3_MUXENTRY(GPMC_D8, 44,
306 		"gpmc_d8", NULL, NULL, NULL,
307 		"gpio_44", NULL, NULL, "safe_mode"),
308 	_OMAP3_MUXENTRY(GPMC_D9, 45,
309 		"gpmc_d9", NULL, NULL, NULL,
310 		"gpio_45", NULL, NULL, "safe_mode"),
311 	_OMAP3_MUXENTRY(GPMC_NBE0_CLE, 60,
312 		"gpmc_nbe0_cle", NULL, NULL, NULL,
313 		"gpio_60", NULL, NULL, "safe_mode"),
314 	_OMAP3_MUXENTRY(GPMC_NBE1, 61,
315 		"gpmc_nbe1", NULL, NULL, NULL,
316 		"gpio_61", NULL, NULL, "safe_mode"),
317 	_OMAP3_MUXENTRY(GPMC_NCS1, 52,
318 		"gpmc_ncs1", NULL, NULL, NULL,
319 		"gpio_52", NULL, NULL, "safe_mode"),
320 	_OMAP3_MUXENTRY(GPMC_NCS2, 53,
321 		"gpmc_ncs2", NULL, NULL, NULL,
322 		"gpio_53", NULL, NULL, "safe_mode"),
323 	_OMAP3_MUXENTRY(GPMC_NCS3, 54,
324 		"gpmc_ncs3", "sys_ndmareq0", NULL, NULL,
325 		"gpio_54", NULL, NULL, "safe_mode"),
326 	_OMAP3_MUXENTRY(GPMC_NCS4, 55,
327 		"gpmc_ncs4", "sys_ndmareq1", "mcbsp4_clkx", "gpt9_pwm_evt",
328 		"gpio_55", NULL, NULL, "safe_mode"),
329 	_OMAP3_MUXENTRY(GPMC_NCS5, 56,
330 		"gpmc_ncs5", "sys_ndmareq2", "mcbsp4_dr", "gpt10_pwm_evt",
331 		"gpio_56", NULL, NULL, "safe_mode"),
332 	_OMAP3_MUXENTRY(GPMC_NCS6, 57,
333 		"gpmc_ncs6", "sys_ndmareq3", "mcbsp4_dx", "gpt11_pwm_evt",
334 		"gpio_57", NULL, NULL, "safe_mode"),
335 	_OMAP3_MUXENTRY(GPMC_NCS7, 58,
336 		"gpmc_ncs7", "gpmc_io_dir", "mcbsp4_fsx", "gpt8_pwm_evt",
337 		"gpio_58", NULL, NULL, "safe_mode"),
338 	_OMAP3_MUXENTRY(GPMC_NWP, 62,
339 		"gpmc_nwp", NULL, NULL, NULL,
340 		"gpio_62", NULL, NULL, "safe_mode"),
341 	_OMAP3_MUXENTRY(GPMC_WAIT1, 63,
342 		"gpmc_wait1", NULL, NULL, NULL,
343 		"gpio_63", NULL, NULL, "safe_mode"),
344 	_OMAP3_MUXENTRY(GPMC_WAIT2, 64,
345 		"gpmc_wait2", NULL, NULL, NULL,
346 		"gpio_64", NULL, NULL, "safe_mode"),
347 	_OMAP3_MUXENTRY(GPMC_WAIT3, 65,
348 		"gpmc_wait3", "sys_ndmareq1", NULL, NULL,
349 		"gpio_65", NULL, NULL, "safe_mode"),
350 	_OMAP3_MUXENTRY(HDQ_SIO, 170,
351 		"hdq_sio", "sys_altclk", "i2c2_sccbe", "i2c3_sccbe",
352 		"gpio_170", NULL, NULL, "safe_mode"),
353 	_OMAP3_MUXENTRY(HSUSB0_CLK, 120,
354 		"hsusb0_clk", NULL, NULL, NULL,
355 		"gpio_120", NULL, NULL, "safe_mode"),
356 	_OMAP3_MUXENTRY(HSUSB0_DATA0, 125,
357 		"hsusb0_data0", NULL, "uart3_tx_irtx", NULL,
358 		"gpio_125", NULL, NULL, "safe_mode"),
359 	_OMAP3_MUXENTRY(HSUSB0_DATA1, 130,
360 		"hsusb0_data1", NULL, "uart3_rx_irrx", NULL,
361 		"gpio_130", NULL, NULL, "safe_mode"),
362 	_OMAP3_MUXENTRY(HSUSB0_DATA2, 131,
363 		"hsusb0_data2", NULL, "uart3_rts_sd", NULL,
364 		"gpio_131", NULL, NULL, "safe_mode"),
365 	_OMAP3_MUXENTRY(HSUSB0_DATA3, 169,
366 		"hsusb0_data3", NULL, "uart3_cts_rctx", NULL,
367 		"gpio_169", NULL, NULL, "safe_mode"),
368 	_OMAP3_MUXENTRY(HSUSB0_DATA4, 188,
369 		"hsusb0_data4", NULL, NULL, NULL,
370 		"gpio_188", NULL, NULL, "safe_mode"),
371 	_OMAP3_MUXENTRY(HSUSB0_DATA5, 189,
372 		"hsusb0_data5", NULL, NULL, NULL,
373 		"gpio_189", NULL, NULL, "safe_mode"),
374 	_OMAP3_MUXENTRY(HSUSB0_DATA6, 190,
375 		"hsusb0_data6", NULL, NULL, NULL,
376 		"gpio_190", NULL, NULL, "safe_mode"),
377 	_OMAP3_MUXENTRY(HSUSB0_DATA7, 191,
378 		"hsusb0_data7", NULL, NULL, NULL,
379 		"gpio_191", NULL, NULL, "safe_mode"),
380 	_OMAP3_MUXENTRY(HSUSB0_DIR, 122,
381 		"hsusb0_dir", NULL, NULL, NULL,
382 		"gpio_122", NULL, NULL, "safe_mode"),
383 	_OMAP3_MUXENTRY(HSUSB0_NXT, 124,
384 		"hsusb0_nxt", NULL, NULL, NULL,
385 		"gpio_124", NULL, NULL, "safe_mode"),
386 	_OMAP3_MUXENTRY(HSUSB0_STP, 121,
387 		"hsusb0_stp", NULL, NULL, NULL,
388 		"gpio_121", NULL, NULL, "safe_mode"),
389 	_OMAP3_MUXENTRY(I2C2_SCL, 168,
390 		"i2c2_scl", NULL, NULL, NULL,
391 		"gpio_168", NULL, NULL, "safe_mode"),
392 	_OMAP3_MUXENTRY(I2C2_SDA, 183,
393 		"i2c2_sda", NULL, NULL, NULL,
394 		"gpio_183", NULL, NULL, "safe_mode"),
395 	_OMAP3_MUXENTRY(I2C3_SCL, 184,
396 		"i2c3_scl", NULL, NULL, NULL,
397 		"gpio_184", NULL, NULL, "safe_mode"),
398 	_OMAP3_MUXENTRY(I2C3_SDA, 185,
399 		"i2c3_sda", NULL, NULL, NULL,
400 		"gpio_185", NULL, NULL, "safe_mode"),
401 	_OMAP3_MUXENTRY(I2C4_SCL, 0,
402 		"i2c4_scl", "sys_nvmode1", NULL, NULL,
403 		NULL, NULL, NULL, "safe_mode"),
404 	_OMAP3_MUXENTRY(I2C4_SDA, 0,
405 		"i2c4_sda", "sys_nvmode2", NULL, NULL,
406 		NULL, NULL, NULL, "safe_mode"),
407 	_OMAP3_MUXENTRY(JTAG_EMU0, 11,
408 		"jtag_emu0", NULL, NULL, NULL,
409 		"gpio_11", NULL, NULL, "safe_mode"),
410 	_OMAP3_MUXENTRY(JTAG_EMU1, 31,
411 		"jtag_emu1", NULL, NULL, NULL,
412 		"gpio_31", NULL, NULL, "safe_mode"),
413 	_OMAP3_MUXENTRY(MCBSP1_CLKR, 156,
414 		"mcbsp1_clkr", "mcspi4_clk", NULL, NULL,
415 		"gpio_156", NULL, NULL, "safe_mode"),
416 	_OMAP3_MUXENTRY(MCBSP1_CLKX, 162,
417 		"mcbsp1_clkx", NULL, "mcbsp3_clkx", NULL,
418 		"gpio_162", NULL, NULL, "safe_mode"),
419 	_OMAP3_MUXENTRY(MCBSP1_DR, 159,
420 		"mcbsp1_dr", "mcspi4_somi", "mcbsp3_dr", NULL,
421 		"gpio_159", NULL, NULL, "safe_mode"),
422 	_OMAP3_MUXENTRY(MCBSP1_DX, 158,
423 		"mcbsp1_dx", "mcspi4_simo", "mcbsp3_dx", NULL,
424 		"gpio_158", NULL, NULL, "safe_mode"),
425 	_OMAP3_MUXENTRY(MCBSP1_FSR, 157,
426 		"mcbsp1_fsr", NULL, "cam_global_reset", NULL,
427 		"gpio_157", NULL, NULL, "safe_mode"),
428 	_OMAP3_MUXENTRY(MCBSP1_FSX, 161,
429 		"mcbsp1_fsx", "mcspi4_cs0", "mcbsp3_fsx", NULL,
430 		"gpio_161", NULL, NULL, "safe_mode"),
431 	_OMAP3_MUXENTRY(MCBSP2_CLKX, 117,
432 		"mcbsp2_clkx", NULL, NULL, NULL,
433 		"gpio_117", NULL, NULL, "safe_mode"),
434 	_OMAP3_MUXENTRY(MCBSP2_DR, 118,
435 		"mcbsp2_dr", NULL, NULL, NULL,
436 		"gpio_118", NULL, NULL, "safe_mode"),
437 	_OMAP3_MUXENTRY(MCBSP2_DX, 119,
438 		"mcbsp2_dx", NULL, NULL, NULL,
439 		"gpio_119", NULL, NULL, "safe_mode"),
440 	_OMAP3_MUXENTRY(MCBSP2_FSX, 116,
441 		"mcbsp2_fsx", NULL, NULL, NULL,
442 		"gpio_116", NULL, NULL, "safe_mode"),
443 	_OMAP3_MUXENTRY(MCBSP3_CLKX, 142,
444 		"mcbsp3_clkx", "uart2_tx", NULL, NULL,
445 		"gpio_142", "hsusb3_tll_data6", NULL, "safe_mode"),
446 	_OMAP3_MUXENTRY(MCBSP3_DR, 141,
447 		"mcbsp3_dr", "uart2_rts", NULL, NULL,
448 		"gpio_141", "hsusb3_tll_data5", NULL, "safe_mode"),
449 	_OMAP3_MUXENTRY(MCBSP3_DX, 140,
450 		"mcbsp3_dx", "uart2_cts", NULL, NULL,
451 		"gpio_140", "hsusb3_tll_data4", NULL, "safe_mode"),
452 	_OMAP3_MUXENTRY(MCBSP3_FSX, 143,
453 		"mcbsp3_fsx", "uart2_rx", NULL, NULL,
454 		"gpio_143", "hsusb3_tll_data7", NULL, "safe_mode"),
455 	_OMAP3_MUXENTRY(MCBSP4_CLKX, 152,
456 		"mcbsp4_clkx", NULL, NULL, NULL,
457 		"gpio_152", "hsusb3_tll_data1", "mm3_txse0", "safe_mode"),
458 	_OMAP3_MUXENTRY(MCBSP4_DR, 153,
459 		"mcbsp4_dr", NULL, NULL, NULL,
460 		"gpio_153", "hsusb3_tll_data0", "mm3_rxrcv", "safe_mode"),
461 	_OMAP3_MUXENTRY(MCBSP4_DX, 154,
462 		"mcbsp4_dx", NULL, NULL, NULL,
463 		"gpio_154", "hsusb3_tll_data2", "mm3_txdat", "safe_mode"),
464 	_OMAP3_MUXENTRY(MCBSP4_FSX, 155,
465 		"mcbsp4_fsx", NULL, NULL, NULL,
466 		"gpio_155", "hsusb3_tll_data3", "mm3_txen_n", "safe_mode"),
467 	_OMAP3_MUXENTRY(MCBSP_CLKS, 160,
468 		"mcbsp_clks", NULL, "cam_shutter", NULL,
469 		"gpio_160", "uart1_cts", NULL, "safe_mode"),
470 	_OMAP3_MUXENTRY(MCSPI1_CLK, 171,
471 		"mcspi1_clk", "sdmmc2_dat4", NULL, NULL,
472 		"gpio_171", NULL, NULL, "safe_mode"),
473 	_OMAP3_MUXENTRY(MCSPI1_CS0, 174,
474 		"mcspi1_cs0", "sdmmc2_dat7", NULL, NULL,
475 		"gpio_174", NULL, NULL, "safe_mode"),
476 	_OMAP3_MUXENTRY(MCSPI1_CS1, 175,
477 		"mcspi1_cs1", NULL, NULL, "sdmmc3_cmd",
478 		"gpio_175", NULL, NULL, "safe_mode"),
479 	_OMAP3_MUXENTRY(MCSPI1_CS2, 176,
480 		"mcspi1_cs2", NULL, NULL, "sdmmc3_clk",
481 		"gpio_176", NULL, NULL, "safe_mode"),
482 	_OMAP3_MUXENTRY(MCSPI1_CS3, 177,
483 		"mcspi1_cs3", NULL, "hsusb2_tll_data2", "hsusb2_data2",
484 		"gpio_177", "mm2_txdat", NULL, "safe_mode"),
485 	_OMAP3_MUXENTRY(MCSPI1_SIMO, 172,
486 		"mcspi1_simo", "sdmmc2_dat5", NULL, NULL,
487 		"gpio_172", NULL, NULL, "safe_mode"),
488 	_OMAP3_MUXENTRY(MCSPI1_SOMI, 173,
489 		"mcspi1_somi", "sdmmc2_dat6", NULL, NULL,
490 		"gpio_173", NULL, NULL, "safe_mode"),
491 	_OMAP3_MUXENTRY(MCSPI2_CLK, 178,
492 		"mcspi2_clk", NULL, "hsusb2_tll_data7", "hsusb2_data7",
493 		"gpio_178", NULL, NULL, "safe_mode"),
494 	_OMAP3_MUXENTRY(MCSPI2_CS0, 181,
495 		"mcspi2_cs0", "gpt11_pwm_evt",
496 		"hsusb2_tll_data6", "hsusb2_data6",
497 		"gpio_181", NULL, NULL, "safe_mode"),
498 	_OMAP3_MUXENTRY(MCSPI2_CS1, 182,
499 		"mcspi2_cs1", "gpt8_pwm_evt",
500 		"hsusb2_tll_data3", "hsusb2_data3",
501 		"gpio_182", "mm2_txen_n", NULL, "safe_mode"),
502 	_OMAP3_MUXENTRY(MCSPI2_SIMO, 179,
503 		"mcspi2_simo", "gpt9_pwm_evt",
504 		"hsusb2_tll_data4", "hsusb2_data4",
505 		"gpio_179", NULL, NULL, "safe_mode"),
506 	_OMAP3_MUXENTRY(MCSPI2_SOMI, 180,
507 		"mcspi2_somi", "gpt10_pwm_evt",
508 		"hsusb2_tll_data5", "hsusb2_data5",
509 		"gpio_180", NULL, NULL, "safe_mode"),
510 	_OMAP3_MUXENTRY(SDMMC1_CLK, 120,
511 		"sdmmc1_clk", NULL, NULL, NULL,
512 		"gpio_120", NULL, NULL, "safe_mode"),
513 	_OMAP3_MUXENTRY(SDMMC1_CMD, 121,
514 		"sdmmc1_cmd", NULL, NULL, NULL,
515 		"gpio_121", NULL, NULL, "safe_mode"),
516 	_OMAP3_MUXENTRY(SDMMC1_DAT0, 122,
517 		"sdmmc1_dat0", NULL, NULL, NULL,
518 		"gpio_122", NULL, NULL, "safe_mode"),
519 	_OMAP3_MUXENTRY(SDMMC1_DAT1, 123,
520 		"sdmmc1_dat1", NULL, NULL, NULL,
521 		"gpio_123", NULL, NULL, "safe_mode"),
522 	_OMAP3_MUXENTRY(SDMMC1_DAT2, 124,
523 		"sdmmc1_dat2", NULL, NULL, NULL,
524 		"gpio_124", NULL, NULL, "safe_mode"),
525 	_OMAP3_MUXENTRY(SDMMC1_DAT3, 125,
526 		"sdmmc1_dat3", NULL, NULL, NULL,
527 		"gpio_125", NULL, NULL, "safe_mode"),
528 	_OMAP3_MUXENTRY(SDMMC1_DAT4, 126,
529 		"sdmmc1_dat4", NULL, "sim_io", NULL,
530 		"gpio_126", NULL, NULL, "safe_mode"),
531 	_OMAP3_MUXENTRY(SDMMC1_DAT5, 127,
532 		"sdmmc1_dat5", NULL, "sim_clk", NULL,
533 		"gpio_127", NULL, NULL, "safe_mode"),
534 	_OMAP3_MUXENTRY(SDMMC1_DAT6, 128,
535 		"sdmmc1_dat6", NULL, "sim_pwrctrl", NULL,
536 		"gpio_128", NULL, NULL, "safe_mode"),
537 	_OMAP3_MUXENTRY(SDMMC1_DAT7, 129,
538 		"sdmmc1_dat7", NULL, "sim_rst", NULL,
539 		"gpio_129", NULL, NULL, "safe_mode"),
540 	_OMAP3_MUXENTRY(SDMMC2_CLK, 130,
541 		"sdmmc2_clk", "mcspi3_clk", NULL, NULL,
542 		"gpio_130", NULL, NULL, "safe_mode"),
543 	_OMAP3_MUXENTRY(SDMMC2_CMD, 131,
544 		"sdmmc2_cmd", "mcspi3_simo", NULL, NULL,
545 		"gpio_131", NULL, NULL, "safe_mode"),
546 	_OMAP3_MUXENTRY(SDMMC2_DAT0, 132,
547 		"sdmmc2_dat0", "mcspi3_somi", NULL, NULL,
548 		"gpio_132", NULL, NULL, "safe_mode"),
549 	_OMAP3_MUXENTRY(SDMMC2_DAT1, 133,
550 		"sdmmc2_dat1", NULL, NULL, NULL,
551 		"gpio_133", NULL, NULL, "safe_mode"),
552 	_OMAP3_MUXENTRY(SDMMC2_DAT2, 134,
553 		"sdmmc2_dat2", "mcspi3_cs1", NULL, NULL,
554 		"gpio_134", NULL, NULL, "safe_mode"),
555 	_OMAP3_MUXENTRY(SDMMC2_DAT3, 135,
556 		"sdmmc2_dat3", "mcspi3_cs0", NULL, NULL,
557 		"gpio_135", NULL, NULL, "safe_mode"),
558 	_OMAP3_MUXENTRY(SDMMC2_DAT4, 136,
559 		"sdmmc2_dat4", "sdmmc2_dir_dat0", NULL, "sdmmc3_dat0",
560 		"gpio_136", NULL, NULL, "safe_mode"),
561 	_OMAP3_MUXENTRY(SDMMC2_DAT5, 137,
562 		"sdmmc2_dat5", "sdmmc2_dir_dat1",
563 		"cam_global_reset", "sdmmc3_dat1",
564 		"gpio_137", "hsusb3_tll_stp", "mm3_rxdp", "safe_mode"),
565 	_OMAP3_MUXENTRY(SDMMC2_DAT6, 138,
566 		"sdmmc2_dat6", "sdmmc2_dir_cmd", "cam_shutter", "sdmmc3_dat2",
567 		"gpio_138", "hsusb3_tll_dir", NULL, "safe_mode"),
568 	_OMAP3_MUXENTRY(SDMMC2_DAT7, 139,
569 		"sdmmc2_dat7", "sdmmc2_clkin", NULL, "sdmmc3_dat3",
570 		"gpio_139", "hsusb3_tll_nxt", "mm3_rxdm", "safe_mode"),
571 	_OMAP3_MUXENTRY(SDRC_CKE0, 0,
572 		"sdrc_cke0", NULL, NULL, NULL,
573 		NULL, NULL, NULL, "safe_mode"),
574 	_OMAP3_MUXENTRY(SDRC_CKE1, 0,
575 		"sdrc_cke1", NULL, NULL, NULL,
576 		NULL, NULL, NULL, "safe_mode"),
577 	_OMAP3_MUXENTRY(SYS_BOOT0, 2,
578 		"sys_boot0", NULL, NULL, NULL,
579 		"gpio_2", NULL, NULL, "safe_mode"),
580 	_OMAP3_MUXENTRY(SYS_BOOT1, 3,
581 		"sys_boot1", NULL, NULL, NULL,
582 		"gpio_3", NULL, NULL, "safe_mode"),
583 	_OMAP3_MUXENTRY(SYS_BOOT2, 4,
584 		"sys_boot2", NULL, NULL, NULL,
585 		"gpio_4", NULL, NULL, "safe_mode"),
586 	_OMAP3_MUXENTRY(SYS_BOOT3, 5,
587 		"sys_boot3", NULL, NULL, NULL,
588 		"gpio_5", NULL, NULL, "safe_mode"),
589 	_OMAP3_MUXENTRY(SYS_BOOT4, 6,
590 		"sys_boot4", "sdmmc2_dir_dat2", NULL, NULL,
591 		"gpio_6", NULL, NULL, "safe_mode"),
592 	_OMAP3_MUXENTRY(SYS_BOOT5, 7,
593 		"sys_boot5", "sdmmc2_dir_dat3", NULL, NULL,
594 		"gpio_7", NULL, NULL, "safe_mode"),
595 	_OMAP3_MUXENTRY(SYS_BOOT6, 8,
596 		"sys_boot6", NULL, NULL, NULL,
597 		"gpio_8", NULL, NULL, "safe_mode"),
598 	_OMAP3_MUXENTRY(SYS_CLKOUT1, 10,
599 		"sys_clkout1", NULL, NULL, NULL,
600 		"gpio_10", NULL, NULL, "safe_mode"),
601 	_OMAP3_MUXENTRY(SYS_CLKOUT2, 186,
602 		"sys_clkout2", NULL, NULL, NULL,
603 		"gpio_186", NULL, NULL, "safe_mode"),
604 	_OMAP3_MUXENTRY(SYS_CLKREQ, 1,
605 		"sys_clkreq", NULL, NULL, NULL,
606 		"gpio_1", NULL, NULL, "safe_mode"),
607 	_OMAP3_MUXENTRY(SYS_NIRQ, 0,
608 		"sys_nirq", NULL, NULL, NULL,
609 		"gpio_0", NULL, NULL, "safe_mode"),
610 	_OMAP3_MUXENTRY(SYS_NRESWARM, 30,
611 		"sys_nreswarm", NULL, NULL, NULL,
612 		"gpio_30", NULL, NULL, "safe_mode"),
613 	_OMAP3_MUXENTRY(SYS_OFF_MODE, 9,
614 		"sys_off_mode", NULL, NULL, NULL,
615 		"gpio_9", NULL, NULL, "safe_mode"),
616 	_OMAP3_MUXENTRY(UART1_CTS, 150,
617 		"uart1_cts", NULL, NULL, NULL,
618 		"gpio_150", "hsusb3_tll_clk", NULL, "safe_mode"),
619 	_OMAP3_MUXENTRY(UART1_RTS, 149,
620 		"uart1_rts", NULL, NULL, NULL,
621 		"gpio_149", NULL, NULL, "safe_mode"),
622 	_OMAP3_MUXENTRY(UART1_RX, 151,
623 		"uart1_rx", NULL, "mcbsp1_clkr", "mcspi4_clk",
624 		"gpio_151", NULL, NULL, "safe_mode"),
625 	_OMAP3_MUXENTRY(UART1_TX, 148,
626 		"uart1_tx", NULL, NULL, NULL,
627 		"gpio_148", NULL, NULL, "safe_mode"),
628 	_OMAP3_MUXENTRY(UART2_CTS, 144,
629 		"uart2_cts", "mcbsp3_dx", "gpt9_pwm_evt", NULL,
630 		"gpio_144", NULL, NULL, "safe_mode"),
631 	_OMAP3_MUXENTRY(UART2_RTS, 145,
632 		"uart2_rts", "mcbsp3_dr", "gpt10_pwm_evt", NULL,
633 		"gpio_145", NULL, NULL, "safe_mode"),
634 	_OMAP3_MUXENTRY(UART2_RX, 147,
635 		"uart2_rx", "mcbsp3_fsx", "gpt8_pwm_evt", NULL,
636 		"gpio_147", NULL, NULL, "safe_mode"),
637 	_OMAP3_MUXENTRY(UART2_TX, 146,
638 		"uart2_tx", "mcbsp3_clkx", "gpt11_pwm_evt", NULL,
639 		"gpio_146", NULL, NULL, "safe_mode"),
640 	_OMAP3_MUXENTRY(UART3_CTS_RCTX, 163,
641 		"uart3_cts_rctx", NULL, NULL, NULL,
642 		"gpio_163", NULL, NULL, "safe_mode"),
643 	_OMAP3_MUXENTRY(UART3_RTS_SD, 164,
644 		"uart3_rts_sd", NULL, NULL, NULL,
645 		"gpio_164", NULL, NULL, "safe_mode"),
646 	_OMAP3_MUXENTRY(UART3_RX_IRRX, 165,
647 		"uart3_rx_irrx", NULL, NULL, NULL,
648 		"gpio_165", NULL, NULL, "safe_mode"),
649 	_OMAP3_MUXENTRY(UART3_TX_IRTX, 166,
650 		"uart3_tx_irtx", NULL, NULL, NULL,
651 		"gpio_166", NULL, NULL, "safe_mode"),
652 
653 	/* Only on 3630, see omap36xx_cbp_subset for the signals */
654 	_OMAP3_MUXENTRY(GPMC_A11, 0,
655 		NULL, NULL, NULL, NULL,
656 		NULL, NULL, NULL, NULL),
657 	_OMAP3_MUXENTRY(SAD2D_MBUSFLAG, 0,
658 		NULL, NULL, NULL, NULL,
659 		NULL, NULL, NULL, NULL),
660 	_OMAP3_MUXENTRY(SAD2D_MREAD, 0,
661 		NULL, NULL, NULL, NULL,
662 		NULL, NULL, NULL, NULL),
663 	_OMAP3_MUXENTRY(SAD2D_MWRITE, 0,
664 		NULL, NULL, NULL, NULL,
665 		NULL, NULL, NULL, NULL),
666 	_OMAP3_MUXENTRY(SAD2D_SBUSFLAG, 0,
667 		NULL, NULL, NULL, NULL,
668 		NULL, NULL, NULL, NULL),
669 	_OMAP3_MUXENTRY(SAD2D_SREAD, 0,
670 		NULL, NULL, NULL, NULL,
671 		NULL, NULL, NULL, NULL),
672 	_OMAP3_MUXENTRY(SAD2D_SWRITE, 0,
673 		NULL, NULL, NULL, NULL,
674 		NULL, NULL, NULL, NULL),
675 	_OMAP3_MUXENTRY(GPMC_A11, 0,
676 		NULL, NULL, NULL, NULL,
677 		NULL, NULL, NULL, NULL),
678 	_OMAP3_MUXENTRY(SAD2D_MCAD28, 0,
679 		NULL, NULL, NULL, NULL,
680 		NULL, NULL, NULL, NULL),
681 	_OMAP3_MUXENTRY(SAD2D_MCAD29, 0,
682 		NULL, NULL, NULL, NULL,
683 		NULL, NULL, NULL, NULL),
684 	_OMAP3_MUXENTRY(SAD2D_MCAD32, 0,
685 		NULL, NULL, NULL, NULL,
686 		NULL, NULL, NULL, NULL),
687 	_OMAP3_MUXENTRY(SAD2D_MCAD33, 0,
688 		NULL, NULL, NULL, NULL,
689 		NULL, NULL, NULL, NULL),
690 	_OMAP3_MUXENTRY(SAD2D_MCAD34, 0,
691 		NULL, NULL, NULL, NULL,
692 		NULL, NULL, NULL, NULL),
693 	_OMAP3_MUXENTRY(SAD2D_MCAD35, 0,
694 		NULL, NULL, NULL, NULL,
695 		NULL, NULL, NULL, NULL),
696 	_OMAP3_MUXENTRY(SAD2D_MCAD36, 0,
697 		NULL, NULL, NULL, NULL,
698 		NULL, NULL, NULL, NULL),
699 	{ .reg_offset = OMAP_MUX_TERMINATOR },
700 };
701 
702 /*
703  * Signals different on CBC package compared to the superset
704  */
705 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_OMAP_PACKAGE_CBC)
706 static struct omap_mux __initdata omap3_cbc_subset[] = {
707 	{ .reg_offset = OMAP_MUX_TERMINATOR },
708 };
709 #else
710 #define omap3_cbc_subset	NULL
711 #endif
712 
713 /*
714  * Balls for CBC package
715  * 515-pin s-PBGA Package, 0.65mm Ball Pitch (Top), 0.50mm Ball Pitch (Bottom)
716  *
717  * FIXME: What's up with the outdated TI documentation? See:
718  *
719  * http://wiki.davincidsp.com/index.php/Datasheet_Errata_for_OMAP35x_CBC_Package
720  * http://community.ti.com/forums/t/10982.aspx
721  */
722 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS)	\
723 		&& defined(CONFIG_OMAP_PACKAGE_CBC)
724 static struct omap_ball __initdata omap3_cbc_ball[] = {
725 	_OMAP3_BALLENTRY(CAM_D0, "ae16", NULL),
726 	_OMAP3_BALLENTRY(CAM_D1, "ae15", NULL),
727 	_OMAP3_BALLENTRY(CAM_D10, "d25", NULL),
728 	_OMAP3_BALLENTRY(CAM_D11, "e26", NULL),
729 	_OMAP3_BALLENTRY(CAM_D2, "a24", NULL),
730 	_OMAP3_BALLENTRY(CAM_D3, "b24", NULL),
731 	_OMAP3_BALLENTRY(CAM_D4, "d24", NULL),
732 	_OMAP3_BALLENTRY(CAM_D5, "c24", NULL),
733 	_OMAP3_BALLENTRY(CAM_D6, "p25", NULL),
734 	_OMAP3_BALLENTRY(CAM_D7, "p26", NULL),
735 	_OMAP3_BALLENTRY(CAM_D8, "n25", NULL),
736 	_OMAP3_BALLENTRY(CAM_D9, "n26", NULL),
737 	_OMAP3_BALLENTRY(CAM_FLD, "b23", NULL),
738 	_OMAP3_BALLENTRY(CAM_HS, "c23", NULL),
739 	_OMAP3_BALLENTRY(CAM_PCLK, "c26", NULL),
740 	_OMAP3_BALLENTRY(CAM_STROBE, "d26", NULL),
741 	_OMAP3_BALLENTRY(CAM_VS, "d23", NULL),
742 	_OMAP3_BALLENTRY(CAM_WEN, "a23", NULL),
743 	_OMAP3_BALLENTRY(CAM_XCLKA, "c25", NULL),
744 	_OMAP3_BALLENTRY(CAM_XCLKB, "e25", NULL),
745 	_OMAP3_BALLENTRY(CSI2_DX0, "ad17", NULL),
746 	_OMAP3_BALLENTRY(CSI2_DX1, "ae18", NULL),
747 	_OMAP3_BALLENTRY(CSI2_DY0, "ad16", NULL),
748 	_OMAP3_BALLENTRY(CSI2_DY1, "ae17", NULL),
749 	_OMAP3_BALLENTRY(DSS_ACBIAS, "f26", NULL),
750 	_OMAP3_BALLENTRY(DSS_DATA0, "ae21", NULL),
751 	_OMAP3_BALLENTRY(DSS_DATA1, "ae22", NULL),
752 	_OMAP3_BALLENTRY(DSS_DATA10, "ac26", NULL),
753 	_OMAP3_BALLENTRY(DSS_DATA11, "ad26", NULL),
754 	_OMAP3_BALLENTRY(DSS_DATA12, "aa25", NULL),
755 	_OMAP3_BALLENTRY(DSS_DATA13, "y25", NULL),
756 	_OMAP3_BALLENTRY(DSS_DATA14, "aa26", NULL),
757 	_OMAP3_BALLENTRY(DSS_DATA15, "ab26", NULL),
758 	_OMAP3_BALLENTRY(DSS_DATA16, "l25", NULL),
759 	_OMAP3_BALLENTRY(DSS_DATA17, "l26", NULL),
760 	_OMAP3_BALLENTRY(DSS_DATA18, "m24", NULL),
761 	_OMAP3_BALLENTRY(DSS_DATA19, "m26", NULL),
762 	_OMAP3_BALLENTRY(DSS_DATA2, "ae23", NULL),
763 	_OMAP3_BALLENTRY(DSS_DATA20, "f25", NULL),
764 	_OMAP3_BALLENTRY(DSS_DATA21, "n24", NULL),
765 	_OMAP3_BALLENTRY(DSS_DATA22, "ac25", NULL),
766 	_OMAP3_BALLENTRY(DSS_DATA23, "ab25", NULL),
767 	_OMAP3_BALLENTRY(DSS_DATA3, "ae24", NULL),
768 	_OMAP3_BALLENTRY(DSS_DATA4, "ad23", NULL),
769 	_OMAP3_BALLENTRY(DSS_DATA5, "ad24", NULL),
770 	_OMAP3_BALLENTRY(DSS_DATA6, "g26", NULL),
771 	_OMAP3_BALLENTRY(DSS_DATA7, "h25", NULL),
772 	_OMAP3_BALLENTRY(DSS_DATA8, "h26", NULL),
773 	_OMAP3_BALLENTRY(DSS_DATA9, "j26", NULL),
774 	_OMAP3_BALLENTRY(DSS_HSYNC, "k24", NULL),
775 	_OMAP3_BALLENTRY(DSS_PCLK, "g25", NULL),
776 	_OMAP3_BALLENTRY(DSS_VSYNC, "m25", NULL),
777 	_OMAP3_BALLENTRY(ETK_CLK, "ab2", NULL),
778 	_OMAP3_BALLENTRY(ETK_CTL, "ab3", NULL),
779 	_OMAP3_BALLENTRY(ETK_D0, "ac3", NULL),
780 	_OMAP3_BALLENTRY(ETK_D1, "ad4", NULL),
781 	_OMAP3_BALLENTRY(ETK_D10, "ae4", NULL),
782 	_OMAP3_BALLENTRY(ETK_D11, "af6", NULL),
783 	_OMAP3_BALLENTRY(ETK_D12, "ae6", NULL),
784 	_OMAP3_BALLENTRY(ETK_D13, "af7", NULL),
785 	_OMAP3_BALLENTRY(ETK_D14, "af9", NULL),
786 	_OMAP3_BALLENTRY(ETK_D15, "ae9", NULL),
787 	_OMAP3_BALLENTRY(ETK_D2, "ad3", NULL),
788 	_OMAP3_BALLENTRY(ETK_D3, "aa3", NULL),
789 	_OMAP3_BALLENTRY(ETK_D4, "y3", NULL),
790 	_OMAP3_BALLENTRY(ETK_D5, "ab1", NULL),
791 	_OMAP3_BALLENTRY(ETK_D6, "ae3", NULL),
792 	_OMAP3_BALLENTRY(ETK_D7, "ad2", NULL),
793 	_OMAP3_BALLENTRY(ETK_D8, "aa4", NULL),
794 	_OMAP3_BALLENTRY(ETK_D9, "v2", NULL),
795 	_OMAP3_BALLENTRY(GPMC_A1, "j2", NULL),
796 	_OMAP3_BALLENTRY(GPMC_A10, "d2", NULL),
797 	_OMAP3_BALLENTRY(GPMC_A2, "h1", NULL),
798 	_OMAP3_BALLENTRY(GPMC_A3, "h2", NULL),
799 	_OMAP3_BALLENTRY(GPMC_A4, "g2", NULL),
800 	_OMAP3_BALLENTRY(GPMC_A5, "f1", NULL),
801 	_OMAP3_BALLENTRY(GPMC_A6, "f2", NULL),
802 	_OMAP3_BALLENTRY(GPMC_A7, "e1", NULL),
803 	_OMAP3_BALLENTRY(GPMC_A8, "e2", NULL),
804 	_OMAP3_BALLENTRY(GPMC_A9, "d1", NULL),
805 	_OMAP3_BALLENTRY(GPMC_CLK, "n1", "l1"),
806 	_OMAP3_BALLENTRY(GPMC_D10, "t1", "n1"),
807 	_OMAP3_BALLENTRY(GPMC_D11, "u2", "p2"),
808 	_OMAP3_BALLENTRY(GPMC_D12, "u1", "p1"),
809 	_OMAP3_BALLENTRY(GPMC_D13, "p1", "m1"),
810 	_OMAP3_BALLENTRY(GPMC_D14, "l2", "j2"),
811 	_OMAP3_BALLENTRY(GPMC_D15, "m2", "k2"),
812 	_OMAP3_BALLENTRY(GPMC_D8, "v1", "r1"),
813 	_OMAP3_BALLENTRY(GPMC_D9, "y1", "t1"),
814 	_OMAP3_BALLENTRY(GPMC_NBE0_CLE, "k2", NULL),
815 	_OMAP3_BALLENTRY(GPMC_NBE1, "j1", NULL),
816 	_OMAP3_BALLENTRY(GPMC_NCS1, "ad1", "w1"),
817 	_OMAP3_BALLENTRY(GPMC_NCS2, "a3", NULL),
818 	_OMAP3_BALLENTRY(GPMC_NCS3, "b6", NULL),
819 	_OMAP3_BALLENTRY(GPMC_NCS4, "b4", NULL),
820 	_OMAP3_BALLENTRY(GPMC_NCS5, "c4", NULL),
821 	_OMAP3_BALLENTRY(GPMC_NCS6, "b5", NULL),
822 	_OMAP3_BALLENTRY(GPMC_NCS7, "c5", NULL),
823 	_OMAP3_BALLENTRY(GPMC_NWP, "ac6", "y5"),
824 	_OMAP3_BALLENTRY(GPMC_WAIT1, "ac8", "y8"),
825 	_OMAP3_BALLENTRY(GPMC_WAIT2, "b3", NULL),
826 	_OMAP3_BALLENTRY(GPMC_WAIT3, "c6", NULL),
827 	_OMAP3_BALLENTRY(HDQ_SIO, "j23", NULL),
828 	_OMAP3_BALLENTRY(HSUSB0_CLK, "w19", NULL),
829 	_OMAP3_BALLENTRY(HSUSB0_DATA0, "v20", NULL),
830 	_OMAP3_BALLENTRY(HSUSB0_DATA1, "y20", NULL),
831 	_OMAP3_BALLENTRY(HSUSB0_DATA2, "v18", NULL),
832 	_OMAP3_BALLENTRY(HSUSB0_DATA3, "w20", NULL),
833 	_OMAP3_BALLENTRY(HSUSB0_DATA4, "w17", NULL),
834 	_OMAP3_BALLENTRY(HSUSB0_DATA5, "y18", NULL),
835 	_OMAP3_BALLENTRY(HSUSB0_DATA6, "y19", NULL),
836 	_OMAP3_BALLENTRY(HSUSB0_DATA7, "y17", NULL),
837 	_OMAP3_BALLENTRY(HSUSB0_DIR, "v19", NULL),
838 	_OMAP3_BALLENTRY(HSUSB0_NXT, "w18", NULL),
839 	_OMAP3_BALLENTRY(HSUSB0_STP, "u20", NULL),
840 	_OMAP3_BALLENTRY(I2C2_SCL, "c2", NULL),
841 	_OMAP3_BALLENTRY(I2C2_SDA, "c1", NULL),
842 	_OMAP3_BALLENTRY(I2C3_SCL, "ab4", NULL),
843 	_OMAP3_BALLENTRY(I2C3_SDA, "ac4", NULL),
844 	_OMAP3_BALLENTRY(I2C4_SCL, "ad15", NULL),
845 	_OMAP3_BALLENTRY(I2C4_SDA, "w16", NULL),
846 	_OMAP3_BALLENTRY(JTAG_EMU0, "y15", NULL),
847 	_OMAP3_BALLENTRY(JTAG_EMU1, "y14", NULL),
848 	_OMAP3_BALLENTRY(MCBSP1_CLKR, "u19", NULL),
849 	_OMAP3_BALLENTRY(MCBSP1_CLKX, "t17", NULL),
850 	_OMAP3_BALLENTRY(MCBSP1_DR, "t20", NULL),
851 	_OMAP3_BALLENTRY(MCBSP1_DX, "u17", NULL),
852 	_OMAP3_BALLENTRY(MCBSP1_FSR, "v17", NULL),
853 	_OMAP3_BALLENTRY(MCBSP1_FSX, "p20", NULL),
854 	_OMAP3_BALLENTRY(MCBSP2_CLKX, "r18", NULL),
855 	_OMAP3_BALLENTRY(MCBSP2_DR, "t18", NULL),
856 	_OMAP3_BALLENTRY(MCBSP2_DX, "r19", NULL),
857 	_OMAP3_BALLENTRY(MCBSP2_FSX, "u18", NULL),
858 	_OMAP3_BALLENTRY(MCBSP3_CLKX, "u3", NULL),
859 	_OMAP3_BALLENTRY(MCBSP3_DR, "n3", NULL),
860 	_OMAP3_BALLENTRY(MCBSP3_DX, "p3", NULL),
861 	_OMAP3_BALLENTRY(MCBSP3_FSX, "w3", NULL),
862 	_OMAP3_BALLENTRY(MCBSP4_CLKX, "v3", NULL),
863 	_OMAP3_BALLENTRY(MCBSP4_DR, "u4", NULL),
864 	_OMAP3_BALLENTRY(MCBSP4_DX, "r3", NULL),
865 	_OMAP3_BALLENTRY(MCBSP4_FSX, "t3", NULL),
866 	_OMAP3_BALLENTRY(MCBSP_CLKS, "t19", NULL),
867 	_OMAP3_BALLENTRY(MCSPI1_CLK, "p9", NULL),
868 	_OMAP3_BALLENTRY(MCSPI1_CS0, "r7", NULL),
869 	_OMAP3_BALLENTRY(MCSPI1_CS1, "r8", NULL),
870 	_OMAP3_BALLENTRY(MCSPI1_CS2, "r9", NULL),
871 	_OMAP3_BALLENTRY(MCSPI1_CS3, "t8", NULL),
872 	_OMAP3_BALLENTRY(MCSPI1_SIMO, "p8", NULL),
873 	_OMAP3_BALLENTRY(MCSPI1_SOMI, "p7", NULL),
874 	_OMAP3_BALLENTRY(MCSPI2_CLK, "w7", NULL),
875 	_OMAP3_BALLENTRY(MCSPI2_CS0, "v8", NULL),
876 	_OMAP3_BALLENTRY(MCSPI2_CS1, "v9", NULL),
877 	_OMAP3_BALLENTRY(MCSPI2_SIMO, "w8", NULL),
878 	_OMAP3_BALLENTRY(MCSPI2_SOMI, "u8", NULL),
879 	_OMAP3_BALLENTRY(SDMMC1_CLK, "n19", NULL),
880 	_OMAP3_BALLENTRY(SDMMC1_CMD, "l18", NULL),
881 	_OMAP3_BALLENTRY(SDMMC1_DAT0, "m19", NULL),
882 	_OMAP3_BALLENTRY(SDMMC1_DAT1, "m18", NULL),
883 	_OMAP3_BALLENTRY(SDMMC1_DAT2, "k18", NULL),
884 	_OMAP3_BALLENTRY(SDMMC1_DAT3, "n20", NULL),
885 	_OMAP3_BALLENTRY(SDMMC1_DAT4, "m20", NULL),
886 	_OMAP3_BALLENTRY(SDMMC1_DAT5, "p17", NULL),
887 	_OMAP3_BALLENTRY(SDMMC1_DAT6, "p18", NULL),
888 	_OMAP3_BALLENTRY(SDMMC1_DAT7, "p19", NULL),
889 	_OMAP3_BALLENTRY(SDMMC2_CLK, "w10", NULL),
890 	_OMAP3_BALLENTRY(SDMMC2_CMD, "r10", NULL),
891 	_OMAP3_BALLENTRY(SDMMC2_DAT0, "t10", NULL),
892 	_OMAP3_BALLENTRY(SDMMC2_DAT1, "t9", NULL),
893 	_OMAP3_BALLENTRY(SDMMC2_DAT2, "u10", NULL),
894 	_OMAP3_BALLENTRY(SDMMC2_DAT3, "u9", NULL),
895 	_OMAP3_BALLENTRY(SDMMC2_DAT4, "v10", NULL),
896 	_OMAP3_BALLENTRY(SDMMC2_DAT5, "m3", NULL),
897 	_OMAP3_BALLENTRY(SDMMC2_DAT6, "l3", NULL),
898 	_OMAP3_BALLENTRY(SDMMC2_DAT7, "k3", NULL),
899 	_OMAP3_BALLENTRY(SYS_BOOT0, "f3", NULL),
900 	_OMAP3_BALLENTRY(SYS_BOOT1, "d3", NULL),
901 	_OMAP3_BALLENTRY(SYS_BOOT2, "c3", NULL),
902 	_OMAP3_BALLENTRY(SYS_BOOT3, "e3", NULL),
903 	_OMAP3_BALLENTRY(SYS_BOOT4, "e4", NULL),
904 	_OMAP3_BALLENTRY(SYS_BOOT5, "g3", NULL),
905 	_OMAP3_BALLENTRY(SYS_BOOT6, "d4", NULL),
906 	_OMAP3_BALLENTRY(SYS_CLKOUT1, "ae14", NULL),
907 	_OMAP3_BALLENTRY(SYS_CLKOUT2, "w11", NULL),
908 	_OMAP3_BALLENTRY(SYS_CLKREQ, "w15", NULL),
909 	_OMAP3_BALLENTRY(SYS_NIRQ, "v16", NULL),
910 	_OMAP3_BALLENTRY(SYS_NRESWARM, "ad7", "aa5"),
911 	_OMAP3_BALLENTRY(SYS_OFF_MODE, "v12", NULL),
912 	_OMAP3_BALLENTRY(UART1_CTS, "w2", NULL),
913 	_OMAP3_BALLENTRY(UART1_RTS, "r2", NULL),
914 	_OMAP3_BALLENTRY(UART1_RX, "h3", NULL),
915 	_OMAP3_BALLENTRY(UART1_TX, "l4", NULL),
916 	_OMAP3_BALLENTRY(UART2_CTS, "y24", NULL),
917 	_OMAP3_BALLENTRY(UART2_RTS, "aa24", NULL),
918 	_OMAP3_BALLENTRY(UART2_RX, "ad21", NULL),
919 	_OMAP3_BALLENTRY(UART2_TX, "ad22", NULL),
920 	_OMAP3_BALLENTRY(UART3_CTS_RCTX, "f23", NULL),
921 	_OMAP3_BALLENTRY(UART3_RTS_SD, "f24", NULL),
922 	_OMAP3_BALLENTRY(UART3_RX_IRRX, "h24", NULL),
923 	_OMAP3_BALLENTRY(UART3_TX_IRTX, "g24", NULL),
924 	{ .reg_offset = OMAP_MUX_TERMINATOR },
925 };
926 #else
927 #define omap3_cbc_ball	 NULL
928 #endif
929 
930 /*
931  * Signals different on CUS package compared to superset
932  */
933 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_OMAP_PACKAGE_CUS)
934 static struct omap_mux __initdata omap3_cus_subset[] = {
935 	_OMAP3_MUXENTRY(CAM_D10, 109,
936 		"cam_d10", NULL, NULL, NULL,
937 		"gpio_109", NULL, NULL, "safe_mode"),
938 	_OMAP3_MUXENTRY(CAM_D11, 110,
939 		"cam_d11", NULL, NULL, NULL,
940 		"gpio_110", NULL, NULL, "safe_mode"),
941 	_OMAP3_MUXENTRY(CAM_D2, 101,
942 		"cam_d2", NULL, NULL, NULL,
943 		"gpio_101", NULL, NULL, "safe_mode"),
944 	_OMAP3_MUXENTRY(CAM_D3, 102,
945 		"cam_d3", NULL, NULL, NULL,
946 		"gpio_102", NULL, NULL, "safe_mode"),
947 	_OMAP3_MUXENTRY(CAM_D4, 103,
948 		"cam_d4", NULL, NULL, NULL,
949 		"gpio_103", NULL, NULL, "safe_mode"),
950 	_OMAP3_MUXENTRY(CAM_D5, 104,
951 		"cam_d5", NULL, NULL, NULL,
952 		"gpio_104", NULL, NULL, "safe_mode"),
953 	_OMAP3_MUXENTRY(CAM_FLD, 98,
954 		"cam_fld", NULL, "cam_global_reset", NULL,
955 		"gpio_98", NULL, NULL, "safe_mode"),
956 	_OMAP3_MUXENTRY(CAM_HS, 94,
957 		"cam_hs", NULL, NULL, NULL,
958 		"gpio_94", NULL, NULL, "safe_mode"),
959 	_OMAP3_MUXENTRY(CAM_PCLK, 97,
960 		"cam_pclk", NULL, NULL, NULL,
961 		"gpio_97", NULL, NULL, "safe_mode"),
962 	_OMAP3_MUXENTRY(CAM_STROBE, 126,
963 		"cam_strobe", NULL, NULL, NULL,
964 		"gpio_126", NULL, NULL, "safe_mode"),
965 	_OMAP3_MUXENTRY(CAM_VS, 95,
966 		"cam_vs", NULL, NULL, NULL,
967 		"gpio_95", NULL, NULL, "safe_mode"),
968 	_OMAP3_MUXENTRY(CAM_WEN, 167,
969 		"cam_wen", NULL, "cam_shutter", NULL,
970 		"gpio_167", NULL, NULL, "safe_mode"),
971 	_OMAP3_MUXENTRY(DSS_DATA6, 76,
972 		"dss_data6", NULL, "uart1_tx", NULL,
973 		"gpio_76", NULL, NULL, "safe_mode"),
974 	_OMAP3_MUXENTRY(DSS_DATA7, 77,
975 		"dss_data7", NULL, "uart1_rx", NULL,
976 		"gpio_77", NULL, NULL, "safe_mode"),
977 	_OMAP3_MUXENTRY(DSS_DATA8, 78,
978 		"dss_data8", NULL, NULL, NULL,
979 		"gpio_78", NULL, NULL, "safe_mode"),
980 	_OMAP3_MUXENTRY(DSS_DATA9, 79,
981 		"dss_data9", NULL, NULL, NULL,
982 		"gpio_79", NULL, NULL, "safe_mode"),
983 	_OMAP3_MUXENTRY(DSS_HSYNC, 67,
984 		"dss_hsync", NULL, NULL, NULL,
985 		"gpio_67", NULL, NULL, "safe_mode"),
986 	_OMAP3_MUXENTRY(DSS_PCLK, 66,
987 		"dss_pclk", NULL, NULL, NULL,
988 		"gpio_66", NULL, NULL, "safe_mode"),
989 	_OMAP3_MUXENTRY(ETK_CLK, 12,
990 		"etk_clk", "mcbsp5_clkx", "sdmmc3_clk", "hsusb1_stp",
991 		"gpio_12", "mm1_rxdp", "hsusb1_tll_stp", NULL),
992 	_OMAP3_MUXENTRY(ETK_CTL, 13,
993 		"etk_ctl", NULL, "sdmmc3_cmd", "hsusb1_clk",
994 		"gpio_13", NULL, "hsusb1_tll_clk", NULL),
995 	_OMAP3_MUXENTRY(ETK_D0, 14,
996 		"etk_d0", "mcspi3_simo", "sdmmc3_dat4", "hsusb1_data0",
997 		"gpio_14", "mm1_rxrcv", "hsusb1_tll_data0", NULL),
998 	_OMAP3_MUXENTRY(ETK_D1, 15,
999 		"etk_d1", "mcspi3_somi", NULL, "hsusb1_data1",
1000 		"gpio_15", "mm1_txse0", "hsusb1_tll_data1", NULL),
1001 	_OMAP3_MUXENTRY(ETK_D10, 24,
1002 		"etk_d10", NULL, "uart1_rx", "hsusb2_clk",
1003 		"gpio_24", NULL, "hsusb2_tll_clk", NULL),
1004 	_OMAP3_MUXENTRY(ETK_D11, 25,
1005 		"etk_d11", NULL, NULL, "hsusb2_stp",
1006 		"gpio_25", "mm2_rxdp", "hsusb2_tll_stp", NULL),
1007 	_OMAP3_MUXENTRY(ETK_D12, 26,
1008 		"etk_d12", NULL, NULL, "hsusb2_dir",
1009 		"gpio_26", NULL, "hsusb2_tll_dir", NULL),
1010 	_OMAP3_MUXENTRY(ETK_D13, 27,
1011 		"etk_d13", NULL, NULL, "hsusb2_nxt",
1012 		"gpio_27", "mm2_rxdm", "hsusb2_tll_nxt", NULL),
1013 	_OMAP3_MUXENTRY(ETK_D14, 28,
1014 		"etk_d14", NULL, NULL, "hsusb2_data0",
1015 		"gpio_28", "mm2_rxrcv", "hsusb2_tll_data0", NULL),
1016 	_OMAP3_MUXENTRY(ETK_D15, 29,
1017 		"etk_d15", NULL, NULL, "hsusb2_data1",
1018 		"gpio_29", "mm2_txse0", "hsusb2_tll_data1", NULL),
1019 	_OMAP3_MUXENTRY(ETK_D2, 16,
1020 		"etk_d2", "mcspi3_cs0", NULL, "hsusb1_data2",
1021 		"gpio_16", "mm1_txdat", "hsusb1_tll_data2", NULL),
1022 	_OMAP3_MUXENTRY(ETK_D3, 17,
1023 		"etk_d3", "mcspi3_clk", "sdmmc3_dat3", "hsusb1_data7",
1024 		"gpio_17", NULL, "hsusb1_tll_data7", NULL),
1025 	_OMAP3_MUXENTRY(ETK_D4, 18,
1026 		"etk_d4", "mcbsp5_dr", "sdmmc3_dat0", "hsusb1_data4",
1027 		"gpio_18", NULL, "hsusb1_tll_data4", NULL),
1028 	_OMAP3_MUXENTRY(ETK_D5, 19,
1029 		"etk_d5", "mcbsp5_fsx", "sdmmc3_dat1", "hsusb1_data5",
1030 		"gpio_19", NULL, "hsusb1_tll_data5", NULL),
1031 	_OMAP3_MUXENTRY(ETK_D6, 20,
1032 		"etk_d6", "mcbsp5_dx", "sdmmc3_dat2", "hsusb1_data6",
1033 		"gpio_20", NULL, "hsusb1_tll_data6", NULL),
1034 	_OMAP3_MUXENTRY(ETK_D7, 21,
1035 		"etk_d7", "mcspi3_cs1", "sdmmc3_dat7", "hsusb1_data3",
1036 		"gpio_21", "mm1_txen_n", "hsusb1_tll_data3", NULL),
1037 	_OMAP3_MUXENTRY(ETK_D8, 22,
1038 		"etk_d8", "sys_drm_msecure", "sdmmc3_dat6", "hsusb1_dir",
1039 		"gpio_22", NULL, "hsusb1_tll_dir", NULL),
1040 	_OMAP3_MUXENTRY(ETK_D9, 23,
1041 		"etk_d9", "sys_secure_indicator", "sdmmc3_dat5", "hsusb1_nxt",
1042 		"gpio_23", "mm1_rxdm", "hsusb1_tll_nxt", NULL),
1043 	_OMAP3_MUXENTRY(MCBSP3_CLKX, 142,
1044 		"mcbsp3_clkx", "uart2_tx", NULL, NULL,
1045 		"gpio_142", NULL, NULL, "safe_mode"),
1046 	_OMAP3_MUXENTRY(MCBSP3_DR, 141,
1047 		"mcbsp3_dr", "uart2_rts", NULL, NULL,
1048 		"gpio_141", NULL, NULL, "safe_mode"),
1049 	_OMAP3_MUXENTRY(MCBSP3_DX, 140,
1050 		"mcbsp3_dx", "uart2_cts", NULL, NULL,
1051 		"gpio_140", NULL, NULL, "safe_mode"),
1052 	_OMAP3_MUXENTRY(MCBSP3_FSX, 143,
1053 		"mcbsp3_fsx", "uart2_rx", NULL, NULL,
1054 		"gpio_143", NULL, NULL, "safe_mode"),
1055 	_OMAP3_MUXENTRY(SDMMC2_DAT5, 137,
1056 		"sdmmc2_dat5", "sdmmc2_dir_dat1",
1057 		"cam_global_reset", "sdmmc3_dat1",
1058 		"gpio_137", NULL, NULL, "safe_mode"),
1059 	_OMAP3_MUXENTRY(SDMMC2_DAT6, 138,
1060 		"sdmmc2_dat6", "sdmmc2_dir_cmd", "cam_shutter", "sdmmc3_dat2",
1061 		"gpio_138", NULL, NULL, "safe_mode"),
1062 	_OMAP3_MUXENTRY(SDMMC2_DAT7, 139,
1063 		"sdmmc2_dat7", "sdmmc2_clkin", NULL, "sdmmc3_dat3",
1064 		"gpio_139", NULL, NULL, "safe_mode"),
1065 	_OMAP3_MUXENTRY(UART1_CTS, 150,
1066 		"uart1_cts", NULL, NULL, NULL,
1067 		"gpio_150", NULL, NULL, "safe_mode"),
1068 	{ .reg_offset = OMAP_MUX_TERMINATOR },
1069 };
1070 #else
1071 #define omap3_cus_subset	NULL
1072 #endif
1073 
1074 /*
1075  * Balls for CUS package
1076  * 423-pin s-PBGA Package, 0.65mm Ball Pitch (Bottom)
1077  */
1078 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS)		\
1079 		&& defined(CONFIG_OMAP_PACKAGE_CUS)
1080 static struct omap_ball __initdata omap3_cus_ball[] = {
1081 	_OMAP3_BALLENTRY(CAM_D0, "ab18", NULL),
1082 	_OMAP3_BALLENTRY(CAM_D1, "ac18", NULL),
1083 	_OMAP3_BALLENTRY(CAM_D10, "f21", NULL),
1084 	_OMAP3_BALLENTRY(CAM_D11, "g21", NULL),
1085 	_OMAP3_BALLENTRY(CAM_D2, "g19", NULL),
1086 	_OMAP3_BALLENTRY(CAM_D3, "f19", NULL),
1087 	_OMAP3_BALLENTRY(CAM_D4, "g20", NULL),
1088 	_OMAP3_BALLENTRY(CAM_D5, "b21", NULL),
1089 	_OMAP3_BALLENTRY(CAM_D6, "l24", NULL),
1090 	_OMAP3_BALLENTRY(CAM_D7, "k24", NULL),
1091 	_OMAP3_BALLENTRY(CAM_D8, "j23", NULL),
1092 	_OMAP3_BALLENTRY(CAM_D9, "k23", NULL),
1093 	_OMAP3_BALLENTRY(CAM_FLD, "h24", NULL),
1094 	_OMAP3_BALLENTRY(CAM_HS, "a22", NULL),
1095 	_OMAP3_BALLENTRY(CAM_PCLK, "j19", NULL),
1096 	_OMAP3_BALLENTRY(CAM_STROBE, "j20", NULL),
1097 	_OMAP3_BALLENTRY(CAM_VS, "e18", NULL),
1098 	_OMAP3_BALLENTRY(CAM_WEN, "f18", NULL),
1099 	_OMAP3_BALLENTRY(CAM_XCLKA, "b22", NULL),
1100 	_OMAP3_BALLENTRY(CAM_XCLKB, "c22", NULL),
1101 	_OMAP3_BALLENTRY(DSS_ACBIAS, "j21", NULL),
1102 	_OMAP3_BALLENTRY(DSS_DATA0, "ac19", NULL),
1103 	_OMAP3_BALLENTRY(DSS_DATA1, "ab19", NULL),
1104 	_OMAP3_BALLENTRY(DSS_DATA10, "ac22", NULL),
1105 	_OMAP3_BALLENTRY(DSS_DATA11, "ac23", NULL),
1106 	_OMAP3_BALLENTRY(DSS_DATA12, "ab22", NULL),
1107 	_OMAP3_BALLENTRY(DSS_DATA13, "y22", NULL),
1108 	_OMAP3_BALLENTRY(DSS_DATA14, "w22", NULL),
1109 	_OMAP3_BALLENTRY(DSS_DATA15, "v22", NULL),
1110 	_OMAP3_BALLENTRY(DSS_DATA16, "j22", NULL),
1111 	_OMAP3_BALLENTRY(DSS_DATA17, "g23", NULL),
1112 	_OMAP3_BALLENTRY(DSS_DATA18, "g24", NULL),
1113 	_OMAP3_BALLENTRY(DSS_DATA19, "h23", NULL),
1114 	_OMAP3_BALLENTRY(DSS_DATA2, "ad20", NULL),
1115 	_OMAP3_BALLENTRY(DSS_DATA20, "d23", NULL),
1116 	_OMAP3_BALLENTRY(DSS_DATA21, "k22", NULL),
1117 	_OMAP3_BALLENTRY(DSS_DATA22, "v21", NULL),
1118 	_OMAP3_BALLENTRY(DSS_DATA23, "w21", NULL),
1119 	_OMAP3_BALLENTRY(DSS_DATA3, "ac20", NULL),
1120 	_OMAP3_BALLENTRY(DSS_DATA4, "ad21", NULL),
1121 	_OMAP3_BALLENTRY(DSS_DATA5, "ac21", NULL),
1122 	_OMAP3_BALLENTRY(DSS_DATA6, "d24", NULL),
1123 	_OMAP3_BALLENTRY(DSS_DATA7, "e23", NULL),
1124 	_OMAP3_BALLENTRY(DSS_DATA8, "e24", NULL),
1125 	_OMAP3_BALLENTRY(DSS_DATA9, "f23", NULL),
1126 	_OMAP3_BALLENTRY(DSS_HSYNC, "e22", NULL),
1127 	_OMAP3_BALLENTRY(DSS_PCLK, "g22", NULL),
1128 	_OMAP3_BALLENTRY(DSS_VSYNC, "f22", NULL),
1129 	_OMAP3_BALLENTRY(ETK_CLK, "ac1", NULL),
1130 	_OMAP3_BALLENTRY(ETK_CTL, "ad3", NULL),
1131 	_OMAP3_BALLENTRY(ETK_D0, "ad6", NULL),
1132 	_OMAP3_BALLENTRY(ETK_D1, "ac6", NULL),
1133 	_OMAP3_BALLENTRY(ETK_D10, "ac3", NULL),
1134 	_OMAP3_BALLENTRY(ETK_D11, "ac9", NULL),
1135 	_OMAP3_BALLENTRY(ETK_D12, "ac10", NULL),
1136 	_OMAP3_BALLENTRY(ETK_D13, "ad11", NULL),
1137 	_OMAP3_BALLENTRY(ETK_D14, "ac11", NULL),
1138 	_OMAP3_BALLENTRY(ETK_D15, "ad12", NULL),
1139 	_OMAP3_BALLENTRY(ETK_D2, "ac7", NULL),
1140 	_OMAP3_BALLENTRY(ETK_D3, "ad8", NULL),
1141 	_OMAP3_BALLENTRY(ETK_D4, "ac5", NULL),
1142 	_OMAP3_BALLENTRY(ETK_D5, "ad2", NULL),
1143 	_OMAP3_BALLENTRY(ETK_D6, "ac8", NULL),
1144 	_OMAP3_BALLENTRY(ETK_D7, "ad9", NULL),
1145 	_OMAP3_BALLENTRY(ETK_D8, "ac4", NULL),
1146 	_OMAP3_BALLENTRY(ETK_D9, "ad5", NULL),
1147 	_OMAP3_BALLENTRY(GPMC_A1, "k4", NULL),
1148 	_OMAP3_BALLENTRY(GPMC_A10, "g2", NULL),
1149 	_OMAP3_BALLENTRY(GPMC_A2, "k3", NULL),
1150 	_OMAP3_BALLENTRY(GPMC_A3, "k2", NULL),
1151 	_OMAP3_BALLENTRY(GPMC_A4, "j4", NULL),
1152 	_OMAP3_BALLENTRY(GPMC_A5, "j3", NULL),
1153 	_OMAP3_BALLENTRY(GPMC_A6, "j2", NULL),
1154 	_OMAP3_BALLENTRY(GPMC_A7, "j1", NULL),
1155 	_OMAP3_BALLENTRY(GPMC_A8, "h1", NULL),
1156 	_OMAP3_BALLENTRY(GPMC_A9, "h2", NULL),
1157 	_OMAP3_BALLENTRY(GPMC_CLK, "w2", NULL),
1158 	_OMAP3_BALLENTRY(GPMC_D10, "u1", NULL),
1159 	_OMAP3_BALLENTRY(GPMC_D11, "r3", NULL),
1160 	_OMAP3_BALLENTRY(GPMC_D12, "t3", NULL),
1161 	_OMAP3_BALLENTRY(GPMC_D13, "u2", NULL),
1162 	_OMAP3_BALLENTRY(GPMC_D14, "v1", NULL),
1163 	_OMAP3_BALLENTRY(GPMC_D15, "v2", NULL),
1164 	_OMAP3_BALLENTRY(GPMC_D8, "r2", NULL),
1165 	_OMAP3_BALLENTRY(GPMC_D9, "t2", NULL),
1166 	_OMAP3_BALLENTRY(GPMC_NBE0_CLE, "k5", NULL),
1167 	_OMAP3_BALLENTRY(GPMC_NBE1, "l1", NULL),
1168 	_OMAP3_BALLENTRY(GPMC_NCS3, "d2", NULL),
1169 	_OMAP3_BALLENTRY(GPMC_NCS4, "f4", NULL),
1170 	_OMAP3_BALLENTRY(GPMC_NCS5, "g5", NULL),
1171 	_OMAP3_BALLENTRY(GPMC_NCS6, "f3", NULL),
1172 	_OMAP3_BALLENTRY(GPMC_NCS7, "g4", NULL),
1173 	_OMAP3_BALLENTRY(GPMC_NWP, "e1", NULL),
1174 	_OMAP3_BALLENTRY(GPMC_WAIT3, "c2", NULL),
1175 	_OMAP3_BALLENTRY(HDQ_SIO, "a24", NULL),
1176 	_OMAP3_BALLENTRY(HSUSB0_CLK, "r21", NULL),
1177 	_OMAP3_BALLENTRY(HSUSB0_DATA0, "t24", NULL),
1178 	_OMAP3_BALLENTRY(HSUSB0_DATA1, "t23", NULL),
1179 	_OMAP3_BALLENTRY(HSUSB0_DATA2, "u24", NULL),
1180 	_OMAP3_BALLENTRY(HSUSB0_DATA3, "u23", NULL),
1181 	_OMAP3_BALLENTRY(HSUSB0_DATA4, "w24", NULL),
1182 	_OMAP3_BALLENTRY(HSUSB0_DATA5, "v23", NULL),
1183 	_OMAP3_BALLENTRY(HSUSB0_DATA6, "w23", NULL),
1184 	_OMAP3_BALLENTRY(HSUSB0_DATA7, "t22", NULL),
1185 	_OMAP3_BALLENTRY(HSUSB0_DIR, "p23", NULL),
1186 	_OMAP3_BALLENTRY(HSUSB0_NXT, "r22", NULL),
1187 	_OMAP3_BALLENTRY(HSUSB0_STP, "r23", NULL),
1188 	_OMAP3_BALLENTRY(I2C2_SCL, "ac15", NULL),
1189 	_OMAP3_BALLENTRY(I2C2_SDA, "ac14", NULL),
1190 	_OMAP3_BALLENTRY(I2C3_SCL, "ac13", NULL),
1191 	_OMAP3_BALLENTRY(I2C3_SDA, "ac12", NULL),
1192 	_OMAP3_BALLENTRY(I2C4_SCL, "y16", NULL),
1193 	_OMAP3_BALLENTRY(I2C4_SDA, "y15", NULL),
1194 	_OMAP3_BALLENTRY(JTAG_EMU0, "ac24", NULL),
1195 	_OMAP3_BALLENTRY(JTAG_EMU1, "ad24", NULL),
1196 	_OMAP3_BALLENTRY(MCBSP1_CLKR, "w19", NULL),
1197 	_OMAP3_BALLENTRY(MCBSP1_CLKX, "v18", NULL),
1198 	_OMAP3_BALLENTRY(MCBSP1_DR, "y18", NULL),
1199 	_OMAP3_BALLENTRY(MCBSP1_DX, "w18", NULL),
1200 	_OMAP3_BALLENTRY(MCBSP1_FSR, "ab20", NULL),
1201 	_OMAP3_BALLENTRY(MCBSP1_FSX, "aa19", NULL),
1202 	_OMAP3_BALLENTRY(MCBSP2_CLKX, "t21", NULL),
1203 	_OMAP3_BALLENTRY(MCBSP2_DR, "v19", NULL),
1204 	_OMAP3_BALLENTRY(MCBSP2_DX, "r20", NULL),
1205 	_OMAP3_BALLENTRY(MCBSP2_FSX, "v20", NULL),
1206 	_OMAP3_BALLENTRY(MCBSP3_CLKX, "w4", NULL),
1207 	_OMAP3_BALLENTRY(MCBSP3_DR, "v5", NULL),
1208 	_OMAP3_BALLENTRY(MCBSP3_DX, "v6", NULL),
1209 	_OMAP3_BALLENTRY(MCBSP3_FSX, "v4", NULL),
1210 	_OMAP3_BALLENTRY(MCBSP_CLKS, "aa18", NULL),
1211 	_OMAP3_BALLENTRY(MCSPI1_CLK, "t5", NULL),
1212 	_OMAP3_BALLENTRY(MCSPI1_CS0, "t6", NULL),
1213 	_OMAP3_BALLENTRY(MCSPI1_CS3, "r5", NULL),
1214 	_OMAP3_BALLENTRY(MCSPI1_SIMO, "r4", NULL),
1215 	_OMAP3_BALLENTRY(MCSPI1_SOMI, "t4", NULL),
1216 	_OMAP3_BALLENTRY(MCSPI2_CLK, "n5", NULL),
1217 	_OMAP3_BALLENTRY(MCSPI2_CS0, "m5", NULL),
1218 	_OMAP3_BALLENTRY(MCSPI2_CS1, "m4", NULL),
1219 	_OMAP3_BALLENTRY(MCSPI2_SIMO, "n4", NULL),
1220 	_OMAP3_BALLENTRY(MCSPI2_SOMI, "n3", NULL),
1221 	_OMAP3_BALLENTRY(SDMMC1_CLK, "m23", NULL),
1222 	_OMAP3_BALLENTRY(SDMMC1_CMD, "l23", NULL),
1223 	_OMAP3_BALLENTRY(SDMMC1_DAT0, "m22", NULL),
1224 	_OMAP3_BALLENTRY(SDMMC1_DAT1, "m21", NULL),
1225 	_OMAP3_BALLENTRY(SDMMC1_DAT2, "m20", NULL),
1226 	_OMAP3_BALLENTRY(SDMMC1_DAT3, "n23", NULL),
1227 	_OMAP3_BALLENTRY(SDMMC1_DAT4, "n22", NULL),
1228 	_OMAP3_BALLENTRY(SDMMC1_DAT5, "n21", NULL),
1229 	_OMAP3_BALLENTRY(SDMMC1_DAT6, "n20", NULL),
1230 	_OMAP3_BALLENTRY(SDMMC1_DAT7, "p24", NULL),
1231 	_OMAP3_BALLENTRY(SDMMC2_CLK, "y1", NULL),
1232 	_OMAP3_BALLENTRY(SDMMC2_CMD, "ab5", NULL),
1233 	_OMAP3_BALLENTRY(SDMMC2_DAT0, "ab3", NULL),
1234 	_OMAP3_BALLENTRY(SDMMC2_DAT1, "y3", NULL),
1235 	_OMAP3_BALLENTRY(SDMMC2_DAT2, "w3", NULL),
1236 	_OMAP3_BALLENTRY(SDMMC2_DAT3, "v3", NULL),
1237 	_OMAP3_BALLENTRY(SDMMC2_DAT4, "ab2", NULL),
1238 	_OMAP3_BALLENTRY(SDMMC2_DAT5, "aa2", NULL),
1239 	_OMAP3_BALLENTRY(SDMMC2_DAT6, "y2", NULL),
1240 	_OMAP3_BALLENTRY(SDMMC2_DAT7, "aa1", NULL),
1241 	_OMAP3_BALLENTRY(SYS_BOOT0, "ab12", NULL),
1242 	_OMAP3_BALLENTRY(SYS_BOOT1, "ac16", NULL),
1243 	_OMAP3_BALLENTRY(SYS_BOOT2, "ad17", NULL),
1244 	_OMAP3_BALLENTRY(SYS_BOOT3, "ad18", NULL),
1245 	_OMAP3_BALLENTRY(SYS_BOOT4, "ac17", NULL),
1246 	_OMAP3_BALLENTRY(SYS_BOOT5, "ab16", NULL),
1247 	_OMAP3_BALLENTRY(SYS_BOOT6, "aa15", NULL),
1248 	_OMAP3_BALLENTRY(SYS_CLKOUT1, "y7", NULL),
1249 	_OMAP3_BALLENTRY(SYS_CLKOUT2, "aa6", NULL),
1250 	_OMAP3_BALLENTRY(SYS_CLKREQ, "y13", NULL),
1251 	_OMAP3_BALLENTRY(SYS_NIRQ, "w16", NULL),
1252 	_OMAP3_BALLENTRY(SYS_NRESWARM, "y10", NULL),
1253 	_OMAP3_BALLENTRY(SYS_OFF_MODE, "ad23", NULL),
1254 	_OMAP3_BALLENTRY(UART1_CTS, "ac2", NULL),
1255 	_OMAP3_BALLENTRY(UART1_RTS, "w6", NULL),
1256 	_OMAP3_BALLENTRY(UART1_RX, "v7", NULL),
1257 	_OMAP3_BALLENTRY(UART1_TX, "w7", NULL),
1258 	_OMAP3_BALLENTRY(UART3_CTS_RCTX, "a23", NULL),
1259 	_OMAP3_BALLENTRY(UART3_RTS_SD, "b23", NULL),
1260 	_OMAP3_BALLENTRY(UART3_RX_IRRX, "b24", NULL),
1261 	_OMAP3_BALLENTRY(UART3_TX_IRTX, "c23", NULL),
1262 	{ .reg_offset = OMAP_MUX_TERMINATOR },
1263 };
1264 #else
1265 #define omap3_cus_ball	 NULL
1266 #endif
1267 
1268 /*
1269  * Signals different on CBB package comapared to superset
1270  */
1271 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_OMAP_PACKAGE_CBB)
1272 static struct omap_mux __initdata omap3_cbb_subset[] = {
1273 	_OMAP3_MUXENTRY(CAM_D10, 109,
1274 		"cam_d10", NULL, NULL, NULL,
1275 		"gpio_109", NULL, NULL, "safe_mode"),
1276 	_OMAP3_MUXENTRY(CAM_D11, 110,
1277 		"cam_d11", NULL, NULL, NULL,
1278 		"gpio_110", NULL, NULL, "safe_mode"),
1279 	_OMAP3_MUXENTRY(CAM_D2, 101,
1280 		"cam_d2", NULL, NULL, NULL,
1281 		"gpio_101", NULL, NULL, "safe_mode"),
1282 	_OMAP3_MUXENTRY(CAM_D3, 102,
1283 		"cam_d3", NULL, NULL, NULL,
1284 		"gpio_102", NULL, NULL, "safe_mode"),
1285 	_OMAP3_MUXENTRY(CAM_D4, 103,
1286 		"cam_d4", NULL, NULL, NULL,
1287 		"gpio_103", NULL, NULL, "safe_mode"),
1288 	_OMAP3_MUXENTRY(CAM_D5, 104,
1289 		"cam_d5", NULL, NULL, NULL,
1290 		"gpio_104", NULL, NULL, "safe_mode"),
1291 	_OMAP3_MUXENTRY(CAM_FLD, 98,
1292 		"cam_fld", NULL, "cam_global_reset", NULL,
1293 		"gpio_98", NULL, NULL, "safe_mode"),
1294 	_OMAP3_MUXENTRY(CAM_HS, 94,
1295 		"cam_hs", NULL, NULL, NULL,
1296 		"gpio_94", NULL, NULL, "safe_mode"),
1297 	_OMAP3_MUXENTRY(CAM_PCLK, 97,
1298 		"cam_pclk", NULL, NULL, NULL,
1299 		"gpio_97", NULL, NULL, "safe_mode"),
1300 	_OMAP3_MUXENTRY(CAM_STROBE, 126,
1301 		"cam_strobe", NULL, NULL, NULL,
1302 		"gpio_126", NULL, NULL, "safe_mode"),
1303 	_OMAP3_MUXENTRY(CAM_VS, 95,
1304 		"cam_vs", NULL, NULL, NULL,
1305 		"gpio_95", NULL, NULL, "safe_mode"),
1306 	_OMAP3_MUXENTRY(CAM_WEN, 167,
1307 		"cam_wen", NULL, "cam_shutter", NULL,
1308 		"gpio_167", NULL, NULL, "safe_mode"),
1309 	_OMAP3_MUXENTRY(DSS_DATA6, 76,
1310 		"dss_data6", NULL, "uart1_tx", NULL,
1311 		"gpio_76", NULL, NULL, "safe_mode"),
1312 	_OMAP3_MUXENTRY(DSS_DATA7, 77,
1313 		"dss_data7", NULL, "uart1_rx", NULL,
1314 		"gpio_77", NULL, NULL, "safe_mode"),
1315 	_OMAP3_MUXENTRY(DSS_DATA8, 78,
1316 		"dss_data8", NULL, NULL, NULL,
1317 		"gpio_78", NULL, NULL, "safe_mode"),
1318 	_OMAP3_MUXENTRY(DSS_DATA9, 79,
1319 		"dss_data9", NULL, NULL, NULL,
1320 		"gpio_79", NULL, NULL, "safe_mode"),
1321 	_OMAP3_MUXENTRY(DSS_HSYNC, 67,
1322 		"dss_hsync", NULL, NULL, NULL,
1323 		"gpio_67", NULL, NULL, "safe_mode"),
1324 	_OMAP3_MUXENTRY(DSS_PCLK, 66,
1325 		"dss_pclk", NULL, NULL, NULL,
1326 		"gpio_66", NULL, NULL, "safe_mode"),
1327 	_OMAP3_MUXENTRY(ETK_CLK, 12,
1328 		"etk_clk", "mcbsp5_clkx", "sdmmc3_clk", "hsusb1_stp",
1329 		"gpio_12", "mm1_rxdp", "hsusb1_tll_stp", NULL),
1330 	_OMAP3_MUXENTRY(ETK_CTL, 13,
1331 		"etk_ctl", NULL, "sdmmc3_cmd", "hsusb1_clk",
1332 		"gpio_13", NULL, "hsusb1_tll_clk", NULL),
1333 	_OMAP3_MUXENTRY(ETK_D0, 14,
1334 		"etk_d0", "mcspi3_simo", "sdmmc3_dat4", "hsusb1_data0",
1335 		"gpio_14", "mm1_rxrcv", "hsusb1_tll_data0", NULL),
1336 	_OMAP3_MUXENTRY(ETK_D1, 15,
1337 		"etk_d1", "mcspi3_somi", NULL, "hsusb1_data1",
1338 		"gpio_15", "mm1_txse0", "hsusb1_tll_data1", NULL),
1339 	_OMAP3_MUXENTRY(ETK_D10, 24,
1340 		"etk_d10", NULL, "uart1_rx", "hsusb2_clk",
1341 		"gpio_24", NULL, "hsusb2_tll_clk", NULL),
1342 	_OMAP3_MUXENTRY(ETK_D11, 25,
1343 		"etk_d11", NULL, NULL, "hsusb2_stp",
1344 		"gpio_25", "mm2_rxdp", "hsusb2_tll_stp", NULL),
1345 	_OMAP3_MUXENTRY(ETK_D12, 26,
1346 		"etk_d12", NULL, NULL, "hsusb2_dir",
1347 		"gpio_26", NULL, "hsusb2_tll_dir", NULL),
1348 	_OMAP3_MUXENTRY(ETK_D13, 27,
1349 		"etk_d13", NULL, NULL, "hsusb2_nxt",
1350 		"gpio_27", "mm2_rxdm", "hsusb2_tll_nxt", NULL),
1351 	_OMAP3_MUXENTRY(ETK_D14, 28,
1352 		"etk_d14", NULL, NULL, "hsusb2_data0",
1353 		"gpio_28", "mm2_rxrcv", "hsusb2_tll_data0", NULL),
1354 	_OMAP3_MUXENTRY(ETK_D15, 29,
1355 		"etk_d15", NULL, NULL, "hsusb2_data1",
1356 		"gpio_29", "mm2_txse0", "hsusb2_tll_data1", NULL),
1357 	_OMAP3_MUXENTRY(ETK_D2, 16,
1358 		"etk_d2", "mcspi3_cs0", NULL, "hsusb1_data2",
1359 		"gpio_16", "mm1_txdat", "hsusb1_tll_data2", NULL),
1360 	_OMAP3_MUXENTRY(ETK_D3, 17,
1361 		"etk_d3", "mcspi3_clk", "sdmmc3_dat3", "hsusb1_data7",
1362 		"gpio_17", NULL, "hsusb1_tll_data7", NULL),
1363 	_OMAP3_MUXENTRY(ETK_D4, 18,
1364 		"etk_d4", "mcbsp5_dr", "sdmmc3_dat0", "hsusb1_data4",
1365 		"gpio_18", NULL, "hsusb1_tll_data4", NULL),
1366 	_OMAP3_MUXENTRY(ETK_D5, 19,
1367 		"etk_d5", "mcbsp5_fsx", "sdmmc3_dat1", "hsusb1_data5",
1368 		"gpio_19", NULL, "hsusb1_tll_data5", NULL),
1369 	_OMAP3_MUXENTRY(ETK_D6, 20,
1370 		"etk_d6", "mcbsp5_dx", "sdmmc3_dat2", "hsusb1_data6",
1371 		"gpio_20", NULL, "hsusb1_tll_data6", NULL),
1372 	_OMAP3_MUXENTRY(ETK_D7, 21,
1373 		"etk_d7", "mcspi3_cs1", "sdmmc3_dat7", "hsusb1_data3",
1374 		"gpio_21", "mm1_txen_n", "hsusb1_tll_data3", NULL),
1375 	_OMAP3_MUXENTRY(ETK_D8, 22,
1376 		"etk_d8", "sys_drm_msecure", "sdmmc3_dat6", "hsusb1_dir",
1377 		"gpio_22", NULL, "hsusb1_tll_dir", NULL),
1378 	_OMAP3_MUXENTRY(ETK_D9, 23,
1379 		"etk_d9", "sys_secure_indicator", "sdmmc3_dat5", "hsusb1_nxt",
1380 		"gpio_23", "mm1_rxdm", "hsusb1_tll_nxt", NULL),
1381 	{ .reg_offset = OMAP_MUX_TERMINATOR },
1382 };
1383 #else
1384 #define omap3_cbb_subset	NULL
1385 #endif
1386 
1387 /*
1388  * Balls for CBB package
1389  * 515-pin s-PBGA Package, 0.50mm Ball Pitch (Top), 0.40mm Ball Pitch (Bottom)
1390  */
1391 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS)		\
1392 		&& defined(CONFIG_OMAP_PACKAGE_CBB)
1393 static struct omap_ball __initdata omap3_cbb_ball[] = {
1394 	_OMAP3_BALLENTRY(CAM_D0, "ag17", NULL),
1395 	_OMAP3_BALLENTRY(CAM_D1, "ah17", NULL),
1396 	_OMAP3_BALLENTRY(CAM_D10, "b25", NULL),
1397 	_OMAP3_BALLENTRY(CAM_D11, "c26", NULL),
1398 	_OMAP3_BALLENTRY(CAM_D2, "b24", NULL),
1399 	_OMAP3_BALLENTRY(CAM_D3, "c24", NULL),
1400 	_OMAP3_BALLENTRY(CAM_D4, "d24", NULL),
1401 	_OMAP3_BALLENTRY(CAM_D5, "a25", NULL),
1402 	_OMAP3_BALLENTRY(CAM_D6, "k28", NULL),
1403 	_OMAP3_BALLENTRY(CAM_D7, "l28", NULL),
1404 	_OMAP3_BALLENTRY(CAM_D8, "k27", NULL),
1405 	_OMAP3_BALLENTRY(CAM_D9, "l27", NULL),
1406 	_OMAP3_BALLENTRY(CAM_FLD, "c23", NULL),
1407 	_OMAP3_BALLENTRY(CAM_HS, "a24", NULL),
1408 	_OMAP3_BALLENTRY(CAM_PCLK, "c27", NULL),
1409 	_OMAP3_BALLENTRY(CAM_STROBE, "d25", NULL),
1410 	_OMAP3_BALLENTRY(CAM_VS, "a23", NULL),
1411 	_OMAP3_BALLENTRY(CAM_WEN, "b23", NULL),
1412 	_OMAP3_BALLENTRY(CAM_XCLKA, "c25", NULL),
1413 	_OMAP3_BALLENTRY(CAM_XCLKB, "b26", NULL),
1414 	_OMAP3_BALLENTRY(CSI2_DX0, "ag19", NULL),
1415 	_OMAP3_BALLENTRY(CSI2_DX1, "ag18", NULL),
1416 	_OMAP3_BALLENTRY(CSI2_DY0, "ah19", NULL),
1417 	_OMAP3_BALLENTRY(CSI2_DY1, "ah18", NULL),
1418 	_OMAP3_BALLENTRY(DSS_ACBIAS, "e27", NULL),
1419 	_OMAP3_BALLENTRY(DSS_DATA0, "ag22", NULL),
1420 	_OMAP3_BALLENTRY(DSS_DATA1, "ah22", NULL),
1421 	_OMAP3_BALLENTRY(DSS_DATA10, "ad28", NULL),
1422 	_OMAP3_BALLENTRY(DSS_DATA11, "ad27", NULL),
1423 	_OMAP3_BALLENTRY(DSS_DATA12, "ab28", NULL),
1424 	_OMAP3_BALLENTRY(DSS_DATA13, "ab27", NULL),
1425 	_OMAP3_BALLENTRY(DSS_DATA14, "aa28", NULL),
1426 	_OMAP3_BALLENTRY(DSS_DATA15, "aa27", NULL),
1427 	_OMAP3_BALLENTRY(DSS_DATA16, "g25", NULL),
1428 	_OMAP3_BALLENTRY(DSS_DATA17, "h27", NULL),
1429 	_OMAP3_BALLENTRY(DSS_DATA18, "h26", NULL),
1430 	_OMAP3_BALLENTRY(DSS_DATA19, "h25", NULL),
1431 	_OMAP3_BALLENTRY(DSS_DATA2, "ag23", NULL),
1432 	_OMAP3_BALLENTRY(DSS_DATA20, "e28", NULL),
1433 	_OMAP3_BALLENTRY(DSS_DATA21, "j26", NULL),
1434 	_OMAP3_BALLENTRY(DSS_DATA22, "ac27", NULL),
1435 	_OMAP3_BALLENTRY(DSS_DATA23, "ac28", NULL),
1436 	_OMAP3_BALLENTRY(DSS_DATA3, "ah23", NULL),
1437 	_OMAP3_BALLENTRY(DSS_DATA4, "ag24", NULL),
1438 	_OMAP3_BALLENTRY(DSS_DATA5, "ah24", NULL),
1439 	_OMAP3_BALLENTRY(DSS_DATA6, "e26", NULL),
1440 	_OMAP3_BALLENTRY(DSS_DATA7, "f28", NULL),
1441 	_OMAP3_BALLENTRY(DSS_DATA8, "f27", NULL),
1442 	_OMAP3_BALLENTRY(DSS_DATA9, "g26", NULL),
1443 	_OMAP3_BALLENTRY(DSS_HSYNC, "d26", NULL),
1444 	_OMAP3_BALLENTRY(DSS_PCLK, "d28", NULL),
1445 	_OMAP3_BALLENTRY(DSS_VSYNC, "d27", NULL),
1446 	_OMAP3_BALLENTRY(ETK_CLK, "af10", NULL),
1447 	_OMAP3_BALLENTRY(ETK_CTL, "ae10", NULL),
1448 	_OMAP3_BALLENTRY(ETK_D0, "af11", NULL),
1449 	_OMAP3_BALLENTRY(ETK_D1, "ag12", NULL),
1450 	_OMAP3_BALLENTRY(ETK_D10, "ae7", NULL),
1451 	_OMAP3_BALLENTRY(ETK_D11, "af7", NULL),
1452 	_OMAP3_BALLENTRY(ETK_D12, "ag7", NULL),
1453 	_OMAP3_BALLENTRY(ETK_D13, "ah7", NULL),
1454 	_OMAP3_BALLENTRY(ETK_D14, "ag8", NULL),
1455 	_OMAP3_BALLENTRY(ETK_D15, "ah8", NULL),
1456 	_OMAP3_BALLENTRY(ETK_D2, "ah12", NULL),
1457 	_OMAP3_BALLENTRY(ETK_D3, "ae13", NULL),
1458 	_OMAP3_BALLENTRY(ETK_D4, "ae11", NULL),
1459 	_OMAP3_BALLENTRY(ETK_D5, "ah9", NULL),
1460 	_OMAP3_BALLENTRY(ETK_D6, "af13", NULL),
1461 	_OMAP3_BALLENTRY(ETK_D7, "ah14", NULL),
1462 	_OMAP3_BALLENTRY(ETK_D8, "af9", NULL),
1463 	_OMAP3_BALLENTRY(ETK_D9, "ag9", NULL),
1464 	_OMAP3_BALLENTRY(GPMC_A1, "n4", "ac15"),
1465 	_OMAP3_BALLENTRY(GPMC_A10, "k3", "ab19"),
1466 	_OMAP3_BALLENTRY(GPMC_A2, "m4", "ab15"),
1467 	_OMAP3_BALLENTRY(GPMC_A3, "l4", "ac16"),
1468 	_OMAP3_BALLENTRY(GPMC_A4, "k4", "ab16"),
1469 	_OMAP3_BALLENTRY(GPMC_A5, "t3", "ac17"),
1470 	_OMAP3_BALLENTRY(GPMC_A6, "r3", "ab17"),
1471 	_OMAP3_BALLENTRY(GPMC_A7, "n3", "ac18"),
1472 	_OMAP3_BALLENTRY(GPMC_A8, "m3", "ab18"),
1473 	_OMAP3_BALLENTRY(GPMC_A9, "l3", "ac19"),
1474 	_OMAP3_BALLENTRY(GPMC_CLK, "t4", "w2"),
1475 	_OMAP3_BALLENTRY(GPMC_D10, "p1", "ab4"),
1476 	_OMAP3_BALLENTRY(GPMC_D11, "r1", "ac4"),
1477 	_OMAP3_BALLENTRY(GPMC_D12, "r2", "ab6"),
1478 	_OMAP3_BALLENTRY(GPMC_D13, "t2", "ac6"),
1479 	_OMAP3_BALLENTRY(GPMC_D14, "w1", "ab7"),
1480 	_OMAP3_BALLENTRY(GPMC_D15, "y1", "ac7"),
1481 	_OMAP3_BALLENTRY(GPMC_D8, "h2", "ab3"),
1482 	_OMAP3_BALLENTRY(GPMC_D9, "k2", "ac3"),
1483 	_OMAP3_BALLENTRY(GPMC_NBE0_CLE, "g3", "ac12"),
1484 	_OMAP3_BALLENTRY(GPMC_NBE1, "u3", NULL),
1485 	_OMAP3_BALLENTRY(GPMC_NCS1, "h3", "y1"),
1486 	_OMAP3_BALLENTRY(GPMC_NCS2, "v8", NULL),
1487 	_OMAP3_BALLENTRY(GPMC_NCS3, "u8", NULL),
1488 	_OMAP3_BALLENTRY(GPMC_NCS4, "t8", NULL),
1489 	_OMAP3_BALLENTRY(GPMC_NCS5, "r8", NULL),
1490 	_OMAP3_BALLENTRY(GPMC_NCS6, "p8", NULL),
1491 	_OMAP3_BALLENTRY(GPMC_NCS7, "n8", NULL),
1492 	_OMAP3_BALLENTRY(GPMC_NWP, "h1", "ab10"),
1493 	_OMAP3_BALLENTRY(GPMC_WAIT1, "l8", "ac10"),
1494 	_OMAP3_BALLENTRY(GPMC_WAIT2, "k8", NULL),
1495 	_OMAP3_BALLENTRY(GPMC_WAIT3, "j8", NULL),
1496 	_OMAP3_BALLENTRY(HDQ_SIO, "j25", NULL),
1497 	_OMAP3_BALLENTRY(HSUSB0_CLK, "t28", NULL),
1498 	_OMAP3_BALLENTRY(HSUSB0_DATA0, "t27", NULL),
1499 	_OMAP3_BALLENTRY(HSUSB0_DATA1, "u28", NULL),
1500 	_OMAP3_BALLENTRY(HSUSB0_DATA2, "u27", NULL),
1501 	_OMAP3_BALLENTRY(HSUSB0_DATA3, "u26", NULL),
1502 	_OMAP3_BALLENTRY(HSUSB0_DATA4, "u25", NULL),
1503 	_OMAP3_BALLENTRY(HSUSB0_DATA5, "v28", NULL),
1504 	_OMAP3_BALLENTRY(HSUSB0_DATA6, "v27", NULL),
1505 	_OMAP3_BALLENTRY(HSUSB0_DATA7, "v26", NULL),
1506 	_OMAP3_BALLENTRY(HSUSB0_DIR, "r28", NULL),
1507 	_OMAP3_BALLENTRY(HSUSB0_NXT, "t26", NULL),
1508 	_OMAP3_BALLENTRY(HSUSB0_STP, "t25", NULL),
1509 	_OMAP3_BALLENTRY(I2C2_SCL, "af15", NULL),
1510 	_OMAP3_BALLENTRY(I2C2_SDA, "ae15", NULL),
1511 	_OMAP3_BALLENTRY(I2C3_SCL, "af14", NULL),
1512 	_OMAP3_BALLENTRY(I2C3_SDA, "ag14", NULL),
1513 	_OMAP3_BALLENTRY(I2C4_SCL, "ad26", NULL),
1514 	_OMAP3_BALLENTRY(I2C4_SDA, "ae26", NULL),
1515 	_OMAP3_BALLENTRY(JTAG_EMU0, "aa11", NULL),
1516 	_OMAP3_BALLENTRY(JTAG_EMU1, "aa10", NULL),
1517 	_OMAP3_BALLENTRY(MCBSP1_CLKR, "y21", NULL),
1518 	_OMAP3_BALLENTRY(MCBSP1_CLKX, "w21", NULL),
1519 	_OMAP3_BALLENTRY(MCBSP1_DR, "u21", NULL),
1520 	_OMAP3_BALLENTRY(MCBSP1_DX, "v21", NULL),
1521 	_OMAP3_BALLENTRY(MCBSP1_FSR, "aa21", NULL),
1522 	_OMAP3_BALLENTRY(MCBSP1_FSX, "k26", NULL),
1523 	_OMAP3_BALLENTRY(MCBSP2_CLKX, "n21", NULL),
1524 	_OMAP3_BALLENTRY(MCBSP2_DR, "r21", NULL),
1525 	_OMAP3_BALLENTRY(MCBSP2_DX, "m21", NULL),
1526 	_OMAP3_BALLENTRY(MCBSP2_FSX, "p21", NULL),
1527 	_OMAP3_BALLENTRY(MCBSP3_CLKX, "af5", NULL),
1528 	_OMAP3_BALLENTRY(MCBSP3_DR, "ae6", NULL),
1529 	_OMAP3_BALLENTRY(MCBSP3_DX, "af6", NULL),
1530 	_OMAP3_BALLENTRY(MCBSP3_FSX, "ae5", NULL),
1531 	_OMAP3_BALLENTRY(MCBSP4_CLKX, "ae1", NULL),
1532 	_OMAP3_BALLENTRY(MCBSP4_DR, "ad1", NULL),
1533 	_OMAP3_BALLENTRY(MCBSP4_DX, "ad2", NULL),
1534 	_OMAP3_BALLENTRY(MCBSP4_FSX, "ac1", NULL),
1535 	_OMAP3_BALLENTRY(MCBSP_CLKS, "t21", NULL),
1536 	_OMAP3_BALLENTRY(MCSPI1_CLK, "ab3", NULL),
1537 	_OMAP3_BALLENTRY(MCSPI1_CS0, "ac2", NULL),
1538 	_OMAP3_BALLENTRY(MCSPI1_CS1, "ac3", NULL),
1539 	_OMAP3_BALLENTRY(MCSPI1_CS2, "ab1", NULL),
1540 	_OMAP3_BALLENTRY(MCSPI1_CS3, "ab2", NULL),
1541 	_OMAP3_BALLENTRY(MCSPI1_SIMO, "ab4", NULL),
1542 	_OMAP3_BALLENTRY(MCSPI1_SOMI, "aa4", NULL),
1543 	_OMAP3_BALLENTRY(MCSPI2_CLK, "aa3", NULL),
1544 	_OMAP3_BALLENTRY(MCSPI2_CS0, "y4", NULL),
1545 	_OMAP3_BALLENTRY(MCSPI2_CS1, "v3", NULL),
1546 	_OMAP3_BALLENTRY(MCSPI2_SIMO, "y2", NULL),
1547 	_OMAP3_BALLENTRY(MCSPI2_SOMI, "y3", NULL),
1548 	_OMAP3_BALLENTRY(SDMMC1_CLK, "n28", NULL),
1549 	_OMAP3_BALLENTRY(SDMMC1_CMD, "m27", NULL),
1550 	_OMAP3_BALLENTRY(SDMMC1_DAT0, "n27", NULL),
1551 	_OMAP3_BALLENTRY(SDMMC1_DAT1, "n26", NULL),
1552 	_OMAP3_BALLENTRY(SDMMC1_DAT2, "n25", NULL),
1553 	_OMAP3_BALLENTRY(SDMMC1_DAT3, "p28", NULL),
1554 	_OMAP3_BALLENTRY(SDMMC1_DAT4, "p27", NULL),
1555 	_OMAP3_BALLENTRY(SDMMC1_DAT5, "p26", NULL),
1556 	_OMAP3_BALLENTRY(SDMMC1_DAT6, "r27", NULL),
1557 	_OMAP3_BALLENTRY(SDMMC1_DAT7, "r25", NULL),
1558 	_OMAP3_BALLENTRY(SDMMC2_CLK, "ae2", NULL),
1559 	_OMAP3_BALLENTRY(SDMMC2_CMD, "ag5", NULL),
1560 	_OMAP3_BALLENTRY(SDMMC2_DAT0, "ah5", NULL),
1561 	_OMAP3_BALLENTRY(SDMMC2_DAT1, "ah4", NULL),
1562 	_OMAP3_BALLENTRY(SDMMC2_DAT2, "ag4", NULL),
1563 	_OMAP3_BALLENTRY(SDMMC2_DAT3, "af4", NULL),
1564 	_OMAP3_BALLENTRY(SDMMC2_DAT4, "ae4", NULL),
1565 	_OMAP3_BALLENTRY(SDMMC2_DAT5, "ah3", NULL),
1566 	_OMAP3_BALLENTRY(SDMMC2_DAT6, "af3", NULL),
1567 	_OMAP3_BALLENTRY(SDMMC2_DAT7, "ae3", NULL),
1568 	_OMAP3_BALLENTRY(SYS_BOOT0, "ah26", NULL),
1569 	_OMAP3_BALLENTRY(SYS_BOOT1, "ag26", NULL),
1570 	_OMAP3_BALLENTRY(SYS_BOOT2, "ae14", NULL),
1571 	_OMAP3_BALLENTRY(SYS_BOOT3, "af18", NULL),
1572 	_OMAP3_BALLENTRY(SYS_BOOT4, "af19", NULL),
1573 	_OMAP3_BALLENTRY(SYS_BOOT5, "ae21", NULL),
1574 	_OMAP3_BALLENTRY(SYS_BOOT6, "af21", NULL),
1575 	_OMAP3_BALLENTRY(SYS_CLKOUT1, "ag25", NULL),
1576 	_OMAP3_BALLENTRY(SYS_CLKOUT2, "ae22", NULL),
1577 	_OMAP3_BALLENTRY(SYS_CLKREQ, "af25", NULL),
1578 	_OMAP3_BALLENTRY(SYS_NIRQ, "af26", NULL),
1579 	_OMAP3_BALLENTRY(SYS_NRESWARM, "af24", NULL),
1580 	_OMAP3_BALLENTRY(SYS_OFF_MODE, "af22", NULL),
1581 	_OMAP3_BALLENTRY(UART1_CTS, "w8", NULL),
1582 	_OMAP3_BALLENTRY(UART1_RTS, "aa9", NULL),
1583 	_OMAP3_BALLENTRY(UART1_RX, "y8", NULL),
1584 	_OMAP3_BALLENTRY(UART1_TX, "aa8", NULL),
1585 	_OMAP3_BALLENTRY(UART2_CTS, "ab26", NULL),
1586 	_OMAP3_BALLENTRY(UART2_RTS, "ab25", NULL),
1587 	_OMAP3_BALLENTRY(UART2_RX, "ad25", NULL),
1588 	_OMAP3_BALLENTRY(UART2_TX, "aa25", NULL),
1589 	_OMAP3_BALLENTRY(UART3_CTS_RCTX, "h18", NULL),
1590 	_OMAP3_BALLENTRY(UART3_RTS_SD, "h19", NULL),
1591 	_OMAP3_BALLENTRY(UART3_RX_IRRX, "h20", NULL),
1592 	_OMAP3_BALLENTRY(UART3_TX_IRTX, "h21", NULL),
1593 	{ .reg_offset = OMAP_MUX_TERMINATOR },
1594 };
1595 #else
1596 #define omap3_cbb_ball	 NULL
1597 #endif
1598 
1599 /*
1600  * Signals different on 36XX CBP package comapared to 34XX CBC package
1601  */
1602 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_OMAP_PACKAGE_CBP)
1603 static struct omap_mux __initdata omap36xx_cbp_subset[] = {
1604 	_OMAP3_MUXENTRY(CAM_D0, 99,
1605 		"cam_d0", NULL, "csi2_dx2", NULL,
1606 		"gpio_99", NULL, NULL, "safe_mode"),
1607 	_OMAP3_MUXENTRY(CAM_D1, 100,
1608 		"cam_d1", NULL, "csi2_dy2", NULL,
1609 		"gpio_100", NULL, NULL, "safe_mode"),
1610 	_OMAP3_MUXENTRY(CAM_D10, 109,
1611 		"cam_d10", "ssi2_wake", NULL, NULL,
1612 		"gpio_109", "hw_dbg8", NULL, "safe_mode"),
1613 	_OMAP3_MUXENTRY(CAM_D2, 101,
1614 		"cam_d2", "ssi2_rdy_tx", NULL, NULL,
1615 		"gpio_101", "hw_dbg4", NULL, "safe_mode"),
1616 	_OMAP3_MUXENTRY(CAM_D3, 102,
1617 		"cam_d3", "ssi2_dat_rx", NULL, NULL,
1618 		"gpio_102", "hw_dbg5", NULL, "safe_mode"),
1619 	_OMAP3_MUXENTRY(CAM_D4, 103,
1620 		"cam_d4", "ssi2_flag_rx", NULL, NULL,
1621 		"gpio_103", "hw_dbg6", NULL, "safe_mode"),
1622 	_OMAP3_MUXENTRY(CAM_D5, 104,
1623 		"cam_d5", "ssi2_rdy_rx", NULL, NULL,
1624 		"gpio_104", "hw_dbg7", NULL, "safe_mode"),
1625 	_OMAP3_MUXENTRY(CAM_HS, 94,
1626 		"cam_hs", "ssi2_dat_tx", NULL, NULL,
1627 		"gpio_94", "hw_dbg0", NULL, "safe_mode"),
1628 	_OMAP3_MUXENTRY(CAM_VS, 95,
1629 		"cam_vs", "ssi2_flag_tx", NULL, NULL,
1630 		"gpio_95", "hw_dbg1", NULL, "safe_mode"),
1631 	_OMAP3_MUXENTRY(DSS_DATA0, 70,
1632 		"dss_data0", "dsi_dx0", "uart1_cts", NULL,
1633 		"gpio_70", NULL, NULL, "safe_mode"),
1634 	_OMAP3_MUXENTRY(DSS_DATA1, 71,
1635 		"dss_data1", "dsi_dy0", "uart1_rts", NULL,
1636 		"gpio_71", NULL, NULL, "safe_mode"),
1637 	_OMAP3_MUXENTRY(DSS_DATA2, 72,
1638 		"dss_data2", "dsi_dx1", NULL, NULL,
1639 		"gpio_72", NULL, NULL, "safe_mode"),
1640 	_OMAP3_MUXENTRY(DSS_DATA3, 73,
1641 		"dss_data3", "dsi_dy1", NULL, NULL,
1642 		"gpio_73", NULL, NULL, "safe_mode"),
1643 	_OMAP3_MUXENTRY(DSS_DATA4, 74,
1644 		"dss_data4", "dsi_dx2", "uart3_rx_irrx", NULL,
1645 		"gpio_74", NULL, NULL, "safe_mode"),
1646 	_OMAP3_MUXENTRY(DSS_DATA5, 75,
1647 		"dss_data5", "dsi_dy2", "uart3_tx_irtx", NULL,
1648 		"gpio_75", NULL, NULL, "safe_mode"),
1649 	_OMAP3_MUXENTRY(DSS_DATA6, 76,
1650 		"dss_data6", NULL, "uart1_tx", "dssvenc656_data6",
1651 		"gpio_76", "hw_dbg14", NULL, "safe_mode"),
1652 	_OMAP3_MUXENTRY(DSS_DATA7, 77,
1653 		"dss_data7", NULL, "uart1_rx", "dssvenc656_data7",
1654 		"gpio_77", "hw_dbg15", NULL, "safe_mode"),
1655 	_OMAP3_MUXENTRY(DSS_DATA8, 78,
1656 		"dss_data8", NULL, "uart3_rx_irrx", NULL,
1657 		"gpio_78", "hw_dbg16", NULL, "safe_mode"),
1658 	_OMAP3_MUXENTRY(DSS_DATA9, 79,
1659 		"dss_data9", NULL, "uart3_tx_irtx", NULL,
1660 		"gpio_79", "hw_dbg17", NULL, "safe_mode"),
1661 	_OMAP3_MUXENTRY(ETK_D12, 26,
1662 		"etk_d12", "sys_drm_msecure", NULL, "hsusb2_dir",
1663 		"gpio_26", NULL, "hsusb2_tll_dir", "hw_dbg14"),
1664 	_OMAP3_MUXENTRY(GPMC_A11, 0,
1665 		"gpmc_a11", NULL, NULL, NULL,
1666 		NULL, NULL, NULL, "safe_mode"),
1667 	_OMAP3_MUXENTRY(GPMC_WAIT2, 64,
1668 		"gpmc_wait2", NULL, "uart4_tx", NULL,
1669 		"gpio_64", NULL, NULL, "safe_mode"),
1670 	_OMAP3_MUXENTRY(GPMC_WAIT3, 65,
1671 		"gpmc_wait3", "sys_ndmareq1", "uart4_rx", NULL,
1672 		"gpio_65", NULL, NULL, "safe_mode"),
1673 	_OMAP3_MUXENTRY(HSUSB0_DATA0, 125,
1674 		"hsusb0_data0", NULL, "uart3_tx_irtx", NULL,
1675 		"gpio_125", "uart2_tx", NULL, "safe_mode"),
1676 	_OMAP3_MUXENTRY(HSUSB0_DATA1, 130,
1677 		"hsusb0_data1", NULL, "uart3_rx_irrx", NULL,
1678 		"gpio_130", "uart2_rx", NULL, "safe_mode"),
1679 	_OMAP3_MUXENTRY(HSUSB0_DATA2, 131,
1680 		"hsusb0_data2", NULL, "uart3_rts_sd", NULL,
1681 		"gpio_131", "uart2_rts", NULL, "safe_mode"),
1682 	_OMAP3_MUXENTRY(HSUSB0_DATA3, 169,
1683 		"hsusb0_data3", NULL, "uart3_cts_rctx", NULL,
1684 		"gpio_169", "uart2_cts", NULL, "safe_mode"),
1685 	_OMAP3_MUXENTRY(MCBSP1_CLKR, 156,
1686 		"mcbsp1_clkr", "mcspi4_clk", "sim_cd", NULL,
1687 		"gpio_156", NULL, NULL, "safe_mode"),
1688 	_OMAP3_MUXENTRY(MCBSP1_FSR, 157,
1689 		"mcbsp1_fsr", "adpllv2d_dithering_en1",
1690 		"cam_global_reset", NULL,
1691 		"gpio_157", NULL, NULL, "safe_mode"),
1692 	_OMAP3_MUXENTRY(MCBSP4_CLKX, 152,
1693 		"mcbsp4_clkx", "ssi1_dat_rx", NULL, NULL,
1694 		"gpio_152", "hsusb3_tll_data1", "mm3_txse0", "safe_mode"),
1695 	_OMAP3_MUXENTRY(MCBSP4_DR, 153,
1696 		"mcbsp4_dr", "ssi1_flag_rx", NULL, NULL,
1697 		"gpio_153", "hsusb3_tll_data0", "mm3_rxrcv", "safe_mode"),
1698 	_OMAP3_MUXENTRY(MCBSP4_DX, 154,
1699 		"mcbsp4_dx", "ssi1_rdy_rx", NULL, NULL,
1700 		"gpio_154", "hsusb3_tll_data2", "mm3_txdat", "safe_mode"),
1701 	_OMAP3_MUXENTRY(MCBSP4_FSX, 155,
1702 		"mcbsp4_fsx", "ssi1_wake", NULL, NULL,
1703 		"gpio_155", "hsusb3_tll_data3", "mm3_txen_n", "safe_mode"),
1704 	_OMAP3_MUXENTRY(MCSPI1_CS1, 175,
1705 		"mcspi1_cs1", "adpllv2d_dithering_en2", NULL, "sdmmc3_cmd",
1706 		"gpio_175", NULL, NULL, "safe_mode"),
1707 	_OMAP3_MUXENTRY(SAD2D_MBUSFLAG, 0,
1708 		"sad2d_mbusflag", "mad2d_sbusflag", NULL, NULL,
1709 		NULL, NULL, NULL, NULL),
1710 	_OMAP3_MUXENTRY(SAD2D_MCAD28, 0,
1711 		"sad2d_mcad28", "mad2d_mcad28", NULL, NULL,
1712 		NULL, NULL, NULL, NULL),
1713 	_OMAP3_MUXENTRY(SAD2D_MCAD29, 0,
1714 		"sad2d_mcad29", "mad2d_mcad29", NULL, NULL,
1715 		NULL, NULL, NULL, NULL),
1716 	_OMAP3_MUXENTRY(SAD2D_MCAD32, 0,
1717 		"sad2d_mcad32", "mad2d_mcad32", NULL, NULL,
1718 		NULL, NULL, NULL, NULL),
1719 	_OMAP3_MUXENTRY(SAD2D_MCAD33, 0,
1720 		"sad2d_mcad33", "mad2d_mcad33", NULL, NULL,
1721 		NULL, NULL, NULL, NULL),
1722 	_OMAP3_MUXENTRY(SAD2D_MCAD34, 0,
1723 		"sad2d_mcad34", "mad2d_mcad34", NULL, NULL,
1724 		NULL, NULL, NULL, NULL),
1725 	_OMAP3_MUXENTRY(SAD2D_MCAD35, 0,
1726 		"sad2d_mcad35", "mad2d_mcad35", NULL, NULL,
1727 		NULL, NULL, NULL, NULL),
1728 	_OMAP3_MUXENTRY(SAD2D_MCAD36, 0,
1729 		"sad2d_mcad36", "mad2d_mcad36", NULL, NULL,
1730 		NULL, NULL, NULL, NULL),
1731 	_OMAP3_MUXENTRY(SAD2D_MREAD, 0,
1732 		"sad2d_mread", "mad2d_sread", NULL, NULL,
1733 		NULL, NULL, NULL, NULL),
1734 	_OMAP3_MUXENTRY(SAD2D_MWRITE, 0,
1735 		"sad2d_mwrite", "mad2d_swrite", NULL, NULL,
1736 		NULL, NULL, NULL, NULL),
1737 	_OMAP3_MUXENTRY(SAD2D_SBUSFLAG, 0,
1738 		"sad2d_sbusflag", "mad2d_mbusflag", NULL, NULL,
1739 		NULL, NULL, NULL, NULL),
1740 	_OMAP3_MUXENTRY(SAD2D_SREAD, 0,
1741 		"sad2d_sread", "mad2d_mread", NULL, NULL,
1742 		NULL, NULL, NULL, NULL),
1743 	_OMAP3_MUXENTRY(SAD2D_SWRITE, 0,
1744 		"sad2d_swrite", "mad2d_mwrite", NULL, NULL,
1745 		NULL, NULL, NULL, NULL),
1746 	_OMAP3_MUXENTRY(SDMMC1_CLK, 120,
1747 		"sdmmc1_clk", "ms_clk", NULL, NULL,
1748 		"gpio_120", NULL, NULL, "safe_mode"),
1749 	_OMAP3_MUXENTRY(SDMMC1_CMD, 121,
1750 		"sdmmc1_cmd", "ms_bs", NULL, NULL,
1751 		"gpio_121", NULL, NULL, "safe_mode"),
1752 	_OMAP3_MUXENTRY(SDMMC1_DAT0, 122,
1753 		"sdmmc1_dat0", "ms_dat0", NULL, NULL,
1754 		"gpio_122", NULL, NULL, "safe_mode"),
1755 	_OMAP3_MUXENTRY(SDMMC1_DAT1, 123,
1756 		"sdmmc1_dat1", "ms_dat1", NULL, NULL,
1757 		"gpio_123", NULL, NULL, "safe_mode"),
1758 	_OMAP3_MUXENTRY(SDMMC1_DAT2, 124,
1759 		"sdmmc1_dat2", "ms_dat2", NULL, NULL,
1760 		"gpio_124", NULL, NULL, "safe_mode"),
1761 	_OMAP3_MUXENTRY(SDMMC1_DAT3, 125,
1762 		"sdmmc1_dat3", "ms_dat3", NULL, NULL,
1763 		"gpio_125", NULL, NULL, "safe_mode"),
1764 	_OMAP3_MUXENTRY(SDRC_CKE0, 0,
1765 		"sdrc_cke0", NULL, NULL, NULL,
1766 		NULL, NULL, NULL, "safe_mode_out1"),
1767 	_OMAP3_MUXENTRY(SDRC_CKE1, 0,
1768 		"sdrc_cke1", NULL, NULL, NULL,
1769 		NULL, NULL, NULL, "safe_mode_out1"),
1770 	_OMAP3_MUXENTRY(SIM_IO, 126,
1771 		"sim_io", "sim_io_low_impedance", NULL, NULL,
1772 		"gpio_126", NULL, NULL, "safe_mode"),
1773 	_OMAP3_MUXENTRY(SIM_CLK, 127,
1774 		"sim_clk", NULL, NULL, NULL,
1775 		"gpio_127", NULL, NULL, "safe_mode"),
1776 	_OMAP3_MUXENTRY(SIM_PWRCTRL, 128,
1777 		"sim_pwrctrl", NULL, NULL, NULL,
1778 		"gpio_128", NULL, NULL, "safe_mode"),
1779 	_OMAP3_MUXENTRY(SIM_RST, 129,
1780 		"sim_rst", NULL, NULL, NULL,
1781 		"gpio_129", NULL, NULL, "safe_mode"),
1782 	_OMAP3_MUXENTRY(SYS_BOOT0, 2,
1783 		"sys_boot0", NULL, NULL, "dss_data18",
1784 		"gpio_2", NULL, NULL, "safe_mode"),
1785 	_OMAP3_MUXENTRY(SYS_BOOT1, 3,
1786 		"sys_boot1", NULL, NULL, "dss_data19",
1787 		"gpio_3", NULL, NULL, "safe_mode"),
1788 	_OMAP3_MUXENTRY(SYS_BOOT3, 5,
1789 		"sys_boot3", NULL, NULL, "dss_data20",
1790 		"gpio_5", NULL, NULL, "safe_mode"),
1791 	_OMAP3_MUXENTRY(SYS_BOOT4, 6,
1792 		"sys_boot4", "sdmmc2_dir_dat2", NULL, "dss_data21",
1793 		"gpio_6", NULL, NULL, "safe_mode"),
1794 	_OMAP3_MUXENTRY(SYS_BOOT5, 7,
1795 		"sys_boot5", "sdmmc2_dir_dat3", NULL, "dss_data22",
1796 		"gpio_7", NULL, NULL, "safe_mode"),
1797 	_OMAP3_MUXENTRY(SYS_BOOT6, 8,
1798 		"sys_boot6", NULL, NULL, "dss_data23",
1799 		"gpio_8", NULL, NULL, "safe_mode"),
1800 	_OMAP3_MUXENTRY(UART1_CTS, 150,
1801 		"uart1_cts", "ssi1_rdy_tx", NULL, NULL,
1802 		"gpio_150", "hsusb3_tll_clk", NULL, "safe_mode"),
1803 	_OMAP3_MUXENTRY(UART1_RTS, 149,
1804 		"uart1_rts", "ssi1_flag_tx", NULL, NULL,
1805 		"gpio_149", NULL, NULL, "safe_mode"),
1806 	_OMAP3_MUXENTRY(UART1_TX, 148,
1807 		"uart1_tx", "ssi1_dat_tx", NULL, NULL,
1808 		"gpio_148", NULL, NULL, "safe_mode"),
1809 	{ .reg_offset = OMAP_MUX_TERMINATOR },
1810 };
1811 #else
1812 #define omap36xx_cbp_subset	NULL
1813 #endif
1814 
1815 /*
1816  * Balls for 36XX CBP package
1817  * 515-pin s-PBGA Package, 0.50mm Ball Pitch (Top), 0.40mm Ball Pitch (Bottom)
1818  */
1819 #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS)		\
1820 		&& defined (CONFIG_OMAP_PACKAGE_CBP)
1821 static struct omap_ball __initdata omap36xx_cbp_ball[] = {
1822 	_OMAP3_BALLENTRY(CAM_D0, "ag17", NULL),
1823 	_OMAP3_BALLENTRY(CAM_D1, "ah17", NULL),
1824 	_OMAP3_BALLENTRY(CAM_D10, "b25", NULL),
1825 	_OMAP3_BALLENTRY(CAM_D11, "c26", NULL),
1826 	_OMAP3_BALLENTRY(CAM_D2, "b24", NULL),
1827 	_OMAP3_BALLENTRY(CAM_D3, "c24", NULL),
1828 	_OMAP3_BALLENTRY(CAM_D4, "d24", NULL),
1829 	_OMAP3_BALLENTRY(CAM_D5, "a25", NULL),
1830 	_OMAP3_BALLENTRY(CAM_D6, "k28", NULL),
1831 	_OMAP3_BALLENTRY(CAM_D7, "l28", NULL),
1832 	_OMAP3_BALLENTRY(CAM_D8, "k27", NULL),
1833 	_OMAP3_BALLENTRY(CAM_D9, "l27", NULL),
1834 	_OMAP3_BALLENTRY(CAM_FLD, "c23", NULL),
1835 	_OMAP3_BALLENTRY(CAM_HS, "a24", NULL),
1836 	_OMAP3_BALLENTRY(CAM_PCLK, "c27", NULL),
1837 	_OMAP3_BALLENTRY(CAM_STROBE, "d25", NULL),
1838 	_OMAP3_BALLENTRY(CAM_VS, "a23", NULL),
1839 	_OMAP3_BALLENTRY(CAM_WEN, "b23", NULL),
1840 	_OMAP3_BALLENTRY(CAM_XCLKA, "c25", NULL),
1841 	_OMAP3_BALLENTRY(CAM_XCLKB, "b26", NULL),
1842 	_OMAP3_BALLENTRY(CSI2_DX0, "ag19", NULL),
1843 	_OMAP3_BALLENTRY(CSI2_DX1, "ag18", NULL),
1844 	_OMAP3_BALLENTRY(CSI2_DY0, "ah19", NULL),
1845 	_OMAP3_BALLENTRY(CSI2_DY1, "ah18", NULL),
1846 	_OMAP3_BALLENTRY(DSS_ACBIAS, "e27", NULL),
1847 	_OMAP3_BALLENTRY(DSS_DATA0, "ag22", NULL),
1848 	_OMAP3_BALLENTRY(DSS_DATA1, "ah22", NULL),
1849 	_OMAP3_BALLENTRY(DSS_DATA10, "ad28", NULL),
1850 	_OMAP3_BALLENTRY(DSS_DATA11, "ad27", NULL),
1851 	_OMAP3_BALLENTRY(DSS_DATA12, "ab28", NULL),
1852 	_OMAP3_BALLENTRY(DSS_DATA13, "ab27", NULL),
1853 	_OMAP3_BALLENTRY(DSS_DATA14, "aa28", NULL),
1854 	_OMAP3_BALLENTRY(DSS_DATA15, "aa27", NULL),
1855 	_OMAP3_BALLENTRY(DSS_DATA16, "g25", NULL),
1856 	_OMAP3_BALLENTRY(DSS_DATA17, "h27", NULL),
1857 	_OMAP3_BALLENTRY(DSS_DATA18, "h26", NULL),
1858 	_OMAP3_BALLENTRY(DSS_DATA19, "h25", NULL),
1859 	_OMAP3_BALLENTRY(DSS_DATA2, "ag23", NULL),
1860 	_OMAP3_BALLENTRY(DSS_DATA20, "e28", NULL),
1861 	_OMAP3_BALLENTRY(DSS_DATA21, "j26", NULL),
1862 	_OMAP3_BALLENTRY(DSS_DATA22, "ac27", NULL),
1863 	_OMAP3_BALLENTRY(DSS_DATA23, "ac28", NULL),
1864 	_OMAP3_BALLENTRY(DSS_DATA3, "ah23", NULL),
1865 	_OMAP3_BALLENTRY(DSS_DATA4, "ag24", NULL),
1866 	_OMAP3_BALLENTRY(DSS_DATA5, "ah24", NULL),
1867 	_OMAP3_BALLENTRY(DSS_DATA6, "e26", NULL),
1868 	_OMAP3_BALLENTRY(DSS_DATA7, "f28", NULL),
1869 	_OMAP3_BALLENTRY(DSS_DATA8, "f27", NULL),
1870 	_OMAP3_BALLENTRY(DSS_DATA9, "g26", NULL),
1871 	_OMAP3_BALLENTRY(DSS_HSYNC, "d26", NULL),
1872 	_OMAP3_BALLENTRY(DSS_PCLK, "d28", NULL),
1873 	_OMAP3_BALLENTRY(DSS_VSYNC, "d27", NULL),
1874 	_OMAP3_BALLENTRY(ETK_CLK, "af10", NULL),
1875 	_OMAP3_BALLENTRY(ETK_CTL, "ae10", NULL),
1876 	_OMAP3_BALLENTRY(ETK_D0, "af11", NULL),
1877 	_OMAP3_BALLENTRY(ETK_D1, "ag12", NULL),
1878 	_OMAP3_BALLENTRY(ETK_D10, "ae7", NULL),
1879 	_OMAP3_BALLENTRY(ETK_D11, "af7", NULL),
1880 	_OMAP3_BALLENTRY(ETK_D12, "ag7", NULL),
1881 	_OMAP3_BALLENTRY(ETK_D13, "ah7", NULL),
1882 	_OMAP3_BALLENTRY(ETK_D14, "ag8", NULL),
1883 	_OMAP3_BALLENTRY(ETK_D15, "ah8", NULL),
1884 	_OMAP3_BALLENTRY(ETK_D2, "ah12", NULL),
1885 	_OMAP3_BALLENTRY(ETK_D3, "ae13", NULL),
1886 	_OMAP3_BALLENTRY(ETK_D4, "ae11", NULL),
1887 	_OMAP3_BALLENTRY(ETK_D5, "ah9", NULL),
1888 	_OMAP3_BALLENTRY(ETK_D6, "af13", NULL),
1889 	_OMAP3_BALLENTRY(ETK_D7, "ah14", NULL),
1890 	_OMAP3_BALLENTRY(ETK_D8, "af9", NULL),
1891 	_OMAP3_BALLENTRY(ETK_D9, "ag9", NULL),
1892 	_OMAP3_BALLENTRY(GPMC_A1, "n4", "ac15"),
1893 	_OMAP3_BALLENTRY(GPMC_A10, "k3", "ab19"),
1894 	_OMAP3_BALLENTRY(GPMC_A11, NULL, "ac20"),
1895 	_OMAP3_BALLENTRY(GPMC_A2, "m4", "ab15"),
1896 	_OMAP3_BALLENTRY(GPMC_A3, "l4", "ac16"),
1897 	_OMAP3_BALLENTRY(GPMC_A4, "k4", "ab16"),
1898 	_OMAP3_BALLENTRY(GPMC_A5, "t3", "ac17"),
1899 	_OMAP3_BALLENTRY(GPMC_A6, "r3", "ab17"),
1900 	_OMAP3_BALLENTRY(GPMC_A7, "n3", "ac18"),
1901 	_OMAP3_BALLENTRY(GPMC_A8, "m3", "ab18"),
1902 	_OMAP3_BALLENTRY(GPMC_A9, "l3", "ac19"),
1903 	_OMAP3_BALLENTRY(GPMC_CLK, "t4", "w2"),
1904 	_OMAP3_BALLENTRY(GPMC_D10, "p1", "ab4"),
1905 	_OMAP3_BALLENTRY(GPMC_D11, "r1", "ac4"),
1906 	_OMAP3_BALLENTRY(GPMC_D12, "r2", "ab6"),
1907 	_OMAP3_BALLENTRY(GPMC_D13, "t2", "ac6"),
1908 	_OMAP3_BALLENTRY(GPMC_D14, "w1", "ab7"),
1909 	_OMAP3_BALLENTRY(GPMC_D15, "y1", "ac7"),
1910 	_OMAP3_BALLENTRY(GPMC_D9, "k2", "ac3"),
1911 	_OMAP3_BALLENTRY(GPMC_NBE0_CLE, "g3", "ac12"),
1912 	_OMAP3_BALLENTRY(GPMC_NBE1, "u3", NULL),
1913 	_OMAP3_BALLENTRY(GPMC_NCS1, "h3", "y1"),
1914 	_OMAP3_BALLENTRY(GPMC_NCS2, "v8", NULL),
1915 	_OMAP3_BALLENTRY(GPMC_NCS3, "u8", NULL),
1916 	_OMAP3_BALLENTRY(GPMC_NCS4, "t8", NULL),
1917 	_OMAP3_BALLENTRY(GPMC_NCS5, "r8", NULL),
1918 	_OMAP3_BALLENTRY(GPMC_NCS6, "p8", NULL),
1919 	_OMAP3_BALLENTRY(GPMC_NCS7, "n8", NULL),
1920 	_OMAP3_BALLENTRY(GPMC_NWP, "h1", "ab10"),
1921 	_OMAP3_BALLENTRY(GPMC_WAIT1, "l8", "ac10"),
1922 	_OMAP3_BALLENTRY(GPMC_WAIT2, "k8", NULL),
1923 	_OMAP3_BALLENTRY(GPMC_WAIT3, "j8", NULL),
1924 	_OMAP3_BALLENTRY(HDQ_SIO, "j25", NULL),
1925 	_OMAP3_BALLENTRY(HSUSB0_CLK, "t28", NULL),
1926 	_OMAP3_BALLENTRY(HSUSB0_DATA0, "t27", NULL),
1927 	_OMAP3_BALLENTRY(HSUSB0_DATA1, "u28", NULL),
1928 	_OMAP3_BALLENTRY(HSUSB0_DATA2, "u27", NULL),
1929 	_OMAP3_BALLENTRY(HSUSB0_DATA3, "u26", NULL),
1930 	_OMAP3_BALLENTRY(HSUSB0_DATA4, "u25", NULL),
1931 	_OMAP3_BALLENTRY(HSUSB0_DATA5, "v28", NULL),
1932 	_OMAP3_BALLENTRY(HSUSB0_DATA6, "v27", NULL),
1933 	_OMAP3_BALLENTRY(HSUSB0_DATA7, "v26", NULL),
1934 	_OMAP3_BALLENTRY(HSUSB0_DIR, "r28", NULL),
1935 	_OMAP3_BALLENTRY(HSUSB0_NXT, "t26", NULL),
1936 	_OMAP3_BALLENTRY(HSUSB0_STP, "t25", NULL),
1937 	_OMAP3_BALLENTRY(I2C2_SCL, "af15", NULL),
1938 	_OMAP3_BALLENTRY(I2C2_SDA, "ae15", NULL),
1939 	_OMAP3_BALLENTRY(I2C3_SCL, "af14", NULL),
1940 	_OMAP3_BALLENTRY(I2C3_SDA, "ag14", NULL),
1941 	_OMAP3_BALLENTRY(I2C4_SCL, "ad26", NULL),
1942 	_OMAP3_BALLENTRY(I2C4_SDA, "ae26", NULL),
1943 	_OMAP3_BALLENTRY(JTAG_EMU0, "aa11", NULL),
1944 	_OMAP3_BALLENTRY(JTAG_EMU1, "aa10", NULL),
1945 	_OMAP3_BALLENTRY(MCBSP1_CLKR, "y21", NULL),
1946 	_OMAP3_BALLENTRY(MCBSP1_CLKX, "w21", NULL),
1947 	_OMAP3_BALLENTRY(MCBSP1_DR, "u21", NULL),
1948 	_OMAP3_BALLENTRY(MCBSP1_DX, "v21", NULL),
1949 	_OMAP3_BALLENTRY(MCBSP1_FSR, "aa21", NULL),
1950 	_OMAP3_BALLENTRY(MCBSP1_FSX, "k26", NULL),
1951 	_OMAP3_BALLENTRY(MCBSP2_CLKX, "n21", NULL),
1952 	_OMAP3_BALLENTRY(MCBSP2_DR, "r21", NULL),
1953 	_OMAP3_BALLENTRY(MCBSP2_DX, "m21", NULL),
1954 	_OMAP3_BALLENTRY(MCBSP2_FSX, "p21", NULL),
1955 	_OMAP3_BALLENTRY(MCBSP3_CLKX, "af5", NULL),
1956 	_OMAP3_BALLENTRY(MCBSP3_DR, "ae6", NULL),
1957 	_OMAP3_BALLENTRY(MCBSP3_DX, "af6", NULL),
1958 	_OMAP3_BALLENTRY(MCBSP3_FSX, "ae5", NULL),
1959 	_OMAP3_BALLENTRY(MCBSP4_CLKX, "ae1", NULL),
1960 	_OMAP3_BALLENTRY(MCBSP4_DR, "ad1", NULL),
1961 	_OMAP3_BALLENTRY(MCBSP4_DX, "ad2", NULL),
1962 	_OMAP3_BALLENTRY(MCBSP4_FSX, "ac1", NULL),
1963 	_OMAP3_BALLENTRY(MCBSP_CLKS, "t21", NULL),
1964 	_OMAP3_BALLENTRY(MCSPI1_CLK, "ab3", NULL),
1965 	_OMAP3_BALLENTRY(MCSPI1_CS0, "ac2", NULL),
1966 	_OMAP3_BALLENTRY(MCSPI1_CS1, "ac3", NULL),
1967 	_OMAP3_BALLENTRY(MCSPI1_CS2, "ab1", NULL),
1968 	_OMAP3_BALLENTRY(MCSPI1_CS3, "ab2", NULL),
1969 	_OMAP3_BALLENTRY(MCSPI1_SIMO, "ab4", NULL),
1970 	_OMAP3_BALLENTRY(MCSPI1_SOMI, "aa4", NULL),
1971 	_OMAP3_BALLENTRY(MCSPI2_CLK, "aa3", NULL),
1972 	_OMAP3_BALLENTRY(MCSPI2_CS0, "y4", NULL),
1973 	_OMAP3_BALLENTRY(MCSPI2_CS1, "v3", NULL),
1974 	_OMAP3_BALLENTRY(MCSPI2_SIMO, "y2", NULL),
1975 	_OMAP3_BALLENTRY(MCSPI2_SOMI, "y3", NULL),
1976 	_OMAP3_BALLENTRY(SDMMC1_CLK, "n28", NULL),
1977 	_OMAP3_BALLENTRY(SDMMC1_CMD, "m27", NULL),
1978 	_OMAP3_BALLENTRY(SDMMC1_DAT0, "n27", NULL),
1979 	_OMAP3_BALLENTRY(SDMMC1_DAT1, "n26", NULL),
1980 	_OMAP3_BALLENTRY(SDMMC1_DAT2, "n25", NULL),
1981 	_OMAP3_BALLENTRY(SDMMC1_DAT3, "p28", NULL),
1982 	_OMAP3_BALLENTRY(SDMMC2_CLK, "ae2", NULL),
1983 	_OMAP3_BALLENTRY(SDMMC2_CMD, "ag5", NULL),
1984 	_OMAP3_BALLENTRY(SDMMC2_DAT0, "ah5", NULL),
1985 	_OMAP3_BALLENTRY(SDMMC2_DAT1, "ah4", NULL),
1986 	_OMAP3_BALLENTRY(SDMMC2_DAT2, "ag4", NULL),
1987 	_OMAP3_BALLENTRY(SDMMC2_DAT3, "af4", NULL),
1988 	_OMAP3_BALLENTRY(SDMMC2_DAT4, "ae4", NULL),
1989 	_OMAP3_BALLENTRY(SDMMC2_DAT5, "ah3", NULL),
1990 	_OMAP3_BALLENTRY(SDMMC2_DAT6, "af3", NULL),
1991 	_OMAP3_BALLENTRY(SDMMC2_DAT7, "ae3", NULL),
1992 	_OMAP3_BALLENTRY(SDRC_CKE0, "h16", "j22"),
1993 	_OMAP3_BALLENTRY(SDRC_CKE1, "h17", "j23"),
1994 	_OMAP3_BALLENTRY(SIM_CLK, "p26", NULL),
1995 	_OMAP3_BALLENTRY(SIM_IO, "p27", NULL),
1996 	_OMAP3_BALLENTRY(SIM_PWRCTRL, "r27", NULL),
1997 	_OMAP3_BALLENTRY(SIM_RST, "r25", NULL),
1998 	_OMAP3_BALLENTRY(SYS_BOOT0, "ah26", NULL),
1999 	_OMAP3_BALLENTRY(SYS_BOOT1, "ag26", NULL),
2000 	_OMAP3_BALLENTRY(SYS_BOOT2, "ae14", NULL),
2001 	_OMAP3_BALLENTRY(SYS_BOOT3, "af18", NULL),
2002 	_OMAP3_BALLENTRY(SYS_BOOT4, "af19", NULL),
2003 	_OMAP3_BALLENTRY(SYS_BOOT5, "ae21", NULL),
2004 	_OMAP3_BALLENTRY(SYS_BOOT6, "af21", NULL),
2005 	_OMAP3_BALLENTRY(SYS_CLKOUT1, "ag25", NULL),
2006 	_OMAP3_BALLENTRY(SYS_CLKOUT2, "ae22", NULL),
2007 	_OMAP3_BALLENTRY(SYS_CLKREQ, "af25", NULL),
2008 	_OMAP3_BALLENTRY(SYS_NIRQ, "af26", NULL),
2009 	_OMAP3_BALLENTRY(SYS_NRESWARM, "af24", NULL),
2010 	_OMAP3_BALLENTRY(SYS_OFF_MODE, "af22", NULL),
2011 	_OMAP3_BALLENTRY(UART1_CTS, "w8", NULL),
2012 	_OMAP3_BALLENTRY(UART1_RTS, "aa9", NULL),
2013 	_OMAP3_BALLENTRY(UART1_RX, "y8", NULL),
2014 	_OMAP3_BALLENTRY(UART1_TX, "aa8", NULL),
2015 	_OMAP3_BALLENTRY(UART2_CTS, "ab26", NULL),
2016 	_OMAP3_BALLENTRY(UART2_RTS, "ab25", NULL),
2017 	_OMAP3_BALLENTRY(UART2_RX, "ad25", NULL),
2018 	_OMAP3_BALLENTRY(UART2_TX, "aa25", NULL),
2019 	_OMAP3_BALLENTRY(UART3_CTS_RCTX, "h18", NULL),
2020 	_OMAP3_BALLENTRY(UART3_RTS_SD, "h19", NULL),
2021 	_OMAP3_BALLENTRY(UART3_RX_IRRX, "h20", NULL),
2022 	_OMAP3_BALLENTRY(UART3_TX_IRTX, "h21", NULL),
2023 	{ .reg_offset = OMAP_MUX_TERMINATOR },
2024 };
2025 #else
2026 #define omap36xx_cbp_ball	 NULL
2027 #endif
2028 
omap3_mux_init(struct omap_board_mux * board_subset,int flags)2029 int __init omap3_mux_init(struct omap_board_mux *board_subset, int flags)
2030 {
2031 	struct omap_mux *package_subset;
2032 	struct omap_ball *package_balls;
2033 
2034 	switch (flags & OMAP_PACKAGE_MASK) {
2035 	case OMAP_PACKAGE_CBC:
2036 		package_subset = omap3_cbc_subset;
2037 		package_balls = omap3_cbc_ball;
2038 		break;
2039 	case OMAP_PACKAGE_CBB:
2040 		package_subset = omap3_cbb_subset;
2041 		package_balls = omap3_cbb_ball;
2042 		break;
2043 	case OMAP_PACKAGE_CUS:
2044 		package_subset = omap3_cus_subset;
2045 		package_balls = omap3_cus_ball;
2046 		break;
2047 	case OMAP_PACKAGE_CBP:
2048 		package_subset = omap36xx_cbp_subset;
2049 		package_balls = omap36xx_cbp_ball;
2050 		break;
2051 	default:
2052 		pr_err("%s Unknown omap package, mux disabled\n", __func__);
2053 		return -EINVAL;
2054 	}
2055 
2056 	return omap_mux_init("core", 0,
2057 			     OMAP3_CONTROL_PADCONF_MUX_PBASE,
2058 			     OMAP3_CONTROL_PADCONF_MUX_SIZE,
2059 			     omap3_muxmodes, package_subset, board_subset,
2060 			     package_balls);
2061 }
2062