i2c_config.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * Copyright (c) 2006-2024, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2024-01-20 wirano first version
  9. */
  10. #ifndef __I2C_CONFIG_H__
  11. #define __I2C_CONFIG_H__
  12. #include <rtthread.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #if defined(BSP_I2C0_CLK_100)
  17. #define I2C0_CLK 100000
  18. #elif defined(BSP_I2C0_CLK_400)
  19. #define I2C0_CLK 400000
  20. #endif
  21. #if defined(BSP_I2C1_CLK_100)
  22. #define I2C1_CLK 100000
  23. #elif defined(BSP_I2C1_CLK_400)
  24. #define I2C1_CLK 400000
  25. #endif
  26. #if defined(BSP_I2C2_CLK_100)
  27. #define I2C2_CLK 100000
  28. #elif defined(BSP_I2C2_CLK_400)
  29. #define I2C2_CLK 400000
  30. #endif
  31. #if defined(BSP_I2C3_CLK_100)
  32. #define I2C3_CLK 100000
  33. #elif defined(BSP_I2C3_CLK_400)
  34. #define I2C3_CLK 400000
  35. #endif
  36. #ifdef BSP_USING_I2C0
  37. #ifndef I2C0_BUS_CONFIG
  38. #define I2C0_BUS_CONFIG \
  39. { \
  40. .base = I2C0_BASE, \
  41. .bus_name = "i2c0", \
  42. .clk_freq = I2C0_CLK, \
  43. }
  44. #endif /* I2C0_BUS_CONFIG */
  45. #endif /* BSP_USING_I2C0 */
  46. #ifdef BSP_USING_I2C1
  47. #ifndef I2C1_BUS_CONFIG
  48. #define I2C1_BUS_CONFIG \
  49. { \
  50. .base = I2C1_BASE, \
  51. .bus_name = "i2c1", \
  52. .clk_freq = I2C1_CLK, \
  53. }
  54. #endif /* I2C1_BUS_CONFIG */
  55. #endif /* BSP_USING_I2C1 */
  56. #ifdef BSP_USING_I2C2
  57. #ifndef I2C2_BUS_CONFIG
  58. #define I2C2_BUS_CONFIG \
  59. { \
  60. .base = I2C2_BASE, \
  61. .bus_name = "i2c2", \
  62. .clk_freq = I2C2_CLK, \
  63. }
  64. #endif /* I2C2_BUS_CONFIG */
  65. #endif /* BSP_USING_I2C2 */
  66. #ifdef BSP_USING_I2C3
  67. #ifndef I2C3_BUS_CONFIG
  68. #define I2C3_BUS_CONFIG \
  69. { \
  70. .base = I2C3_BASE, \
  71. .bus_name = "i2c3", \
  72. .clk_freq = I2C3_CLK, \
  73. }
  74. #endif /* I2C3_BUS_CONFIG */
  75. #endif /* BSP_USING_I2C3 */
  76. #ifdef __cplusplus
  77. }
  78. #endif
  79. #endif //__I2C_CONFIG_H__