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