1
0

gpio_gk7101_ov2710.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. #ifndef _GPIO_RB_OV2710_H_
  2. #define _GPIO_RB_OV2710_H_
  3. #include "adi_types.h"
  4. #include "adi_gpio.h"
  5. #if defined(GK7101_OV2710_V10) || defined(GK7101S_OV2710_V10)
  6. #define CONFIG_MACH_GK7101_RB_OV2710_V1_00
  7. #endif
  8. #if defined(GK7101_OV2710_V20) || defined(GK7101S_OV2710_V20)
  9. #define CONFIG_MACH_GK7101_RB_OV2710_V2_00
  10. #endif
  11. #if defined(GK7101_OV2710_V21) || defined(GK7101S_OV2710_V21)
  12. #define CONFIG_MACH_GK7101_RB_OV2710_V2_10
  13. #endif
  14. #if defined(GK7101_OV2710_V22) || defined(GK7101S_OV2710_V22)
  15. #define CONFIG_MACH_GK7101_RB_OV2710_V2_20
  16. #endif
  17. #define SYSTEM_USE_EXTERN_I2S 0
  18. #define SYSTEM_USE_SDCARD 1
  19. #define SYSTEM_USE_EXTERN_ETHPHY 0
  20. #define SYSTEM_INIT_GD_GPIO 0
  21. #define CONFIG_PHY_USE_AO_MCLK
  22. #ifdef CONFIG_PHY_USE_AO_MCLK
  23. #define SYSTEM_GPIO_PHY_CLK GADI_GPIO_TYPE_OUTPUT_AOMCLK
  24. #endif
  25. #ifdef CONFIG_PHY_USE_SD_CLK
  26. #define SYSTEM_GPIO_PHY_CLK GADI_GPIO_TYPE_OUTPUT_SDIO_CLK
  27. #endif
  28. #ifdef CONFIG_PHY_USE_EXTERN_CLK
  29. #define SYSTEM_GPIO_PHY_CLK GADI_GPIO_TYPE_INPUT_0
  30. #endif
  31. #if defined(CONFIG_MACH_GK7101_RB_OV2710_V1_00)
  32. #define SYSTEM_GPIO_EXTPHY_TABLE \
  33. { GADI_GPIO_7 , GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET /*ETH reset*/ }, \
  34. { GADI_GPIO_9 , GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  35. { GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  36. { GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
  37. { GADI_GPIO_12, SYSTEM_GPIO_PHY_CLK /*GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 CLK*/}, \
  38. { GADI_GPIO_14, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  39. { GADI_GPIO_15, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  40. { GADI_GPIO_18, GADI_GPIO_TYPE_INPUT_0 }, \
  41. { GADI_GPIO_21, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  42. { GADI_GPIO_23, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  43. { GADI_GPIO_25, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  44. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O }, \
  45. { GADI_GPIO_50, GADI_GPIO_TYPE_INPUT_0 },
  46. #define SYSTEM_GPIO_INTPHY_TABLE \
  47. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_0 }, \
  48. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_0 }, \
  49. { GADI_GPIO_10, GADI_GPIO_TYPE_INPUT_0 }, \
  50. { GADI_GPIO_11, GADI_GPIO_TYPE_INPUT_0 }, \
  51. { GADI_GPIO_12, GADI_GPIO_TYPE_INPUT_0 }, \
  52. { GADI_GPIO_14, GADI_GPIO_TYPE_INPUT_0 }, \
  53. { GADI_GPIO_15, GADI_GPIO_TYPE_INPUT_0 }, \
  54. { GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_EPHY_LED_3 }, \
  55. { GADI_GPIO_21, GADI_GPIO_TYPE_INPUT_0 }, \
  56. { GADI_GPIO_23, GADI_GPIO_TYPE_INPUT_0 }, \
  57. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_0 }, \
  58. { GADI_GPIO_26, GADI_GPIO_TYPE_INPUT_0 }, \
  59. { GADI_GPIO_50, SYSTEM_GPIO_PHY_CLK },
  60. #define SYSTEM_GPIO_XREF_TABLE \
  61. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  62. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  63. { GADI_GPIO_2 , GADI_GPIO_TYPE_INPUT_0 }, \
  64. { GADI_GPIO_3 , GADI_GPIO_TYPE_INPUT_0 }, \
  65. { GADI_GPIO_4 , GADI_GPIO_TYPE_INPUT_0 }, \
  66. { GADI_GPIO_5 , GADI_GPIO_TYPE_INPUT_0 }, \
  67. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_0 }, \
  68. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_0 }, \
  69. { GADI_GPIO_13, GADI_GPIO_TYPE_INPUT_0 }, \
  70. { GADI_GPIO_16, GADI_GPIO_TYPE_INPUT_0 }, \
  71. { GADI_GPIO_17, GADI_GPIO_TYPE_INPUT_0 }, \
  72. { GADI_GPIO_19, GADI_GPIO_TYPE_INPUT_0 }, \
  73. { GADI_GPIO_20, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  74. { GADI_GPIO_22, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  75. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_0 }, \
  76. { GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/}, \
  77. { GADI_GPIO_28, GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
  78. { GADI_GPIO_29, GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
  79. { GADI_GPIO_30, GADI_GPIO_TYPE_INPUT_0 /* ALARM_IN */}, \
  80. { GADI_GPIO_31, GADI_GPIO_TYPE_INPUT_0 }, \
  81. { GADI_GPIO_32, GADI_GPIO_TYPE_INPUT_0 /* ALARM_OUT */}, \
  82. { GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_0 /*IR_LED_CTRL*/}, \
  83. { GADI_GPIO_34, GADI_GPIO_TYPE_INPUT_0 }, \
  84. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT+*/}, \
  85. { GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT-*/}, \
  86. { GADI_GPIO_37, GADI_GPIO_TYPE_INPUT_0 }, \
  87. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_0 /*IR_DET_ADC*/}, \
  88. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_0 }, \
  89. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
  90. { GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_0 }, \
  91. { GADI_GPIO_42, GADI_GPIO_TYPE_INPUT_0 }, \
  92. { GADI_GPIO_43, GADI_GPIO_TYPE_INPUT_0 }, \
  93. { GADI_GPIO_44, GADI_GPIO_TYPE_INPUT_0 }, \
  94. { GADI_GPIO_45, GADI_GPIO_TYPE_INPUT_0 }, \
  95. { GADI_GPIO_46, GADI_GPIO_TYPE_INPUT_0 }, \
  96. { GADI_GPIO_47, GADI_GPIO_TYPE_INPUT_0 }, \
  97. { GADI_GPIO_48, GADI_GPIO_TYPE_INPUT_0 }, \
  98. { GADI_GPIO_49, GADI_GPIO_TYPE_INPUT_0 }, \
  99. { GADI_GPIO_51, GADI_GPIO_TYPE_INPUT_0 }, \
  100. { GADI_GPIO_52, GADI_GPIO_TYPE_INPUT_0 }, \
  101. { GADI_GPIO_53, GADI_GPIO_TYPE_INPUT_0 }, \
  102. { GADI_GPIO_54, GADI_GPIO_TYPE_INPUT_0 }, \
  103. { GADI_GPIO_55, GADI_GPIO_TYPE_INPUT_0 },\
  104. SYSTEM_GPIO_INTPHY_TABLE
  105. #define SYSTEM_GPIO_IR_LED_CTRL GADI_GPIO_33
  106. #define SYSTEM_GPIO_IR_CUT1 GADI_GPIO_35
  107. #define SYSTEM_GPIO_IR_CUT2 GADI_GPIO_36
  108. #define SYSTEM_GPIO_SENSOR_RESET GADI_GPIO_27
  109. #define SYSTEM_GPIO_PHY_SPEED_LED GADI_GPIO_18
  110. #define SYSTEM_GPIO_SPI0_EN0 GADI_GPIO_45 // not real pin
  111. #define SYSTEM_GPIO_SPI1_EN0 GADI_GPIO_46 // not real pin
  112. #define SYSTEM_GPIO_PWM0 GADI_GPIO_47 // not real pin
  113. #define SYSTEM_GPIO_PWM1 GADI_GPIO_48 // not real pin
  114. #define SYSTEM_GPIO_PWM2 GADI_GPIO_49 // not real pin
  115. #define SYSTEM_GPIO_PWM3 GADI_GPIO_51 // not real pin
  116. #define SYSTEM_GPIO_USB_HOST GADI_GPIO_52 // not real pin
  117. #define SYSTEM_GPIO_SD_DETECT GADI_GPIO_53 // not real pin
  118. #define SYSTEM_GPIO_SD_POWER GADI_GPIO_55 // not real pin
  119. #define SYSTEM_ETH_PHY_RESET_GPIO GD_GPIO_41
  120. #endif /* CONFIG_MACH_GK7101_RB_OV2710_V1_00 */
  121. #if defined(CONFIG_MACH_GK7101_RB_OV2710_V2_00)
  122. #define SYSTEM_GPIO_EXTPHY_TABLE \
  123. { GADI_GPIO_7 , GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET /*ETH reset*/ }, \
  124. { GADI_GPIO_9 , SYSTEM_GPIO_PHY_CLK }, \
  125. { GADI_GPIO_10, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  126. { GADI_GPIO_11, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  127. { GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
  128. { GADI_GPIO_14, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2/*CLK*/}, \
  129. { GADI_GPIO_15, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  130. { GADI_GPIO_18, GADI_GPIO_TYPE_INPUT_0 }, \
  131. { GADI_GPIO_20, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  132. { GADI_GPIO_21, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  133. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  134. { GADI_GPIO_25, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  135. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O }, \
  136. { GADI_GPIO_50, GADI_GPIO_TYPE_INPUT_0 },
  137. #define SYSTEM_GPIO_INTPHY_TABLE \
  138. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_0 }, \
  139. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_0 }, \
  140. { GADI_GPIO_10, GADI_GPIO_TYPE_INPUT_0 }, \
  141. { GADI_GPIO_11, GADI_GPIO_TYPE_INPUT_0 }, \
  142. { GADI_GPIO_12, GADI_GPIO_TYPE_INPUT_0 }, \
  143. { GADI_GPIO_14, GADI_GPIO_TYPE_INPUT_0 }, \
  144. { GADI_GPIO_15, GADI_GPIO_TYPE_INPUT_0 }, \
  145. { GADI_GPIO_18, GADI_GPIO_TYPE_OUTPUT_EPHY_LED_3 }, \
  146. { GADI_GPIO_20, GADI_GPIO_TYPE_INPUT_0 }, \
  147. { GADI_GPIO_21, GADI_GPIO_TYPE_INPUT_0 }, \
  148. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_0 }, \
  149. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_0 }, \
  150. { GADI_GPIO_26, GADI_GPIO_TYPE_INPUT_0 }, \
  151. { GADI_GPIO_50, SYSTEM_GPIO_PHY_CLK },
  152. #define SYSTEM_GPIO_XREF_TABLE \
  153. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  154. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  155. { GADI_GPIO_2 , GADI_GPIO_TYPE_INPUT_0 }, \
  156. { GADI_GPIO_3 , GADI_GPIO_TYPE_INPUT_0 }, \
  157. { GADI_GPIO_4 , GADI_GPIO_TYPE_INPUT_0 }, \
  158. { GADI_GPIO_5 , GADI_GPIO_TYPE_INPUT_0 }, \
  159. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_0 }, \
  160. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_0 }, \
  161. { GADI_GPIO_13, GADI_GPIO_TYPE_INPUT_0 }, \
  162. { GADI_GPIO_16, GADI_GPIO_TYPE_INPUT_0 }, \
  163. { GADI_GPIO_17, GADI_GPIO_TYPE_INPUT_0 }, \
  164. { GADI_GPIO_19, GADI_GPIO_TYPE_INPUT_0 }, \
  165. { GADI_GPIO_23, GADI_GPIO_TYPE_INPUT_0 }, \
  166. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_0 }, \
  167. { GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/}, \
  168. { GADI_GPIO_28, GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/ }, \
  169. { GADI_GPIO_29, GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/ }, \
  170. { GADI_GPIO_30, GADI_GPIO_TYPE_INPUT_0 /* ALARM_IN */}, \
  171. { GADI_GPIO_31, GADI_GPIO_TYPE_INPUT_0 }, \
  172. { GADI_GPIO_32, GADI_GPIO_TYPE_INPUT_0 /* ALARM_OUT */}, \
  173. { GADI_GPIO_33, GADI_GPIO_TYPE_OUTPUT_0 /*IR_LED_CTRL*/}, \
  174. { GADI_GPIO_34, GADI_GPIO_TYPE_INPUT_0 }, \
  175. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT+*/}, \
  176. { GADI_GPIO_36, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT-*/}, \
  177. { GADI_GPIO_37, GADI_GPIO_TYPE_INPUT_0 }, \
  178. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_0 /*IR_DET_ADC*/}, \
  179. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_0 }, \
  180. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
  181. { GADI_GPIO_41, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  182. { GADI_GPIO_42, GADI_GPIO_TYPE_INPUT_0 }, \
  183. { GADI_GPIO_43, GADI_GPIO_TYPE_INPUT_0 }, \
  184. { GADI_GPIO_44, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  185. { GADI_GPIO_45, GADI_GPIO_TYPE_INPUT_0 }, \
  186. { GADI_GPIO_46, GADI_GPIO_TYPE_INPUT_0 }, \
  187. { GADI_GPIO_47, GADI_GPIO_TYPE_INPUT_0 }, \
  188. { GADI_GPIO_48, GADI_GPIO_TYPE_INPUT_0 }, \
  189. { GADI_GPIO_49, GADI_GPIO_TYPE_INPUT_0 }, \
  190. { GADI_GPIO_51, GADI_GPIO_TYPE_INPUT_0 }, \
  191. { GADI_GPIO_52, GADI_GPIO_TYPE_INPUT_0 }, \
  192. { GADI_GPIO_53, GADI_GPIO_TYPE_INPUT_0 }, \
  193. { GADI_GPIO_54, GADI_GPIO_TYPE_INPUT_0 }, \
  194. { GADI_GPIO_55, GADI_GPIO_TYPE_INPUT_0 },\
  195. SYSTEM_GPIO_INTPHY_TABLE
  196. #define SYSTEM_GPIO_IR_LED_CTRL GADI_GPIO_33
  197. #define SYSTEM_GPIO_IR_CUT1 GADI_GPIO_35
  198. #define SYSTEM_GPIO_IR_CUT2 GADI_GPIO_36
  199. #define SYSTEM_GPIO_SENSOR_RESET GADI_GPIO_27
  200. #define SYSTEM_GPIO_PHY_SPEED_LED GADI_GPIO_18
  201. #define SYSTEM_GPIO_SPI0_EN0 GADI_GPIO_45 // not real pin
  202. #define SYSTEM_GPIO_SPI1_EN0 GADI_GPIO_46 // not real pin
  203. #define SYSTEM_GPIO_PWM0 GADI_GPIO_47 // not real pin
  204. #define SYSTEM_GPIO_PWM1 GADI_GPIO_48 // not real pin
  205. #define SYSTEM_GPIO_PWM2 GADI_GPIO_49 // not real pin
  206. #define SYSTEM_GPIO_PWM3 GADI_GPIO_51 // not real pin
  207. #define SYSTEM_GPIO_USB_HOST GADI_GPIO_52 // not real pin
  208. #define SYSTEM_GPIO_SD_DETECT GADI_GPIO_53 // not real pin
  209. #define SYSTEM_GPIO_SD_POWER GADI_GPIO_55 // not real pin
  210. #define SYSTEM_ETH_PHY_RESET_GPIO GD_GPIO_7
  211. #endif /* CONFIG_MACH_GK7101_RB_OV2710_V2_00 */
  212. #if defined(CONFIG_MACH_GK7101_RB_OV2710_V2_10)
  213. #define SYSTEM_GPIO_EXTPHY_TABLE \
  214. { GADI_GPIO_3 , GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  215. { GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  216. { GADI_GPIO_31, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  217. { GADI_GPIO_32, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
  218. { GADI_GPIO_33, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  219. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O }, \
  220. { GADI_GPIO_36, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  221. { GADI_GPIO_48, GADI_GPIO_TYPE_INPUT_0 }, \
  222. { GADI_GPIO_49, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET /*ETH reset*/}, \
  223. { GADI_GPIO_50, SYSTEM_GPIO_PHY_CLK }, \
  224. { GADI_GPIO_51, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  225. { GADI_GPIO_52, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 /*CLK*/}, \
  226. { GADI_GPIO_53, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  227. { GADI_GPIO_54, GADI_GPIO_TYPE_INPUT_0 },
  228. #define SYSTEM_GPIO_INTPHY_TABLE \
  229. { GADI_GPIO_3 , GADI_GPIO_TYPE_INPUT_0 }, \
  230. { GADI_GPIO_30, GADI_GPIO_TYPE_INPUT_0 }, \
  231. { GADI_GPIO_31, GADI_GPIO_TYPE_INPUT_0 }, \
  232. { GADI_GPIO_32, GADI_GPIO_TYPE_INPUT_0 }, \
  233. { GADI_GPIO_33, GADI_GPIO_TYPE_INPUT_0 }, \
  234. { GADI_GPIO_35, GADI_GPIO_TYPE_INPUT_0 }, \
  235. { GADI_GPIO_36, GADI_GPIO_TYPE_INPUT_0 }, \
  236. { GADI_GPIO_48, SYSTEM_GPIO_PHY_CLK }, \
  237. { GADI_GPIO_49, GADI_GPIO_TYPE_INPUT_0 }, \
  238. { GADI_GPIO_50, GADI_GPIO_TYPE_INPUT_0 }, \
  239. { GADI_GPIO_51, GADI_GPIO_TYPE_INPUT_0 }, \
  240. { GADI_GPIO_52, GADI_GPIO_TYPE_INPUT_0 }, \
  241. { GADI_GPIO_53, GADI_GPIO_TYPE_INPUT_0 }, \
  242. { GADI_GPIO_54, GADI_GPIO_TYPE_OUTPUT_EPHY_LED_3 },
  243. #define SYSTEM_GPIO_XREF_TABLE \
  244. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  245. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  246. { GADI_GPIO_2 , GADI_GPIO_TYPE_INPUT_0 }, \
  247. { GADI_GPIO_4 , GADI_GPIO_TYPE_INPUT_0 }, \
  248. { GADI_GPIO_5 , GADI_GPIO_TYPE_INPUT_0 }, \
  249. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_0 }, \
  250. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_0 }, \
  251. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_0 }, \
  252. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_0 }, \
  253. { GADI_GPIO_10, GADI_GPIO_TYPE_INPUT_0 }, \
  254. { GADI_GPIO_11, GADI_GPIO_TYPE_INPUT_0 }, \
  255. { GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_0 /*IR_LED_CTRL*/}, \
  256. { GADI_GPIO_13, GADI_GPIO_TYPE_INPUT_0 }, \
  257. { GADI_GPIO_14, GADI_GPIO_TYPE_INPUT_0 }, \
  258. { GADI_GPIO_15, GADI_GPIO_TYPE_INPUT_0 /*IR_DET_ADC*/}, \
  259. { GADI_GPIO_16, GADI_GPIO_TYPE_INPUT_0 }, \
  260. { GADI_GPIO_17, GADI_GPIO_TYPE_INPUT_0 }, \
  261. { GADI_GPIO_18, GADI_GPIO_TYPE_INPUT_0 }, \
  262. { GADI_GPIO_19, GADI_GPIO_TYPE_INPUT_0 }, \
  263. { GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT+*/}, \
  264. { GADI_GPIO_21, GADI_GPIO_TYPE_INPUT_0 }, \
  265. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_0 }, \
  266. { GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT-*/}, \
  267. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_0 }, \
  268. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  269. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  270. { GADI_GPIO_27, GADI_GPIO_TYPE_INPUT_0 }, \
  271. { GADI_GPIO_28, GADI_GPIO_TYPE_INPUT_0 }, \
  272. { GADI_GPIO_29, GADI_GPIO_TYPE_INPUT_0 }, \
  273. { GADI_GPIO_34, GADI_GPIO_TYPE_INPUT_0 }, \
  274. { GADI_GPIO_37, GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/}, \
  275. { GADI_GPIO_38, GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/}, \
  276. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_SD_CD_N }, \
  277. { GADI_GPIO_40, GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/}, \
  278. { GADI_GPIO_41, GADI_GPIO_TYPE_INOUT_SD_DATA_3 }, \
  279. { GADI_GPIO_42, GADI_GPIO_TYPE_INOUT_SD_DATA_2 }, \
  280. { GADI_GPIO_43, GADI_GPIO_TYPE_INOUT_SD_CMD }, \
  281. { GADI_GPIO_44, GADI_GPIO_TYPE_OUTPUT_SDIO_CLK }, \
  282. { GADI_GPIO_45, GADI_GPIO_TYPE_INOUT_SD_DATA_1 }, \
  283. { GADI_GPIO_46, GADI_GPIO_TYPE_OUTPUT_1/*SDIO_CARD_POWER_EN*/}, \
  284. { GADI_GPIO_47, GADI_GPIO_TYPE_INOUT_SD_DATA_0 }, \
  285. { GADI_GPIO_55, GADI_GPIO_TYPE_INPUT_0 }, \
  286. SYSTEM_GPIO_INTPHY_TABLE
  287. #define SYSTEM_GPIO_IR_LED_CTRL GADI_GPIO_4 // not real pin
  288. #define SYSTEM_GPIO_IR_CUT1 GADI_GPIO_20
  289. #define SYSTEM_GPIO_IR_CUT2 GADI_GPIO_23
  290. #define SYSTEM_GPIO_SENSOR_RESET GADI_GPIO_40
  291. #define SYSTEM_GPIO_PHY_SPEED_LED GADI_GPIO_54
  292. #define SYSTEM_GPIO_SPI0_EN0 GADI_GPIO_5 // not real pin
  293. #define SYSTEM_GPIO_SPI1_EN0 GADI_GPIO_6 // not real pin
  294. #define SYSTEM_GPIO_PWM0 GADI_GPIO_7 // not real pin
  295. #define SYSTEM_GPIO_PWM1 GADI_GPIO_8 // not real pin
  296. #define SYSTEM_GPIO_PWM2 GADI_GPIO_9 // not real pin
  297. #define SYSTEM_GPIO_PWM3 GADI_GPIO_10 // not real pin
  298. #define SYSTEM_GPIO_USB_HOST GADI_GPIO_11 // not real pin
  299. #define SYSTEM_GPIO_SD_DETECT GADI_GPIO_39
  300. #define SYSTEM_GPIO_SD_POWER GADI_GPIO_46
  301. #define SYSTEM_ETH_PHY_RESET_GPIO GD_GPIO_49
  302. #endif /* CONFIG_MACH_GK7101_RB_OV2710_V2_10 */
  303. #if defined(CONFIG_MACH_GK7101_RB_OV2710_V2_20)
  304. #define SYSTEM_GPIO_EXTPHY_TABLE \
  305. { GADI_GPIO_3 , GADI_GPIO_TYPE_INPUT_ENET_PHY_RXDV }, \
  306. { GADI_GPIO_30, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXEN }, \
  307. { GADI_GPIO_31, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_1 }, \
  308. { GADI_GPIO_32, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_TXD_0 }, \
  309. { GADI_GPIO_33, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXER }, \
  310. { GADI_GPIO_35, GADI_GPIO_TYPE_OUTPUT_ENET_GMII_MDC_O }, \
  311. { GADI_GPIO_36, GADI_GPIO_TYPE_INOUT_ETH_MDIO }, \
  312. { GADI_GPIO_48, GADI_GPIO_TYPE_INPUT_0 }, \
  313. { GADI_GPIO_49, GADI_GPIO_TYPE_OUTPUT_ENET_PHY_RESET /*ETH reset*/}, \
  314. { GADI_GPIO_50, SYSTEM_GPIO_PHY_CLK }, \
  315. { GADI_GPIO_51, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_1 }, \
  316. { GADI_GPIO_52, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_2 /*CLK*/}, \
  317. { GADI_GPIO_53, GADI_GPIO_TYPE_INPUT_ENET_PHY_RXD_0 }, \
  318. { GADI_GPIO_54, GADI_GPIO_TYPE_INPUT_0 },
  319. #define SYSTEM_GPIO_INTPHY_TABLE \
  320. { GADI_GPIO_3 , GADI_GPIO_TYPE_INPUT_0 }, \
  321. { GADI_GPIO_30, GADI_GPIO_TYPE_INPUT_0 }, \
  322. { GADI_GPIO_31, GADI_GPIO_TYPE_INPUT_0 }, \
  323. { GADI_GPIO_32, GADI_GPIO_TYPE_INPUT_0 }, \
  324. { GADI_GPIO_33, GADI_GPIO_TYPE_INPUT_0 }, \
  325. { GADI_GPIO_35, GADI_GPIO_TYPE_INPUT_0 }, \
  326. { GADI_GPIO_36, GADI_GPIO_TYPE_INPUT_0 }, \
  327. { GADI_GPIO_48, SYSTEM_GPIO_PHY_CLK }, \
  328. { GADI_GPIO_49, GADI_GPIO_TYPE_INPUT_0 }, \
  329. { GADI_GPIO_50, GADI_GPIO_TYPE_INPUT_0 }, \
  330. { GADI_GPIO_51, GADI_GPIO_TYPE_INPUT_0 }, \
  331. { GADI_GPIO_52, GADI_GPIO_TYPE_INPUT_0 }, \
  332. { GADI_GPIO_53, GADI_GPIO_TYPE_INPUT_0 }, \
  333. { GADI_GPIO_54, GADI_GPIO_TYPE_OUTPUT_EPHY_LED_3 },
  334. #define SYSTEM_GPIO_XREF_TABLE \
  335. { GADI_GPIO_0 , GADI_GPIO_TYPE_OUTPUT_SF_CS0 }, \
  336. { GADI_GPIO_1 , GADI_GPIO_TYPE_OUTPUT_SF_CS1 }, \
  337. { GADI_GPIO_2 , GADI_GPIO_TYPE_INPUT_0 }, \
  338. { GADI_GPIO_4 , GADI_GPIO_TYPE_INPUT_0 }, \
  339. { GADI_GPIO_5 , GADI_GPIO_TYPE_INPUT_0 }, \
  340. { GADI_GPIO_6 , GADI_GPIO_TYPE_INPUT_0 }, \
  341. { GADI_GPIO_7 , GADI_GPIO_TYPE_INPUT_0 }, \
  342. { GADI_GPIO_8 , GADI_GPIO_TYPE_INPUT_0 }, \
  343. { GADI_GPIO_9 , GADI_GPIO_TYPE_INPUT_0 }, \
  344. { GADI_GPIO_10, GADI_GPIO_TYPE_INPUT_0 }, \
  345. { GADI_GPIO_11, GADI_GPIO_TYPE_INPUT_0 }, \
  346. { GADI_GPIO_12, GADI_GPIO_TYPE_OUTPUT_0 /*IR_LED_CTRL*/}, \
  347. { GADI_GPIO_13, GADI_GPIO_TYPE_INPUT_0 }, \
  348. { GADI_GPIO_14, GADI_GPIO_TYPE_INPUT_0 }, \
  349. { GADI_GPIO_15, GADI_GPIO_TYPE_INPUT_0 /*IR_DET_ADC*/}, \
  350. { GADI_GPIO_16, GADI_GPIO_TYPE_INPUT_0 }, \
  351. { GADI_GPIO_17, GADI_GPIO_TYPE_INPUT_0 }, \
  352. { GADI_GPIO_18, GADI_GPIO_TYPE_INPUT_0 }, \
  353. { GADI_GPIO_19, GADI_GPIO_TYPE_INPUT_0 }, \
  354. { GADI_GPIO_20, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT+*/}, \
  355. { GADI_GPIO_21, GADI_GPIO_TYPE_INPUT_0 }, \
  356. { GADI_GPIO_22, GADI_GPIO_TYPE_INPUT_0 }, \
  357. { GADI_GPIO_23, GADI_GPIO_TYPE_OUTPUT_0 /*IR_CUT-*/}, \
  358. { GADI_GPIO_24, GADI_GPIO_TYPE_INPUT_0 }, \
  359. { GADI_GPIO_25, GADI_GPIO_TYPE_INPUT_UART0_RX }, \
  360. { GADI_GPIO_26, GADI_GPIO_TYPE_OUTPUT_UART0_TX }, \
  361. { GADI_GPIO_27, GADI_GPIO_TYPE_OUTPUT_1 /*Sensor reset*/}, \
  362. { GADI_GPIO_28, GADI_GPIO_TYPE_INOUT_I2C_DATA /*S D*/}, \
  363. { GADI_GPIO_29, GADI_GPIO_TYPE_INOUT_I2C_CLK /*S C*/}, \
  364. { GADI_GPIO_34, GADI_GPIO_TYPE_INPUT_0 }, \
  365. { GADI_GPIO_37, GADI_GPIO_TYPE_INPUT_0 }, \
  366. { GADI_GPIO_38, GADI_GPIO_TYPE_INPUT_0 }, \
  367. { GADI_GPIO_39, GADI_GPIO_TYPE_INPUT_SD_CD_N }, \
  368. { GADI_GPIO_40, GADI_GPIO_TYPE_INPUT_0 }, \
  369. { GADI_GPIO_41, GADI_GPIO_TYPE_INOUT_SD_DATA_3 }, \
  370. { GADI_GPIO_42, GADI_GPIO_TYPE_INOUT_SD_DATA_2 }, \
  371. { GADI_GPIO_43, GADI_GPIO_TYPE_INOUT_SD_CMD }, \
  372. { GADI_GPIO_44, GADI_GPIO_TYPE_OUTPUT_SDIO_CLK }, \
  373. { GADI_GPIO_45, GADI_GPIO_TYPE_INOUT_SD_DATA_1 }, \
  374. { GADI_GPIO_46, GADI_GPIO_TYPE_OUTPUT_1/*SDIO_CARD_POWER_EN*/}, \
  375. { GADI_GPIO_47, GADI_GPIO_TYPE_INOUT_SD_DATA_0 }, \
  376. { GADI_GPIO_55, GADI_GPIO_TYPE_INPUT_0 },\
  377. SYSTEM_GPIO_INTPHY_TABLE
  378. #define SYSTEM_GPIO_IR_LED_CTRL GADI_GPIO_4 // not real pin
  379. #define SYSTEM_GPIO_IR_CUT1 GADI_GPIO_20
  380. #define SYSTEM_GPIO_IR_CUT2 GADI_GPIO_23
  381. #define SYSTEM_GPIO_SENSOR_RESET GADI_GPIO_27
  382. #define SYSTEM_GPIO_PHY_SPEED_LED GADI_GPIO_54
  383. #define SYSTEM_GPIO_SPI0_EN0 GADI_GPIO_5 // not real pin
  384. #define SYSTEM_GPIO_SPI1_EN0 GADI_GPIO_6 // not real pin
  385. #define SYSTEM_GPIO_PWM0 GADI_GPIO_7 // not real pin
  386. #define SYSTEM_GPIO_PWM1 GADI_GPIO_8 // not real pin
  387. #define SYSTEM_GPIO_PWM2 GADI_GPIO_9 // not real pin
  388. #define SYSTEM_GPIO_PWM3 GADI_GPIO_10 // not real pin
  389. #define SYSTEM_GPIO_USB_HOST GADI_GPIO_11 // not real pin
  390. #define SYSTEM_GPIO_SD_DETECT GADI_GPIO_39
  391. #define SYSTEM_GPIO_SD_POWER GADI_GPIO_46
  392. #define SYSTEM_ETH_PHY_RESET_GPIO GD_GPIO_49
  393. #endif /* CONFIG_MACH_GK7101_RB_OV2710_V2_20 */
  394. #endif /* _GPIO_RB_OV2710_H_ */