]>
Commit | Line | Data |
---|---|---|
1da177e4 | 1 | # |
be53f9b2 | 2 | # I2C subsystem configuration |
1da177e4 LT |
3 | # |
4 | ||
da3c6647 LT |
5 | menu "I2C support" |
6 | ||
7 | config I2C | |
1da177e4 | 8 | tristate "I2C support" |
194684e5 | 9 | select RT_MUTEXES |
4d5538f5 | 10 | select IRQ_DOMAIN |
1da177e4 | 11 | ---help--- |
622e040d | 12 | I2C (pronounce: I-squared-C) is a slow serial bus protocol used in |
1da177e4 LT |
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 | ||
36604751 LT |
27 | config ACPI_I2C_OPREGION |
28 | bool "ACPI I2C Operation region support" | |
29 | depends on I2C=y && ACPI | |
da3c6647 LT |
30 | default y |
31 | help | |
36604751 LT |
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. | |
da3c6647 | 35 | |
16538e6b JE |
36 | if I2C |
37 | ||
9c1600ed | 38 | config I2C_BOARDINFO |
6341e62b | 39 | bool |
9c1600ed DB |
40 | default y |
41 | ||
2bb5095a | 42 | config I2C_COMPAT |
6341e62b | 43 | bool "Enable compatibility bits for old user-space" |
2bb5095a JD |
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 | ||
1da177e4 LT |
50 | config I2C_CHARDEV |
51 | tristate "I2C device interface" | |
1da177e4 LT |
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 | ||
0826374b ML |
61 | config I2C_MUX |
62 | tristate "I2C bus multiplexing support" | |
0826374b ML |
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 | ||
7f528135 ML |
71 | source drivers/i2c/muxes/Kconfig |
72 | ||
8d24f8dc JD |
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 | ||
e2ca3074 | 87 | config I2C_SMBUS |
dfc518dd | 88 | tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO |
e2ca3074 JD |
89 | help |
90 | Say Y here if you want support for SMBus extensions to the I2C | |
d380a204 JD |
91 | specification. At the moment, two extensions are supported: |
92 | the SMBus Alert protocol and the SMBus Host Notify protocol. | |
e2ca3074 JD |
93 | |
94 | This support is also available as a module. If so, the module | |
95 | will be called i2c-smbus. | |
96 | ||
1da177e4 LT |
97 | source drivers/i2c/algos/Kconfig |
98 | source drivers/i2c/busses/Kconfig | |
1da177e4 | 99 | |
3ddb59d4 PH |
100 | config I2C_STUB |
101 | tristate "I2C/SMBus Test Stub" | |
417e86ce | 102 | depends on m |
3ddb59d4 PH |
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 | ||
389be323 WS |
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 | ||
1da177e4 LT |
123 | config I2C_DEBUG_CORE |
124 | bool "I2C Core debugging messages" | |
1da177e4 LT |
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" | |
1da177e4 LT |
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" | |
3ddb59d4 | 140 | depends on HAS_IOMEM |
1da177e4 LT |
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 | ||
16538e6b | 147 | endif # I2C |
da3c6647 LT |
148 | |
149 | endmenu |