cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig (44595B)


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