mux.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Pin-multiplex helper macros for TI DaVinci family devices
  4. *
  5. * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com>
  6. *
  7. * 2007 (c) MontaVista Software, Inc.
  8. *
  9. * Copyright (C) 2008 Texas Instruments.
  10. */
  11. #ifndef _MACH_DAVINCI_MUX_H_
  12. #define _MACH_DAVINCI_MUX_H_
  13. struct mux_config {
  14. const char *name;
  15. const char *mux_reg_name;
  16. const unsigned char mux_reg;
  17. const unsigned char mask_offset;
  18. const unsigned char mask;
  19. const unsigned char mode;
  20. bool debug;
  21. };
  22. enum da830_index {
  23. DA830_GPIO7_14,
  24. DA830_RTCK,
  25. DA830_GPIO7_15,
  26. DA830_EMU_0,
  27. DA830_EMB_SDCKE,
  28. DA830_EMB_CLK_GLUE,
  29. DA830_EMB_CLK,
  30. DA830_NEMB_CS_0,
  31. DA830_NEMB_CAS,
  32. DA830_NEMB_RAS,
  33. DA830_NEMB_WE,
  34. DA830_EMB_BA_1,
  35. DA830_EMB_BA_0,
  36. DA830_EMB_A_0,
  37. DA830_EMB_A_1,
  38. DA830_EMB_A_2,
  39. DA830_EMB_A_3,
  40. DA830_EMB_A_4,
  41. DA830_EMB_A_5,
  42. DA830_GPIO7_0,
  43. DA830_GPIO7_1,
  44. DA830_GPIO7_2,
  45. DA830_GPIO7_3,
  46. DA830_GPIO7_4,
  47. DA830_GPIO7_5,
  48. DA830_GPIO7_6,
  49. DA830_GPIO7_7,
  50. DA830_EMB_A_6,
  51. DA830_EMB_A_7,
  52. DA830_EMB_A_8,
  53. DA830_EMB_A_9,
  54. DA830_EMB_A_10,
  55. DA830_EMB_A_11,
  56. DA830_EMB_A_12,
  57. DA830_EMB_D_31,
  58. DA830_GPIO7_8,
  59. DA830_GPIO7_9,
  60. DA830_GPIO7_10,
  61. DA830_GPIO7_11,
  62. DA830_GPIO7_12,
  63. DA830_GPIO7_13,
  64. DA830_GPIO3_13,
  65. DA830_EMB_D_30,
  66. DA830_EMB_D_29,
  67. DA830_EMB_D_28,
  68. DA830_EMB_D_27,
  69. DA830_EMB_D_26,
  70. DA830_EMB_D_25,
  71. DA830_EMB_D_24,
  72. DA830_EMB_D_23,
  73. DA830_EMB_D_22,
  74. DA830_EMB_D_21,
  75. DA830_EMB_D_20,
  76. DA830_EMB_D_19,
  77. DA830_EMB_D_18,
  78. DA830_EMB_D_17,
  79. DA830_EMB_D_16,
  80. DA830_NEMB_WE_DQM_3,
  81. DA830_NEMB_WE_DQM_2,
  82. DA830_EMB_D_0,
  83. DA830_EMB_D_1,
  84. DA830_EMB_D_2,
  85. DA830_EMB_D_3,
  86. DA830_EMB_D_4,
  87. DA830_EMB_D_5,
  88. DA830_EMB_D_6,
  89. DA830_GPIO6_0,
  90. DA830_GPIO6_1,
  91. DA830_GPIO6_2,
  92. DA830_GPIO6_3,
  93. DA830_GPIO6_4,
  94. DA830_GPIO6_5,
  95. DA830_GPIO6_6,
  96. DA830_EMB_D_7,
  97. DA830_EMB_D_8,
  98. DA830_EMB_D_9,
  99. DA830_EMB_D_10,
  100. DA830_EMB_D_11,
  101. DA830_EMB_D_12,
  102. DA830_EMB_D_13,
  103. DA830_EMB_D_14,
  104. DA830_GPIO6_7,
  105. DA830_GPIO6_8,
  106. DA830_GPIO6_9,
  107. DA830_GPIO6_10,
  108. DA830_GPIO6_11,
  109. DA830_GPIO6_12,
  110. DA830_GPIO6_13,
  111. DA830_GPIO6_14,
  112. DA830_EMB_D_15,
  113. DA830_NEMB_WE_DQM_1,
  114. DA830_NEMB_WE_DQM_0,
  115. DA830_SPI0_SOMI_0,
  116. DA830_SPI0_SIMO_0,
  117. DA830_SPI0_CLK,
  118. DA830_NSPI0_ENA,
  119. DA830_NSPI0_SCS_0,
  120. DA830_EQEP0I,
  121. DA830_EQEP0S,
  122. DA830_EQEP1I,
  123. DA830_NUART0_CTS,
  124. DA830_NUART0_RTS,
  125. DA830_EQEP0A,
  126. DA830_EQEP0B,
  127. DA830_GPIO6_15,
  128. DA830_GPIO5_14,
  129. DA830_GPIO5_15,
  130. DA830_GPIO5_0,
  131. DA830_GPIO5_1,
  132. DA830_GPIO5_2,
  133. DA830_GPIO5_3,
  134. DA830_GPIO5_4,
  135. DA830_SPI1_SOMI_0,
  136. DA830_SPI1_SIMO_0,
  137. DA830_SPI1_CLK,
  138. DA830_UART0_RXD,
  139. DA830_UART0_TXD,
  140. DA830_AXR1_10,
  141. DA830_AXR1_11,
  142. DA830_NSPI1_ENA,
  143. DA830_I2C1_SCL,
  144. DA830_I2C1_SDA,
  145. DA830_EQEP1S,
  146. DA830_I2C0_SDA,
  147. DA830_I2C0_SCL,
  148. DA830_UART2_RXD,
  149. DA830_TM64P0_IN12,
  150. DA830_TM64P0_OUT12,
  151. DA830_GPIO5_5,
  152. DA830_GPIO5_6,
  153. DA830_GPIO5_7,
  154. DA830_GPIO5_8,
  155. DA830_GPIO5_9,
  156. DA830_GPIO5_10,
  157. DA830_GPIO5_11,
  158. DA830_GPIO5_12,
  159. DA830_NSPI1_SCS_0,
  160. DA830_USB0_DRVVBUS,
  161. DA830_AHCLKX0,
  162. DA830_ACLKX0,
  163. DA830_AFSX0,
  164. DA830_AHCLKR0,
  165. DA830_ACLKR0,
  166. DA830_AFSR0,
  167. DA830_UART2_TXD,
  168. DA830_AHCLKX2,
  169. DA830_ECAP0_APWM0,
  170. DA830_RMII_MHZ_50_CLK,
  171. DA830_ECAP1_APWM1,
  172. DA830_USB_REFCLKIN,
  173. DA830_GPIO5_13,
  174. DA830_GPIO4_15,
  175. DA830_GPIO2_11,
  176. DA830_GPIO2_12,
  177. DA830_GPIO2_13,
  178. DA830_GPIO2_14,
  179. DA830_GPIO2_15,
  180. DA830_GPIO3_12,
  181. DA830_AMUTE0,
  182. DA830_AXR0_0,
  183. DA830_AXR0_1,
  184. DA830_AXR0_2,
  185. DA830_AXR0_3,
  186. DA830_AXR0_4,
  187. DA830_AXR0_5,
  188. DA830_AXR0_6,
  189. DA830_RMII_TXD_0,
  190. DA830_RMII_TXD_1,
  191. DA830_RMII_TXEN,
  192. DA830_RMII_CRS_DV,
  193. DA830_RMII_RXD_0,
  194. DA830_RMII_RXD_1,
  195. DA830_RMII_RXER,
  196. DA830_AFSR2,
  197. DA830_ACLKX2,
  198. DA830_AXR2_3,
  199. DA830_AXR2_2,
  200. DA830_AXR2_1,
  201. DA830_AFSX2,
  202. DA830_ACLKR2,
  203. DA830_NRESETOUT,
  204. DA830_GPIO3_0,
  205. DA830_GPIO3_1,
  206. DA830_GPIO3_2,
  207. DA830_GPIO3_3,
  208. DA830_GPIO3_4,
  209. DA830_GPIO3_5,
  210. DA830_GPIO3_6,
  211. DA830_AXR0_7,
  212. DA830_AXR0_8,
  213. DA830_UART1_RXD,
  214. DA830_UART1_TXD,
  215. DA830_AXR0_11,
  216. DA830_AHCLKX1,
  217. DA830_ACLKX1,
  218. DA830_AFSX1,
  219. DA830_MDIO_CLK,
  220. DA830_MDIO_D,
  221. DA830_AXR0_9,
  222. DA830_AXR0_10,
  223. DA830_EPWM0B,
  224. DA830_EPWM0A,
  225. DA830_EPWMSYNCI,
  226. DA830_AXR2_0,
  227. DA830_EPWMSYNC0,
  228. DA830_GPIO3_7,
  229. DA830_GPIO3_8,
  230. DA830_GPIO3_9,
  231. DA830_GPIO3_10,
  232. DA830_GPIO3_11,
  233. DA830_GPIO3_14,
  234. DA830_GPIO3_15,
  235. DA830_GPIO4_10,
  236. DA830_AHCLKR1,
  237. DA830_ACLKR1,
  238. DA830_AFSR1,
  239. DA830_AMUTE1,
  240. DA830_AXR1_0,
  241. DA830_AXR1_1,
  242. DA830_AXR1_2,
  243. DA830_AXR1_3,
  244. DA830_ECAP2_APWM2,
  245. DA830_EHRPWMGLUETZ,
  246. DA830_EQEP1A,
  247. DA830_GPIO4_11,
  248. DA830_GPIO4_12,
  249. DA830_GPIO4_13,
  250. DA830_GPIO4_14,
  251. DA830_GPIO4_0,
  252. DA830_GPIO4_1,
  253. DA830_GPIO4_2,
  254. DA830_GPIO4_3,
  255. DA830_AXR1_4,
  256. DA830_AXR1_5,
  257. DA830_AXR1_6,
  258. DA830_AXR1_7,
  259. DA830_AXR1_8,
  260. DA830_AXR1_9,
  261. DA830_EMA_D_0,
  262. DA830_EMA_D_1,
  263. DA830_EQEP1B,
  264. DA830_EPWM2B,
  265. DA830_EPWM2A,
  266. DA830_EPWM1B,
  267. DA830_EPWM1A,
  268. DA830_MMCSD_DAT_0,
  269. DA830_MMCSD_DAT_1,
  270. DA830_UHPI_HD_0,
  271. DA830_UHPI_HD_1,
  272. DA830_GPIO4_4,
  273. DA830_GPIO4_5,
  274. DA830_GPIO4_6,
  275. DA830_GPIO4_7,
  276. DA830_GPIO4_8,
  277. DA830_GPIO4_9,
  278. DA830_GPIO0_0,
  279. DA830_GPIO0_1,
  280. DA830_EMA_D_2,
  281. DA830_EMA_D_3,
  282. DA830_EMA_D_4,
  283. DA830_EMA_D_5,
  284. DA830_EMA_D_6,
  285. DA830_EMA_D_7,
  286. DA830_EMA_D_8,
  287. DA830_EMA_D_9,
  288. DA830_MMCSD_DAT_2,
  289. DA830_MMCSD_DAT_3,
  290. DA830_MMCSD_DAT_4,
  291. DA830_MMCSD_DAT_5,
  292. DA830_MMCSD_DAT_6,
  293. DA830_MMCSD_DAT_7,
  294. DA830_UHPI_HD_8,
  295. DA830_UHPI_HD_9,
  296. DA830_UHPI_HD_2,
  297. DA830_UHPI_HD_3,
  298. DA830_UHPI_HD_4,
  299. DA830_UHPI_HD_5,
  300. DA830_UHPI_HD_6,
  301. DA830_UHPI_HD_7,
  302. DA830_LCD_D_8,
  303. DA830_LCD_D_9,
  304. DA830_GPIO0_2,
  305. DA830_GPIO0_3,
  306. DA830_GPIO0_4,
  307. DA830_GPIO0_5,
  308. DA830_GPIO0_6,
  309. DA830_GPIO0_7,
  310. DA830_GPIO0_8,
  311. DA830_GPIO0_9,
  312. DA830_EMA_D_10,
  313. DA830_EMA_D_11,
  314. DA830_EMA_D_12,
  315. DA830_EMA_D_13,
  316. DA830_EMA_D_14,
  317. DA830_EMA_D_15,
  318. DA830_EMA_A_0,
  319. DA830_EMA_A_1,
  320. DA830_UHPI_HD_10,
  321. DA830_UHPI_HD_11,
  322. DA830_UHPI_HD_12,
  323. DA830_UHPI_HD_13,
  324. DA830_UHPI_HD_14,
  325. DA830_UHPI_HD_15,
  326. DA830_LCD_D_7,
  327. DA830_MMCSD_CLK,
  328. DA830_LCD_D_10,
  329. DA830_LCD_D_11,
  330. DA830_LCD_D_12,
  331. DA830_LCD_D_13,
  332. DA830_LCD_D_14,
  333. DA830_LCD_D_15,
  334. DA830_UHPI_HCNTL0,
  335. DA830_GPIO0_10,
  336. DA830_GPIO0_11,
  337. DA830_GPIO0_12,
  338. DA830_GPIO0_13,
  339. DA830_GPIO0_14,
  340. DA830_GPIO0_15,
  341. DA830_GPIO1_0,
  342. DA830_GPIO1_1,
  343. DA830_EMA_A_2,
  344. DA830_EMA_A_3,
  345. DA830_EMA_A_4,
  346. DA830_EMA_A_5,
  347. DA830_EMA_A_6,
  348. DA830_EMA_A_7,
  349. DA830_EMA_A_8,
  350. DA830_EMA_A_9,
  351. DA830_MMCSD_CMD,
  352. DA830_LCD_D_6,
  353. DA830_LCD_D_3,
  354. DA830_LCD_D_2,
  355. DA830_LCD_D_1,
  356. DA830_LCD_D_0,
  357. DA830_LCD_PCLK,
  358. DA830_LCD_HSYNC,
  359. DA830_UHPI_HCNTL1,
  360. DA830_GPIO1_2,
  361. DA830_GPIO1_3,
  362. DA830_GPIO1_4,
  363. DA830_GPIO1_5,
  364. DA830_GPIO1_6,
  365. DA830_GPIO1_7,
  366. DA830_GPIO1_8,
  367. DA830_GPIO1_9,
  368. DA830_EMA_A_10,
  369. DA830_EMA_A_11,
  370. DA830_EMA_A_12,
  371. DA830_EMA_BA_1,
  372. DA830_EMA_BA_0,
  373. DA830_EMA_CLK,
  374. DA830_EMA_SDCKE,
  375. DA830_NEMA_CAS,
  376. DA830_LCD_VSYNC,
  377. DA830_NLCD_AC_ENB_CS,
  378. DA830_LCD_MCLK,
  379. DA830_LCD_D_5,
  380. DA830_LCD_D_4,
  381. DA830_OBSCLK,
  382. DA830_NEMA_CS_4,
  383. DA830_UHPI_HHWIL,
  384. DA830_AHCLKR2,
  385. DA830_GPIO1_10,
  386. DA830_GPIO1_11,
  387. DA830_GPIO1_12,
  388. DA830_GPIO1_13,
  389. DA830_GPIO1_14,
  390. DA830_GPIO1_15,
  391. DA830_GPIO2_0,
  392. DA830_GPIO2_1,
  393. DA830_NEMA_RAS,
  394. DA830_NEMA_WE,
  395. DA830_NEMA_CS_0,
  396. DA830_NEMA_CS_2,
  397. DA830_NEMA_CS_3,
  398. DA830_NEMA_OE,
  399. DA830_NEMA_WE_DQM_1,
  400. DA830_NEMA_WE_DQM_0,
  401. DA830_NEMA_CS_5,
  402. DA830_UHPI_HRNW,
  403. DA830_NUHPI_HAS,
  404. DA830_NUHPI_HCS,
  405. DA830_NUHPI_HDS1,
  406. DA830_NUHPI_HDS2,
  407. DA830_NUHPI_HINT,
  408. DA830_AXR0_12,
  409. DA830_AMUTE2,
  410. DA830_AXR0_13,
  411. DA830_AXR0_14,
  412. DA830_AXR0_15,
  413. DA830_GPIO2_2,
  414. DA830_GPIO2_3,
  415. DA830_GPIO2_4,
  416. DA830_GPIO2_5,
  417. DA830_GPIO2_6,
  418. DA830_GPIO2_7,
  419. DA830_GPIO2_8,
  420. DA830_GPIO2_9,
  421. DA830_EMA_WAIT_0,
  422. DA830_NUHPI_HRDY,
  423. DA830_GPIO2_10,
  424. };
  425. enum davinci_da850_index {
  426. /* UART0 function */
  427. DA850_NUART0_CTS,
  428. DA850_NUART0_RTS,
  429. DA850_UART0_RXD,
  430. DA850_UART0_TXD,
  431. /* UART1 function */
  432. DA850_NUART1_CTS,
  433. DA850_NUART1_RTS,
  434. DA850_UART1_RXD,
  435. DA850_UART1_TXD,
  436. /* UART2 function */
  437. DA850_NUART2_CTS,
  438. DA850_NUART2_RTS,
  439. DA850_UART2_RXD,
  440. DA850_UART2_TXD,
  441. /* I2C1 function */
  442. DA850_I2C1_SCL,
  443. DA850_I2C1_SDA,
  444. /* I2C0 function */
  445. DA850_I2C0_SDA,
  446. DA850_I2C0_SCL,
  447. /* EMAC function */
  448. DA850_MII_TXEN,
  449. DA850_MII_TXCLK,
  450. DA850_MII_COL,
  451. DA850_MII_TXD_3,
  452. DA850_MII_TXD_2,
  453. DA850_MII_TXD_1,
  454. DA850_MII_TXD_0,
  455. DA850_MII_RXER,
  456. DA850_MII_CRS,
  457. DA850_MII_RXCLK,
  458. DA850_MII_RXDV,
  459. DA850_MII_RXD_3,
  460. DA850_MII_RXD_2,
  461. DA850_MII_RXD_1,
  462. DA850_MII_RXD_0,
  463. DA850_MDIO_CLK,
  464. DA850_MDIO_D,
  465. DA850_RMII_TXD_0,
  466. DA850_RMII_TXD_1,
  467. DA850_RMII_TXEN,
  468. DA850_RMII_CRS_DV,
  469. DA850_RMII_RXD_0,
  470. DA850_RMII_RXD_1,
  471. DA850_RMII_RXER,
  472. DA850_RMII_MHZ_50_CLK,
  473. /* McASP function */
  474. DA850_ACLKR,
  475. DA850_ACLKX,
  476. DA850_AFSR,
  477. DA850_AFSX,
  478. DA850_AHCLKR,
  479. DA850_AHCLKX,
  480. DA850_AMUTE,
  481. DA850_AXR_15,
  482. DA850_AXR_14,
  483. DA850_AXR_13,
  484. DA850_AXR_12,
  485. DA850_AXR_11,
  486. DA850_AXR_10,
  487. DA850_AXR_9,
  488. DA850_AXR_8,
  489. DA850_AXR_7,
  490. DA850_AXR_6,
  491. DA850_AXR_5,
  492. DA850_AXR_4,
  493. DA850_AXR_3,
  494. DA850_AXR_2,
  495. DA850_AXR_1,
  496. DA850_AXR_0,
  497. /* LCD function */
  498. DA850_LCD_D_7,
  499. DA850_LCD_D_6,
  500. DA850_LCD_D_5,
  501. DA850_LCD_D_4,
  502. DA850_LCD_D_3,
  503. DA850_LCD_D_2,
  504. DA850_LCD_D_1,
  505. DA850_LCD_D_0,
  506. DA850_LCD_D_15,
  507. DA850_LCD_D_14,
  508. DA850_LCD_D_13,
  509. DA850_LCD_D_12,
  510. DA850_LCD_D_11,
  511. DA850_LCD_D_10,
  512. DA850_LCD_D_9,
  513. DA850_LCD_D_8,
  514. DA850_LCD_PCLK,
  515. DA850_LCD_HSYNC,
  516. DA850_LCD_VSYNC,
  517. DA850_NLCD_AC_ENB_CS,
  518. /* MMC/SD0 function */
  519. DA850_MMCSD0_DAT_0,
  520. DA850_MMCSD0_DAT_1,
  521. DA850_MMCSD0_DAT_2,
  522. DA850_MMCSD0_DAT_3,
  523. DA850_MMCSD0_CLK,
  524. DA850_MMCSD0_CMD,
  525. /* MMC/SD1 function */
  526. DA850_MMCSD1_DAT_0,
  527. DA850_MMCSD1_DAT_1,
  528. DA850_MMCSD1_DAT_2,
  529. DA850_MMCSD1_DAT_3,
  530. DA850_MMCSD1_CLK,
  531. DA850_MMCSD1_CMD,
  532. /* EMIF2.5/EMIFA function */
  533. DA850_EMA_D_7,
  534. DA850_EMA_D_6,
  535. DA850_EMA_D_5,
  536. DA850_EMA_D_4,
  537. DA850_EMA_D_3,
  538. DA850_EMA_D_2,
  539. DA850_EMA_D_1,
  540. DA850_EMA_D_0,
  541. DA850_EMA_A_1,
  542. DA850_EMA_A_2,
  543. DA850_NEMA_CS_3,
  544. DA850_NEMA_CS_4,
  545. DA850_NEMA_WE,
  546. DA850_NEMA_OE,
  547. DA850_EMA_D_15,
  548. DA850_EMA_D_14,
  549. DA850_EMA_D_13,
  550. DA850_EMA_D_12,
  551. DA850_EMA_D_11,
  552. DA850_EMA_D_10,
  553. DA850_EMA_D_9,
  554. DA850_EMA_D_8,
  555. DA850_EMA_A_0,
  556. DA850_EMA_A_3,
  557. DA850_EMA_A_4,
  558. DA850_EMA_A_5,
  559. DA850_EMA_A_6,
  560. DA850_EMA_A_7,
  561. DA850_EMA_A_8,
  562. DA850_EMA_A_9,
  563. DA850_EMA_A_10,
  564. DA850_EMA_A_11,
  565. DA850_EMA_A_12,
  566. DA850_EMA_A_13,
  567. DA850_EMA_A_14,
  568. DA850_EMA_A_15,
  569. DA850_EMA_A_16,
  570. DA850_EMA_A_17,
  571. DA850_EMA_A_18,
  572. DA850_EMA_A_19,
  573. DA850_EMA_A_20,
  574. DA850_EMA_A_21,
  575. DA850_EMA_A_22,
  576. DA850_EMA_A_23,
  577. DA850_EMA_BA_1,
  578. DA850_EMA_CLK,
  579. DA850_EMA_WAIT_1,
  580. DA850_NEMA_CS_2,
  581. /* GPIO function */
  582. DA850_GPIO2_4,
  583. DA850_GPIO2_6,
  584. DA850_GPIO2_8,
  585. DA850_GPIO2_15,
  586. DA850_GPIO3_12,
  587. DA850_GPIO3_13,
  588. DA850_GPIO4_0,
  589. DA850_GPIO4_1,
  590. DA850_GPIO6_9,
  591. DA850_GPIO6_10,
  592. DA850_GPIO6_13,
  593. DA850_RTC_ALARM,
  594. /* VPIF Capture */
  595. DA850_VPIF_DIN0,
  596. DA850_VPIF_DIN1,
  597. DA850_VPIF_DIN2,
  598. DA850_VPIF_DIN3,
  599. DA850_VPIF_DIN4,
  600. DA850_VPIF_DIN5,
  601. DA850_VPIF_DIN6,
  602. DA850_VPIF_DIN7,
  603. DA850_VPIF_DIN8,
  604. DA850_VPIF_DIN9,
  605. DA850_VPIF_DIN10,
  606. DA850_VPIF_DIN11,
  607. DA850_VPIF_DIN12,
  608. DA850_VPIF_DIN13,
  609. DA850_VPIF_DIN14,
  610. DA850_VPIF_DIN15,
  611. DA850_VPIF_CLKIN0,
  612. DA850_VPIF_CLKIN1,
  613. DA850_VPIF_CLKIN2,
  614. DA850_VPIF_CLKIN3,
  615. /* VPIF Display */
  616. DA850_VPIF_DOUT0,
  617. DA850_VPIF_DOUT1,
  618. DA850_VPIF_DOUT2,
  619. DA850_VPIF_DOUT3,
  620. DA850_VPIF_DOUT4,
  621. DA850_VPIF_DOUT5,
  622. DA850_VPIF_DOUT6,
  623. DA850_VPIF_DOUT7,
  624. DA850_VPIF_DOUT8,
  625. DA850_VPIF_DOUT9,
  626. DA850_VPIF_DOUT10,
  627. DA850_VPIF_DOUT11,
  628. DA850_VPIF_DOUT12,
  629. DA850_VPIF_DOUT13,
  630. DA850_VPIF_DOUT14,
  631. DA850_VPIF_DOUT15,
  632. DA850_VPIF_CLKO2,
  633. DA850_VPIF_CLKO3,
  634. };
  635. #define PINMUX(x) (4 * (x))
  636. #ifdef CONFIG_DAVINCI_MUX
  637. /* setup pin muxing */
  638. extern int davinci_cfg_reg(unsigned long reg_cfg);
  639. #else
  640. /* boot loader does it all (no warnings from CONFIG_DAVINCI_MUX_WARNINGS) */
  641. static inline int davinci_cfg_reg(unsigned long reg_cfg) { return 0; }
  642. #endif
  643. #define MUX_CFG(soc, desc, muxreg, mode_offset, mode_mask, mux_mode, dbg)\
  644. [soc##_##desc] = { \
  645. .name = #desc, \
  646. .debug = dbg, \
  647. .mux_reg_name = "PINMUX"#muxreg, \
  648. .mux_reg = PINMUX(muxreg), \
  649. .mask_offset = mode_offset, \
  650. .mask = mode_mask, \
  651. .mode = mux_mode, \
  652. },
  653. #define INT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg) \
  654. [soc##_##desc] = { \
  655. .name = #desc, \
  656. .debug = dbg, \
  657. .mux_reg_name = "INTMUX", \
  658. .mux_reg = INTMUX, \
  659. .mask_offset = mode_offset, \
  660. .mask = mode_mask, \
  661. .mode = mux_mode, \
  662. },
  663. #define EVT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg) \
  664. [soc##_##desc] = { \
  665. .name = #desc, \
  666. .debug = dbg, \
  667. .mux_reg_name = "EVTMUX", \
  668. .mux_reg = EVTMUX, \
  669. .mask_offset = mode_offset, \
  670. .mask = mode_mask, \
  671. .mode = mux_mode, \
  672. },
  673. #endif /* _MACH_DAVINCI_MUX_H */