Back to home page

OSCL-LXR

 
 

    


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