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