11da177e4SLinus Torvalds# 2be53f9b2SArthur Othieno# I2C subsystem configuration 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 516538e6bSJan Engelhardtmenuconfig I2C 61da177e4SLinus Torvalds tristate "I2C support" 7e25df120SMartin Schwidefsky depends on HAS_IOMEM 8194684e5SMika Kuoppala select RT_MUTEXES 91da177e4SLinus Torvalds ---help--- 101da177e4SLinus Torvalds I2C (pronounce: I-square-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" 520826374bSMichael Lawnick depends on EXPERIMENTAL 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 618d24f8dcSJean Delvareconfig I2C_HELPER_AUTO 628d24f8dcSJean Delvare bool "Autoselect pertinent helper modules" 638d24f8dcSJean Delvare default y 648d24f8dcSJean Delvare help 658d24f8dcSJean Delvare Some I2C bus drivers require so-called "I2C algorithm" modules 668d24f8dcSJean Delvare to work. These are basically software-only abstractions of generic 678d24f8dcSJean Delvare I2C interfaces. This option will autoselect them so that you don't 688d24f8dcSJean Delvare have to care. 698d24f8dcSJean Delvare 708d24f8dcSJean Delvare Unselect this only if you need to enable additional helper 718d24f8dcSJean Delvare modules, for example for use with external I2C bus drivers. 728d24f8dcSJean Delvare 738d24f8dcSJean Delvare In doubt, say Y. 748d24f8dcSJean Delvare 75e2ca3074SJean Delvareconfig I2C_SMBUS 76e2ca3074SJean Delvare tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO 77e2ca3074SJean Delvare help 78e2ca3074SJean Delvare Say Y here if you want support for SMBus extensions to the I2C 79e2ca3074SJean Delvare specification. At the moment, the only supported extension is 80e2ca3074SJean Delvare the SMBus alert protocol. 81e2ca3074SJean Delvare 82e2ca3074SJean Delvare This support is also available as a module. If so, the module 83e2ca3074SJean Delvare will be called i2c-smbus. 84e2ca3074SJean Delvare 851da177e4SLinus Torvaldssource drivers/i2c/algos/Kconfig 861da177e4SLinus Torvaldssource drivers/i2c/busses/Kconfig 871da177e4SLinus Torvalds 881da177e4SLinus Torvaldsconfig I2C_DEBUG_CORE 891da177e4SLinus Torvalds bool "I2C Core debugging messages" 901da177e4SLinus Torvalds help 911da177e4SLinus Torvalds Say Y here if you want the I2C core to produce a bunch of debug 921da177e4SLinus Torvalds messages to the system log. Select this if you are having a 931da177e4SLinus Torvalds problem with I2C support and want to see more of what is going on. 941da177e4SLinus Torvalds 951da177e4SLinus Torvaldsconfig I2C_DEBUG_ALGO 961da177e4SLinus Torvalds bool "I2C Algorithm debugging messages" 971da177e4SLinus Torvalds help 981da177e4SLinus Torvalds Say Y here if you want the I2C algorithm drivers to produce a bunch 991da177e4SLinus Torvalds of debug messages to the system log. Select this if you are having 1001da177e4SLinus Torvalds a problem with I2C support and want to see more of what is going 1011da177e4SLinus Torvalds on. 1021da177e4SLinus Torvalds 1031da177e4SLinus Torvaldsconfig I2C_DEBUG_BUS 1041da177e4SLinus Torvalds bool "I2C Bus debugging messages" 1051da177e4SLinus Torvalds help 1061da177e4SLinus Torvalds Say Y here if you want the I2C bus drivers to produce a bunch of 1071da177e4SLinus Torvalds debug messages to the system log. Select this if you are having 1081da177e4SLinus Torvalds a problem with I2C support and want to see more of what is going 1091da177e4SLinus Torvalds on. 1101da177e4SLinus Torvalds 11116538e6bSJan Engelhardtendif # I2C 112