1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Sensor device configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunmenu "I2C Hardware Bus support" 7*4882a593Smuzhiyun depends on HAS_IOMEM 8*4882a593Smuzhiyun 9*4882a593Smuzhiyuncomment "PC SMBus host controller drivers" 10*4882a593Smuzhiyun depends on PCI 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig I2C_ALI1535 13*4882a593Smuzhiyun tristate "ALI 1535" 14*4882a593Smuzhiyun depends on PCI 15*4882a593Smuzhiyun help 16*4882a593Smuzhiyun If you say yes to this option, support will be included for the SMB 17*4882a593Smuzhiyun Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB 18*4882a593Smuzhiyun controller is part of the 7101 device, which is an ACPI-compliant 19*4882a593Smuzhiyun Power Management Unit (PMU). 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 22*4882a593Smuzhiyun will be called i2c-ali1535. 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunconfig I2C_ALI1563 25*4882a593Smuzhiyun tristate "ALI 1563" 26*4882a593Smuzhiyun depends on PCI 27*4882a593Smuzhiyun help 28*4882a593Smuzhiyun If you say yes to this option, support will be included for the SMB 29*4882a593Smuzhiyun Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB 30*4882a593Smuzhiyun controller is part of the 7101 device, which is an ACPI-compliant 31*4882a593Smuzhiyun Power Management Unit (PMU). 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 34*4882a593Smuzhiyun will be called i2c-ali1563. 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunconfig I2C_ALI15X3 37*4882a593Smuzhiyun tristate "ALI 15x3" 38*4882a593Smuzhiyun depends on PCI 39*4882a593Smuzhiyun help 40*4882a593Smuzhiyun If you say yes to this option, support will be included for the 41*4882a593Smuzhiyun Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 44*4882a593Smuzhiyun will be called i2c-ali15x3. 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunconfig I2C_AMD756 47*4882a593Smuzhiyun tristate "AMD 756/766/768/8111 and nVidia nForce" 48*4882a593Smuzhiyun depends on PCI 49*4882a593Smuzhiyun help 50*4882a593Smuzhiyun If you say yes to this option, support will be included for the AMD 51*4882a593Smuzhiyun 756/766/768 mainboard I2C interfaces. The driver also includes 52*4882a593Smuzhiyun support for the first (SMBus 1.0) I2C interface of the AMD 8111 and 53*4882a593Smuzhiyun the nVidia nForce I2C interface. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 56*4882a593Smuzhiyun will be called i2c-amd756. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig I2C_AMD756_S4882 59*4882a593Smuzhiyun tristate "SMBus multiplexing on the Tyan S4882" 60*4882a593Smuzhiyun depends on I2C_AMD756 && X86 61*4882a593Smuzhiyun help 62*4882a593Smuzhiyun Enabling this option will add specific SMBus support for the Tyan 63*4882a593Smuzhiyun S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed 64*4882a593Smuzhiyun over 8 different channels, where the various memory module EEPROMs 65*4882a593Smuzhiyun and temperature sensors live. Saying yes here will give you access 66*4882a593Smuzhiyun to these in addition to the trunk. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 69*4882a593Smuzhiyun will be called i2c-amd756-s4882. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunconfig I2C_AMD8111 72*4882a593Smuzhiyun tristate "AMD 8111" 73*4882a593Smuzhiyun depends on PCI 74*4882a593Smuzhiyun help 75*4882a593Smuzhiyun If you say yes to this option, support will be included for the 76*4882a593Smuzhiyun second (SMBus 2.0) AMD 8111 mainboard I2C interface. 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 79*4882a593Smuzhiyun will be called i2c-amd8111. 80*4882a593Smuzhiyun 81*4882a593Smuzhiyunconfig I2C_AMD_MP2 82*4882a593Smuzhiyun tristate "AMD MP2 PCIe" 83*4882a593Smuzhiyun depends on PCI && ACPI 84*4882a593Smuzhiyun help 85*4882a593Smuzhiyun If you say yes to this option, support will be included for the AMD 86*4882a593Smuzhiyun MP2 PCIe I2C adapter. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun This driver can also be built as modules. If so, the modules will 89*4882a593Smuzhiyun be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyunconfig I2C_HIX5HD2 92*4882a593Smuzhiyun tristate "Hix5hd2 high-speed I2C driver" 93*4882a593Smuzhiyun depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST 94*4882a593Smuzhiyun help 95*4882a593Smuzhiyun Say Y here to include support for the high-speed I2C controller 96*4882a593Smuzhiyun used in HiSilicon hix5hd2 SoCs. 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 99*4882a593Smuzhiyun will be called i2c-hix5hd2. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunconfig I2C_I801 102*4882a593Smuzhiyun tristate "Intel 82801 (ICH/PCH)" 103*4882a593Smuzhiyun depends on PCI 104*4882a593Smuzhiyun select CHECK_SIGNATURE if X86 && DMI 105*4882a593Smuzhiyun select I2C_SMBUS 106*4882a593Smuzhiyun help 107*4882a593Smuzhiyun If you say yes to this option, support will be included for the Intel 108*4882a593Smuzhiyun 801 family of mainboard I2C interfaces. Specifically, the following 109*4882a593Smuzhiyun versions of the chipset are supported: 110*4882a593Smuzhiyun 82801AA 111*4882a593Smuzhiyun 82801AB 112*4882a593Smuzhiyun 82801BA 113*4882a593Smuzhiyun 82801CA/CAM 114*4882a593Smuzhiyun 82801DB 115*4882a593Smuzhiyun 82801EB/ER (ICH5/ICH5R) 116*4882a593Smuzhiyun 6300ESB 117*4882a593Smuzhiyun ICH6 118*4882a593Smuzhiyun ICH7 119*4882a593Smuzhiyun ESB2 120*4882a593Smuzhiyun ICH8 121*4882a593Smuzhiyun ICH9 122*4882a593Smuzhiyun EP80579 (Tolapai) 123*4882a593Smuzhiyun ICH10 124*4882a593Smuzhiyun 5/3400 Series (PCH) 125*4882a593Smuzhiyun 6 Series (PCH) 126*4882a593Smuzhiyun Patsburg (PCH) 127*4882a593Smuzhiyun DH89xxCC (PCH) 128*4882a593Smuzhiyun Panther Point (PCH) 129*4882a593Smuzhiyun Lynx Point (PCH) 130*4882a593Smuzhiyun Avoton (SOC) 131*4882a593Smuzhiyun Wellsburg (PCH) 132*4882a593Smuzhiyun Coleto Creek (PCH) 133*4882a593Smuzhiyun Wildcat Point (PCH) 134*4882a593Smuzhiyun BayTrail (SOC) 135*4882a593Smuzhiyun Braswell (SOC) 136*4882a593Smuzhiyun Sunrise Point (PCH) 137*4882a593Smuzhiyun Kaby Lake (PCH) 138*4882a593Smuzhiyun DNV (SOC) 139*4882a593Smuzhiyun Broxton (SOC) 140*4882a593Smuzhiyun Lewisburg (PCH) 141*4882a593Smuzhiyun Gemini Lake (SOC) 142*4882a593Smuzhiyun Cannon Lake (PCH) 143*4882a593Smuzhiyun Cedar Fork (PCH) 144*4882a593Smuzhiyun Ice Lake (PCH) 145*4882a593Smuzhiyun Comet Lake (PCH) 146*4882a593Smuzhiyun Elkhart Lake (PCH) 147*4882a593Smuzhiyun Tiger Lake (PCH) 148*4882a593Smuzhiyun Jasper Lake (SOC) 149*4882a593Smuzhiyun Emmitsburg (PCH) 150*4882a593Smuzhiyun Alder Lake (PCH) 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 153*4882a593Smuzhiyun will be called i2c-i801. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyunconfig I2C_ISCH 156*4882a593Smuzhiyun tristate "Intel SCH SMBus 1.0" 157*4882a593Smuzhiyun depends on PCI 158*4882a593Smuzhiyun select LPC_SCH 159*4882a593Smuzhiyun help 160*4882a593Smuzhiyun Say Y here if you want to use SMBus controller on the Intel SCH 161*4882a593Smuzhiyun based systems. 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 164*4882a593Smuzhiyun will be called i2c-isch. 165*4882a593Smuzhiyun 166*4882a593Smuzhiyunconfig I2C_ISMT 167*4882a593Smuzhiyun tristate "Intel iSMT SMBus Controller" 168*4882a593Smuzhiyun depends on PCI && X86 169*4882a593Smuzhiyun help 170*4882a593Smuzhiyun If you say yes to this option, support will be included for the Intel 171*4882a593Smuzhiyun iSMT SMBus host controller interface. 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 174*4882a593Smuzhiyun called i2c-ismt. 175*4882a593Smuzhiyun 176*4882a593Smuzhiyunconfig I2C_PIIX4 177*4882a593Smuzhiyun tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" 178*4882a593Smuzhiyun depends on PCI 179*4882a593Smuzhiyun help 180*4882a593Smuzhiyun If you say yes to this option, support will be included for the Intel 181*4882a593Smuzhiyun PIIX4 family of mainboard I2C interfaces. Specifically, the following 182*4882a593Smuzhiyun versions of the chipset are supported (note that Serverworks is part 183*4882a593Smuzhiyun of Broadcom): 184*4882a593Smuzhiyun Intel PIIX4 185*4882a593Smuzhiyun Intel 440MX 186*4882a593Smuzhiyun ATI IXP200 187*4882a593Smuzhiyun ATI IXP300 188*4882a593Smuzhiyun ATI IXP400 189*4882a593Smuzhiyun ATI SB600 190*4882a593Smuzhiyun ATI SB700/SP5100 191*4882a593Smuzhiyun ATI SB800 192*4882a593Smuzhiyun AMD Hudson-2 193*4882a593Smuzhiyun AMD ML 194*4882a593Smuzhiyun AMD CZ 195*4882a593Smuzhiyun Hygon CZ 196*4882a593Smuzhiyun Serverworks OSB4 197*4882a593Smuzhiyun Serverworks CSB5 198*4882a593Smuzhiyun Serverworks CSB6 199*4882a593Smuzhiyun Serverworks HT-1000 200*4882a593Smuzhiyun Serverworks HT-1100 201*4882a593Smuzhiyun SMSC Victory66 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun Some AMD chipsets contain two PIIX4-compatible SMBus 204*4882a593Smuzhiyun controllers. This driver will attempt to use both controllers 205*4882a593Smuzhiyun on the SB700/SP5100, if they have been initialized by the BIOS. 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 208*4882a593Smuzhiyun will be called i2c-piix4. 209*4882a593Smuzhiyun 210*4882a593Smuzhiyunconfig I2C_CHT_WC 211*4882a593Smuzhiyun tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" 212*4882a593Smuzhiyun depends on INTEL_SOC_PMIC_CHTWC 213*4882a593Smuzhiyun help 214*4882a593Smuzhiyun If you say yes to this option, support will be included for the 215*4882a593Smuzhiyun SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC 216*4882a593Smuzhiyun found on some Intel Cherry Trail systems. 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun Note this controller is hooked up to a TI bq24292i charger-IC, 219*4882a593Smuzhiyun combined with a FUSB302 Type-C port-controller as such it is advised 220*4882a593Smuzhiyun to also select CONFIG_TYPEC_FUSB302=m. 221*4882a593Smuzhiyun 222*4882a593Smuzhiyunconfig I2C_NFORCE2 223*4882a593Smuzhiyun tristate "Nvidia nForce2, nForce3 and nForce4" 224*4882a593Smuzhiyun depends on PCI 225*4882a593Smuzhiyun help 226*4882a593Smuzhiyun If you say yes to this option, support will be included for the Nvidia 227*4882a593Smuzhiyun nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 230*4882a593Smuzhiyun will be called i2c-nforce2. 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunconfig I2C_NFORCE2_S4985 233*4882a593Smuzhiyun tristate "SMBus multiplexing on the Tyan S4985" 234*4882a593Smuzhiyun depends on I2C_NFORCE2 && X86 235*4882a593Smuzhiyun help 236*4882a593Smuzhiyun Enabling this option will add specific SMBus support for the Tyan 237*4882a593Smuzhiyun S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed 238*4882a593Smuzhiyun over 4 different channels, where the various memory module EEPROMs 239*4882a593Smuzhiyun live. Saying yes here will give you access to these in addition 240*4882a593Smuzhiyun to the trunk. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 243*4882a593Smuzhiyun will be called i2c-nforce2-s4985. 244*4882a593Smuzhiyun 245*4882a593Smuzhiyunconfig I2C_NVIDIA_GPU 246*4882a593Smuzhiyun tristate "NVIDIA GPU I2C controller" 247*4882a593Smuzhiyun depends on PCI 248*4882a593Smuzhiyun help 249*4882a593Smuzhiyun If you say yes to this option, support will be included for the 250*4882a593Smuzhiyun NVIDIA GPU I2C controller which is used to communicate with the GPU's 251*4882a593Smuzhiyun Type-C controller. This driver can also be built as a module called 252*4882a593Smuzhiyun i2c-nvidia-gpu. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunconfig I2C_SIS5595 255*4882a593Smuzhiyun tristate "SiS 5595" 256*4882a593Smuzhiyun depends on PCI 257*4882a593Smuzhiyun help 258*4882a593Smuzhiyun If you say yes to this option, support will be included for the 259*4882a593Smuzhiyun SiS5595 SMBus (a subset of I2C) interface. 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 262*4882a593Smuzhiyun will be called i2c-sis5595. 263*4882a593Smuzhiyun 264*4882a593Smuzhiyunconfig I2C_SIS630 265*4882a593Smuzhiyun tristate "SiS 630/730/964" 266*4882a593Smuzhiyun depends on PCI 267*4882a593Smuzhiyun help 268*4882a593Smuzhiyun If you say yes to this option, support will be included for the 269*4882a593Smuzhiyun SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 272*4882a593Smuzhiyun will be called i2c-sis630. 273*4882a593Smuzhiyun 274*4882a593Smuzhiyunconfig I2C_SIS96X 275*4882a593Smuzhiyun tristate "SiS 96x" 276*4882a593Smuzhiyun depends on PCI 277*4882a593Smuzhiyun help 278*4882a593Smuzhiyun If you say yes to this option, support will be included for the SiS 279*4882a593Smuzhiyun 96x SMBus (a subset of I2C) interfaces. Specifically, the following 280*4882a593Smuzhiyun chipsets are supported: 281*4882a593Smuzhiyun 645/961 282*4882a593Smuzhiyun 645DX/961 283*4882a593Smuzhiyun 645DX/962 284*4882a593Smuzhiyun 648/961 285*4882a593Smuzhiyun 650/961 286*4882a593Smuzhiyun 735 287*4882a593Smuzhiyun 745 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 290*4882a593Smuzhiyun will be called i2c-sis96x. 291*4882a593Smuzhiyun 292*4882a593Smuzhiyunconfig I2C_VIA 293*4882a593Smuzhiyun tristate "VIA VT82C586B" 294*4882a593Smuzhiyun depends on PCI 295*4882a593Smuzhiyun select I2C_ALGOBIT 296*4882a593Smuzhiyun help 297*4882a593Smuzhiyun If you say yes to this option, support will be included for the VIA 298*4882a593Smuzhiyun 82C586B I2C interface 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 301*4882a593Smuzhiyun will be called i2c-via. 302*4882a593Smuzhiyun 303*4882a593Smuzhiyunconfig I2C_VIAPRO 304*4882a593Smuzhiyun tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" 305*4882a593Smuzhiyun depends on PCI 306*4882a593Smuzhiyun help 307*4882a593Smuzhiyun If you say yes to this option, support will be included for the VIA 308*4882a593Smuzhiyun VT82C596 and later SMBus interface. Specifically, the following 309*4882a593Smuzhiyun chipsets are supported: 310*4882a593Smuzhiyun VT82C596A/B 311*4882a593Smuzhiyun VT82C686A/B 312*4882a593Smuzhiyun VT8231 313*4882a593Smuzhiyun VT8233/A 314*4882a593Smuzhiyun VT8235 315*4882a593Smuzhiyun VT8237R/A/S 316*4882a593Smuzhiyun VT8251 317*4882a593Smuzhiyun CX700 318*4882a593Smuzhiyun VX800/VX820 319*4882a593Smuzhiyun VX855/VX875 320*4882a593Smuzhiyun VX900 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 323*4882a593Smuzhiyun will be called i2c-viapro. 324*4882a593Smuzhiyun 325*4882a593Smuzhiyunif ACPI 326*4882a593Smuzhiyun 327*4882a593Smuzhiyuncomment "ACPI drivers" 328*4882a593Smuzhiyun 329*4882a593Smuzhiyunconfig I2C_SCMI 330*4882a593Smuzhiyun tristate "SMBus Control Method Interface" 331*4882a593Smuzhiyun help 332*4882a593Smuzhiyun This driver supports the SMBus Control Method Interface. It needs the 333*4882a593Smuzhiyun BIOS to declare ACPI control methods as described in the SMBus Control 334*4882a593Smuzhiyun Method Interface specification. 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun To compile this driver as a module, choose M here: 337*4882a593Smuzhiyun the module will be called i2c-scmi. 338*4882a593Smuzhiyun 339*4882a593Smuzhiyunendif # ACPI 340*4882a593Smuzhiyun 341*4882a593Smuzhiyuncomment "Mac SMBus host controller drivers" 342*4882a593Smuzhiyun depends on PPC_CHRP || PPC_PMAC 343*4882a593Smuzhiyun 344*4882a593Smuzhiyunconfig I2C_HYDRA 345*4882a593Smuzhiyun tristate "CHRP Apple Hydra Mac I/O I2C interface" 346*4882a593Smuzhiyun depends on PCI && PPC_CHRP 347*4882a593Smuzhiyun select I2C_ALGOBIT 348*4882a593Smuzhiyun help 349*4882a593Smuzhiyun This supports the use of the I2C interface in the Apple Hydra Mac 350*4882a593Smuzhiyun I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you 351*4882a593Smuzhiyun have such a machine. 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun This support is also available as a module. If so, the module 354*4882a593Smuzhiyun will be called i2c-hydra. 355*4882a593Smuzhiyun 356*4882a593Smuzhiyunconfig I2C_POWERMAC 357*4882a593Smuzhiyun tristate "Powermac I2C interface" 358*4882a593Smuzhiyun depends on PPC_PMAC 359*4882a593Smuzhiyun default y 360*4882a593Smuzhiyun help 361*4882a593Smuzhiyun This exposes the various PowerMac i2c interfaces to the linux i2c 362*4882a593Smuzhiyun layer and to userland. It is used by various drivers on the PowerMac 363*4882a593Smuzhiyun platform, and should generally be enabled. 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun This support is also available as a module. If so, the module 366*4882a593Smuzhiyun will be called i2c-powermac. 367*4882a593Smuzhiyun 368*4882a593Smuzhiyuncomment "I2C system bus drivers (mostly embedded / system-on-chip)" 369*4882a593Smuzhiyun 370*4882a593Smuzhiyunconfig I2C_ALTERA 371*4882a593Smuzhiyun tristate "Altera Soft IP I2C" 372*4882a593Smuzhiyun depends on ARCH_SOCFPGA || NIOS2 || COMPILE_TEST 373*4882a593Smuzhiyun depends on OF 374*4882a593Smuzhiyun help 375*4882a593Smuzhiyun If you say yes to this option, support will be included for the 376*4882a593Smuzhiyun Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures. 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 379*4882a593Smuzhiyun will be called i2c-altera. 380*4882a593Smuzhiyun 381*4882a593Smuzhiyunconfig I2C_ASPEED 382*4882a593Smuzhiyun tristate "Aspeed I2C Controller" 383*4882a593Smuzhiyun depends on ARCH_ASPEED || COMPILE_TEST 384*4882a593Smuzhiyun help 385*4882a593Smuzhiyun If you say yes to this option, support will be included for the 386*4882a593Smuzhiyun Aspeed I2C controller. 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 389*4882a593Smuzhiyun will be called i2c-aspeed. 390*4882a593Smuzhiyun 391*4882a593Smuzhiyunconfig I2C_AT91 392*4882a593Smuzhiyun tristate "Atmel AT91 I2C Two-Wire interface (TWI)" 393*4882a593Smuzhiyun depends on ARCH_AT91 || COMPILE_TEST 394*4882a593Smuzhiyun help 395*4882a593Smuzhiyun This supports the use of the I2C interface on Atmel AT91 396*4882a593Smuzhiyun processors. 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun A serious problem is that there is no documented way to issue 399*4882a593Smuzhiyun repeated START conditions for more than two messages, as needed 400*4882a593Smuzhiyun to support combined I2C messages. Use the i2c-gpio driver 401*4882a593Smuzhiyun unless your system can cope with this limitation. 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices 404*4882a593Smuzhiyun don't have clock stretching in transmission mode. For that reason, 405*4882a593Smuzhiyun you can encounter underrun issues causing premature stop sendings if 406*4882a593Smuzhiyun the latency to fill the transmission register is too long. If you 407*4882a593Smuzhiyun are facing this situation, use the i2c-gpio driver. 408*4882a593Smuzhiyun 409*4882a593Smuzhiyunconfig I2C_AT91_SLAVE_EXPERIMENTAL 410*4882a593Smuzhiyun tristate "Microchip AT91 I2C experimental slave mode" 411*4882a593Smuzhiyun depends on I2C_AT91 412*4882a593Smuzhiyun select I2C_SLAVE 413*4882a593Smuzhiyun help 414*4882a593Smuzhiyun If you say yes to this option, support for the slave mode will be 415*4882a593Smuzhiyun added. Caution: do not use it for production. This feature has not 416*4882a593Smuzhiyun been tested in a heavy way, help wanted. 417*4882a593Smuzhiyun There are known bugs: 418*4882a593Smuzhiyun - It can hang, on a SAMA5D4, after several transfers. 419*4882a593Smuzhiyun - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as 420*4882a593Smuzhiyun master. 421*4882a593Smuzhiyun 422*4882a593Smuzhiyunconfig I2C_AU1550 423*4882a593Smuzhiyun tristate "Au1550/Au1200/Au1300 SMBus interface" 424*4882a593Smuzhiyun depends on MIPS_ALCHEMY 425*4882a593Smuzhiyun help 426*4882a593Smuzhiyun If you say yes to this option, support will be included for the 427*4882a593Smuzhiyun Au1550/Au1200/Au1300 SMBus interface. 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 430*4882a593Smuzhiyun will be called i2c-au1550. 431*4882a593Smuzhiyun 432*4882a593Smuzhiyunconfig I2C_AXXIA 433*4882a593Smuzhiyun tristate "Axxia I2C controller" 434*4882a593Smuzhiyun depends on ARCH_AXXIA || COMPILE_TEST 435*4882a593Smuzhiyun default ARCH_AXXIA 436*4882a593Smuzhiyun select I2C_SLAVE 437*4882a593Smuzhiyun help 438*4882a593Smuzhiyun Say yes if you want to support the I2C bus on Axxia platforms. 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun Please note that this controller is limited to transfers of maximum 441*4882a593Smuzhiyun 255 bytes in length. Any attempt to to a larger transfer will return 442*4882a593Smuzhiyun an error. 443*4882a593Smuzhiyun 444*4882a593Smuzhiyunconfig I2C_BCM2835 445*4882a593Smuzhiyun tristate "Broadcom BCM2835 I2C controller" 446*4882a593Smuzhiyun depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 447*4882a593Smuzhiyun depends on COMMON_CLK 448*4882a593Smuzhiyun help 449*4882a593Smuzhiyun If you say yes to this option, support will be included for the 450*4882a593Smuzhiyun BCM2835 I2C controller. 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun If you don't know what to do here, say N. 453*4882a593Smuzhiyun 454*4882a593Smuzhiyun This support is also available as a module. If so, the module 455*4882a593Smuzhiyun will be called i2c-bcm2835. 456*4882a593Smuzhiyun 457*4882a593Smuzhiyunconfig I2C_BCM_IPROC 458*4882a593Smuzhiyun tristate "Broadcom iProc I2C controller" 459*4882a593Smuzhiyun depends on ARCH_BCM_IPROC || COMPILE_TEST 460*4882a593Smuzhiyun default ARCH_BCM_IPROC 461*4882a593Smuzhiyun select I2C_SLAVE 462*4882a593Smuzhiyun help 463*4882a593Smuzhiyun If you say yes to this option, support will be included for the 464*4882a593Smuzhiyun Broadcom iProc I2C controller. 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun If you don't know what to do here, say N. 467*4882a593Smuzhiyun 468*4882a593Smuzhiyunconfig I2C_BCM_KONA 469*4882a593Smuzhiyun tristate "BCM Kona I2C adapter" 470*4882a593Smuzhiyun depends on ARCH_BCM_MOBILE || COMPILE_TEST 471*4882a593Smuzhiyun default y if ARCH_BCM_MOBILE 472*4882a593Smuzhiyun help 473*4882a593Smuzhiyun If you say yes to this option, support will be included for the 474*4882a593Smuzhiyun I2C interface on the Broadcom Kona family of processors. 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun If you do not need KONA I2C interface, say N. 477*4882a593Smuzhiyun 478*4882a593Smuzhiyunconfig I2C_BRCMSTB 479*4882a593Smuzhiyun tristate "BRCM Settop/DSL I2C controller" 480*4882a593Smuzhiyun depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC || \ 481*4882a593Smuzhiyun ARCH_BCM_63XX || COMPILE_TEST 482*4882a593Smuzhiyun default y 483*4882a593Smuzhiyun help 484*4882a593Smuzhiyun If you say yes to this option, support will be included for the 485*4882a593Smuzhiyun I2C interface on the Broadcom Settop/DSL SoCs. 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun If you do not need I2C interface, say N. 488*4882a593Smuzhiyun 489*4882a593Smuzhiyunconfig I2C_CADENCE 490*4882a593Smuzhiyun tristate "Cadence I2C Controller" 491*4882a593Smuzhiyun depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST 492*4882a593Smuzhiyun help 493*4882a593Smuzhiyun Say yes here to select Cadence I2C Host Controller. This controller is 494*4882a593Smuzhiyun e.g. used by Xilinx Zynq. 495*4882a593Smuzhiyun 496*4882a593Smuzhiyunconfig I2C_CBUS_GPIO 497*4882a593Smuzhiyun tristate "CBUS I2C driver" 498*4882a593Smuzhiyun depends on GPIOLIB || COMPILE_TEST 499*4882a593Smuzhiyun help 500*4882a593Smuzhiyun Support for CBUS access using I2C API. Mostly relevant for Nokia 501*4882a593Smuzhiyun Internet Tablets (770, N800 and N810). 502*4882a593Smuzhiyun 503*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 504*4882a593Smuzhiyun will be called i2c-cbus-gpio. 505*4882a593Smuzhiyun 506*4882a593Smuzhiyunconfig I2C_CPM 507*4882a593Smuzhiyun tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" 508*4882a593Smuzhiyun depends on CPM1 || CPM2 509*4882a593Smuzhiyun help 510*4882a593Smuzhiyun This supports the use of the I2C interface on Freescale 511*4882a593Smuzhiyun processors with CPM1 or CPM2. 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 514*4882a593Smuzhiyun will be called i2c-cpm. 515*4882a593Smuzhiyun 516*4882a593Smuzhiyunconfig I2C_DAVINCI 517*4882a593Smuzhiyun tristate "DaVinci I2C driver" 518*4882a593Smuzhiyun depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST 519*4882a593Smuzhiyun help 520*4882a593Smuzhiyun Support for TI DaVinci I2C controller driver. 521*4882a593Smuzhiyun 522*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 523*4882a593Smuzhiyun will be called i2c-davinci. 524*4882a593Smuzhiyun 525*4882a593Smuzhiyun Please note that this driver might be needed to bring up other 526*4882a593Smuzhiyun devices such as DaVinci NIC. 527*4882a593Smuzhiyun For details please see http://www.ti.com/davinci 528*4882a593Smuzhiyun 529*4882a593Smuzhiyunconfig I2C_DESIGNWARE_CORE 530*4882a593Smuzhiyun tristate 531*4882a593Smuzhiyun select REGMAP 532*4882a593Smuzhiyun 533*4882a593Smuzhiyunconfig I2C_DESIGNWARE_SLAVE 534*4882a593Smuzhiyun bool "Synopsys DesignWare Slave" 535*4882a593Smuzhiyun depends on I2C_DESIGNWARE_CORE 536*4882a593Smuzhiyun select I2C_SLAVE 537*4882a593Smuzhiyun help 538*4882a593Smuzhiyun If you say yes to this option, support will be included for the 539*4882a593Smuzhiyun Synopsys DesignWare I2C slave adapter. 540*4882a593Smuzhiyun 541*4882a593Smuzhiyun This is not a standalone module, this module compiles together with 542*4882a593Smuzhiyun i2c-designware-core. 543*4882a593Smuzhiyun 544*4882a593Smuzhiyunconfig I2C_DESIGNWARE_PLATFORM 545*4882a593Smuzhiyun tristate "Synopsys DesignWare Platform" 546*4882a593Smuzhiyun depends on (ACPI && COMMON_CLK) || !ACPI 547*4882a593Smuzhiyun select I2C_DESIGNWARE_CORE 548*4882a593Smuzhiyun select MFD_SYSCON if MIPS_BAIKAL_T1 549*4882a593Smuzhiyun help 550*4882a593Smuzhiyun If you say yes to this option, support will be included for the 551*4882a593Smuzhiyun Synopsys DesignWare I2C adapter. 552*4882a593Smuzhiyun 553*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 554*4882a593Smuzhiyun will be called i2c-designware-platform. 555*4882a593Smuzhiyun 556*4882a593Smuzhiyunconfig I2C_DESIGNWARE_BAYTRAIL 557*4882a593Smuzhiyun bool "Intel Baytrail I2C semaphore support" 558*4882a593Smuzhiyun depends on ACPI 559*4882a593Smuzhiyun depends on I2C_DESIGNWARE_PLATFORM 560*4882a593Smuzhiyun depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ 561*4882a593Smuzhiyun (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) 562*4882a593Smuzhiyun help 563*4882a593Smuzhiyun This driver enables managed host access to the PMIC I2C bus on select 564*4882a593Smuzhiyun Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows 565*4882a593Smuzhiyun the host to request uninterrupted access to the PMIC's I2C bus from 566*4882a593Smuzhiyun the platform firmware controlling it. You should say Y if running on 567*4882a593Smuzhiyun a BayTrail system using the AXP288. 568*4882a593Smuzhiyun 569*4882a593Smuzhiyunconfig I2C_DESIGNWARE_PCI 570*4882a593Smuzhiyun tristate "Synopsys DesignWare PCI" 571*4882a593Smuzhiyun depends on PCI 572*4882a593Smuzhiyun select I2C_DESIGNWARE_CORE 573*4882a593Smuzhiyun help 574*4882a593Smuzhiyun If you say yes to this option, support will be included for the 575*4882a593Smuzhiyun Synopsys DesignWare I2C adapter. Only master mode is supported. 576*4882a593Smuzhiyun 577*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 578*4882a593Smuzhiyun will be called i2c-designware-pci. 579*4882a593Smuzhiyun 580*4882a593Smuzhiyunconfig I2C_DIGICOLOR 581*4882a593Smuzhiyun tristate "Conexant Digicolor I2C driver" 582*4882a593Smuzhiyun depends on ARCH_DIGICOLOR || COMPILE_TEST 583*4882a593Smuzhiyun help 584*4882a593Smuzhiyun Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. 585*4882a593Smuzhiyun 586*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 587*4882a593Smuzhiyun will be called i2c-digicolor. 588*4882a593Smuzhiyun 589*4882a593Smuzhiyunconfig I2C_EFM32 590*4882a593Smuzhiyun tristate "EFM32 I2C controller" 591*4882a593Smuzhiyun depends on ARCH_EFM32 || COMPILE_TEST 592*4882a593Smuzhiyun help 593*4882a593Smuzhiyun This driver supports the i2c block found in Energy Micro's EFM32 594*4882a593Smuzhiyun SoCs. 595*4882a593Smuzhiyun 596*4882a593Smuzhiyunconfig I2C_EG20T 597*4882a593Smuzhiyun tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" 598*4882a593Smuzhiyun depends on PCI && (X86_32 || MIPS || COMPILE_TEST) 599*4882a593Smuzhiyun help 600*4882a593Smuzhiyun This driver is for PCH(Platform controller Hub) I2C of EG20T which 601*4882a593Smuzhiyun is an IOH(Input/Output Hub) for x86 embedded processor. 602*4882a593Smuzhiyun This driver can access PCH I2C bus device. 603*4882a593Smuzhiyun 604*4882a593Smuzhiyun This driver also can be used for LAPIS Semiconductor IOH(Input/ 605*4882a593Smuzhiyun Output Hub), ML7213, ML7223 and ML7831. 606*4882a593Smuzhiyun ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is 607*4882a593Smuzhiyun for MP(Media Phone) use and ML7831 IOH is for general purpose use. 608*4882a593Smuzhiyun ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. 609*4882a593Smuzhiyun ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. 610*4882a593Smuzhiyun 611*4882a593Smuzhiyunconfig I2C_EMEV2 612*4882a593Smuzhiyun tristate "EMMA Mobile series I2C adapter" 613*4882a593Smuzhiyun depends on HAVE_CLK 614*4882a593Smuzhiyun select I2C_SLAVE 615*4882a593Smuzhiyun help 616*4882a593Smuzhiyun If you say yes to this option, support will be included for the 617*4882a593Smuzhiyun I2C interface on the Renesas Electronics EM/EV family of processors. 618*4882a593Smuzhiyun 619*4882a593Smuzhiyunconfig I2C_EXYNOS5 620*4882a593Smuzhiyun tristate "Exynos high-speed I2C driver" 621*4882a593Smuzhiyun depends on OF 622*4882a593Smuzhiyun depends on ARCH_EXYNOS || COMPILE_TEST 623*4882a593Smuzhiyun default y if ARCH_EXYNOS 624*4882a593Smuzhiyun help 625*4882a593Smuzhiyun High-speed I2C controller on Exynos5 and newer Samsung SoCs. 626*4882a593Smuzhiyun 627*4882a593Smuzhiyunconfig I2C_GPIO 628*4882a593Smuzhiyun tristate "GPIO-based bitbanging I2C" 629*4882a593Smuzhiyun depends on GPIOLIB || COMPILE_TEST 630*4882a593Smuzhiyun select I2C_ALGOBIT 631*4882a593Smuzhiyun help 632*4882a593Smuzhiyun This is a very simple bitbanging I2C driver utilizing the 633*4882a593Smuzhiyun arch-neutral GPIO API to control the SCL and SDA lines. 634*4882a593Smuzhiyun 635*4882a593Smuzhiyunconfig I2C_GPIO_FAULT_INJECTOR 636*4882a593Smuzhiyun bool "GPIO-based fault injector" 637*4882a593Smuzhiyun depends on I2C_GPIO 638*4882a593Smuzhiyun help 639*4882a593Smuzhiyun This adds some functionality to the i2c-gpio driver which can inject 640*4882a593Smuzhiyun faults to an I2C bus, so another bus master can be stress-tested. 641*4882a593Smuzhiyun This is for debugging. If unsure, say 'no'. 642*4882a593Smuzhiyun 643*4882a593Smuzhiyunconfig I2C_HIGHLANDER 644*4882a593Smuzhiyun tristate "Highlander FPGA SMBus interface" 645*4882a593Smuzhiyun depends on SH_HIGHLANDER || COMPILE_TEST 646*4882a593Smuzhiyun help 647*4882a593Smuzhiyun If you say yes to this option, support will be included for 648*4882a593Smuzhiyun the SMBus interface located in the FPGA on various Highlander 649*4882a593Smuzhiyun boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL 650*4882a593Smuzhiyun FPGAs. This is wholly unrelated to the SoC I2C. 651*4882a593Smuzhiyun 652*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 653*4882a593Smuzhiyun will be called i2c-highlander. 654*4882a593Smuzhiyun 655*4882a593Smuzhiyunconfig I2C_IBM_IIC 656*4882a593Smuzhiyun tristate "IBM PPC 4xx on-chip I2C interface" 657*4882a593Smuzhiyun depends on 4xx 658*4882a593Smuzhiyun help 659*4882a593Smuzhiyun Say Y here if you want to use IIC peripheral found on 660*4882a593Smuzhiyun embedded IBM PPC 4xx based systems. 661*4882a593Smuzhiyun 662*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 663*4882a593Smuzhiyun will be called i2c-ibm_iic. 664*4882a593Smuzhiyun 665*4882a593Smuzhiyunconfig I2C_IMG 666*4882a593Smuzhiyun tristate "Imagination Technologies I2C SCB Controller" 667*4882a593Smuzhiyun depends on MIPS || COMPILE_TEST 668*4882a593Smuzhiyun help 669*4882a593Smuzhiyun Say Y here if you want to use the IMG I2C SCB controller, 670*4882a593Smuzhiyun available on the TZ1090 and other IMG SoCs. 671*4882a593Smuzhiyun 672*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 673*4882a593Smuzhiyun will be called i2c-img-scb. 674*4882a593Smuzhiyun 675*4882a593Smuzhiyunconfig I2C_IMX 676*4882a593Smuzhiyun tristate "IMX I2C interface" 677*4882a593Smuzhiyun depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE 678*4882a593Smuzhiyun help 679*4882a593Smuzhiyun Say Y here if you want to use the IIC bus controller on 680*4882a593Smuzhiyun the Freescale i.MX/MXC, Layerscape or ColdFire processors. 681*4882a593Smuzhiyun 682*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 683*4882a593Smuzhiyun will be called i2c-imx. 684*4882a593Smuzhiyun 685*4882a593Smuzhiyunconfig I2C_IMX_LPI2C 686*4882a593Smuzhiyun tristate "IMX Low Power I2C interface" 687*4882a593Smuzhiyun depends on ARCH_MXC || COMPILE_TEST 688*4882a593Smuzhiyun help 689*4882a593Smuzhiyun Say Y here if you want to use the Low Power IIC bus controller 690*4882a593Smuzhiyun on the Freescale i.MX processors. 691*4882a593Smuzhiyun 692*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 693*4882a593Smuzhiyun will be called i2c-imx-lpi2c. 694*4882a593Smuzhiyun 695*4882a593Smuzhiyunconfig I2C_IOP3XX 696*4882a593Smuzhiyun tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" 697*4882a593Smuzhiyun depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST 698*4882a593Smuzhiyun help 699*4882a593Smuzhiyun Say Y here if you want to use the IIC bus controller on 700*4882a593Smuzhiyun the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. 701*4882a593Smuzhiyun 702*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 703*4882a593Smuzhiyun will be called i2c-iop3xx. 704*4882a593Smuzhiyun 705*4882a593Smuzhiyunconfig I2C_JZ4780 706*4882a593Smuzhiyun tristate "JZ4780 I2C controller interface support" 707*4882a593Smuzhiyun depends on MIPS || COMPILE_TEST 708*4882a593Smuzhiyun help 709*4882a593Smuzhiyun If you say yes to this option, support will be included for the 710*4882a593Smuzhiyun Ingenic JZ4780 I2C controller. 711*4882a593Smuzhiyun 712*4882a593Smuzhiyun If you don't know what to do here, say N. 713*4882a593Smuzhiyun 714*4882a593Smuzhiyunconfig I2C_KEMPLD 715*4882a593Smuzhiyun tristate "Kontron COM I2C Controller" 716*4882a593Smuzhiyun depends on MFD_KEMPLD 717*4882a593Smuzhiyun help 718*4882a593Smuzhiyun This enables support for the I2C bus interface on some Kontron ETX 719*4882a593Smuzhiyun and COMexpress (ETXexpress) modules. 720*4882a593Smuzhiyun 721*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 722*4882a593Smuzhiyun will be called i2c-kempld. 723*4882a593Smuzhiyun 724*4882a593Smuzhiyunconfig I2C_LPC2K 725*4882a593Smuzhiyun tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx" 726*4882a593Smuzhiyun depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 727*4882a593Smuzhiyun help 728*4882a593Smuzhiyun This driver supports the I2C interface found several NXP 729*4882a593Smuzhiyun devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. 730*4882a593Smuzhiyun 731*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 732*4882a593Smuzhiyun will be called i2c-lpc2k. 733*4882a593Smuzhiyun 734*4882a593Smuzhiyunconfig I2C_MLXBF 735*4882a593Smuzhiyun tristate "Mellanox BlueField I2C controller" 736*4882a593Smuzhiyun depends on MELLANOX_PLATFORM && ARM64 737*4882a593Smuzhiyun select I2C_SLAVE 738*4882a593Smuzhiyun help 739*4882a593Smuzhiyun Enabling this option will add I2C SMBus support for Mellanox BlueField 740*4882a593Smuzhiyun system. 741*4882a593Smuzhiyun 742*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 743*4882a593Smuzhiyun called i2c-mlxbf. 744*4882a593Smuzhiyun 745*4882a593Smuzhiyun This driver implements an I2C SMBus host controller and enables both 746*4882a593Smuzhiyun master and slave functions. 747*4882a593Smuzhiyun 748*4882a593Smuzhiyunconfig I2C_MESON 749*4882a593Smuzhiyun tristate "Amlogic Meson I2C controller" 750*4882a593Smuzhiyun depends on ARCH_MESON || COMPILE_TEST 751*4882a593Smuzhiyun depends on COMMON_CLK 752*4882a593Smuzhiyun help 753*4882a593Smuzhiyun If you say yes to this option, support will be included for the 754*4882a593Smuzhiyun I2C interface on the Amlogic Meson family of SoCs. 755*4882a593Smuzhiyun 756*4882a593Smuzhiyunconfig I2C_MPC 757*4882a593Smuzhiyun tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" 758*4882a593Smuzhiyun depends on PPC 759*4882a593Smuzhiyun help 760*4882a593Smuzhiyun If you say yes to this option, support will be included for the 761*4882a593Smuzhiyun built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, 762*4882a593Smuzhiyun MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. 763*4882a593Smuzhiyun 764*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 765*4882a593Smuzhiyun will be called i2c-mpc. 766*4882a593Smuzhiyun 767*4882a593Smuzhiyunconfig I2C_MT65XX 768*4882a593Smuzhiyun tristate "MediaTek I2C adapter" 769*4882a593Smuzhiyun depends on ARCH_MEDIATEK || COMPILE_TEST 770*4882a593Smuzhiyun help 771*4882a593Smuzhiyun This selects the MediaTek(R) Integrated Inter Circuit bus driver 772*4882a593Smuzhiyun for MT65xx and MT81xx. 773*4882a593Smuzhiyun If you want to use MediaTek(R) I2C interface, say Y or M here. 774*4882a593Smuzhiyun If unsure, say N. 775*4882a593Smuzhiyun 776*4882a593Smuzhiyunconfig I2C_MT7621 777*4882a593Smuzhiyun tristate "MT7621/MT7628 I2C Controller" 778*4882a593Smuzhiyun depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST 779*4882a593Smuzhiyun help 780*4882a593Smuzhiyun Say Y here to include support for I2C controller in the 781*4882a593Smuzhiyun MediaTek MT7621/MT7628 SoCs. 782*4882a593Smuzhiyun 783*4882a593Smuzhiyunconfig I2C_MV64XXX 784*4882a593Smuzhiyun tristate "Marvell mv64xxx I2C Controller" 785*4882a593Smuzhiyun depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST 786*4882a593Smuzhiyun help 787*4882a593Smuzhiyun If you say yes to this option, support will be included for the 788*4882a593Smuzhiyun built-in I2C interface on the Marvell 64xxx line of host bridges. 789*4882a593Smuzhiyun This driver is also used for Allwinner SoCs I2C controllers. 790*4882a593Smuzhiyun 791*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 792*4882a593Smuzhiyun will be called i2c-mv64xxx. 793*4882a593Smuzhiyun 794*4882a593Smuzhiyunconfig I2C_MXS 795*4882a593Smuzhiyun tristate "Freescale i.MX28 I2C interface" 796*4882a593Smuzhiyun depends on SOC_IMX28 || COMPILE_TEST 797*4882a593Smuzhiyun select STMP_DEVICE 798*4882a593Smuzhiyun help 799*4882a593Smuzhiyun Say Y here if you want to use the I2C bus controller on 800*4882a593Smuzhiyun the Freescale i.MX28 processors. 801*4882a593Smuzhiyun 802*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 803*4882a593Smuzhiyun will be called i2c-mxs. 804*4882a593Smuzhiyun 805*4882a593Smuzhiyunconfig I2C_NOMADIK 806*4882a593Smuzhiyun tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" 807*4882a593Smuzhiyun depends on ARM_AMBA 808*4882a593Smuzhiyun help 809*4882a593Smuzhiyun If you say yes to this option, support will be included for the 810*4882a593Smuzhiyun I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, 811*4882a593Smuzhiyun as well as the STA2X11 PCIe I/O HUB. 812*4882a593Smuzhiyun 813*4882a593Smuzhiyunconfig I2C_NPCM7XX 814*4882a593Smuzhiyun tristate "Nuvoton I2C Controller" 815*4882a593Smuzhiyun depends on ARCH_NPCM7XX || COMPILE_TEST 816*4882a593Smuzhiyun help 817*4882a593Smuzhiyun If you say yes to this option, support will be included for the 818*4882a593Smuzhiyun Nuvoton I2C controller, which is available on the NPCM7xx BMC 819*4882a593Smuzhiyun controller. 820*4882a593Smuzhiyun Driver can also support slave mode (select I2C_SLAVE). 821*4882a593Smuzhiyun 822*4882a593Smuzhiyunconfig I2C_OCORES 823*4882a593Smuzhiyun tristate "OpenCores I2C Controller" 824*4882a593Smuzhiyun help 825*4882a593Smuzhiyun If you say yes to this option, support will be included for the 826*4882a593Smuzhiyun OpenCores I2C controller. For details see 827*4882a593Smuzhiyun http://www.opencores.org/projects.cgi/web/i2c/overview 828*4882a593Smuzhiyun 829*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 830*4882a593Smuzhiyun will be called i2c-ocores. 831*4882a593Smuzhiyun 832*4882a593Smuzhiyunconfig I2C_OMAP 833*4882a593Smuzhiyun tristate "OMAP I2C adapter" 834*4882a593Smuzhiyun depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST 835*4882a593Smuzhiyun default y if MACH_OMAP_H3 || MACH_OMAP_OSK 836*4882a593Smuzhiyun help 837*4882a593Smuzhiyun If you say yes to this option, support will be included for the 838*4882a593Smuzhiyun I2C interface on the Texas Instruments OMAP1/2 family of processors. 839*4882a593Smuzhiyun Like OMAP1510/1610/1710/5912 and OMAP242x. 840*4882a593Smuzhiyun For details see http://www.ti.com/omap. 841*4882a593Smuzhiyun 842*4882a593Smuzhiyunconfig I2C_OWL 843*4882a593Smuzhiyun tristate "Actions Semiconductor Owl I2C Controller" 844*4882a593Smuzhiyun depends on ARCH_ACTIONS || COMPILE_TEST 845*4882a593Smuzhiyun help 846*4882a593Smuzhiyun Say Y here if you want to use the I2C bus controller on 847*4882a593Smuzhiyun the Actions Semiconductor Owl SoC's. 848*4882a593Smuzhiyun 849*4882a593Smuzhiyunconfig I2C_PASEMI 850*4882a593Smuzhiyun tristate "PA Semi SMBus interface" 851*4882a593Smuzhiyun depends on PPC_PASEMI && PCI 852*4882a593Smuzhiyun help 853*4882a593Smuzhiyun Supports the PA Semi PWRficient on-chip SMBus interfaces. 854*4882a593Smuzhiyun 855*4882a593Smuzhiyunconfig I2C_PCA_PLATFORM 856*4882a593Smuzhiyun tristate "PCA9564/PCA9665 as platform device" 857*4882a593Smuzhiyun select I2C_ALGOPCA 858*4882a593Smuzhiyun help 859*4882a593Smuzhiyun This driver supports a memory mapped Philips PCA9564/PCA9665 860*4882a593Smuzhiyun parallel bus to I2C bus controller. 861*4882a593Smuzhiyun 862*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 863*4882a593Smuzhiyun will be called i2c-pca-platform. 864*4882a593Smuzhiyun 865*4882a593Smuzhiyunconfig I2C_PMCMSP 866*4882a593Smuzhiyun tristate "PMC MSP I2C TWI Controller" 867*4882a593Smuzhiyun depends on PMC_MSP || COMPILE_TEST 868*4882a593Smuzhiyun help 869*4882a593Smuzhiyun This driver supports the PMC TWI controller on MSP devices. 870*4882a593Smuzhiyun 871*4882a593Smuzhiyun This driver can also be built as module. If so, the module 872*4882a593Smuzhiyun will be called i2c-pmcmsp. 873*4882a593Smuzhiyun 874*4882a593Smuzhiyunconfig I2C_PNX 875*4882a593Smuzhiyun tristate "I2C bus support for Philips PNX and NXP LPC targets" 876*4882a593Smuzhiyun depends on ARCH_LPC32XX || COMPILE_TEST 877*4882a593Smuzhiyun help 878*4882a593Smuzhiyun This driver supports the Philips IP3204 I2C IP block master and/or 879*4882a593Smuzhiyun slave controller 880*4882a593Smuzhiyun 881*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 882*4882a593Smuzhiyun will be called i2c-pnx. 883*4882a593Smuzhiyun 884*4882a593Smuzhiyunconfig I2C_PXA 885*4882a593Smuzhiyun tristate "Intel PXA2XX I2C adapter" 886*4882a593Smuzhiyun depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST 887*4882a593Smuzhiyun help 888*4882a593Smuzhiyun If you have devices in the PXA I2C bus, say yes to this option. 889*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 890*4882a593Smuzhiyun will be called i2c-pxa. 891*4882a593Smuzhiyun 892*4882a593Smuzhiyunconfig I2C_PXA_PCI 893*4882a593Smuzhiyun def_bool I2C_PXA && X86_32 && PCI && OF 894*4882a593Smuzhiyun 895*4882a593Smuzhiyunconfig I2C_PXA_SLAVE 896*4882a593Smuzhiyun bool "Intel PXA2XX I2C Slave comms support" 897*4882a593Smuzhiyun depends on I2C_PXA && !X86_32 898*4882a593Smuzhiyun select I2C_SLAVE 899*4882a593Smuzhiyun help 900*4882a593Smuzhiyun Support I2C slave mode communications on the PXA I2C bus. This 901*4882a593Smuzhiyun is necessary for systems where the PXA may be a target on the 902*4882a593Smuzhiyun I2C bus. 903*4882a593Smuzhiyun 904*4882a593Smuzhiyunconfig I2C_QCOM_CCI 905*4882a593Smuzhiyun tristate "Qualcomm Camera Control Interface" 906*4882a593Smuzhiyun depends on ARCH_QCOM || COMPILE_TEST 907*4882a593Smuzhiyun help 908*4882a593Smuzhiyun If you say yes to this option, support will be included for the 909*4882a593Smuzhiyun built-in camera control interface on the Qualcomm SoCs. 910*4882a593Smuzhiyun 911*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 912*4882a593Smuzhiyun will be called i2c-qcom-cci. 913*4882a593Smuzhiyun 914*4882a593Smuzhiyunconfig I2C_QCOM_GENI 915*4882a593Smuzhiyun tristate "Qualcomm Technologies Inc.'s GENI based I2C controller" 916*4882a593Smuzhiyun depends on ARCH_QCOM || COMPILE_TEST 917*4882a593Smuzhiyun depends on QCOM_GENI_SE 918*4882a593Smuzhiyun help 919*4882a593Smuzhiyun This driver supports GENI serial engine based I2C controller in 920*4882a593Smuzhiyun master mode on the Qualcomm Technologies Inc.'s SoCs. If you say 921*4882a593Smuzhiyun yes to this option, support will be included for the built-in I2C 922*4882a593Smuzhiyun interface on the Qualcomm Technologies Inc.'s SoCs. 923*4882a593Smuzhiyun 924*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 925*4882a593Smuzhiyun will be called i2c-qcom-geni. 926*4882a593Smuzhiyun 927*4882a593Smuzhiyunconfig I2C_QUP 928*4882a593Smuzhiyun tristate "Qualcomm QUP based I2C controller" 929*4882a593Smuzhiyun depends on ARCH_QCOM || COMPILE_TEST 930*4882a593Smuzhiyun help 931*4882a593Smuzhiyun If you say yes to this option, support will be included for the 932*4882a593Smuzhiyun built-in I2C interface on the Qualcomm SoCs. 933*4882a593Smuzhiyun 934*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 935*4882a593Smuzhiyun will be called i2c-qup. 936*4882a593Smuzhiyun 937*4882a593Smuzhiyunconfig I2C_RIIC 938*4882a593Smuzhiyun tristate "Renesas RIIC adapter" 939*4882a593Smuzhiyun depends on ARCH_RENESAS || COMPILE_TEST 940*4882a593Smuzhiyun help 941*4882a593Smuzhiyun If you say yes to this option, support will be included for the 942*4882a593Smuzhiyun Renesas RIIC I2C interface. 943*4882a593Smuzhiyun 944*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 945*4882a593Smuzhiyun will be called i2c-riic. 946*4882a593Smuzhiyun 947*4882a593Smuzhiyunconfig I2C_RK3X 948*4882a593Smuzhiyun tristate "Rockchip RK3xxx I2C adapter" 949*4882a593Smuzhiyun depends on OF && COMMON_CLK 950*4882a593Smuzhiyun help 951*4882a593Smuzhiyun Say Y here to include support for the I2C adapter in Rockchip RK3xxx 952*4882a593Smuzhiyun SoCs. 953*4882a593Smuzhiyun 954*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will 955*4882a593Smuzhiyun be called i2c-rk3x. 956*4882a593Smuzhiyun 957*4882a593Smuzhiyunconfig HAVE_S3C2410_I2C 958*4882a593Smuzhiyun bool 959*4882a593Smuzhiyun help 960*4882a593Smuzhiyun This will include I2C support for Samsung SoCs. If you want to 961*4882a593Smuzhiyun include I2C support for any machine, kindly select this in the 962*4882a593Smuzhiyun respective Kconfig file. 963*4882a593Smuzhiyun 964*4882a593Smuzhiyunconfig I2C_S3C2410 965*4882a593Smuzhiyun tristate "S3C/Exynos I2C Driver" 966*4882a593Smuzhiyun depends on HAVE_S3C2410_I2C || COMPILE_TEST 967*4882a593Smuzhiyun help 968*4882a593Smuzhiyun Say Y here to include support for I2C controller in the 969*4882a593Smuzhiyun Samsung SoCs (S3C, S5Pv210, Exynos). 970*4882a593Smuzhiyun 971*4882a593Smuzhiyunconfig I2C_SH7760 972*4882a593Smuzhiyun tristate "Renesas SH7760 I2C Controller" 973*4882a593Smuzhiyun depends on CPU_SUBTYPE_SH7760 974*4882a593Smuzhiyun help 975*4882a593Smuzhiyun This driver supports the 2 I2C interfaces on the Renesas SH7760. 976*4882a593Smuzhiyun 977*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 978*4882a593Smuzhiyun will be called i2c-sh7760. 979*4882a593Smuzhiyun 980*4882a593Smuzhiyunconfig I2C_SH_MOBILE 981*4882a593Smuzhiyun tristate "SuperH Mobile I2C Controller" 982*4882a593Smuzhiyun depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST 983*4882a593Smuzhiyun help 984*4882a593Smuzhiyun If you say yes to this option, support will be included for the 985*4882a593Smuzhiyun built-in I2C interface on the Renesas SH-Mobile processor. 986*4882a593Smuzhiyun 987*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 988*4882a593Smuzhiyun will be called i2c-sh_mobile. 989*4882a593Smuzhiyun 990*4882a593Smuzhiyunconfig I2C_SIMTEC 991*4882a593Smuzhiyun tristate "Simtec Generic I2C interface" 992*4882a593Smuzhiyun select I2C_ALGOBIT 993*4882a593Smuzhiyun help 994*4882a593Smuzhiyun If you say yes to this option, support will be included for 995*4882a593Smuzhiyun the Simtec Generic I2C interface. This driver is for the 996*4882a593Smuzhiyun simple I2C bus used on newer Simtec products for general 997*4882a593Smuzhiyun I2C, such as DDC on the Simtec BBD2016A. 998*4882a593Smuzhiyun 999*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1000*4882a593Smuzhiyun will be called i2c-simtec. 1001*4882a593Smuzhiyun 1002*4882a593Smuzhiyunconfig I2C_SIRF 1003*4882a593Smuzhiyun tristate "CSR SiRFprimaII I2C interface" 1004*4882a593Smuzhiyun depends on ARCH_SIRF || COMPILE_TEST 1005*4882a593Smuzhiyun help 1006*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1007*4882a593Smuzhiyun CSR SiRFprimaII I2C interface. 1008*4882a593Smuzhiyun 1009*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1010*4882a593Smuzhiyun will be called i2c-sirf. 1011*4882a593Smuzhiyun 1012*4882a593Smuzhiyunconfig I2C_SPRD 1013*4882a593Smuzhiyun tristate "Spreadtrum I2C interface" 1014*4882a593Smuzhiyun depends on I2C=y && (ARCH_SPRD || COMPILE_TEST) 1015*4882a593Smuzhiyun depends on COMMON_CLK 1016*4882a593Smuzhiyun help 1017*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1018*4882a593Smuzhiyun Spreadtrum I2C interface. 1019*4882a593Smuzhiyun 1020*4882a593Smuzhiyunconfig I2C_ST 1021*4882a593Smuzhiyun tristate "STMicroelectronics SSC I2C support" 1022*4882a593Smuzhiyun depends on ARCH_STI || COMPILE_TEST 1023*4882a593Smuzhiyun help 1024*4882a593Smuzhiyun Enable this option to add support for STMicroelectronics SoCs 1025*4882a593Smuzhiyun hardware SSC (Synchronous Serial Controller) as an I2C controller. 1026*4882a593Smuzhiyun 1027*4882a593Smuzhiyun This driver can also be built as module. If so, the module 1028*4882a593Smuzhiyun will be called i2c-st. 1029*4882a593Smuzhiyun 1030*4882a593Smuzhiyunconfig I2C_STM32F4 1031*4882a593Smuzhiyun tristate "STMicroelectronics STM32F4 I2C support" 1032*4882a593Smuzhiyun depends on ARCH_STM32 || COMPILE_TEST 1033*4882a593Smuzhiyun help 1034*4882a593Smuzhiyun Enable this option to add support for STM32 I2C controller embedded 1035*4882a593Smuzhiyun in STM32F4 SoCs. 1036*4882a593Smuzhiyun 1037*4882a593Smuzhiyun This driver can also be built as module. If so, the module 1038*4882a593Smuzhiyun will be called i2c-stm32f4. 1039*4882a593Smuzhiyun 1040*4882a593Smuzhiyunconfig I2C_STM32F7 1041*4882a593Smuzhiyun tristate "STMicroelectronics STM32F7 I2C support" 1042*4882a593Smuzhiyun depends on ARCH_STM32 || COMPILE_TEST 1043*4882a593Smuzhiyun select I2C_SLAVE 1044*4882a593Smuzhiyun select I2C_SMBUS 1045*4882a593Smuzhiyun help 1046*4882a593Smuzhiyun Enable this option to add support for STM32 I2C controller embedded 1047*4882a593Smuzhiyun in STM32F7 SoCs. 1048*4882a593Smuzhiyun 1049*4882a593Smuzhiyun This driver can also be built as module. If so, the module 1050*4882a593Smuzhiyun will be called i2c-stm32f7. 1051*4882a593Smuzhiyun 1052*4882a593Smuzhiyunconfig I2C_STU300 1053*4882a593Smuzhiyun tristate "ST Microelectronics DDC I2C interface" 1054*4882a593Smuzhiyun depends on MACH_U300 || COMPILE_TEST 1055*4882a593Smuzhiyun default y if MACH_U300 1056*4882a593Smuzhiyun help 1057*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1058*4882a593Smuzhiyun I2C interface from ST Microelectronics simply called "DDC I2C" 1059*4882a593Smuzhiyun supporting both I2C and DDC, used in e.g. the U300 series 1060*4882a593Smuzhiyun mobile platforms. 1061*4882a593Smuzhiyun 1062*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1063*4882a593Smuzhiyun will be called i2c-stu300. 1064*4882a593Smuzhiyun 1065*4882a593Smuzhiyunconfig I2C_SUN6I_P2WI 1066*4882a593Smuzhiyun tristate "Allwinner sun6i internal P2WI controller" 1067*4882a593Smuzhiyun depends on RESET_CONTROLLER 1068*4882a593Smuzhiyun depends on MACH_SUN6I || COMPILE_TEST 1069*4882a593Smuzhiyun help 1070*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1071*4882a593Smuzhiyun P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi 1072*4882a593Smuzhiyun SOCs. 1073*4882a593Smuzhiyun The P2WI looks like an SMBus controller (which supports only byte 1074*4882a593Smuzhiyun accesses), except that it only supports one slave device. 1075*4882a593Smuzhiyun This interface is used to connect to specific PMIC devices (like the 1076*4882a593Smuzhiyun AXP221). 1077*4882a593Smuzhiyun 1078*4882a593Smuzhiyunconfig I2C_SYNQUACER 1079*4882a593Smuzhiyun tristate "Socionext SynQuacer I2C controller" 1080*4882a593Smuzhiyun depends on ARCH_SYNQUACER || COMPILE_TEST 1081*4882a593Smuzhiyun help 1082*4882a593Smuzhiyun Say Y here to include support for the I2C controller used in some 1083*4882a593Smuzhiyun Fujitsu and Socionext SoCs. 1084*4882a593Smuzhiyun 1085*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1086*4882a593Smuzhiyun will be called i2c-synquacer. 1087*4882a593Smuzhiyun 1088*4882a593Smuzhiyunconfig I2C_TEGRA 1089*4882a593Smuzhiyun tristate "NVIDIA Tegra internal I2C controller" 1090*4882a593Smuzhiyun depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC)) 1091*4882a593Smuzhiyun # COMPILE_TEST needs architectures with readsX()/writesX() primitives 1092*4882a593Smuzhiyun help 1093*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1094*4882a593Smuzhiyun I2C controller embedded in NVIDIA Tegra SOCs 1095*4882a593Smuzhiyun 1096*4882a593Smuzhiyunconfig I2C_TEGRA_BPMP 1097*4882a593Smuzhiyun tristate "NVIDIA Tegra BPMP I2C controller" 1098*4882a593Smuzhiyun depends on TEGRA_BPMP || COMPILE_TEST 1099*4882a593Smuzhiyun default y if TEGRA_BPMP 1100*4882a593Smuzhiyun help 1101*4882a593Smuzhiyun If you say yes to this option, support will be included for the I2C 1102*4882a593Smuzhiyun controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. 1103*4882a593Smuzhiyun 1104*4882a593Smuzhiyun This I2C driver is a 'virtual' I2C driver. The real driver is part 1105*4882a593Smuzhiyun of the BPMP firmware, and this driver merely communicates with that 1106*4882a593Smuzhiyun real driver. 1107*4882a593Smuzhiyun 1108*4882a593Smuzhiyunconfig I2C_UNIPHIER 1109*4882a593Smuzhiyun tristate "UniPhier FIFO-less I2C controller" 1110*4882a593Smuzhiyun depends on ARCH_UNIPHIER || COMPILE_TEST 1111*4882a593Smuzhiyun help 1112*4882a593Smuzhiyun If you say yes to this option, support will be included for 1113*4882a593Smuzhiyun the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, 1114*4882a593Smuzhiyun or older UniPhier SoCs. 1115*4882a593Smuzhiyun 1116*4882a593Smuzhiyunconfig I2C_UNIPHIER_F 1117*4882a593Smuzhiyun tristate "UniPhier FIFO-builtin I2C controller" 1118*4882a593Smuzhiyun depends on ARCH_UNIPHIER || COMPILE_TEST 1119*4882a593Smuzhiyun help 1120*4882a593Smuzhiyun If you say yes to this option, support will be included for 1121*4882a593Smuzhiyun the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, 1122*4882a593Smuzhiyun PH1-Pro5, or newer UniPhier SoCs. 1123*4882a593Smuzhiyun 1124*4882a593Smuzhiyunconfig I2C_VERSATILE 1125*4882a593Smuzhiyun tristate "ARM Versatile/Realview I2C bus support" 1126*4882a593Smuzhiyun depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST 1127*4882a593Smuzhiyun select I2C_ALGOBIT 1128*4882a593Smuzhiyun help 1129*4882a593Smuzhiyun Say yes if you want to support the I2C serial bus on ARMs Versatile 1130*4882a593Smuzhiyun range of platforms. 1131*4882a593Smuzhiyun 1132*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1133*4882a593Smuzhiyun will be called i2c-versatile. 1134*4882a593Smuzhiyun 1135*4882a593Smuzhiyunconfig I2C_WMT 1136*4882a593Smuzhiyun tristate "Wondermedia WM8xxx SoC I2C bus support" 1137*4882a593Smuzhiyun depends on ARCH_VT8500 || COMPILE_TEST 1138*4882a593Smuzhiyun help 1139*4882a593Smuzhiyun Say yes if you want to support the I2C bus on Wondermedia 8xxx-series 1140*4882a593Smuzhiyun SoCs. 1141*4882a593Smuzhiyun 1142*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 1143*4882a593Smuzhiyun called i2c-wmt. 1144*4882a593Smuzhiyun 1145*4882a593Smuzhiyunconfig I2C_OCTEON 1146*4882a593Smuzhiyun tristate "Cavium OCTEON I2C bus support" 1147*4882a593Smuzhiyun depends on CAVIUM_OCTEON_SOC 1148*4882a593Smuzhiyun help 1149*4882a593Smuzhiyun Say yes if you want to support the I2C serial bus on Cavium 1150*4882a593Smuzhiyun OCTEON SOC. 1151*4882a593Smuzhiyun 1152*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1153*4882a593Smuzhiyun will be called i2c-octeon. 1154*4882a593Smuzhiyun 1155*4882a593Smuzhiyunconfig I2C_THUNDERX 1156*4882a593Smuzhiyun tristate "Cavium ThunderX I2C bus support" 1157*4882a593Smuzhiyun depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) 1158*4882a593Smuzhiyun select I2C_SMBUS 1159*4882a593Smuzhiyun help 1160*4882a593Smuzhiyun Say yes if you want to support the I2C serial bus on Cavium 1161*4882a593Smuzhiyun ThunderX SOC. 1162*4882a593Smuzhiyun 1163*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1164*4882a593Smuzhiyun will be called i2c-thunderx. 1165*4882a593Smuzhiyun 1166*4882a593Smuzhiyunconfig I2C_XILINX 1167*4882a593Smuzhiyun tristate "Xilinx I2C Controller" 1168*4882a593Smuzhiyun depends on HAS_IOMEM 1169*4882a593Smuzhiyun help 1170*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1171*4882a593Smuzhiyun Xilinx I2C controller. 1172*4882a593Smuzhiyun 1173*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1174*4882a593Smuzhiyun will be called xilinx_i2c. 1175*4882a593Smuzhiyun 1176*4882a593Smuzhiyunconfig I2C_XLR 1177*4882a593Smuzhiyun tristate "Netlogic XLR and Sigma Designs I2C support" 1178*4882a593Smuzhiyun depends on CPU_XLR || ARCH_TANGO || COMPILE_TEST 1179*4882a593Smuzhiyun help 1180*4882a593Smuzhiyun This driver enables support for the on-chip I2C interface of 1181*4882a593Smuzhiyun the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs. 1182*4882a593Smuzhiyun 1183*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1184*4882a593Smuzhiyun will be called i2c-xlr. 1185*4882a593Smuzhiyun 1186*4882a593Smuzhiyunconfig I2C_XLP9XX 1187*4882a593Smuzhiyun tristate "XLP9XX I2C support" 1188*4882a593Smuzhiyun depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST 1189*4882a593Smuzhiyun help 1190*4882a593Smuzhiyun This driver enables support for the on-chip I2C interface of 1191*4882a593Smuzhiyun the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors. 1192*4882a593Smuzhiyun 1193*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will 1194*4882a593Smuzhiyun be called i2c-xlp9xx. 1195*4882a593Smuzhiyun 1196*4882a593Smuzhiyunconfig I2C_RCAR 1197*4882a593Smuzhiyun tristate "Renesas R-Car I2C Controller" 1198*4882a593Smuzhiyun depends on ARCH_RENESAS || COMPILE_TEST 1199*4882a593Smuzhiyun select I2C_SLAVE 1200*4882a593Smuzhiyun select I2C_SMBUS 1201*4882a593Smuzhiyun select RESET_CONTROLLER if ARCH_RCAR_GEN3 1202*4882a593Smuzhiyun help 1203*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1204*4882a593Smuzhiyun R-Car I2C controller. 1205*4882a593Smuzhiyun 1206*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1207*4882a593Smuzhiyun will be called i2c-rcar. 1208*4882a593Smuzhiyun 1209*4882a593Smuzhiyuncomment "External I2C/SMBus adapter drivers" 1210*4882a593Smuzhiyun 1211*4882a593Smuzhiyunconfig I2C_DIOLAN_U2C 1212*4882a593Smuzhiyun tristate "Diolan U2C-12 USB adapter" 1213*4882a593Smuzhiyun depends on USB 1214*4882a593Smuzhiyun help 1215*4882a593Smuzhiyun If you say yes to this option, support will be included for Diolan 1216*4882a593Smuzhiyun U2C-12, a USB to I2C interface. 1217*4882a593Smuzhiyun 1218*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1219*4882a593Smuzhiyun will be called i2c-diolan-u2c. 1220*4882a593Smuzhiyun 1221*4882a593Smuzhiyunconfig I2C_DLN2 1222*4882a593Smuzhiyun tristate "Diolan DLN-2 USB I2C adapter" 1223*4882a593Smuzhiyun depends on MFD_DLN2 1224*4882a593Smuzhiyun help 1225*4882a593Smuzhiyun If you say yes to this option, support will be included for Diolan 1226*4882a593Smuzhiyun DLN2, a USB to I2C interface. 1227*4882a593Smuzhiyun 1228*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1229*4882a593Smuzhiyun will be called i2c-dln2. 1230*4882a593Smuzhiyun 1231*4882a593Smuzhiyunconfig I2C_PARPORT 1232*4882a593Smuzhiyun tristate "Parallel port adapter" 1233*4882a593Smuzhiyun depends on PARPORT 1234*4882a593Smuzhiyun select I2C_ALGOBIT 1235*4882a593Smuzhiyun select I2C_SMBUS 1236*4882a593Smuzhiyun help 1237*4882a593Smuzhiyun This supports parallel port I2C adapters such as the ones made by 1238*4882a593Smuzhiyun Philips or Velleman, Analog Devices evaluation boards, and more. 1239*4882a593Smuzhiyun Basically any adapter using the parallel port as an I2C bus with 1240*4882a593Smuzhiyun no extra chipset is supported by this driver, or could be. Please 1241*4882a593Smuzhiyun read the file Documentation/i2c/busses/i2c-parport.rst for details. 1242*4882a593Smuzhiyun 1243*4882a593Smuzhiyun This support is also available as a module. If so, the module 1244*4882a593Smuzhiyun will be called i2c-parport. 1245*4882a593Smuzhiyun 1246*4882a593Smuzhiyunconfig I2C_ROBOTFUZZ_OSIF 1247*4882a593Smuzhiyun tristate "RobotFuzz Open Source InterFace USB adapter" 1248*4882a593Smuzhiyun depends on USB 1249*4882a593Smuzhiyun help 1250*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1251*4882a593Smuzhiyun RobotFuzz Open Source InterFace USB to I2C interface. 1252*4882a593Smuzhiyun 1253*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1254*4882a593Smuzhiyun will be called i2c-osif. 1255*4882a593Smuzhiyun 1256*4882a593Smuzhiyunconfig I2C_TAOS_EVM 1257*4882a593Smuzhiyun tristate "TAOS evaluation module" 1258*4882a593Smuzhiyun depends on TTY 1259*4882a593Smuzhiyun select SERIO 1260*4882a593Smuzhiyun select SERIO_SERPORT 1261*4882a593Smuzhiyun help 1262*4882a593Smuzhiyun This supports TAOS evaluation modules on serial port. In order to 1263*4882a593Smuzhiyun use this driver, you will need the inputattach tool, which is part 1264*4882a593Smuzhiyun of the input-utils package. 1265*4882a593Smuzhiyun 1266*4882a593Smuzhiyun If unsure, say N. 1267*4882a593Smuzhiyun 1268*4882a593Smuzhiyun This support is also available as a module. If so, the module 1269*4882a593Smuzhiyun will be called i2c-taos-evm. 1270*4882a593Smuzhiyun 1271*4882a593Smuzhiyunconfig I2C_TINY_USB 1272*4882a593Smuzhiyun tristate "Tiny-USB adapter" 1273*4882a593Smuzhiyun depends on USB 1274*4882a593Smuzhiyun help 1275*4882a593Smuzhiyun If you say yes to this option, support will be included for the 1276*4882a593Smuzhiyun i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See 1277*4882a593Smuzhiyun http://www.harbaum.org/till/i2c_tiny_usb for hardware details. 1278*4882a593Smuzhiyun 1279*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1280*4882a593Smuzhiyun will be called i2c-tiny-usb. 1281*4882a593Smuzhiyun 1282*4882a593Smuzhiyunconfig I2C_VIPERBOARD 1283*4882a593Smuzhiyun tristate "Viperboard I2C master support" 1284*4882a593Smuzhiyun depends on MFD_VIPERBOARD && USB 1285*4882a593Smuzhiyun help 1286*4882a593Smuzhiyun Say yes here to access the I2C part of the Nano River 1287*4882a593Smuzhiyun Technologies Viperboard as I2C master. 1288*4882a593Smuzhiyun See viperboard API specification and Nano 1289*4882a593Smuzhiyun River Tech's viperboard.h for detailed meaning 1290*4882a593Smuzhiyun of the module parameters. 1291*4882a593Smuzhiyun 1292*4882a593Smuzhiyuncomment "Other I2C/SMBus bus drivers" 1293*4882a593Smuzhiyun 1294*4882a593Smuzhiyunconfig I2C_ACORN 1295*4882a593Smuzhiyun tristate "Acorn IOC/IOMD I2C bus support" 1296*4882a593Smuzhiyun depends on ARCH_ACORN 1297*4882a593Smuzhiyun default y 1298*4882a593Smuzhiyun select I2C_ALGOBIT 1299*4882a593Smuzhiyun help 1300*4882a593Smuzhiyun Say yes if you want to support the I2C bus on Acorn platforms. 1301*4882a593Smuzhiyun 1302*4882a593Smuzhiyun If you don't know, say Y. 1303*4882a593Smuzhiyun 1304*4882a593Smuzhiyunconfig I2C_ELEKTOR 1305*4882a593Smuzhiyun tristate "Elektor ISA card" 1306*4882a593Smuzhiyun depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP 1307*4882a593Smuzhiyun select I2C_ALGOPCF 1308*4882a593Smuzhiyun help 1309*4882a593Smuzhiyun This supports the PCF8584 ISA bus I2C adapter. Say Y if you own 1310*4882a593Smuzhiyun such an adapter. 1311*4882a593Smuzhiyun 1312*4882a593Smuzhiyun This support is also available as a module. If so, the module 1313*4882a593Smuzhiyun will be called i2c-elektor. 1314*4882a593Smuzhiyun 1315*4882a593Smuzhiyunconfig I2C_ICY 1316*4882a593Smuzhiyun tristate "ICY Zorro card" 1317*4882a593Smuzhiyun depends on ZORRO 1318*4882a593Smuzhiyun select I2C_ALGOPCF 1319*4882a593Smuzhiyun help 1320*4882a593Smuzhiyun This supports the PCF8584 Zorro bus I2C adapter, known as ICY. 1321*4882a593Smuzhiyun Say Y if you own such an adapter. 1322*4882a593Smuzhiyun 1323*4882a593Smuzhiyun This support is also available as a module. If so, the module 1324*4882a593Smuzhiyun will be called i2c-icy. 1325*4882a593Smuzhiyun 1326*4882a593Smuzhiyun If you have a 2019 edition board with an LTC2990 sensor at address 1327*4882a593Smuzhiyun 0x4c, loading the module 'ltc2990' is sufficient to enable it. 1328*4882a593Smuzhiyun 1329*4882a593Smuzhiyunconfig I2C_MLXCPLD 1330*4882a593Smuzhiyun tristate "Mellanox I2C driver" 1331*4882a593Smuzhiyun depends on X86_64 || COMPILE_TEST 1332*4882a593Smuzhiyun help 1333*4882a593Smuzhiyun This exposes the Mellanox platform I2C busses to the linux I2C layer 1334*4882a593Smuzhiyun for X86 based systems. 1335*4882a593Smuzhiyun Controller is implemented as CPLD logic. 1336*4882a593Smuzhiyun 1337*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 1338*4882a593Smuzhiyun called as i2c-mlxcpld. 1339*4882a593Smuzhiyun 1340*4882a593Smuzhiyunconfig I2C_PCA_ISA 1341*4882a593Smuzhiyun tristate "PCA9564/PCA9665 on an ISA bus" 1342*4882a593Smuzhiyun depends on ISA 1343*4882a593Smuzhiyun select I2C_ALGOPCA 1344*4882a593Smuzhiyun help 1345*4882a593Smuzhiyun This driver supports ISA boards using the Philips PCA9564/PCA9665 1346*4882a593Smuzhiyun parallel bus to I2C bus controller. 1347*4882a593Smuzhiyun 1348*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 1349*4882a593Smuzhiyun will be called i2c-pca-isa. 1350*4882a593Smuzhiyun 1351*4882a593Smuzhiyun This device is almost undetectable and using this driver on a 1352*4882a593Smuzhiyun system which doesn't have this device will result in long 1353*4882a593Smuzhiyun delays when I2C/SMBus chip drivers are loaded (e.g. at boot 1354*4882a593Smuzhiyun time). If unsure, say N. 1355*4882a593Smuzhiyun 1356*4882a593Smuzhiyunconfig I2C_SIBYTE 1357*4882a593Smuzhiyun tristate "SiByte SMBus interface" 1358*4882a593Smuzhiyun depends on SIBYTE_SB1xxx_SOC 1359*4882a593Smuzhiyun help 1360*4882a593Smuzhiyun Supports the SiByte SOC on-chip I2C interfaces (2 channels). 1361*4882a593Smuzhiyun 1362*4882a593Smuzhiyunconfig I2C_CROS_EC_TUNNEL 1363*4882a593Smuzhiyun tristate "ChromeOS EC tunnel I2C bus" 1364*4882a593Smuzhiyun depends on CROS_EC 1365*4882a593Smuzhiyun help 1366*4882a593Smuzhiyun If you say yes here you get an I2C bus that will tunnel i2c commands 1367*4882a593Smuzhiyun through to the other side of the ChromeOS EC to the i2c bus 1368*4882a593Smuzhiyun connected there. This will work whatever the interface used to 1369*4882a593Smuzhiyun talk to the EC (SPI, I2C or LPC). 1370*4882a593Smuzhiyun 1371*4882a593Smuzhiyunconfig I2C_XGENE_SLIMPRO 1372*4882a593Smuzhiyun tristate "APM X-Gene SoC I2C SLIMpro devices support" 1373*4882a593Smuzhiyun depends on ARCH_XGENE && MAILBOX 1374*4882a593Smuzhiyun help 1375*4882a593Smuzhiyun Enable I2C bus access using the APM X-Gene SoC SLIMpro 1376*4882a593Smuzhiyun co-processor. The I2C device access the I2C bus via the X-Gene 1377*4882a593Smuzhiyun to SLIMpro (On chip coprocessor) mailbox mechanism. 1378*4882a593Smuzhiyun If unsure, say N. 1379*4882a593Smuzhiyun 1380*4882a593Smuzhiyunconfig SCx200_ACB 1381*4882a593Smuzhiyun tristate "Geode ACCESS.bus support" 1382*4882a593Smuzhiyun depends on X86_32 && PCI 1383*4882a593Smuzhiyun help 1384*4882a593Smuzhiyun Enable the use of the ACCESS.bus controllers on the Geode SCx200 and 1385*4882a593Smuzhiyun SC1100 processors and the CS5535 and CS5536 Geode companion devices. 1386*4882a593Smuzhiyun 1387*4882a593Smuzhiyun If you don't know what to do here, say N. 1388*4882a593Smuzhiyun 1389*4882a593Smuzhiyun This support is also available as a module. If so, the module 1390*4882a593Smuzhiyun will be called scx200_acb. 1391*4882a593Smuzhiyun 1392*4882a593Smuzhiyunconfig I2C_OPAL 1393*4882a593Smuzhiyun tristate "IBM OPAL I2C driver" 1394*4882a593Smuzhiyun depends on PPC_POWERNV 1395*4882a593Smuzhiyun default y 1396*4882a593Smuzhiyun help 1397*4882a593Smuzhiyun This exposes the PowerNV platform i2c busses to the linux i2c layer, 1398*4882a593Smuzhiyun the driver is based on the OPAL interfaces. 1399*4882a593Smuzhiyun 1400*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 1401*4882a593Smuzhiyun called as i2c-opal. 1402*4882a593Smuzhiyun 1403*4882a593Smuzhiyunconfig I2C_ZX2967 1404*4882a593Smuzhiyun tristate "ZTE ZX2967 I2C support" 1405*4882a593Smuzhiyun depends on ARCH_ZX 1406*4882a593Smuzhiyun default y 1407*4882a593Smuzhiyun help 1408*4882a593Smuzhiyun Selecting this option will add ZX2967 I2C driver. 1409*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 1410*4882a593Smuzhiyun called i2c-zx2967. 1411*4882a593Smuzhiyun 1412*4882a593Smuzhiyunconfig I2C_FSI 1413*4882a593Smuzhiyun tristate "FSI I2C driver" 1414*4882a593Smuzhiyun depends on FSI 1415*4882a593Smuzhiyun help 1416*4882a593Smuzhiyun Driver for FSI bus attached I2C masters. These are I2C masters that 1417*4882a593Smuzhiyun are connected to the system over an FSI bus, instead of the more 1418*4882a593Smuzhiyun common PCI or MMIO interface. 1419*4882a593Smuzhiyun 1420*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 1421*4882a593Smuzhiyun called as i2c-fsi. 1422*4882a593Smuzhiyun 1423*4882a593Smuzhiyunendmenu 1424