0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Sensor device configuration
0004 #
0005
0006 menu "I2C Hardware Bus support"
0007 depends on HAS_IOMEM
0008
0009 comment "PC SMBus host controller drivers"
0010 depends on PCI
0011
0012 config I2C_CCGX_UCSI
0013 tristate
0014 help
0015 A common module to provide an API to instantiate UCSI device
0016 for Cypress CCGx Type-C controller. Individual bus drivers
0017 need to select this one on demand.
0018
0019 config I2C_ALI1535
0020 tristate "ALI 1535"
0021 depends on PCI
0022 help
0023 If you say yes to this option, support will be included for the SMB
0024 Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB
0025 controller is part of the 7101 device, which is an ACPI-compliant
0026 Power Management Unit (PMU).
0027
0028 This driver can also be built as a module. If so, the module
0029 will be called i2c-ali1535.
0030
0031 config I2C_ALI1563
0032 tristate "ALI 1563"
0033 depends on PCI
0034 help
0035 If you say yes to this option, support will be included for the SMB
0036 Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB
0037 controller is part of the 7101 device, which is an ACPI-compliant
0038 Power Management Unit (PMU).
0039
0040 This driver can also be built as a module. If so, the module
0041 will be called i2c-ali1563.
0042
0043 config I2C_ALI15X3
0044 tristate "ALI 15x3"
0045 depends on PCI
0046 help
0047 If you say yes to this option, support will be included for the
0048 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
0049
0050 This driver can also be built as a module. If so, the module
0051 will be called i2c-ali15x3.
0052
0053 config I2C_AMD756
0054 tristate "AMD 756/766/768/8111 and nVidia nForce"
0055 depends on PCI
0056 help
0057 If you say yes to this option, support will be included for the AMD
0058 756/766/768 mainboard I2C interfaces. The driver also includes
0059 support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
0060 the nVidia nForce I2C interface.
0061
0062 This driver can also be built as a module. If so, the module
0063 will be called i2c-amd756.
0064
0065 config I2C_AMD756_S4882
0066 tristate "SMBus multiplexing on the Tyan S4882"
0067 depends on I2C_AMD756 && X86
0068 help
0069 Enabling this option will add specific SMBus support for the Tyan
0070 S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed
0071 over 8 different channels, where the various memory module EEPROMs
0072 and temperature sensors live. Saying yes here will give you access
0073 to these in addition to the trunk.
0074
0075 This driver can also be built as a module. If so, the module
0076 will be called i2c-amd756-s4882.
0077
0078 config I2C_AMD8111
0079 tristate "AMD 8111"
0080 depends on PCI
0081 help
0082 If you say yes to this option, support will be included for the
0083 second (SMBus 2.0) AMD 8111 mainboard I2C interface.
0084
0085 This driver can also be built as a module. If so, the module
0086 will be called i2c-amd8111.
0087
0088 config I2C_AMD_MP2
0089 tristate "AMD MP2 PCIe"
0090 depends on PCI && ACPI
0091 help
0092 If you say yes to this option, support will be included for the AMD
0093 MP2 PCIe I2C adapter.
0094
0095 This driver can also be built as modules. If so, the modules will
0096 be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
0097
0098 config I2C_HIX5HD2
0099 tristate "Hix5hd2 high-speed I2C driver"
0100 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
0101 help
0102 Say Y here to include support for the high-speed I2C controller
0103 used in HiSilicon hix5hd2 SoCs.
0104
0105 This driver can also be built as a module. If so, the module
0106 will be called i2c-hix5hd2.
0107
0108 config I2C_I801
0109 tristate "Intel 82801 (ICH/PCH)"
0110 depends on PCI
0111 select P2SB if X86
0112 select CHECK_SIGNATURE if X86 && DMI
0113 select I2C_SMBUS
0114 help
0115 If you say yes to this option, support will be included for the Intel
0116 801 family of mainboard I2C interfaces. Specifically, the following
0117 versions of the chipset are supported:
0118 82801AA
0119 82801AB
0120 82801BA
0121 82801CA/CAM
0122 82801DB
0123 82801EB/ER (ICH5/ICH5R)
0124 6300ESB
0125 ICH6
0126 ICH7
0127 ESB2
0128 ICH8
0129 ICH9
0130 EP80579 (Tolapai)
0131 ICH10
0132 5/3400 Series (PCH)
0133 6 Series (PCH)
0134 Patsburg (PCH)
0135 DH89xxCC (PCH)
0136 Panther Point (PCH)
0137 Lynx Point (PCH)
0138 Avoton (SOC)
0139 Wellsburg (PCH)
0140 Coleto Creek (PCH)
0141 Wildcat Point (PCH)
0142 BayTrail (SOC)
0143 Braswell (SOC)
0144 Sunrise Point (PCH)
0145 Kaby Lake (PCH)
0146 DNV (SOC)
0147 Broxton (SOC)
0148 Lewisburg (PCH)
0149 Gemini Lake (SOC)
0150 Cannon Lake (PCH)
0151 Cedar Fork (PCH)
0152 Ice Lake (PCH)
0153 Comet Lake (PCH)
0154 Elkhart Lake (PCH)
0155 Tiger Lake (PCH)
0156 Jasper Lake (SOC)
0157 Emmitsburg (PCH)
0158 Alder Lake (PCH)
0159 Raptor Lake (PCH)
0160 Meteor Lake (SOC)
0161
0162 This driver can also be built as a module. If so, the module
0163 will be called i2c-i801.
0164
0165 config I2C_ISCH
0166 tristate "Intel SCH SMBus 1.0"
0167 depends on PCI
0168 select LPC_SCH
0169 help
0170 Say Y here if you want to use SMBus controller on the Intel SCH
0171 based systems.
0172
0173 This driver can also be built as a module. If so, the module
0174 will be called i2c-isch.
0175
0176 config I2C_ISMT
0177 tristate "Intel iSMT SMBus Controller"
0178 depends on PCI && X86
0179 help
0180 If you say yes to this option, support will be included for the Intel
0181 iSMT SMBus host controller interface.
0182
0183 This driver can also be built as a module. If so, the module will be
0184 called i2c-ismt.
0185
0186 config I2C_PIIX4
0187 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
0188 depends on PCI
0189 help
0190 If you say yes to this option, support will be included for the Intel
0191 PIIX4 family of mainboard I2C interfaces. Specifically, the following
0192 versions of the chipset are supported (note that Serverworks is part
0193 of Broadcom):
0194 Intel PIIX4
0195 Intel 440MX
0196 ATI IXP200
0197 ATI IXP300
0198 ATI IXP400
0199 ATI SB600
0200 ATI SB700/SP5100
0201 ATI SB800
0202 AMD Hudson-2
0203 AMD ML
0204 AMD CZ
0205 Hygon CZ
0206 Serverworks OSB4
0207 Serverworks CSB5
0208 Serverworks CSB6
0209 Serverworks HT-1000
0210 Serverworks HT-1100
0211 SMSC Victory66
0212
0213 Some AMD chipsets contain two PIIX4-compatible SMBus
0214 controllers. This driver will attempt to use both controllers
0215 on the SB700/SP5100, if they have been initialized by the BIOS.
0216
0217 This driver can also be built as a module. If so, the module
0218 will be called i2c-piix4.
0219
0220 config I2C_CHT_WC
0221 tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
0222 depends on INTEL_SOC_PMIC_CHTWC
0223 help
0224 If you say yes to this option, support will be included for the
0225 SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
0226 found on some Intel Cherry Trail systems.
0227
0228 Note this controller is hooked up to a TI bq24292i charger-IC,
0229 combined with a FUSB302 Type-C port-controller as such it is advised
0230 to also select CONFIG_TYPEC_FUSB302=m.
0231
0232 config I2C_NFORCE2
0233 tristate "Nvidia nForce2, nForce3 and nForce4"
0234 depends on PCI
0235 help
0236 If you say yes to this option, support will be included for the Nvidia
0237 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
0238
0239 This driver can also be built as a module. If so, the module
0240 will be called i2c-nforce2.
0241
0242 config I2C_NFORCE2_S4985
0243 tristate "SMBus multiplexing on the Tyan S4985"
0244 depends on I2C_NFORCE2 && X86
0245 help
0246 Enabling this option will add specific SMBus support for the Tyan
0247 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
0248 over 4 different channels, where the various memory module EEPROMs
0249 live. Saying yes here will give you access to these in addition
0250 to the trunk.
0251
0252 This driver can also be built as a module. If so, the module
0253 will be called i2c-nforce2-s4985.
0254
0255 config I2C_NVIDIA_GPU
0256 tristate "NVIDIA GPU I2C controller"
0257 depends on PCI
0258 select I2C_CCGX_UCSI
0259 help
0260 If you say yes to this option, support will be included for the
0261 NVIDIA GPU I2C controller which is used to communicate with the GPU's
0262 Type-C controller. This driver can also be built as a module called
0263 i2c-nvidia-gpu.
0264
0265 config I2C_SIS5595
0266 tristate "SiS 5595"
0267 depends on PCI
0268 help
0269 If you say yes to this option, support will be included for the
0270 SiS5595 SMBus (a subset of I2C) interface.
0271
0272 This driver can also be built as a module. If so, the module
0273 will be called i2c-sis5595.
0274
0275 config I2C_SIS630
0276 tristate "SiS 630/730/964"
0277 depends on PCI
0278 help
0279 If you say yes to this option, support will be included for the
0280 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
0281
0282 This driver can also be built as a module. If so, the module
0283 will be called i2c-sis630.
0284
0285 config I2C_SIS96X
0286 tristate "SiS 96x"
0287 depends on PCI
0288 help
0289 If you say yes to this option, support will be included for the SiS
0290 96x SMBus (a subset of I2C) interfaces. Specifically, the following
0291 chipsets are supported:
0292 645/961
0293 645DX/961
0294 645DX/962
0295 648/961
0296 650/961
0297 735
0298 745
0299
0300 This driver can also be built as a module. If so, the module
0301 will be called i2c-sis96x.
0302
0303 config I2C_VIA
0304 tristate "VIA VT82C586B"
0305 depends on PCI
0306 select I2C_ALGOBIT
0307 help
0308 If you say yes to this option, support will be included for the VIA
0309 82C586B I2C interface
0310
0311 This driver can also be built as a module. If so, the module
0312 will be called i2c-via.
0313
0314 config I2C_VIAPRO
0315 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
0316 depends on PCI
0317 help
0318 If you say yes to this option, support will be included for the VIA
0319 VT82C596 and later SMBus interface. Specifically, the following
0320 chipsets are supported:
0321 VT82C596A/B
0322 VT82C686A/B
0323 VT8231
0324 VT8233/A
0325 VT8235
0326 VT8237R/A/S
0327 VT8251
0328 CX700
0329 VX800/VX820
0330 VX855/VX875
0331 VX900
0332
0333 This driver can also be built as a module. If so, the module
0334 will be called i2c-viapro.
0335
0336 if ACPI
0337
0338 comment "ACPI drivers"
0339
0340 config I2C_SCMI
0341 tristate "SMBus Control Method Interface"
0342 help
0343 This driver supports the SMBus Control Method Interface. It needs the
0344 BIOS to declare ACPI control methods as described in the SMBus Control
0345 Method Interface specification.
0346
0347 To compile this driver as a module, choose M here:
0348 the module will be called i2c-scmi.
0349
0350 endif # ACPI
0351
0352 comment "Mac SMBus host controller drivers"
0353 depends on PPC_CHRP || PPC_PMAC
0354
0355 config I2C_HYDRA
0356 tristate "CHRP Apple Hydra Mac I/O I2C interface"
0357 depends on PCI && PPC_CHRP
0358 select I2C_ALGOBIT
0359 help
0360 This supports the use of the I2C interface in the Apple Hydra Mac
0361 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
0362 have such a machine.
0363
0364 This support is also available as a module. If so, the module
0365 will be called i2c-hydra.
0366
0367 config I2C_POWERMAC
0368 tristate "Powermac I2C interface"
0369 depends on PPC_PMAC
0370 default y
0371 help
0372 This exposes the various PowerMac i2c interfaces to the linux i2c
0373 layer and to userland. It is used by various drivers on the PowerMac
0374 platform, and should generally be enabled.
0375
0376 This support is also available as a module. If so, the module
0377 will be called i2c-powermac.
0378
0379 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
0380
0381 config I2C_ALTERA
0382 tristate "Altera Soft IP I2C"
0383 depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
0384 depends on OF
0385 help
0386 If you say yes to this option, support will be included for the
0387 Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
0388
0389 This driver can also be built as a module. If so, the module
0390 will be called i2c-altera.
0391
0392 config I2C_ASPEED
0393 tristate "Aspeed I2C Controller"
0394 depends on ARCH_ASPEED || COMPILE_TEST
0395 help
0396 If you say yes to this option, support will be included for the
0397 Aspeed I2C controller.
0398
0399 This driver can also be built as a module. If so, the module
0400 will be called i2c-aspeed.
0401
0402 config I2C_AT91
0403 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
0404 depends on ARCH_AT91 || COMPILE_TEST
0405 help
0406 This supports the use of the I2C interface on Atmel AT91
0407 processors.
0408
0409 A serious problem is that there is no documented way to issue
0410 repeated START conditions for more than two messages, as needed
0411 to support combined I2C messages. Use the i2c-gpio driver
0412 unless your system can cope with this limitation.
0413
0414 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
0415 don't have clock stretching in transmission mode. For that reason,
0416 you can encounter underrun issues causing premature stop sendings if
0417 the latency to fill the transmission register is too long. If you
0418 are facing this situation, use the i2c-gpio driver.
0419
0420 config I2C_AT91_SLAVE_EXPERIMENTAL
0421 tristate "Microchip AT91 I2C experimental slave mode"
0422 depends on I2C_AT91
0423 select I2C_SLAVE
0424 help
0425 If you say yes to this option, support for the slave mode will be
0426 added. Caution: do not use it for production. This feature has not
0427 been tested in a heavy way, help wanted.
0428 There are known bugs:
0429 - It can hang, on a SAMA5D4, after several transfers.
0430 - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as
0431 master.
0432
0433 config I2C_AU1550
0434 tristate "Au1550/Au1200/Au1300 SMBus interface"
0435 depends on MIPS_ALCHEMY
0436 help
0437 If you say yes to this option, support will be included for the
0438 Au1550/Au1200/Au1300 SMBus interface.
0439
0440 This driver can also be built as a module. If so, the module
0441 will be called i2c-au1550.
0442
0443 config I2C_AXXIA
0444 tristate "Axxia I2C controller"
0445 depends on ARCH_AXXIA || COMPILE_TEST
0446 default ARCH_AXXIA
0447 select I2C_SLAVE
0448 help
0449 Say yes if you want to support the I2C bus on Axxia platforms.
0450
0451 Please note that this controller is limited to transfers of maximum
0452 255 bytes in length. Any attempt to to a larger transfer will return
0453 an error.
0454
0455 config I2C_BCM2835
0456 tristate "Broadcom BCM2835 I2C controller"
0457 depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
0458 depends on COMMON_CLK
0459 help
0460 If you say yes to this option, support will be included for the
0461 BCM2835 I2C controller.
0462
0463 If you don't know what to do here, say N.
0464
0465 This support is also available as a module. If so, the module
0466 will be called i2c-bcm2835.
0467
0468 config I2C_BCM_IPROC
0469 tristate "Broadcom iProc I2C controller"
0470 depends on ARCH_BCM_IPROC || COMPILE_TEST
0471 default ARCH_BCM_IPROC
0472 select I2C_SLAVE
0473 help
0474 If you say yes to this option, support will be included for the
0475 Broadcom iProc I2C controller.
0476
0477 If you don't know what to do here, say N.
0478
0479 config I2C_BCM_KONA
0480 tristate "BCM Kona I2C adapter"
0481 depends on ARCH_BCM_MOBILE || COMPILE_TEST
0482 default y if ARCH_BCM_MOBILE
0483 help
0484 If you say yes to this option, support will be included for the
0485 I2C interface on the Broadcom Kona family of processors.
0486
0487 If you do not need KONA I2C interface, say N.
0488
0489 config I2C_BRCMSTB
0490 tristate "BRCM Settop/DSL I2C controller"
0491 depends on ARCH_BCM2835 || ARCH_BCM4908 || ARCH_BCMBCA || \
0492 ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
0493 default y
0494 help
0495 If you say yes to this option, support will be included for the
0496 I2C interface on the Broadcom Settop/DSL SoCs.
0497
0498 If you do not need I2C interface, say N.
0499
0500 config I2C_CADENCE
0501 tristate "Cadence I2C Controller"
0502 depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST
0503 help
0504 Say yes here to select Cadence I2C Host Controller. This controller is
0505 e.g. used by Xilinx Zynq.
0506
0507 config I2C_CBUS_GPIO
0508 tristate "CBUS I2C driver"
0509 depends on GPIOLIB || COMPILE_TEST
0510 help
0511 Support for CBUS access using I2C API. Mostly relevant for Nokia
0512 Internet Tablets (770, N800 and N810).
0513
0514 This driver can also be built as a module. If so, the module
0515 will be called i2c-cbus-gpio.
0516
0517 config I2C_CPM
0518 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
0519 depends on CPM1 || CPM2
0520 help
0521 This supports the use of the I2C interface on Freescale
0522 processors with CPM1 or CPM2.
0523
0524 This driver can also be built as a module. If so, the module
0525 will be called i2c-cpm.
0526
0527 config I2C_DAVINCI
0528 tristate "DaVinci I2C driver"
0529 depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
0530 help
0531 Support for TI DaVinci I2C controller driver.
0532
0533 This driver can also be built as a module. If so, the module
0534 will be called i2c-davinci.
0535
0536 Please note that this driver might be needed to bring up other
0537 devices such as DaVinci NIC.
0538 For details please see http://www.ti.com/davinci
0539
0540 config I2C_DESIGNWARE_CORE
0541 tristate
0542 select REGMAP
0543
0544 config I2C_DESIGNWARE_SLAVE
0545 bool "Synopsys DesignWare Slave"
0546 depends on I2C_DESIGNWARE_CORE
0547 select I2C_SLAVE
0548 help
0549 If you say yes to this option, support will be included for the
0550 Synopsys DesignWare I2C slave adapter.
0551
0552 This is not a standalone module, this module compiles together with
0553 i2c-designware-core.
0554
0555 config I2C_DESIGNWARE_PLATFORM
0556 tristate "Synopsys DesignWare Platform"
0557 depends on (ACPI && COMMON_CLK) || !ACPI
0558 select I2C_DESIGNWARE_CORE
0559 select MFD_SYSCON if MIPS_BAIKAL_T1
0560 help
0561 If you say yes to this option, support will be included for the
0562 Synopsys DesignWare I2C adapter.
0563
0564 This driver can also be built as a module. If so, the module
0565 will be called i2c-designware-platform.
0566
0567 config I2C_DESIGNWARE_AMDPSP
0568 bool "AMD PSP I2C semaphore support"
0569 depends on X86_MSR
0570 depends on ACPI
0571 depends on I2C_DESIGNWARE_PLATFORM
0572 help
0573 This driver enables managed host access to the selected I2C bus shared
0574 between AMD CPU and AMD PSP.
0575
0576 You should say Y if running on an AMD system equipped with the PSP.
0577
0578 config I2C_DESIGNWARE_BAYTRAIL
0579 bool "Intel Baytrail I2C semaphore support"
0580 depends on ACPI
0581 depends on I2C_DESIGNWARE_PLATFORM
0582 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
0583 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
0584 help
0585 This driver enables managed host access to the PMIC I2C bus on select
0586 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
0587 the host to request uninterrupted access to the PMIC's I2C bus from
0588 the platform firmware controlling it. You should say Y if running on
0589 a BayTrail system using the AXP288.
0590
0591 config I2C_DESIGNWARE_PCI
0592 tristate "Synopsys DesignWare PCI"
0593 depends on PCI
0594 select I2C_DESIGNWARE_CORE
0595 select I2C_CCGX_UCSI
0596 help
0597 If you say yes to this option, support will be included for the
0598 Synopsys DesignWare I2C adapter. Only master mode is supported.
0599
0600 This driver can also be built as a module. If so, the module
0601 will be called i2c-designware-pci.
0602
0603 config I2C_DIGICOLOR
0604 tristate "Conexant Digicolor I2C driver"
0605 depends on ARCH_DIGICOLOR || COMPILE_TEST
0606 help
0607 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
0608
0609 This driver can also be built as a module. If so, the module
0610 will be called i2c-digicolor.
0611
0612 config I2C_EG20T
0613 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
0614 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
0615 help
0616 This driver is for PCH(Platform controller Hub) I2C of EG20T which
0617 is an IOH(Input/Output Hub) for x86 embedded processor.
0618 This driver can access PCH I2C bus device.
0619
0620 This driver also can be used for LAPIS Semiconductor IOH(Input/
0621 Output Hub), ML7213, ML7223 and ML7831.
0622 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
0623 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
0624 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
0625 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
0626
0627 config I2C_EMEV2
0628 tristate "EMMA Mobile series I2C adapter"
0629 depends on HAVE_CLK
0630 select I2C_SLAVE
0631 help
0632 If you say yes to this option, support will be included for the
0633 I2C interface on the Renesas Electronics EM/EV family of processors.
0634
0635 config I2C_EXYNOS5
0636 tristate "Exynos high-speed I2C driver"
0637 depends on OF
0638 depends on ARCH_EXYNOS || COMPILE_TEST
0639 default y if ARCH_EXYNOS
0640 help
0641 High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
0642 Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
0643 Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
0644 Choose Y here only if you build for such Samsung SoC.
0645
0646 config I2C_GPIO
0647 tristate "GPIO-based bitbanging I2C"
0648 depends on GPIOLIB || COMPILE_TEST
0649 select I2C_ALGOBIT
0650 help
0651 This is a very simple bitbanging I2C driver utilizing the
0652 arch-neutral GPIO API to control the SCL and SDA lines.
0653
0654 config I2C_GPIO_FAULT_INJECTOR
0655 bool "GPIO-based fault injector"
0656 depends on I2C_GPIO
0657 help
0658 This adds some functionality to the i2c-gpio driver which can inject
0659 faults to an I2C bus, so another bus master can be stress-tested.
0660 This is for debugging. If unsure, say 'no'.
0661
0662 config I2C_HIGHLANDER
0663 tristate "Highlander FPGA SMBus interface"
0664 depends on SH_HIGHLANDER || COMPILE_TEST
0665 help
0666 If you say yes to this option, support will be included for
0667 the SMBus interface located in the FPGA on various Highlander
0668 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
0669 FPGAs. This is wholly unrelated to the SoC I2C.
0670
0671 This driver can also be built as a module. If so, the module
0672 will be called i2c-highlander.
0673
0674 config I2C_HISI
0675 tristate "HiSilicon I2C controller"
0676 depends on (ARM64 && ACPI) || COMPILE_TEST
0677 help
0678 Say Y here if you want to have Hisilicon I2C controller support
0679 available on the Kunpeng Server.
0680
0681 This driver can also be built as a module. If so, the module
0682 will be called i2c-hisi.
0683
0684 config I2C_IBM_IIC
0685 tristate "IBM PPC 4xx on-chip I2C interface"
0686 depends on 4xx
0687 help
0688 Say Y here if you want to use IIC peripheral found on
0689 embedded IBM PPC 4xx based systems.
0690
0691 This driver can also be built as a module. If so, the module
0692 will be called i2c-ibm_iic.
0693
0694 config I2C_IMG
0695 tristate "Imagination Technologies I2C SCB Controller"
0696 depends on MIPS || COMPILE_TEST
0697 help
0698 Say Y here if you want to use the IMG I2C SCB controller,
0699 available on the TZ1090 and other IMG SoCs.
0700
0701 This driver can also be built as a module. If so, the module
0702 will be called i2c-img-scb.
0703
0704 config I2C_IMX
0705 tristate "IMX I2C interface"
0706 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE || COMPILE_TEST
0707 select I2C_SLAVE
0708 help
0709 Say Y here if you want to use the IIC bus controller on
0710 the Freescale i.MX/MXC, Layerscape or ColdFire processors.
0711
0712 This driver can also be built as a module. If so, the module
0713 will be called i2c-imx.
0714
0715 config I2C_IMX_LPI2C
0716 tristate "IMX Low Power I2C interface"
0717 depends on ARCH_MXC || COMPILE_TEST
0718 help
0719 Say Y here if you want to use the Low Power IIC bus controller
0720 on the Freescale i.MX processors.
0721
0722 This driver can also be built as a module. If so, the module
0723 will be called i2c-imx-lpi2c.
0724
0725 config I2C_IOP3XX
0726 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
0727 depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST
0728 help
0729 Say Y here if you want to use the IIC bus controller on
0730 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
0731
0732 This driver can also be built as a module. If so, the module
0733 will be called i2c-iop3xx.
0734
0735 config I2C_JZ4780
0736 tristate "JZ4780 I2C controller interface support"
0737 depends on MIPS || COMPILE_TEST
0738 help
0739 If you say yes to this option, support will be included for the
0740 Ingenic JZ4780 I2C controller.
0741
0742 If you don't know what to do here, say N.
0743
0744 config I2C_KEMPLD
0745 tristate "Kontron COM I2C Controller"
0746 depends on MFD_KEMPLD
0747 help
0748 This enables support for the I2C bus interface on some Kontron ETX
0749 and COMexpress (ETXexpress) modules.
0750
0751 This driver can also be built as a module. If so, the module
0752 will be called i2c-kempld.
0753
0754 config I2C_LPC2K
0755 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
0756 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
0757 help
0758 This driver supports the I2C interface found several NXP
0759 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
0760
0761 This driver can also be built as a module. If so, the module
0762 will be called i2c-lpc2k.
0763
0764 config I2C_MLXBF
0765 tristate "Mellanox BlueField I2C controller"
0766 depends on MELLANOX_PLATFORM && ARM64
0767 select I2C_SLAVE
0768 help
0769 Enabling this option will add I2C SMBus support for Mellanox BlueField
0770 system.
0771
0772 This driver can also be built as a module. If so, the module will be
0773 called i2c-mlxbf.
0774
0775 This driver implements an I2C SMBus host controller and enables both
0776 master and slave functions.
0777
0778 config I2C_MESON
0779 tristate "Amlogic Meson I2C controller"
0780 depends on ARCH_MESON || COMPILE_TEST
0781 depends on COMMON_CLK
0782 help
0783 If you say yes to this option, support will be included for the
0784 I2C interface on the Amlogic Meson family of SoCs.
0785
0786 config I2C_MICROCHIP_CORE
0787 tristate "Microchip FPGA I2C controller"
0788 depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST
0789 depends on OF
0790 help
0791 If you say yes to this option, support will be included for the
0792 I2C interface on Microchip FPGAs.
0793
0794 This driver can also be built as a module. If so, the module will be
0795 called i2c-microchip-core.
0796
0797 config I2C_MPC
0798 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
0799 depends on PPC
0800 help
0801 If you say yes to this option, support will be included for the
0802 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
0803 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
0804
0805 This driver can also be built as a module. If so, the module
0806 will be called i2c-mpc.
0807
0808 config I2C_MT65XX
0809 tristate "MediaTek I2C adapter"
0810 depends on ARCH_MEDIATEK || COMPILE_TEST
0811 help
0812 This selects the MediaTek(R) Integrated Inter Circuit bus driver
0813 for MT65xx and MT81xx.
0814 If you want to use MediaTek(R) I2C interface, say Y or M here.
0815 If unsure, say N.
0816
0817 config I2C_MT7621
0818 tristate "MT7621/MT7628 I2C Controller"
0819 depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
0820 help
0821 Say Y here to include support for I2C controller in the
0822 MediaTek MT7621/MT7628 SoCs.
0823
0824 config I2C_MV64XXX
0825 tristate "Marvell mv64xxx I2C Controller"
0826 depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
0827 help
0828 If you say yes to this option, support will be included for the
0829 built-in I2C interface on the Marvell 64xxx line of host bridges.
0830 This driver is also used for Allwinner SoCs I2C controllers.
0831
0832 This driver can also be built as a module. If so, the module
0833 will be called i2c-mv64xxx.
0834
0835 config I2C_MXS
0836 tristate "Freescale i.MX28 I2C interface"
0837 depends on SOC_IMX28 || COMPILE_TEST
0838 select STMP_DEVICE
0839 help
0840 Say Y here if you want to use the I2C bus controller on
0841 the Freescale i.MX28 processors.
0842
0843 This driver can also be built as a module. If so, the module
0844 will be called i2c-mxs.
0845
0846 config I2C_NOMADIK
0847 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
0848 depends on ARM_AMBA
0849 help
0850 If you say yes to this option, support will be included for the
0851 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
0852 as well as the STA2X11 PCIe I/O HUB.
0853
0854 config I2C_NPCM
0855 tristate "Nuvoton I2C Controller"
0856 depends on ARCH_NPCM || COMPILE_TEST
0857 help
0858 If you say yes to this option, support will be included for the
0859 Nuvoton I2C controller, which is available on the NPCM BMC
0860 controllers.
0861 Driver can also support slave mode (select I2C_SLAVE).
0862
0863 config I2C_OCORES
0864 tristate "OpenCores I2C Controller"
0865 help
0866 If you say yes to this option, support will be included for the
0867 OpenCores I2C controller. For details see
0868 http://www.opencores.org/projects.cgi/web/i2c/overview
0869
0870 This driver can also be built as a module. If so, the module
0871 will be called i2c-ocores.
0872
0873 config I2C_OMAP
0874 tristate "OMAP I2C adapter"
0875 depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
0876 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
0877 help
0878 If you say yes to this option, support will be included for the
0879 I2C interface on the Texas Instruments OMAP1/2 family of processors.
0880 Like OMAP1510/1610/1710/5912 and OMAP242x.
0881 For details see http://www.ti.com/omap.
0882
0883 config I2C_OWL
0884 tristate "Actions Semiconductor Owl I2C Controller"
0885 depends on ARCH_ACTIONS || COMPILE_TEST
0886 help
0887 Say Y here if you want to use the I2C bus controller on
0888 the Actions Semiconductor Owl SoC's.
0889
0890 config I2C_PASEMI
0891 tristate "PA Semi SMBus interface"
0892 depends on PPC_PASEMI && PCI
0893 help
0894 Supports the PA Semi PWRficient on-chip SMBus interfaces.
0895
0896 config I2C_APPLE
0897 tristate "Apple SMBus platform driver"
0898 depends on ARCH_APPLE || COMPILE_TEST
0899 default ARCH_APPLE
0900 help
0901 Say Y here if you want to use the I2C controller present on Apple
0902 Silicon chips such as the M1.
0903
0904 This driver can also be built as a module. If so, the module
0905 will be called i2c-apple.
0906
0907 config I2C_PCA_PLATFORM
0908 tristate "PCA9564/PCA9665 as platform device"
0909 select I2C_ALGOPCA
0910 help
0911 This driver supports a memory mapped Philips PCA9564/PCA9665
0912 parallel bus to I2C bus controller.
0913
0914 This driver can also be built as a module. If so, the module
0915 will be called i2c-pca-platform.
0916
0917 config I2C_PNX
0918 tristate "I2C bus support for Philips PNX and NXP LPC targets"
0919 depends on ARCH_LPC32XX || COMPILE_TEST
0920 help
0921 This driver supports the Philips IP3204 I2C IP block master and/or
0922 slave controller
0923
0924 This driver can also be built as a module. If so, the module
0925 will be called i2c-pnx.
0926
0927 config I2C_PXA
0928 tristate "Intel PXA2XX I2C adapter"
0929 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
0930 help
0931 If you have devices in the PXA I2C bus, say yes to this option.
0932 This driver can also be built as a module. If so, the module
0933 will be called i2c-pxa.
0934
0935 config I2C_PXA_PCI
0936 def_bool I2C_PXA && X86_32 && PCI && OF
0937
0938 config I2C_PXA_SLAVE
0939 bool "Intel PXA2XX I2C Slave comms support"
0940 depends on I2C_PXA && !X86_32
0941 select I2C_SLAVE
0942 help
0943 Support I2C slave mode communications on the PXA I2C bus. This
0944 is necessary for systems where the PXA may be a target on the
0945 I2C bus.
0946
0947 config I2C_QCOM_CCI
0948 tristate "Qualcomm Camera Control Interface"
0949 depends on ARCH_QCOM || COMPILE_TEST
0950 help
0951 If you say yes to this option, support will be included for the
0952 built-in camera control interface on the Qualcomm SoCs.
0953
0954 This driver can also be built as a module. If so, the module
0955 will be called i2c-qcom-cci.
0956
0957 config I2C_QCOM_GENI
0958 tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
0959 depends on ARCH_QCOM || COMPILE_TEST
0960 depends on QCOM_GENI_SE
0961 help
0962 This driver supports GENI serial engine based I2C controller in
0963 master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
0964 yes to this option, support will be included for the built-in I2C
0965 interface on the Qualcomm Technologies Inc.'s SoCs.
0966
0967 This driver can also be built as a module. If so, the module
0968 will be called i2c-qcom-geni.
0969
0970 config I2C_QUP
0971 tristate "Qualcomm QUP based I2C controller"
0972 depends on ARCH_QCOM || COMPILE_TEST
0973 help
0974 If you say yes to this option, support will be included for the
0975 built-in I2C interface on the Qualcomm SoCs.
0976
0977 This driver can also be built as a module. If so, the module
0978 will be called i2c-qup.
0979
0980 config I2C_RIIC
0981 tristate "Renesas RIIC adapter"
0982 depends on ARCH_RENESAS || COMPILE_TEST
0983 help
0984 If you say yes to this option, support will be included for the
0985 Renesas RIIC I2C interface.
0986
0987 This driver can also be built as a module. If so, the module
0988 will be called i2c-riic.
0989
0990 config I2C_RK3X
0991 tristate "Rockchip RK3xxx I2C adapter"
0992 depends on OF && COMMON_CLK
0993 help
0994 Say Y here to include support for the I2C adapter in Rockchip RK3xxx
0995 SoCs.
0996
0997 This driver can also be built as a module. If so, the module will
0998 be called i2c-rk3x.
0999
1000 config I2C_RZV2M
1001 tristate "Renesas RZ/V2M adapter"
1002 depends on ARCH_RENESAS || COMPILE_TEST
1003 help
1004 If you say yes to this option, support will be included for the
1005 Renesas RZ/V2M I2C interface.
1006
1007 This driver can also be built as a module. If so, the module
1008 will be called i2c-rzv2m.
1009
1010 config I2C_S3C2410
1011 tristate "S3C/Exynos I2C Driver"
1012 depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || \
1013 ARCH_S5PV210 || COMPILE_TEST
1014 help
1015 Say Y here to include support for I2C controller in the
1016 Samsung SoCs (S3C, S5Pv210, Exynos).
1017
1018 config I2C_SH7760
1019 tristate "Renesas SH7760 I2C Controller"
1020 depends on CPU_SUBTYPE_SH7760
1021 help
1022 This driver supports the 2 I2C interfaces on the Renesas SH7760.
1023
1024 This driver can also be built as a module. If so, the module
1025 will be called i2c-sh7760.
1026
1027 config I2C_SH_MOBILE
1028 tristate "SuperH Mobile I2C Controller"
1029 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1030 help
1031 If you say yes to this option, support will be included for the
1032 built-in I2C interface on the Renesas SH-Mobile processor.
1033
1034 This driver can also be built as a module. If so, the module
1035 will be called i2c-sh_mobile.
1036
1037 config I2C_SIMTEC
1038 tristate "Simtec Generic I2C interface"
1039 select I2C_ALGOBIT
1040 help
1041 If you say yes to this option, support will be included for
1042 the Simtec Generic I2C interface. This driver is for the
1043 simple I2C bus used on newer Simtec products for general
1044 I2C, such as DDC on the Simtec BBD2016A.
1045
1046 This driver can also be built as a module. If so, the module
1047 will be called i2c-simtec.
1048
1049 config I2C_SPRD
1050 tristate "Spreadtrum I2C interface"
1051 depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
1052 depends on COMMON_CLK
1053 help
1054 If you say yes to this option, support will be included for the
1055 Spreadtrum I2C interface.
1056
1057 config I2C_ST
1058 tristate "STMicroelectronics SSC I2C support"
1059 depends on ARCH_STI || COMPILE_TEST
1060 help
1061 Enable this option to add support for STMicroelectronics SoCs
1062 hardware SSC (Synchronous Serial Controller) as an I2C controller.
1063
1064 This driver can also be built as module. If so, the module
1065 will be called i2c-st.
1066
1067 config I2C_STM32F4
1068 tristate "STMicroelectronics STM32F4 I2C support"
1069 depends on ARCH_STM32 || COMPILE_TEST
1070 help
1071 Enable this option to add support for STM32 I2C controller embedded
1072 in STM32F4 SoCs.
1073
1074 This driver can also be built as module. If so, the module
1075 will be called i2c-stm32f4.
1076
1077 config I2C_STM32F7
1078 tristate "STMicroelectronics STM32F7 I2C support"
1079 depends on ARCH_STM32 || COMPILE_TEST
1080 select I2C_SLAVE
1081 select I2C_SMBUS
1082 help
1083 Enable this option to add support for STM32 I2C controller embedded
1084 in STM32F7 SoCs.
1085
1086 This driver can also be built as module. If so, the module
1087 will be called i2c-stm32f7.
1088
1089 config I2C_SUN6I_P2WI
1090 tristate "Allwinner sun6i internal P2WI controller"
1091 depends on RESET_CONTROLLER
1092 depends on MACH_SUN6I || COMPILE_TEST
1093 help
1094 If you say yes to this option, support will be included for the
1095 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1096 SOCs.
1097 The P2WI looks like an SMBus controller (which supports only byte
1098 accesses), except that it only supports one slave device.
1099 This interface is used to connect to specific PMIC devices (like the
1100 AXP221).
1101
1102 config I2C_SYNQUACER
1103 tristate "Socionext SynQuacer I2C controller"
1104 depends on ARCH_SYNQUACER || COMPILE_TEST
1105 help
1106 Say Y here to include support for the I2C controller used in some
1107 Fujitsu and Socionext SoCs.
1108
1109 This driver can also be built as a module. If so, the module
1110 will be called i2c-synquacer.
1111
1112 config I2C_TEGRA
1113 tristate "NVIDIA Tegra internal I2C controller"
1114 depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
1115 # COMPILE_TEST needs architectures with readsX()/writesX() primitives
1116 help
1117 If you say yes to this option, support will be included for the
1118 I2C controller embedded in NVIDIA Tegra SOCs
1119
1120 config I2C_TEGRA_BPMP
1121 tristate "NVIDIA Tegra BPMP I2C controller"
1122 depends on TEGRA_BPMP || COMPILE_TEST
1123 default y if TEGRA_BPMP
1124 help
1125 If you say yes to this option, support will be included for the I2C
1126 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1127
1128 This I2C driver is a 'virtual' I2C driver. The real driver is part
1129 of the BPMP firmware, and this driver merely communicates with that
1130 real driver.
1131
1132 config I2C_UNIPHIER
1133 tristate "UniPhier FIFO-less I2C controller"
1134 depends on ARCH_UNIPHIER || COMPILE_TEST
1135 help
1136 If you say yes to this option, support will be included for
1137 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1138 or older UniPhier SoCs.
1139
1140 config I2C_UNIPHIER_F
1141 tristate "UniPhier FIFO-builtin I2C controller"
1142 depends on ARCH_UNIPHIER || COMPILE_TEST
1143 help
1144 If you say yes to this option, support will be included for
1145 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1146 PH1-Pro5, or newer UniPhier SoCs.
1147
1148 config I2C_VERSATILE
1149 tristate "ARM Versatile/Realview I2C bus support"
1150 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1151 select I2C_ALGOBIT
1152 help
1153 Say yes if you want to support the I2C serial bus on ARMs Versatile
1154 range of platforms.
1155
1156 This driver can also be built as a module. If so, the module
1157 will be called i2c-versatile.
1158
1159 config I2C_WMT
1160 tristate "Wondermedia WM8xxx SoC I2C bus support"
1161 depends on ARCH_VT8500 || COMPILE_TEST
1162 help
1163 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1164 SoCs.
1165
1166 This driver can also be built as a module. If so, the module will be
1167 called i2c-wmt.
1168
1169 config I2C_OCTEON
1170 tristate "Cavium OCTEON I2C bus support"
1171 depends on CAVIUM_OCTEON_SOC
1172 help
1173 Say yes if you want to support the I2C serial bus on Cavium
1174 OCTEON SOC.
1175
1176 This driver can also be built as a module. If so, the module
1177 will be called i2c-octeon.
1178
1179 config I2C_THUNDERX
1180 tristate "Cavium ThunderX I2C bus support"
1181 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1182 select I2C_SMBUS
1183 help
1184 Say yes if you want to support the I2C serial bus on Cavium
1185 ThunderX SOC.
1186
1187 This driver can also be built as a module. If so, the module
1188 will be called i2c-thunderx.
1189
1190 config I2C_XILINX
1191 tristate "Xilinx I2C Controller"
1192 depends on HAS_IOMEM
1193 help
1194 If you say yes to this option, support will be included for the
1195 Xilinx I2C controller.
1196
1197 This driver can also be built as a module. If so, the module
1198 will be called xilinx_i2c.
1199
1200 config I2C_XLP9XX
1201 tristate "Cavium ThunderX2 I2C support"
1202 depends on ARCH_THUNDER2 || COMPILE_TEST
1203 help
1204 This driver enables support for the on-chip I2C interface of
1205 the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
1206
1207 This driver can also be built as a module. If so, the module will
1208 be called i2c-xlp9xx.
1209
1210 config I2C_RCAR
1211 tristate "Renesas R-Car I2C Controller"
1212 depends on ARCH_RENESAS || COMPILE_TEST
1213 select I2C_SLAVE
1214 select I2C_SMBUS
1215 select RESET_CONTROLLER if ARCH_RCAR_GEN3
1216 help
1217 If you say yes to this option, support will be included for the
1218 R-Car I2C controller.
1219
1220 This driver can also be built as a module. If so, the module
1221 will be called i2c-rcar.
1222
1223 comment "External I2C/SMBus adapter drivers"
1224
1225 config I2C_DIOLAN_U2C
1226 tristate "Diolan U2C-12 USB adapter"
1227 depends on USB
1228 help
1229 If you say yes to this option, support will be included for Diolan
1230 U2C-12, a USB to I2C interface.
1231
1232 This driver can also be built as a module. If so, the module
1233 will be called i2c-diolan-u2c.
1234
1235 config I2C_DLN2
1236 tristate "Diolan DLN-2 USB I2C adapter"
1237 depends on MFD_DLN2
1238 help
1239 If you say yes to this option, support will be included for Diolan
1240 DLN2, a USB to I2C interface.
1241
1242 This driver can also be built as a module. If so, the module
1243 will be called i2c-dln2.
1244
1245 config I2C_CP2615
1246 tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
1247 depends on USB
1248 help
1249 If you say yes to this option, support will be included for Silicon
1250 Labs CP2615's I2C interface.
1251
1252 This driver can also be built as a module. If so, the module
1253 will be called i2c-cp2615.
1254
1255 config I2C_PARPORT
1256 tristate "Parallel port adapter"
1257 depends on PARPORT
1258 select I2C_ALGOBIT
1259 select I2C_SMBUS
1260 help
1261 This supports parallel port I2C adapters such as the ones made by
1262 Philips or Velleman, Analog Devices evaluation boards, and more.
1263 Basically any adapter using the parallel port as an I2C bus with
1264 no extra chipset is supported by this driver, or could be. Please
1265 read the file Documentation/i2c/busses/i2c-parport.rst for details.
1266
1267 This support is also available as a module. If so, the module
1268 will be called i2c-parport.
1269
1270 config I2C_ROBOTFUZZ_OSIF
1271 tristate "RobotFuzz Open Source InterFace USB adapter"
1272 depends on USB
1273 help
1274 If you say yes to this option, support will be included for the
1275 RobotFuzz Open Source InterFace USB to I2C interface.
1276
1277 This driver can also be built as a module. If so, the module
1278 will be called i2c-osif.
1279
1280 config I2C_TAOS_EVM
1281 tristate "TAOS evaluation module"
1282 depends on TTY
1283 select SERIO
1284 select SERIO_SERPORT
1285 help
1286 This supports TAOS evaluation modules on serial port. In order to
1287 use this driver, you will need the inputattach tool, which is part
1288 of the input-utils package.
1289
1290 If unsure, say N.
1291
1292 This support is also available as a module. If so, the module
1293 will be called i2c-taos-evm.
1294
1295 config I2C_TINY_USB
1296 tristate "Tiny-USB adapter"
1297 depends on USB
1298 help
1299 If you say yes to this option, support will be included for the
1300 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1301 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1302
1303 This driver can also be built as a module. If so, the module
1304 will be called i2c-tiny-usb.
1305
1306 config I2C_VIPERBOARD
1307 tristate "Viperboard I2C master support"
1308 depends on MFD_VIPERBOARD && USB
1309 help
1310 Say yes here to access the I2C part of the Nano River
1311 Technologies Viperboard as I2C master.
1312 See viperboard API specification and Nano
1313 River Tech's viperboard.h for detailed meaning
1314 of the module parameters.
1315
1316 comment "Other I2C/SMBus bus drivers"
1317
1318 config I2C_ACORN
1319 tristate "Acorn IOC/IOMD I2C bus support"
1320 depends on ARCH_ACORN
1321 default y
1322 select I2C_ALGOBIT
1323 help
1324 Say yes if you want to support the I2C bus on Acorn platforms.
1325
1326 If you don't know, say Y.
1327
1328 config I2C_ELEKTOR
1329 tristate "Elektor ISA card"
1330 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1331 select I2C_ALGOPCF
1332 help
1333 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
1334 such an adapter.
1335
1336 This support is also available as a module. If so, the module
1337 will be called i2c-elektor.
1338
1339 config I2C_ICY
1340 tristate "ICY Zorro card"
1341 depends on ZORRO
1342 select I2C_ALGOPCF
1343 help
1344 This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
1345 Say Y if you own such an adapter.
1346
1347 This support is also available as a module. If so, the module
1348 will be called i2c-icy.
1349
1350 If you have a 2019 edition board with an LTC2990 sensor at address
1351 0x4c, loading the module 'ltc2990' is sufficient to enable it.
1352
1353 config I2C_MLXCPLD
1354 tristate "Mellanox I2C driver"
1355 depends on X86_64 || COMPILE_TEST
1356 help
1357 This exposes the Mellanox platform I2C busses to the linux I2C layer
1358 for X86 based systems.
1359 Controller is implemented as CPLD logic.
1360
1361 This driver can also be built as a module. If so, the module will be
1362 called as i2c-mlxcpld.
1363
1364 config I2C_PCA_ISA
1365 tristate "PCA9564/PCA9665 on an ISA bus"
1366 depends on ISA
1367 select I2C_ALGOPCA
1368 help
1369 This driver supports ISA boards using the Philips PCA9564/PCA9665
1370 parallel bus to I2C bus controller.
1371
1372 This driver can also be built as a module. If so, the module
1373 will be called i2c-pca-isa.
1374
1375 This device is almost undetectable and using this driver on a
1376 system which doesn't have this device will result in long
1377 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1378 time). If unsure, say N.
1379
1380 config I2C_SIBYTE
1381 tristate "SiByte SMBus interface"
1382 depends on SIBYTE_SB1xxx_SOC
1383 help
1384 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1385
1386 config I2C_CROS_EC_TUNNEL
1387 tristate "ChromeOS EC tunnel I2C bus"
1388 depends on CROS_EC
1389 help
1390 If you say yes here you get an I2C bus that will tunnel i2c commands
1391 through to the other side of the ChromeOS EC to the i2c bus
1392 connected there. This will work whatever the interface used to
1393 talk to the EC (SPI, I2C or LPC).
1394
1395 config I2C_XGENE_SLIMPRO
1396 tristate "APM X-Gene SoC I2C SLIMpro devices support"
1397 depends on ARCH_XGENE && MAILBOX
1398 help
1399 Enable I2C bus access using the APM X-Gene SoC SLIMpro
1400 co-processor. The I2C device access the I2C bus via the X-Gene
1401 to SLIMpro (On chip coprocessor) mailbox mechanism.
1402 If unsure, say N.
1403
1404 config SCx200_ACB
1405 tristate "Geode ACCESS.bus support"
1406 depends on X86_32 && PCI
1407 help
1408 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1409 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1410
1411 If you don't know what to do here, say N.
1412
1413 This support is also available as a module. If so, the module
1414 will be called scx200_acb.
1415
1416 config I2C_OPAL
1417 tristate "IBM OPAL I2C driver"
1418 depends on PPC_POWERNV
1419 default y
1420 help
1421 This exposes the PowerNV platform i2c busses to the linux i2c layer,
1422 the driver is based on the OPAL interfaces.
1423
1424 This driver can also be built as a module. If so, the module will be
1425 called as i2c-opal.
1426
1427 config I2C_FSI
1428 tristate "FSI I2C driver"
1429 depends on FSI
1430 help
1431 Driver for FSI bus attached I2C masters. These are I2C masters that
1432 are connected to the system over an FSI bus, instead of the more
1433 common PCI or MMIO interface.
1434
1435 This driver can also be built as a module. If so, the module will be
1436 called as i2c-fsi.
1437
1438 config I2C_VIRTIO
1439 tristate "Virtio I2C Adapter"
1440 select VIRTIO
1441 help
1442 If you say yes to this option, support will be included for the virtio
1443 I2C adapter driver. The hardware can be emulated by any device model
1444 software according to the virtio protocol.
1445
1446 This driver can also be built as a module. If so, the module
1447 will be called i2c-virtio.
1448
1449 endmenu