2016-01-26 16:58:18 +01:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
2020-02-06 05:21:22 +01:00
|
|
|
config ARCH_HAVE_I2CRESET
|
|
|
|
bool
|
|
|
|
default n
|
2016-01-26 16:58:18 +01:00
|
|
|
|
2022-01-30 00:40:14 +01:00
|
|
|
config BOARD_HAVE_I2CMUX
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-02-15 14:38:35 +01:00
|
|
|
menuconfig I2C
|
|
|
|
bool "I2C Driver Support"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
This selection enables building of the "upper-half" I2C driver.
|
|
|
|
See include/nuttx/i2c/i2c_master.h for further I2C driver information.
|
|
|
|
|
2020-02-08 08:30:09 +01:00
|
|
|
if I2C
|
|
|
|
|
2016-01-26 16:58:18 +01:00
|
|
|
config I2C_SLAVE
|
|
|
|
bool "I2C Slave"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config I2C_POLLED
|
|
|
|
bool "Polled I2C (no interrupts)"
|
|
|
|
default n
|
|
|
|
|
2016-02-02 15:30:54 +01:00
|
|
|
config I2C_RESET
|
2016-02-02 18:21:48 +01:00
|
|
|
bool "Support I2C reset interface method"
|
2016-02-02 15:30:54 +01:00
|
|
|
default n
|
|
|
|
depends on ARCH_HAVE_I2CRESET
|
|
|
|
|
2016-01-26 16:58:18 +01:00
|
|
|
config I2C_TRACE
|
|
|
|
bool "Enable I2C trace debug"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config I2C_NTRACE
|
|
|
|
int "Number of I2C trace records"
|
|
|
|
default 32
|
|
|
|
depends on I2C_TRACE
|
|
|
|
|
2021-01-19 04:05:49 +01:00
|
|
|
config I2C_BITBANG
|
|
|
|
bool "I2C bitbang implementation"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enable support for a bitbang implementation of I2C
|
|
|
|
|
|
|
|
if I2C_BITBANG
|
|
|
|
|
2021-12-14 08:52:49 +01:00
|
|
|
config I2C_BITBANG_NO_DELAY
|
|
|
|
bool "Do not add delay"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
If you want to go full speed (depending on how fast pins can be toggled)
|
|
|
|
you can enable this option. This will not respect the desired frequency
|
|
|
|
set during the I2C transfer operation.
|
|
|
|
|
|
|
|
config I2C_BITBANG_GPIO_OVERHEAD
|
2021-01-19 04:05:49 +01:00
|
|
|
int "GPIO overhead"
|
|
|
|
depends on !I2C_BITBANG_NO_DELAY
|
|
|
|
default 0
|
|
|
|
---help---
|
|
|
|
Overhead of GPIO toggling operation to consider when computing
|
|
|
|
delays. This overhead will be subtracted from sleep times to achieve
|
2022-09-13 15:28:45 +02:00
|
|
|
desired frequency.
|
2021-01-19 04:05:49 +01:00
|
|
|
|
2021-12-14 08:52:49 +01:00
|
|
|
config I2C_BITBANG_TIMEOUT
|
2021-01-19 04:05:49 +01:00
|
|
|
int "I2C timeout"
|
|
|
|
default 1000
|
|
|
|
---help---
|
2022-09-13 15:28:45 +02:00
|
|
|
Timeout (microseconds) to abort wait on slave.
|
2021-01-19 04:05:49 +01:00
|
|
|
|
2021-12-14 08:52:49 +01:00
|
|
|
config I2C_BITBANG_CLOCK_STRETCHING
|
2021-01-19 04:05:49 +01:00
|
|
|
bool "Support clock stretching"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
This enables I2C clock stretching. This requires the hardware to set
|
|
|
|
the pin into open-collector mode (master sets SCL high and waits until
|
|
|
|
slave stops holding it low).
|
|
|
|
|
|
|
|
endif # I2C_BITBANG
|
|
|
|
|
2016-02-02 15:30:54 +01:00
|
|
|
config I2C_DRIVER
|
|
|
|
bool "I2C character driver"
|
2016-01-26 16:58:18 +01:00
|
|
|
default n
|
2016-08-05 19:07:35 +02:00
|
|
|
---help---
|
|
|
|
Build in support for a character driver at /dev/i2c[N] that may be
|
|
|
|
used to perform I2C bus transfers from applications. The intent of
|
|
|
|
this driver is to support I2C testing. It is not suitable for use
|
|
|
|
in any real driver application.
|
2016-01-26 16:58:18 +01:00
|
|
|
|
2018-03-05 17:11:05 +01:00
|
|
|
menu "I2C Multiplexer Support"
|
|
|
|
|
|
|
|
config I2CMULTIPLEXER_PCA9540BDP
|
|
|
|
bool "PCA9540BDP NXP multiplexer"
|
|
|
|
default n
|
|
|
|
depends on I2C
|
2022-01-30 00:40:14 +01:00
|
|
|
select BOARD_HAVE_I2CMUX
|
2018-03-05 17:11:05 +01:00
|
|
|
---help---
|
|
|
|
Enable support for the NXP PCA9540BDP i2c multiplexer
|
|
|
|
|
2022-01-30 00:40:14 +01:00
|
|
|
config I2CMULTIPLEXER_TCA9548A
|
|
|
|
bool "TCA9548A TI multiplexer"
|
|
|
|
default n
|
|
|
|
depends on I2C
|
|
|
|
select BOARD_HAVE_I2CMUX
|
|
|
|
---help---
|
|
|
|
Enable support for the TI TCA9548A i2c multiplexer
|
|
|
|
|
2018-03-05 17:11:05 +01:00
|
|
|
# put more i2c mux devices here
|
|
|
|
|
|
|
|
endmenu # I2C Multiplexer Support
|
2020-02-08 08:30:09 +01:00
|
|
|
|
|
|
|
endif
|