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 */
43static 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", "ssi1_rdy_tx", NULL, NULL,
618		"gpio_150", "hsusb3_tll_clk", NULL, "safe_mode"),
619	_OMAP3_MUXENTRY(UART1_RTS, 149,
620		"uart1_rts", "ssi1_flag_tx", NULL, NULL,
621		"gpio_149", NULL, NULL, "safe_mode"),
622	_OMAP3_MUXENTRY(UART1_RX, 151,
623		"uart1_rx", "ssi1_wake_tx", "mcbsp1_clkr", "mcspi4_clk",
624		"gpio_151", NULL, NULL, "safe_mode"),
625	_OMAP3_MUXENTRY(UART1_TX, 148,
626		"uart1_tx", "ssi1_dat_tx", 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)
706static 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)
724static 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)
934static 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)
1080static 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)
1272static 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)
1393static 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)
1603static 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)
1821static 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
2029int __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", OMAP_MUX_GPIO_IN_MODE4,
2057			     OMAP3_CONTROL_PADCONF_MUX_PBASE,
2058			     OMAP3_CONTROL_PADCONF_MUX_SIZE,
2059			     omap3_muxmodes, package_subset, board_subset,
2060			     package_balls);
2061}
2062