forked from Minki/linux
8600b697cd
Pull i2c updates from Wolfram Sang: - the first series of making i2c_device_id optional instead of mandatory (in favor of alternatives like of_device_id). This involves adding a new probe callback (probe_new) which removes some peculiarities I2C had for a long time now. The new probe is matching the other subsystems now and the old one will be removed once all users are converted. It is expected to take a while but there is ongoing interest in that. - SMBus Host Notify introduced 4.9 got refactored. They are now using interrupts instead of the alert callback which solves multiple issues. - new drivers for iMX LowPower I2C, Mellanox CPLD and its I2C mux - significant refactoring for bcm2835 driver - the usual set of driver updates and improvements * 'i2c/for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (46 commits) i2c: fsl-lpi2c: read lpi2c fifo size in probe() i2c: octeon: thunderx: Remove double-check after interrupt i2c: octeon: thunderx: TWSI software reset in recovery i2c: cadence: Allow Cadence I2C to be selected for Cadence Xtensa CPUs i2c: sh_mobile: Add per-Generation fallback bindings i2c: rcar: Add per-Generation fallback bindings i2c: imx-lpi2c: add low power i2c bus driver dt-bindings: i2c: imx-lpi2c: add devicetree bindings i2c: designware-pcidrv: Add 10bit address feature to medfield/merrifield i2c: pxa: Add support for the I2C units found in Armada 3700 i2c: pxa: Add definition of fast and high speed modes via the regs layout dt-bindings: i2c: pxa: Update the documentation for the Armada 3700 i2c: qup: support SMBus block read i2c: qup: add ACPI support i2c: designware: Consolidate default functionality bits i2c: i2c-mux-gpio: update mux with gpiod_set_array_value_cansleep i2c: mux: pca954x: Add ACPI support for pca954x i2c: use an IRQ to report Host Notify events, not alert i2c: i801: remove SMBNTFDDAT reads as they always seem to return 0 i2c: i801: use the BIT() macro for FEATURES_* also ...
150 lines
4.4 KiB
Plaintext
150 lines
4.4 KiB
Plaintext
#
|
|
# I2C subsystem configuration
|
|
#
|
|
|
|
menu "I2C support"
|
|
|
|
config I2C
|
|
tristate "I2C support"
|
|
select RT_MUTEXES
|
|
select IRQ_DOMAIN
|
|
---help---
|
|
I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
|
|
many micro controller applications and developed by Philips. SMBus,
|
|
or System Management Bus is a subset of the I2C protocol. More
|
|
information is contained in the directory <file:Documentation/i2c/>,
|
|
especially in the file called "summary" there.
|
|
|
|
Both I2C and SMBus are supported here. You will need this for
|
|
hardware sensors support, and also for Video For Linux support.
|
|
|
|
If you want I2C support, you should say Y here and also to the
|
|
specific driver for your bus adapter(s) below.
|
|
|
|
This I2C support can also be built as a module. If so, the module
|
|
will be called i2c-core.
|
|
|
|
config ACPI_I2C_OPREGION
|
|
bool "ACPI I2C Operation region support"
|
|
depends on I2C=y && ACPI
|
|
default y
|
|
help
|
|
Say Y here if you want to enable ACPI I2C operation region support.
|
|
Operation Regions allow firmware (BIOS) code to access I2C slave devices,
|
|
such as smart batteries through an I2C host controller driver.
|
|
|
|
if I2C
|
|
|
|
config I2C_BOARDINFO
|
|
bool
|
|
default y
|
|
|
|
config I2C_COMPAT
|
|
bool "Enable compatibility bits for old user-space"
|
|
default y
|
|
help
|
|
Say Y here if you intend to run lm-sensors 3.1.1 or older, or any
|
|
other user-space package which expects i2c adapters to be class
|
|
devices. If you don't know, say Y.
|
|
|
|
config I2C_CHARDEV
|
|
tristate "I2C device interface"
|
|
help
|
|
Say Y here to use i2c-* device files, usually found in the /dev
|
|
directory on your system. They make it possible to have user-space
|
|
programs use the I2C bus. Information on how to do this is
|
|
contained in the file <file:Documentation/i2c/dev-interface>.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called i2c-dev.
|
|
|
|
config I2C_MUX
|
|
tristate "I2C bus multiplexing support"
|
|
help
|
|
Say Y here if you want the I2C core to support the ability to
|
|
handle multiplexed I2C bus topologies, by presenting each
|
|
multiplexed segment as a I2C adapter.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called i2c-mux.
|
|
|
|
source drivers/i2c/muxes/Kconfig
|
|
|
|
config I2C_HELPER_AUTO
|
|
bool "Autoselect pertinent helper modules"
|
|
default y
|
|
help
|
|
Some I2C bus drivers require so-called "I2C algorithm" modules
|
|
to work. These are basically software-only abstractions of generic
|
|
I2C interfaces. This option will autoselect them so that you don't
|
|
have to care.
|
|
|
|
Unselect this only if you need to enable additional helper
|
|
modules, for example for use with external I2C bus drivers.
|
|
|
|
In doubt, say Y.
|
|
|
|
config I2C_SMBUS
|
|
tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO
|
|
help
|
|
Say Y here if you want support for SMBus extensions to the I2C
|
|
specification. At the moment, two extensions are supported:
|
|
the SMBus Alert protocol and the SMBus Host Notify protocol.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called i2c-smbus.
|
|
|
|
source drivers/i2c/algos/Kconfig
|
|
source drivers/i2c/busses/Kconfig
|
|
|
|
config I2C_STUB
|
|
tristate "I2C/SMBus Test Stub"
|
|
depends on m
|
|
default 'n'
|
|
help
|
|
This module may be useful to developers of SMBus client drivers,
|
|
especially for certain kinds of sensor chips.
|
|
|
|
If you do build this module, be sure to read the notes and warnings
|
|
in <file:Documentation/i2c/i2c-stub>.
|
|
|
|
If you don't know what to do here, definitely say N.
|
|
|
|
config I2C_SLAVE
|
|
bool "I2C slave support"
|
|
|
|
if I2C_SLAVE
|
|
|
|
config I2C_SLAVE_EEPROM
|
|
tristate "I2C eeprom slave driver"
|
|
|
|
endif
|
|
|
|
config I2C_DEBUG_CORE
|
|
bool "I2C Core debugging messages"
|
|
help
|
|
Say Y here if you want the I2C core to produce a bunch of debug
|
|
messages to the system log. Select this if you are having a
|
|
problem with I2C support and want to see more of what is going on.
|
|
|
|
config I2C_DEBUG_ALGO
|
|
bool "I2C Algorithm debugging messages"
|
|
help
|
|
Say Y here if you want the I2C algorithm drivers to produce a bunch
|
|
of debug messages to the system log. Select this if you are having
|
|
a problem with I2C support and want to see more of what is going
|
|
on.
|
|
|
|
config I2C_DEBUG_BUS
|
|
bool "I2C Bus debugging messages"
|
|
depends on HAS_IOMEM
|
|
help
|
|
Say Y here if you want the I2C bus drivers to produce a bunch of
|
|
debug messages to the system log. Select this if you are having
|
|
a problem with I2C support and want to see more of what is going
|
|
on.
|
|
|
|
endif # I2C
|
|
|
|
endmenu
|