xref: /openbmc/linux/drivers/i2c/Kconfig (revision 3ddb59d4)
11da177e4SLinus Torvalds#
2be53f9b2SArthur Othieno# I2C subsystem configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
516538e6bSJan Engelhardtmenuconfig I2C
61da177e4SLinus Torvalds	tristate "I2C support"
73ddb59d4SPeter Huewe	depends on !S390
8194684e5SMika Kuoppala	select RT_MUTEXES
91da177e4SLinus Torvalds	---help---
10622e040dSMichael Witten	  I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
111da177e4SLinus Torvalds	  many micro controller applications and developed by Philips.  SMBus,
121da177e4SLinus Torvalds	  or System Management Bus is a subset of the I2C protocol.  More
131da177e4SLinus Torvalds	  information is contained in the directory <file:Documentation/i2c/>,
141da177e4SLinus Torvalds	  especially in the file called "summary" there.
151da177e4SLinus Torvalds
161da177e4SLinus Torvalds	  Both I2C and SMBus are supported here. You will need this for
171da177e4SLinus Torvalds	  hardware sensors support, and also for Video For Linux support.
181da177e4SLinus Torvalds
191da177e4SLinus Torvalds	  If you want I2C support, you should say Y here and also to the
201da177e4SLinus Torvalds	  specific driver for your bus adapter(s) below.
211da177e4SLinus Torvalds
221da177e4SLinus Torvalds	  This I2C support can also be built as a module.  If so, the module
231da177e4SLinus Torvalds	  will be called i2c-core.
241da177e4SLinus Torvalds
2516538e6bSJan Engelhardtif I2C
2616538e6bSJan Engelhardt
279c1600edSDavid Brownellconfig I2C_BOARDINFO
289c1600edSDavid Brownell	boolean
299c1600edSDavid Brownell	default y
309c1600edSDavid Brownell
312bb5095aSJean Delvareconfig I2C_COMPAT
322bb5095aSJean Delvare	boolean "Enable compatibility bits for old user-space"
332bb5095aSJean Delvare	default y
342bb5095aSJean Delvare	help
352bb5095aSJean Delvare	  Say Y here if you intend to run lm-sensors 3.1.1 or older, or any
362bb5095aSJean Delvare	  other user-space package which expects i2c adapters to be class
372bb5095aSJean Delvare	  devices. If you don't know, say Y.
382bb5095aSJean Delvare
391da177e4SLinus Torvaldsconfig I2C_CHARDEV
401da177e4SLinus Torvalds	tristate "I2C device interface"
411da177e4SLinus Torvalds	help
421da177e4SLinus Torvalds	  Say Y here to use i2c-* device files, usually found in the /dev
431da177e4SLinus Torvalds	  directory on your system.  They make it possible to have user-space
441da177e4SLinus Torvalds	  programs use the I2C bus.  Information on how to do this is
451da177e4SLinus Torvalds	  contained in the file <file:Documentation/i2c/dev-interface>.
461da177e4SLinus Torvalds
471da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
481da177e4SLinus Torvalds	  will be called i2c-dev.
491da177e4SLinus Torvalds
500826374bSMichael Lawnickconfig I2C_MUX
510826374bSMichael Lawnick	tristate "I2C bus multiplexing support"
523ddb59d4SPeter Huewe	depends on HAS_IOMEM
530826374bSMichael Lawnick	help
540826374bSMichael Lawnick	  Say Y here if you want the I2C core to support the ability to
550826374bSMichael Lawnick	  handle multiplexed I2C bus topologies, by presenting each
560826374bSMichael Lawnick	  multiplexed segment as a I2C adapter.
570826374bSMichael Lawnick
580826374bSMichael Lawnick	  This support is also available as a module.  If so, the module
590826374bSMichael Lawnick	  will be called i2c-mux.
600826374bSMichael Lawnick
617f528135SMichael Lawnicksource drivers/i2c/muxes/Kconfig
627f528135SMichael Lawnick
638d24f8dcSJean Delvareconfig I2C_HELPER_AUTO
648d24f8dcSJean Delvare	bool "Autoselect pertinent helper modules"
658d24f8dcSJean Delvare	default y
668d24f8dcSJean Delvare	help
678d24f8dcSJean Delvare	  Some I2C bus drivers require so-called "I2C algorithm" modules
688d24f8dcSJean Delvare	  to work. These are basically software-only abstractions of generic
698d24f8dcSJean Delvare	  I2C interfaces. This option will autoselect them so that you don't
708d24f8dcSJean Delvare	  have to care.
718d24f8dcSJean Delvare
728d24f8dcSJean Delvare	  Unselect this only if you need to enable additional helper
738d24f8dcSJean Delvare	  modules, for example for use with external I2C bus drivers.
748d24f8dcSJean Delvare
758d24f8dcSJean Delvare	  In doubt, say Y.
768d24f8dcSJean Delvare
77e2ca3074SJean Delvareconfig I2C_SMBUS
78dfc518ddSArnaud Lacombe	tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO
79e2ca3074SJean Delvare	help
80e2ca3074SJean Delvare	  Say Y here if you want support for SMBus extensions to the I2C
81e2ca3074SJean Delvare	  specification. At the moment, the only supported extension is
82e2ca3074SJean Delvare	  the SMBus alert protocol.
83e2ca3074SJean Delvare
84e2ca3074SJean Delvare	  This support is also available as a module.  If so, the module
85e2ca3074SJean Delvare	  will be called i2c-smbus.
86e2ca3074SJean Delvare
871da177e4SLinus Torvaldssource drivers/i2c/algos/Kconfig
881da177e4SLinus Torvaldssource drivers/i2c/busses/Kconfig
891da177e4SLinus Torvalds
903ddb59d4SPeter Hueweconfig I2C_STUB
913ddb59d4SPeter Huewe	tristate "I2C/SMBus Test Stub"
923ddb59d4SPeter Huewe	depends on EXPERIMENTAL && m
933ddb59d4SPeter Huewe	default 'n'
943ddb59d4SPeter Huewe	help
953ddb59d4SPeter Huewe	  This module may be useful to developers of SMBus client drivers,
963ddb59d4SPeter Huewe	  especially for certain kinds of sensor chips.
973ddb59d4SPeter Huewe
983ddb59d4SPeter Huewe	  If you do build this module, be sure to read the notes and warnings
993ddb59d4SPeter Huewe	  in <file:Documentation/i2c/i2c-stub>.
1003ddb59d4SPeter Huewe
1013ddb59d4SPeter Huewe	  If you don't know what to do here, definitely say N.
1023ddb59d4SPeter Huewe
1031da177e4SLinus Torvaldsconfig I2C_DEBUG_CORE
1041da177e4SLinus Torvalds	bool "I2C Core debugging messages"
1051da177e4SLinus Torvalds	help
1061da177e4SLinus Torvalds	  Say Y here if you want the I2C core to produce a bunch of debug
1071da177e4SLinus Torvalds	  messages to the system log.  Select this if you are having a
1081da177e4SLinus Torvalds	  problem with I2C support and want to see more of what is going on.
1091da177e4SLinus Torvalds
1101da177e4SLinus Torvaldsconfig I2C_DEBUG_ALGO
1111da177e4SLinus Torvalds	bool "I2C Algorithm debugging messages"
1121da177e4SLinus Torvalds	help
1131da177e4SLinus Torvalds	  Say Y here if you want the I2C algorithm drivers to produce a bunch
1141da177e4SLinus Torvalds	  of debug messages to the system log.  Select this if you are having
1151da177e4SLinus Torvalds	  a problem with I2C support and want to see more of what is going
1161da177e4SLinus Torvalds	  on.
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvaldsconfig I2C_DEBUG_BUS
1191da177e4SLinus Torvalds	bool "I2C Bus debugging messages"
1203ddb59d4SPeter Huewe	depends on HAS_IOMEM
1211da177e4SLinus Torvalds	help
1221da177e4SLinus Torvalds	  Say Y here if you want the I2C bus drivers to produce a bunch of
1231da177e4SLinus Torvalds	  debug messages to the system log.  Select this if you are having
1241da177e4SLinus Torvalds	  a problem with I2C support and want to see more of what is going
1251da177e4SLinus Torvalds	  on.
1261da177e4SLinus Torvalds
12716538e6bSJan Engelhardtendif # I2C
128