drv_soft_i2c.h 914 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2022-07-20 Rbb666 first version
  9. */
  10. #ifndef __DRV_I2C__
  11. #define __DRV_I2C__
  12. #include <rtthread.h>
  13. #include <rthw.h>
  14. #include <rtdevice.h>
  15. /* ifx config class */
  16. struct ifx_soft_i2c_config
  17. {
  18. rt_uint8_t scl;
  19. rt_uint8_t sda;
  20. const char *bus_name;
  21. };
  22. /* ifx i2c dirver class */
  23. struct ifx_i2c
  24. {
  25. struct rt_i2c_bit_ops ops;
  26. struct rt_i2c_bus_device i2c2_bus;
  27. };
  28. #ifdef BSP_USING_I2C1
  29. #define I2C1_BUS_CONFIG \
  30. { \
  31. .scl = BSP_I2C1_SCL_PIN, \
  32. .sda = BSP_I2C1_SDA_PIN, \
  33. .bus_name = "i2c1", \
  34. }
  35. #endif
  36. int rt_hw_i2c_init(void);
  37. #endif