mux2430.c 30 KB

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