commandProcessing.c 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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 _OMAP2420_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
  14. { \
  15. .reg_offset = (OMAP2420_CONTROL_PADCONF_##M0##_OFFSET), \
  16. .gpio = (g), \
  17. .muxnames = { m0, m1, m2, m3, m4, m5, m6, m7 }, \
  18. }
  19. #else
  20. #define _OMAP2420_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
  21. { \
  22. .reg_offset = (OMAP2420_CONTROL_PADCONF_##M0##_OFFSET), \
  23. .gpio = (g), \
  24. }
  25. #endif
  26. #define _OMAP2420_BALLENTRY(M0, bb, bt) \
  27. { \
  28. .reg_offset = (OMAP2420_CONTROL_PADCONF_##M0##_OFFSET), \
  29. .balls = { bb, bt }, \
  30. }
  31. /*
  32. * Superset of all mux modes for omap2420
  33. */
  34. static struct omap_mux __initdata omap2420_muxmodes[] = {
  35. _OMAP2420_MUXENTRY(CAM_D0, 54,
  36. "cam_d0", "hw_dbg2", "sti_dout", "gpio_54",
  37. NULL, NULL, "etk_d2", NULL),
  38. _OMAP2420_MUXENTRY(CAM_D1, 53,
  39. "cam_d1", "hw_dbg3", "sti_din", "gpio_53",
  40. NULL, NULL, "etk_d3", NULL),
  41. _OMAP2420_MUXENTRY(CAM_D2, 52,
  42. "cam_d2", "hw_dbg4", "mcbsp1_clkx", "gpio_52",
  43. NULL, NULL, "etk_d4", NULL),
  44. _OMAP2420_MUXENTRY(CAM_D3, 51,
  45. "cam_d3", "hw_dbg5", "mcbsp1_dr", "gpio_51",
  46. NULL, NULL, "etk_d5", NULL),
  47. _OMAP2420_MUXENTRY(CAM_D4, 50,
  48. "cam_d4", "hw_dbg6", "mcbsp1_fsr", "gpio_50",
  49. NULL, NULL, "etk_d6", NULL),
  50. _OMAP2420_MUXENTRY(CAM_D5, 49,
  51. "cam_d5", "hw_dbg7", "mcbsp1_clkr", "gpio_49",
  52. NULL, NULL, "etk_d7", NULL),
  53. _OMAP2420_MUXENTRY(CAM_D6, 0,
  54. "cam_d6", "hw_dbg8", NULL, NULL,
  55. NULL, NULL, "etk_d8", NULL),
  56. _OMAP2420_MUXENTRY(CAM_D7, 0,
  57. "cam_d7", "hw_dbg9", NULL, NULL,
  58. NULL, NULL, "etk_d9", NULL),
  59. _OMAP2420_MUXENTRY(CAM_D8, 54,
  60. "cam_d8", "hw_dbg10", NULL, "gpio_54",
  61. NULL, NULL, "etk_d10", NULL),
  62. _OMAP2420_MUXENTRY(CAM_D9, 53,
  63. "cam_d9", "hw_dbg11", NULL, "gpio_53",
  64. NULL, NULL, "etk_d11", NULL),
  65. _OMAP2420_MUXENTRY(CAM_HS, 55,
  66. "cam_hs", "hw_dbg1", "mcbsp1_dx", "gpio_55",
  67. NULL, NULL, "etk_d1", NULL),
  68. _OMAP2420_MUXENTRY(CAM_LCLK, 57,
  69. "cam_lclk", NULL, "mcbsp_clks", "gpio_57",
  70. NULL, NULL, "etk_c1", NULL),
  71. _OMAP2420_MUXENTRY(CAM_VS, 56,
  72. "cam_vs", "hw_dbg0", "mcbsp1_fsx", "gpio_56",
  73. NULL, NULL, "etk_d0", NULL),
  74. _OMAP2420_MUXENTRY(CAM_XCLK, 0,
  75. "cam_xclk", NULL, "sti_clk", NULL,
  76. NULL, NULL, "etk_c2", NULL),
  77. _OMAP2420_MUXENTRY(DSS_ACBIAS, 48,
  78. "dss_acbias", NULL, "mcbsp2_fsx", "gpio_48",
  79. NULL, NULL, NULL, NULL),
  80. _OMAP2420_MUXENTRY(DSS_DATA10, 40,
  81. "dss_data10", NULL, NULL, "gpio_40",
  82. NULL, NULL, NULL, NULL),
  83. _OMAP2420_MUXENTRY(DSS_DATA11, 41,
  84. "dss_data11", NULL, NULL, "gpio_41",
  85. NULL, NULL, NULL, NULL),
  86. _OMAP2420_MUXENTRY(DSS_DATA12, 42,
  87. "dss_data12", NULL, NULL, "gpio_42",
  88. NULL, NULL, NULL, NULL),
  89. _OMAP2420_MUXENTRY(DSS_DATA13, 43,
  90. "dss_data13", NULL, NULL, "gpio_43",
  91. NULL, NULL, NULL, NULL),
  92. _OMAP2420_MUXENTRY(DSS_DATA14, 44,
  93. "dss_data14", NULL, NULL, "gpio_44",
  94. NULL, NULL, NULL, NULL),
  95. _OMAP2420_MUXENTRY(DSS_DATA15, 45,
  96. "dss_data15", NULL, NULL, "gpio_45",
  97. NULL, NULL, NULL, NULL),
  98. _OMAP2420_MUXENTRY(DSS_DATA16, 46,
  99. "dss_data16", NULL, NULL, "gpio_46",
  100. NULL, NULL, NULL, NULL),
  101. _OMAP2420_MUXENTRY(DSS_DATA17, 47,
  102. "dss_data17", NULL, NULL, "gpio_47",
  103. NULL, NULL, NULL, NULL),
  104. _OMAP2420_MUXENTRY(DSS_DATA8, 38,
  105. "dss_data8", NULL, NULL, "gpio_38",
  106. NULL, NULL, NULL, NULL),
  107. _OMAP2420_MUXENTRY(DSS_DATA9, 39,
  108. "dss_data9", NULL, NULL, "gpio_39",
  109. NULL, NULL, NULL, NULL),
  110. _OMAP2420_MUXENTRY(EAC_AC_DIN, 115,
  111. "eac_ac_din", "mcbsp2_dr", NULL, "gpio_115",
  112. NULL, NULL, NULL, NULL),
  113. _OMAP2420_MUXENTRY(EAC_AC_DOUT, 116,
  114. "eac_ac_dout", "mcbsp2_dx", NULL, "gpio_116",
  115. NULL, NULL, NULL, NULL),
  116. _OMAP2420_MUXENTRY(EAC_AC_FS, 114,
  117. "eac_ac_fs", "mcbsp2_fsx", NULL, "gpio_114",
  118. NULL, NULL, NULL, NULL),
  119. _OMAP2420_MUXENTRY(EAC_AC_MCLK, 117,
  120. "eac_ac_mclk", NULL, NULL, "gpio_117",
  121. NULL, NULL, NULL, NULL),
  122. _OMAP2420_MUXENTRY(EAC_AC_RST, 118,
  123. "eac_ac_rst", "eac_bt_din", NULL, "gpio_118",
  124. NULL, NULL, NULL, NULL),
  125. _OMAP2420_MUXENTRY(EAC_AC_SCLK, 113,
  126. "eac_ac_sclk", "mcbsp2_clkx", NULL, "gpio_113",
  127. NULL, NULL, NULL, NULL),
  128. _OMAP2420_MUXENTRY(EAC_BT_DIN, 73,
  129. "eac_bt_din", NULL, NULL, "gpio_73",
  130. NULL, NULL, "etk_d9", NULL),
  131. _OMAP2420_MUXENTRY(EAC_BT_DOUT, 74,
  132. "eac_bt_dout", NULL, "sti_clk", "gpio_74",
  133. NULL, NULL, "etk_d8", NULL),
  134. _OMAP2420_MUXENTRY(EAC_BT_FS, 72,
  135. "eac_bt_fs", NULL, NULL, "gpio_72",
  136. NULL, NULL, "etk_d10", NULL),
  137. _OMAP2420_MUXENTRY(EAC_BT_SCLK, 71,
  138. "eac_bt_sclk", NULL, NULL, "gpio_71",
  139. NULL, NULL, "etk_d11", NULL),
  140. _OMAP2420_MUXENTRY(GPIO_119, 119,
  141. "gpio_119", NULL, "sti_din", "gpio_119",
  142. NULL, "sys_boot0", "etk_d12", NULL),
  143. _OMAP2420_MUXENTRY(GPIO_120, 120,
  144. "gpio_120", NULL, "sti_dout", "gpio_120",
  145. "cam_d9", "sys_boot1", "etk_d13", NULL),
  146. _OMAP2420_MUXENTRY(GPIO_121, 121,
  147. "gpio_121", NULL, NULL, "gpio_121",
  148. "jtag_emu2", "sys_boot2", "etk_d14", NULL),
  149. _OMAP2420_MUXENTRY(GPIO_122, 122,
  150. "gpio_122", NULL, NULL, "gpio_122",
  151. "jtag_emu3", "sys_boot3", "etk_d15", NULL),
  152. _OMAP2420_MUXENTRY(GPIO_124, 124,
  153. "gpio_124", NULL, NULL, "gpio_124",
  154. NULL, "sys_boot5", NULL, NULL),
  155. _OMAP2420_MUXENTRY(GPIO_125, 125,
  156. "gpio_125", "sys_jtagsel1", "sys_jtagsel2", "gpio_125",
  157. NULL, NULL, NULL, NULL),
  158. _OMAP2420_MUXENTRY(GPIO_36, 36,
  159. "gpio_36", NULL, NULL, "gpio_36",
  160. NULL, "sys_boot4", NULL, NULL),
  161. _OMAP2420_MUXENTRY(GPIO_62, 62,
  162. "gpio_62", "uart1_rx", "usb1_dat", "gpio_62",
  163. NULL, NULL, NULL, NULL),
  164. _OMAP2420_MUXENTRY(GPIO_6, 6,
  165. "gpio_6", "tv_detpulse", NULL, "gpio_6",
  166. NULL, NULL, NULL, NULL),
  167. _OMAP2420_MUXENTRY(GPMC_A10, 3,
  168. "gpmc_a10", NULL, "sys_ndmareq5", "gpio_3",
  169. NULL, NULL, NULL, NULL),
  170. _OMAP2420_MUXENTRY(GPMC_A1, 12,
  171. "gpmc_a1", "dss_data18", NULL, "gpio_12",
  172. NULL, NULL, NULL, NULL),
  173. _OMAP2420_MUXENTRY(GPMC_A2, 11,
  174. "gpmc_a2", "dss_data19", NULL, "gpio_11",
  175. NULL, NULL, NULL, NULL),
  176. _OMAP2420_MUXENTRY(GPMC_A3, 10,
  177. "gpmc_a3", "dss_data20", NULL, "gpio_10",
  178. NULL, NULL, NULL, NULL),
  179. _OMAP2420_MUXENTRY(GPMC_A4, 9,
  180. "gpmc_a4", "dss_data21", NULL, "gpio_9",
  181. NULL, NULL, NULL, NULL),
  182. _OMAP2420_MUXENTRY(GPMC_A5, 8,
  183. "gpmc_a5", "dss_data22", NULL, "gpio_8",
  184. NULL, NULL, NULL, NULL),
  185. _OMAP2420_MUXENTRY(GPMC_A6, 7,
  186. "gpmc_a6", "dss_data23", NULL, "gpio_7",
  187. NULL, NULL, NULL, NULL),
  188. _OMAP2420_MUXENTRY(GPMC_A7, 6,
  189. "gpmc_a7", NULL, "sys_ndmareq2", "gpio_6",
  190. NULL, NULL, NULL, NULL),
  191. _OMAP2420_MUXENTRY(GPMC_A8, 5,
  192. "gpmc_a8", NULL, "sys_ndmareq3", "gpio_5",
  193. NULL, NULL, NULL, NULL),
  194. _OMAP2420_MUXENTRY(GPMC_A9, 4,
  195. "gpmc_a9", NULL, "sys_ndmareq4", "gpio_4",
  196. NULL, NULL, NULL, NULL),
  197. _OMAP2420_MUXENTRY(GPMC_CLK, 21,
  198. "gpmc_clk", NULL, NULL, "gpio_21",
  199. NULL, NULL, NULL, NULL),
  200. _OMAP2420_MUXENTRY(GPMC_D10, 18,
  201. "gpmc_d10", "ssi2_rdy_rx", NULL, "gpio_18",
  202. NULL, NULL, NULL, NULL),
  203. _OMAP2420_MUXENTRY(GPMC_D11, 17,
  204. "gpmc_d11", "ssi2_flag_rx", NULL, "gpio_17",
  205. NULL, NULL, NULL, NULL),
  206. _OMAP2420_MUXENTRY(GPMC_D12, 16,
  207. "gpmc_d12", "ssi2_dat_rx", NULL, "gpio_16",
  208. NULL, NULL, NULL, NULL),
  209. _OMAP2420_MUXENTRY(GPMC_D13, 15,
  210. "gpmc_d13", "ssi2_rdy_tx", NULL, "gpio_15",