mux.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. /*
  2. * TNETV107X: Pinmux APIs
  3. *
  4. * See file CREDITS for list of people who contributed to this
  5. * project.
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21. #ifndef __ASM_ARCH_MUX_H
  22. #define __ASM_ARCH_MUX_H
  23. struct pin_config {
  24. unsigned char reg_index;
  25. unsigned char mask_offset;
  26. unsigned char mode;
  27. };
  28. #define TNETV107X_MUX_CFG(reg, offset, mux_mode) \
  29. { reg, offset, mux_mode }
  30. int mux_select_pin(short index);
  31. int mux_select_pins(const short *pins);
  32. enum tnetv107x_pin_mux_index {
  33. TNETV107X_PIN_ASR_A00,
  34. TNETV107X_PIN_GPIO32,
  35. TNETV107X_PIN_ASR_A01,
  36. TNETV107X_PIN_GPIO33,
  37. TNETV107X_PIN_ASR_A02,
  38. TNETV107X_PIN_GPIO34,
  39. TNETV107X_PIN_ASR_A03,
  40. TNETV107X_PIN_GPIO35,
  41. TNETV107X_PIN_ASR_A04,
  42. TNETV107X_PIN_GPIO36,
  43. TNETV107X_PIN_ASR_A05,
  44. TNETV107X_PIN_GPIO37,
  45. TNETV107X_PIN_ASR_A06,
  46. TNETV107X_PIN_GPIO38,
  47. TNETV107X_PIN_ASR_A07,
  48. TNETV107X_PIN_GPIO39,
  49. TNETV107X_PIN_ASR_A08,
  50. TNETV107X_PIN_GPIO40,
  51. TNETV107X_PIN_ASR_A09,
  52. TNETV107X_PIN_GPIO41,
  53. TNETV107X_PIN_ASR_A10,
  54. TNETV107X_PIN_GPIO42,
  55. TNETV107X_PIN_ASR_A11,
  56. TNETV107X_PIN_BOOT_STRP_0,
  57. TNETV107X_PIN_ASR_A12,
  58. TNETV107X_PIN_BOOT_STRP_1,
  59. TNETV107X_PIN_ASR_A13,
  60. TNETV107X_PIN_GPIO43,
  61. TNETV107X_PIN_ASR_A14,
  62. TNETV107X_PIN_GPIO44,
  63. TNETV107X_PIN_ASR_A15,
  64. TNETV107X_PIN_GPIO45,
  65. TNETV107X_PIN_ASR_A16,
  66. TNETV107X_PIN_GPIO46,
  67. TNETV107X_PIN_ASR_A17,
  68. TNETV107X_PIN_GPIO47,
  69. TNETV107X_PIN_ASR_A18,
  70. TNETV107X_PIN_GPIO48,
  71. TNETV107X_PIN_SDIO1_DATA3_0,
  72. TNETV107X_PIN_ASR_A19,
  73. TNETV107X_PIN_GPIO49,
  74. TNETV107X_PIN_SDIO1_DATA2_0,
  75. TNETV107X_PIN_ASR_A20,
  76. TNETV107X_PIN_GPIO50,
  77. TNETV107X_PIN_SDIO1_DATA1_0,
  78. TNETV107X_PIN_ASR_A21,
  79. TNETV107X_PIN_GPIO51,
  80. TNETV107X_PIN_SDIO1_DATA0_0,
  81. TNETV107X_PIN_ASR_A22,
  82. TNETV107X_PIN_GPIO52,
  83. TNETV107X_PIN_SDIO1_CMD_0,
  84. TNETV107X_PIN_ASR_A23,
  85. TNETV107X_PIN_GPIO53,
  86. TNETV107X_PIN_SDIO1_CLK_0,
  87. TNETV107X_PIN_ASR_BA_1,
  88. TNETV107X_PIN_GPIO54,
  89. TNETV107X_PIN_SYS_PLL_CLK,
  90. TNETV107X_PIN_ASR_CS0,
  91. TNETV107X_PIN_ASR_CS1,
  92. TNETV107X_PIN_ASR_CS2,
  93. TNETV107X_PIN_TDM_PLL_CLK,
  94. TNETV107X_PIN_ASR_CS3,
  95. TNETV107X_PIN_ETH_PHY_CLK,
  96. TNETV107X_PIN_ASR_D00,
  97. TNETV107X_PIN_GPIO55,
  98. TNETV107X_PIN_ASR_D01,
  99. TNETV107X_PIN_GPIO56,
  100. TNETV107X_PIN_ASR_D02,
  101. TNETV107X_PIN_GPIO57,
  102. TNETV107X_PIN_ASR_D03,
  103. TNETV107X_PIN_GPIO58,
  104. TNETV107X_PIN_ASR_D04,
  105. TNETV107X_PIN_GPIO59_0,
  106. TNETV107X_PIN_ASR_D05,
  107. TNETV107X_PIN_GPIO60_0,
  108. TNETV107X_PIN_ASR_D06,
  109. TNETV107X_PIN_GPIO61_0,
  110. TNETV107X_PIN_ASR_D07,
  111. TNETV107X_PIN_GPIO62_0,
  112. TNETV107X_PIN_ASR_D08,
  113. TNETV107X_PIN_GPIO63_0,
  114. TNETV107X_PIN_ASR_D09,
  115. TNETV107X_PIN_GPIO64_0,
  116. TNETV107X_PIN_ASR_D10,
  117. TNETV107X_PIN_SDIO1_DATA3_1,
  118. TNETV107X_PIN_ASR_D11,
  119. TNETV107X_PIN_SDIO1_DATA2_1,
  120. TNETV107X_PIN_ASR_D12,
  121. TNETV107X_PIN_SDIO1_DATA1_1,
  122. TNETV107X_PIN_ASR_D13,
  123. TNETV107X_PIN_SDIO1_DATA0_1,
  124. TNETV107X_PIN_ASR_D14,
  125. TNETV107X_PIN_SDIO1_CMD_1,
  126. TNETV107X_PIN_ASR_D15,
  127. TNETV107X_PIN_SDIO1_CLK_1,
  128. TNETV107X_PIN_ASR_OE,
  129. TNETV107X_PIN_BOOT_STRP_2,
  130. TNETV107X_PIN_ASR_RNW,
  131. TNETV107X_PIN_GPIO29_0,
  132. TNETV107X_PIN_ASR_WAIT,
  133. TNETV107X_PIN_GPIO30_0,
  134. TNETV107X_PIN_ASR_WE,
  135. TNETV107X_PIN_BOOT_STRP_3,
  136. TNETV107X_PIN_ASR_WE_DQM0,
  137. TNETV107X_PIN_GPIO31,
  138. TNETV107X_PIN_LCD_PD17_0,
  139. TNETV107X_PIN_ASR_WE_DQM1,
  140. TNETV107X_PIN_ASR_BA0_0,
  141. TNETV107X_PIN_VLYNQ_CLK,
  142. TNETV107X_PIN_GPIO14,
  143. TNETV107X_PIN_LCD_PD19_0,
  144. TNETV107X_PIN_VLYNQ_RXD0,
  145. TNETV107X_PIN_GPIO15,
  146. TNETV107X_PIN_LCD_PD20_0,
  147. TNETV107X_PIN_VLYNQ_RXD1,
  148. TNETV107X_PIN_GPIO16,
  149. TNETV107X_PIN_LCD_PD21_0,
  150. TNETV107X_PIN_VLYNQ_TXD0,
  151. TNETV107X_PIN_GPIO17,
  152. TNETV107X_PIN_LCD_PD22_0,
  153. TNETV107X_PIN_VLYNQ_TXD1,
  154. TNETV107X_PIN_GPIO18,
  155. TNETV107X_PIN_LCD_PD23_0,
  156. TNETV107X_PIN_SDIO0_CLK,
  157. TNETV107X_PIN_GPIO19,
  158. TNETV107X_PIN_SDIO0_CMD,
  159. TNETV107X_PIN_GPIO20,
  160. TNETV107X_PIN_SDIO0_DATA0,
  161. TNETV107X_PIN_GPIO21,
  162. TNETV107X_PIN_SDIO0_DATA1,
  163. TNETV107X_PIN_GPIO22,
  164. TNETV107X_PIN_SDIO0_DATA2,
  165. TNETV107X_PIN_GPIO23,
  166. TNETV107X_PIN_SDIO0_DATA3,
  167. TNETV107X_PIN_GPIO24,
  168. TNETV107X_PIN_EMU0,
  169. TNETV107X_PIN_EMU1,
  170. TNETV107X_PIN_RTCK,
  171. TNETV107X_PIN_TRST_N,
  172. TNETV107X_PIN_TCK,
  173. TNETV107X_PIN_TDI,
  174. TNETV107X_PIN_TDO,
  175. TNETV107X_PIN_TMS,
  176. TNETV107X_PIN_TDM1_CLK,
  177. TNETV107X_PIN_TDM1_RX,
  178. TNETV107X_PIN_TDM1_TX,
  179. TNETV107X_PIN_TDM1_FS,
  180. TNETV107X_PIN_KEYPAD_R0,
  181. TNETV107X_PIN_KEYPAD_R1,
  182. TNETV107X_PIN_KEYPAD_R2,
  183. TNETV107X_PIN_KEYPAD_R3,
  184. TNETV107X_PIN_KEYPAD_R4,
  185. TNETV107X_PIN_KEYPAD_R5,
  186. TNETV107X_PIN_KEYPAD_R6,
  187. TNETV107X_PIN_GPIO12,
  188. TNETV107X_PIN_KEYPAD_R7,
  189. TNETV107X_PIN_GPIO10,
  190. TNETV107X_PIN_KEYPAD_C0,
  191. TNETV107X_PIN_KEYPAD_C1,
  192. TNETV107X_PIN_KEYPAD_C2,
  193. TNETV107X_PIN_KEYPAD_C3,
  194. TNETV107X_PIN_KEYPAD_C4,
  195. TNETV107X_PIN_KEYPAD_C5,
  196. TNETV107X_PIN_KEYPAD_C6,
  197. TNETV107X_PIN_GPIO13,
  198. TNETV107X_PIN_TEST_CLK_IN,
  199. TNETV107X_PIN_KEYPAD_C7,
  200. TNETV107X_PIN_GPIO11,
  201. TNETV107X_PIN_SSP0_0,
  202. TNETV107X_PIN_SCC_DCLK,
  203. TNETV107X_PIN_LCD_PD20_1,
  204. TNETV107X_PIN_SSP0_1,
  205. TNETV107X_PIN_SCC_CS_N,
  206. TNETV107X_PIN_LCD_PD21_1,
  207. TNETV107X_PIN_SSP0_2,
  208. TNETV107X_PIN_SCC_D,
  209. TNETV107X_PIN_LCD_PD22_1,
  210. TNETV107X_PIN_SSP0_3,
  211. TNETV107X_PIN_SCC_RESETN,
  212. TNETV107X_PIN_LCD_PD23_1,
  213. TNETV107X_PIN_SSP1_0,
  214. TNETV107X_PIN_GPIO25,
  215. TNETV107X_PIN_UART2_CTS,
  216. TNETV107X_PIN_SSP1_1,
  217. TNETV107X_PIN_GPIO26,
  218. TNETV107X_PIN_UART2_RD,
  219. TNETV107X_PIN_SSP1_2,
  220. TNETV107X_PIN_GPIO27,
  221. TNETV107X_PIN_UART2_RTS,
  222. TNETV107X_PIN_SSP1_3,
  223. TNETV107X_PIN_GPIO28,
  224. TNETV107X_PIN_UART2_TD,
  225. TNETV107X_PIN_UART0_CTS,
  226. TNETV107X_PIN_UART0_RD,
  227. TNETV107X_PIN_UART0_RTS,
  228. TNETV107X_PIN_UART0_TD,
  229. TNETV107X_PIN_UART1_RD,
  230. TNETV107X_PIN_UART1_TD,
  231. TNETV107X_PIN_LCD_AC_NCS,
  232. TNETV107X_PIN_LCD_HSYNC_RNW,
  233. TNETV107X_PIN_LCD_VSYNC_A0,
  234. TNETV107X_PIN_LCD_MCLK,
  235. TNETV107X_PIN_LCD_PD16_0,
  236. TNETV107X_PIN_LCD_PCLK_E,
  237. TNETV107X_PIN_LCD_PD00,
  238. TNETV107X_PIN_LCD_PD01,
  239. TNETV107X_PIN_LCD_PD02,
  240. TNETV107X_PIN_LCD_PD03,
  241. TNETV107X_PIN_LCD_PD04,
  242. TNETV107X_PIN_LCD_PD05,
  243. TNETV107X_PIN_LCD_PD06,
  244. TNETV107X_PIN_LCD_PD07,
  245. TNETV107X_PIN_LCD_PD08,
  246. TNETV107X_PIN_GPIO59_1,
  247. TNETV107X_PIN_LCD_PD09,
  248. TNETV107X_PIN_GPIO60_1,
  249. TNETV107X_PIN_LCD_PD10,
  250. TNETV107X_PIN_ASR_BA0_1,
  251. TNETV107X_PIN_GPIO61_1,
  252. TNETV107X_PIN_LCD_PD11,
  253. TNETV107X_PIN_GPIO62_1,
  254. TNETV107X_PIN_LCD_PD12,
  255. TNETV107X_PIN_GPIO63_1,
  256. TNETV107X_PIN_LCD_PD13,
  257. TNETV107X_PIN_GPIO64_1,
  258. TNETV107X_PIN_LCD_PD14,
  259. TNETV107X_PIN_GPIO29_1,
  260. TNETV107X_PIN_LCD_PD15,
  261. TNETV107X_PIN_GPIO30_1,
  262. TNETV107X_PIN_EINT0,
  263. TNETV107X_PIN_GPIO08,
  264. TNETV107X_PIN_EINT1,
  265. TNETV107X_PIN_GPIO09,
  266. TNETV107X_PIN_GPIO00,
  267. TNETV107X_PIN_LCD_PD20_2,
  268. TNETV107X_PIN_TDM_CLK_IN_2,
  269. TNETV107X_PIN_GPIO01,
  270. TNETV107X_PIN_LCD_PD21_2,
  271. TNETV107X_PIN_24M_CLK_OUT_1,
  272. TNETV107X_PIN_GPIO02,
  273. TNETV107X_PIN_LCD_PD22_2,
  274. TNETV107X_PIN_GPIO03,
  275. TNETV107X_PIN_LCD_PD23_2,
  276. TNETV107X_PIN_GPIO04,
  277. TNETV107X_PIN_LCD_PD16_1,
  278. TNETV107X_PIN_USB0_RXERR,
  279. TNETV107X_PIN_GPIO05,
  280. TNETV107X_PIN_LCD_PD17_1,
  281. TNETV107X_PIN_TDM_CLK_IN_1,
  282. TNETV107X_PIN_GPIO06,
  283. TNETV107X_PIN_LCD_PD18,
  284. TNETV107X_PIN_24M_CLK_OUT_2,
  285. TNETV107X_PIN_GPIO07,
  286. TNETV107X_PIN_LCD_PD19_1,
  287. TNETV107X_PIN_USB1_RXERR,
  288. TNETV107X_PIN_ETH_PLL_CLK,
  289. TNETV107X_PIN_MDIO,
  290. TNETV107X_PIN_MDC,
  291. TNETV107X_PIN_AIC_MUTE_STAT_N,
  292. TNETV107X_PIN_TDM0_CLK,
  293. TNETV107X_PIN_AIC_HNS_EN_N,
  294. TNETV107X_PIN_TDM0_FS,
  295. TNETV107X_PIN_AIC_HDS_EN_STAT_N,
  296. TNETV107X_PIN_TDM0_TX,
  297. TNETV107X_PIN_AIC_HNF_EN_STAT_N,
  298. TNETV107X_PIN_TDM0_RX,
  299. };
  300. #endif