Kconfig 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see the file kconfig-language.txt in the NuttX tools repository.
  4. #
  5. config ARCH_HAVE_I2CRESET
  6. bool
  7. default n
  8. menuconfig I2C
  9. bool "I2C Driver Support"
  10. default n
  11. ---help---
  12. This selection enables building of the "upper-half" I2C driver.
  13. See include/nuttx/i2c/i2c_master.h for further I2C driver information.
  14. if I2C
  15. config I2C_SLAVE
  16. bool "I2C Slave"
  17. default n
  18. config I2C_POLLED
  19. bool "Polled I2C (no interrupts)"
  20. default n
  21. config I2C_RESET
  22. bool "Support I2C reset interface method"
  23. default n
  24. depends on ARCH_HAVE_I2CRESET
  25. config I2C_TRACE
  26. bool "Enable I2C trace debug"
  27. default n
  28. config I2C_NTRACE
  29. int "Number of I2C trace records"
  30. default 32
  31. depends on I2C_TRACE
  32. config I2C_BITBANG
  33. bool "I2C bitbang implementation"
  34. default n
  35. ---help---
  36. Enable support for a bitbang implementation of I2C
  37. if I2C_BITBANG
  38. config I2C_BITBANG_NO_DELAY
  39. bool "Do not add delay"
  40. default n
  41. ---help---
  42. If you want to go full speed (depending on how fast pins can be toggled)
  43. you can enable this option. This will not respect the desired frequency
  44. set during the I2C transfer operation.
  45. config I2C_BITBANG_GPIO_OVERHEAD
  46. int "GPIO overhead"
  47. depends on !I2C_BITBANG_NO_DELAY
  48. default 0
  49. ---help---
  50. Overhead of GPIO toggling operation to consider when computing
  51. delays. This overhead will be subtracted from sleep times to achieve
  52. desired frquency.
  53. config I2C_BITBANG_TIMEOUT
  54. int "I2C timeout"
  55. default 1000
  56. ---help---
  57. Timeout (microseconds) to abort wait on slave
  58. config I2C_BITBANG_CLOCK_STRETCHING
  59. bool "Support clock stretching"
  60. default n
  61. ---help---
  62. This enables I2C clock stretching. This requires the hardware to set
  63. the pin into open-collector mode (master sets SCL high and waits until
  64. slave stops holding it low).
  65. endif # I2C_BITBANG
  66. config I2C_DRIVER
  67. bool "I2C character driver"
  68. default n
  69. ---help---
  70. Build in support for a character driver at /dev/i2c[N] that may be
  71. used to perform I2C bus transfers from applications. The intent of
  72. this driver is to support I2C testing. It is not suitable for use
  73. in any real driver application.
  74. menu "I2C Multiplexer Support"
  75. config I2CMULTIPLEXER_PCA9540BDP
  76. bool "PCA9540BDP NXP multiplexer"
  77. default n
  78. depends on I2C
  79. ---help---
  80. Enable support for the NXP PCA9540BDP i2c multiplexer
  81. # put more i2c mux devices here
  82. endmenu # I2C Multiplexer Support
  83. endif