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