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 |
1da177e4 | 10 | ---help--- |
622e040d | 11 | I2C (pronounce: I-squared-C) is a slow serial bus protocol used in |
1da177e4 LT |
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 | ||
da3c6647 LT |
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 | ||
16538e6b JE |
38 | if I2C |
39 | ||
9c1600ed DB |
40 | config I2C_BOARDINFO |
41 | boolean | |
9c1600ed DB |
42 | default y |
43 | ||
2bb5095a JD |
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 | ||
1da177e4 LT |
52 | config I2C_CHARDEV |
53 | tristate "I2C device interface" | |
1da177e4 LT |
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 | ||
0826374b ML |
63 | config I2C_MUX |
64 | tristate "I2C bus multiplexing support" | |
3ddb59d4 | 65 | depends on HAS_IOMEM |
0826374b ML |
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 | ||
7f528135 ML |
74 | source drivers/i2c/muxes/Kconfig |
75 | ||
8d24f8dc JD |
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 | ||
e2ca3074 | 90 | config I2C_SMBUS |
dfc518dd | 91 | tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO |
e2ca3074 JD |
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 | ||
1da177e4 LT |
100 | source drivers/i2c/algos/Kconfig |
101 | source drivers/i2c/busses/Kconfig | |
1da177e4 | 102 | |
3ddb59d4 PH |
103 | config I2C_STUB |
104 | tristate "I2C/SMBus Test Stub" | |
417e86ce | 105 | depends on m |
3ddb59d4 PH |
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 | ||
1da177e4 LT |
116 | config I2C_DEBUG_CORE |
117 | bool "I2C Core debugging messages" | |
1da177e4 LT |
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" | |
1da177e4 LT |
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" | |
3ddb59d4 | 133 | depends on HAS_IOMEM |
1da177e4 LT |
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 | ||
16538e6b | 140 | endif # I2C |
da3c6647 LT |
141 | |
142 | endmenu |