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