nuttx/drivers/i2c/Kconfig
Gregory Nutt 21aef0dd68 drivers/*/Kconfig: Consolidate driver Kconfig Files.
This commit does two things:

1. First, it reorganizes the driver Kconfig files so that each is self contained.  Before, a part of the driver configuration was in drivers/Kconfig and the rest was in in drivers/xyz/Konfig.  Now, all of the driver configuration is consolitated in the latter.

2. Second, this commit correct numerous serious errors introduced in a previous reorganization of the driver Kconfig files.  This was first noted by Nicholas Chin in PR270 for the case of the drivers/i2c/Kconfig but some examination indicates that the error was introduced into several other Kconfig files as well.

The nature of the introduced error was basically this:

- Nothing must intervene between the menuconfig selection and the following conditional configuration otpions.
- A previous PR erroneously introduced unconditional options between the menuconfig and the following confditional logic, thus corrupting the driver menus.

This error was easy to make because the driver Kconfig files were not well modularized.  Making them fully self-contained should eliminate this kind of error in the future.
2020-02-15 15:19:11 +01:00

64 lines
1.3 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config ARCH_HAVE_I2CRESET
bool
default n
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.
if I2C
config I2C_SLAVE
bool "I2C Slave"
default n
config I2C_POLLED
bool "Polled I2C (no interrupts)"
default n
config I2C_RESET
bool "Support I2C reset interface method"
default n
depends on ARCH_HAVE_I2CRESET
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
config I2C_DRIVER
bool "I2C character driver"
default n
---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.
menu "I2C Multiplexer Support"
config I2CMULTIPLEXER_PCA9540BDP
bool "PCA9540BDP NXP multiplexer"
default n
depends on I2C
---help---
Enable support for the NXP PCA9540BDP i2c multiplexer
# put more i2c mux devices here
endmenu # I2C Multiplexer Support
endif