Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # |
Arthur Othieno | be53f9b | 2006-08-13 23:39:11 +0200 | [diff] [blame] | 2 | # I2C subsystem configuration |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | # |
| 4 | |
Jan Engelhardt | 16538e6 | 2007-05-01 23:26:34 +0200 | [diff] [blame] | 5 | menuconfig I2C |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | tristate "I2C support" |
Mika Kuoppala | 194684e | 2009-12-06 17:06:22 +0100 | [diff] [blame] | 7 | select RT_MUTEXES |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | ---help--- |
Michael Witten | 622e040 | 2011-07-08 22:33:24 +0000 | [diff] [blame] | 9 | I2C (pronounce: I-squared-C) is a slow serial bus protocol used in |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | many micro controller applications and developed by Philips. SMBus, |
| 11 | or System Management Bus is a subset of the I2C protocol. More |
| 12 | information is contained in the directory <file:Documentation/i2c/>, |
| 13 | especially in the file called "summary" there. |
| 14 | |
| 15 | Both I2C and SMBus are supported here. You will need this for |
| 16 | hardware sensors support, and also for Video For Linux support. |
| 17 | |
| 18 | If you want I2C support, you should say Y here and also to the |
| 19 | specific driver for your bus adapter(s) below. |
| 20 | |
| 21 | This I2C support can also be built as a module. If so, the module |
| 22 | will be called i2c-core. |
| 23 | |
Jan Engelhardt | 16538e6 | 2007-05-01 23:26:34 +0200 | [diff] [blame] | 24 | if I2C |
| 25 | |
David Brownell | 9c1600e | 2007-05-01 23:26:31 +0200 | [diff] [blame] | 26 | config I2C_BOARDINFO |
| 27 | boolean |
David Brownell | 9c1600e | 2007-05-01 23:26:31 +0200 | [diff] [blame] | 28 | default y |
| 29 | |
Jean Delvare | 2bb5095 | 2009-09-18 22:45:46 +0200 | [diff] [blame] | 30 | config I2C_COMPAT |
| 31 | boolean "Enable compatibility bits for old user-space" |
| 32 | default y |
| 33 | help |
| 34 | Say Y here if you intend to run lm-sensors 3.1.1 or older, or any |
| 35 | other user-space package which expects i2c adapters to be class |
| 36 | devices. If you don't know, say Y. |
| 37 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 38 | config I2C_CHARDEV |
| 39 | tristate "I2C device interface" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | help |
| 41 | Say Y here to use i2c-* device files, usually found in the /dev |
| 42 | directory on your system. They make it possible to have user-space |
| 43 | programs use the I2C bus. Information on how to do this is |
| 44 | contained in the file <file:Documentation/i2c/dev-interface>. |
| 45 | |
| 46 | This support is also available as a module. If so, the module |
| 47 | will be called i2c-dev. |
| 48 | |
Michael Lawnick | 0826374 | 2010-08-11 18:21:02 +0200 | [diff] [blame] | 49 | config I2C_MUX |
| 50 | tristate "I2C bus multiplexing support" |
Peter Huewe | 3ddb59d | 2012-10-05 22:23:52 +0200 | [diff] [blame] | 51 | depends on HAS_IOMEM |
Michael Lawnick | 0826374 | 2010-08-11 18:21:02 +0200 | [diff] [blame] | 52 | help |
| 53 | Say Y here if you want the I2C core to support the ability to |
| 54 | handle multiplexed I2C bus topologies, by presenting each |
| 55 | multiplexed segment as a I2C adapter. |
| 56 | |
| 57 | This support is also available as a module. If so, the module |
| 58 | will be called i2c-mux. |
| 59 | |
Michael Lawnick | 7f52813 | 2010-08-11 18:21:03 +0200 | [diff] [blame] | 60 | source drivers/i2c/muxes/Kconfig |
| 61 | |
Jean Delvare | 8d24f8d | 2008-08-10 22:56:15 +0200 | [diff] [blame] | 62 | config I2C_HELPER_AUTO |
| 63 | bool "Autoselect pertinent helper modules" |
| 64 | default y |
| 65 | help |
| 66 | Some I2C bus drivers require so-called "I2C algorithm" modules |
| 67 | to work. These are basically software-only abstractions of generic |
| 68 | I2C interfaces. This option will autoselect them so that you don't |
| 69 | have to care. |
| 70 | |
| 71 | Unselect this only if you need to enable additional helper |
| 72 | modules, for example for use with external I2C bus drivers. |
| 73 | |
| 74 | In doubt, say Y. |
| 75 | |
Jean Delvare | e2ca307 | 2010-03-02 12:23:43 +0100 | [diff] [blame] | 76 | config I2C_SMBUS |
Arnaud Lacombe | dfc518d | 2010-11-06 18:30:25 -0300 | [diff] [blame] | 77 | tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO |
Heiko Carstens | aaaf9cf | 2013-02-06 17:23:50 +0100 | [diff] [blame] | 78 | depends on GENERIC_HARDIRQS |
Jean Delvare | e2ca307 | 2010-03-02 12:23:43 +0100 | [diff] [blame] | 79 | help |
| 80 | Say Y here if you want support for SMBus extensions to the I2C |
| 81 | specification. At the moment, the only supported extension is |
| 82 | the SMBus alert protocol. |
| 83 | |
| 84 | This support is also available as a module. If so, the module |
| 85 | will be called i2c-smbus. |
| 86 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 87 | source drivers/i2c/algos/Kconfig |
| 88 | source drivers/i2c/busses/Kconfig |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 89 | |
Peter Huewe | 3ddb59d | 2012-10-05 22:23:52 +0200 | [diff] [blame] | 90 | config I2C_STUB |
| 91 | tristate "I2C/SMBus Test Stub" |
Kees Cook | 417e86c | 2013-01-16 18:53:37 -0800 | [diff] [blame] | 92 | depends on m |
Peter Huewe | 3ddb59d | 2012-10-05 22:23:52 +0200 | [diff] [blame] | 93 | default 'n' |
| 94 | help |
| 95 | This module may be useful to developers of SMBus client drivers, |
| 96 | especially for certain kinds of sensor chips. |
| 97 | |
| 98 | If you do build this module, be sure to read the notes and warnings |
| 99 | in <file:Documentation/i2c/i2c-stub>. |
| 100 | |
| 101 | If you don't know what to do here, definitely say N. |
| 102 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 103 | config I2C_DEBUG_CORE |
| 104 | bool "I2C Core debugging messages" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 105 | help |
| 106 | Say Y here if you want the I2C core to produce a bunch of debug |
| 107 | messages to the system log. Select this if you are having a |
| 108 | problem with I2C support and want to see more of what is going on. |
| 109 | |
| 110 | config I2C_DEBUG_ALGO |
| 111 | bool "I2C Algorithm debugging messages" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 112 | help |
| 113 | Say Y here if you want the I2C algorithm drivers to produce a bunch |
| 114 | of debug messages to the system log. Select this if you are having |
| 115 | a problem with I2C support and want to see more of what is going |
| 116 | on. |
| 117 | |
| 118 | config I2C_DEBUG_BUS |
| 119 | bool "I2C Bus debugging messages" |
Peter Huewe | 3ddb59d | 2012-10-05 22:23:52 +0200 | [diff] [blame] | 120 | depends on HAS_IOMEM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 121 | help |
| 122 | Say Y here if you want the I2C bus drivers to produce a bunch of |
| 123 | debug messages to the system log. Select this if you are having |
| 124 | a problem with I2C support and want to see more of what is going |
| 125 | on. |
| 126 | |
Jan Engelhardt | 16538e6 | 2007-05-01 23:26:34 +0200 | [diff] [blame] | 127 | endif # I2C |