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" |
Martin Schwidefsky | e25df12 | 2007-05-10 15:45:57 +0200 | [diff] [blame] | 7 | depends on HAS_IOMEM |
Mika Kuoppala | 194684e | 2009-12-06 17:06:22 +0100 | [diff] [blame] | 8 | select RT_MUTEXES |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | ---help--- |
| 10 | I2C (pronounce: I-square-C) is a slow serial bus protocol used in |
| 11 | many micro controller applications and developed by Philips. SMBus, |
| 12 | or System Management Bus is a subset of the I2C protocol. More |
| 13 | information is contained in the directory <file:Documentation/i2c/>, |
| 14 | especially in the file called "summary" there. |
| 15 | |
| 16 | Both I2C and SMBus are supported here. You will need this for |
| 17 | hardware sensors support, and also for Video For Linux support. |
| 18 | |
| 19 | If you want I2C support, you should say Y here and also to the |
| 20 | specific driver for your bus adapter(s) below. |
| 21 | |
| 22 | This I2C support can also be built as a module. If so, the module |
| 23 | will be called i2c-core. |
| 24 | |
Jan Engelhardt | 16538e6 | 2007-05-01 23:26:34 +0200 | [diff] [blame] | 25 | if I2C |
| 26 | |
David Brownell | 9c1600e | 2007-05-01 23:26:31 +0200 | [diff] [blame] | 27 | config I2C_BOARDINFO |
| 28 | boolean |
David Brownell | 9c1600e | 2007-05-01 23:26:31 +0200 | [diff] [blame] | 29 | default y |
| 30 | |
Jean Delvare | 2bb5095 | 2009-09-18 22:45:46 +0200 | [diff] [blame] | 31 | config I2C_COMPAT |
| 32 | boolean "Enable compatibility bits for old user-space" |
| 33 | default y |
| 34 | help |
| 35 | Say Y here if you intend to run lm-sensors 3.1.1 or older, or any |
| 36 | other user-space package which expects i2c adapters to be class |
| 37 | devices. If you don't know, say Y. |
| 38 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 39 | config I2C_CHARDEV |
| 40 | tristate "I2C device interface" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 | help |
| 42 | Say Y here to use i2c-* device files, usually found in the /dev |
| 43 | directory on your system. They make it possible to have user-space |
| 44 | programs use the I2C bus. Information on how to do this is |
| 45 | contained in the file <file:Documentation/i2c/dev-interface>. |
| 46 | |
| 47 | This support is also available as a module. If so, the module |
| 48 | will be called i2c-dev. |
| 49 | |
Michael Lawnick | 0826374 | 2010-08-11 18:21:02 +0200 | [diff] [blame] | 50 | config I2C_MUX |
| 51 | tristate "I2C bus multiplexing support" |
| 52 | depends on EXPERIMENTAL |
| 53 | help |
| 54 | Say Y here if you want the I2C core to support the ability to |
| 55 | handle multiplexed I2C bus topologies, by presenting each |
| 56 | multiplexed segment as a I2C adapter. |
| 57 | |
| 58 | This support is also available as a module. If so, the module |
| 59 | will be called i2c-mux. |
| 60 | |
Michael Lawnick | 7f52813 | 2010-08-11 18:21:03 +0200 | [diff] [blame^] | 61 | source drivers/i2c/muxes/Kconfig |
| 62 | |
Jean Delvare | 8d24f8d | 2008-08-10 22:56:15 +0200 | [diff] [blame] | 63 | config I2C_HELPER_AUTO |
| 64 | bool "Autoselect pertinent helper modules" |
| 65 | default y |
| 66 | help |
| 67 | Some I2C bus drivers require so-called "I2C algorithm" modules |
| 68 | to work. These are basically software-only abstractions of generic |
| 69 | I2C interfaces. This option will autoselect them so that you don't |
| 70 | have to care. |
| 71 | |
| 72 | Unselect this only if you need to enable additional helper |
| 73 | modules, for example for use with external I2C bus drivers. |
| 74 | |
| 75 | In doubt, say Y. |
| 76 | |
Jean Delvare | e2ca307 | 2010-03-02 12:23:43 +0100 | [diff] [blame] | 77 | config I2C_SMBUS |
| 78 | tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO |
| 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 | |
| 90 | config I2C_DEBUG_CORE |
| 91 | bool "I2C Core debugging messages" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 92 | help |
| 93 | Say Y here if you want the I2C core to produce a bunch of debug |
| 94 | messages to the system log. Select this if you are having a |
| 95 | problem with I2C support and want to see more of what is going on. |
| 96 | |
| 97 | config I2C_DEBUG_ALGO |
| 98 | bool "I2C Algorithm debugging messages" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 99 | help |
| 100 | Say Y here if you want the I2C algorithm drivers to produce a bunch |
| 101 | of debug messages to the system log. Select this if you are having |
| 102 | a problem with I2C support and want to see more of what is going |
| 103 | on. |
| 104 | |
| 105 | config I2C_DEBUG_BUS |
| 106 | bool "I2C Bus debugging messages" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 107 | help |
| 108 | Say Y here if you want the I2C bus drivers to produce a bunch of |
| 109 | debug messages to the system log. Select this if you are having |
| 110 | a problem with I2C support and want to see more of what is going |
| 111 | on. |
| 112 | |
Jan Engelhardt | 16538e6 | 2007-05-01 23:26:34 +0200 | [diff] [blame] | 113 | endif # I2C |