drv_i2c.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  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. * 2023/05/10 flyingcys first version
  9. */
  10. #ifndef __DRV_I2C_H__
  11. #define __DRV_I2C_H__
  12. #include <rtthread.h>
  13. #include "rtdevice.h"
  14. #include <rthw.h>
  15. #include "bflb_gpio.h"
  16. #include "bflb_i2c.h"
  17. // I2C0
  18. #ifdef I2C0_SCL_USING_GPIO0
  19. #define I2C0_GPIO_SCL GPIO_PIN_0
  20. #elif defined(I2C0_SCL_USING_GPIO2)
  21. #define I2C0_GPIO_SCL GPIO_PIN_2
  22. #elif defined(I2C0_SCL_USING_GPIO4)
  23. #define I2C0_GPIO_SCL GPIO_PIN_4
  24. #elif defined(I2C0_SCL_USING_GPIO6)
  25. #define I2C0_GPIO_SCL GPIO_PIN_6
  26. #elif defined(I2C0_SCL_USING_GPIO8)
  27. #define I2C0_GPIO_SCL GPIO_PIN_8
  28. #elif defined(I2C0_SCL_USING_GPIO10)
  29. #define I2C0_GPIO_SCL GPIO_PIN_4
  30. #elif defined(I2C0_SCL_USING_GPIO12)
  31. #define I2C0_GPIO_SCL GPIO_PIN_12
  32. #elif defined(I2C0_SCL_USING_GPIO14)
  33. #define I2C0_GPIO_SCL GPIO_PIN_14
  34. #elif defined(I2C0_SCL_USING_GPIO16)
  35. #define I2C0_GPIO_SCL GPIO_PIN_16
  36. #elif defined(I2C0_SCL_USING_GPIO18)
  37. #define I2C0_GPIO_SCL GPIO_PIN_18
  38. #elif defined(I2C0_SCL_USING_GPIO20)
  39. #define I2C0_GPIO_SCL GPIO_PIN_20
  40. #elif defined(I2C0_SCL_USING_GPIO22)
  41. #define I2C0_GPIO_SCL GPIO_PIN_22
  42. #elif defined(I2C0_SCL_USING_GPIO24)
  43. #define I2C0_GPIO_SCL GPIO_PIN_24
  44. #elif defined(I2C0_SCL_USING_GPIO26)
  45. #define I2C0_GPIO_SCL GPIO_PIN_26
  46. #elif defined(I2C0_SCL_USING_GPIO28)
  47. #define I2C0_GPIO_SCL GPIO_PIN_28
  48. #elif defined(I2C0_SCL_USING_GPIO30)
  49. #define I2C0_GPIO_SCL GPIO_PIN_30
  50. #elif defined(I2C0_SCL_USING_GPIO32)
  51. #define I2C0_GPIO_SCL GPIO_PIN_32
  52. #elif defined(I2C0_SCL_USING_GPIO34)
  53. #define I2C0_GPIO_SCL GPIO_PIN_34
  54. #elif defined(I2C0_SCL_USING_GPIO36)
  55. #define I2C0_GPIO_SCL GPIO_PIN_36
  56. #elif defined(I2C0_SCL_USING_GPIO38)
  57. #define I2C0_GPIO_SCL GPIO_PIN_38
  58. #elif defined(I2C0_SCL_USING_GPIO40)
  59. #define I2C0_GPIO_SCL GPIO_PIN_40
  60. #elif defined(I2C0_SCL_USING_GPIO42)
  61. #define I2C0_GPIO_SCL GPIO_PIN_42
  62. #elif defined(I2C0_SCL_USING_GPIO44)
  63. #define I2C0_GPIO_SCL GPIO_PIN_44
  64. #endif
  65. #ifdef I2C0_SDA_USING_GPIO1
  66. #define I2C0_GPIO_SDA GPIO_PIN_1
  67. #elif defined(I2C0_SDA_USING_GPIO3)
  68. #define I2C0_GPIO_SDA GPIO_PIN_3
  69. #elif defined(I2C0_SDA_USING_GPIO5)
  70. #define I2C0_GPIO_SDA GPIO_PIN_5
  71. #elif defined(I2C0_SDA_USING_GPIO7)
  72. #define I2C0_GPIO_SDA GPIO_PIN_7
  73. #elif defined(I2C0_SDA_USING_GPIO9)
  74. #define I2C0_GPIO_SDA GPIO_PIN_9
  75. #elif defined(I2C0_SDA_USING_GPIO11)
  76. #define I2C0_GPIO_SDA GPIO_PIN_11
  77. #elif defined(I2C0_SDA_USING_GPIO13)
  78. #define I2C0_GPIO_SDA GPIO_PIN_13
  79. #elif defined(I2C0_SDA_USING_GPIO15)
  80. #define I2C0_GPIO_SDA GPIO_PIN_15
  81. #elif defined(I2C0_SDA_USING_GPIO17)
  82. #define I2C0_GPIO_SDA GPIO_PIN_17
  83. #elif defined(I2C0_SDA_USING_GPIO19)
  84. #define I2C0_GPIO_SDA GPIO_PIN_19
  85. #elif defined(I2C0_SDA_USING_GPIO21)
  86. #define I2C0_GPIO_SDA GPIO_PIN_21
  87. #elif defined(I2C0_SDA_USING_GPIO23)
  88. #define I2C0_GPIO_SDA GPIO_PIN_23
  89. #elif defined(I2C0_SDA_USING_GPIO25)
  90. #define I2C0_GPIO_SDA GPIO_PIN_25
  91. #elif defined(I2C0_SDA_USING_GPIO27)
  92. #define I2C0_GPIO_SDA GPIO_PIN_27
  93. #elif defined(I2C0_SDA_USING_GPIO29)
  94. #define I2C0_GPIO_SDA GPIO_PIN_29
  95. #elif defined(I2C0_SDA_USING_GPIO31)
  96. #define I2C0_GPIO_SDA GPIO_PIN_31
  97. #elif defined(I2C0_SDA_USING_GPIO33)
  98. #define I2C0_GPIO_SDA GPIO_PIN_33
  99. #elif defined(I2C0_SDA_USING_GPIO35)
  100. #define I2C0_GPIO_SDA GPIO_PIN_35
  101. #elif defined(I2C0_SDA_USING_GPIO37)
  102. #define I2C0_GPIO_SDA GPIO_PIN_37
  103. #elif defined(I2C0_SDA_USING_GPIO39)
  104. #define I2C0_GPIO_SDA GPIO_PIN_39
  105. #elif defined(I2C0_SDA_USING_GPIO41)
  106. #define I2C0_GPIO_SDA GPIO_PIN_41
  107. #elif defined(I2C0_SDA_USING_GPIO43)
  108. #define I2C0_GPIO_SDA GPIO_PIN_43
  109. #elif defined(I2C0_SDA_USING_GPIO45)
  110. #define I2C0_GPIO_SDA GPIO_PIN_45
  111. #endif
  112. // I2C1
  113. #ifdef I2C1_SCL_USING_GPIO0
  114. #define I2C1_GPIO_SCL GPIO_PIN_0
  115. #elif defined(I2C1_SCL_USING_GPIO2)
  116. #define I2C1_GPIO_SCL GPIO_PIN_2
  117. #elif defined(I2C1_SCL_USING_GPIO4)
  118. #define I2C1_GPIO_SCL GPIO_PIN_4
  119. #elif defined(I2C1_SCL_USING_GPIO6)
  120. #define I2C1_GPIO_SCL GPIO_PIN_6
  121. #elif defined(I2C1_SCL_USING_GPIO8)
  122. #define I2C1_GPIO_SCL GPIO_PIN_8
  123. #elif defined(I2C1_SCL_USING_GPIO10)
  124. #define I2C1_GPIO_SCL GPIO_PIN_4
  125. #elif defined(I2C1_SCL_USING_GPIO12)
  126. #define I2C1_GPIO_SCL GPIO_PIN_12
  127. #elif defined(I2C1_SCL_USING_GPIO14)
  128. #define I2C1_GPIO_SCL GPIO_PIN_14
  129. #elif defined(I2C1_SCL_USING_GPIO16)
  130. #define I2C1_GPIO_SCL GPIO_PIN_16
  131. #elif defined(I2C1_SCL_USING_GPIO18)
  132. #define I2C1_GPIO_SCL GPIO_PIN_18
  133. #elif defined(I2C1_SCL_USING_GPIO20)
  134. #define I2C1_GPIO_SCL GPIO_PIN_20
  135. #elif defined(I2C1_SCL_USING_GPIO22)
  136. #define I2C1_GPIO_SCL GPIO_PIN_22
  137. #elif defined(I2C1_SCL_USING_GPIO24)
  138. #define I2C1_GPIO_SCL GPIO_PIN_24
  139. #elif defined(I2C1_SCL_USING_GPIO26)
  140. #define I2C1_GPIO_SCL GPIO_PIN_26
  141. #elif defined(I2C1_SCL_USING_GPIO28)
  142. #define I2C1_GPIO_SCL GPIO_PIN_28
  143. #elif defined(I2C1_SCL_USING_GPIO30)
  144. #define I2C1_GPIO_SCL GPIO_PIN_30
  145. #elif defined(I2C1_SCL_USING_GPIO32)
  146. #define I2C1_GPIO_SCL GPIO_PIN_32
  147. #elif defined(I2C1_SCL_USING_GPIO34)
  148. #define I2C1_GPIO_SCL GPIO_PIN_34
  149. #elif defined(I2C1_SCL_USING_GPIO36)
  150. #define I2C1_GPIO_SCL GPIO_PIN_36
  151. #elif defined(I2C1_SCL_USING_GPIO38)
  152. #define I2C1_GPIO_SCL GPIO_PIN_38
  153. #elif defined(I2C1_SCL_USING_GPIO40)
  154. #define I2C1_GPIO_SCL GPIO_PIN_40
  155. #elif defined(I2C1_SCL_USING_GPIO42)
  156. #define I2C1_GPIO_SCL GPIO_PIN_42
  157. #elif defined(I2C1_SCL_USING_GPIO44)
  158. #define I2C1_GPIO_SCL GPIO_PIN_44
  159. #endif
  160. #ifdef I2C1_SDA_USING_GPIO26
  161. #define I2C1_GPIO_SDA GPIO_PIN_1
  162. #elif defined(I2C1_SDA_USING_GPIO3)
  163. #define I2C1_GPIO_SDA GPIO_PIN_3
  164. #elif defined(I2C1_SDA_USING_GPIO5)
  165. #define I2C1_GPIO_SDA GPIO_PIN_5
  166. #elif defined(I2C1_SDA_USING_GPIO7)
  167. #define I2C1_GPIO_SDA GPIO_PIN_7
  168. #elif defined(I2C1_SDA_USING_GPIO9)
  169. #define I2C1_GPIO_SDA GPIO_PIN_9
  170. #elif defined(I2C1_SDA_USING_GPIO11)
  171. #define I2C1_GPIO_SDA GPIO_PIN_11
  172. #elif defined(I2C1_SDA_USING_GPIO13)
  173. #define I2C1_GPIO_SDA GPIO_PIN_13
  174. #elif defined(I2C1_SDA_USING_GPIO15)
  175. #define I2C1_GPIO_SDA GPIO_PIN_15
  176. #elif defined(I2C1_SDA_USING_GPIO17)
  177. #define I2C1_GPIO_SDA GPIO_PIN_17
  178. #elif defined(I2C1_SDA_USING_GPIO19)
  179. #define I2C1_GPIO_SDA GPIO_PIN_19
  180. #elif defined(I2C1_SDA_USING_GPIO21)
  181. #define I2C1_GPIO_SDA GPIO_PIN_21
  182. #elif defined(I2C1_SDA_USING_GPIO23)
  183. #define I2C1_GPIO_SDA GPIO_PIN_23
  184. #elif defined(I2C1_SDA_USING_GPIO25)
  185. #define I2C1_GPIO_SDA GPIO_PIN_25
  186. #elif defined(I2C1_SDA_USING_GPIO27)
  187. #define I2C1_GPIO_SDA GPIO_PIN_27
  188. #elif defined(I2C1_SDA_USING_GPIO29)
  189. #define I2C1_GPIO_SDA GPIO_PIN_29
  190. #elif defined(I2C1_SDA_USING_GPIO31)
  191. #define I2C1_GPIO_SDA GPIO_PIN_31
  192. #elif defined(I2C1_SDA_USING_GPIO33)
  193. #define I2C1_GPIO_SDA GPIO_PIN_33
  194. #elif defined(I2C1_SDA_USING_GPIO35)
  195. #define I2C1_GPIO_SDA GPIO_PIN_35
  196. #elif defined(I2C1_SDA_USING_GPIO37)
  197. #define I2C1_GPIO_SDA GPIO_PIN_37
  198. #elif defined(I2C1_SDA_USING_GPIO39)
  199. #define I2C1_GPIO_SDA GPIO_PIN_39
  200. #elif defined(I2C1_SDA_USING_GPIO41)
  201. #define I2C1_GPIO_SDA GPIO_PIN_41
  202. #elif defined(I2C1_SDA_USING_GPIO43)
  203. #define I2C1_GPIO_SDA GPIO_PIN_43
  204. #elif defined(I2C1_SDA_USING_GPIO45)
  205. #define I2C1_GPIO_SDA GPIO_PIN_45
  206. #endif
  207. // I2C2
  208. #ifdef I2C2_SCL_USING_GPIO0
  209. #define I2C2_GPIO_SCL GPIO_PIN_0
  210. #elif defined(I2C2_SCL_USING_GPIO2)
  211. #define I2C2_GPIO_SCL GPIO_PIN_2
  212. #elif defined(I2C2_SCL_USING_GPIO4)
  213. #define I2C2_GPIO_SCL GPIO_PIN_4
  214. #elif defined(I2C2_SCL_USING_GPIO6)
  215. #define I2C2_GPIO_SCL GPIO_PIN_6
  216. #elif defined(I2C2_SCL_USING_GPIO8)
  217. #define I2C2_GPIO_SCL GPIO_PIN_8
  218. #elif defined(I2C2_SCL_USING_GPIO10)
  219. #define I2C2_GPIO_SCL GPIO_PIN_4
  220. #elif defined(I2C2_SCL_USING_GPIO12)
  221. #define I2C2_GPIO_SCL GPIO_PIN_12
  222. #elif defined(I2C2_SCL_USING_GPIO14)
  223. #define I2C2_GPIO_SCL GPIO_PIN_14
  224. #elif defined(I2C2_SCL_USING_GPIO16)
  225. #define I2C2_GPIO_SCL GPIO_PIN_16
  226. #elif defined(I2C2_SCL_USING_GPIO18)
  227. #define I2C2_GPIO_SCL GPIO_PIN_18
  228. #elif defined(I2C2_SCL_USING_GPIO20)
  229. #define I2C2_GPIO_SCL GPIO_PIN_20
  230. #elif defined(I2C2_SCL_USING_GPIO22)
  231. #define I2C2_GPIO_SCL GPIO_PIN_22
  232. #elif defined(I2C2_SCL_USING_GPIO24)
  233. #define I2C2_GPIO_SCL GPIO_PIN_24
  234. #elif defined(I2C2_SCL_USING_GPIO26)
  235. #define I2C2_GPIO_SCL GPIO_PIN_26
  236. #elif defined(I2C2_SCL_USING_GPIO28)
  237. #define I2C2_GPIO_SCL GPIO_PIN_28
  238. #elif defined(I2C2_SCL_USING_GPIO30)
  239. #define I2C2_GPIO_SCL GPIO_PIN_30
  240. #elif defined(I2C2_SCL_USING_GPIO32)
  241. #define I2C2_GPIO_SCL GPIO_PIN_32
  242. #elif defined(I2C2_SCL_USING_GPIO34)
  243. #define I2C2_GPIO_SCL GPIO_PIN_34
  244. #elif defined(I2C2_SCL_USING_GPIO36)
  245. #define I2C2_GPIO_SCL GPIO_PIN_36
  246. #elif defined(I2C2_SCL_USING_GPIO38)
  247. #define I2C2_GPIO_SCL GPIO_PIN_38
  248. #elif defined(I2C2_SCL_USING_GPIO40)
  249. #define I2C2_GPIO_SCL GPIO_PIN_40
  250. #elif defined(I2C2_SCL_USING_GPIO42)
  251. #define I2C2_GPIO_SCL GPIO_PIN_42
  252. #elif defined(I2C2_SCL_USING_GPIO44)
  253. #define I2C2_GPIO_SCL GPIO_PIN_44
  254. #endif
  255. #ifdef I2C2_SDA_USING_GPIO26
  256. #define I2C2_GPIO_SDA GPIO_PIN_1
  257. #elif defined(I2C2_SDA_USING_GPIO3)
  258. #define I2C2_GPIO_SDA GPIO_PIN_3
  259. #elif defined(I2C2_SDA_USING_GPIO5)
  260. #define I2C2_GPIO_SDA GPIO_PIN_5
  261. #elif defined(I2C2_SDA_USING_GPIO7)
  262. #define I2C2_GPIO_SDA GPIO_PIN_7
  263. #elif defined(I2C2_SDA_USING_GPIO9)
  264. #define I2C2_GPIO_SDA GPIO_PIN_9
  265. #elif defined(I2C2_SDA_USING_GPIO11)
  266. #define I2C2_GPIO_SDA GPIO_PIN_11
  267. #elif defined(I2C2_SDA_USING_GPIO13)
  268. #define I2C2_GPIO_SDA GPIO_PIN_13
  269. #elif defined(I2C2_SDA_USING_GPIO15)
  270. #define I2C2_GPIO_SDA GPIO_PIN_15
  271. #elif defined(I2C2_SDA_USING_GPIO17)
  272. #define I2C2_GPIO_SDA GPIO_PIN_17
  273. #elif defined(I2C2_SDA_USING_GPIO19)
  274. #define I2C2_GPIO_SDA GPIO_PIN_19
  275. #elif defined(I2C2_SDA_USING_GPIO21)
  276. #define I2C2_GPIO_SDA GPIO_PIN_21
  277. #elif defined(I2C2_SDA_USING_GPIO23)
  278. #define I2C2_GPIO_SDA GPIO_PIN_23
  279. #elif defined(I2C2_SDA_USING_GPIO25)
  280. #define I2C2_GPIO_SDA GPIO_PIN_25
  281. #elif defined(I2C2_SDA_USING_GPIO27)
  282. #define I2C2_GPIO_SDA GPIO_PIN_27
  283. #elif defined(I2C2_SDA_USING_GPIO29)
  284. #define I2C2_GPIO_SDA GPIO_PIN_29
  285. #elif defined(I2C2_SDA_USING_GPIO31)
  286. #define I2C2_GPIO_SDA GPIO_PIN_31
  287. #elif defined(I2C2_SDA_USING_GPIO33)
  288. #define I2C2_GPIO_SDA GPIO_PIN_33
  289. #elif defined(I2C2_SDA_USING_GPIO35)
  290. #define I2C2_GPIO_SDA GPIO_PIN_35
  291. #elif defined(I2C2_SDA_USING_GPIO37)
  292. #define I2C2_GPIO_SDA GPIO_PIN_37
  293. #elif defined(I2C2_SDA_USING_GPIO39)
  294. #define I2C2_GPIO_SDA GPIO_PIN_39
  295. #elif defined(I2C2_SDA_USING_GPIO41)
  296. #define I2C2_GPIO_SDA GPIO_PIN_41
  297. #elif defined(I2C2_SDA_USING_GPIO43)
  298. #define I2C2_GPIO_SDA GPIO_PIN_43
  299. #elif defined(I2C2_SDA_USING_GPIO45)
  300. #define I2C2_GPIO_SDA GPIO_PIN_45
  301. #endif
  302. // I2C3
  303. #ifdef I2C3_SCL_USING_GPIO0
  304. #define I2C3_GPIO_SCL GPIO_PIN_0
  305. #elif defined(I2C3_SCL_USING_GPIO2)
  306. #define I2C3_GPIO_SCL GPIO_PIN_2
  307. #elif defined(I2C3_SCL_USING_GPIO4)
  308. #define I2C3_GPIO_SCL GPIO_PIN_4
  309. #elif defined(I2C3_SCL_USING_GPIO6)
  310. #define I2C3_GPIO_SCL GPIO_PIN_6
  311. #elif defined(I2C3_SCL_USING_GPIO8)
  312. #define I2C3_GPIO_SCL GPIO_PIN_8
  313. #elif defined(I2C3_SCL_USING_GPIO10)
  314. #define I2C3_GPIO_SCL GPIO_PIN_4
  315. #elif defined(I2C3_SCL_USING_GPIO12)
  316. #define I2C3_GPIO_SCL GPIO_PIN_12
  317. #elif defined(I2C3_SCL_USING_GPIO14)
  318. #define I2C3_GPIO_SCL GPIO_PIN_14
  319. #elif defined(I2C3_SCL_USING_GPIO16)
  320. #define I2C3_GPIO_SCL GPIO_PIN_16
  321. #elif defined(I2C3_SCL_USING_GPIO18)
  322. #define I2C3_GPIO_SCL GPIO_PIN_18
  323. #elif defined(I2C3_SCL_USING_GPIO20)
  324. #define I2C3_GPIO_SCL GPIO_PIN_20
  325. #elif defined(I2C3_SCL_USING_GPIO22)
  326. #define I2C3_GPIO_SCL GPIO_PIN_22
  327. #elif defined(I2C3_SCL_USING_GPIO24)
  328. #define I2C3_GPIO_SCL GPIO_PIN_24
  329. #elif defined(I2C3_SCL_USING_GPIO26)
  330. #define I2C3_GPIO_SCL GPIO_PIN_26
  331. #elif defined(I2C3_SCL_USING_GPIO28)
  332. #define I2C3_GPIO_SCL GPIO_PIN_28
  333. #elif defined(I2C3_SCL_USING_GPIO30)
  334. #define I2C3_GPIO_SCL GPIO_PIN_30
  335. #elif defined(I2C3_SCL_USING_GPIO32)
  336. #define I2C3_GPIO_SCL GPIO_PIN_32
  337. #elif defined(I2C3_SCL_USING_GPIO34)
  338. #define I2C3_GPIO_SCL GPIO_PIN_34
  339. #elif defined(I2C3_SCL_USING_GPIO36)
  340. #define I2C3_GPIO_SCL GPIO_PIN_36
  341. #elif defined(I2C3_SCL_USING_GPIO38)
  342. #define I2C3_GPIO_SCL GPIO_PIN_38
  343. #elif defined(I2C3_SCL_USING_GPIO40)
  344. #define I2C3_GPIO_SCL GPIO_PIN_40
  345. #elif defined(I2C3_SCL_USING_GPIO42)
  346. #define I2C3_GPIO_SCL GPIO_PIN_42
  347. #elif defined(I2C3_SCL_USING_GPIO44)
  348. #define I2C3_GPIO_SCL GPIO_PIN_44
  349. #endif
  350. #ifdef I2C3_SDA_USING_GPIO1
  351. #define I2C3_GPIO_SDA GPIO_PIN_1
  352. #elif defined(I2C3_SDA_USING_GPIO3)
  353. #define I2C3_GPIO_SDA GPIO_PIN_3
  354. #elif defined(I2C3_SDA_USING_GPIO5)
  355. #define I2C3_GPIO_SDA GPIO_PIN_5
  356. #elif defined(I2C3_SDA_USING_GPIO7)
  357. #define I2C3_GPIO_SDA GPIO_PIN_7
  358. #elif defined(I2C3_SDA_USING_GPIO9)
  359. #define I2C3_GPIO_SDA GPIO_PIN_9
  360. #elif defined(I2C3_SDA_USING_GPIO11)
  361. #define I2C3_GPIO_SDA GPIO_PIN_11
  362. #elif defined(I2C3_SDA_USING_GPIO13)
  363. #define I2C3_GPIO_SDA GPIO_PIN_13
  364. #elif defined(I2C3_SDA_USING_GPIO15)
  365. #define I2C3_GPIO_SDA GPIO_PIN_15
  366. #elif defined(I2C3_SDA_USING_GPIO17)
  367. #define I2C3_GPIO_SDA GPIO_PIN_17
  368. #elif defined(I2C3_SDA_USING_GPIO19)
  369. #define I2C3_GPIO_SDA GPIO_PIN_19
  370. #elif defined(I2C3_SDA_USING_GPIO21)
  371. #define I2C3_GPIO_SDA GPIO_PIN_21
  372. #elif defined(I2C3_SDA_USING_GPIO23)
  373. #define I2C3_GPIO_SDA GPIO_PIN_23
  374. #elif defined(I2C3_SDA_USING_GPIO25)
  375. #define I2C3_GPIO_SDA GPIO_PIN_25
  376. #elif defined(I2C3_SDA_USING_GPIO27)
  377. #define I2C3_GPIO_SDA GPIO_PIN_27
  378. #elif defined(I2C3_SDA_USING_GPIO29)
  379. #define I2C3_GPIO_SDA GPIO_PIN_29
  380. #elif defined(I2C3_SDA_USING_GPIO31)
  381. #define I2C3_GPIO_SDA GPIO_PIN_31
  382. #elif defined(I2C3_SDA_USING_GPIO33)
  383. #define I2C3_GPIO_SDA GPIO_PIN_33
  384. #elif defined(I2C3_SDA_USING_GPIO35)
  385. #define I2C3_GPIO_SDA GPIO_PIN_35
  386. #elif defined(I2C3_SDA_USING_GPIO37)
  387. #define I2C3_GPIO_SDA GPIO_PIN_37
  388. #elif defined(I2C3_SDA_USING_GPIO39)
  389. #define I2C3_GPIO_SDA GPIO_PIN_39
  390. #elif defined(I2C3_SDA_USING_GPIO41)
  391. #define I2C3_GPIO_SDA GPIO_PIN_41
  392. #elif defined(I2C3_SDA_USING_GPIO43)
  393. #define I2C3_GPIO_SDA GPIO_PIN_43
  394. #elif defined(I2C3_SDA_USING_GPIO45)
  395. #define I2C3_GPIO_SDA GPIO_PIN_45
  396. #endif
  397. int rt_hw_i2c_init(void);
  398. #endif /* __DRV_I2C_H__ */