gpio.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. /*
  2. * Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de>
  3. * JZ4740 GPIO pin definitions
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of the GNU General Public License as published by the
  7. * Free Software Foundation; either version 2 of the License, or (at your
  8. * option) any later version.
  9. *
  10. * You should have received a copy of the GNU General Public License along
  11. * with this program; if not, write to the Free Software Foundation, Inc.,
  12. * 675 Mass Ave, Cambridge, MA 02139, USA.
  13. *
  14. */
  15. #ifndef _JZ_GPIO_H
  16. #define _JZ_GPIO_H
  17. #include <linux/types.h>
  18. enum jz_gpio_function {
  19. JZ_GPIO_FUNC_NONE,
  20. JZ_GPIO_FUNC1,
  21. JZ_GPIO_FUNC2,
  22. JZ_GPIO_FUNC3,
  23. };
  24. /*
  25. Usually a driver for a SoC component has to request several gpio pins and
  26. configure them as funcion pins.
  27. jz_gpio_bulk_request can be used to ease this process.
  28. Usually one would do something like:
  29. const static struct jz_gpio_bulk_request i2c_pins[] = {
  30. JZ_GPIO_BULK_PIN(I2C_SDA),
  31. JZ_GPIO_BULK_PIN(I2C_SCK),
  32. };
  33. inside the probe function:
  34. ret = jz_gpio_bulk_request(i2c_pins, ARRAY_SIZE(i2c_pins));
  35. if (ret) {
  36. ...
  37. inside the remove function:
  38. jz_gpio_bulk_free(i2c_pins, ARRAY_SIZE(i2c_pins));
  39. */
  40. struct jz_gpio_bulk_request {
  41. int gpio;
  42. const char *name;
  43. enum jz_gpio_function function;
  44. };
  45. #define JZ_GPIO_BULK_PIN(pin) { \
  46. .gpio = JZ_GPIO_ ## pin, \
  47. .name = #pin, \
  48. .function = JZ_GPIO_FUNC_ ## pin \
  49. }
  50. int jz_gpio_bulk_request(const struct jz_gpio_bulk_request *request, size_t num);
  51. void jz_gpio_bulk_free(const struct jz_gpio_bulk_request *request, size_t num);
  52. void jz_gpio_bulk_suspend(const struct jz_gpio_bulk_request *request, size_t num);
  53. void jz_gpio_bulk_resume(const struct jz_gpio_bulk_request *request, size_t num);
  54. void jz_gpio_enable_pullup(unsigned gpio);
  55. void jz_gpio_disable_pullup(unsigned gpio);
  56. int jz_gpio_set_function(int gpio, enum jz_gpio_function function);
  57. int jz_gpio_port_direction_input(int port, uint32_t mask);
  58. int jz_gpio_port_direction_output(int port, uint32_t mask);
  59. void jz_gpio_port_set_value(int port, uint32_t value, uint32_t mask);
  60. uint32_t jz_gpio_port_get_value(int port, uint32_t mask);
  61. #include <asm/mach-generic/gpio.h>
  62. #define JZ_GPIO_PORTA(x) ((x) + 32 * 0)
  63. #define JZ_GPIO_PORTB(x) ((x) + 32 * 1)
  64. #define JZ_GPIO_PORTC(x) ((x) + 32 * 2)
  65. #define JZ_GPIO_PORTD(x) ((x) + 32 * 3)
  66. /* Port A function pins */
  67. #define JZ_GPIO_MEM_DATA0 JZ_GPIO_PORTA(0)
  68. #define JZ_GPIO_MEM_DATA1 JZ_GPIO_PORTA(1)
  69. #define JZ_GPIO_MEM_DATA2 JZ_GPIO_PORTA(2)
  70. #define JZ_GPIO_MEM_DATA3 JZ_GPIO_PORTA(3)
  71. #define JZ_GPIO_MEM_DATA4 JZ_GPIO_PORTA(4)
  72. #define JZ_GPIO_MEM_DATA5 JZ_GPIO_PORTA(5)
  73. #define JZ_GPIO_MEM_DATA6 JZ_GPIO_PORTA(6)
  74. #define JZ_GPIO_MEM_DATA7 JZ_GPIO_PORTA(7)
  75. #define JZ_GPIO_MEM_DATA8 JZ_GPIO_PORTA(8)
  76. #define JZ_GPIO_MEM_DATA9 JZ_GPIO_PORTA(9)
  77. #define JZ_GPIO_MEM_DATA10 JZ_GPIO_PORTA(10)
  78. #define JZ_GPIO_MEM_DATA11 JZ_GPIO_PORTA(11)
  79. #define JZ_GPIO_MEM_DATA12 JZ_GPIO_PORTA(12)
  80. #define JZ_GPIO_MEM_DATA13 JZ_GPIO_PORTA(13)
  81. #define JZ_GPIO_MEM_DATA14 JZ_GPIO_PORTA(14)
  82. #define JZ_GPIO_MEM_DATA15 JZ_GPIO_PORTA(15)
  83. #define JZ_GPIO_MEM_DATA16 JZ_GPIO_PORTA(16)
  84. #define JZ_GPIO_MEM_DATA17 JZ_GPIO_PORTA(17)
  85. #define JZ_GPIO_MEM_DATA18 JZ_GPIO_PORTA(18)
  86. #define JZ_GPIO_MEM_DATA19 JZ_GPIO_PORTA(19)
  87. #define JZ_GPIO_MEM_DATA20 JZ_GPIO_PORTA(20)
  88. #define JZ_GPIO_MEM_DATA21 JZ_GPIO_PORTA(21)
  89. #define JZ_GPIO_MEM_DATA22 JZ_GPIO_PORTA(22)
  90. #define JZ_GPIO_MEM_DATA23 JZ_GPIO_PORTA(23)
  91. #define JZ_GPIO_MEM_DATA24 JZ_GPIO_PORTA(24)
  92. #define JZ_GPIO_MEM_DATA25 JZ_GPIO_PORTA(25)
  93. #define JZ_GPIO_MEM_DATA26 JZ_GPIO_PORTA(26)
  94. #define JZ_GPIO_MEM_DATA27 JZ_GPIO_PORTA(27)
  95. #define JZ_GPIO_MEM_DATA28 JZ_GPIO_PORTA(28)
  96. #define JZ_GPIO_MEM_DATA29 JZ_GPIO_PORTA(29)
  97. #define JZ_GPIO_MEM_DATA30 JZ_GPIO_PORTA(30)
  98. #define JZ_GPIO_MEM_DATA31 JZ_GPIO_PORTA(31)
  99. #define JZ_GPIO_FUNC_MEM_DATA0 JZ_GPIO_FUNC1
  100. #define JZ_GPIO_FUNC_MEM_DATA1 JZ_GPIO_FUNC1
  101. #define JZ_GPIO_FUNC_MEM_DATA2 JZ_GPIO_FUNC1
  102. #define JZ_GPIO_FUNC_MEM_DATA3 JZ_GPIO_FUNC1
  103. #define JZ_GPIO_FUNC_MEM_DATA4 JZ_GPIO_FUNC1
  104. #define JZ_GPIO_FUNC_MEM_DATA5 JZ_GPIO_FUNC1
  105. #define JZ_GPIO_FUNC_MEM_DATA6 JZ_GPIO_FUNC1
  106. #define JZ_GPIO_FUNC_MEM_DATA7 JZ_GPIO_FUNC1
  107. #define JZ_GPIO_FUNC_MEM_DATA8 JZ_GPIO_FUNC1
  108. #define JZ_GPIO_FUNC_MEM_DATA9 JZ_GPIO_FUNC1
  109. #define JZ_GPIO_FUNC_MEM_DATA10 JZ_GPIO_FUNC1
  110. #define JZ_GPIO_FUNC_MEM_DATA11 JZ_GPIO_FUNC1
  111. #define JZ_GPIO_FUNC_MEM_DATA12 JZ_GPIO_FUNC1
  112. #define JZ_GPIO_FUNC_MEM_DATA13 JZ_GPIO_FUNC1
  113. #define JZ_GPIO_FUNC_MEM_DATA14 JZ_GPIO_FUNC1
  114. #define JZ_GPIO_FUNC_MEM_DATA15 JZ_GPIO_FUNC1
  115. #define JZ_GPIO_FUNC_MEM_DATA16 JZ_GPIO_FUNC1
  116. #define JZ_GPIO_FUNC_MEM_DATA17 JZ_GPIO_FUNC1
  117. #define JZ_GPIO_FUNC_MEM_DATA18 JZ_GPIO_FUNC1
  118. #define JZ_GPIO_FUNC_MEM_DATA19 JZ_GPIO_FUNC1
  119. #define JZ_GPIO_FUNC_MEM_DATA20 JZ_GPIO_FUNC1
  120. #define JZ_GPIO_FUNC_MEM_DATA21 JZ_GPIO_FUNC1
  121. #define JZ_GPIO_FUNC_MEM_DATA22 JZ_GPIO_FUNC1
  122. #define JZ_GPIO_FUNC_MEM_DATA23 JZ_GPIO_FUNC1
  123. #define JZ_GPIO_FUNC_MEM_DATA24 JZ_GPIO_FUNC1
  124. #define JZ_GPIO_FUNC_MEM_DATA25 JZ_GPIO_FUNC1
  125. #define JZ_GPIO_FUNC_MEM_DATA26 JZ_GPIO_FUNC1
  126. #define JZ_GPIO_FUNC_MEM_DATA27 JZ_GPIO_FUNC1
  127. #define JZ_GPIO_FUNC_MEM_DATA28 JZ_GPIO_FUNC1
  128. #define JZ_GPIO_FUNC_MEM_DATA29 JZ_GPIO_FUNC1
  129. #define JZ_GPIO_FUNC_MEM_DATA30 JZ_GPIO_FUNC1
  130. #define JZ_GPIO_FUNC_MEM_DATA31 JZ_GPIO_FUNC1
  131. /* Port B function pins */
  132. #define JZ_GPIO_MEM_ADDR0 JZ_GPIO_PORTB(0)
  133. #define JZ_GPIO_MEM_ADDR1 JZ_GPIO_PORTB(1)
  134. #define JZ_GPIO_MEM_ADDR2 JZ_GPIO_PORTB(2)
  135. #define JZ_GPIO_MEM_ADDR3 JZ_GPIO_PORTB(3)
  136. #define JZ_GPIO_MEM_ADDR4 JZ_GPIO_PORTB(4)
  137. #define JZ_GPIO_MEM_ADDR5 JZ_GPIO_PORTB(5)
  138. #define JZ_GPIO_MEM_ADDR6 JZ_GPIO_PORTB(6)
  139. #define JZ_GPIO_MEM_ADDR7 JZ_GPIO_PORTB(7)
  140. #define JZ_GPIO_MEM_ADDR8 JZ_GPIO_PORTB(8)
  141. #define JZ_GPIO_MEM_ADDR9 JZ_GPIO_PORTB(9)
  142. #define JZ_GPIO_MEM_ADDR10 JZ_GPIO_PORTB(10)
  143. #define JZ_GPIO_MEM_ADDR11 JZ_GPIO_PORTB(11)
  144. #define JZ_GPIO_MEM_ADDR12 JZ_GPIO_PORTB(12)
  145. #define JZ_GPIO_MEM_ADDR13 JZ_GPIO_PORTB(13)
  146. #define JZ_GPIO_MEM_ADDR14 JZ_GPIO_PORTB(14)
  147. #define JZ_GPIO_MEM_ADDR15 JZ_GPIO_PORTB(15)
  148. #define JZ_GPIO_MEM_ADDR16 JZ_GPIO_PORTB(16)
  149. #define JZ_GPIO_LCD_CLS JZ_GPIO_PORTB(17)
  150. #define JZ_GPIO_LCD_SPL JZ_GPIO_PORTB(18)
  151. #define JZ_GPIO_MEM_DCS JZ_GPIO_PORTB(19)
  152. #define JZ_GPIO_MEM_RAS JZ_GPIO_PORTB(20)
  153. #define JZ_GPIO_MEM_CAS JZ_GPIO_PORTB(21)
  154. #define JZ_GPIO_MEM_SDWE JZ_GPIO_PORTB(22)
  155. #define JZ_GPIO_MEM_CKE JZ_GPIO_PORTB(23)
  156. #define JZ_GPIO_MEM_CKO JZ_GPIO_PORTB(24)
  157. #define JZ_GPIO_MEM_CS0 JZ_GPIO_PORTB(25)
  158. #define JZ_GPIO_MEM_CS1 JZ_GPIO_PORTB(26)
  159. #define JZ_GPIO_MEM_CS2 JZ_GPIO_PORTB(27)
  160. #define JZ_GPIO_MEM_CS3 JZ_GPIO_PORTB(28)
  161. #define JZ_GPIO_MEM_RD JZ_GPIO_PORTB(29)
  162. #define JZ_GPIO_MEM_WR JZ_GPIO_PORTB(30)
  163. #define JZ_GPIO_MEM_WE0 JZ_GPIO_PORTB(31)
  164. #define JZ_GPIO_FUNC_MEM_ADDR0 JZ_GPIO_FUNC1
  165. #define JZ_GPIO_FUNC_MEM_ADDR1 JZ_GPIO_FUNC1
  166. #define JZ_GPIO_FUNC_MEM_ADDR2 JZ_GPIO_FUNC1
  167. #define JZ_GPIO_FUNC_MEM_ADDR3 JZ_GPIO_FUNC1
  168. #define JZ_GPIO_FUNC_MEM_ADDR4 JZ_GPIO_FUNC1
  169. #define JZ_GPIO_FUNC_MEM_ADDR5 JZ_GPIO_FUNC1
  170. #define JZ_GPIO_FUNC_MEM_ADDR6 JZ_GPIO_FUNC1
  171. #define JZ_GPIO_FUNC_MEM_ADDR7 JZ_GPIO_FUNC1
  172. #define JZ_GPIO_FUNC_MEM_ADDR8 JZ_GPIO_FUNC1
  173. #define JZ_GPIO_FUNC_MEM_ADDR9 JZ_GPIO_FUNC1
  174. #define JZ_GPIO_FUNC_MEM_ADDR10 JZ_GPIO_FUNC1
  175. #define JZ_GPIO_FUNC_MEM_ADDR11 JZ_GPIO_FUNC1
  176. #define JZ_GPIO_FUNC_MEM_ADDR12 JZ_GPIO_FUNC1
  177. #define JZ_GPIO_FUNC_MEM_ADDR13 JZ_GPIO_FUNC1
  178. #define JZ_GPIO_FUNC_MEM_ADDR14 JZ_GPIO_FUNC1
  179. #define JZ_GPIO_FUNC_MEM_ADDR15 JZ_GPIO_FUNC1
  180. #define JZ_GPIO_FUNC_MEM_ADDR16 JZ_GPIO_FUNC1
  181. #define JZ_GPIO_FUNC_LCD_CLS JZ_GPIO_FUNC1
  182. #define JZ_GPIO_FUNC_LCD_SPL JZ_GPIO_FUNC1
  183. #define JZ_GPIO_FUNC_MEM_DCS JZ_GPIO_FUNC1
  184. #define JZ_GPIO_FUNC_MEM_RAS JZ_GPIO_FUNC1
  185. #define JZ_GPIO_FUNC_MEM_CAS JZ_GPIO_FUNC1
  186. #define JZ_GPIO_FUNC_MEM_SDWE JZ_GPIO_FUNC1
  187. #define JZ_GPIO_FUNC_MEM_CKE JZ_GPIO_FUNC1
  188. #define JZ_GPIO_FUNC_MEM_CKO JZ_GPIO_FUNC1
  189. #define JZ_GPIO_FUNC_MEM_CS0 JZ_GPIO_FUNC1
  190. #define JZ_GPIO_FUNC_MEM_CS1 JZ_GPIO_FUNC1
  191. #define JZ_GPIO_FUNC_MEM_CS2 JZ_GPIO_FUNC1
  192. #define JZ_GPIO_FUNC_MEM_CS3 JZ_GPIO_FUNC1
  193. #define JZ_GPIO_FUNC_MEM_RD JZ_GPIO_FUNC1
  194. #define JZ_GPIO_FUNC_MEM_WR JZ_GPIO_FUNC1
  195. #define JZ_GPIO_FUNC_MEM_WE0 JZ_GPIO_FUNC1
  196. #define JZ_GPIO_MEM_ADDR21 JZ_GPIO_PORTB(17)
  197. #define JZ_GPIO_MEM_ADDR22 JZ_GPIO_PORTB(18)
  198. #define JZ_GPIO_FUNC_MEM_ADDR21 JZ_GPIO_FUNC2
  199. #define JZ_GPIO_FUNC_MEM_ADDR22 JZ_GPIO_FUNC2
  200. /* Port C function pins */
  201. #define JZ_GPIO_LCD_DATA0 JZ_GPIO_PORTC(0)
  202. #define JZ_GPIO_LCD_DATA1 JZ_GPIO_PORTC(1)
  203. #define JZ_GPIO_LCD_DATA2 JZ_GPIO_PORTC(2)
  204. #define JZ_GPIO_LCD_DATA3 JZ_GPIO_PORTC(3)
  205. #define JZ_GPIO_LCD_DATA4 JZ_GPIO_PORTC(4)
  206. #define JZ_GPIO_LCD_DATA5 JZ_GPIO_PORTC(5)
  207. #define JZ_GPIO_LCD_DATA6 JZ_GPIO_PORTC(6)
  208. #define JZ_GPIO_LCD_DATA7 JZ_GPIO_PORTC(7)
  209. #define JZ_GPIO_LCD_DATA8 JZ_GPIO_PORTC(8)
  210. #define JZ_GPIO_LCD_DATA9 JZ_GPIO_PORTC(9)
  211. #define JZ_GPIO_LCD_DATA10 JZ_GPIO_PORTC(10)
  212. #define JZ_GPIO_LCD_DATA11 JZ_GPIO_PORTC(11)
  213. #define JZ_GPIO_LCD_DATA12 JZ_GPIO_PORTC(12)
  214. #define JZ_GPIO_LCD_DATA13 JZ_GPIO_PORTC(13)
  215. #define JZ_GPIO_LCD_DATA14 JZ_GPIO_PORTC(14)
  216. #define JZ_GPIO_LCD_DATA15 JZ_GPIO_PORTC(15)
  217. #define JZ_GPIO_LCD_DATA16 JZ_GPIO_PORTC(16)
  218. #define JZ_GPIO_LCD_DATA17 JZ_GPIO_PORTC(17)
  219. #define JZ_GPIO_LCD_PCLK JZ_GPIO_PORTC(18)
  220. #define JZ_GPIO_LCD_HSYNC JZ_GPIO_PORTC(19)
  221. #define JZ_GPIO_LCD_VSYNC JZ_GPIO_PORTC(20)
  222. #define JZ_GPIO_LCD_DE JZ_GPIO_PORTC(21)
  223. #define JZ_GPIO_LCD_PS JZ_GPIO_PORTC(22)
  224. #define JZ_GPIO_LCD_REV JZ_GPIO_PORTC(23)
  225. #define JZ_GPIO_MEM_WE1 JZ_GPIO_PORTC(24)
  226. #define JZ_GPIO_MEM_WE2 JZ_GPIO_PORTC(25)
  227. #define JZ_GPIO_MEM_WE3 JZ_GPIO_PORTC(26)
  228. #define JZ_GPIO_MEM_WAIT JZ_GPIO_PORTC(27)
  229. #define JZ_GPIO_MEM_FRE JZ_GPIO_PORTC(28)
  230. #define JZ_GPIO_MEM_FWE JZ_GPIO_PORTC(29)
  231. #define JZ_GPIO_FUNC_LCD_DATA0 JZ_GPIO_FUNC1
  232. #define JZ_GPIO_FUNC_LCD_DATA1 JZ_GPIO_FUNC1
  233. #define JZ_GPIO_FUNC_LCD_DATA2 JZ_GPIO_FUNC1
  234. #define JZ_GPIO_FUNC_LCD_DATA3 JZ_GPIO_FUNC1
  235. #define JZ_GPIO_FUNC_LCD_DATA4 JZ_GPIO_FUNC1
  236. #define JZ_GPIO_FUNC_LCD_DATA5 JZ_GPIO_FUNC1
  237. #define JZ_GPIO_FUNC_LCD_DATA6 JZ_GPIO_FUNC1
  238. #define JZ_GPIO_FUNC_LCD_DATA7 JZ_GPIO_FUNC1
  239. #define JZ_GPIO_FUNC_LCD_DATA8 JZ_GPIO_FUNC1
  240. #define JZ_GPIO_FUNC_LCD_DATA9 JZ_GPIO_FUNC1
  241. #define JZ_GPIO_FUNC_LCD_DATA10 JZ_GPIO_FUNC1
  242. #define JZ_GPIO_FUNC_LCD_DATA11 JZ_GPIO_FUNC1
  243. #define JZ_GPIO_FUNC_LCD_DATA12 JZ_GPIO_FUNC1
  244. #define JZ_GPIO_FUNC_LCD_DATA13 JZ_GPIO_FUNC1
  245. #define JZ_GPIO_FUNC_LCD_DATA14 JZ_GPIO_FUNC1
  246. #define JZ_GPIO_FUNC_LCD_DATA15 JZ_GPIO_FUNC1
  247. #define JZ_GPIO_FUNC_LCD_DATA16 JZ_GPIO_FUNC1
  248. #define JZ_GPIO_FUNC_LCD_DATA17 JZ_GPIO_FUNC1
  249. #define JZ_GPIO_FUNC_LCD_PCLK JZ_GPIO_FUNC1
  250. #define JZ_GPIO_FUNC_LCD_VSYNC JZ_GPIO_FUNC1
  251. #define JZ_GPIO_FUNC_LCD_HSYNC JZ_GPIO_FUNC1
  252. #define JZ_GPIO_FUNC_LCD_DE JZ_GPIO_FUNC1
  253. #define JZ_GPIO_FUNC_LCD_PS JZ_GPIO_FUNC1
  254. #define JZ_GPIO_FUNC_LCD_REV JZ_GPIO_FUNC1
  255. #define JZ_GPIO_FUNC_MEM_WE1 JZ_GPIO_FUNC1
  256. #define JZ_GPIO_FUNC_MEM_WE2 JZ_GPIO_FUNC1
  257. #define JZ_GPIO_FUNC_MEM_WE3 JZ_GPIO_FUNC1
  258. #define JZ_GPIO_FUNC_MEM_WAIT JZ_GPIO_FUNC1
  259. #define JZ_GPIO_FUNC_MEM_FRE JZ_GPIO_FUNC1
  260. #define JZ_GPIO_FUNC_MEM_FWE JZ_GPIO_FUNC1
  261. #define JZ_GPIO_MEM_ADDR19 JZ_GPIO_PORTB(22)
  262. #define JZ_GPIO_MEM_ADDR20 JZ_GPIO_PORTB(23)
  263. #define JZ_GPIO_FUNC_MEM_ADDR19 JZ_GPIO_FUNC2
  264. #define JZ_GPIO_FUNC_MEM_ADDR20 JZ_GPIO_FUNC2
  265. /* Port D function pins */
  266. #define JZ_GPIO_CIM_DATA0 JZ_GPIO_PORTD(0)
  267. #define JZ_GPIO_CIM_DATA1 JZ_GPIO_PORTD(1)
  268. #define JZ_GPIO_CIM_DATA2 JZ_GPIO_PORTD(2)
  269. #define JZ_GPIO_CIM_DATA3 JZ_GPIO_PORTD(3)
  270. #define JZ_GPIO_CIM_DATA4 JZ_GPIO_PORTD(4)
  271. #define JZ_GPIO_CIM_DATA5 JZ_GPIO_PORTD(5)
  272. #define JZ_GPIO_CIM_DATA6 JZ_GPIO_PORTD(6)
  273. #define JZ_GPIO_CIM_DATA7 JZ_GPIO_PORTD(7)
  274. #define JZ_GPIO_MSC_CMD JZ_GPIO_PORTD(8)
  275. #define JZ_GPIO_MSC_CLK JZ_GPIO_PORTD(9)
  276. #define JZ_GPIO_MSC_DATA0 JZ_GPIO_PORTD(10)
  277. #define JZ_GPIO_MSC_DATA1 JZ_GPIO_PORTD(11)
  278. #define JZ_GPIO_MSC_DATA2 JZ_GPIO_PORTD(12)
  279. #define JZ_GPIO_MSC_DATA3 JZ_GPIO_PORTD(13)
  280. #define JZ_GPIO_CIM_MCLK JZ_GPIO_PORTD(14)
  281. #define JZ_GPIO_CIM_PCLK JZ_GPIO_PORTD(15)
  282. #define JZ_GPIO_CIM_VSYNC JZ_GPIO_PORTD(16)
  283. #define JZ_GPIO_CIM_HSYNC JZ_GPIO_PORTD(17)
  284. #define JZ_GPIO_SPI_CLK JZ_GPIO_PORTD(18)
  285. #define JZ_GPIO_SPI_CE0 JZ_GPIO_PORTD(19)
  286. #define JZ_GPIO_SPI_DT JZ_GPIO_PORTD(20)
  287. #define JZ_GPIO_SPI_DR JZ_GPIO_PORTD(21)
  288. #define JZ_GPIO_SPI_CE1 JZ_GPIO_PORTD(22)
  289. #define JZ_GPIO_PWM0 JZ_GPIO_PORTD(23)
  290. #define JZ_GPIO_PWM1 JZ_GPIO_PORTD(24)
  291. #define JZ_GPIO_PWM2 JZ_GPIO_PORTD(25)
  292. #define JZ_GPIO_PWM3 JZ_GPIO_PORTD(26)
  293. #define JZ_GPIO_PWM4 JZ_GPIO_PORTD(27)
  294. #define JZ_GPIO_PWM5 JZ_GPIO_PORTD(28)
  295. #define JZ_GPIO_PWM6 JZ_GPIO_PORTD(30)
  296. #define JZ_GPIO_PWM7 JZ_GPIO_PORTD(31)
  297. #define JZ_GPIO_FUNC_CIM_DATA JZ_GPIO_FUNC1
  298. #define JZ_GPIO_FUNC_CIM_DATA0 JZ_GPIO_FUNC_CIM_DATA
  299. #define JZ_GPIO_FUNC_CIM_DATA1 JZ_GPIO_FUNC_CIM_DATA
  300. #define JZ_GPIO_FUNC_CIM_DATA2 JZ_GPIO_FUNC_CIM_DATA
  301. #define JZ_GPIO_FUNC_CIM_DATA3 JZ_GPIO_FUNC_CIM_DATA
  302. #define JZ_GPIO_FUNC_CIM_DATA4 JZ_GPIO_FUNC_CIM_DATA
  303. #define JZ_GPIO_FUNC_CIM_DATA5 JZ_GPIO_FUNC_CIM_DATA
  304. #define JZ_GPIO_FUNC_CIM_DATA6 JZ_GPIO_FUNC_CIM_DATA
  305. #define JZ_GPIO_FUNC_CIM_DATA7 JZ_GPIO_FUNC_CIM_DATA
  306. #define JZ_GPIO_FUNC_MSC_CMD JZ_GPIO_FUNC1
  307. #define JZ_GPIO_FUNC_MSC_CLK JZ_GPIO_FUNC1
  308. #define JZ_GPIO_FUNC_MSC_DATA JZ_GPIO_FUNC1
  309. #define JZ_GPIO_FUNC_MSC_DATA0 JZ_GPIO_FUNC_MSC_DATA
  310. #define JZ_GPIO_FUNC_MSC_DATA1 JZ_GPIO_FUNC_MSC_DATA
  311. #define JZ_GPIO_FUNC_MSC_DATA2 JZ_GPIO_FUNC_MSC_DATA
  312. #define JZ_GPIO_FUNC_MSC_DATA3 JZ_GPIO_FUNC_MSC_DATA
  313. #define JZ_GPIO_FUNC_CIM_MCLK JZ_GPIO_FUNC1
  314. #define JZ_GPIO_FUNC_CIM_PCLK JZ_GPIO_FUNC1
  315. #define JZ_GPIO_FUNC_CIM_VSYNC JZ_GPIO_FUNC1
  316. #define JZ_GPIO_FUNC_CIM_HSYNC JZ_GPIO_FUNC1
  317. #define JZ_GPIO_FUNC_SPI_CLK JZ_GPIO_FUNC1
  318. #define JZ_GPIO_FUNC_SPI_CE0 JZ_GPIO_FUNC1
  319. #define JZ_GPIO_FUNC_SPI_DT JZ_GPIO_FUNC1
  320. #define JZ_GPIO_FUNC_SPI_DR JZ_GPIO_FUNC1
  321. #define JZ_GPIO_FUNC_SPI_CE1 JZ_GPIO_FUNC1
  322. #define JZ_GPIO_FUNC_PWM JZ_GPIO_FUNC1
  323. #define JZ_GPIO_FUNC_PWM0 JZ_GPIO_FUNC_PWM
  324. #define JZ_GPIO_FUNC_PWM1 JZ_GPIO_FUNC_PWM
  325. #define JZ_GPIO_FUNC_PWM2 JZ_GPIO_FUNC_PWM
  326. #define JZ_GPIO_FUNC_PWM3 JZ_GPIO_FUNC_PWM
  327. #define JZ_GPIO_FUNC_PWM4 JZ_GPIO_FUNC_PWM
  328. #define JZ_GPIO_FUNC_PWM5 JZ_GPIO_FUNC_PWM
  329. #define JZ_GPIO_FUNC_PWM6 JZ_GPIO_FUNC_PWM
  330. #define JZ_GPIO_FUNC_PWM7 JZ_GPIO_FUNC_PWM
  331. #define JZ_GPIO_MEM_SCLK_RSTN JZ_GPIO_PORTD(18)
  332. #define JZ_GPIO_MEM_BCLK JZ_GPIO_PORTD(19)
  333. #define JZ_GPIO_MEM_SDATO JZ_GPIO_PORTD(20)
  334. #define JZ_GPIO_MEM_SDATI JZ_GPIO_PORTD(21)
  335. #define JZ_GPIO_MEM_SYNC JZ_GPIO_PORTD(22)
  336. #define JZ_GPIO_I2C_SDA JZ_GPIO_PORTD(23)
  337. #define JZ_GPIO_I2C_SCK JZ_GPIO_PORTD(24)
  338. #define JZ_GPIO_UART0_TXD JZ_GPIO_PORTD(25)
  339. #define JZ_GPIO_UART0_RXD JZ_GPIO_PORTD(26)
  340. #define JZ_GPIO_MEM_ADDR17 JZ_GPIO_PORTD(27)
  341. #define JZ_GPIO_MEM_ADDR18 JZ_GPIO_PORTD(28)
  342. #define JZ_GPIO_UART0_CTS JZ_GPIO_PORTD(30)
  343. #define JZ_GPIO_UART0_RTS JZ_GPIO_PORTD(31)
  344. #define JZ_GPIO_FUNC_MEM_SCLK_RSTN JZ_GPIO_FUNC2
  345. #define JZ_GPIO_FUNC_MEM_BCLK JZ_GPIO_FUNC2
  346. #define JZ_GPIO_FUNC_MEM_SDATO JZ_GPIO_FUNC2
  347. #define JZ_GPIO_FUNC_MEM_SDATI JZ_GPIO_FUNC2
  348. #define JZ_GPIO_FUNC_MEM_SYNC JZ_GPIO_FUNC2
  349. #define JZ_GPIO_FUNC_I2C_SDA JZ_GPIO_FUNC2
  350. #define JZ_GPIO_FUNC_I2C_SCK JZ_GPIO_FUNC2
  351. #define JZ_GPIO_FUNC_UART0_TXD JZ_GPIO_FUNC2
  352. #define JZ_GPIO_FUNC_UART0_RXD JZ_GPIO_FUNC2
  353. #define JZ_GPIO_FUNC_MEM_ADDR17 JZ_GPIO_FUNC2
  354. #define JZ_GPIO_FUNC_MEM_ADDR18 JZ_GPIO_FUNC2
  355. #define JZ_GPIO_FUNC_UART0_CTS JZ_GPIO_FUNC2
  356. #define JZ_GPIO_FUNC_UART0_RTS JZ_GPIO_FUNC2
  357. #define JZ_GPIO_UART1_RXD JZ_GPIO_PORTD(30)
  358. #define JZ_GPIO_UART1_TXD JZ_GPIO_PORTD(31)
  359. #define JZ_GPIO_FUNC_UART1_RXD JZ_GPIO_FUNC3
  360. #define JZ_GPIO_FUNC_UART1_TXD JZ_GPIO_FUNC3
  361. #endif