memoryOperation.c 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. #include <linux/module.h>
  10. #include <linux/init.h>
  11. #include "mux.h"
  12. #ifdef CONFIG_OMAP_MUX
  13. #define _OMAP3_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
  14. { \
  15. .reg_offset = (OMAP3_CONTROL_PADCONF_##M0##_OFFSET), \
  16. .gpio = (g), \
  17. .muxnames = { m0, m1, m2, m3, m4, m5, m6, m7 }, \
  18. }
  19. #else
  20. #define _OMAP3_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
  21. { \
  22. .reg_offset = (OMAP3_CONTROL_PADCONF_##M0##_OFFSET), \
  23. .gpio = (g), \
  24. }
  25. #endif
  26. #define _OMAP3_BALLENTRY(M0, bb, bt) \
  27. { \
  28. .reg_offset = (OMAP3_CONTROL_PADCONF_##M0##_OFFSET), \
  29. .balls = { bb, bt }, \
  30. }
  31. /*
  32. * Superset of all mux modes for omap3
  33. */
  34. static struct omap_mux __initdata omap3_muxmodes[] = {
  35. _OMAP3_MUXENTRY(CAM_D0, 99,
  36. "cam_d0", NULL, NULL, NULL,
  37. "gpio_99", NULL, NULL, "safe_mode"),
  38. _OMAP3_MUXENTRY(CAM_D1, 100,
  39. "cam_d1", NULL, NULL, NULL,
  40. "gpio_100", NULL, NULL, "safe_mode"),
  41. _OMAP3_MUXENTRY(CAM_D10, 109,
  42. "cam_d10", NULL, NULL, NULL,
  43. "gpio_109", "hw_dbg8", NULL, "safe_mode"),
  44. _OMAP3_MUXENTRY(CAM_D11, 110,
  45. "cam_d11", NULL, NULL, NULL,
  46. "gpio_110", "hw_dbg9", NULL, "safe_mode"),
  47. _OMAP3_MUXENTRY(CAM_D2, 101,
  48. "cam_d2", NULL, NULL, NULL,
  49. "gpio_101", "hw_dbg4", NULL, "safe_mode"),
  50. _OMAP3_MUXENTRY(CAM_D3, 102,
  51. "cam_d3", NULL, NULL, NULL,
  52. "gpio_102", "hw_dbg5", NULL, "safe_mode"),
  53. _OMAP3_MUXENTRY(CAM_D4, 103,
  54. "cam_d4", NULL, NULL, NULL,
  55. "gpio_103", "hw_dbg6", NULL, "safe_mode"),
  56. _OMAP3_MUXENTRY(CAM_D5, 104,
  57. "cam_d5", NULL, NULL, NULL,
  58. "gpio_104", "hw_dbg7", NULL, "safe_mode"),
  59. _OMAP3_MUXENTRY(CAM_D6, 105,
  60. "cam_d6", NULL, NULL, NULL,
  61. "gpio_105", NULL, NULL, "safe_mode"),
  62. _OMAP3_MUXENTRY(CAM_D7, 106,
  63. "cam_d7", NULL, NULL, NULL,
  64. "gpio_106", NULL, NULL, "safe_mode"),
  65. _OMAP3_MUXENTRY(CAM_D8, 107,
  66. "cam_d8", NULL, NULL, NULL,
  67. "gpio_107", NULL, NULL, "safe_mode"),
  68. _OMAP3_MUXENTRY(CAM_D9, 108,
  69. "cam_d9", NULL, NULL, NULL,
  70. "gpio_108", NULL, NULL, "safe_mode"),
  71. _OMAP3_MUXENTRY(CAM_FLD, 98,
  72. "cam_fld", NULL, "cam_global_reset", NULL,
  73. "gpio_98", "hw_dbg3", NULL, "safe_mode"),
  74. _OMAP3_MUXENTRY(CAM_HS, 94,
  75. "cam_hs", NULL, NULL, NULL,
  76. "gpio_94", "hw_dbg0", NULL, "safe_mode"),
  77. _OMAP3_MUXENTRY(CAM_PCLK, 97,
  78. "cam_pclk", NULL, NULL, NULL,
  79. "gpio_97", "hw_dbg2", NULL, "safe_mode"),
  80. _OMAP3_MUXENTRY(CAM_STROBE, 126,
  81. "cam_strobe", NULL, NULL, NULL,
  82. "gpio_126", "hw_dbg11", NULL, "safe_mode"),
  83. _OMAP3_MUXENTRY(CAM_VS, 95,
  84. "cam_vs", NULL, NULL, NULL,
  85. "gpio_95", "hw_dbg1", NULL, "safe_mode"),
  86. _OMAP3_MUXENTRY(CAM_WEN, 167,
  87. "cam_wen", NULL, "cam_shutter", NULL,
  88. "gpio_167", "hw_dbg10", NULL, "safe_mode"),
  89. _OMAP3_MUXENTRY(CAM_XCLKA, 96,
  90. "cam_xclka", NULL, NULL, NULL,
  91. "gpio_96", NULL, NULL, "safe_mode"),
  92. _OMAP3_MUXENTRY(CAM_XCLKB, 111,
  93. "cam_xclkb", NULL, NULL, NULL,
  94. "gpio_111", NULL, NULL, "safe_mode"),
  95. _OMAP3_MUXENTRY(CSI2_DX0, 112,
  96. "csi2_dx0", NULL, NULL, NULL,
  97. "gpio_112", NULL, NULL, "safe_mode"),
  98. _OMAP3_MUXENTRY(CSI2_DX1, 114,
  99. "csi2_dx1", NULL, NULL, NULL,
  100. "gpio_114", NULL, NULL, "safe_mode"),
  101. _OMAP3_MUXENTRY(CSI2_DY0, 113,
  102. "csi2_dy0", NULL, NULL, NULL,
  103. "gpio_113", NULL, NULL, "safe_mode"),
  104. _OMAP3_MUXENTRY(CSI2_DY1, 115,
  105. "csi2_dy1", NULL, NULL, NULL,
  106. "gpio_115", NULL, NULL, "safe_mode"),
  107. _OMAP3_MUXENTRY(DSS_ACBIAS, 69,
  108. "dss_acbias", NULL, NULL, NULL,
  109. "gpio_69", NULL, NULL, "safe_mode"),
  110. _OMAP3_MUXENTRY(DSS_DATA0, 70,
  111. "dss_data0", NULL, "uart1_cts", NULL,
  112. "gpio_70", NULL, NULL, "safe_mode"),
  113. _OMAP3_MUXENTRY(DSS_DATA1, 71,
  114. "dss_data1", NULL, "uart1_rts", NULL,
  115. "gpio_71", NULL, NULL, "safe_mode"),
  116. _OMAP3_MUXENTRY(DSS_DATA10, 80,
  117. "dss_data10", NULL, NULL, NULL,
  118. "gpio_80", NULL, NULL, "safe_mode"),
  119. _OMAP3_MUXENTRY(DSS_DATA11, 81,
  120. "dss_data11", NULL, NULL, NULL,
  121. "gpio_81", NULL, NULL, "safe_mode"),
  122. _OMAP3_MUXENTRY(DSS_DATA12, 82,
  123. "dss_data12", NULL, NULL, NULL,
  124. "gpio_82", NULL, NULL, "safe_mode"),
  125. _OMAP3_MUXENTRY(DSS_DATA13, 83,
  126. "dss_data13", NULL, NULL, NULL,
  127. "gpio_83", NULL, NULL, "safe_mode"),
  128. _OMAP3_MUXENTRY(DSS_DATA14, 84,
  129. "dss_data14", NULL, NULL, NULL,
  130. "gpio_84", NULL, NULL, "safe_mode"),
  131. _OMAP3_MUXENTRY(DSS_DATA15, 85,
  132. "dss_data15", NULL, NULL, NULL,
  133. "gpio_85", NULL, NULL, "safe_mode"),
  134. _OMAP3_MUXENTRY(DSS_DATA16, 86,
  135. "dss_data16", NULL, NULL, NULL,
  136. "gpio_86", NULL, NULL, "safe_mode"),
  137. _OMAP3_MUXENTRY(DSS_DATA17, 87,
  138. "dss_data17", NULL, NULL, NULL,
  139. "gpio_87", NULL, NULL, "safe_mode"),
  140. _OMAP3_MUXENTRY(DSS_DATA18, 88,
  141. "dss_data18", NULL, "mcspi3_clk", "dss_data0",
  142. "gpio_88", NULL, NULL, "safe_mode"),
  143. _OMAP3_MUXENTRY(DSS_DATA19, 89,
  144. "dss_data19", NULL, "mcspi3_simo", "dss_data1",
  145. "gpio_89", NULL, NULL, "safe_mode"),
  146. _OMAP3_MUXENTRY(DSS_DATA20, 90,
  147. "dss_data20", NULL, "mcspi3_somi", "dss_data2",
  148. "gpio_90", NULL, NULL, "safe_mode"),
  149. _OMAP3_MUXENTRY(DSS_DATA21, 91,
  150. "dss_data21", NULL, "mcspi3_cs0", "dss_data3",
  151. "gpio_91", NULL, NULL, "safe_mode"),
  152. _OMAP3_MUXENTRY(DSS_DATA22, 92,
  153. "dss_data22", NULL, "mcspi3_cs1", "dss_data4",
  154. "gpio_92", NULL, NULL, "safe_mode"),
  155. _OMAP3_MUXENTRY(DSS_DATA23, 93,