gpio_gk7102c_fpga.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. /*
  2. *******************************************************************************
  3. **
  4. ** \file BOARD_FPGA.h
  5. **
  6. ** \brief System initialization.
  7. **
  8. ** (C) Copyright 2012-2013 by Goke Microelectronics Shanghai Branch
  9. **
  10. ** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
  11. ** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
  12. ** OMMISSIONS.
  13. **
  14. ** \note
  15. **
  16. *******************************************************************************
  17. */
  18. #ifndef GPIO_CFG_EVB_H
  19. #define GPIO_CFG_EVB_H
  20. #include "adi_types.h"
  21. #include "adi_gpio.h"
  22. #if 0 //MII
  23. /* for gk7101s_fpga_gpio_151215*/
  24. #define SYSTEM_GPIO_XREF_TABLE \
  25. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  26. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  27. { GADI_GPIO_2 , GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  28. { GADI_GPIO_3 , GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  29. { GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK }, \
  30. { GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA }, \
  31. { GADI_GPIO_6 , GADI_GPIO_TYPE_UNDEFINED }, \
  32. { GADI_GPIO_7 , GADI_GPIO_TYPE_UNDEFINED }, \
  33. { GADI_GPIO_8 , GADI_GPIO_TYPE_UNDEFINED }, \
  34. { GADI_GPIO_9 , GADI_GPIO_TYPE_UNDEFINED }, \
  35. { GADI_GPIO_10, GADI_GPIO_TYPE_UNDEFINED }, \
  36. { GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_PWM0_OUT }, \
  37. { GADI_GPIO_12, GADI_GPIO_TYPE_UNDEFINED }, \
  38. { GADI_GPIO_13, GADI_GPIO_TYPE_UNDEFINED }, \
  39. { GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_SDIO_CLK }, \
  40. { GADI_GPIO_15, GADI_GPIO_TYPE_INOUT_SD_CMD }, \
  41. { GADI_GPIO_16, GADI_GPIO_TYPE_INPUT_SD_CD_N }, \
  42. { GADI_GPIO_17, GADI_GPIO_TYPE_INPUT_SD_WP_N }, \
  43. { GADI_GPIO_18, GADI_GPIO_TYPE_INOUT_SD_DATA_0 }, \
  44. { GADI_GPIO_19, GADI_GPIO_TYPE_INOUT_SD_DATA_1 }, \
  45. { GADI_GPIO_20, GADI_GPIO_TYPE_INOUT_SD_DATA_2 }, \
  46. { GADI_GPIO_21, GADI_GPIO_TYPE_INOUT_SD_DATA_3 }, \
  47. { GADI_GPIO_22, GADI_GPIO_TYPE_UNDEFINED }, \
  48. { GADI_GPIO_23, GADI_GPIO_TYPE_UNDEFINED }, \
  49. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  50. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  51. { GADI_GPIO_26, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 }, \
  52. { GADI_GPIO_27, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_3 }, \
  53. { GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_ENET_CLK_RX }, \
  54. { GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_ENET_CLK_TX }, \
  55. { GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0}, \
  56. { GADI_GPIO_31, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1}, \
  57. { GADI_GPIO_32, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_2}, \
  58. { GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_3}, \
  59. { GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  60. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
  61. { GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O}, \
  62. { GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  63. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_CRS }, \
  64. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  65. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  66. { GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
  67. { GADI_GPIO_42, GADI_GPIO_TYPE_UNDEFINED/*USB reset*/}
  68. #elif 0 //peripherals
  69. #define SYSTEM_GPIO_XREF_TABLE \
  70. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  71. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  72. { GADI_GPIO_2 , GADI_GPIO_TYPE_INOUT_SF_HOLD /*Sensor reset*/ }, \
  73. { GADI_GPIO_3 , GADI_GPIO_TYPE_INOUT_SF_WP }, \
  74. { GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
  75. { GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
  76. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_JTAG_TRSTN }, \
  77. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_JTAG_TCK }, \
  78. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_JTAG_TMS }, \
  79. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_JTAG_TDI }, \
  80. { GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_JTAGE_TDO }, \
  81. { GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_PWM0_OUT }, \
  82. { GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_VD_DATA4 }, \
  83. { GADI_GPIO_13, GADI_GPIO_TYPE_OUTPUT_VD_DATA5 }, \
  84. { GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_VD_DATA6 }, \
  85. { GADI_GPIO_15, GADI_GPIO_TYPE_OUTPUT_VD_DATA7 }, \
  86. { GADI_GPIO_16, GADI_GPIO_TYPE_OUTPUT_VD_HSYNC/*LCD_DISP*/}, \
  87. { GADI_GPIO_17, GADI_GPIO_TYPE_OUTPUT_VD_VSYNC }, \
  88. { GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  89. { GADI_GPIO_19, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_2 }, \
  90. { GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_CS*/ }, \
  91. { GADI_GPIO_21, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_RST*/ }, \
  92. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  93. { GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  94. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_UART1_RX }, \
  95. { GADI_GPIO_25, GADI_GPIO_TYPE_OUTPUT_UART1_TX }, \
  96. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_SPI0_CS0 }, \
  97. { GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_SPI0_SCLK }, \
  98. { GADI_GPIO_28, GADI_GPIO_TYPE_OUTPUT_SPI0_SO }, \
  99. { GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_SPI0_SI }, \
  100. { GADI_GPIO_30, GADI_GPIO_TYPE_UNDEFINED}, \
  101. { GADI_GPIO_31, GADI_GPIO_TYPE_UNDEFINED}, \
  102. { GADI_GPIO_32, GADI_GPIO_TYPE_UNDEFINED}, \
  103. { GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_3}, \
  104. { GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  105. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
  106. { GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O}, \
  107. { GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  108. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_CRS }, \
  109. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  110. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  111. { GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
  112. { GADI_GPIO_42, GADI_GPIO_TYPE_UNDEFINED/*USB reset*/}
  113. #elif 0 //GK7102C_FPGA_svn509_1704061946.bit RMII
  114. #define SYSTEM_GPIO_XREF_TABLE \
  115. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  116. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  117. { GADI_GPIO_2 , GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/ }, \
  118. { GADI_GPIO_3 , GADI_GPIO_TYPE_INOUT_SF_WP }, \
  119. { GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
  120. { GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
  121. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_JTAG_TRSTN }, \
  122. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_JTAG_TCK }, \
  123. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_JTAG_TMS }, \
  124. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_JTAG_TDI }, \
  125. { GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_JTAGE_TDO }, \
  126. { GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_PWM0_OUT }, \
  127. { GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_VD_DATA4 }, \
  128. { GADI_GPIO_13, GADI_GPIO_TYPE_OUTPUT_VD_DATA5 }, \
  129. { GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_VD_DATA6 }, \
  130. { GADI_GPIO_15, GADI_GPIO_TYPE_OUTPUT_VD_DATA7 }, \
  131. { GADI_GPIO_16, GADI_GPIO_TYPE_OUTPUT_VD_HSYNC/*LCD_DISP*/ }, \
  132. { GADI_GPIO_17, GADI_GPIO_TYPE_OUTPUT_VD_VSYNC }, \
  133. { GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  134. { GADI_GPIO_19, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_2 }, \
  135. { GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_CS*/ }, \
  136. { GADI_GPIO_21, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_RST*/ }, \
  137. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  138. { GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  139. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  140. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  141. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_SPI0_CS0 }, \
  142. { GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_SPI0_SCLK }, \
  143. { GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_0 }, \
  144. { GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 }, \
  145. { GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
  146. { GADI_GPIO_31, GADI_GPIO_TYPE_UNDEFINED }, \
  147. { GADI_GPIO_32, GADI_GPIO_TYPE_UNDEFINED }, \
  148. { GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_3 }, \
  149. { GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  150. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
  151. { GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O }, \
  152. { GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  153. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  154. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  155. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
  156. { GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
  157. { GADI_GPIO_42, GADI_GPIO_TYPE_UNDEFINED/*USB reset*/ }
  158. #elif 1 //GK7102C_FPGA_svn_1705242221.bit RMII
  159. #define SYSTEM_GPIO_XREF_TABLE \
  160. { GADI_GPIO_0 , GADI_GPIO_TYPE_UNDEFINED }, \
  161. { GADI_GPIO_1 , GADI_GPIO_TYPE_UNDEFINED }, \
  162. { GADI_GPIO_2 , GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/ }, \
  163. { GADI_GPIO_3 , GADI_GPIO_TYPE_OUTPUT_VD_CLOCK }, \
  164. { GADI_GPIO_4 , GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
  165. { GADI_GPIO_5 , GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
  166. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_JTAG_TRSTN }, \
  167. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_JTAG_TCK }, \
  168. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_JTAG_TMS }, \
  169. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_JTAG_TDI }, \
  170. { GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_JTAGE_TDO }, \
  171. { GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_VD_DATA3 }, \
  172. { GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_VD_DATA4 }, \
  173. { GADI_GPIO_13, GADI_GPIO_TYPE_OUTPUT_VD_DATA5 }, \
  174. { GADI_GPIO_14, GADI_GPIO_TYPE_OUTPUT_VD_DATA6 }, \
  175. { GADI_GPIO_15, GADI_GPIO_TYPE_OUTPUT_VD_DATA7 }, \
  176. { GADI_GPIO_16, GADI_GPIO_TYPE_OUTPUT_VD_HSYNC }, \
  177. { GADI_GPIO_17, GADI_GPIO_TYPE_OUTPUT_VD_VSYNC }, \
  178. { GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  179. { GADI_GPIO_19, GADI_GPIO_TYPE_OUTPUT_1 /*LCD_DISP*/ }, \
  180. { GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_VD_DATA1 }, \
  181. { GADI_GPIO_21, GADI_GPIO_TYPE_OUTPUT_1 /*lcd_rst*/ }, \
  182. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  183. { GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  184. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  185. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  186. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_1 /*lcd_bl_en*/ }, \
  187. { GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_VD_DATA0 }, \
  188. { GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_0 }, \
  189. { GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 }, \
  190. { GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
  191. { GADI_GPIO_31, GADI_GPIO_TYPE_INPUT_0 }, \
  192. { GADI_GPIO_32, GADI_GPIO_TYPE_INPUT_0 }, \
  193. { GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_VD_DATA2 }, \
  194. { GADI_GPIO_34, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  195. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET/*ETH reset*/}, \
  196. { GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O}, \
  197. { GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  198. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  199. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  200. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
  201. { GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_ENET_PHY_COL }, \
  202. { GADI_GPIO_42, GADI_GPIO_TYPE_OUTPUT_VD_HVLD/*lcd_de*/}
  203. #endif
  204. #define SYSTEM_ETH_PHY_RESET_GPIO GADI_GPIO_35//not real pin
  205. #define SYSTEM_GPIO_SENSOR_RESET GADI_GPIO_2 //GADI_GPIO_16
  206. #define SYSTEM_GPIO_IR_CUT1 GADI_GPIO_43//GADI_GPIO_18
  207. #define SYSTEM_GPIO_IR_CUT2 GADI_GPIO_53//GADI_GPIO_19
  208. #define SYSTEM_GPIO_USB_HOST GADI_GPIO_63
  209. #endif