drv_uart.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. /*
  2. * Copyright (c) 2006-2023, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2022/12/25 flyingcys first version
  9. */
  10. #ifndef __DRV_USART_H__
  11. #define __DRV_USART_H__
  12. #include <rtthread.h>
  13. #include "rtdevice.h"
  14. #include <rthw.h>
  15. #include "bflb_uart.h"
  16. #include "bflb_gpio.h"
  17. // uart0
  18. #ifdef UART0_TX_USING_GPIO0
  19. #define UART0_GPIO_TX GPIO_PIN_0
  20. #elif defined(UART0_TX_USING_GPIO1)
  21. #define UART0_GPIO_TX GPIO_PIN_1
  22. #elif defined(UART0_TX_USING_GPIO2)
  23. #define UART0_GPIO_TX GPIO_PIN_2
  24. #elif defined(UART0_TX_USING_GPIO3)
  25. #define UART0_GPIO_TX GPIO_PIN_3
  26. #elif defined(UART0_TX_USING_GPIO4)
  27. #define UART0_GPIO_TX GPIO_PIN_4
  28. #elif defined(UART0_TX_USING_GPIO5)
  29. #define UART0_GPIO_TX GPIO_PIN_5
  30. #elif defined(UART0_TX_USING_GPIO6)
  31. #define UART0_GPIO_TX GPIO_PIN_6
  32. #elif defined(UART0_TX_USING_GPIO7)
  33. #define UART0_GPIO_TX GPIO_PIN_7
  34. #elif defined(UART0_TX_USING_GPIO8)
  35. #define UART0_GPIO_TX GPIO_PIN_8
  36. #elif defined(UART0_TX_USING_GPIO9)
  37. #define UART0_GPIO_TX GPIO_PIN_9
  38. #elif defined(UART0_TX_USING_GPIO10)
  39. #define UART0_GPIO_TX GPIO_PIN_10
  40. #elif defined(UART0_TX_USING_GPIO11)
  41. #define UART0_GPIO_TX GPIO_PIN_11
  42. #elif defined(UART0_TX_USING_GPIO12)
  43. #define UART0_GPIO_TX GPIO_PIN_12
  44. #elif defined(UART0_TX_USING_GPIO13)
  45. #define UART0_GPIO_TX GPIO_PIN_13
  46. #elif defined(UART0_TX_USING_GPIO14)
  47. #define UART0_GPIO_TX GPIO_PIN_14
  48. #elif defined(UART0_TX_USING_GPIO15)
  49. #define UART0_GPIO_TX GPIO_PIN_15
  50. #elif defined(UART0_TX_USING_GPIO16)
  51. #define UART0_GPIO_TX GPIO_PIN_16
  52. #elif defined(UART0_TX_USING_GPIO17)
  53. #define UART0_GPIO_TX GPIO_PIN_17
  54. #elif defined(UART0_TX_USING_GPIO18)
  55. #define UART0_GPIO_TX GPIO_PIN_18
  56. #elif defined(UART0_TX_USING_GPIO19)
  57. #define UART0_GPIO_TX GPIO_PIN_19
  58. #elif defined(UART0_TX_USING_GPIO20)
  59. #define UART0_GPIO_TX GPIO_PIN_20
  60. #elif defined(UART0_TX_USING_GPIO21)
  61. #define UART0_GPIO_TX GPIO_PIN_21
  62. #elif defined(UART0_TX_USING_GPIO22)
  63. #define UART0_GPIO_TX GPIO_PIN_22
  64. #elif defined(UART0_TX_USING_GPIO23)
  65. #define UART0_GPIO_TX GPIO_PIN_23
  66. #elif defined(UART0_TX_USING_GPIO24)
  67. #define UART0_GPIO_TX GPIO_PIN_24
  68. #elif defined(UART0_TX_USING_GPIO25)
  69. #define UART0_GPIO_TX GPIO_PIN_25
  70. #elif defined(UART0_TX_USING_GPIO26)
  71. #define UART0_GPIO_TX GPIO_PIN_26
  72. #elif defined(UART0_TX_USING_GPIO27)
  73. #define UART0_GPIO_TX GPIO_PIN_27
  74. #elif defined(UART0_TX_USING_GPIO28)
  75. #define UART0_GPIO_TX GPIO_PIN_28
  76. #elif defined(UART0_TX_USING_GPIO29)
  77. #define UART0_GPIO_TX GPIO_PIN_29
  78. #elif defined(UART0_TX_USING_GPIO30)
  79. #define UART0_GPIO_TX GPIO_PIN_30
  80. #elif defined(UART0_TX_USING_GPIO31)
  81. #define UART0_GPIO_TX GPIO_PIN_31
  82. #elif defined(UART0_TX_USING_GPIO32)
  83. #define UART0_GPIO_TX GPIO_PIN_32
  84. #elif defined(UART0_TX_USING_GPIO33)
  85. #define UART0_GPIO_TX GPIO_PIN_33
  86. #elif defined(UART0_TX_USING_GPIO34)
  87. #define UART0_GPIO_TX GPIO_PIN_34
  88. #elif defined(UART0_TX_USING_GPIO35)
  89. #define UART0_GPIO_TX GPIO_PIN_35
  90. #elif defined(UART0_TX_USING_GPIO36)
  91. #define UART0_GPIO_TX GPIO_PIN_36
  92. #elif defined(UART0_TX_USING_GPIO37)
  93. #define UART0_GPIO_TX GPIO_PIN_37
  94. #elif defined(UART0_TX_USING_GPIO38)
  95. #define UART0_GPIO_TX GPIO_PIN_38
  96. #elif defined(UART0_TX_USING_GPIO39)
  97. #define UART0_GPIO_TX GPIO_PIN_39
  98. #elif defined(UART0_TX_USING_GPIO44)
  99. #define UART0_GPIO_TX GPIO_PIN_44
  100. #elif defined(UART0_TX_USING_GPIO45)
  101. #define UART0_GPIO_TX GPIO_PIN_45
  102. #endif
  103. #ifdef UART0_RX_USING_GPIO0
  104. #define UART0_GPIO_RX GPIO_PIN_0
  105. #elif defined(UART0_RX_USING_GPIO1)
  106. #define UART0_GPIO_RX GPIO_PIN_1
  107. #elif defined(UART0_RX_USING_GPIO2)
  108. #define UART0_GPIO_RX GPIO_PIN_2
  109. #elif defined(UART0_RX_USING_GPIO3)
  110. #define UART0_GPIO_RX GPIO_PIN_3
  111. #elif defined(UART0_RX_USING_GPIO4)
  112. #define UART0_GPIO_RX GPIO_PIN_4
  113. #elif defined(UART0_RX_USING_GPIO5)
  114. #define UART0_GPIO_RX GPIO_PIN_5
  115. #elif defined(UART0_RX_USING_GPIO6)
  116. #define UART0_GPIO_RX GPIO_PIN_6
  117. #elif defined(UART0_RX_USING_GPIO7)
  118. #define UART0_GPIO_RX GPIO_PIN_7
  119. #elif defined(UART0_RX_USING_GPIO8)
  120. #define UART0_GPIO_RX GPIO_PIN_8
  121. #elif defined(UART0_RX_USING_GPIO9)
  122. #define UART0_GPIO_RX GPIO_PIN_9
  123. #elif defined(UART0_RX_USING_GPIO10)
  124. #define UART0_GPIO_RX GPIO_PIN_10
  125. #elif defined(UART0_RX_USING_GPIO11)
  126. #define UART0_GPIO_RX GPIO_PIN_11
  127. #elif defined(UART0_RX_USING_GPIO12)
  128. #define UART0_GPIO_RX GPIO_PIN_12
  129. #elif defined(UART0_RX_USING_GPIO13)
  130. #define UART0_GPIO_RX GPIO_PIN_13
  131. #elif defined(UART0_RX_USING_GPIO14)
  132. #define UART0_GPIO_RX GPIO_PIN_14
  133. #elif defined(UART0_RX_USING_GPIO15)
  134. #define UART0_GPIO_RX GPIO_PIN_15
  135. #elif defined(UART0_RX_USING_GPIO16)
  136. #define UART0_GPIO_RX GPIO_PIN_16
  137. #elif defined(UART0_RX_USING_GPIO17)
  138. #define UART0_GPIO_RX GPIO_PIN_17
  139. #elif defined(UART0_RX_USING_GPIO18)
  140. #define UART0_GPIO_RX GPIO_PIN_18
  141. #elif defined(UART0_RX_USING_GPIO19)
  142. #define UART0_GPIO_RX GPIO_PIN_19
  143. #elif defined(UART0_RX_USING_GPIO20)
  144. #define UART0_GPIO_RX GPIO_PIN_20
  145. #elif defined(UART0_RX_USING_GPIO21)
  146. #define UART0_GPIO_RX GPIO_PIN_21
  147. #elif defined(UART0_RX_USING_GPIO22)
  148. #define UART0_GPIO_RX GPIO_PIN_22
  149. #elif defined(UART0_RX_USING_GPIO23)
  150. #define UART0_GPIO_RX GPIO_PIN_23
  151. #elif defined(UART0_RX_USING_GPIO24)
  152. #define UART0_GPIO_RX GPIO_PIN_24
  153. #elif defined(UART0_RX_USING_GPIO25)
  154. #define UART0_GPIO_RX GPIO_PIN_25
  155. #elif defined(UART0_RX_USING_GPIO26)
  156. #define UART0_GPIO_RX GPIO_PIN_26
  157. #elif defined(UART0_RX_USING_GPIO27)
  158. #define UART0_GPIO_RX GPIO_PIN_27
  159. #elif defined(UART0_RX_USING_GPIO28)
  160. #define UART0_GPIO_RX GPIO_PIN_28
  161. #elif defined(UART0_RX_USING_GPIO29)
  162. #define UART0_GPIO_RX GPIO_PIN_29
  163. #elif defined(UART0_RX_USING_GPIO30)
  164. #define UART0_GPIO_RX GPIO_PIN_30
  165. #elif defined(UART0_RX_USING_GPIO31)
  166. #define UART0_GPIO_RX GPIO_PIN_31
  167. #elif defined(UART0_RX_USING_GPIO31)
  168. #define UART0_GPIO_RX GPIO_PIN_32
  169. #elif defined(UART0_RX_USING_GPIO33)
  170. #define UART0_GPIO_RX GPIO_PIN_33
  171. #elif defined(UART0_RX_USING_GPIO34)
  172. #define UART0_GPIO_RX GPIO_PIN_34
  173. #elif defined(UART0_RX_USING_GPIO35)
  174. #define UART0_GPIO_RX GPIO_PIN_35
  175. #elif defined(UART0_RX_USING_GPIO36)
  176. #define UART0_GPIO_RX GPIO_PIN_36
  177. #elif defined(UART0_RX_USING_GPIO37)
  178. #define UART0_GPIO_RX GPIO_PIN_37
  179. #elif defined(UART0_RX_USING_GPIO38)
  180. #define UART0_GPIO_RX GPIO_PIN_38
  181. #elif defined(UART0_RX_USING_GPIO39)
  182. #define UART0_GPIO_RX GPIO_PIN_39
  183. #elif defined(UART0_RX_USING_GPIO44)
  184. #define UART0_GPIO_RX GPIO_PIN_44
  185. #elif defined(UART0_RX_USING_GPIO45)
  186. #define UART0_GPIO_RX GPIO_PIN_45
  187. #endif
  188. // uart1
  189. #ifdef UART1_TX_USING_GPIO0
  190. #define UART1_GPIO_TX GPIO_PIN_0
  191. #elif defined(UART1_TX_USING_GPIO1)
  192. #define UART1_GPIO_TX GPIO_PIN_1
  193. #elif defined(UART1_TX_USING_GPIO2)
  194. #define UART1_GPIO_TX GPIO_PIN_2
  195. #elif defined(UART1_TX_USING_GPIO3)
  196. #define UART1_GPIO_TX GPIO_PIN_3
  197. #elif defined(UART1_TX_USING_GPIO4)
  198. #define UART1_GPIO_TX GPIO_PIN_4
  199. #elif defined(UART1_TX_USING_GPIO5)
  200. #define UART1_GPIO_TX GPIO_PIN_5
  201. #elif defined(UART1_TX_USING_GPIO6)
  202. #define UART1_GPIO_TX GPIO_PIN_6
  203. #elif defined(UART1_TX_USING_GPIO7)
  204. #define UART1_GPIO_TX GPIO_PIN_7
  205. #elif defined(UART1_TX_USING_GPIO8)
  206. #define UART1_GPIO_TX GPIO_PIN_8
  207. #elif defined(UART1_TX_USING_GPIO9)
  208. #define UART1_GPIO_TX GPIO_PIN_9
  209. #elif defined(UART1_TX_USING_GPIO10)
  210. #define UART1_GPIO_TX GPIO_PIN_10
  211. #elif defined(UART1_TX_USING_GPIO11)
  212. #define UART1_GPIO_TX GPIO_PIN_11
  213. #elif defined(UART1_TX_USING_GPIO12)
  214. #define UART1_GPIO_TX GPIO_PIN_12
  215. #elif defined(UART1_TX_USING_GPIO13)
  216. #define UART1_GPIO_TX GPIO_PIN_13
  217. #elif defined(UART1_TX_USING_GPIO14)
  218. #define UART1_GPIO_TX GPIO_PIN_14
  219. #elif defined(UART1_TX_USING_GPIO15)
  220. #define UART1_GPIO_TX GPIO_PIN_15
  221. #elif defined(UART1_TX_USING_GPIO16)
  222. #define UART1_GPIO_TX GPIO_PIN_16
  223. #elif defined(UART1_TX_USING_GPIO17)
  224. #define UART1_GPIO_TX GPIO_PIN_17
  225. #elif defined(UART1_TX_USING_GPIO18)
  226. #define UART1_GPIO_TX GPIO_PIN_18
  227. #elif defined(UART1_TX_USING_GPIO19)
  228. #define UART1_GPIO_TX GPIO_PIN_19
  229. #elif defined(UART1_TX_USING_GPIO20)
  230. #define UART1_GPIO_TX GPIO_PIN_20
  231. #elif defined(UART1_TX_USING_GPIO21)
  232. #define UART1_GPIO_TX GPIO_PIN_21
  233. #elif defined(UART1_TX_USING_GPIO22)
  234. #define UART1_GPIO_TX GPIO_PIN_22
  235. #elif defined(UART1_TX_USING_GPIO23)
  236. #define UART1_GPIO_TX GPIO_PIN_23
  237. #elif defined(UART1_TX_USING_GPIO24)
  238. #define UART1_GPIO_TX GPIO_PIN_24
  239. #elif defined(UART1_TX_USING_GPIO25)
  240. #define UART1_GPIO_TX GPIO_PIN_25
  241. #elif defined(UART1_TX_USING_GPIO26)
  242. #define UART1_GPIO_TX GPIO_PIN_26
  243. #elif defined(UART1_TX_USING_GPIO27)
  244. #define UART1_GPIO_TX GPIO_PIN_27
  245. #elif defined(UART1_TX_USING_GPIO28)
  246. #define UART1_GPIO_TX GPIO_PIN_28
  247. #elif defined(UART1_TX_USING_GPIO29)
  248. #define UART1_GPIO_TX GPIO_PIN_29
  249. #elif defined(UART1_TX_USING_GPIO30)
  250. #define UART1_GPIO_TX GPIO_PIN_30
  251. #elif defined(UART1_TX_USING_GPIO31)
  252. #define UART1_GPIO_TX GPIO_PIN_31
  253. #elif defined(UART1_TX_USING_GPIO32)
  254. #define UART1_GPIO_TX GPIO_PIN_32
  255. #elif defined(UART1_TX_USING_GPIO33)
  256. #define UART1_GPIO_TX GPIO_PIN_33
  257. #elif defined(UART1_TX_USING_GPIO34)
  258. #define UART1_GPIO_TX GPIO_PIN_34
  259. #elif defined(UART1_TX_USING_GPIO35)
  260. #define UART1_GPIO_TX GPIO_PIN_35
  261. #elif defined(UART1_TX_USING_GPIO36)
  262. #define UART1_GPIO_TX GPIO_PIN_36
  263. #elif defined(UART1_TX_USING_GPIO37)
  264. #define UART1_GPIO_TX GPIO_PIN_37
  265. #elif defined(UART1_TX_USING_GPIO38)
  266. #define UART1_GPIO_TX GPIO_PIN_38
  267. #elif defined(UART1_TX_USING_GPIO39)
  268. #define UART1_GPIO_TX GPIO_PIN_39
  269. #elif defined(UART1_TX_USING_GPIO44)
  270. #define UART1_GPIO_TX GPIO_PIN_44
  271. #elif defined(UART1_TX_USING_GPIO45)
  272. #define UART1_GPIO_TX GPIO_PIN_45
  273. #endif
  274. #ifdef UART1_RX_USING_GPIO0
  275. #define UART1_GPIO_RX GPIO_PIN_0
  276. #elif defined(UART1_RX_USING_GPIO1)
  277. #define UART1_GPIO_RX GPIO_PIN_1
  278. #elif defined(UART1_RX_USING_GPIO2)
  279. #define UART1_GPIO_RX GPIO_PIN_2
  280. #elif defined(UART1_RX_USING_GPIO3)
  281. #define UART1_GPIO_RX GPIO_PIN_3
  282. #elif defined(UART1_RX_USING_GPIO4)
  283. #define UART1_GPIO_RX GPIO_PIN_4
  284. #elif defined(UART1_RX_USING_GPIO5)
  285. #define UART1_GPIO_RX GPIO_PIN_5
  286. #elif defined(UART1_RX_USING_GPIO6)
  287. #define UART1_GPIO_RX GPIO_PIN_6
  288. #elif defined(UART1_RX_USING_GPIO7)
  289. #define UART1_GPIO_RX GPIO_PIN_7
  290. #elif defined(UART1_RX_USING_GPIO8)
  291. #define UART1_GPIO_RX GPIO_PIN_8
  292. #elif defined(UART1_RX_USING_GPIO9)
  293. #define UART1_GPIO_RX GPIO_PIN_9
  294. #elif defined(UART1_RX_USING_GPIO10)
  295. #define UART1_GPIO_RX GPIO_PIN_10
  296. #elif defined(UART1_RX_USING_GPIO11)
  297. #define UART1_GPIO_RX GPIO_PIN_11
  298. #elif defined(UART1_RX_USING_GPIO12)
  299. #define UART1_GPIO_RX GPIO_PIN_12
  300. #elif defined(UART1_RX_USING_GPIO13)
  301. #define UART1_GPIO_RX GPIO_PIN_13
  302. #elif defined(UART1_RX_USING_GPIO14)
  303. #define UART1_GPIO_RX GPIO_PIN_14
  304. #elif defined(UART1_RX_USING_GPIO15)
  305. #define UART1_GPIO_RX GPIO_PIN_15
  306. #elif defined(UART1_RX_USING_GPIO16)
  307. #define UART1_GPIO_RX GPIO_PIN_16
  308. #elif defined(UART1_RX_USING_GPIO17)
  309. #define UART1_GPIO_RX GPIO_PIN_17
  310. #elif defined(UART1_RX_USING_GPIO18)
  311. #define UART1_GPIO_RX GPIO_PIN_18
  312. #elif defined(UART1_RX_USING_GPIO19)
  313. #define UART1_GPIO_RX GPIO_PIN_19
  314. #elif defined(UART1_RX_USING_GPIO20)
  315. #define UART1_GPIO_RX GPIO_PIN_20
  316. #elif defined(UART1_RX_USING_GPIO21)
  317. #define UART1_GPIO_RX GPIO_PIN_21
  318. #elif defined(UART1_RX_USING_GPIO22)
  319. #define UART1_GPIO_RX GPIO_PIN_22
  320. #elif defined(UART1_RX_USING_GPIO23)
  321. #define UART1_GPIO_RX GPIO_PIN_23
  322. #elif defined(UART1_RX_USING_GPIO24)
  323. #define UART1_GPIO_RX GPIO_PIN_24
  324. #elif defined(UART1_RX_USING_GPIO25)
  325. #define UART1_GPIO_RX GPIO_PIN_25
  326. #elif defined(UART1_RX_USING_GPIO26)
  327. #define UART1_GPIO_RX GPIO_PIN_26
  328. #elif defined(UART1_RX_USING_GPIO27)
  329. #define UART1_GPIO_RX GPIO_PIN_27
  330. #elif defined(UART1_RX_USING_GPIO28)
  331. #define UART1_GPIO_RX GPIO_PIN_28
  332. #elif defined(UART1_RX_USING_GPIO29)
  333. #define UART1_GPIO_RX GPIO_PIN_29
  334. #elif defined(UART1_RX_USING_GPIO30)
  335. #define UART1_GPIO_RX GPIO_PIN_30
  336. #elif defined(UART1_RX_USING_GPIO31)
  337. #define UART1_GPIO_RX GPIO_PIN_31
  338. #elif defined(UART1_RX_USING_GPIO31)
  339. #define UART1_GPIO_RX GPIO_PIN_32
  340. #elif defined(UART1_RX_USING_GPIO33)
  341. #define UART1_GPIO_RX GPIO_PIN_33
  342. #elif defined(UART1_RX_USING_GPIO34)
  343. #define UART1_GPIO_RX GPIO_PIN_34
  344. #elif defined(UART1_RX_USING_GPIO35)
  345. #define UART1_GPIO_RX GPIO_PIN_35
  346. #elif defined(UART1_RX_USING_GPIO36)
  347. #define UART1_GPIO_RX GPIO_PIN_36
  348. #elif defined(UART1_RX_USING_GPIO37)
  349. #define UART1_GPIO_RX GPIO_PIN_37
  350. #elif defined(UART1_RX_USING_GPIO38)
  351. #define UART1_GPIO_RX GPIO_PIN_38
  352. #elif defined(UART1_RX_USING_GPIO39)
  353. #define UART1_GPIO_RX GPIO_PIN_39
  354. #elif defined(UART1_RX_USING_GPIO44)
  355. #define UART1_GPIO_RX GPIO_PIN_44
  356. #elif defined(UART1_RX_USING_GPIO45)
  357. #define UART1_GPIO_RX GPIO_PIN_45
  358. #endif
  359. // uart2
  360. #ifdef UART2_TX_USING_GPIO0
  361. #define UART2_GPIO_TX GPIO_PIN_0
  362. #elif defined(UART2_TX_USING_GPIO1)
  363. #define UART2_GPIO_TX GPIO_PIN_1
  364. #elif defined(UART2_TX_USING_GPIO2)
  365. #define UART2_GPIO_TX GPIO_PIN_2
  366. #elif defined(UART2_TX_USING_GPIO3)
  367. #define UART2_GPIO_TX GPIO_PIN_3
  368. #elif defined(UART2_TX_USING_GPIO4)
  369. #define UART2_GPIO_TX GPIO_PIN_4
  370. #elif defined(UART2_TX_USING_GPIO5)
  371. #define UART2_GPIO_TX GPIO_PIN_5
  372. #elif defined(UART2_TX_USING_GPIO6)
  373. #define UART2_GPIO_TX GPIO_PIN_6
  374. #elif defined(UART2_TX_USING_GPIO7)
  375. #define UART2_GPIO_TX GPIO_PIN_7
  376. #elif defined(UART2_TX_USING_GPIO8)
  377. #define UART2_GPIO_TX GPIO_PIN_8
  378. #elif defined(UART2_TX_USING_GPIO9)
  379. #define UART2_GPIO_TX GPIO_PIN_9
  380. #elif defined(UART2_TX_USING_GPIO10)
  381. #define UART2_GPIO_TX GPIO_PIN_10
  382. #elif defined(UART2_TX_USING_GPIO11)
  383. #define UART2_GPIO_TX GPIO_PIN_11
  384. #elif defined(UART2_TX_USING_GPIO12)
  385. #define UART2_GPIO_TX GPIO_PIN_12
  386. #elif defined(UART2_TX_USING_GPIO13)
  387. #define UART2_GPIO_TX GPIO_PIN_13
  388. #elif defined(UART2_TX_USING_GPIO14)
  389. #define UART2_GPIO_TX GPIO_PIN_14
  390. #elif defined(UART2_TX_USING_GPIO15)
  391. #define UART2_GPIO_TX GPIO_PIN_15
  392. #elif defined(UART2_TX_USING_GPIO16)
  393. #define UART2_GPIO_TX GPIO_PIN_16
  394. #elif defined(UART2_TX_USING_GPIO17)
  395. #define UART2_GPIO_TX GPIO_PIN_17
  396. #elif defined(UART2_TX_USING_GPIO18)
  397. #define UART2_GPIO_TX GPIO_PIN_18
  398. #elif defined(UART2_TX_USING_GPIO19)
  399. #define UART2_GPIO_TX GPIO_PIN_19
  400. #elif defined(UART2_TX_USING_GPIO20)
  401. #define UART2_GPIO_TX GPIO_PIN_20
  402. #elif defined(UART2_TX_USING_GPIO21)
  403. #define UART2_GPIO_TX GPIO_PIN_21
  404. #elif defined(UART2_TX_USING_GPIO22)
  405. #define UART2_GPIO_TX GPIO_PIN_22
  406. #elif defined(UART2_TX_USING_GPIO23)
  407. #define UART2_GPIO_TX GPIO_PIN_23
  408. #elif defined(UART2_TX_USING_GPIO24)
  409. #define UART2_GPIO_TX GPIO_PIN_24
  410. #elif defined(UART2_TX_USING_GPIO25)
  411. #define UART2_GPIO_TX GPIO_PIN_25
  412. #elif defined(UART2_TX_USING_GPIO26)
  413. #define UART2_GPIO_TX GPIO_PIN_26
  414. #elif defined(UART2_TX_USING_GPIO27)
  415. #define UART2_GPIO_TX GPIO_PIN_27
  416. #elif defined(UART2_TX_USING_GPIO28)
  417. #define UART2_GPIO_TX GPIO_PIN_28
  418. #elif defined(UART2_TX_USING_GPIO29)
  419. #define UART2_GPIO_TX GPIO_PIN_29
  420. #elif defined(UART2_TX_USING_GPIO30)
  421. #define UART2_GPIO_TX GPIO_PIN_30
  422. #elif defined(UART2_TX_USING_GPIO31)
  423. #define UART2_GPIO_TX GPIO_PIN_31
  424. #elif defined(UART2_TX_USING_GPIO32)
  425. #define UART2_GPIO_TX GPIO_PIN_32
  426. #elif defined(UART2_TX_USING_GPIO33)
  427. #define UART2_GPIO_TX GPIO_PIN_33
  428. #elif defined(UART2_TX_USING_GPIO34)
  429. #define UART2_GPIO_TX GPIO_PIN_34
  430. #elif defined(UART2_TX_USING_GPIO35)
  431. #define UART2_GPIO_TX GPIO_PIN_35
  432. #elif defined(UART2_TX_USING_GPIO36)
  433. #define UART2_GPIO_TX GPIO_PIN_36
  434. #elif defined(UART2_TX_USING_GPIO37)
  435. #define UART2_GPIO_TX GPIO_PIN_37
  436. #elif defined(UART2_TX_USING_GPIO38)
  437. #define UART2_GPIO_TX GPIO_PIN_38
  438. #elif defined(UART2_TX_USING_GPIO39)
  439. #define UART2_GPIO_TX GPIO_PIN_39
  440. #elif defined(UART2_TX_USING_GPIO44)
  441. #define UART2_GPIO_TX GPIO_PIN_44
  442. #elif defined(UART2_TX_USING_GPIO45)
  443. #define UART2_GPIO_TX GPIO_PIN_45
  444. #endif
  445. #ifdef UART2_RX_USING_GPIO0
  446. #define UART2_GPIO_RX GPIO_PIN_0
  447. #elif defined(UART2_RX_USING_GPIO1)
  448. #define UART2_GPIO_RX GPIO_PIN_1
  449. #elif defined(UART2_RX_USING_GPIO2)
  450. #define UART2_GPIO_RX GPIO_PIN_2
  451. #elif defined(UART2_RX_USING_GPIO3)
  452. #define UART2_GPIO_RX GPIO_PIN_3
  453. #elif defined(UART2_RX_USING_GPIO4)
  454. #define UART2_GPIO_RX GPIO_PIN_4
  455. #elif defined(UART2_RX_USING_GPIO5)
  456. #define UART2_GPIO_RX GPIO_PIN_5
  457. #elif defined(UART2_RX_USING_GPIO6)
  458. #define UART2_GPIO_RX GPIO_PIN_6
  459. #elif defined(UART2_RX_USING_GPIO7)
  460. #define UART2_GPIO_RX GPIO_PIN_7
  461. #elif defined(UART2_RX_USING_GPIO8)
  462. #define UART2_GPIO_RX GPIO_PIN_8
  463. #elif defined(UART2_RX_USING_GPIO9)
  464. #define UART2_GPIO_RX GPIO_PIN_9
  465. #elif defined(UART2_RX_USING_GPIO10)
  466. #define UART2_GPIO_RX GPIO_PIN_10
  467. #elif defined(UART2_RX_USING_GPIO11)
  468. #define UART2_GPIO_RX GPIO_PIN_11
  469. #elif defined(UART2_RX_USING_GPIO12)
  470. #define UART2_GPIO_RX GPIO_PIN_12
  471. #elif defined(UART2_RX_USING_GPIO13)
  472. #define UART2_GPIO_RX GPIO_PIN_13
  473. #elif defined(UART2_RX_USING_GPIO14)
  474. #define UART2_GPIO_RX GPIO_PIN_14
  475. #elif defined(UART2_RX_USING_GPIO15)
  476. #define UART2_GPIO_RX GPIO_PIN_15
  477. #elif defined(UART2_RX_USING_GPIO16)
  478. #define UART2_GPIO_RX GPIO_PIN_16
  479. #elif defined(UART2_RX_USING_GPIO17)
  480. #define UART2_GPIO_RX GPIO_PIN_17
  481. #elif defined(UART2_RX_USING_GPIO18)
  482. #define UART2_GPIO_RX GPIO_PIN_18
  483. #elif defined(UART2_RX_USING_GPIO19)
  484. #define UART2_GPIO_RX GPIO_PIN_19
  485. #elif defined(UART2_RX_USING_GPIO20)
  486. #define UART2_GPIO_RX GPIO_PIN_20
  487. #elif defined(UART2_RX_USING_GPIO21)
  488. #define UART2_GPIO_RX GPIO_PIN_21
  489. #elif defined(UART2_RX_USING_GPIO22)
  490. #define UART2_GPIO_RX GPIO_PIN_22
  491. #elif defined(UART2_RX_USING_GPIO23)
  492. #define UART2_GPIO_RX GPIO_PIN_23
  493. #elif defined(UART2_RX_USING_GPIO24)
  494. #define UART2_GPIO_RX GPIO_PIN_24
  495. #elif defined(UART2_RX_USING_GPIO25)
  496. #define UART2_GPIO_RX GPIO_PIN_25
  497. #elif defined(UART2_RX_USING_GPIO26)
  498. #define UART2_GPIO_RX GPIO_PIN_26
  499. #elif defined(UART2_RX_USING_GPIO27)
  500. #define UART2_GPIO_RX GPIO_PIN_27
  501. #elif defined(UART2_RX_USING_GPIO28)
  502. #define UART2_GPIO_RX GPIO_PIN_28
  503. #elif defined(UART2_RX_USING_GPIO29)
  504. #define UART2_GPIO_RX GPIO_PIN_29
  505. #elif defined(UART2_RX_USING_GPIO30)
  506. #define UART2_GPIO_RX GPIO_PIN_30
  507. #elif defined(UART2_RX_USING_GPIO31)
  508. #define UART2_GPIO_RX GPIO_PIN_31
  509. #elif defined(UART2_RX_USING_GPIO31)
  510. #define UART2_GPIO_RX GPIO_PIN_32
  511. #elif defined(UART2_RX_USING_GPIO33)
  512. #define UART2_GPIO_RX GPIO_PIN_33
  513. #elif defined(UART2_RX_USING_GPIO34)
  514. #define UART2_GPIO_RX GPIO_PIN_34
  515. #elif defined(UART2_RX_USING_GPIO35)
  516. #define UART2_GPIO_RX GPIO_PIN_35
  517. #elif defined(UART2_RX_USING_GPIO36)
  518. #define UART2_GPIO_RX GPIO_PIN_36
  519. #elif defined(UART2_RX_USING_GPIO37)
  520. #define UART2_GPIO_RX GPIO_PIN_37
  521. #elif defined(UART2_RX_USING_GPIO38)
  522. #define UART2_GPIO_RX GPIO_PIN_38
  523. #elif defined(UART2_RX_USING_GPIO39)
  524. #define UART2_GPIO_RX GPIO_PIN_39
  525. #elif defined(UART2_RX_USING_GPIO44)
  526. #define UART2_GPIO_RX GPIO_PIN_44
  527. #elif defined(UART2_RX_USING_GPIO45)
  528. #define UART2_GPIO_RX GPIO_PIN_45
  529. #endif
  530. // uart3
  531. #ifdef UART3_TX_USING_GPIO0
  532. #define UART3_GPIO_TX GPIO_PIN_0
  533. #elif defined(UART3_TX_USING_GPIO4)
  534. #define UART3_GPIO_TX GPIO_PIN_4
  535. #elif defined(UART3_TX_USING_GPIO8)
  536. #define UART3_GPIO_TX GPIO_PIN_8
  537. #elif defined(UART3_TX_USING_GPIO12)
  538. #define UART3_GPIO_TX GPIO_PIN_12
  539. #elif defined(UART3_TX_USING_GPIO16)
  540. #define UART3_GPIO_TX GPIO_PIN_16
  541. #elif defined(UART3_TX_USING_GPIO18)
  542. #define UART3_GPIO_TX GPIO_PIN_18
  543. #elif defined(UART3_TX_USING_GPIO20)
  544. #define UART3_GPIO_TX GPIO_PIN_20
  545. #elif defined(UART3_TX_USING_GPIO24)
  546. #define UART3_GPIO_TX GPIO_PIN_24
  547. #elif defined(UART3_TX_USING_GPIO28)
  548. #define UART3_GPIO_TX GPIO_PIN_28
  549. #elif defined(UART3_TX_USING_GPIO32)
  550. #define UART3_GPIO_TX GPIO_PIN_32
  551. #elif defined(UART3_TX_USING_GPIO36)
  552. #define UART3_GPIO_TX GPIO_PIN_36
  553. #elif defined(UART3_TX_USING_GPIO40)
  554. #define UART3_GPIO_TX GPIO_PIN_40
  555. #elif defined(UART3_TX_USING_GPIO44)
  556. #define UART3_GPIO_TX GPIO_PIN_44
  557. #endif
  558. #ifdef UART3_RX_USING_GPIO1
  559. #define UART3_GPIO_RX GPIO_PIN_1
  560. #elif defined(UART3_RX_USING_GPIO5)
  561. #define UART3_GPIO_RX GPIO_PIN_5
  562. #elif defined(UART3_RX_USING_GPIO9)
  563. #define UART3_GPIO_RX GPIO_PIN_9
  564. #elif defined(UART3_RX_USING_GPIO13)
  565. #define UART3_GPIO_RX GPIO_PIN_13
  566. #elif defined(UART3_RX_USING_GPIO17)
  567. #define UART3_GPIO_RX GPIO_PIN_17
  568. #elif defined(UART3_RX_USING_GPIO21)
  569. #define UART3_GPIO_RX GPIO_PIN_21
  570. #elif defined(UART3_RX_USING_GPIO25)
  571. #define UART3_GPIO_RX GPIO_PIN_25
  572. #elif defined(UART3_RX_USING_GPIO29)
  573. #define UART3_GPIO_RX GPIO_PIN_29
  574. #elif defined(UART3_RX_USING_GPIO33)
  575. #define UART3_GPIO_RX GPIO_PIN_33
  576. #elif defined(UART3_RX_USING_GPIO37)
  577. #define UART3_GPIO_RX GPIO_PIN_37
  578. #elif defined(UART3_RX_USING_GPIO41)
  579. #define UART3_GPIO_RX GPIO_PIN_41
  580. #elif defined(UART3_RX_USING_GPIO45)
  581. #define UART3_GPIO_RX GPIO_PIN_45
  582. #endif
  583. int rt_hw_uart_init(void);
  584. #endif /* __DRV_USART_H__ */